Skip to content

Commit

Permalink
Amazon Lex Model Building V2 Update: Added configuration support for …
Browse files Browse the repository at this point in the history
…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
AWS committed Oct 8, 2021
1 parent c9df61f commit 2654f64
Showing 2 changed files with 118 additions and 13 deletions.
Original file line number Diff line number Diff line change
@@ -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"
}
125 changes: 112 additions & 13 deletions services/lexmodelsv2/src/main/resources/codegen-resources/service-2.json
Original file line number Diff line number Diff line change
@@ -2122,7 +2122,7 @@
},
"nluIntentConfidenceThreshold":{
"shape":"ConfidenceThreshold",
"documentation":"<p>Determines the threshold where Amazon Lex will insert the <code>AMAZON.FallbackIntent</code>, <code>AMAZON.KendraSearchIntent</code>, or both when returning alternative intents. <code>AMAZON.FallbackIntent</code> and <code>AMAZON.KendraSearchIntent</code> are only inserted if they are configured for the bot.</p> <p>For example, suppose a bot is configured with the confidence threshold of 0.80 and the <code>AMAZON.FallbackIntent</code>. 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:</p> <ul> <li> <p>AMAZON.FallbackIntent</p> </li> <li> <p>IntentA</p> </li> <li> <p>IntentB</p> </li> <li> <p>IntentC</p> </li> </ul>"
"documentation":"<p>Determines the threshold where Amazon Lex will insert the <code>AMAZON.FallbackIntent</code>, <code>AMAZON.KendraSearchIntent</code>, or both when returning alternative intents. <code>AMAZON.FallbackIntent</code> and <code>AMAZON.KendraSearchIntent</code> are only inserted if they are configured for the bot.</p> <p>For example, suppose a bot is configured with the confidence threshold of 0.80 and the <code>AMAZON.FallbackIntent</code>. Amazon Lex returns three alternative intents with the following confidence scores: IntentA (0.70), IntentB (0.60), IntentC (0.50). The response from the <code>RecognizeText</code> operation would be:</p> <ul> <li> <p>AMAZON.FallbackIntent</p> </li> <li> <p>IntentA</p> </li> <li> <p>IntentB</p> </li> <li> <p>IntentC</p> </li> </ul>"
},
"voiceSettings":{
"shape":"VoiceSettings",
@@ -3648,7 +3648,7 @@
},
"failureReasons":{
"shape":"FailureReasons",
"documentation":"<p>If the <code>importStatus</code> field is <code>Failed</code>, this provides one or more reasons for the failture.</p>"
"documentation":"<p>If the <code>importStatus</code> field is <code>Failed</code>, this provides one or more reasons for the failure.</p>"
},
"creationDateTime":{
"shape":"Timestamp",
@@ -4028,14 +4028,14 @@
},
"values":{
"shape":"FilterValues",
"documentation":"<p>The values to use to fileter the response.</p>"
"documentation":"<p>The values to use to filter the response.</p>"
},
"operator":{
"shape":"ExportFilterOperator",
"documentation":"<p>The operator to use for the filter. Specify EQ when the <code>ListExports</code> operation should return only resource types that equal the specified value. Specify CO when the <code>ListExports</code> operation should return resource types that contain the specified value.</p>"
}
},
"documentation":"<p>Filtes the response form the operation</p>"
"documentation":"<p>Filters the response form the operation</p>"
},
"ExportFilterName":{
"type":"string",
@@ -4157,10 +4157,100 @@
"enabled":{
"shape":"Boolean",
"documentation":"<p>Indicates whether a Lambda function should be invoked to fulfill a specific intent.</p>"
},
"postFulfillmentStatusSpecification":{
"shape":"PostFulfillmentStatusSpecification",
"documentation":"<p>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.</p>"
},
"fulfillmentUpdatesSpecification":{
"shape":"FulfillmentUpdatesSpecification",
"documentation":"<p>Provides settings for update messages sent to the user for long-running Lambda fulfillment functions. Fulfillment updates can be used only with streaming conversations.</p>"
}
},
"documentation":"<p>Determines if a Lambda function should be invoked for a specific intent.</p>"
},
"FulfillmentStartResponseDelay":{
"type":"integer",
"max":900,
"min":1
},
"FulfillmentStartResponseSpecification":{
"type":"structure",
"required":[
"delayInSeconds",
"messageGroups"
],
"members":{
"delayInSeconds":{
"shape":"FulfillmentStartResponseDelay",
"documentation":"<p>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.</p>"
},
"messageGroups":{
"shape":"MessageGroupsList",
"documentation":"<p>One to 5 message groups that contain start messages. Amazon Lex chooses one of the messages to play to the user.</p>"
},
"allowInterrupt":{
"shape":"BoxedBoolean",
"documentation":"<p>Determines whether the user can interrupt the start message while it is playing.</p>"
}
},
"documentation":"<p>Provides settings for a message that is sent to the user when a fulfillment Lambda function starts running.</p>"
},
"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":"<p>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.</p>"
},
"messageGroups":{
"shape":"MessageGroupsList",
"documentation":"<p>One to 5 message groups that contain update messages. Amazon Lex chooses one of the messages to play to the user.</p>"
},
"allowInterrupt":{
"shape":"BoxedBoolean",
"documentation":"<p>Determines whether the user can interrupt an update message while it is playing.</p>"
}
},
"documentation":"<p>Provides settings for a message that is sent periodically to the user while a fulfillment Lambda function is running.</p>"
},
"FulfillmentUpdatesSpecification":{
"type":"structure",
"required":["active"],
"members":{
"active":{
"shape":"BoxedBoolean",
"documentation":"<p>Determines whether fulfillment updates are sent to the user. When this field is true, updates are sent.</p> <p>If the <code>active</code> field is set to true, the <code>startResponse</code>, <code>updateResponse</code>, and <code>timeoutInSeconds</code> fields are required.</p>"
},
"startResponse":{
"shape":"FulfillmentStartResponseSpecification",
"documentation":"<p>Provides configuration information for the message sent to users when the fulfillment Lambda functions starts running.</p>"
},
"updateResponse":{
"shape":"FulfillmentUpdateResponseSpecification",
"documentation":"<p>Provides configuration information for messages sent periodically to the user while the fulfillment Lambda function is running.</p>"
},
"timeoutInSeconds":{
"shape":"FulfillmentTimeout",
"documentation":"<p>The length of time that the fulfillment Lambda function should run before it times out.</p>"
}
},
"documentation":"<p>Provides information for updating the user on the progress of fulfilling an intent.</p>"
},
"HitCount":{"type":"integer"},
"Id":{
"type":"string",
@@ -4253,7 +4343,7 @@
"documentation":"<p>Parameters for importing a bot locale.</p>"
}
},
"documentation":"<p>Provides information about the bot or bot locale that you want to import. You can sepcifiy the <code>botImportSpecification</code> or the <code>botLocaleImportSpecification</code>, but not both.</p>"
"documentation":"<p>Provides information about the bot or bot locale that you want to import. You can specify the <code>botImportSpecification</code> or the <code>botLocaleImportSpecification</code>, but not both.</p>"
},
"ImportSortAttribute":{
"type":"string",
@@ -4357,7 +4447,7 @@
},
"active":{
"shape":"BoxedBoolean",
"documentation":"<p>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 <code>active</code> field isn't specified, the default is true.</p>"
"documentation":"<p>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 <code>active</code> field isn't specified, the default is true.</p>"
}
},
"documentation":"<p>Provides a statement the Amazon Lex conveys to the user when the intent is successfully fulfilled.</p>"
@@ -4379,7 +4469,7 @@
},
"active":{
"shape":"BoxedBoolean",
"documentation":"<p>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 <code>active</code> field isn't specified, the default is true.</p>"
"documentation":"<p>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 <code>active</code> field isn't specified, the default is true.</p>"
}
},
"documentation":"<p>Provides a prompt for making sure that the user is ready for the intent to be fulfilled.</p>"
@@ -4551,7 +4641,7 @@
"documentation":"<p>The version of the request-response that you want Amazon Lex to use to invoke your Lambda function.</p>"
}
},
"documentation":"<p>Specifies a Lambda function that verifies requests to a bot or fulfilles the user's request to a bot.</p>"
"documentation":"<p>Specifies a Lambda function that verifies requests to a bot or fulfills the user's request to a bot.</p>"
},
"ListAggregatedUtterancesRequest":{
"type":"structure",
@@ -4923,7 +5013,7 @@
},
"nextToken":{
"shape":"NextToken",
"documentation":"<p>If the response from the <code>ListExports</code> operation contans more results that specified in the <code>maxResults</code> parameter, a token is returned in the response. Use that token in the <code>nextToken</code> parameter to return the next page of results.</p>"
"documentation":"<p>If the response from the <code>ListExports</code> operation contains more results that specified in the <code>maxResults</code> parameter, a token is returned in the response. Use that token in the <code>nextToken</code> parameter to return the next page of results.</p>"
}
}
},
@@ -5406,6 +5496,15 @@
"type":"string",
"min":2
},
"PostFulfillmentStatusSpecification":{
"type":"structure",
"members":{
"successResponse":{"shape":"ResponseSpecification"},
"failureResponse":{"shape":"ResponseSpecification"},
"timeoutResponse":{"shape":"ResponseSpecification"}
},
"documentation":"<p>Provides a setting that determines whether the post-fulfillment response is sent to the user. For more information, see <a href=\"https://docs.aws.amazon.com/lexv2/latest/dg/streaming-progress.html#progress-complete\">https://docs.aws.amazon.com/lexv2/latest/dg/streaming-progress.html#progress-complete</a> </p>"
},
"PreconditionFailedException":{
"type":"structure",
"members":{
@@ -5467,7 +5566,7 @@
},
"maxRetries":{
"shape":"PromptMaxRetries",
"documentation":"<p>The maximum number of times the bot tries to elicit a resonse from the user using this prompt.</p>"
"documentation":"<p>The maximum number of times the bot tries to elicit a response from the user using this prompt.</p>"
},
"allowInterrupt":{
"shape":"BoxedBoolean",
@@ -5920,7 +6019,7 @@
},
"synonyms":{
"shape":"SynonymList",
"documentation":"<p>Additional values releated to the slot type entry.</p>"
"documentation":"<p>Additional values related to the slot type entry.</p>"
}
},
"documentation":"<p>Each slot type can have a set of values. Each <code>SlotTypeValue</code> represents a value that the slot type can take.</p>"
@@ -5937,7 +6036,7 @@
"members":{
"defaultValueSpecification":{
"shape":"SlotDefaultValueSpecification",
"documentation":"<p>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.</p>"
"documentation":"<p>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.</p>"
},
"slotConstraint":{
"shape":"SlotConstraint",
@@ -7015,7 +7114,7 @@
},
"active":{
"shape":"BoxedBoolean",
"documentation":"<p>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 <code>active</code> field isn't specified, the default is true.</p>"
"documentation":"<p>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 <code>active</code> field isn't specified, the default is true.</p>"
}
},
"documentation":"<p>Specifies the prompts that Amazon Lex uses while a bot is waiting for customer input. </p>"

0 comments on commit 2654f64

Please sign in to comment.