diff --git a/.changes/next-release/feature-AmazonLexModelBuildingV2-a86b335.json b/.changes/next-release/feature-AmazonLexModelBuildingV2-a86b335.json new file mode 100644 index 000000000000..2e96d7fd69fc --- /dev/null +++ b/.changes/next-release/feature-AmazonLexModelBuildingV2-a86b335.json @@ -0,0 +1,6 @@ +{ + "type": "feature", + "category": "Amazon Lex Model Building V2", + "contributor": "", + "description": "Added configuration support for an Amazon Lex bot to provide fulfillment progress updates to users while their requests are being processed. See documentation for more details: https://docs.aws.amazon.com/lexv2/latest/dg/streaming-progress.html" +} diff --git a/services/lexmodelsv2/src/main/resources/codegen-resources/service-2.json b/services/lexmodelsv2/src/main/resources/codegen-resources/service-2.json index 90d413768e64..b1cdc36240a3 100644 --- a/services/lexmodelsv2/src/main/resources/codegen-resources/service-2.json +++ b/services/lexmodelsv2/src/main/resources/codegen-resources/service-2.json @@ -2122,7 +2122,7 @@ }, "nluIntentConfidenceThreshold":{ "shape":"ConfidenceThreshold", - "documentation":"

Determines the threshold where Amazon Lex will insert the AMAZON.FallbackIntent, AMAZON.KendraSearchIntent, or both when returning alternative intents. AMAZON.FallbackIntent and AMAZON.KendraSearchIntent are only inserted if they are configured for the bot.

For example, suppose a bot is configured with the confidence threshold of 0.80 and the AMAZON.FallbackIntent. Amazon Lex returns three alternative intents with the following confidence scores: IntentA (0.70), IntentB (0.60), IntentC (0.50). The response from the PostText operation would be:

" + "documentation":"

Determines the threshold where Amazon Lex will insert the AMAZON.FallbackIntent, AMAZON.KendraSearchIntent, or both when returning alternative intents. AMAZON.FallbackIntent and AMAZON.KendraSearchIntent are only inserted if they are configured for the bot.

For example, suppose a bot is configured with the confidence threshold of 0.80 and the AMAZON.FallbackIntent. Amazon Lex returns three alternative intents with the following confidence scores: IntentA (0.70), IntentB (0.60), IntentC (0.50). The response from the RecognizeText operation would be:

" }, "voiceSettings":{ "shape":"VoiceSettings", @@ -3648,7 +3648,7 @@ }, "failureReasons":{ "shape":"FailureReasons", - "documentation":"

If the importStatus field is Failed, this provides one or more reasons for the failture.

" + "documentation":"

If the importStatus field is Failed, this provides one or more reasons for the failure.

" }, "creationDateTime":{ "shape":"Timestamp", @@ -4028,14 +4028,14 @@ }, "values":{ "shape":"FilterValues", - "documentation":"

The values to use to fileter the response.

" + "documentation":"

The values to use to filter the response.

" }, "operator":{ "shape":"ExportFilterOperator", "documentation":"

The operator to use for the filter. Specify EQ when the ListExports operation should return only resource types that equal the specified value. Specify CO when the ListExports operation should return resource types that contain the specified value.

" } }, - "documentation":"

Filtes the response form the operation

" + "documentation":"

Filters the response form the operation

" }, "ExportFilterName":{ "type":"string", @@ -4157,10 +4157,100 @@ "enabled":{ "shape":"Boolean", "documentation":"

Indicates whether a Lambda function should be invoked to fulfill a specific intent.

" + }, + "postFulfillmentStatusSpecification":{ + "shape":"PostFulfillmentStatusSpecification", + "documentation":"

Provides settings for messages sent to the user for after the Lambda fulfillment function completes. Post-fulfillment messages can be sent for both streaming and non-streaming conversations.

" + }, + "fulfillmentUpdatesSpecification":{ + "shape":"FulfillmentUpdatesSpecification", + "documentation":"

Provides settings for update messages sent to the user for long-running Lambda fulfillment functions. Fulfillment updates can be used only with streaming conversations.

" } }, "documentation":"

Determines if a Lambda function should be invoked for a specific intent.

" }, + "FulfillmentStartResponseDelay":{ + "type":"integer", + "max":900, + "min":1 + }, + "FulfillmentStartResponseSpecification":{ + "type":"structure", + "required":[ + "delayInSeconds", + "messageGroups" + ], + "members":{ + "delayInSeconds":{ + "shape":"FulfillmentStartResponseDelay", + "documentation":"

The delay between when the Lambda fulfillment function starts running and the start message is played. If the Lambda function returns before the delay is over, the start message isn't played.

" + }, + "messageGroups":{ + "shape":"MessageGroupsList", + "documentation":"

One to 5 message groups that contain start messages. Amazon Lex chooses one of the messages to play to the user.

" + }, + "allowInterrupt":{ + "shape":"BoxedBoolean", + "documentation":"

Determines whether the user can interrupt the start message while it is playing.

" + } + }, + "documentation":"

Provides settings for a message that is sent to the user when a fulfillment Lambda function starts running.

" + }, + "FulfillmentTimeout":{ + "type":"integer", + "max":900, + "min":1 + }, + "FulfillmentUpdateResponseFrequency":{ + "type":"integer", + "max":900, + "min":1 + }, + "FulfillmentUpdateResponseSpecification":{ + "type":"structure", + "required":[ + "frequencyInSeconds", + "messageGroups" + ], + "members":{ + "frequencyInSeconds":{ + "shape":"FulfillmentUpdateResponseFrequency", + "documentation":"

The frequency that a message is sent to the user. When the period ends, Amazon Lex chooses a message from the message groups and plays it to the user. If the fulfillment Lambda returns before the first period ends, an update message is not played to the user.

" + }, + "messageGroups":{ + "shape":"MessageGroupsList", + "documentation":"

One to 5 message groups that contain update messages. Amazon Lex chooses one of the messages to play to the user.

" + }, + "allowInterrupt":{ + "shape":"BoxedBoolean", + "documentation":"

Determines whether the user can interrupt an update message while it is playing.

" + } + }, + "documentation":"

Provides settings for a message that is sent periodically to the user while a fulfillment Lambda function is running.

" + }, + "FulfillmentUpdatesSpecification":{ + "type":"structure", + "required":["active"], + "members":{ + "active":{ + "shape":"BoxedBoolean", + "documentation":"

Determines whether fulfillment updates are sent to the user. When this field is true, updates are sent.

If the active field is set to true, the startResponse, updateResponse, and timeoutInSeconds fields are required.

" + }, + "startResponse":{ + "shape":"FulfillmentStartResponseSpecification", + "documentation":"

Provides configuration information for the message sent to users when the fulfillment Lambda functions starts running.

" + }, + "updateResponse":{ + "shape":"FulfillmentUpdateResponseSpecification", + "documentation":"

Provides configuration information for messages sent periodically to the user while the fulfillment Lambda function is running.

" + }, + "timeoutInSeconds":{ + "shape":"FulfillmentTimeout", + "documentation":"

The length of time that the fulfillment Lambda function should run before it times out.

" + } + }, + "documentation":"

Provides information for updating the user on the progress of fulfilling an intent.

" + }, "HitCount":{"type":"integer"}, "Id":{ "type":"string", @@ -4253,7 +4343,7 @@ "documentation":"

Parameters for importing a bot locale.

" } }, - "documentation":"

Provides information about the bot or bot locale that you want to import. You can sepcifiy the botImportSpecification or the botLocaleImportSpecification, but not both.

" + "documentation":"

Provides information about the bot or bot locale that you want to import. You can specify the botImportSpecification or the botLocaleImportSpecification, but not both.

" }, "ImportSortAttribute":{ "type":"string", @@ -4357,7 +4447,7 @@ }, "active":{ "shape":"BoxedBoolean", - "documentation":"

Specifies whether an intent's closing response is used. When this field is false, the closing response isn't sent to the user and no closing input from the user is used. If the active field isn't specified, the default is true.

" + "documentation":"

Specifies whether an intent's closing response is used. When this field is false, the closing response isn't sent to the user. If the active field isn't specified, the default is true.

" } }, "documentation":"

Provides a statement the Amazon Lex conveys to the user when the intent is successfully fulfilled.

" @@ -4379,7 +4469,7 @@ }, "active":{ "shape":"BoxedBoolean", - "documentation":"

Specifies whether the intent's confirmation is sent to the user. When this field is false, confirmation and declination responses aren't sent and processing continues as if the responses aren't present. If the active field isn't specified, the default is true.

" + "documentation":"

Specifies whether the intent's confirmation is sent to the user. When this field is false, confirmation and declination responses aren't sent. If the active field isn't specified, the default is true.

" } }, "documentation":"

Provides a prompt for making sure that the user is ready for the intent to be fulfilled.

" @@ -4551,7 +4641,7 @@ "documentation":"

The version of the request-response that you want Amazon Lex to use to invoke your Lambda function.

" } }, - "documentation":"

Specifies a Lambda function that verifies requests to a bot or fulfilles the user's request to a bot.

" + "documentation":"

Specifies a Lambda function that verifies requests to a bot or fulfills the user's request to a bot.

" }, "ListAggregatedUtterancesRequest":{ "type":"structure", @@ -4923,7 +5013,7 @@ }, "nextToken":{ "shape":"NextToken", - "documentation":"

If the response from the ListExports operation contans more results that specified in the maxResults parameter, a token is returned in the response. Use that token in the nextToken parameter to return the next page of results.

" + "documentation":"

If the response from the ListExports operation contains more results that specified in the maxResults parameter, a token is returned in the response. Use that token in the nextToken parameter to return the next page of results.

" } } }, @@ -5406,6 +5496,15 @@ "type":"string", "min":2 }, + "PostFulfillmentStatusSpecification":{ + "type":"structure", + "members":{ + "successResponse":{"shape":"ResponseSpecification"}, + "failureResponse":{"shape":"ResponseSpecification"}, + "timeoutResponse":{"shape":"ResponseSpecification"} + }, + "documentation":"

Provides a setting that determines whether the post-fulfillment response is sent to the user. For more information, see https://docs.aws.amazon.com/lexv2/latest/dg/streaming-progress.html#progress-complete

" + }, "PreconditionFailedException":{ "type":"structure", "members":{ @@ -5467,7 +5566,7 @@ }, "maxRetries":{ "shape":"PromptMaxRetries", - "documentation":"

The maximum number of times the bot tries to elicit a resonse from the user using this prompt.

" + "documentation":"

The maximum number of times the bot tries to elicit a response from the user using this prompt.

" }, "allowInterrupt":{ "shape":"BoxedBoolean", @@ -5920,7 +6019,7 @@ }, "synonyms":{ "shape":"SynonymList", - "documentation":"

Additional values releated to the slot type entry.

" + "documentation":"

Additional values related to the slot type entry.

" } }, "documentation":"

Each slot type can have a set of values. Each SlotTypeValue represents a value that the slot type can take.

" @@ -5937,7 +6036,7 @@ "members":{ "defaultValueSpecification":{ "shape":"SlotDefaultValueSpecification", - "documentation":"

A list of default values for a slot. Default values are used when Amazon Lex hasn't determined a value for a slot. You can specify default values from context variables, sesion attributes, and defined values.

" + "documentation":"

A list of default values for a slot. Default values are used when Amazon Lex hasn't determined a value for a slot. You can specify default values from context variables, session attributes, and defined values.

" }, "slotConstraint":{ "shape":"SlotConstraint", @@ -7015,7 +7114,7 @@ }, "active":{ "shape":"BoxedBoolean", - "documentation":"

Specifies whether the bot will wait for a user to respond. When this field is false, wait and continue responses for a slot aren't used and the bot expects an appropriate response within the configured timeout. If the active field isn't specified, the default is true.

" + "documentation":"

Specifies whether the bot will wait for a user to respond. When this field is false, wait and continue responses for a slot aren't used. If the active field isn't specified, the default is true.

" } }, "documentation":"

Specifies the prompts that Amazon Lex uses while a bot is waiting for customer input.

"