aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
1,002 lines • 172 kB
TypeScript
import * as constructs from 'constructs';
import * as cdk from '../../core';
import * as cfn_parse from '../../core/lib/helpers-internal';
/**
* Properties for defining a `CfnBot`
*
* @struct
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-bot.html
*/
export interface CfnBotProps {
/**
* `AWS::Lex::Bot.DataPrivacy`
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-bot.html#cfn-lex-bot-dataprivacy
*/
readonly dataPrivacy: any | cdk.IResolvable;
/**
* The time, in seconds, that Amazon Lex should keep information about a user's conversation with the bot.
*
* A user interaction remains active for the amount of time specified. If no conversation occurs during this time, the session expires and Amazon Lex deletes any data provided before the timeout.
*
* You can specify between 60 (1 minute) and 86,400 (24 hours) seconds.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-bot.html#cfn-lex-bot-idlesessionttlinseconds
*/
readonly idleSessionTtlInSeconds: number;
/**
* The name of the bot locale.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-bot.html#cfn-lex-bot-name
*/
readonly name: string;
/**
* The Amazon Resource Name (ARN) of the IAM role used to build and run the bot.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-bot.html#cfn-lex-bot-rolearn
*/
readonly roleArn: string;
/**
* Indicates whether Amazon Lex V2 should automatically build the locales for the bot after a change.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-bot.html#cfn-lex-bot-autobuildbotlocales
*/
readonly autoBuildBotLocales?: boolean | cdk.IResolvable;
/**
* The Amazon S3 location of files used to import a bot. The files must be in the import format specified in [JSON format for importing and exporting](https://docs.aws.amazon.com/lexv2/latest/dg/import-export-format.html) in the *Amazon Lex developer guide.*
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-bot.html#cfn-lex-bot-botfiles3location
*/
readonly botFileS3Location?: CfnBot.S3LocationProperty | cdk.IResolvable;
/**
* A list of locales for the bot.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-bot.html#cfn-lex-bot-botlocales
*/
readonly botLocales?: Array<CfnBot.BotLocaleProperty | cdk.IResolvable> | cdk.IResolvable;
/**
* A list of tags to add to the bot. You can only add tags when you import a bot. You can't use the `UpdateBot` operation to update tags. To update tags, use the `TagResource` operation.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-bot.html#cfn-lex-bot-bottags
*/
readonly botTags?: Array<cdk.CfnTag | cdk.IResolvable> | cdk.IResolvable;
/**
* The description of the version.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-bot.html#cfn-lex-bot-description
*/
readonly description?: string;
/**
* Specifies configuration settings for the alias used to test the bot. If the `TestBotAliasSettings` property is not specified, the settings are configured with default values.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-bot.html#cfn-lex-bot-testbotaliassettings
*/
readonly testBotAliasSettings?: CfnBot.TestBotAliasSettingsProperty | cdk.IResolvable;
/**
* A list of tags to add to the test alias for a bot. You can only add tags when you import a bot. You can't use the `UpdateAlias` operation to update tags. To update tags on the test alias, use the `TagResource` operation.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-bot.html#cfn-lex-bot-testbotaliastags
*/
readonly testBotAliasTags?: Array<cdk.CfnTag | cdk.IResolvable> | cdk.IResolvable;
}
/**
* A CloudFormation `AWS::Lex::Bot`
*
* > 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
*
* @link 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 = "AWS::Lex::Bot";
/**
* 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;
/**
* `AWS::Lex::Bot.DataPrivacy`
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-bot.html#cfn-lex-bot-dataprivacy
*/
dataPrivacy: any | cdk.IResolvable;
/**
* The time, in seconds, that Amazon Lex should keep information about a user's conversation with the bot.
*
* A user interaction remains active for the amount of time specified. If no conversation occurs during this time, the session expires and Amazon Lex deletes any data provided before the timeout.
*
* You can specify between 60 (1 minute) and 86,400 (24 hours) seconds.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-bot.html#cfn-lex-bot-idlesessionttlinseconds
*/
idleSessionTtlInSeconds: number;
/**
* The name of the bot locale.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-bot.html#cfn-lex-bot-name
*/
name: string;
/**
* The Amazon Resource Name (ARN) of the IAM role used to build and run the bot.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-bot.html#cfn-lex-bot-rolearn
*/
roleArn: string;
/**
* Indicates whether Amazon Lex V2 should automatically build the locales for the bot after a change.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-bot.html#cfn-lex-bot-autobuildbotlocales
*/
autoBuildBotLocales: boolean | cdk.IResolvable | undefined;
/**
* The Amazon S3 location of files used to import a bot. The files must be in the import format specified in [JSON format for importing and exporting](https://docs.aws.amazon.com/lexv2/latest/dg/import-export-format.html) in the *Amazon Lex developer guide.*
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-bot.html#cfn-lex-bot-botfiles3location
*/
botFileS3Location: CfnBot.S3LocationProperty | cdk.IResolvable | undefined;
/**
* A list of locales for the bot.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-bot.html#cfn-lex-bot-botlocales
*/
botLocales: Array<CfnBot.BotLocaleProperty | cdk.IResolvable> | cdk.IResolvable | undefined;
/**
* A list of tags to add to the bot. You can only add tags when you import a bot. You can't use the `UpdateBot` operation to update tags. To update tags, use the `TagResource` operation.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-bot.html#cfn-lex-bot-bottags
*/
botTags: Array<cdk.CfnTag | cdk.IResolvable> | cdk.IResolvable | undefined;
/**
* The description of the version.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-bot.html#cfn-lex-bot-description
*/
description: string | undefined;
/**
* Specifies configuration settings for the alias used to test the bot. If the `TestBotAliasSettings` property is not specified, the settings are configured with default values.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-bot.html#cfn-lex-bot-testbotaliassettings
*/
testBotAliasSettings: CfnBot.TestBotAliasSettingsProperty | cdk.IResolvable | undefined;
/**
* A list of tags to add to the test alias for a bot. You can only add tags when you import a bot. You can't use the `UpdateAlias` operation to update tags. To update tags on the test alias, use the `TagResource` operation.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-bot.html#cfn-lex-bot-testbotaliastags
*/
testBotAliasTags: Array<cdk.CfnTag | cdk.IResolvable> | cdk.IResolvable | undefined;
/**
* Create a new `AWS::Lex::Bot`.
*
* @param scope - scope in which this resource is defined
* @param id - scoped id of the resource
* @param props - resource properties
*/
constructor(scope: constructs.Construct, id: string, props: CfnBotProps);
/**
* Examines the CloudFormation resource and discloses attributes.
*
* @param inspector - tree inspector to collect and process attributes
*
*/
inspect(inspector: cdk.TreeInspector): void;
protected get cfnProperties(): {
[key: string]: any;
};
protected renderProperties(props: {
[key: string]: any;
}): {
[key: string]: any;
};
}
export declare namespace CfnBot {
/**
* Provides settings that enable advanced recognition settings for slot values.
*
* @struct
* @stability external
*
* @link 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.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-advancedrecognitionsetting.html#cfn-lex-bot-advancedrecognitionsetting-audiorecognitionstrategy
*/
readonly audioRecognitionStrategy?: string;
}
}
export declare namespace CfnBot {
/**
* Specifies the allowed input types.
*
* @struct
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-allowedinputtypes.html
*/
interface AllowedInputTypesProperty {
/**
* Indicates whether audio input is allowed.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-allowedinputtypes.html#cfn-lex-bot-allowedinputtypes-allowaudioinput
*/
readonly allowAudioInput: boolean | cdk.IResolvable;
/**
* Indicates whether DTMF input is allowed.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-allowedinputtypes.html#cfn-lex-bot-allowedinputtypes-allowdtmfinput
*/
readonly allowDtmfInput: boolean | cdk.IResolvable;
}
}
export declare namespace CfnBot {
/**
* Specifies the audio and DTMF input specification.
*
* @struct
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-audioanddtmfinputspecification.html
*/
interface AudioAndDTMFInputSpecificationProperty {
/**
* Specifies the settings on audio input.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-audioanddtmfinputspecification.html#cfn-lex-bot-audioanddtmfinputspecification-audiospecification
*/
readonly audioSpecification?: CfnBot.AudioSpecificationProperty | cdk.IResolvable;
/**
* Specifies the settings on DTMF input.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-audioanddtmfinputspecification.html#cfn-lex-bot-audioanddtmfinputspecification-dtmfspecification
*/
readonly dtmfSpecification?: CfnBot.DTMFSpecificationProperty | cdk.IResolvable;
/**
* Time for which a bot waits before assuming that the customer isn't going to speak or press a key. This timeout is shared between Audio and DTMF inputs.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-audioanddtmfinputspecification.html#cfn-lex-bot-audioanddtmfinputspecification-starttimeoutms
*/
readonly startTimeoutMs: number;
}
}
export declare namespace CfnBot {
/**
* The location of audio log files collected when conversation logging is enabled for a bot.
*
* @struct
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-audiologdestination.html
*/
interface AudioLogDestinationProperty {
/**
* Specifies the Amazon S3 bucket where the audio files are stored.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-audiologdestination.html#cfn-lex-bot-audiologdestination-s3bucket
*/
readonly s3Bucket: CfnBot.S3BucketLogDestinationProperty | cdk.IResolvable;
}
}
export declare namespace CfnBot {
/**
* Settings for logging audio of conversations between Amazon Lex and a user. You specify whether to log audio and the Amazon S3 bucket where the audio file is stored.
*
* @struct
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-audiologsetting.html
*/
interface AudioLogSettingProperty {
/**
* Specifies the location of the audio log files collected when conversation logging is enabled for a bot.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-audiologsetting.html#cfn-lex-bot-audiologsetting-destination
*/
readonly destination: CfnBot.AudioLogDestinationProperty | cdk.IResolvable;
/**
* Determines whether audio logging in enabled for the bot.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-audiologsetting.html#cfn-lex-bot-audiologsetting-enabled
*/
readonly enabled: boolean | cdk.IResolvable;
}
}
export declare namespace CfnBot {
/**
* Specifies the audio input specifications.
*
* @struct
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-audiospecification.html
*/
interface AudioSpecificationProperty {
/**
* Time for which a bot waits after the customer stops speaking to assume the utterance is finished.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-audiospecification.html#cfn-lex-bot-audiospecification-endtimeoutms
*/
readonly endTimeoutMs: number;
/**
* Time for how long Amazon Lex waits before speech input is truncated and the speech is returned to application.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-audiospecification.html#cfn-lex-bot-audiospecification-maxlengthms
*/
readonly maxLengthMs: number;
}
}
export declare namespace CfnBot {
/**
* Specifies settings that are unique to a locale. For example, you can use different Lambda function depending on the bot's locale.
*
* @struct
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-botaliaslocalesettings.html
*/
interface BotAliasLocaleSettingsProperty {
/**
* Specifies the Lambda function that should be used in the locale.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-botaliaslocalesettings.html#cfn-lex-bot-botaliaslocalesettings-codehookspecification
*/
readonly codeHookSpecification?: CfnBot.CodeHookSpecificationProperty | cdk.IResolvable;
/**
* Determines whether the locale is enabled for the bot. If the value is `false` , the locale isn't available for use.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-botaliaslocalesettings.html#cfn-lex-bot-botaliaslocalesettings-enabled
*/
readonly enabled: boolean | cdk.IResolvable;
}
}
export declare namespace CfnBot {
/**
* Specifies locale settings for a single locale.
*
* @struct
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-botaliaslocalesettingsitem.html
*/
interface BotAliasLocaleSettingsItemProperty {
/**
* Specifies locale settings for a locale.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-botaliaslocalesettingsitem.html#cfn-lex-bot-botaliaslocalesettingsitem-botaliaslocalesetting
*/
readonly botAliasLocaleSetting: CfnBot.BotAliasLocaleSettingsProperty | cdk.IResolvable;
/**
* Specifies the locale that the settings apply to.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-botaliaslocalesettingsitem.html#cfn-lex-bot-botaliaslocalesettingsitem-localeid
*/
readonly localeId: string;
}
}
export declare namespace CfnBot {
/**
* Provides configuration information for a locale.
*
* @struct
* @stability external
*
* @link 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.
*
* @link 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.
*
* @link 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.
*
* @link 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.
*
* @link 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.
*
* @link 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.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-botlocale.html#cfn-lex-bot-botlocale-slottypes
*/
readonly slotTypes?: Array<CfnBot.SlotTypeProperty | cdk.IResolvable> | cdk.IResolvable;
/**
* Defines settings for using an Amazon Polly voice to communicate with a user.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-botlocale.html#cfn-lex-bot-botlocale-voicesettings
*/
readonly voiceSettings?: CfnBot.VoiceSettingsProperty | cdk.IResolvable;
}
}
export declare namespace CfnBot {
/**
* Describes a button to use on a response card used to gather slot values from a user.
*
* @struct
* @stability external
*
* @link 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.
*
* @link 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.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-button.html#cfn-lex-bot-button-value
*/
readonly value: string;
}
}
export declare namespace CfnBot {
/**
* The Amazon CloudWatch Logs log group where the text and metadata logs are delivered. The log group must exist before you enable logging.
*
* @struct
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-cloudwatchloggrouplogdestination.html
*/
interface CloudWatchLogGroupLogDestinationProperty {
/**
* The Amazon Resource Name (ARN) of the log group where text and metadata logs are delivered.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-cloudwatchloggrouplogdestination.html#cfn-lex-bot-cloudwatchloggrouplogdestination-cloudwatchloggrouparn
*/
readonly cloudWatchLogGroupArn: string;
/**
* The prefix of the log stream name within the log group that you specified
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-cloudwatchloggrouplogdestination.html#cfn-lex-bot-cloudwatchloggrouplogdestination-logprefix
*/
readonly logPrefix: string;
}
}
export declare namespace CfnBot {
/**
* Contains information about code hooks that Amazon Lex calls during a conversation.
*
* @struct
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-codehookspecification.html
*/
interface CodeHookSpecificationProperty {
/**
* Specifies a Lambda function that verifies requests to a bot or fulfills the user's request to a bot.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-codehookspecification.html#cfn-lex-bot-codehookspecification-lambdacodehook
*/
readonly lambdaCodeHook: CfnBot.LambdaCodeHookProperty | cdk.IResolvable;
}
}
export declare namespace CfnBot {
/**
* Provides an expression that evaluates to true or false.
*
* @struct
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-condition.html
*/
interface ConditionProperty {
/**
* The expression string that is evaluated.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-condition.html#cfn-lex-bot-condition-expressionstring
*/
readonly expressionString: string;
}
}
export declare namespace CfnBot {
/**
* A set of actions that Amazon Lex should run if the condition is matched.
*
* @struct
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-conditionalbranch.html
*/
interface ConditionalBranchProperty {
/**
* Contains the expression to evaluate. If the condition is true, the branch's actions are taken.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-conditionalbranch.html#cfn-lex-bot-conditionalbranch-condition
*/
readonly condition: CfnBot.ConditionProperty | cdk.IResolvable;
/**
* The name of the branch.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-conditionalbranch.html#cfn-lex-bot-conditionalbranch-name
*/
readonly name: string;
/**
* The next step in the conversation.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-conditionalbranch.html#cfn-lex-bot-conditionalbranch-nextstep
*/
readonly nextStep: CfnBot.DialogStateProperty | cdk.IResolvable;
/**
* Specifies a list of message groups that Amazon Lex uses to respond the user input.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-conditionalbranch.html#cfn-lex-bot-conditionalbranch-response
*/
readonly response?: CfnBot.ResponseSpecificationProperty | cdk.IResolvable;
}
}
export declare namespace CfnBot {
/**
* 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
*
* @link 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.
*
* @link 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.
*
* @link 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.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-conditionalspecification.html#cfn-lex-bot-conditionalspecification-isactive
*/
readonly isActive: boolean | cdk.IResolvable;
}
}
export declare namespace CfnBot {
/**
* Configures conversation logging that saves audio, text, and metadata for the conversations with your users.
*
* @struct
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-conversationlogsettings.html
*/
interface ConversationLogSettingsProperty {
/**
* The Amazon S3 settings for logging audio to an S3 bucket.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-conversationlogsettings.html#cfn-lex-bot-conversationlogsettings-audiologsettings
*/
readonly audioLogSettings?: Array<CfnBot.AudioLogSettingProperty | cdk.IResolvable> | cdk.IResolvable;
/**
* The Amazon CloudWatch Logs settings for logging text and metadata.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-conversationlogsettings.html#cfn-lex-bot-conversationlogsettings-textlogsettings
*/
readonly textLogSettings?: Array<CfnBot.TextLogSettingProperty | cdk.IResolvable> | cdk.IResolvable;
}
}
export declare namespace CfnBot {
/**
* A custom response string that Amazon Lex sends to your application. You define the content and structure the string.
*
* @struct
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-custompayload.html
*/
interface CustomPayloadProperty {
/**
* The string that is sent to your application.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-custompayload.html#cfn-lex-bot-custompayload-value
*/
readonly value: string;
}
}
export declare namespace CfnBot {
/**
* 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
*
* @link 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.
*
* @link 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;
}
}
export declare namespace CfnBot {
/**
* Specifies an entry in a custom vocabulary.
*
* @struct
* @stability external
*
* @link 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.
*
* @link 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.
*
* @link 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.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-customvocabularyitem.html#cfn-lex-bot-customvocabularyitem-weight
*/
readonly weight?: number;
}
}
export declare namespace CfnBot {
/**
* Specifies the DTMF input specifications.
*
* @struct
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-dtmfspecification.html
*/
interface DTMFSpecificationProperty {
/**
* The DTMF character that clears the accumulated DTMF digits and immediately ends the input.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-dtmfspecification.html#cfn-lex-bot-dtmfspecification-deletioncharacter
*/
readonly deletionCharacter: string;
/**
* The DTMF character that immediately ends input. If the user does not press this character, the input ends after the end timeout.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-dtmfspecification.html#cfn-lex-bot-dtmfspecification-endcharacter
*/
readonly endCharacter: string;
/**
* How long the bot should wait after the last DTMF character input before assuming that the input has concluded.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-dtmfspecification.html#cfn-lex-bot-dtmfspecification-endtimeoutms
*/
readonly endTimeoutMs: number;
/**
* The maximum number of DTMF digits allowed in an utterance.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-dtmfspecification.html#cfn-lex-bot-dtmfspecification-maxlength
*/
readonly maxLength: number;
}
}
export declare namespace CfnBot {
/**
* Provides information on additional privacy protections Amazon Lex should use with the bot's data.
*
* @struct
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-dataprivacy.html
*/
interface DataPrivacyProperty {
/**
* For each Amazon Lex bot created with the Amazon Lex Model Building Service, you must specify whether your use of Amazon Lex is related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to the Children's Online Privacy Protection Act (COPPA) by specifying `true` or `false` in the `childDirected` field. By specifying `true` in the `childDirected` field, you confirm that your use of Amazon Lex *is* related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to COPPA. By specifying `false` in the `childDirected` field, you confirm that your use of Amazon Lex *is not* related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to COPPA. You may not specify a default value for the `childDirected` field that does not accurately reflect whether your use of Amazon Lex is related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to COPPA. If your use of Amazon Lex relates to a website, program, or other application that is directed in whole or in part, to children under age 13, you must obtain any required verifiable parental consent under COPPA. For information regarding the use of Amazon Lex in connection with websites, programs, or other applications that are directed or targeted, in whole or in part, to children under age 13, see the [Amazon Lex FAQ](https://docs.aws.amazon.com/lex/faqs#data-security) .
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-dataprivacy.html#cfn-lex-bot-dataprivacy-childdirected
*/
readonly childDirected: boolean | cdk.IResolvable;
}
}
export declare namespace CfnBot {
/**
* A set of actions that Amazon Lex should run if none of the other conditions are met.
*
* @struct
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-defaultconditionalbranch.html
*/
interface DefaultConditionalBranchProperty {
/**
* The next step in the conversation.
*
* @link 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.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-defaultconditionalbranch.html#cfn-lex-bot-defaultconditionalbranch-response
*/
readonly response?: CfnBot.ResponseSpecificationProperty | cdk.IResolvable;
}
}
export declare namespace CfnBot {
/**
* Defines the action that the bot executes at runtime when the conversation reaches this step.
*
* @struct
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-dialogaction.html
*/
interface DialogActionProperty {
/**
* If the dialog action is `ElicitSlot` , defines the slot to elicit from the user.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-dialogaction.html#cfn-lex-bot-dialogaction-slottoelicit
*/
readonly slotToElicit?: string;
/**
* When true the next message for the intent is not used.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-dialogaction.html#cfn-lex-bot-dialogaction-suppressnextmessage
*/
readonly suppressNextMessage?: boolean | cdk.IResolvable;
/**
* The action that the bot should execute.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-dialogaction.html#cfn-lex-bot-dialogaction-type
*/
readonly type: string;
}
}
export declare namespace CfnBot {
/**
* Settings that specify the dialog code hook that is called by Amazon Lex at a step of the conversation.
*
* @struct
* @stability external
*
* @link 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.
*
* @link 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.
*
* @link 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.
*
* @link 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.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-dialogcodehookinvocationsetting.html#cfn-lex-bot-dialogcodehookinvocationsetting-postcodehookspecification
*/
readonly postCodeHookSpecification: CfnBot.PostDialogCodeHookInvocationSpecificationProperty | cdk.IResolvable;
}
}
export declare namespace CfnBot {
/**
* Settings that determine the Lambda function that Amazon Lex uses for processing user responses.
*
* @struct
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-dialogcodehooksetting.html
*/
interface DialogCodeHookSettingProperty {
/**
* Enables the dialog code hook so that it processes user requests.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-dialogcodehooksetting.html#cfn-lex-bot-dialogcodehooksetting-enabled
*/
readonly enabled: boolean | cdk.IResolvable;
}
}
export declare namespace CfnBot {
/**
* The current state of the conversation with the user.
*
* @struct
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-dialogstate.html
*/
interface DialogStateProperty {
/**
* Defines the action that the bot executes at runtime when the conversation reaches this step.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-dialogstate.html#cfn-lex-bot-dialogstate-dialogaction
*/
readonly dialogAction?: CfnBot.DialogActionProperty | cdk.IResolvable;
/**
* Override settings to configure the intent state.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-dialogstate.html#cfn-lex-bot-dialogstate-intent
*/
readonly intent?: CfnBot.IntentOverrideProperty | cdk.IResolvable;
/**
* Map of key/value pairs representing session-specific context information. It contains application information passed between Amazon Lex and a client application.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-dialogstate.html#cfn-lex-bot-dialogstate-sessionattributes
*/
readonly sessionAttributes?: Array<CfnBot.SessionAttributeProperty | cdk.IResolvable> | cdk.IResolvable;
}
}
export declare namespace CfnBot {
/**
* Settings that specify the dialog code hook that is called by Amazon Lex between eliciting slot values.
*
* @struct
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-elicitationcodehookinvocationsetting.html
*/
interface ElicitationCodeHookInvocationSettingProperty {
/**
* Indicates whether a Lambda function should be invoked for the dialog.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-elicitationcodehookinvocationsetting.html#cfn-lex-bot-elicitationcodehookinvocationsetting-enablecodehookinvocation
*/
readonly enableCodeHookInvocation: boolean | cdk.IResolvable;
/**
* A label that indicates the dialog step from which the dialog code hook is happening.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-elicitationcodehookinvocationsetting.html#cfn-lex-bot-elicitationcodehookinvocationsetting-invocationlabel
*/
readonly invocationLabel?: string;
}
}
export declare namespace CfnBot {
/**
* Provides information about the external source of the slot type's definition.
*
* @struct
* @stability external
*
* @link 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.
*
* @link 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;
}
}
export declare namespace CfnBot {
/**
* Determines if a Lambda function should be invoked for a specific intent.
*
* @struct
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-fulfillmentcodehooksetting.html
*/
interface FulfillmentCodeHookSettingProperty {
/**
* Indicates whether a Lambda function should be invoked to fulfill a specific intent.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-fulfillmentcodehooksetting.html#cfn-lex-bot-fulfillmentcodehooksetting-enabled
*/
readonly enabled: boolean | cdk.IResolvable;
/**
* Provides settings for update messages sent to the user for long-running Lambda fulfillment functions. Fulfillment updates can be used only with streaming conversations.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-fulfillmentcodehooksetting.html#cfn-lex-bot-fulfillmentcodehooksetting-fulfillmentupdatesspecification
*/
readonly fulfillmentUpdatesSpecification?: CfnBot.FulfillmentUpdatesSpecificationProperty | cdk.IResolvable;
/**
* Determines whether the fulfillment code hook is used. When `active` is false, the code hook doesn't run.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-fulfillmentcodehooksetting.html#cfn-lex-bot-fulfillmentcodehooksetting-isactive
*/
readonly isActive?: boolean | cdk.IResolvable;
/**
* 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.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-fulfillmentcodehooksetting.html#cfn-lex-bot-fulfillmentcodehooksetting-postfulfillmentstatusspecification
*/
readonly postFulfillmentStatusSpecification?: CfnBot.PostFulfillmentStatusSpecificationProperty | cdk.IResolvable;
}
}
export declare namespace CfnBot {
/**
* Provides settings for a message that is sent to the user when a fulfillment Lambda function starts running.
*
* @struct
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-fulfillmentstartresponsespecification.html
*/
interface FulfillmentStartResponseSpecificationProperty {
/**
* Determines whether the user can interrupt the start message while it is playing.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-fulfillmentstartresponsespecification.html#cfn-lex-bot-fulfillmentstartresponsespecification-allowinterrupt
*/
readonly allowInterrupt?: boolean | cdk.IResolvable;
/**
* 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.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-fulfillmentstartresponsespecification.html#cfn-lex-bot-fulfillmentstartresponsespecification-delayinseconds
*/
readonly delayInSeconds: number;
/**
* 1 - 5 message groups that contain start messages. Amazon Lex chooses one of the messages to play to the user.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-fulfillmentstartresponsespecification.html#cfn-lex-bot-fulfillmentstartresponsespecification-messagegroups
*/
readonly messageGroups: Array<CfnBot.MessageGroupProperty | cdk.IResolvable> | cdk.IResolvable;
}
}
export declare namespace CfnBot {
/**
* Provides settings for a message that is sent periodically to the user while a fulfillment Lambda function is running.
*
* @struct
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot