1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173
|
// Code generated by smithy-go-codegen DO NOT EDIT.
package lexmodelsv2
import (
"context"
"fmt"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
"github.com/aws/aws-sdk-go-v2/service/lexmodelsv2/types"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
"time"
)
// Retrieves summary statistics for a path of intents that users take over
// sessions with your bot. The following fields are required:
// - startDateTime and endDateTime – Define a time range for which you want to
// retrieve results.
// - intentPath – Define an order of intents for which you want to retrieve
// metrics. Separate intents in the path with a forward slash. For example,
// populate the intentPath field with /BookCar/BookHotel to see details about how
// many times users invoked the BookCar and BookHotel intents in that order.
//
// Use the optional filters field to filter the results.
func (c *Client) ListIntentPaths(ctx context.Context, params *ListIntentPathsInput, optFns ...func(*Options)) (*ListIntentPathsOutput, error) {
if params == nil {
params = &ListIntentPathsInput{}
}
result, metadata, err := c.invokeOperation(ctx, "ListIntentPaths", params, optFns, c.addOperationListIntentPathsMiddlewares)
if err != nil {
return nil, err
}
out := result.(*ListIntentPathsOutput)
out.ResultMetadata = metadata
return out, nil
}
type ListIntentPathsInput struct {
// The identifier for the bot for which you want to retrieve intent path metrics.
//
// This member is required.
BotId *string
// The date and time that marks the end of the range of time for which you want to
// see intent path metrics.
//
// This member is required.
EndDateTime *time.Time
// The intent path for which you want to retrieve metrics. Use a forward slash to
// separate intents in the path. For example:
// - /BookCar
// - /BookCar/BookHotel
// - /BookHotel/BookCar
//
// This member is required.
IntentPath *string
// The date and time that marks the beginning of the range of time for which you
// want to see intent path metrics.
//
// This member is required.
StartDateTime *time.Time
// A list of objects, each describes a condition by which you want to filter the
// results.
Filters []types.AnalyticsPathFilter
noSmithyDocumentSerde
}
type ListIntentPathsOutput struct {
// A list of objects, each of which contains information about a node in the
// intent path for which you requested metrics.
NodeSummaries []types.AnalyticsIntentNodeSummary
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
noSmithyDocumentSerde
}
func (c *Client) addOperationListIntentPathsMiddlewares(stack *middleware.Stack, options Options) (err error) {
if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
return err
}
err = stack.Serialize.Add(&awsRestjson1_serializeOpListIntentPaths{}, middleware.After)
if err != nil {
return err
}
err = stack.Deserialize.Add(&awsRestjson1_deserializeOpListIntentPaths{}, middleware.After)
if err != nil {
return err
}
if err := addProtocolFinalizerMiddlewares(stack, options, "ListIntentPaths"); err != nil {
return fmt.Errorf("add protocol finalizers: %v", err)
}
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
if err = addSetLoggerMiddleware(stack, options); err != nil {
return err
}
if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil {
return err
}
if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil {
return err
}
if err = addResolveEndpointMiddleware(stack, options); err != nil {
return err
}
if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil {
return err
}
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil {
return err
}
if err = addClientUserAgent(stack, options); err != nil {
return err
}
if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil {
return err
}
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
if err = addOpListIntentPathsValidationMiddleware(stack); err != nil {
return err
}
if err = stack.Initialize.Add(newServiceMetadataMiddleware_opListIntentPaths(options.Region), middleware.Before); err != nil {
return err
}
if err = awsmiddleware.AddRecursionDetection(stack); err != nil {
return err
}
if err = addRequestIDRetrieverMiddleware(stack); err != nil {
return err
}
if err = addResponseErrorMiddleware(stack); err != nil {
return err
}
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
return nil
}
func newServiceMetadataMiddleware_opListIntentPaths(region string) *awsmiddleware.RegisterServiceMetadata {
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
OperationName: "ListIntentPaths",
}
}
|