UNPKG

aws-cdk-lib

Version:

Version 2 of the AWS Cloud Development Kit library

990 lines 190 kB
import * as cdk from "../../core"; import * as constructs from "constructs"; import * as cfn_parse from "../../core/lib/helpers-internal"; /** * > Amazon Lex V2 is the only supported version in AWS CloudFormation . * * Specifies an Amazon Lex conversational bot. * * You must configure an intent based on the `AMAZON.FallbackIntent` built-in intent. If you don't add one, creating the bot will fail. * * @cloudformationResource AWS::Lex::Bot * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-bot.html */ export declare class CfnBot extends cdk.CfnResource implements cdk.IInspectable { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME: string; /** * Build a CfnBot from CloudFormation properties * * A factory method that creates a new instance of this class from an object * containing the CloudFormation properties of this resource. * Used in the @aws-cdk/cloudformation-include module. * * @internal */ static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnBot; /** * The Amazon Resource Name (ARN) of the bot. * * @cloudformationAttribute Arn */ readonly attrArn: string; /** * The unique identifier of the bot. * * @cloudformationAttribute Id */ readonly attrId: string; /** * Indicates whether Amazon Lex V2 should automatically build the locales for the bot after a change. */ autoBuildBotLocales?: boolean | cdk.IResolvable; /** * The Amazon S3 location of files used to import a bot. */ botFileS3Location?: cdk.IResolvable | CfnBot.S3LocationProperty; /** * A list of locales for the bot. */ botLocales?: Array<CfnBot.BotLocaleProperty | cdk.IResolvable> | cdk.IResolvable; /** * A list of tags to add to the bot. */ botTags?: Array<cdk.CfnTag | cdk.IResolvable> | cdk.IResolvable; /** * By default, data stored by Amazon Lex is encrypted. */ dataPrivacy: any | cdk.IResolvable; /** * The description of the version. */ description?: string; /** * The time, in seconds, that Amazon Lex should keep information about a user's conversation with the bot. */ idleSessionTtlInSeconds: number; /** * The name of the bot locale. */ name: string; replication?: cdk.IResolvable | CfnBot.ReplicationProperty; /** * The Amazon Resource Name (ARN) of the IAM role used to build and run the bot. */ roleArn: string; /** * Specifies configuration settings for the alias used to test the bot. */ testBotAliasSettings?: cdk.IResolvable | CfnBot.TestBotAliasSettingsProperty; /** * A list of tags to add to the test alias for a bot. */ testBotAliasTags?: Array<cdk.CfnTag | cdk.IResolvable> | cdk.IResolvable; /** * @param scope Scope in which this resource is defined * @param id Construct identifier for this resource (unique in its scope) * @param props Resource properties */ constructor(scope: constructs.Construct, id: string, props: CfnBotProps); protected get cfnProperties(): Record<string, any>; /** * Examines the CloudFormation resource and discloses attributes * * @param inspector tree inspector to collect and process attributes */ inspect(inspector: cdk.TreeInspector): void; protected renderProperties(props: Record<string, any>): Record<string, any>; } export declare namespace CfnBot { /** * Provides configuration information for a locale. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-botlocale.html */ interface BotLocaleProperty { /** * Specifies a custom vocabulary to use with a specific locale. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-botlocale.html#cfn-lex-bot-botlocale-customvocabulary */ readonly customVocabulary?: CfnBot.CustomVocabularyProperty | cdk.IResolvable; /** * A description of the bot locale. * * Use this to help identify the bot locale in lists. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-botlocale.html#cfn-lex-bot-botlocale-description */ readonly description?: string; /** * One or more intents defined for the locale. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-botlocale.html#cfn-lex-bot-botlocale-intents */ readonly intents?: Array<CfnBot.IntentProperty | cdk.IResolvable> | cdk.IResolvable; /** * The identifier of the language and locale that the bot will be used in. * * The string must match one of the supported locales. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-botlocale.html#cfn-lex-bot-botlocale-localeid */ readonly localeId: string; /** * Determines the threshold where Amazon Lex will insert the `AMAZON.FallbackIntent` , `AMAZON.KendraSearchIntent` , or both when returning alternative intents. You must configure an `AMAZON.FallbackIntent` . `AMAZON.KendraSearchIntent` is only inserted if it is configured for the bot. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-botlocale.html#cfn-lex-bot-botlocale-nluconfidencethreshold */ readonly nluConfidenceThreshold: number; /** * One or more slot types defined for the locale. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-botlocale.html#cfn-lex-bot-botlocale-slottypes */ readonly slotTypes?: Array<cdk.IResolvable | CfnBot.SlotTypeProperty> | cdk.IResolvable; /** * Defines settings for using an Amazon Polly voice to communicate with a user. * * Valid values include: * * - `standard` * - `neural` * - `long-form` * - `generative` * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-botlocale.html#cfn-lex-bot-botlocale-voicesettings */ readonly voiceSettings?: cdk.IResolvable | CfnBot.VoiceSettingsProperty; } /** * Specifies a custom vocabulary. * * A custom vocabulary is a list of words that you expect to be used during a conversation with your bot. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-customvocabulary.html */ interface CustomVocabularyProperty { /** * Specifies a list of words that you expect to be used during a conversation with your bot. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-customvocabulary.html#cfn-lex-bot-customvocabulary-customvocabularyitems */ readonly customVocabularyItems: Array<CfnBot.CustomVocabularyItemProperty | cdk.IResolvable> | cdk.IResolvable; } /** * Specifies an entry in a custom vocabulary. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-customvocabularyitem.html */ interface CustomVocabularyItemProperty { /** * The DisplayAs value for the custom vocabulary item from the custom vocabulary list. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-customvocabularyitem.html#cfn-lex-bot-customvocabularyitem-displayas */ readonly displayAs?: string; /** * Specifies 1 - 4 words that should be recognized. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-customvocabularyitem.html#cfn-lex-bot-customvocabularyitem-phrase */ readonly phrase: string; /** * Specifies the degree to which the phrase recognition is boosted. * * The default value is 1. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-customvocabularyitem.html#cfn-lex-bot-customvocabularyitem-weight */ readonly weight?: number; } /** * Describes a slot type. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-slottype.html */ interface SlotTypeProperty { /** * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-slottype.html#cfn-lex-bot-slottype-compositeslottypesetting */ readonly compositeSlotTypeSetting?: CfnBot.CompositeSlotTypeSettingProperty | cdk.IResolvable; /** * A description of the slot type. * * Use the description to help identify the slot type in lists. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-slottype.html#cfn-lex-bot-slottype-description */ readonly description?: string; /** * Sets the type of external information used to create the slot type. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-slottype.html#cfn-lex-bot-slottype-externalsourcesetting */ readonly externalSourceSetting?: CfnBot.ExternalSourceSettingProperty | cdk.IResolvable; /** * The name of the slot type. * * A slot type name must be unique withing the account. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-slottype.html#cfn-lex-bot-slottype-name */ readonly name: string; /** * The built-in slot type used as a parent of this slot type. * * When you define a parent slot type, the new slot type has the configuration of the parent lot type. * * Only `AMAZON.AlphaNumeric` is supported. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-slottype.html#cfn-lex-bot-slottype-parentslottypesignature */ readonly parentSlotTypeSignature?: string; /** * A list of SlotTypeValue objects that defines the values that the slot type can take. * * Each value can have a list of synonyms, additional values that help train the machine learning model about the values that it resolves for the slot. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-slottype.html#cfn-lex-bot-slottype-slottypevalues */ readonly slotTypeValues?: Array<cdk.IResolvable | CfnBot.SlotTypeValueProperty> | cdk.IResolvable; /** * Determines the slot resolution strategy that Amazon Lex uses to return slot type values. * * The field can be set to one of the following values: * * - `ORIGINAL_VALUE` - Returns the value entered by the user, if the user value is similar to the slot value. * - `TOP_RESOLUTION` - If there is a resolution list for the slot, return the first value in the resolution list as the slot type value. If there is no resolution list, null is returned. * * If you don't specify the `valueSelectionStrategy` , the default is `ORIGINAL_VALUE` . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-slottype.html#cfn-lex-bot-slottype-valueselectionsetting */ readonly valueSelectionSetting?: cdk.IResolvable | CfnBot.SlotValueSelectionSettingProperty; } /** * Each slot type can have a set of values. * * Each `SlotTypeValue` represents a value that the slot type can take. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-slottypevalue.html */ interface SlotTypeValueProperty { /** * The value of the slot type entry. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-slottypevalue.html#cfn-lex-bot-slottypevalue-samplevalue */ readonly sampleValue: cdk.IResolvable | CfnBot.SampleValueProperty; /** * Additional values related to the slot type entry. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-slottypevalue.html#cfn-lex-bot-slottypevalue-synonyms */ readonly synonyms?: Array<cdk.IResolvable | CfnBot.SampleValueProperty> | cdk.IResolvable; } /** * Defines one of the values for a slot type. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-samplevalue.html */ interface SampleValueProperty { /** * The value that can be used for a slot type. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-samplevalue.html#cfn-lex-bot-samplevalue-value */ readonly value: string; } /** * Contains settings used by Amazon Lex to select a slot value. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-slotvalueselectionsetting.html */ interface SlotValueSelectionSettingProperty { /** * Provides settings that enable advanced recognition settings for slot values. * * You can use this to enable using slot values as a custom vocabulary for recognizing user utterances. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-slotvalueselectionsetting.html#cfn-lex-bot-slotvalueselectionsetting-advancedrecognitionsetting */ readonly advancedRecognitionSetting?: CfnBot.AdvancedRecognitionSettingProperty | cdk.IResolvable; /** * A regular expression used to validate the value of a slot. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-slotvalueselectionsetting.html#cfn-lex-bot-slotvalueselectionsetting-regexfilter */ readonly regexFilter?: cdk.IResolvable | CfnBot.SlotValueRegexFilterProperty; /** * Determines the slot resolution strategy that Amazon Lex uses to return slot type values. * * The field can be set to one of the following values: * * - `ORIGINAL_VALUE` - Returns the value entered by the user, if the user value is similar to the slot value. * - `TOP_RESOLUTION` - If there is a resolution list for the slot, return the first value in the resolution list as the slot type value. If there is no resolution list, null is returned. * * If you don't specify the `valueSelectionStrategy` , the default is `ORIGINAL_VALUE` . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-slotvalueselectionsetting.html#cfn-lex-bot-slotvalueselectionsetting-resolutionstrategy */ readonly resolutionStrategy: string; } /** * Provides settings that enable advanced recognition settings for slot values. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-advancedrecognitionsetting.html */ interface AdvancedRecognitionSettingProperty { /** * Enables using the slot values as a custom vocabulary for recognizing user utterances. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-advancedrecognitionsetting.html#cfn-lex-bot-advancedrecognitionsetting-audiorecognitionstrategy */ readonly audioRecognitionStrategy?: string; } /** * Provides a regular expression used to validate the value of a slot. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-slotvalueregexfilter.html */ interface SlotValueRegexFilterProperty { /** * A regular expression used to validate the value of a slot. * * Use a standard regular expression. Amazon Lex supports the following characters in the regular expression: * * - A-Z, a-z * - 0-9 * - Unicode characters ("\⁠u<Unicode>") * * Represent Unicode characters with four digits, for example "\⁠u0041" or "\⁠u005A". * * The following regular expression operators are not supported: * * - Infinite repeaters: *, +, or {x,} with no upper bound. * - Wild card (.) * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-slotvalueregexfilter.html#cfn-lex-bot-slotvalueregexfilter-pattern */ readonly pattern: string; } /** * Provides information about the external source of the slot type's definition. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-externalsourcesetting.html */ interface ExternalSourceSettingProperty { /** * Settings required for a slot type based on a grammar that you provide. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-externalsourcesetting.html#cfn-lex-bot-externalsourcesetting-grammarslottypesetting */ readonly grammarSlotTypeSetting?: CfnBot.GrammarSlotTypeSettingProperty | cdk.IResolvable; } /** * Settings requried for a slot type based on a grammar that you provide. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-grammarslottypesetting.html */ interface GrammarSlotTypeSettingProperty { /** * The source of the grammar used to create the slot type. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-grammarslottypesetting.html#cfn-lex-bot-grammarslottypesetting-source */ readonly source?: CfnBot.GrammarSlotTypeSourceProperty | cdk.IResolvable; } /** * Describes the Amazon S3 bucket name and location for the grammar that is the source for the slot type. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-grammarslottypesource.html */ interface GrammarSlotTypeSourceProperty { /** * The AWS KMS key required to decrypt the contents of the grammar, if any. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-grammarslottypesource.html#cfn-lex-bot-grammarslottypesource-kmskeyarn */ readonly kmsKeyArn?: string; /** * The name of the Amazon S3 bucket that contains the grammar source. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-grammarslottypesource.html#cfn-lex-bot-grammarslottypesource-s3bucketname */ readonly s3BucketName: string; /** * The path to the grammar in the Amazon S3 bucket. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-grammarslottypesource.html#cfn-lex-bot-grammarslottypesource-s3objectkey */ readonly s3ObjectKey: string; } /** * A composite slot is a combination of two or more slots that capture multiple pieces of information in a single user input. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-compositeslottypesetting.html */ interface CompositeSlotTypeSettingProperty { /** * Subslots in the composite slot. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-compositeslottypesetting.html#cfn-lex-bot-compositeslottypesetting-subslots */ readonly subSlots?: Array<cdk.IResolvable | CfnBot.SubSlotTypeCompositionProperty> | cdk.IResolvable; } /** * Subslot type composition. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-subslottypecomposition.html */ interface SubSlotTypeCompositionProperty { /** * Name of a constituent sub slot inside a composite slot. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-subslottypecomposition.html#cfn-lex-bot-subslottypecomposition-name */ readonly name: string; /** * The unique identifier assigned to a slot type. * * This refers to either a built-in slot type or the unique slotTypeId of a custom slot type. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-subslottypecomposition.html#cfn-lex-bot-subslottypecomposition-slottypeid */ readonly slotTypeId: string; } /** * Represents an action that the user wants to perform. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-intent.html */ interface IntentProperty { /** * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-intent.html#cfn-lex-bot-intent-bedrockagentintentconfiguration */ readonly bedrockAgentIntentConfiguration?: CfnBot.BedrockAgentIntentConfigurationProperty | cdk.IResolvable; /** * A description of the intent. * * Use the description to help identify the intent in lists. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-intent.html#cfn-lex-bot-intent-description */ readonly description?: string; /** * Specifies that Amazon Lex invokes the alias Lambda function for each user input. * * You can invoke this Lambda function to personalize user interaction. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-intent.html#cfn-lex-bot-intent-dialogcodehook */ readonly dialogCodeHook?: CfnBot.DialogCodeHookSettingProperty | cdk.IResolvable; /** * Specifies that Amazon Lex invokes the alias Lambda function when the intent is ready for fulfillment. * * You can invoke this function to complete the bot's transaction with the user. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-intent.html#cfn-lex-bot-intent-fulfillmentcodehook */ readonly fulfillmentCodeHook?: CfnBot.FulfillmentCodeHookSettingProperty | cdk.IResolvable; /** * Configuration setting for a response sent to the user before Amazon Lex starts eliciting slots. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-intent.html#cfn-lex-bot-intent-initialresponsesetting */ readonly initialResponseSetting?: CfnBot.InitialResponseSettingProperty | cdk.IResolvable; /** * A list of contexts that must be active for this intent to be considered by Amazon Lex . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-intent.html#cfn-lex-bot-intent-inputcontexts */ readonly inputContexts?: Array<CfnBot.InputContextProperty | cdk.IResolvable> | cdk.IResolvable; /** * Sets the response that Amazon Lex sends to the user when the intent is closed. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-intent.html#cfn-lex-bot-intent-intentclosingsetting */ readonly intentClosingSetting?: CfnBot.IntentClosingSettingProperty | cdk.IResolvable; /** * Provides prompts that Amazon Lex sends to the user to confirm the completion of an intent. * * If the user answers "no," the settings contain a statement that is sent to the user to end the intent. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-intent.html#cfn-lex-bot-intent-intentconfirmationsetting */ readonly intentConfirmationSetting?: CfnBot.IntentConfirmationSettingProperty | cdk.IResolvable; /** * Provides configuration information for the `AMAZON.KendraSearchIntent` intent. When you use this intent, Amazon Lex searches the specified Amazon Kendra index and returns documents from the index that match the user's utterance. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-intent.html#cfn-lex-bot-intent-kendraconfiguration */ readonly kendraConfiguration?: cdk.IResolvable | CfnBot.KendraConfigurationProperty; /** * The name of the intent. * * Intent names must be unique within the locale that contains the intent and can't match the name of any built-in intent. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-intent.html#cfn-lex-bot-intent-name */ readonly name: string; /** * A list of contexts that the intent activates when it is fulfilled. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-intent.html#cfn-lex-bot-intent-outputcontexts */ readonly outputContexts?: Array<cdk.IResolvable | CfnBot.OutputContextProperty> | cdk.IResolvable; /** * A unique identifier for the built-in intent to base this intent on. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-intent.html#cfn-lex-bot-intent-parentintentsignature */ readonly parentIntentSignature?: string; /** * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-intent.html#cfn-lex-bot-intent-qinconnectintentconfiguration */ readonly qInConnectIntentConfiguration?: cdk.IResolvable | CfnBot.QInConnectIntentConfigurationProperty; /** * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-intent.html#cfn-lex-bot-intent-qnaintentconfiguration */ readonly qnAIntentConfiguration?: cdk.IResolvable | CfnBot.QnAIntentConfigurationProperty; /** * A list of utterances that a user might say to signal the intent. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-intent.html#cfn-lex-bot-intent-sampleutterances */ readonly sampleUtterances?: Array<cdk.IResolvable | CfnBot.SampleUtteranceProperty> | cdk.IResolvable; /** * Indicates the priority for slots. * * Amazon Lex prompts the user for slot values in priority order. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-intent.html#cfn-lex-bot-intent-slotpriorities */ readonly slotPriorities?: Array<cdk.IResolvable | CfnBot.SlotPriorityProperty> | cdk.IResolvable; /** * A list of slots that the intent requires for fulfillment. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-intent.html#cfn-lex-bot-intent-slots */ readonly slots?: Array<cdk.IResolvable | CfnBot.SlotProperty> | cdk.IResolvable; } /** * Configuration setting for a response sent to the user before Amazon Lex starts eliciting slots. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-initialresponsesetting.html */ interface InitialResponseSettingProperty { /** * Settings that specify the dialog code hook that is called by Amazon Lex at a step of the conversation. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-initialresponsesetting.html#cfn-lex-bot-initialresponsesetting-codehook */ readonly codeHook?: CfnBot.DialogCodeHookInvocationSettingProperty | cdk.IResolvable; /** * Provides a list of conditional branches. * * Branches are evaluated in the order that they are entered in the list. The first branch with a condition that evaluates to true is executed. The last branch in the list is the default branch. The default branch should not have any condition expression. The default branch is executed if no other branch has a matching condition. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-initialresponsesetting.html#cfn-lex-bot-initialresponsesetting-conditional */ readonly conditional?: CfnBot.ConditionalSpecificationProperty | cdk.IResolvable; /** * Specifies a list of message groups that Amazon Lex uses to respond the user input. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-initialresponsesetting.html#cfn-lex-bot-initialresponsesetting-initialresponse */ readonly initialResponse?: cdk.IResolvable | CfnBot.ResponseSpecificationProperty; /** * The next step in the conversation. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-initialresponsesetting.html#cfn-lex-bot-initialresponsesetting-nextstep */ readonly nextStep?: CfnBot.DialogStateProperty | cdk.IResolvable; } /** * Settings that specify the dialog code hook that is called by Amazon Lex at a step of the conversation. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-dialogcodehookinvocationsetting.html */ interface DialogCodeHookInvocationSettingProperty { /** * Indicates whether a Lambda function should be invoked for the dialog. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-dialogcodehookinvocationsetting.html#cfn-lex-bot-dialogcodehookinvocationsetting-enablecodehookinvocation */ readonly enableCodeHookInvocation: boolean | cdk.IResolvable; /** * A label that indicates the dialog step from which the dialog code hook is happening. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-dialogcodehookinvocationsetting.html#cfn-lex-bot-dialogcodehookinvocationsetting-invocationlabel */ readonly invocationLabel?: string; /** * Determines whether a dialog code hook is used when the intent is activated. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-dialogcodehookinvocationsetting.html#cfn-lex-bot-dialogcodehookinvocationsetting-isactive */ readonly isActive: boolean | cdk.IResolvable; /** * Contains the responses and actions that Amazon Lex takes after the Lambda function is complete. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-dialogcodehookinvocationsetting.html#cfn-lex-bot-dialogcodehookinvocationsetting-postcodehookspecification */ readonly postCodeHookSpecification: cdk.IResolvable | CfnBot.PostDialogCodeHookInvocationSpecificationProperty; } /** * Specifies next steps to run after the dialog code hook finishes. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-postdialogcodehookinvocationspecification.html */ interface PostDialogCodeHookInvocationSpecificationProperty { /** * A list of conditional branches to evaluate after the dialog code hook throws an exception or returns with the `State` field of the `Intent` object set to `Failed` . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-postdialogcodehookinvocationspecification.html#cfn-lex-bot-postdialogcodehookinvocationspecification-failureconditional */ readonly failureConditional?: CfnBot.ConditionalSpecificationProperty | cdk.IResolvable; /** * Specifies the next step the bot runs after the dialog code hook throws an exception or returns with the `State` field of the `Intent` object set to `Failed` . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-postdialogcodehookinvocationspecification.html#cfn-lex-bot-postdialogcodehookinvocationspecification-failurenextstep */ readonly failureNextStep?: CfnBot.DialogStateProperty | cdk.IResolvable; /** * Specifies a list of message groups that Amazon Lex uses to respond the user input when the code hook fails. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-postdialogcodehookinvocationspecification.html#cfn-lex-bot-postdialogcodehookinvocationspecification-failureresponse */ readonly failureResponse?: cdk.IResolvable | CfnBot.ResponseSpecificationProperty; /** * A list of conditional branches to evaluate after the dialog code hook finishes successfully. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-postdialogcodehookinvocationspecification.html#cfn-lex-bot-postdialogcodehookinvocationspecification-successconditional */ readonly successConditional?: CfnBot.ConditionalSpecificationProperty | cdk.IResolvable; /** * Specifics the next step the bot runs after the dialog code hook finishes successfully. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-postdialogcodehookinvocationspecification.html#cfn-lex-bot-postdialogcodehookinvocationspecification-successnextstep */ readonly successNextStep?: CfnBot.DialogStateProperty | cdk.IResolvable; /** * Specifies a list of message groups that Amazon Lex uses to respond when the code hook succeeds. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-postdialogcodehookinvocationspecification.html#cfn-lex-bot-postdialogcodehookinvocationspecification-successresponse */ readonly successResponse?: cdk.IResolvable | CfnBot.ResponseSpecificationProperty; /** * A list of conditional branches to evaluate if the code hook times out. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-postdialogcodehookinvocationspecification.html#cfn-lex-bot-postdialogcodehookinvocationspecification-timeoutconditional */ readonly timeoutConditional?: CfnBot.ConditionalSpecificationProperty | cdk.IResolvable; /** * Specifies the next step that the bot runs when the code hook times out. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-postdialogcodehookinvocationspecification.html#cfn-lex-bot-postdialogcodehookinvocationspecification-timeoutnextstep */ readonly timeoutNextStep?: CfnBot.DialogStateProperty | cdk.IResolvable; /** * Specifies a list of message groups that Amazon Lex uses to respond to the user input when the code hook times out. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-postdialogcodehookinvocationspecification.html#cfn-lex-bot-postdialogcodehookinvocationspecification-timeoutresponse */ readonly timeoutResponse?: cdk.IResolvable | CfnBot.ResponseSpecificationProperty; } /** * Specifies a list of message groups that Amazon Lex uses to respond the user input. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-responsespecification.html */ interface ResponseSpecificationProperty { /** * Indicates whether the user can interrupt a speech response from Amazon Lex. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-responsespecification.html#cfn-lex-bot-responsespecification-allowinterrupt */ readonly allowInterrupt?: boolean | cdk.IResolvable; /** * A collection of responses that Amazon Lex can send to the user. * * Amazon Lex chooses the actual response to send at runtime. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-responsespecification.html#cfn-lex-bot-responsespecification-messagegroupslist */ readonly messageGroupsList: Array<cdk.IResolvable | CfnBot.MessageGroupProperty> | cdk.IResolvable; } /** * Provides one or more messages that Amazon Lex should send to the user. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-messagegroup.html */ interface MessageGroupProperty { /** * The primary message that Amazon Lex should send to the user. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-messagegroup.html#cfn-lex-bot-messagegroup-message */ readonly message: cdk.IResolvable | CfnBot.MessageProperty; /** * Message variations to send to the user. * * When variations are defined, Amazon Lex chooses the primary message or one of the variations to send to the user. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-messagegroup.html#cfn-lex-bot-messagegroup-variations */ readonly variations?: Array<cdk.IResolvable | CfnBot.MessageProperty> | cdk.IResolvable; } /** * The object that provides message text and its type. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-message.html */ interface MessageProperty { /** * A message in a custom format defined by the client application. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-message.html#cfn-lex-bot-message-custompayload */ readonly customPayload?: CfnBot.CustomPayloadProperty | cdk.IResolvable; /** * A message that defines a response card that the client application can show to the user. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-message.html#cfn-lex-bot-message-imageresponsecard */ readonly imageResponseCard?: CfnBot.ImageResponseCardProperty | cdk.IResolvable; /** * A message in plain text format. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-message.html#cfn-lex-bot-message-plaintextmessage */ readonly plainTextMessage?: cdk.IResolvable | CfnBot.PlainTextMessageProperty; /** * A message in Speech Synthesis Markup Language (SSML). * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-message.html#cfn-lex-bot-message-ssmlmessage */ readonly ssmlMessage?: cdk.IResolvable | CfnBot.SSMLMessageProperty; } /** * A custom response string that Amazon Lex sends to your application. * * You define the content and structure the string. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-custompayload.html */ interface CustomPayloadProperty { /** * The string that is sent to your application. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-custompayload.html#cfn-lex-bot-custompayload-value */ readonly value: string; } /** * A card that is shown to the user by a messaging platform. * * You define the contents of the card, the card is displayed by the platform. * * When you use a response card, the response from the user is constrained to the text associated with a button on the card. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-imageresponsecard.html */ interface ImageResponseCardProperty { /** * A list of buttons that should be displayed on the response card. * * The arrangement of the buttons is determined by the platform that displays the button. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-imageresponsecard.html#cfn-lex-bot-imageresponsecard-buttons */ readonly buttons?: Array<CfnBot.ButtonProperty | cdk.IResolvable> | cdk.IResolvable; /** * The URL of an image to display on the response card. * * The image URL must be publicly available so that the platform displaying the response card has access to the image. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-imageresponsecard.html#cfn-lex-bot-imageresponsecard-imageurl */ readonly imageUrl?: string; /** * The subtitle to display on the response card. * * The format of the subtitle is determined by the platform displaying the response card. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-imageresponsecard.html#cfn-lex-bot-imageresponsecard-subtitle */ readonly subtitle?: string; /** * The title to display on the response card. * * The format of the title is determined by the platform displaying the response card. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-imageresponsecard.html#cfn-lex-bot-imageresponsecard-title */ readonly title: string; } /** * Describes a button to use on a response card used to gather slot values from a user. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-button.html */ interface ButtonProperty { /** * The text that appears on the button. * * Use this to tell the user what value is returned when they choose this button. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-button.html#cfn-lex-bot-button-text */ readonly text: string; /** * The value returned to Amazon Lex when the user chooses this button. * * This must be one of the slot values configured for the slot. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-button.html#cfn-lex-bot-button-value */ readonly value: string; } /** * Defines an ASCII text message to send to the user. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-plaintextmessage.html */ interface PlainTextMessageProperty { /** * The message to send to the user. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-plaintextmessage.html#cfn-lex-bot-plaintextmessage-value */ readonly value: string; } /** * Defines a Speech Synthesis Markup Language (SSML) prompt. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-ssmlmessage.html */ interface SSMLMessageProperty { /** * The SSML text that defines the prompt. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-ssmlmessage.html#cfn-lex-bot-ssmlmessage-value */ readonly value: string; } /** * Provides a list of conditional branches. * * Branches are evaluated in the order that they are entered in the list. The first branch with a condition that evaluates to true is executed. The last branch in the list is the default branch. The default branch should not have any condition expression. The default branch is executed if no other branch has a matching condition. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-conditionalspecification.html */ interface ConditionalSpecificationProperty { /** * A list of conditional branches. * * A conditional branch is made up of a condition, a response and a next step. The response and next step are executed when the condition is true. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-conditionalspecification.html#cfn-lex-bot-conditionalspecification-conditionalbranches */ readonly conditionalBranches: Array<CfnBot.ConditionalBranchProperty | cdk.IResolvable> | cdk.IResolvable; /** * The conditional branch that should be followed when the conditions for other branches are not satisfied. * * A conditional branch is made up of a condition, a response and a next step. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-conditionalspecification.html#cfn-lex-bot-conditionalspecification-defaultbranch */ readonly defaultBranch: CfnBot.DefaultConditionalBranchProperty | cdk.IResolvable; /** * Determines whether a conditional branch is active. * * When `IsActive` is false, the conditions are not evaluated. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-conditionalspecification.html#cfn-lex-bot-conditionalspecification-isactive */ readonly isActive: boolean | cdk.IResolvable; } /** * A set of actions that Amazon Lex should run if none of the other conditions are met. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-defaultconditionalbranch.html */ interface DefaultConditionalBranchProperty { /** * The next step in the conversation. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-defaultconditionalbranch.html#cfn-lex-bot-defaultconditionalbranch-nextstep */ readonly nextStep?: CfnBot.DialogStateProperty | cdk.IResolvable; /** * Specifies a list of message groups that Amazon Lex uses to respond the user input. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-defaultconditionalbranch.html#cfn-lex-bot-defaultconditionalbranch-response */ readonly response?: cdk.IResolvable | CfnBot.ResponseSpecificationProperty; } /** * The current state of the conversa