awslex

package
v2.94.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 1, 2023 License: Apache-2.0 Imports: 7 Imported by: 0

README

AWS::Lex Construct Library

This module is part of the AWS Cloud Development Kit project.

import lex "github.com/aws/aws-cdk-go/awscdk"

There are no official hand-written (L2) constructs for this service yet. Here are some suggestions on how to proceed:

There are no hand-written (L2) constructs for this service yet. However, you can still use the automatically generated L1 constructs, and use this service exactly as you would using CloudFormation directly.

For more information on the resources and properties available for this service, see the CloudFormation documentation for AWS::Lex.

(Read the CDK Contributing Guide and submit an RFC if you are interested in contributing to this construct library.)

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CfnBotAlias_CFN_RESOURCE_TYPE_NAME

func CfnBotAlias_CFN_RESOURCE_TYPE_NAME() *string

func CfnBotAlias_IsCfnElement

func CfnBotAlias_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnBotAlias_IsCfnResource

func CfnBotAlias_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

func CfnBotAlias_IsConstruct

func CfnBotAlias_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`.

func CfnBotVersion_CFN_RESOURCE_TYPE_NAME

func CfnBotVersion_CFN_RESOURCE_TYPE_NAME() *string

func CfnBotVersion_IsCfnElement

func CfnBotVersion_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnBotVersion_IsCfnResource

func CfnBotVersion_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

func CfnBotVersion_IsConstruct

func CfnBotVersion_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`.

func CfnBot_CFN_RESOURCE_TYPE_NAME

func CfnBot_CFN_RESOURCE_TYPE_NAME() *string

func CfnBot_IsCfnElement

func CfnBot_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnBot_IsCfnResource

func CfnBot_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

func CfnBot_IsConstruct

func CfnBot_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`.

func CfnResourcePolicy_CFN_RESOURCE_TYPE_NAME

func CfnResourcePolicy_CFN_RESOURCE_TYPE_NAME() *string

func CfnResourcePolicy_IsCfnElement

func CfnResourcePolicy_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnResourcePolicy_IsCfnResource

func CfnResourcePolicy_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

func CfnResourcePolicy_IsConstruct

func CfnResourcePolicy_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`.

func NewCfnBotAlias_Override

func NewCfnBotAlias_Override(c CfnBotAlias, scope constructs.Construct, id *string, props *CfnBotAliasProps)

func NewCfnBotVersion_Override

func NewCfnBotVersion_Override(c CfnBotVersion, scope constructs.Construct, id *string, props *CfnBotVersionProps)

func NewCfnBot_Override

func NewCfnBot_Override(c CfnBot, scope constructs.Construct, id *string, props *CfnBotProps)

func NewCfnResourcePolicy_Override

func NewCfnResourcePolicy_Override(c CfnResourcePolicy, scope constructs.Construct, id *string, props *CfnResourcePolicyProps)

Types

type CfnBot

type CfnBot interface {
	awscdk.CfnResource
	awscdk.IInspectable
	// The Amazon Resource Name (ARN) of the bot.
	AttrArn() *string
	// The unique identifier of the bot.
	AttrId() *string
	// Indicates whether Amazon Lex V2 should automatically build the locales for the bot after a change.
	AutoBuildBotLocales() interface{}
	SetAutoBuildBotLocales(val interface{})
	// The Amazon S3 location of files used to import a bot.
	BotFileS3Location() interface{}
	SetBotFileS3Location(val interface{})
	// A list of locales for the bot.
	BotLocales() interface{}
	SetBotLocales(val interface{})
	// A list of tags to add to the bot.
	BotTags() interface{}
	SetBotTags(val interface{})
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	CfnResourceType() *string
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	CreationStack() *[]*string
	// By default, data stored by Amazon Lex is encrypted.
	DataPrivacy() interface{}
	SetDataPrivacy(val interface{})
	// The description of the version.
	Description() *string
	SetDescription(val *string)
	// The time, in seconds, that Amazon Lex should keep information about a user's conversation with the bot.
	IdleSessionTtlInSeconds() *float64
	SetIdleSessionTtlInSeconds(val *float64)
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	LogicalId() *string
	// The name of the bot locale.
	Name() *string
	SetName(val *string)
	// The tree node.
	Node() constructs.Node
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	Ref() *string
	// The Amazon Resource Name (ARN) of the IAM role used to build and run the bot.
	RoleArn() *string
	SetRoleArn(val *string)
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// Specifies configuration settings for the alias used to test the bot.
	TestBotAliasSettings() interface{}
	SetTestBotAliasSettings(val interface{})
	// A list of tags to add to the test alias for a bot.
	TestBotAliasTags() interface{}
	SetTestBotAliasTags(val interface{})
	// Deprecated.
	// Deprecated: use `updatedProperties`
	//
	// Return properties modified after initiation
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperites() *map[string]interface{}
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperties() *map[string]interface{}
	// Syntactic sugar for `addOverride(path, undefined)`.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	AddDependency(target awscdk.CfnResource)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	// Deprecated: use addDependency.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//   "GlobalSecondaryIndexes": [
	//     {
	//       "Projection": {
	//         "NonKeyAttributes": [ "myattribute" ]
	//         ...
	//       }
	//       ...
	//     },
	//     {
	//       "ProjectionType": "INCLUDE"
	//       ...
	//     },
	//   ]
	//   ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// The Removal Policy controls what happens to this resource when it stops
	// being managed by CloudFormation, either because you've removed it from the
	// CDK application or because you've made a change that requires the resource
	// to be replaced.
	//
	// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
	// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some
	// cases, a snapshot can be taken of the resource prior to deletion
	// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
	// can be found in the following link:.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
	//
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Retrieves an array of resources this resource depends on.
	//
	// This assembles dependencies on resources across stacks (including nested stacks)
	// automatically.
	ObtainDependencies() *[]interface{}
	// Get a shallow copy of dependencies between this resource and other resources in the same stack.
	ObtainResourceDependencies() *[]awscdk.CfnResource
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	// Indicates that this resource no longer depends on another resource.
	//
	// This can be used for resources across stacks (including nested stacks)
	// and the dependency will automatically be removed from the relevant scope.
	RemoveDependency(target awscdk.CfnResource)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Replaces one dependency with another.
	ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	ShouldSynthesize() *bool
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	ValidateProperties(_properties interface{})
}

> 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.

Example:

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-bot.html

func NewCfnBot

func NewCfnBot(scope constructs.Construct, id *string, props *CfnBotProps) CfnBot

type CfnBotAlias

type CfnBotAlias interface {
	awscdk.CfnResource
	awscdk.IInspectable
	// The Amazon Resource Name (ARN) of the bot alias.
	AttrArn() *string
	// The unique identifier of the bot alias.
	AttrBotAliasId() *string
	// The current status of the bot alias.
	//
	// When the status is Available the alias is ready for use with your bot.
	AttrBotAliasStatus() *string
	// Specifies settings that are unique to a locale.
	BotAliasLocaleSettings() interface{}
	SetBotAliasLocaleSettings(val interface{})
	// The name of the bot alias.
	BotAliasName() *string
	SetBotAliasName(val *string)
	// An array of key-value pairs to apply to this resource.
	BotAliasTags() interface{}
	SetBotAliasTags(val interface{})
	// The unique identifier of the bot.
	BotId() *string
	SetBotId(val *string)
	// The version of the bot that the bot alias references.
	BotVersion() *string
	SetBotVersion(val *string)
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	CfnResourceType() *string
	// Specifies whether Amazon Lex logs text and audio for conversations with the bot.
	ConversationLogSettings() interface{}
	SetConversationLogSettings(val interface{})
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	CreationStack() *[]*string
	// The description of the bot alias.
	Description() *string
	SetDescription(val *string)
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	LogicalId() *string
	// The tree node.
	Node() constructs.Node
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	Ref() *string
	// Determines whether Amazon Lex will use Amazon Comprehend to detect the sentiment of user utterances.
	SentimentAnalysisSettings() interface{}
	SetSentimentAnalysisSettings(val interface{})
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// Deprecated.
	// Deprecated: use `updatedProperties`
	//
	// Return properties modified after initiation
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperites() *map[string]interface{}
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperties() *map[string]interface{}
	// Syntactic sugar for `addOverride(path, undefined)`.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	AddDependency(target awscdk.CfnResource)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	// Deprecated: use addDependency.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//   "GlobalSecondaryIndexes": [
	//     {
	//       "Projection": {
	//         "NonKeyAttributes": [ "myattribute" ]
	//         ...
	//       }
	//       ...
	//     },
	//     {
	//       "ProjectionType": "INCLUDE"
	//       ...
	//     },
	//   ]
	//   ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// The Removal Policy controls what happens to this resource when it stops
	// being managed by CloudFormation, either because you've removed it from the
	// CDK application or because you've made a change that requires the resource
	// to be replaced.
	//
	// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
	// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some
	// cases, a snapshot can be taken of the resource prior to deletion
	// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
	// can be found in the following link:.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
	//
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Retrieves an array of resources this resource depends on.
	//
	// This assembles dependencies on resources across stacks (including nested stacks)
	// automatically.
	ObtainDependencies() *[]interface{}
	// Get a shallow copy of dependencies between this resource and other resources in the same stack.
	ObtainResourceDependencies() *[]awscdk.CfnResource
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	// Indicates that this resource no longer depends on another resource.
	//
	// This can be used for resources across stacks (including nested stacks)
	// and the dependency will automatically be removed from the relevant scope.
	RemoveDependency(target awscdk.CfnResource)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Replaces one dependency with another.
	ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	ShouldSynthesize() *bool
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	ValidateProperties(_properties interface{})
}

> Amazon Lex V2 is the only supported version in AWS CloudFormation .

Specifies an alias for the specified version of a bot. Use an alias to enable you to change the version of a bot without updating applications that use the bot.

For example, you can specify an alias called "PROD" that your applications use to call the Amazon Lex bot.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

var sentimentAnalysisSettings interface{}

cfnBotAlias := awscdk.Aws_lex.NewCfnBotAlias(this, jsii.String("MyCfnBotAlias"), &CfnBotAliasProps{
	BotAliasName: jsii.String("botAliasName"),
	BotId: jsii.String("botId"),

	// the properties below are optional
	BotAliasLocaleSettings: []interface{}{
		&BotAliasLocaleSettingsItemProperty{
			BotAliasLocaleSetting: &BotAliasLocaleSettingsProperty{
				Enabled: jsii.Boolean(false),

				// the properties below are optional
				CodeHookSpecification: &CodeHookSpecificationProperty{
					LambdaCodeHook: &LambdaCodeHookProperty{
						CodeHookInterfaceVersion: jsii.String("codeHookInterfaceVersion"),
						LambdaArn: jsii.String("lambdaArn"),
					},
				},
			},
			LocaleId: jsii.String("localeId"),
		},
	},
	BotAliasTags: []interface{}{
		&CfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
	BotVersion: jsii.String("botVersion"),
	ConversationLogSettings: &ConversationLogSettingsProperty{
		AudioLogSettings: []interface{}{
			&AudioLogSettingProperty{
				Destination: &AudioLogDestinationProperty{
					S3Bucket: &S3BucketLogDestinationProperty{
						LogPrefix: jsii.String("logPrefix"),
						S3BucketArn: jsii.String("s3BucketArn"),

						// the properties below are optional
						KmsKeyArn: jsii.String("kmsKeyArn"),
					},
				},
				Enabled: jsii.Boolean(false),
			},
		},
		TextLogSettings: []interface{}{
			&TextLogSettingProperty{
				Destination: &TextLogDestinationProperty{
					CloudWatch: &CloudWatchLogGroupLogDestinationProperty{
						CloudWatchLogGroupArn: jsii.String("cloudWatchLogGroupArn"),
						LogPrefix: jsii.String("logPrefix"),
					},
				},
				Enabled: jsii.Boolean(false),
			},
		},
	},
	Description: jsii.String("description"),
	SentimentAnalysisSettings: sentimentAnalysisSettings,
})

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-botalias.html

func NewCfnBotAlias

func NewCfnBotAlias(scope constructs.Construct, id *string, props *CfnBotAliasProps) CfnBotAlias

type CfnBotAliasProps

type CfnBotAliasProps struct {
	// The name of the bot alias.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-botalias.html#cfn-lex-botalias-botaliasname
	//
	BotAliasName *string `field:"required" json:"botAliasName" yaml:"botAliasName"`
	// The unique identifier of the bot.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-botalias.html#cfn-lex-botalias-botid
	//
	BotId *string `field:"required" json:"botId" yaml:"botId"`
	// Specifies settings that are unique to a locale.
	//
	// For example, you can use different Lambda function depending on the bot's locale.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-botalias.html#cfn-lex-botalias-botaliaslocalesettings
	//
	BotAliasLocaleSettings interface{} `field:"optional" json:"botAliasLocaleSettings" yaml:"botAliasLocaleSettings"`
	// An array of key-value pairs to apply to this resource.
	//
	// You can only add tags when you specify an alias.
	//
	// For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-botalias.html#cfn-lex-botalias-botaliastags
	//
	BotAliasTags interface{} `field:"optional" json:"botAliasTags" yaml:"botAliasTags"`
	// The version of the bot that the bot alias references.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-botalias.html#cfn-lex-botalias-botversion
	//
	BotVersion *string `field:"optional" json:"botVersion" yaml:"botVersion"`
	// Specifies whether Amazon Lex logs text and audio for conversations with the bot.
	//
	// When you enable conversation logs, text logs store text input, transcripts of audio input, and associated metadata in Amazon CloudWatch logs. Audio logs store input in Amazon S3 .
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-botalias.html#cfn-lex-botalias-conversationlogsettings
	//
	ConversationLogSettings interface{} `field:"optional" json:"conversationLogSettings" yaml:"conversationLogSettings"`
	// The description of the bot alias.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-botalias.html#cfn-lex-botalias-description
	//
	Description *string `field:"optional" json:"description" yaml:"description"`
	// Determines whether Amazon Lex will use Amazon Comprehend to detect the sentiment of user utterances.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-botalias.html#cfn-lex-botalias-sentimentanalysissettings
	//
	SentimentAnalysisSettings interface{} `field:"optional" json:"sentimentAnalysisSettings" yaml:"sentimentAnalysisSettings"`
}

Properties for defining a `CfnBotAlias`.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

var sentimentAnalysisSettings interface{}

cfnBotAliasProps := &CfnBotAliasProps{
	BotAliasName: jsii.String("botAliasName"),
	BotId: jsii.String("botId"),

	// the properties below are optional
	BotAliasLocaleSettings: []interface{}{
		&BotAliasLocaleSettingsItemProperty{
			BotAliasLocaleSetting: &BotAliasLocaleSettingsProperty{
				Enabled: jsii.Boolean(false),

				// the properties below are optional
				CodeHookSpecification: &CodeHookSpecificationProperty{
					LambdaCodeHook: &LambdaCodeHookProperty{
						CodeHookInterfaceVersion: jsii.String("codeHookInterfaceVersion"),
						LambdaArn: jsii.String("lambdaArn"),
					},
				},
			},
			LocaleId: jsii.String("localeId"),
		},
	},
	BotAliasTags: []interface{}{
		&CfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
	BotVersion: jsii.String("botVersion"),
	ConversationLogSettings: &ConversationLogSettingsProperty{
		AudioLogSettings: []interface{}{
			&AudioLogSettingProperty{
				Destination: &AudioLogDestinationProperty{
					S3Bucket: &S3BucketLogDestinationProperty{
						LogPrefix: jsii.String("logPrefix"),
						S3BucketArn: jsii.String("s3BucketArn"),

						// the properties below are optional
						KmsKeyArn: jsii.String("kmsKeyArn"),
					},
				},
				Enabled: jsii.Boolean(false),
			},
		},
		TextLogSettings: []interface{}{
			&TextLogSettingProperty{
				Destination: &TextLogDestinationProperty{
					CloudWatch: &CloudWatchLogGroupLogDestinationProperty{
						CloudWatchLogGroupArn: jsii.String("cloudWatchLogGroupArn"),
						LogPrefix: jsii.String("logPrefix"),
					},
				},
				Enabled: jsii.Boolean(false),
			},
		},
	},
	Description: jsii.String("description"),
	SentimentAnalysisSettings: sentimentAnalysisSettings,
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-botalias.html

type CfnBotAlias_AudioLogDestinationProperty

type CfnBotAlias_AudioLogDestinationProperty struct {
	// The S3 bucket location where audio logs are stored.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-botalias-audiologdestination.html#cfn-lex-botalias-audiologdestination-s3bucket
	//
	S3Bucket interface{} `field:"required" json:"s3Bucket" yaml:"s3Bucket"`
}

Specifies the S3 bucket location where audio logs are stored.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

audioLogDestinationProperty := &AudioLogDestinationProperty{
	S3Bucket: &S3BucketLogDestinationProperty{
		LogPrefix: jsii.String("logPrefix"),
		S3BucketArn: jsii.String("s3BucketArn"),

		// the properties below are optional
		KmsKeyArn: jsii.String("kmsKeyArn"),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-botalias-audiologdestination.html

type CfnBotAlias_AudioLogSettingProperty

type CfnBotAlias_AudioLogSettingProperty struct {
	// The location of audio log files collected when conversation logging is enabled for a bot.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-botalias-audiologsetting.html#cfn-lex-botalias-audiologsetting-destination
	//
	Destination interface{} `field:"required" json:"destination" yaml:"destination"`
	// Determines whether audio logging in enabled for the bot.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-botalias-audiologsetting.html#cfn-lex-botalias-audiologsetting-enabled
	//
	Enabled interface{} `field:"required" json:"enabled" yaml:"enabled"`
}

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.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

audioLogSettingProperty := &AudioLogSettingProperty{
	Destination: &AudioLogDestinationProperty{
		S3Bucket: &S3BucketLogDestinationProperty{
			LogPrefix: jsii.String("logPrefix"),
			S3BucketArn: jsii.String("s3BucketArn"),

			// the properties below are optional
			KmsKeyArn: jsii.String("kmsKeyArn"),
		},
	},
	Enabled: jsii.Boolean(false),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-botalias-audiologsetting.html

type CfnBotAlias_BotAliasLocaleSettingsItemProperty

type CfnBotAlias_BotAliasLocaleSettingsItemProperty struct {
	// Specifies settings that are unique to a locale.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-botalias-botaliaslocalesettingsitem.html#cfn-lex-botalias-botaliaslocalesettingsitem-botaliaslocalesetting
	//
	BotAliasLocaleSetting interface{} `field:"required" json:"botAliasLocaleSetting" yaml:"botAliasLocaleSetting"`
	// The unique identifier of the locale.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-botalias-botaliaslocalesettingsitem.html#cfn-lex-botalias-botaliaslocalesettingsitem-localeid
	//
	LocaleId *string `field:"required" json:"localeId" yaml:"localeId"`
}

Specifies settings that are unique to a locale.

For example, you can use different Lambda function depending on the bot's locale.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

botAliasLocaleSettingsItemProperty := &BotAliasLocaleSettingsItemProperty{
	BotAliasLocaleSetting: &BotAliasLocaleSettingsProperty{
		Enabled: jsii.Boolean(false),

		// the properties below are optional
		CodeHookSpecification: &CodeHookSpecificationProperty{
			LambdaCodeHook: &LambdaCodeHookProperty{
				CodeHookInterfaceVersion: jsii.String("codeHookInterfaceVersion"),
				LambdaArn: jsii.String("lambdaArn"),
			},
		},
	},
	LocaleId: jsii.String("localeId"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-botalias-botaliaslocalesettingsitem.html

type CfnBotAlias_BotAliasLocaleSettingsProperty

type CfnBotAlias_BotAliasLocaleSettingsProperty struct {
	// Determines whether the locale is enabled for the bot.
	//
	// If the value is `false` , the locale isn't available for use.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-botalias-botaliaslocalesettings.html#cfn-lex-botalias-botaliaslocalesettings-enabled
	//
	Enabled interface{} `field:"required" json:"enabled" yaml:"enabled"`
	// Specifies the Lambda function that should be used in the locale.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-botalias-botaliaslocalesettings.html#cfn-lex-botalias-botaliaslocalesettings-codehookspecification
	//
	CodeHookSpecification interface{} `field:"optional" json:"codeHookSpecification" yaml:"codeHookSpecification"`
}

Specifies settings that are unique to a locale.

For example, you can use different Lambda function depending on the bot's locale.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

botAliasLocaleSettingsProperty := &BotAliasLocaleSettingsProperty{
	Enabled: jsii.Boolean(false),

	// the properties below are optional
	CodeHookSpecification: &CodeHookSpecificationProperty{
		LambdaCodeHook: &LambdaCodeHookProperty{
			CodeHookInterfaceVersion: jsii.String("codeHookInterfaceVersion"),
			LambdaArn: jsii.String("lambdaArn"),
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-botalias-botaliaslocalesettings.html

type CfnBotAlias_CloudWatchLogGroupLogDestinationProperty

type CfnBotAlias_CloudWatchLogGroupLogDestinationProperty struct {
	// The Amazon Resource Name (ARN) of the log group where text and metadata logs are delivered.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-botalias-cloudwatchloggrouplogdestination.html#cfn-lex-botalias-cloudwatchloggrouplogdestination-cloudwatchloggrouparn
	//
	CloudWatchLogGroupArn *string `field:"required" json:"cloudWatchLogGroupArn" yaml:"cloudWatchLogGroupArn"`
	// The prefix of the log stream name within the log group that you specified.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-botalias-cloudwatchloggrouplogdestination.html#cfn-lex-botalias-cloudwatchloggrouplogdestination-logprefix
	//
	LogPrefix *string `field:"required" json:"logPrefix" yaml:"logPrefix"`
}

The Amazon CloudWatch Logs log group where the text and metadata logs are delivered.

The log group must exist before you enable logging.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

cloudWatchLogGroupLogDestinationProperty := &CloudWatchLogGroupLogDestinationProperty{
	CloudWatchLogGroupArn: jsii.String("cloudWatchLogGroupArn"),
	LogPrefix: jsii.String("logPrefix"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-botalias-cloudwatchloggrouplogdestination.html

type CfnBotAlias_CodeHookSpecificationProperty

type CfnBotAlias_CodeHookSpecificationProperty struct {
	// Specifies a Lambda function that verifies requests to a bot or fulfills the user's request to a bot.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-botalias-codehookspecification.html#cfn-lex-botalias-codehookspecification-lambdacodehook
	//
	LambdaCodeHook interface{} `field:"required" json:"lambdaCodeHook" yaml:"lambdaCodeHook"`
}

Contains information about code hooks that Amazon Lex calls during a conversation.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

codeHookSpecificationProperty := &CodeHookSpecificationProperty{
	LambdaCodeHook: &LambdaCodeHookProperty{
		CodeHookInterfaceVersion: jsii.String("codeHookInterfaceVersion"),
		LambdaArn: jsii.String("lambdaArn"),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-botalias-codehookspecification.html

type CfnBotAlias_ConversationLogSettingsProperty

type CfnBotAlias_ConversationLogSettingsProperty struct {
	// The Amazon S3 settings for logging audio to an S3 bucket.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-botalias-conversationlogsettings.html#cfn-lex-botalias-conversationlogsettings-audiologsettings
	//
	AudioLogSettings interface{} `field:"optional" json:"audioLogSettings" yaml:"audioLogSettings"`
	// The Amazon CloudWatch Logs settings for logging text and metadata.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-botalias-conversationlogsettings.html#cfn-lex-botalias-conversationlogsettings-textlogsettings
	//
	TextLogSettings interface{} `field:"optional" json:"textLogSettings" yaml:"textLogSettings"`
}

Configures conversation logging that saves audio, text, and metadata for the conversations with your users.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

conversationLogSettingsProperty := &ConversationLogSettingsProperty{
	AudioLogSettings: []interface{}{
		&AudioLogSettingProperty{
			Destination: &AudioLogDestinationProperty{
				S3Bucket: &S3BucketLogDestinationProperty{
					LogPrefix: jsii.String("logPrefix"),
					S3BucketArn: jsii.String("s3BucketArn"),

					// the properties below are optional
					KmsKeyArn: jsii.String("kmsKeyArn"),
				},
			},
			Enabled: jsii.Boolean(false),
		},
	},
	TextLogSettings: []interface{}{
		&TextLogSettingProperty{
			Destination: &TextLogDestinationProperty{
				CloudWatch: &CloudWatchLogGroupLogDestinationProperty{
					CloudWatchLogGroupArn: jsii.String("cloudWatchLogGroupArn"),
					LogPrefix: jsii.String("logPrefix"),
				},
			},
			Enabled: jsii.Boolean(false),
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-botalias-conversationlogsettings.html

type CfnBotAlias_LambdaCodeHookProperty

type CfnBotAlias_LambdaCodeHookProperty struct {
	// The version of the request-response that you want Amazon Lex to use to invoke your Lambda function.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-botalias-lambdacodehook.html#cfn-lex-botalias-lambdacodehook-codehookinterfaceversion
	//
	CodeHookInterfaceVersion *string `field:"required" json:"codeHookInterfaceVersion" yaml:"codeHookInterfaceVersion"`
	// The Amazon Resource Name (ARN) of the Lambda function.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-botalias-lambdacodehook.html#cfn-lex-botalias-lambdacodehook-lambdaarn
	//
	LambdaArn *string `field:"required" json:"lambdaArn" yaml:"lambdaArn"`
}

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

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

lambdaCodeHookProperty := &LambdaCodeHookProperty{
	CodeHookInterfaceVersion: jsii.String("codeHookInterfaceVersion"),
	LambdaArn: jsii.String("lambdaArn"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-botalias-lambdacodehook.html

type CfnBotAlias_S3BucketLogDestinationProperty

type CfnBotAlias_S3BucketLogDestinationProperty struct {
	// The S3 prefix to assign to audio log files.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-botalias-s3bucketlogdestination.html#cfn-lex-botalias-s3bucketlogdestination-logprefix
	//
	LogPrefix *string `field:"required" json:"logPrefix" yaml:"logPrefix"`
	// The Amazon Resource Name (ARN) of an Amazon S3 bucket where audio log files are stored.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-botalias-s3bucketlogdestination.html#cfn-lex-botalias-s3bucketlogdestination-s3bucketarn
	//
	S3BucketArn *string `field:"required" json:"s3BucketArn" yaml:"s3BucketArn"`
	// The Amazon Resource Name (ARN) of an AWS Key Management Service (KMS) key for encrypting audio log files stored in an Amazon S3 bucket.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-botalias-s3bucketlogdestination.html#cfn-lex-botalias-s3bucketlogdestination-kmskeyarn
	//
	KmsKeyArn *string `field:"optional" json:"kmsKeyArn" yaml:"kmsKeyArn"`
}

Specifies an Amazon S3 bucket for logging audio conversations.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

s3BucketLogDestinationProperty := &S3BucketLogDestinationProperty{
	LogPrefix: jsii.String("logPrefix"),
	S3BucketArn: jsii.String("s3BucketArn"),

	// the properties below are optional
	KmsKeyArn: jsii.String("kmsKeyArn"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-botalias-s3bucketlogdestination.html

type CfnBotAlias_SentimentAnalysisSettingsProperty added in v2.55.0

type CfnBotAlias_SentimentAnalysisSettingsProperty struct {
	// Sets whether Amazon Lex uses Amazon Comprehend to detect the sentiment of user utterances.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-botalias-sentimentanalysissettings.html#cfn-lex-botalias-sentimentanalysissettings-detectsentiment
	//
	DetectSentiment interface{} `field:"required" json:"detectSentiment" yaml:"detectSentiment"`
}

Determines whether Amazon Lex will use Amazon Comprehend to detect the sentiment of user utterances.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

sentimentAnalysisSettingsProperty := &SentimentAnalysisSettingsProperty{
	DetectSentiment: jsii.Boolean(false),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-botalias-sentimentanalysissettings.html

type CfnBotAlias_TextLogDestinationProperty

type CfnBotAlias_TextLogDestinationProperty struct {
	// Defines the Amazon CloudWatch Logs log group where text and metadata logs are delivered.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-botalias-textlogdestination.html#cfn-lex-botalias-textlogdestination-cloudwatch
	//
	CloudWatch interface{} `field:"required" json:"cloudWatch" yaml:"cloudWatch"`
}

Defines the Amazon CloudWatch Logs destination log group for conversation text logs.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

textLogDestinationProperty := &TextLogDestinationProperty{
	CloudWatch: &CloudWatchLogGroupLogDestinationProperty{
		CloudWatchLogGroupArn: jsii.String("cloudWatchLogGroupArn"),
		LogPrefix: jsii.String("logPrefix"),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-botalias-textlogdestination.html

type CfnBotAlias_TextLogSettingProperty

type CfnBotAlias_TextLogSettingProperty struct {
	// Defines the Amazon CloudWatch Logs destination log group for conversation text logs.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-botalias-textlogsetting.html#cfn-lex-botalias-textlogsetting-destination
	//
	Destination interface{} `field:"required" json:"destination" yaml:"destination"`
	// Determines whether conversation logs should be stored for an alias.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-botalias-textlogsetting.html#cfn-lex-botalias-textlogsetting-enabled
	//
	Enabled interface{} `field:"required" json:"enabled" yaml:"enabled"`
}

Defines settings to enable text conversation logs.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

textLogSettingProperty := &TextLogSettingProperty{
	Destination: &TextLogDestinationProperty{
		CloudWatch: &CloudWatchLogGroupLogDestinationProperty{
			CloudWatchLogGroupArn: jsii.String("cloudWatchLogGroupArn"),
			LogPrefix: jsii.String("logPrefix"),
		},
	},
	Enabled: jsii.Boolean(false),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-botalias-textlogsetting.html

type CfnBotProps

type CfnBotProps struct {
	// By default, data stored by Amazon Lex is encrypted.
	//
	// The `DataPrivacy` structure provides settings that determine how Amazon Lex handles special cases of securing the data for your bot.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-bot.html#cfn-lex-bot-dataprivacy
	//
	DataPrivacy interface{} `field:"required" json:"dataPrivacy" yaml:"dataPrivacy"`
	// 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.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-bot.html#cfn-lex-bot-idlesessionttlinseconds
	//
	IdleSessionTtlInSeconds *float64 `field:"required" json:"idleSessionTtlInSeconds" yaml:"idleSessionTtlInSeconds"`
	// The name of the bot locale.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-bot.html#cfn-lex-bot-name
	//
	Name *string `field:"required" json:"name" yaml:"name"`
	// The Amazon Resource Name (ARN) of the IAM role used to build and run the bot.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-bot.html#cfn-lex-bot-rolearn
	//
	RoleArn *string `field:"required" json:"roleArn" yaml:"roleArn"`
	// Indicates whether Amazon Lex V2 should automatically build the locales for the bot after a change.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-bot.html#cfn-lex-bot-autobuildbotlocales
	//
	AutoBuildBotLocales interface{} `field:"optional" json:"autoBuildBotLocales" yaml:"autoBuildBotLocales"`
	// 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.*
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-bot.html#cfn-lex-bot-botfiles3location
	//
	BotFileS3Location interface{} `field:"optional" json:"botFileS3Location" yaml:"botFileS3Location"`
	// A list of locales for the bot.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-bot.html#cfn-lex-bot-botlocales
	//
	BotLocales interface{} `field:"optional" json:"botLocales" yaml:"botLocales"`
	// 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.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-bot.html#cfn-lex-bot-bottags
	//
	BotTags interface{} `field:"optional" json:"botTags" yaml:"botTags"`
	// The description of the version.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-bot.html#cfn-lex-bot-description
	//
	Description *string `field:"optional" json:"description" yaml:"description"`
	// 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.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-bot.html#cfn-lex-bot-testbotaliassettings
	//
	TestBotAliasSettings interface{} `field:"optional" json:"testBotAliasSettings" yaml:"testBotAliasSettings"`
	// 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.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-bot.html#cfn-lex-bot-testbotaliastags
	//
	TestBotAliasTags interface{} `field:"optional" json:"testBotAliasTags" yaml:"testBotAliasTags"`
}

Properties for defining a `CfnBot`.

Example:

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-bot.html

type CfnBotVersion

type CfnBotVersion interface {
	awscdk.CfnResource
	awscdk.IInspectable
	// The version of the bot.
	AttrBotVersion() *string
	// The unique identifier of the bot.
	BotId() *string
	SetBotId(val *string)
	// Specifies the locales that Amazon Lex adds to this version.
	BotVersionLocaleSpecification() interface{}
	SetBotVersionLocaleSpecification(val interface{})
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	CfnResourceType() *string
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	CreationStack() *[]*string
	// The description of the version.
	Description() *string
	SetDescription(val *string)
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	LogicalId() *string
	// The tree node.
	Node() constructs.Node
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	Ref() *string
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// Deprecated.
	// Deprecated: use `updatedProperties`
	//
	// Return properties modified after initiation
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperites() *map[string]interface{}
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperties() *map[string]interface{}
	// Syntactic sugar for `addOverride(path, undefined)`.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	AddDependency(target awscdk.CfnResource)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	// Deprecated: use addDependency.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//   "GlobalSecondaryIndexes": [
	//     {
	//       "Projection": {
	//         "NonKeyAttributes": [ "myattribute" ]
	//         ...
	//       }
	//       ...
	//     },
	//     {
	//       "ProjectionType": "INCLUDE"
	//       ...
	//     },
	//   ]
	//   ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// The Removal Policy controls what happens to this resource when it stops
	// being managed by CloudFormation, either because you've removed it from the
	// CDK application or because you've made a change that requires the resource
	// to be replaced.
	//
	// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
	// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some
	// cases, a snapshot can be taken of the resource prior to deletion
	// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
	// can be found in the following link:.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
	//
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Retrieves an array of resources this resource depends on.
	//
	// This assembles dependencies on resources across stacks (including nested stacks)
	// automatically.
	ObtainDependencies() *[]interface{}
	// Get a shallow copy of dependencies between this resource and other resources in the same stack.
	ObtainResourceDependencies() *[]awscdk.CfnResource
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	// Indicates that this resource no longer depends on another resource.
	//
	// This can be used for resources across stacks (including nested stacks)
	// and the dependency will automatically be removed from the relevant scope.
	RemoveDependency(target awscdk.CfnResource)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Replaces one dependency with another.
	ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	ShouldSynthesize() *bool
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	ValidateProperties(_properties interface{})
}

> Amazon Lex V2 is the only supported version in AWS CloudFormation .

Specifies a new version of the bot based on the `DRAFT` version. If the `DRAFT` version of this resource hasn't changed since you created the last version, Amazon Lex doesn't create a new version, it returns the last created version.

When you specify the first version of a bot, Amazon Lex sets the version to 1. Subsequent versions increment by 1.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

cfnBotVersion := awscdk.Aws_lex.NewCfnBotVersion(this, jsii.String("MyCfnBotVersion"), &CfnBotVersionProps{
	BotId: jsii.String("botId"),
	BotVersionLocaleSpecification: []interface{}{
		&BotVersionLocaleSpecificationProperty{
			BotVersionLocaleDetails: &BotVersionLocaleDetailsProperty{
				SourceBotVersion: jsii.String("sourceBotVersion"),
			},
			LocaleId: jsii.String("localeId"),
		},
	},

	// the properties below are optional
	Description: jsii.String("description"),
})

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-botversion.html

func NewCfnBotVersion

func NewCfnBotVersion(scope constructs.Construct, id *string, props *CfnBotVersionProps) CfnBotVersion

type CfnBotVersionProps

type CfnBotVersionProps struct {
	// The unique identifier of the bot.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-botversion.html#cfn-lex-botversion-botid
	//
	BotId *string `field:"required" json:"botId" yaml:"botId"`
	// Specifies the locales that Amazon Lex adds to this version.
	//
	// You can choose the Draft version or any other previously published version for each locale. When you specify a source version, the locale data is copied from the source version to the new version.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-botversion.html#cfn-lex-botversion-botversionlocalespecification
	//
	BotVersionLocaleSpecification interface{} `field:"required" json:"botVersionLocaleSpecification" yaml:"botVersionLocaleSpecification"`
	// The description of the version.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-botversion.html#cfn-lex-botversion-description
	//
	Description *string `field:"optional" json:"description" yaml:"description"`
}

Properties for defining a `CfnBotVersion`.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

cfnBotVersionProps := &CfnBotVersionProps{
	BotId: jsii.String("botId"),
	BotVersionLocaleSpecification: []interface{}{
		&BotVersionLocaleSpecificationProperty{
			BotVersionLocaleDetails: &BotVersionLocaleDetailsProperty{
				SourceBotVersion: jsii.String("sourceBotVersion"),
			},
			LocaleId: jsii.String("localeId"),
		},
	},

	// the properties below are optional
	Description: jsii.String("description"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-botversion.html

type CfnBotVersion_BotVersionLocaleDetailsProperty

type CfnBotVersion_BotVersionLocaleDetailsProperty struct {
	// The version of a bot used for a bot locale.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-botversion-botversionlocaledetails.html#cfn-lex-botversion-botversionlocaledetails-sourcebotversion
	//
	SourceBotVersion *string `field:"required" json:"sourceBotVersion" yaml:"sourceBotVersion"`
}

The version of a bot used for a bot locale.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

botVersionLocaleDetailsProperty := &BotVersionLocaleDetailsProperty{
	SourceBotVersion: jsii.String("sourceBotVersion"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-botversion-botversionlocaledetails.html

type CfnBotVersion_BotVersionLocaleSpecificationProperty

type CfnBotVersion_BotVersionLocaleSpecificationProperty struct {
	// The version of a bot used for a bot locale.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-botversion-botversionlocalespecification.html#cfn-lex-botversion-botversionlocalespecification-botversionlocaledetails
	//
	BotVersionLocaleDetails interface{} `field:"required" json:"botVersionLocaleDetails" yaml:"botVersionLocaleDetails"`
	// The identifier of the locale to add to the version.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-botversion-botversionlocalespecification.html#cfn-lex-botversion-botversionlocalespecification-localeid
	//
	LocaleId *string `field:"required" json:"localeId" yaml:"localeId"`
}

Specifies the locale that Amazon Lex adds to this version.

You can choose the Draft version or any other previously published version for each locale. When you specify a source version, the locale data is copied from the source version to the new version.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

botVersionLocaleSpecificationProperty := &BotVersionLocaleSpecificationProperty{
	BotVersionLocaleDetails: &BotVersionLocaleDetailsProperty{
		SourceBotVersion: jsii.String("sourceBotVersion"),
	},
	LocaleId: jsii.String("localeId"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-botversion-botversionlocalespecification.html

type CfnBot_AdvancedRecognitionSettingProperty added in v2.18.0

type CfnBot_AdvancedRecognitionSettingProperty struct {
	// 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
	//
	AudioRecognitionStrategy *string `field:"optional" json:"audioRecognitionStrategy" yaml:"audioRecognitionStrategy"`
}

Provides settings that enable advanced recognition settings for slot values.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

advancedRecognitionSettingProperty := &AdvancedRecognitionSettingProperty{
	AudioRecognitionStrategy: jsii.String("audioRecognitionStrategy"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-advancedrecognitionsetting.html

type CfnBot_AllowedInputTypesProperty added in v2.48.0

type CfnBot_AllowedInputTypesProperty struct {
	// Indicates whether audio input is allowed.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-allowedinputtypes.html#cfn-lex-bot-allowedinputtypes-allowaudioinput
	//
	AllowAudioInput interface{} `field:"required" json:"allowAudioInput" yaml:"allowAudioInput"`
	// Indicates whether DTMF input is allowed.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-allowedinputtypes.html#cfn-lex-bot-allowedinputtypes-allowdtmfinput
	//
	AllowDtmfInput interface{} `field:"required" json:"allowDtmfInput" yaml:"allowDtmfInput"`
}

Specifies the allowed input types.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

allowedInputTypesProperty := &AllowedInputTypesProperty{
	AllowAudioInput: jsii.Boolean(false),
	AllowDtmfInput: jsii.Boolean(false),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-allowedinputtypes.html

type CfnBot_AudioAndDTMFInputSpecificationProperty added in v2.48.0

type CfnBot_AudioAndDTMFInputSpecificationProperty struct {
	// 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.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-audioanddtmfinputspecification.html#cfn-lex-bot-audioanddtmfinputspecification-starttimeoutms
	//
	StartTimeoutMs *float64 `field:"required" json:"startTimeoutMs" yaml:"startTimeoutMs"`
	// Specifies the settings on audio input.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-audioanddtmfinputspecification.html#cfn-lex-bot-audioanddtmfinputspecification-audiospecification
	//
	AudioSpecification interface{} `field:"optional" json:"audioSpecification" yaml:"audioSpecification"`
	// Specifies the settings on DTMF input.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-audioanddtmfinputspecification.html#cfn-lex-bot-audioanddtmfinputspecification-dtmfspecification
	//
	DtmfSpecification interface{} `field:"optional" json:"dtmfSpecification" yaml:"dtmfSpecification"`
}

Specifies the audio and DTMF input specification.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

audioAndDTMFInputSpecificationProperty := &AudioAndDTMFInputSpecificationProperty{
	StartTimeoutMs: jsii.Number(123),

	// the properties below are optional
	AudioSpecification: &AudioSpecificationProperty{
		EndTimeoutMs: jsii.Number(123),
		MaxLengthMs: jsii.Number(123),
	},
	DtmfSpecification: &DTMFSpecificationProperty{
		DeletionCharacter: jsii.String("deletionCharacter"),
		EndCharacter: jsii.String("endCharacter"),
		EndTimeoutMs: jsii.Number(123),
		MaxLength: jsii.Number(123),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-audioanddtmfinputspecification.html

type CfnBot_AudioLogDestinationProperty added in v2.18.0

type CfnBot_AudioLogDestinationProperty struct {
	// Specifies the Amazon S3 bucket where the audio files are stored.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-audiologdestination.html#cfn-lex-bot-audiologdestination-s3bucket
	//
	S3Bucket interface{} `field:"required" json:"s3Bucket" yaml:"s3Bucket"`
}

The location of audio log files collected when conversation logging is enabled for a bot.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

audioLogDestinationProperty := &AudioLogDestinationProperty{
	S3Bucket: &S3BucketLogDestinationProperty{
		LogPrefix: jsii.String("logPrefix"),
		S3BucketArn: jsii.String("s3BucketArn"),

		// the properties below are optional
		KmsKeyArn: jsii.String("kmsKeyArn"),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-audiologdestination.html

type CfnBot_AudioLogSettingProperty added in v2.18.0

type CfnBot_AudioLogSettingProperty struct {
	// Specifies the location of the audio log files collected when conversation logging is enabled for a bot.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-audiologsetting.html#cfn-lex-bot-audiologsetting-destination
	//
	Destination interface{} `field:"required" json:"destination" yaml:"destination"`
	// Determines whether audio logging in enabled for the bot.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-audiologsetting.html#cfn-lex-bot-audiologsetting-enabled
	//
	Enabled interface{} `field:"required" json:"enabled" yaml:"enabled"`
}

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.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

audioLogSettingProperty := &AudioLogSettingProperty{
	Destination: &AudioLogDestinationProperty{
		S3Bucket: &S3BucketLogDestinationProperty{
			LogPrefix: jsii.String("logPrefix"),
			S3BucketArn: jsii.String("s3BucketArn"),

			// the properties below are optional
			KmsKeyArn: jsii.String("kmsKeyArn"),
		},
	},
	Enabled: jsii.Boolean(false),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-audiologsetting.html

type CfnBot_AudioSpecificationProperty added in v2.48.0

type CfnBot_AudioSpecificationProperty struct {
	// Time for which a bot waits after the customer stops speaking to assume the utterance is finished.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-audiospecification.html#cfn-lex-bot-audiospecification-endtimeoutms
	//
	EndTimeoutMs *float64 `field:"required" json:"endTimeoutMs" yaml:"endTimeoutMs"`
	// Time for how long Amazon Lex waits before speech input is truncated and the speech is returned to application.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-audiospecification.html#cfn-lex-bot-audiospecification-maxlengthms
	//
	MaxLengthMs *float64 `field:"required" json:"maxLengthMs" yaml:"maxLengthMs"`
}

Specifies the audio input specifications.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

audioSpecificationProperty := &AudioSpecificationProperty{
	EndTimeoutMs: jsii.Number(123),
	MaxLengthMs: jsii.Number(123),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-audiospecification.html

type CfnBot_BotAliasLocaleSettingsItemProperty added in v2.18.0

type CfnBot_BotAliasLocaleSettingsItemProperty struct {
	// Specifies locale settings for a locale.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-botaliaslocalesettingsitem.html#cfn-lex-bot-botaliaslocalesettingsitem-botaliaslocalesetting
	//
	BotAliasLocaleSetting interface{} `field:"required" json:"botAliasLocaleSetting" yaml:"botAliasLocaleSetting"`
	// Specifies the locale that the settings apply to.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-botaliaslocalesettingsitem.html#cfn-lex-bot-botaliaslocalesettingsitem-localeid
	//
	LocaleId *string `field:"required" json:"localeId" yaml:"localeId"`
}

Specifies locale settings for a single locale.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

botAliasLocaleSettingsItemProperty := &BotAliasLocaleSettingsItemProperty{
	BotAliasLocaleSetting: &BotAliasLocaleSettingsProperty{
		Enabled: jsii.Boolean(false),

		// the properties below are optional
		CodeHookSpecification: &CodeHookSpecificationProperty{
			LambdaCodeHook: &LambdaCodeHookProperty{
				CodeHookInterfaceVersion: jsii.String("codeHookInterfaceVersion"),
				LambdaArn: jsii.String("lambdaArn"),
			},
		},
	},
	LocaleId: jsii.String("localeId"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-botaliaslocalesettingsitem.html

type CfnBot_BotAliasLocaleSettingsProperty added in v2.18.0

type CfnBot_BotAliasLocaleSettingsProperty struct {
	// Determines whether the locale is enabled for the bot.
	//
	// If the value is `false` , the locale isn't available for use.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-botaliaslocalesettings.html#cfn-lex-bot-botaliaslocalesettings-enabled
	//
	Enabled interface{} `field:"required" json:"enabled" yaml:"enabled"`
	// Specifies the Lambda function that should be used in the locale.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-botaliaslocalesettings.html#cfn-lex-bot-botaliaslocalesettings-codehookspecification
	//
	CodeHookSpecification interface{} `field:"optional" json:"codeHookSpecification" yaml:"codeHookSpecification"`
}

Specifies settings that are unique to a locale.

For example, you can use different Lambda function depending on the bot's locale.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

botAliasLocaleSettingsProperty := &BotAliasLocaleSettingsProperty{
	Enabled: jsii.Boolean(false),

	// the properties below are optional
	CodeHookSpecification: &CodeHookSpecificationProperty{
		LambdaCodeHook: &LambdaCodeHookProperty{
			CodeHookInterfaceVersion: jsii.String("codeHookInterfaceVersion"),
			LambdaArn: jsii.String("lambdaArn"),
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-botaliaslocalesettings.html

type CfnBot_BotLocaleProperty

type CfnBot_BotLocaleProperty struct {
	// 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
	//
	LocaleId *string `field:"required" json:"localeId" yaml:"localeId"`
	// 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
	//
	NluConfidenceThreshold *float64 `field:"required" json:"nluConfidenceThreshold" yaml:"nluConfidenceThreshold"`
	// 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
	//
	CustomVocabulary interface{} `field:"optional" json:"customVocabulary" yaml:"customVocabulary"`
	// 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
	//
	Description *string `field:"optional" json:"description" yaml:"description"`
	// 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
	//
	Intents interface{} `field:"optional" json:"intents" yaml:"intents"`
	// 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
	//
	SlotTypes interface{} `field:"optional" json:"slotTypes" yaml:"slotTypes"`
	// Defines settings for using an Amazon Polly voice to communicate with a user.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-botlocale.html#cfn-lex-bot-botlocale-voicesettings
	//
	VoiceSettings interface{} `field:"optional" json:"voiceSettings" yaml:"voiceSettings"`
}

Provides configuration information for a locale.

Example:

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-botlocale.html

type CfnBot_ButtonProperty

type CfnBot_ButtonProperty struct {
	// 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
	//
	Text *string `field:"required" json:"text" yaml:"text"`
	// 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
	//
	Value *string `field:"required" json:"value" yaml:"value"`
}

Describes a button to use on a response card used to gather slot values from a user.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

buttonProperty := &ButtonProperty{
	Text: jsii.String("text"),
	Value: jsii.String("value"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-button.html

type CfnBot_CloudWatchLogGroupLogDestinationProperty added in v2.18.0

type CfnBot_CloudWatchLogGroupLogDestinationProperty struct {
	// The Amazon Resource Name (ARN) of the log group where text and metadata logs are delivered.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-cloudwatchloggrouplogdestination.html#cfn-lex-bot-cloudwatchloggrouplogdestination-cloudwatchloggrouparn
	//
	CloudWatchLogGroupArn *string `field:"required" json:"cloudWatchLogGroupArn" yaml:"cloudWatchLogGroupArn"`
	// The prefix of the log stream name within the log group that you specified.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-cloudwatchloggrouplogdestination.html#cfn-lex-bot-cloudwatchloggrouplogdestination-logprefix
	//
	LogPrefix *string `field:"required" json:"logPrefix" yaml:"logPrefix"`
}

The Amazon CloudWatch Logs log group where the text and metadata logs are delivered.

The log group must exist before you enable logging.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

cloudWatchLogGroupLogDestinationProperty := &CloudWatchLogGroupLogDestinationProperty{
	CloudWatchLogGroupArn: jsii.String("cloudWatchLogGroupArn"),
	LogPrefix: jsii.String("logPrefix"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-cloudwatchloggrouplogdestination.html

type CfnBot_CodeHookSpecificationProperty added in v2.18.0

type CfnBot_CodeHookSpecificationProperty struct {
	// Specifies a Lambda function that verifies requests to a bot or fulfills the user's request to a bot.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-codehookspecification.html#cfn-lex-bot-codehookspecification-lambdacodehook
	//
	LambdaCodeHook interface{} `field:"required" json:"lambdaCodeHook" yaml:"lambdaCodeHook"`
}

Contains information about code hooks that Amazon Lex calls during a conversation.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

codeHookSpecificationProperty := &CodeHookSpecificationProperty{
	LambdaCodeHook: &LambdaCodeHookProperty{
		CodeHookInterfaceVersion: jsii.String("codeHookInterfaceVersion"),
		LambdaArn: jsii.String("lambdaArn"),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-codehookspecification.html

type CfnBot_ConditionProperty added in v2.63.0

type CfnBot_ConditionProperty struct {
	// The expression string that is evaluated.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-condition.html#cfn-lex-bot-condition-expressionstring
	//
	ExpressionString *string `field:"required" json:"expressionString" yaml:"expressionString"`
}

Provides an expression that evaluates to true or false.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

conditionProperty := &ConditionProperty{
	ExpressionString: jsii.String("expressionString"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-condition.html

type CfnBot_ConditionalBranchProperty added in v2.63.0

type CfnBot_ConditionalBranchProperty struct {
	// Contains the expression to evaluate.
	//
	// If the condition is true, the branch's actions are taken.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-conditionalbranch.html#cfn-lex-bot-conditionalbranch-condition
	//
	Condition interface{} `field:"required" json:"condition" yaml:"condition"`
	// The name of the branch.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-conditionalbranch.html#cfn-lex-bot-conditionalbranch-name
	//
	Name *string `field:"required" json:"name" yaml:"name"`
	// The next step in the conversation.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-conditionalbranch.html#cfn-lex-bot-conditionalbranch-nextstep
	//
	NextStep interface{} `field:"required" json:"nextStep" yaml:"nextStep"`
	// 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-conditionalbranch.html#cfn-lex-bot-conditionalbranch-response
	//
	Response interface{} `field:"optional" json:"response" yaml:"response"`
}

A set of actions that Amazon Lex should run if the condition is matched.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

var slotValueOverrideProperty_ slotValueOverrideProperty

conditionalBranchProperty := &ConditionalBranchProperty{
	Condition: &ConditionProperty{
		ExpressionString: jsii.String("expressionString"),
	},
	Name: jsii.String("name"),
	NextStep: &DialogStateProperty{
		DialogAction: &DialogActionProperty{
			Type: jsii.String("type"),

			// the properties below are optional
			SlotToElicit: jsii.String("slotToElicit"),
			SuppressNextMessage: jsii.Boolean(false),
		},
		Intent: &IntentOverrideProperty{
			Name: jsii.String("name"),
			Slots: []interface{}{
				&SlotValueOverrideMapProperty{
					SlotName: jsii.String("slotName"),
					SlotValueOverride: &slotValueOverrideProperty{
						Shape: jsii.String("shape"),
						Value: &SlotValueProperty{
							InterpretedValue: jsii.String("interpretedValue"),
						},
						Values: []interface{}{
							slotValueOverrideProperty_,
						},
					},
				},
			},
		},
		SessionAttributes: []interface{}{
			&SessionAttributeProperty{
				Key: jsii.String("key"),

				// the properties below are optional
				Value: jsii.String("value"),
			},
		},
	},

	// the properties below are optional
	Response: &ResponseSpecificationProperty{
		MessageGroupsList: []interface{}{
			&MessageGroupProperty{
				Message: &MessageProperty{
					CustomPayload: &CustomPayloadProperty{
						Value: jsii.String("value"),
					},
					ImageResponseCard: &ImageResponseCardProperty{
						Title: jsii.String("title"),

						// the properties below are optional
						Buttons: []interface{}{
							&ButtonProperty{
								Text: jsii.String("text"),
								Value: jsii.String("value"),
							},
						},
						ImageUrl: jsii.String("imageUrl"),
						Subtitle: jsii.String("subtitle"),
					},
					PlainTextMessage: &PlainTextMessageProperty{
						Value: jsii.String("value"),
					},
					SsmlMessage: &SSMLMessageProperty{
						Value: jsii.String("value"),
					},
				},

				// the properties below are optional
				Variations: []interface{}{
					&MessageProperty{
						CustomPayload: &CustomPayloadProperty{
							Value: jsii.String("value"),
						},
						ImageResponseCard: &ImageResponseCardProperty{
							Title: jsii.String("title"),

							// the properties below are optional
							Buttons: []interface{}{
								&ButtonProperty{
									Text: jsii.String("text"),
									Value: jsii.String("value"),
								},
							},
							ImageUrl: jsii.String("imageUrl"),
							Subtitle: jsii.String("subtitle"),
						},
						PlainTextMessage: &PlainTextMessageProperty{
							Value: jsii.String("value"),
						},
						SsmlMessage: &SSMLMessageProperty{
							Value: jsii.String("value"),
						},
					},
				},
			},
		},

		// the properties below are optional
		AllowInterrupt: jsii.Boolean(false),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-conditionalbranch.html

type CfnBot_ConditionalSpecificationProperty added in v2.63.0

type CfnBot_ConditionalSpecificationProperty struct {
	// 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
	//
	ConditionalBranches interface{} `field:"required" json:"conditionalBranches" yaml:"conditionalBranches"`
	// 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
	//
	DefaultBranch interface{} `field:"required" json:"defaultBranch" yaml:"defaultBranch"`
	// 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
	//
	IsActive interface{} `field:"required" json:"isActive" yaml:"isActive"`
}

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.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

var slotValueOverrideProperty_ slotValueOverrideProperty

conditionalSpecificationProperty := &ConditionalSpecificationProperty{
	ConditionalBranches: []interface{}{
		&ConditionalBranchProperty{
			Condition: &ConditionProperty{
				ExpressionString: jsii.String("expressionString"),
			},
			Name: jsii.String("name"),
			NextStep: &DialogStateProperty{
				DialogAction: &DialogActionProperty{
					Type: jsii.String("type"),

					// the properties below are optional
					SlotToElicit: jsii.String("slotToElicit"),
					SuppressNextMessage: jsii.Boolean(false),
				},
				Intent: &IntentOverrideProperty{
					Name: jsii.String("name"),
					Slots: []interface{}{
						&SlotValueOverrideMapProperty{
							SlotName: jsii.String("slotName"),
							SlotValueOverride: &slotValueOverrideProperty{
								Shape: jsii.String("shape"),
								Value: &SlotValueProperty{
									InterpretedValue: jsii.String("interpretedValue"),
								},
								Values: []interface{}{
									slotValueOverrideProperty_,
								},
							},
						},
					},
				},
				SessionAttributes: []interface{}{
					&SessionAttributeProperty{
						Key: jsii.String("key"),

						// the properties below are optional
						Value: jsii.String("value"),
					},
				},
			},

			// the properties below are optional
			Response: &ResponseSpecificationProperty{
				MessageGroupsList: []interface{}{
					&MessageGroupProperty{
						Message: &MessageProperty{
							CustomPayload: &CustomPayloadProperty{
								Value: jsii.String("value"),
							},
							ImageResponseCard: &ImageResponseCardProperty{
								Title: jsii.String("title"),

								// the properties below are optional
								Buttons: []interface{}{
									&ButtonProperty{
										Text: jsii.String("text"),
										Value: jsii.String("value"),
									},
								},
								ImageUrl: jsii.String("imageUrl"),
								Subtitle: jsii.String("subtitle"),
							},
							PlainTextMessage: &PlainTextMessageProperty{
								Value: jsii.String("value"),
							},
							SsmlMessage: &SSMLMessageProperty{
								Value: jsii.String("value"),
							},
						},

						// the properties below are optional
						Variations: []interface{}{
							&MessageProperty{
								CustomPayload: &CustomPayloadProperty{
									Value: jsii.String("value"),
								},
								ImageResponseCard: &ImageResponseCardProperty{
									Title: jsii.String("title"),

									// the properties below are optional
									Buttons: []interface{}{
										&ButtonProperty{
											Text: jsii.String("text"),
											Value: jsii.String("value"),
										},
									},
									ImageUrl: jsii.String("imageUrl"),
									Subtitle: jsii.String("subtitle"),
								},
								PlainTextMessage: &PlainTextMessageProperty{
									Value: jsii.String("value"),
								},
								SsmlMessage: &SSMLMessageProperty{
									Value: jsii.String("value"),
								},
							},
						},
					},
				},

				// the properties below are optional
				AllowInterrupt: jsii.Boolean(false),
			},
		},
	},
	DefaultBranch: &DefaultConditionalBranchProperty{
		NextStep: &DialogStateProperty{
			DialogAction: &DialogActionProperty{
				Type: jsii.String("type"),

				// the properties below are optional
				SlotToElicit: jsii.String("slotToElicit"),
				SuppressNextMessage: jsii.Boolean(false),
			},
			Intent: &IntentOverrideProperty{
				Name: jsii.String("name"),
				Slots: []interface{}{
					&SlotValueOverrideMapProperty{
						SlotName: jsii.String("slotName"),
						SlotValueOverride: &slotValueOverrideProperty{
							Shape: jsii.String("shape"),
							Value: &SlotValueProperty{
								InterpretedValue: jsii.String("interpretedValue"),
							},
							Values: []interface{}{
								slotValueOverrideProperty_,
							},
						},
					},
				},
			},
			SessionAttributes: []interface{}{
				&SessionAttributeProperty{
					Key: jsii.String("key"),

					// the properties below are optional
					Value: jsii.String("value"),
				},
			},
		},
		Response: &ResponseSpecificationProperty{
			MessageGroupsList: []interface{}{
				&MessageGroupProperty{
					Message: &MessageProperty{
						CustomPayload: &CustomPayloadProperty{
							Value: jsii.String("value"),
						},
						ImageResponseCard: &ImageResponseCardProperty{
							Title: jsii.String("title"),

							// the properties below are optional
							Buttons: []interface{}{
								&ButtonProperty{
									Text: jsii.String("text"),
									Value: jsii.String("value"),
								},
							},
							ImageUrl: jsii.String("imageUrl"),
							Subtitle: jsii.String("subtitle"),
						},
						PlainTextMessage: &PlainTextMessageProperty{
							Value: jsii.String("value"),
						},
						SsmlMessage: &SSMLMessageProperty{
							Value: jsii.String("value"),
						},
					},

					// the properties below are optional
					Variations: []interface{}{
						&MessageProperty{
							CustomPayload: &CustomPayloadProperty{
								Value: jsii.String("value"),
							},
							ImageResponseCard: &ImageResponseCardProperty{
								Title: jsii.String("title"),

								// the properties below are optional
								Buttons: []interface{}{
									&ButtonProperty{
										Text: jsii.String("text"),
										Value: jsii.String("value"),
									},
								},
								ImageUrl: jsii.String("imageUrl"),
								Subtitle: jsii.String("subtitle"),
							},
							PlainTextMessage: &PlainTextMessageProperty{
								Value: jsii.String("value"),
							},
							SsmlMessage: &SSMLMessageProperty{
								Value: jsii.String("value"),
							},
						},
					},
				},
			},

			// the properties below are optional
			AllowInterrupt: jsii.Boolean(false),
		},
	},
	IsActive: jsii.Boolean(false),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-conditionalspecification.html

type CfnBot_ConversationLogSettingsProperty added in v2.18.0

type CfnBot_ConversationLogSettingsProperty struct {
	// The Amazon S3 settings for logging audio to an S3 bucket.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-conversationlogsettings.html#cfn-lex-bot-conversationlogsettings-audiologsettings
	//
	AudioLogSettings interface{} `field:"optional" json:"audioLogSettings" yaml:"audioLogSettings"`
	// The Amazon CloudWatch Logs settings for logging text and metadata.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-conversationlogsettings.html#cfn-lex-bot-conversationlogsettings-textlogsettings
	//
	TextLogSettings interface{} `field:"optional" json:"textLogSettings" yaml:"textLogSettings"`
}

Configures conversation logging that saves audio, text, and metadata for the conversations with your users.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

conversationLogSettingsProperty := &ConversationLogSettingsProperty{
	AudioLogSettings: []interface{}{
		&AudioLogSettingProperty{
			Destination: &AudioLogDestinationProperty{
				S3Bucket: &S3BucketLogDestinationProperty{
					LogPrefix: jsii.String("logPrefix"),
					S3BucketArn: jsii.String("s3BucketArn"),

					// the properties below are optional
					KmsKeyArn: jsii.String("kmsKeyArn"),
				},
			},
			Enabled: jsii.Boolean(false),
		},
	},
	TextLogSettings: []interface{}{
		&TextLogSettingProperty{
			Destination: &TextLogDestinationProperty{
				CloudWatch: &CloudWatchLogGroupLogDestinationProperty{
					CloudWatchLogGroupArn: jsii.String("cloudWatchLogGroupArn"),
					LogPrefix: jsii.String("logPrefix"),
				},
			},
			Enabled: jsii.Boolean(false),
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-conversationlogsettings.html

type CfnBot_CustomPayloadProperty

type CfnBot_CustomPayloadProperty struct {
	// 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
	//
	Value *string `field:"required" json:"value" yaml:"value"`
}

A custom response string that Amazon Lex sends to your application.

You define the content and structure the string.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

customPayloadProperty := &CustomPayloadProperty{
	Value: jsii.String("value"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-custompayload.html

type CfnBot_CustomVocabularyItemProperty added in v2.18.0

type CfnBot_CustomVocabularyItemProperty struct {
	// 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
	//
	Phrase *string `field:"required" json:"phrase" yaml:"phrase"`
	// 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
	//
	DisplayAs *string `field:"optional" json:"displayAs" yaml:"displayAs"`
	// 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
	//
	Weight *float64 `field:"optional" json:"weight" yaml:"weight"`
}

Specifies an entry in a custom vocabulary.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

customVocabularyItemProperty := &CustomVocabularyItemProperty{
	Phrase: jsii.String("phrase"),

	// the properties below are optional
	DisplayAs: jsii.String("displayAs"),
	Weight: jsii.Number(123),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-customvocabularyitem.html

type CfnBot_CustomVocabularyProperty added in v2.18.0

type CfnBot_CustomVocabularyProperty struct {
	// 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
	//
	CustomVocabularyItems interface{} `field:"required" json:"customVocabularyItems" yaml:"customVocabularyItems"`
}

Specifies a custom vocabulary.

A custom vocabulary is a list of words that you expect to be used during a conversation with your bot.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

customVocabularyProperty := &CustomVocabularyProperty{
	CustomVocabularyItems: []interface{}{
		&CustomVocabularyItemProperty{
			Phrase: jsii.String("phrase"),

			// the properties below are optional
			DisplayAs: jsii.String("displayAs"),
			Weight: jsii.Number(123),
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-customvocabulary.html

type CfnBot_DTMFSpecificationProperty added in v2.48.0

type CfnBot_DTMFSpecificationProperty struct {
	// The DTMF character that clears the accumulated DTMF digits and immediately ends the input.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-dtmfspecification.html#cfn-lex-bot-dtmfspecification-deletioncharacter
	//
	DeletionCharacter *string `field:"required" json:"deletionCharacter" yaml:"deletionCharacter"`
	// The DTMF character that immediately ends input.
	//
	// If the user does not press this character, the input ends after the end timeout.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-dtmfspecification.html#cfn-lex-bot-dtmfspecification-endcharacter
	//
	EndCharacter *string `field:"required" json:"endCharacter" yaml:"endCharacter"`
	// How long the bot should wait after the last DTMF character input before assuming that the input has concluded.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-dtmfspecification.html#cfn-lex-bot-dtmfspecification-endtimeoutms
	//
	EndTimeoutMs *float64 `field:"required" json:"endTimeoutMs" yaml:"endTimeoutMs"`
	// The maximum number of DTMF digits allowed in an utterance.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-dtmfspecification.html#cfn-lex-bot-dtmfspecification-maxlength
	//
	MaxLength *float64 `field:"required" json:"maxLength" yaml:"maxLength"`
}

Specifies the DTMF input specifications.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

dTMFSpecificationProperty := &DTMFSpecificationProperty{
	DeletionCharacter: jsii.String("deletionCharacter"),
	EndCharacter: jsii.String("endCharacter"),
	EndTimeoutMs: jsii.Number(123),
	MaxLength: jsii.Number(123),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-dtmfspecification.html

type CfnBot_DataPrivacyProperty added in v2.55.0

type CfnBot_DataPrivacyProperty struct {
	// 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) .
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-dataprivacy.html#cfn-lex-bot-dataprivacy-childdirected
	//
	ChildDirected interface{} `field:"required" json:"childDirected" yaml:"childDirected"`
}

By default, data stored by Amazon Lex is encrypted.

The `DataPrivacy` structure provides settings that determine how Amazon Lex handles special cases of securing the data for your bot.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

dataPrivacyProperty := &DataPrivacyProperty{
	ChildDirected: jsii.Boolean(false),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-dataprivacy.html

type CfnBot_DefaultConditionalBranchProperty added in v2.63.0

type CfnBot_DefaultConditionalBranchProperty struct {
	// 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
	//
	NextStep interface{} `field:"optional" json:"nextStep" yaml:"nextStep"`
	// 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
	//
	Response interface{} `field:"optional" json:"response" yaml:"response"`
}

A set of actions that Amazon Lex should run if none of the other conditions are met.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

var slotValueOverrideProperty_ slotValueOverrideProperty

defaultConditionalBranchProperty := &DefaultConditionalBranchProperty{
	NextStep: &DialogStateProperty{
		DialogAction: &DialogActionProperty{
			Type: jsii.String("type"),

			// the properties below are optional
			SlotToElicit: jsii.String("slotToElicit"),
			SuppressNextMessage: jsii.Boolean(false),
		},
		Intent: &IntentOverrideProperty{
			Name: jsii.String("name"),
			Slots: []interface{}{
				&SlotValueOverrideMapProperty{
					SlotName: jsii.String("slotName"),
					SlotValueOverride: &slotValueOverrideProperty{
						Shape: jsii.String("shape"),
						Value: &SlotValueProperty{
							InterpretedValue: jsii.String("interpretedValue"),
						},
						Values: []interface{}{
							slotValueOverrideProperty_,
						},
					},
				},
			},
		},
		SessionAttributes: []interface{}{
			&SessionAttributeProperty{
				Key: jsii.String("key"),

				// the properties below are optional
				Value: jsii.String("value"),
			},
		},
	},
	Response: &ResponseSpecificationProperty{
		MessageGroupsList: []interface{}{
			&MessageGroupProperty{
				Message: &MessageProperty{
					CustomPayload: &CustomPayloadProperty{
						Value: jsii.String("value"),
					},
					ImageResponseCard: &ImageResponseCardProperty{
						Title: jsii.String("title"),

						// the properties below are optional
						Buttons: []interface{}{
							&ButtonProperty{
								Text: jsii.String("text"),
								Value: jsii.String("value"),
							},
						},
						ImageUrl: jsii.String("imageUrl"),
						Subtitle: jsii.String("subtitle"),
					},
					PlainTextMessage: &PlainTextMessageProperty{
						Value: jsii.String("value"),
					},
					SsmlMessage: &SSMLMessageProperty{
						Value: jsii.String("value"),
					},
				},

				// the properties below are optional
				Variations: []interface{}{
					&MessageProperty{
						CustomPayload: &CustomPayloadProperty{
							Value: jsii.String("value"),
						},
						ImageResponseCard: &ImageResponseCardProperty{
							Title: jsii.String("title"),

							// the properties below are optional
							Buttons: []interface{}{
								&ButtonProperty{
									Text: jsii.String("text"),
									Value: jsii.String("value"),
								},
							},
							ImageUrl: jsii.String("imageUrl"),
							Subtitle: jsii.String("subtitle"),
						},
						PlainTextMessage: &PlainTextMessageProperty{
							Value: jsii.String("value"),
						},
						SsmlMessage: &SSMLMessageProperty{
							Value: jsii.String("value"),
						},
					},
				},
			},
		},

		// the properties below are optional
		AllowInterrupt: jsii.Boolean(false),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-defaultconditionalbranch.html

type CfnBot_DialogActionProperty added in v2.63.0

type CfnBot_DialogActionProperty struct {
	// The action that the bot should execute.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-dialogaction.html#cfn-lex-bot-dialogaction-type
	//
	Type *string `field:"required" json:"type" yaml:"type"`
	// If the dialog action is `ElicitSlot` , defines the slot to elicit from the user.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-dialogaction.html#cfn-lex-bot-dialogaction-slottoelicit
	//
	SlotToElicit *string `field:"optional" json:"slotToElicit" yaml:"slotToElicit"`
	// When true the next message for the intent is not used.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-dialogaction.html#cfn-lex-bot-dialogaction-suppressnextmessage
	//
	SuppressNextMessage interface{} `field:"optional" json:"suppressNextMessage" yaml:"suppressNextMessage"`
}

Defines the action that the bot executes at runtime when the conversation reaches this step.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

dialogActionProperty := &DialogActionProperty{
	Type: jsii.String("type"),

	// the properties below are optional
	SlotToElicit: jsii.String("slotToElicit"),
	SuppressNextMessage: jsii.Boolean(false),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-dialogaction.html

type CfnBot_DialogCodeHookInvocationSettingProperty added in v2.63.0

type CfnBot_DialogCodeHookInvocationSettingProperty struct {
	// 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
	//
	EnableCodeHookInvocation interface{} `field:"required" json:"enableCodeHookInvocation" yaml:"enableCodeHookInvocation"`
	// 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
	//
	IsActive interface{} `field:"required" json:"isActive" yaml:"isActive"`
	// 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
	//
	PostCodeHookSpecification interface{} `field:"required" json:"postCodeHookSpecification" yaml:"postCodeHookSpecification"`
	// 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
	//
	InvocationLabel *string `field:"optional" json:"invocationLabel" yaml:"invocationLabel"`
}

Settings that specify the dialog code hook that is called by Amazon Lex at a step of the conversation.

Example:

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-dialogcodehookinvocationsetting.html

type CfnBot_DialogCodeHookSettingProperty

type CfnBot_DialogCodeHookSettingProperty struct {
	// Enables the dialog code hook so that it processes user requests.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-dialogcodehooksetting.html#cfn-lex-bot-dialogcodehooksetting-enabled
	//
	Enabled interface{} `field:"required" json:"enabled" yaml:"enabled"`
}

Settings that determine the Lambda function that Amazon Lex uses for processing user responses.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

dialogCodeHookSettingProperty := &DialogCodeHookSettingProperty{
	Enabled: jsii.Boolean(false),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-dialogcodehooksetting.html

type CfnBot_DialogStateProperty added in v2.63.0

type CfnBot_DialogStateProperty struct {
	// Defines the action that the bot executes at runtime when the conversation reaches this step.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-dialogstate.html#cfn-lex-bot-dialogstate-dialogaction
	//
	DialogAction interface{} `field:"optional" json:"dialogAction" yaml:"dialogAction"`
	// Override settings to configure the intent state.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-dialogstate.html#cfn-lex-bot-dialogstate-intent
	//
	Intent interface{} `field:"optional" json:"intent" yaml:"intent"`
	// Map of key/value pairs representing session-specific context information.
	//
	// It contains application information passed between Amazon Lex and a client application.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-dialogstate.html#cfn-lex-bot-dialogstate-sessionattributes
	//
	SessionAttributes interface{} `field:"optional" json:"sessionAttributes" yaml:"sessionAttributes"`
}

The current state of the conversation with the user.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

var slotValueOverrideProperty_ slotValueOverrideProperty

dialogStateProperty := &DialogStateProperty{
	DialogAction: &DialogActionProperty{
		Type: jsii.String("type"),

		// the properties below are optional
		SlotToElicit: jsii.String("slotToElicit"),
		SuppressNextMessage: jsii.Boolean(false),
	},
	Intent: &IntentOverrideProperty{
		Name: jsii.String("name"),
		Slots: []interface{}{
			&SlotValueOverrideMapProperty{
				SlotName: jsii.String("slotName"),
				SlotValueOverride: &slotValueOverrideProperty{
					Shape: jsii.String("shape"),
					Value: &SlotValueProperty{
						InterpretedValue: jsii.String("interpretedValue"),
					},
					Values: []interface{}{
						slotValueOverrideProperty_,
					},
				},
			},
		},
	},
	SessionAttributes: []interface{}{
		&SessionAttributeProperty{
			Key: jsii.String("key"),

			// the properties below are optional
			Value: jsii.String("value"),
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-dialogstate.html

type CfnBot_ElicitationCodeHookInvocationSettingProperty added in v2.63.0

type CfnBot_ElicitationCodeHookInvocationSettingProperty struct {
	// Indicates whether a Lambda function should be invoked for the dialog.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-elicitationcodehookinvocationsetting.html#cfn-lex-bot-elicitationcodehookinvocationsetting-enablecodehookinvocation
	//
	EnableCodeHookInvocation interface{} `field:"required" json:"enableCodeHookInvocation" yaml:"enableCodeHookInvocation"`
	// 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-elicitationcodehookinvocationsetting.html#cfn-lex-bot-elicitationcodehookinvocationsetting-invocationlabel
	//
	InvocationLabel *string `field:"optional" json:"invocationLabel" yaml:"invocationLabel"`
}

Settings that specify the dialog code hook that is called by Amazon Lex between eliciting slot values.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

elicitationCodeHookInvocationSettingProperty := &ElicitationCodeHookInvocationSettingProperty{
	EnableCodeHookInvocation: jsii.Boolean(false),

	// the properties below are optional
	InvocationLabel: jsii.String("invocationLabel"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-elicitationcodehookinvocationsetting.html

type CfnBot_ExternalSourceSettingProperty

type CfnBot_ExternalSourceSettingProperty struct {
	// 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
	//
	GrammarSlotTypeSetting interface{} `field:"optional" json:"grammarSlotTypeSetting" yaml:"grammarSlotTypeSetting"`
}

Provides information about the external source of the slot type's definition.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

externalSourceSettingProperty := &ExternalSourceSettingProperty{
	GrammarSlotTypeSetting: &GrammarSlotTypeSettingProperty{
		Source: &GrammarSlotTypeSourceProperty{
			S3BucketName: jsii.String("s3BucketName"),
			S3ObjectKey: jsii.String("s3ObjectKey"),

			// the properties below are optional
			KmsKeyArn: jsii.String("kmsKeyArn"),
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-externalsourcesetting.html

type CfnBot_FulfillmentCodeHookSettingProperty

type CfnBot_FulfillmentCodeHookSettingProperty struct {
	// Indicates whether a Lambda function should be invoked to fulfill a specific intent.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-fulfillmentcodehooksetting.html#cfn-lex-bot-fulfillmentcodehooksetting-enabled
	//
	Enabled interface{} `field:"required" json:"enabled" yaml:"enabled"`
	// Provides settings for update messages sent to the user for long-running Lambda fulfillment functions.
	//
	// Fulfillment updates can be used only with streaming conversations.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-fulfillmentcodehooksetting.html#cfn-lex-bot-fulfillmentcodehooksetting-fulfillmentupdatesspecification
	//
	FulfillmentUpdatesSpecification interface{} `field:"optional" json:"fulfillmentUpdatesSpecification" yaml:"fulfillmentUpdatesSpecification"`
	// Determines whether the fulfillment code hook is used.
	//
	// When `active` is false, the code hook doesn't run.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-fulfillmentcodehooksetting.html#cfn-lex-bot-fulfillmentcodehooksetting-isactive
	//
	IsActive interface{} `field:"optional" json:"isActive" yaml:"isActive"`
	// 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.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-fulfillmentcodehooksetting.html#cfn-lex-bot-fulfillmentcodehooksetting-postfulfillmentstatusspecification
	//
	PostFulfillmentStatusSpecification interface{} `field:"optional" json:"postFulfillmentStatusSpecification" yaml:"postFulfillmentStatusSpecification"`
}

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

Example:

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-fulfillmentcodehooksetting.html

type CfnBot_FulfillmentStartResponseSpecificationProperty

type CfnBot_FulfillmentStartResponseSpecificationProperty struct {
	// 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.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-fulfillmentstartresponsespecification.html#cfn-lex-bot-fulfillmentstartresponsespecification-delayinseconds
	//
	DelayInSeconds *float64 `field:"required" json:"delayInSeconds" yaml:"delayInSeconds"`
	// 1 - 5 message groups that contain start messages.
	//
	// Amazon Lex chooses one of the messages to play to the user.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-fulfillmentstartresponsespecification.html#cfn-lex-bot-fulfillmentstartresponsespecification-messagegroups
	//
	MessageGroups interface{} `field:"required" json:"messageGroups" yaml:"messageGroups"`
	// Determines whether the user can interrupt the start message while it is playing.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-fulfillmentstartresponsespecification.html#cfn-lex-bot-fulfillmentstartresponsespecification-allowinterrupt
	//
	AllowInterrupt interface{} `field:"optional" json:"allowInterrupt" yaml:"allowInterrupt"`
}

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

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

fulfillmentStartResponseSpecificationProperty := &FulfillmentStartResponseSpecificationProperty{
	DelayInSeconds: jsii.Number(123),
	MessageGroups: []interface{}{
		&MessageGroupProperty{
			Message: &MessageProperty{
				CustomPayload: &CustomPayloadProperty{
					Value: jsii.String("value"),
				},
				ImageResponseCard: &ImageResponseCardProperty{
					Title: jsii.String("title"),

					// the properties below are optional
					Buttons: []interface{}{
						&ButtonProperty{
							Text: jsii.String("text"),
							Value: jsii.String("value"),
						},
					},
					ImageUrl: jsii.String("imageUrl"),
					Subtitle: jsii.String("subtitle"),
				},
				PlainTextMessage: &PlainTextMessageProperty{
					Value: jsii.String("value"),
				},
				SsmlMessage: &SSMLMessageProperty{
					Value: jsii.String("value"),
				},
			},

			// the properties below are optional
			Variations: []interface{}{
				&MessageProperty{
					CustomPayload: &CustomPayloadProperty{
						Value: jsii.String("value"),
					},
					ImageResponseCard: &ImageResponseCardProperty{
						Title: jsii.String("title"),

						// the properties below are optional
						Buttons: []interface{}{
							&ButtonProperty{
								Text: jsii.String("text"),
								Value: jsii.String("value"),
							},
						},
						ImageUrl: jsii.String("imageUrl"),
						Subtitle: jsii.String("subtitle"),
					},
					PlainTextMessage: &PlainTextMessageProperty{
						Value: jsii.String("value"),
					},
					SsmlMessage: &SSMLMessageProperty{
						Value: jsii.String("value"),
					},
				},
			},
		},
	},

	// the properties below are optional
	AllowInterrupt: jsii.Boolean(false),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-fulfillmentstartresponsespecification.html

type CfnBot_FulfillmentUpdateResponseSpecificationProperty

type CfnBot_FulfillmentUpdateResponseSpecificationProperty struct {
	// 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.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-fulfillmentupdateresponsespecification.html#cfn-lex-bot-fulfillmentupdateresponsespecification-frequencyinseconds
	//
	FrequencyInSeconds *float64 `field:"required" json:"frequencyInSeconds" yaml:"frequencyInSeconds"`
	// 1 - 5 message groups that contain update messages.
	//
	// Amazon Lex chooses one of the messages to play to the user.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-fulfillmentupdateresponsespecification.html#cfn-lex-bot-fulfillmentupdateresponsespecification-messagegroups
	//
	MessageGroups interface{} `field:"required" json:"messageGroups" yaml:"messageGroups"`
	// Determines whether the user can interrupt an update message while it is playing.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-fulfillmentupdateresponsespecification.html#cfn-lex-bot-fulfillmentupdateresponsespecification-allowinterrupt
	//
	AllowInterrupt interface{} `field:"optional" json:"allowInterrupt" yaml:"allowInterrupt"`
}

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

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

fulfillmentUpdateResponseSpecificationProperty := &FulfillmentUpdateResponseSpecificationProperty{
	FrequencyInSeconds: jsii.Number(123),
	MessageGroups: []interface{}{
		&MessageGroupProperty{
			Message: &MessageProperty{
				CustomPayload: &CustomPayloadProperty{
					Value: jsii.String("value"),
				},
				ImageResponseCard: &ImageResponseCardProperty{
					Title: jsii.String("title"),

					// the properties below are optional
					Buttons: []interface{}{
						&ButtonProperty{
							Text: jsii.String("text"),
							Value: jsii.String("value"),
						},
					},
					ImageUrl: jsii.String("imageUrl"),
					Subtitle: jsii.String("subtitle"),
				},
				PlainTextMessage: &PlainTextMessageProperty{
					Value: jsii.String("value"),
				},
				SsmlMessage: &SSMLMessageProperty{
					Value: jsii.String("value"),
				},
			},

			// the properties below are optional
			Variations: []interface{}{
				&MessageProperty{
					CustomPayload: &CustomPayloadProperty{
						Value: jsii.String("value"),
					},
					ImageResponseCard: &ImageResponseCardProperty{
						Title: jsii.String("title"),

						// the properties below are optional
						Buttons: []interface{}{
							&ButtonProperty{
								Text: jsii.String("text"),
								Value: jsii.String("value"),
							},
						},
						ImageUrl: jsii.String("imageUrl"),
						Subtitle: jsii.String("subtitle"),
					},
					PlainTextMessage: &PlainTextMessageProperty{
						Value: jsii.String("value"),
					},
					SsmlMessage: &SSMLMessageProperty{
						Value: jsii.String("value"),
					},
				},
			},
		},
	},

	// the properties below are optional
	AllowInterrupt: jsii.Boolean(false),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-fulfillmentupdateresponsespecification.html

type CfnBot_FulfillmentUpdatesSpecificationProperty

type CfnBot_FulfillmentUpdatesSpecificationProperty struct {
	// Determines whether fulfillment updates are sent to the user. When this field is true, updates are sent.
	//
	// If the `active` field is set to true, the `startResponse` , `updateResponse` , and `timeoutInSeconds` fields are required.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-fulfillmentupdatesspecification.html#cfn-lex-bot-fulfillmentupdatesspecification-active
	//
	Active interface{} `field:"required" json:"active" yaml:"active"`
	// Provides configuration information for the message sent to users when the fulfillment Lambda functions starts running.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-fulfillmentupdatesspecification.html#cfn-lex-bot-fulfillmentupdatesspecification-startresponse
	//
	StartResponse interface{} `field:"optional" json:"startResponse" yaml:"startResponse"`
	// The length of time that the fulfillment Lambda function should run before it times out.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-fulfillmentupdatesspecification.html#cfn-lex-bot-fulfillmentupdatesspecification-timeoutinseconds
	//
	TimeoutInSeconds *float64 `field:"optional" json:"timeoutInSeconds" yaml:"timeoutInSeconds"`
	// Provides configuration information for messages sent periodically to the user while the fulfillment Lambda function is running.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-fulfillmentupdatesspecification.html#cfn-lex-bot-fulfillmentupdatesspecification-updateresponse
	//
	UpdateResponse interface{} `field:"optional" json:"updateResponse" yaml:"updateResponse"`
}

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

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

fulfillmentUpdatesSpecificationProperty := &FulfillmentUpdatesSpecificationProperty{
	Active: jsii.Boolean(false),

	// the properties below are optional
	StartResponse: &FulfillmentStartResponseSpecificationProperty{
		DelayInSeconds: jsii.Number(123),
		MessageGroups: []interface{}{
			&MessageGroupProperty{
				Message: &MessageProperty{
					CustomPayload: &CustomPayloadProperty{
						Value: jsii.String("value"),
					},
					ImageResponseCard: &ImageResponseCardProperty{
						Title: jsii.String("title"),

						// the properties below are optional
						Buttons: []interface{}{
							&ButtonProperty{
								Text: jsii.String("text"),
								Value: jsii.String("value"),
							},
						},
						ImageUrl: jsii.String("imageUrl"),
						Subtitle: jsii.String("subtitle"),
					},
					PlainTextMessage: &PlainTextMessageProperty{
						Value: jsii.String("value"),
					},
					SsmlMessage: &SSMLMessageProperty{
						Value: jsii.String("value"),
					},
				},

				// the properties below are optional
				Variations: []interface{}{
					&MessageProperty{
						CustomPayload: &CustomPayloadProperty{
							Value: jsii.String("value"),
						},
						ImageResponseCard: &ImageResponseCardProperty{
							Title: jsii.String("title"),

							// the properties below are optional
							Buttons: []interface{}{
								&ButtonProperty{
									Text: jsii.String("text"),
									Value: jsii.String("value"),
								},
							},
							ImageUrl: jsii.String("imageUrl"),
							Subtitle: jsii.String("subtitle"),
						},
						PlainTextMessage: &PlainTextMessageProperty{
							Value: jsii.String("value"),
						},
						SsmlMessage: &SSMLMessageProperty{
							Value: jsii.String("value"),
						},
					},
				},
			},
		},

		// the properties below are optional
		AllowInterrupt: jsii.Boolean(false),
	},
	TimeoutInSeconds: jsii.Number(123),
	UpdateResponse: &FulfillmentUpdateResponseSpecificationProperty{
		FrequencyInSeconds: jsii.Number(123),
		MessageGroups: []interface{}{
			&MessageGroupProperty{
				Message: &MessageProperty{
					CustomPayload: &CustomPayloadProperty{
						Value: jsii.String("value"),
					},
					ImageResponseCard: &ImageResponseCardProperty{
						Title: jsii.String("title"),

						// the properties below are optional
						Buttons: []interface{}{
							&ButtonProperty{
								Text: jsii.String("text"),
								Value: jsii.String("value"),
							},
						},
						ImageUrl: jsii.String("imageUrl"),
						Subtitle: jsii.String("subtitle"),
					},
					PlainTextMessage: &PlainTextMessageProperty{
						Value: jsii.String("value"),
					},
					SsmlMessage: &SSMLMessageProperty{
						Value: jsii.String("value"),
					},
				},

				// the properties below are optional
				Variations: []interface{}{
					&MessageProperty{
						CustomPayload: &CustomPayloadProperty{
							Value: jsii.String("value"),
						},
						ImageResponseCard: &ImageResponseCardProperty{
							Title: jsii.String("title"),

							// the properties below are optional
							Buttons: []interface{}{
								&ButtonProperty{
									Text: jsii.String("text"),
									Value: jsii.String("value"),
								},
							},
							ImageUrl: jsii.String("imageUrl"),
							Subtitle: jsii.String("subtitle"),
						},
						PlainTextMessage: &PlainTextMessageProperty{
							Value: jsii.String("value"),
						},
						SsmlMessage: &SSMLMessageProperty{
							Value: jsii.String("value"),
						},
					},
				},
			},
		},

		// the properties below are optional
		AllowInterrupt: jsii.Boolean(false),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-fulfillmentupdatesspecification.html

type CfnBot_GrammarSlotTypeSettingProperty

type CfnBot_GrammarSlotTypeSettingProperty struct {
	// 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
	//
	Source interface{} `field:"optional" json:"source" yaml:"source"`
}

Settings requried for a slot type based on a grammar that you provide.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

grammarSlotTypeSettingProperty := &GrammarSlotTypeSettingProperty{
	Source: &GrammarSlotTypeSourceProperty{
		S3BucketName: jsii.String("s3BucketName"),
		S3ObjectKey: jsii.String("s3ObjectKey"),

		// the properties below are optional
		KmsKeyArn: jsii.String("kmsKeyArn"),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-grammarslottypesetting.html

type CfnBot_GrammarSlotTypeSourceProperty

type CfnBot_GrammarSlotTypeSourceProperty struct {
	// 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
	//
	S3BucketName *string `field:"required" json:"s3BucketName" yaml:"s3BucketName"`
	// 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
	//
	S3ObjectKey *string `field:"required" json:"s3ObjectKey" yaml:"s3ObjectKey"`
	// 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
	//
	KmsKeyArn *string `field:"optional" json:"kmsKeyArn" yaml:"kmsKeyArn"`
}

Describes the Amazon S3 bucket name and location for the grammar that is the source for the slot type.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

grammarSlotTypeSourceProperty := &GrammarSlotTypeSourceProperty{
	S3BucketName: jsii.String("s3BucketName"),
	S3ObjectKey: jsii.String("s3ObjectKey"),

	// the properties below are optional
	KmsKeyArn: jsii.String("kmsKeyArn"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-grammarslottypesource.html

type CfnBot_ImageResponseCardProperty

type CfnBot_ImageResponseCardProperty struct {
	// 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
	//
	Title *string `field:"required" json:"title" yaml:"title"`
	// 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
	//
	Buttons interface{} `field:"optional" json:"buttons" yaml:"buttons"`
	// 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
	//
	ImageUrl *string `field:"optional" json:"imageUrl" yaml:"imageUrl"`
	// 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
	//
	Subtitle *string `field:"optional" json:"subtitle" yaml:"subtitle"`
}

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.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

imageResponseCardProperty := &ImageResponseCardProperty{
	Title: jsii.String("title"),

	// the properties below are optional
	Buttons: []interface{}{
		&ButtonProperty{
			Text: jsii.String("text"),
			Value: jsii.String("value"),
		},
	},
	ImageUrl: jsii.String("imageUrl"),
	Subtitle: jsii.String("subtitle"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-imageresponsecard.html

type CfnBot_InitialResponseSettingProperty added in v2.63.0

type CfnBot_InitialResponseSettingProperty struct {
	// 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
	//
	CodeHook interface{} `field:"optional" json:"codeHook" yaml:"codeHook"`
	// 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
	//
	Conditional interface{} `field:"optional" json:"conditional" yaml:"conditional"`
	// 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
	//
	InitialResponse interface{} `field:"optional" json:"initialResponse" yaml:"initialResponse"`
	// 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
	//
	NextStep interface{} `field:"optional" json:"nextStep" yaml:"nextStep"`
}

Configuration setting for a response sent to the user before Amazon Lex starts eliciting slots.

Example:

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-initialresponsesetting.html

type CfnBot_InputContextProperty

type CfnBot_InputContextProperty struct {
	// The name of the context.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-inputcontext.html#cfn-lex-bot-inputcontext-name
	//
	Name *string `field:"required" json:"name" yaml:"name"`
}

A context that must be active for an intent to be selected by Amazon Lex.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

inputContextProperty := &InputContextProperty{
	Name: jsii.String("name"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-inputcontext.html

type CfnBot_IntentClosingSettingProperty

type CfnBot_IntentClosingSettingProperty struct {
	// The response that Amazon Lex sends to the user when the intent is complete.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-intentclosingsetting.html#cfn-lex-bot-intentclosingsetting-closingresponse
	//
	ClosingResponse interface{} `field:"optional" json:"closingResponse" yaml:"closingResponse"`
	// A list of conditional branches associated with the intent's closing response.
	//
	// These branches are executed when the `nextStep` attribute is set to `EvalutateConditional` .
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-intentclosingsetting.html#cfn-lex-bot-intentclosingsetting-conditional
	//
	Conditional interface{} `field:"optional" json:"conditional" yaml:"conditional"`
	// 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 `IsActive` field isn't specified, the default is true.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-intentclosingsetting.html#cfn-lex-bot-intentclosingsetting-isactive
	//
	IsActive interface{} `field:"optional" json:"isActive" yaml:"isActive"`
	// Specifies the next step that the bot executes after playing the intent's closing response.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-intentclosingsetting.html#cfn-lex-bot-intentclosingsetting-nextstep
	//
	NextStep interface{} `field:"optional" json:"nextStep" yaml:"nextStep"`
}

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

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

var slotValueOverrideProperty_ slotValueOverrideProperty

intentClosingSettingProperty := &IntentClosingSettingProperty{
	ClosingResponse: &ResponseSpecificationProperty{
		MessageGroupsList: []interface{}{
			&MessageGroupProperty{
				Message: &MessageProperty{
					CustomPayload: &CustomPayloadProperty{
						Value: jsii.String("value"),
					},
					ImageResponseCard: &ImageResponseCardProperty{
						Title: jsii.String("title"),

						// the properties below are optional
						Buttons: []interface{}{
							&ButtonProperty{
								Text: jsii.String("text"),
								Value: jsii.String("value"),
							},
						},
						ImageUrl: jsii.String("imageUrl"),
						Subtitle: jsii.String("subtitle"),
					},
					PlainTextMessage: &PlainTextMessageProperty{
						Value: jsii.String("value"),
					},
					SsmlMessage: &SSMLMessageProperty{
						Value: jsii.String("value"),
					},
				},

				// the properties below are optional
				Variations: []interface{}{
					&MessageProperty{
						CustomPayload: &CustomPayloadProperty{
							Value: jsii.String("value"),
						},
						ImageResponseCard: &ImageResponseCardProperty{
							Title: jsii.String("title"),

							// the properties below are optional
							Buttons: []interface{}{
								&ButtonProperty{
									Text: jsii.String("text"),
									Value: jsii.String("value"),
								},
							},
							ImageUrl: jsii.String("imageUrl"),
							Subtitle: jsii.String("subtitle"),
						},
						PlainTextMessage: &PlainTextMessageProperty{
							Value: jsii.String("value"),
						},
						SsmlMessage: &SSMLMessageProperty{
							Value: jsii.String("value"),
						},
					},
				},
			},
		},

		// the properties below are optional
		AllowInterrupt: jsii.Boolean(false),
	},
	Conditional: &ConditionalSpecificationProperty{
		ConditionalBranches: []interface{}{
			&ConditionalBranchProperty{
				Condition: &ConditionProperty{
					ExpressionString: jsii.String("expressionString"),
				},
				Name: jsii.String("name"),
				NextStep: &DialogStateProperty{
					DialogAction: &DialogActionProperty{
						Type: jsii.String("type"),

						// the properties below are optional
						SlotToElicit: jsii.String("slotToElicit"),
						SuppressNextMessage: jsii.Boolean(false),
					},
					Intent: &IntentOverrideProperty{
						Name: jsii.String("name"),
						Slots: []interface{}{
							&SlotValueOverrideMapProperty{
								SlotName: jsii.String("slotName"),
								SlotValueOverride: &slotValueOverrideProperty{
									Shape: jsii.String("shape"),
									Value: &SlotValueProperty{
										InterpretedValue: jsii.String("interpretedValue"),
									},
									Values: []interface{}{
										slotValueOverrideProperty_,
									},
								},
							},
						},
					},
					SessionAttributes: []interface{}{
						&SessionAttributeProperty{
							Key: jsii.String("key"),

							// the properties below are optional
							Value: jsii.String("value"),
						},
					},
				},

				// the properties below are optional
				Response: &ResponseSpecificationProperty{
					MessageGroupsList: []interface{}{
						&MessageGroupProperty{
							Message: &MessageProperty{
								CustomPayload: &CustomPayloadProperty{
									Value: jsii.String("value"),
								},
								ImageResponseCard: &ImageResponseCardProperty{
									Title: jsii.String("title"),

									// the properties below are optional
									Buttons: []interface{}{
										&ButtonProperty{
											Text: jsii.String("text"),
											Value: jsii.String("value"),
										},
									},
									ImageUrl: jsii.String("imageUrl"),
									Subtitle: jsii.String("subtitle"),
								},
								PlainTextMessage: &PlainTextMessageProperty{
									Value: jsii.String("value"),
								},
								SsmlMessage: &SSMLMessageProperty{
									Value: jsii.String("value"),
								},
							},

							// the properties below are optional
							Variations: []interface{}{
								&MessageProperty{
									CustomPayload: &CustomPayloadProperty{
										Value: jsii.String("value"),
									},
									ImageResponseCard: &ImageResponseCardProperty{
										Title: jsii.String("title"),

										// the properties below are optional
										Buttons: []interface{}{
											&ButtonProperty{
												Text: jsii.String("text"),
												Value: jsii.String("value"),
											},
										},
										ImageUrl: jsii.String("imageUrl"),
										Subtitle: jsii.String("subtitle"),
									},
									PlainTextMessage: &PlainTextMessageProperty{
										Value: jsii.String("value"),
									},
									SsmlMessage: &SSMLMessageProperty{
										Value: jsii.String("value"),
									},
								},
							},
						},
					},

					// the properties below are optional
					AllowInterrupt: jsii.Boolean(false),
				},
			},
		},
		DefaultBranch: &DefaultConditionalBranchProperty{
			NextStep: &DialogStateProperty{
				DialogAction: &DialogActionProperty{
					Type: jsii.String("type"),

					// the properties below are optional
					SlotToElicit: jsii.String("slotToElicit"),
					SuppressNextMessage: jsii.Boolean(false),
				},
				Intent: &IntentOverrideProperty{
					Name: jsii.String("name"),
					Slots: []interface{}{
						&SlotValueOverrideMapProperty{
							SlotName: jsii.String("slotName"),
							SlotValueOverride: &slotValueOverrideProperty{
								Shape: jsii.String("shape"),
								Value: &SlotValueProperty{
									InterpretedValue: jsii.String("interpretedValue"),
								},
								Values: []interface{}{
									slotValueOverrideProperty_,
								},
							},
						},
					},
				},
				SessionAttributes: []interface{}{
					&SessionAttributeProperty{
						Key: jsii.String("key"),

						// the properties below are optional
						Value: jsii.String("value"),
					},
				},
			},
			Response: &ResponseSpecificationProperty{
				MessageGroupsList: []interface{}{
					&MessageGroupProperty{
						Message: &MessageProperty{
							CustomPayload: &CustomPayloadProperty{
								Value: jsii.String("value"),
							},
							ImageResponseCard: &ImageResponseCardProperty{
								Title: jsii.String("title"),

								// the properties below are optional
								Buttons: []interface{}{
									&ButtonProperty{
										Text: jsii.String("text"),
										Value: jsii.String("value"),
									},
								},
								ImageUrl: jsii.String("imageUrl"),
								Subtitle: jsii.String("subtitle"),
							},
							PlainTextMessage: &PlainTextMessageProperty{
								Value: jsii.String("value"),
							},
							SsmlMessage: &SSMLMessageProperty{
								Value: jsii.String("value"),
							},
						},

						// the properties below are optional
						Variations: []interface{}{
							&MessageProperty{
								CustomPayload: &CustomPayloadProperty{
									Value: jsii.String("value"),
								},
								ImageResponseCard: &ImageResponseCardProperty{
									Title: jsii.String("title"),

									// the properties below are optional
									Buttons: []interface{}{
										&ButtonProperty{
											Text: jsii.String("text"),
											Value: jsii.String("value"),
										},
									},
									ImageUrl: jsii.String("imageUrl"),
									Subtitle: jsii.String("subtitle"),
								},
								PlainTextMessage: &PlainTextMessageProperty{
									Value: jsii.String("value"),
								},
								SsmlMessage: &SSMLMessageProperty{
									Value: jsii.String("value"),
								},
							},
						},
					},
				},

				// the properties below are optional
				AllowInterrupt: jsii.Boolean(false),
			},
		},
		IsActive: jsii.Boolean(false),
	},
	IsActive: jsii.Boolean(false),
	NextStep: &DialogStateProperty{
		DialogAction: &DialogActionProperty{
			Type: jsii.String("type"),

			// the properties below are optional
			SlotToElicit: jsii.String("slotToElicit"),
			SuppressNextMessage: jsii.Boolean(false),
		},
		Intent: &IntentOverrideProperty{
			Name: jsii.String("name"),
			Slots: []interface{}{
				&SlotValueOverrideMapProperty{
					SlotName: jsii.String("slotName"),
					SlotValueOverride: &slotValueOverrideProperty{
						Shape: jsii.String("shape"),
						Value: &SlotValueProperty{
							InterpretedValue: jsii.String("interpretedValue"),
						},
						Values: []interface{}{
							slotValueOverrideProperty_,
						},
					},
				},
			},
		},
		SessionAttributes: []interface{}{
			&SessionAttributeProperty{
				Key: jsii.String("key"),

				// the properties below are optional
				Value: jsii.String("value"),
			},
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-intentclosingsetting.html

type CfnBot_IntentConfirmationSettingProperty

type CfnBot_IntentConfirmationSettingProperty struct {
	// Prompts the user to confirm the intent. This question should have a yes or no answer.
	//
	// Amazon Lex uses this prompt to ensure that the user acknowledges that the intent is ready for fulfillment. For example, with the `OrderPizza` intent, you might want to confirm that the order is correct before placing it. For other intents, such as intents that simply respond to user questions, you might not need to ask the user for confirmation before providing the information.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-intentconfirmationsetting.html#cfn-lex-bot-intentconfirmationsetting-promptspecification
	//
	PromptSpecification interface{} `field:"required" json:"promptSpecification" yaml:"promptSpecification"`
	// The `DialogCodeHookInvocationSetting` object associated with intent's confirmation step.
	//
	// The dialog code hook is triggered based on these invocation settings when the confirmation next step or declination next step or failure next step is `InvokeDialogCodeHook` .
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-intentconfirmationsetting.html#cfn-lex-bot-intentconfirmationsetting-codehook
	//
	CodeHook interface{} `field:"optional" json:"codeHook" yaml:"codeHook"`
	// A list of conditional branches to evaluate after the intent is closed.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-intentconfirmationsetting.html#cfn-lex-bot-intentconfirmationsetting-confirmationconditional
	//
	ConfirmationConditional interface{} `field:"optional" json:"confirmationConditional" yaml:"confirmationConditional"`
	// Specifies the next step that the bot executes when the customer confirms the intent.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-intentconfirmationsetting.html#cfn-lex-bot-intentconfirmationsetting-confirmationnextstep
	//
	ConfirmationNextStep interface{} `field:"optional" json:"confirmationNextStep" yaml:"confirmationNextStep"`
	// 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-intentconfirmationsetting.html#cfn-lex-bot-intentconfirmationsetting-confirmationresponse
	//
	ConfirmationResponse interface{} `field:"optional" json:"confirmationResponse" yaml:"confirmationResponse"`
	// A list of conditional branches to evaluate after the intent is declined.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-intentconfirmationsetting.html#cfn-lex-bot-intentconfirmationsetting-declinationconditional
	//
	DeclinationConditional interface{} `field:"optional" json:"declinationConditional" yaml:"declinationConditional"`
	// Specifies the next step that the bot executes when the customer declines the intent.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-intentconfirmationsetting.html#cfn-lex-bot-intentconfirmationsetting-declinationnextstep
	//
	DeclinationNextStep interface{} `field:"optional" json:"declinationNextStep" yaml:"declinationNextStep"`
	// When the user answers "no" to the question defined in `promptSpecification` , Amazon Lex responds with this response to acknowledge that the intent was canceled.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-intentconfirmationsetting.html#cfn-lex-bot-intentconfirmationsetting-declinationresponse
	//
	DeclinationResponse interface{} `field:"optional" json:"declinationResponse" yaml:"declinationResponse"`
	// The `DialogCodeHookInvocationSetting` used when the code hook is invoked during confirmation prompt retries.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-intentconfirmationsetting.html#cfn-lex-bot-intentconfirmationsetting-elicitationcodehook
	//
	ElicitationCodeHook interface{} `field:"optional" json:"elicitationCodeHook" yaml:"elicitationCodeHook"`
	// 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-intentconfirmationsetting.html#cfn-lex-bot-intentconfirmationsetting-failureconditional
	//
	FailureConditional interface{} `field:"optional" json:"failureConditional" yaml:"failureConditional"`
	// The next step to take in the conversation if the confirmation step fails.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-intentconfirmationsetting.html#cfn-lex-bot-intentconfirmationsetting-failurenextstep
	//
	FailureNextStep interface{} `field:"optional" json:"failureNextStep" yaml:"failureNextStep"`
	// Specifies a list of message groups that Amazon Lex uses to respond the user input when the intent confirmation fails.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-intentconfirmationsetting.html#cfn-lex-bot-intentconfirmationsetting-failureresponse
	//
	FailureResponse interface{} `field:"optional" json:"failureResponse" yaml:"failureResponse"`
	// 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 `IsActive` field isn't specified, the default is true.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-intentconfirmationsetting.html#cfn-lex-bot-intentconfirmationsetting-isactive
	//
	IsActive interface{} `field:"optional" json:"isActive" yaml:"isActive"`
}

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

Example:

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-intentconfirmationsetting.html

type CfnBot_IntentOverrideProperty added in v2.63.0

type CfnBot_IntentOverrideProperty struct {
	// The name of the intent.
	//
	// Only required when you're switching intents.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-intentoverride.html#cfn-lex-bot-intentoverride-name
	//
	Name *string `field:"optional" json:"name" yaml:"name"`
	// A map of all of the slot value overrides for the intent.
	//
	// The name of the slot maps to the value of the slot. Slots that are not included in the map aren't overridden.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-intentoverride.html#cfn-lex-bot-intentoverride-slots
	//
	Slots interface{} `field:"optional" json:"slots" yaml:"slots"`
}

Override settings to configure the intent state.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

var slotValueOverrideProperty_ slotValueOverrideProperty

intentOverrideProperty := &IntentOverrideProperty{
	Name: jsii.String("name"),
	Slots: []interface{}{
		&SlotValueOverrideMapProperty{
			SlotName: jsii.String("slotName"),
			SlotValueOverride: &slotValueOverrideProperty{
				Shape: jsii.String("shape"),
				Value: &SlotValueProperty{
					InterpretedValue: jsii.String("interpretedValue"),
				},
				Values: []interface{}{
					slotValueOverrideProperty_,
				},
			},
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-intentoverride.html

type CfnBot_IntentProperty

type CfnBot_IntentProperty struct {
	// 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
	//
	Name *string `field:"required" json:"name" yaml:"name"`
	// 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
	//
	Description *string `field:"optional" json:"description" yaml:"description"`
	// 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
	//
	DialogCodeHook interface{} `field:"optional" json:"dialogCodeHook" yaml:"dialogCodeHook"`
	// 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
	//
	FulfillmentCodeHook interface{} `field:"optional" json:"fulfillmentCodeHook" yaml:"fulfillmentCodeHook"`
	// 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
	//
	InitialResponseSetting interface{} `field:"optional" json:"initialResponseSetting" yaml:"initialResponseSetting"`
	// 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
	//
	InputContexts interface{} `field:"optional" json:"inputContexts" yaml:"inputContexts"`
	// 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
	//
	IntentClosingSetting interface{} `field:"optional" json:"intentClosingSetting" yaml:"intentClosingSetting"`
	// 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
	//
	IntentConfirmationSetting interface{} `field:"optional" json:"intentConfirmationSetting" yaml:"intentConfirmationSetting"`
	// 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
	//
	KendraConfiguration interface{} `field:"optional" json:"kendraConfiguration" yaml:"kendraConfiguration"`
	// 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
	//
	OutputContexts interface{} `field:"optional" json:"outputContexts" yaml:"outputContexts"`
	// 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
	//
	ParentIntentSignature *string `field:"optional" json:"parentIntentSignature" yaml:"parentIntentSignature"`
	// 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
	//
	SampleUtterances interface{} `field:"optional" json:"sampleUtterances" yaml:"sampleUtterances"`
	// 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
	//
	SlotPriorities interface{} `field:"optional" json:"slotPriorities" yaml:"slotPriorities"`
	// 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
	//
	Slots interface{} `field:"optional" json:"slots" yaml:"slots"`
}

Represents an action that the user wants to perform.

Example:

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-intent.html

type CfnBot_KendraConfigurationProperty

type CfnBot_KendraConfigurationProperty struct {
	// The Amazon Resource Name (ARN) of the Amazon Kendra index that you want the `AMAZON.KendraSearchIntent` intent to search. The index must be in the same account and Region as the Amazon Lex bot.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-kendraconfiguration.html#cfn-lex-bot-kendraconfiguration-kendraindex
	//
	KendraIndex *string `field:"required" json:"kendraIndex" yaml:"kendraIndex"`
	// A query filter that Amazon Lex sends to Amazon Kendra to filter the response from a query.
	//
	// The filter is in the format defined by Amazon Kendra. For more information, see [Filtering queries](https://docs.aws.amazon.com/kendra/latest/dg/filtering.html) .
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-kendraconfiguration.html#cfn-lex-bot-kendraconfiguration-queryfilterstring
	//
	QueryFilterString *string `field:"optional" json:"queryFilterString" yaml:"queryFilterString"`
	// Determines whether the `AMAZON.KendraSearchIntent` intent uses a custom query string to query the Amazon Kendra index.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-kendraconfiguration.html#cfn-lex-bot-kendraconfiguration-queryfilterstringenabled
	//
	QueryFilterStringEnabled interface{} `field:"optional" json:"queryFilterStringEnabled" yaml:"queryFilterStringEnabled"`
}

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.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

kendraConfigurationProperty := &KendraConfigurationProperty{
	KendraIndex: jsii.String("kendraIndex"),

	// the properties below are optional
	QueryFilterString: jsii.String("queryFilterString"),
	QueryFilterStringEnabled: jsii.Boolean(false),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-kendraconfiguration.html

type CfnBot_LambdaCodeHookProperty added in v2.18.0

type CfnBot_LambdaCodeHookProperty struct {
	// The version of the request-response that you want Amazon Lex to use to invoke your Lambda function.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-lambdacodehook.html#cfn-lex-bot-lambdacodehook-codehookinterfaceversion
	//
	CodeHookInterfaceVersion *string `field:"required" json:"codeHookInterfaceVersion" yaml:"codeHookInterfaceVersion"`
	// The Amazon Resource Name (ARN) of the Lambda function.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-lambdacodehook.html#cfn-lex-bot-lambdacodehook-lambdaarn
	//
	LambdaArn *string `field:"required" json:"lambdaArn" yaml:"lambdaArn"`
}

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

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

lambdaCodeHookProperty := &LambdaCodeHookProperty{
	CodeHookInterfaceVersion: jsii.String("codeHookInterfaceVersion"),
	LambdaArn: jsii.String("lambdaArn"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-lambdacodehook.html

type CfnBot_MessageGroupProperty

type CfnBot_MessageGroupProperty struct {
	// 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
	//
	Message interface{} `field:"required" json:"message" yaml:"message"`
	// 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
	//
	Variations interface{} `field:"optional" json:"variations" yaml:"variations"`
}

Provides one or more messages that Amazon Lex should send to the user.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

messageGroupProperty := &MessageGroupProperty{
	Message: &MessageProperty{
		CustomPayload: &CustomPayloadProperty{
			Value: jsii.String("value"),
		},
		ImageResponseCard: &ImageResponseCardProperty{
			Title: jsii.String("title"),

			// the properties below are optional
			Buttons: []interface{}{
				&ButtonProperty{
					Text: jsii.String("text"),
					Value: jsii.String("value"),
				},
			},
			ImageUrl: jsii.String("imageUrl"),
			Subtitle: jsii.String("subtitle"),
		},
		PlainTextMessage: &PlainTextMessageProperty{
			Value: jsii.String("value"),
		},
		SsmlMessage: &SSMLMessageProperty{
			Value: jsii.String("value"),
		},
	},

	// the properties below are optional
	Variations: []interface{}{
		&MessageProperty{
			CustomPayload: &CustomPayloadProperty{
				Value: jsii.String("value"),
			},
			ImageResponseCard: &ImageResponseCardProperty{
				Title: jsii.String("title"),

				// the properties below are optional
				Buttons: []interface{}{
					&ButtonProperty{
						Text: jsii.String("text"),
						Value: jsii.String("value"),
					},
				},
				ImageUrl: jsii.String("imageUrl"),
				Subtitle: jsii.String("subtitle"),
			},
			PlainTextMessage: &PlainTextMessageProperty{
				Value: jsii.String("value"),
			},
			SsmlMessage: &SSMLMessageProperty{
				Value: jsii.String("value"),
			},
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-messagegroup.html

type CfnBot_MessageProperty

type CfnBot_MessageProperty struct {
	// 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
	//
	CustomPayload interface{} `field:"optional" json:"customPayload" yaml:"customPayload"`
	// 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
	//
	ImageResponseCard interface{} `field:"optional" json:"imageResponseCard" yaml:"imageResponseCard"`
	// 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
	//
	PlainTextMessage interface{} `field:"optional" json:"plainTextMessage" yaml:"plainTextMessage"`
	// 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
	//
	SsmlMessage interface{} `field:"optional" json:"ssmlMessage" yaml:"ssmlMessage"`
}

The object that provides message text and its type.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

messageProperty := &MessageProperty{
	CustomPayload: &CustomPayloadProperty{
		Value: jsii.String("value"),
	},
	ImageResponseCard: &ImageResponseCardProperty{
		Title: jsii.String("title"),

		// the properties below are optional
		Buttons: []interface{}{
			&ButtonProperty{
				Text: jsii.String("text"),
				Value: jsii.String("value"),
			},
		},
		ImageUrl: jsii.String("imageUrl"),
		Subtitle: jsii.String("subtitle"),
	},
	PlainTextMessage: &PlainTextMessageProperty{
		Value: jsii.String("value"),
	},
	SsmlMessage: &SSMLMessageProperty{
		Value: jsii.String("value"),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-message.html

type CfnBot_MultipleValuesSettingProperty

type CfnBot_MultipleValuesSettingProperty struct {
	// Indicates whether a slot can return multiple values.
	//
	// When `true` , the slot may return more than one value in a response. When `false` , the slot returns only a single value.
	//
	// Multi-value slots are only available in the en-US locale. If you set this value to `true` in any other locale, Amazon Lex throws a `ValidationException` .
	//
	// If the `allowMutlipleValues` is not set, the default value is `false` .
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-multiplevaluessetting.html#cfn-lex-bot-multiplevaluessetting-allowmultiplevalues
	//
	AllowMultipleValues interface{} `field:"optional" json:"allowMultipleValues" yaml:"allowMultipleValues"`
}

Indicates whether a slot can return multiple values.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

multipleValuesSettingProperty := &MultipleValuesSettingProperty{
	AllowMultipleValues: jsii.Boolean(false),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-multiplevaluessetting.html

type CfnBot_ObfuscationSettingProperty

type CfnBot_ObfuscationSettingProperty struct {
	// Value that determines whether Amazon Lex obscures slot values in conversation logs.
	//
	// The default is to obscure the values.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-obfuscationsetting.html#cfn-lex-bot-obfuscationsetting-obfuscationsettingtype
	//
	ObfuscationSettingType *string `field:"required" json:"obfuscationSettingType" yaml:"obfuscationSettingType"`
}

Determines whether Amazon Lex obscures slot values in conversation logs.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

obfuscationSettingProperty := &ObfuscationSettingProperty{
	ObfuscationSettingType: jsii.String("obfuscationSettingType"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-obfuscationsetting.html

type CfnBot_OutputContextProperty

type CfnBot_OutputContextProperty struct {
	// The name of the output context.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-outputcontext.html#cfn-lex-bot-outputcontext-name
	//
	Name *string `field:"required" json:"name" yaml:"name"`
	// The amount of time, in seconds, that the output context should remain active.
	//
	// The time is figured from the first time the context is sent to the user.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-outputcontext.html#cfn-lex-bot-outputcontext-timetoliveinseconds
	//
	TimeToLiveInSeconds *float64 `field:"required" json:"timeToLiveInSeconds" yaml:"timeToLiveInSeconds"`
	// The number of conversation turns that the output context should remain active.
	//
	// The number of turns is counted from the first time that the context is sent to the user.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-outputcontext.html#cfn-lex-bot-outputcontext-turnstolive
	//
	TurnsToLive *float64 `field:"required" json:"turnsToLive" yaml:"turnsToLive"`
}

Describes a session context that is activated when an intent is fulfilled.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

outputContextProperty := &OutputContextProperty{
	Name: jsii.String("name"),
	TimeToLiveInSeconds: jsii.Number(123),
	TurnsToLive: jsii.Number(123),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-outputcontext.html

type CfnBot_PlainTextMessageProperty

type CfnBot_PlainTextMessageProperty struct {
	// 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
	//
	Value *string `field:"required" json:"value" yaml:"value"`
}

Defines an ASCII text message to send to the user.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

plainTextMessageProperty := &PlainTextMessageProperty{
	Value: jsii.String("value"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-plaintextmessage.html

type CfnBot_PostDialogCodeHookInvocationSpecificationProperty added in v2.63.0

type CfnBot_PostDialogCodeHookInvocationSpecificationProperty struct {
	// 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
	//
	FailureConditional interface{} `field:"optional" json:"failureConditional" yaml:"failureConditional"`
	// 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
	//
	FailureNextStep interface{} `field:"optional" json:"failureNextStep" yaml:"failureNextStep"`
	// 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
	//
	FailureResponse interface{} `field:"optional" json:"failureResponse" yaml:"failureResponse"`
	// 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
	//
	SuccessConditional interface{} `field:"optional" json:"successConditional" yaml:"successConditional"`
	// 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
	//
	SuccessNextStep interface{} `field:"optional" json:"successNextStep" yaml:"successNextStep"`
	// 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
	//
	SuccessResponse interface{} `field:"optional" json:"successResponse" yaml:"successResponse"`
	// 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
	//
	TimeoutConditional interface{} `field:"optional" json:"timeoutConditional" yaml:"timeoutConditional"`
	// 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
	//
	TimeoutNextStep interface{} `field:"optional" json:"timeoutNextStep" yaml:"timeoutNextStep"`
	// 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
	//
	TimeoutResponse interface{} `field:"optional" json:"timeoutResponse" yaml:"timeoutResponse"`
}

Specifies next steps to run after the dialog code hook finishes.

Example:

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-postdialogcodehookinvocationspecification.html

type CfnBot_PostFulfillmentStatusSpecificationProperty

type CfnBot_PostFulfillmentStatusSpecificationProperty struct {
	// A list of conditional branches to evaluate after the fulfillment 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-postfulfillmentstatusspecification.html#cfn-lex-bot-postfulfillmentstatusspecification-failureconditional
	//
	FailureConditional interface{} `field:"optional" json:"failureConditional" yaml:"failureConditional"`
	// Specifies the next step the bot runs after the fulfillment 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-postfulfillmentstatusspecification.html#cfn-lex-bot-postfulfillmentstatusspecification-failurenextstep
	//
	FailureNextStep interface{} `field:"optional" json:"failureNextStep" yaml:"failureNextStep"`
	// Specifies a list of message groups that Amazon Lex uses to respond when fulfillment isn't successful.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-postfulfillmentstatusspecification.html#cfn-lex-bot-postfulfillmentstatusspecification-failureresponse
	//
	FailureResponse interface{} `field:"optional" json:"failureResponse" yaml:"failureResponse"`
	// A list of conditional branches to evaluate after the fulfillment code hook finishes successfully.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-postfulfillmentstatusspecification.html#cfn-lex-bot-postfulfillmentstatusspecification-successconditional
	//
	SuccessConditional interface{} `field:"optional" json:"successConditional" yaml:"successConditional"`
	// Specifies the next step in the conversation that Amazon Lex invokes when the fulfillment code hook completes successfully.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-postfulfillmentstatusspecification.html#cfn-lex-bot-postfulfillmentstatusspecification-successnextstep
	//
	SuccessNextStep interface{} `field:"optional" json:"successNextStep" yaml:"successNextStep"`
	// Specifies a list of message groups that Amazon Lex uses to respond when the fulfillment is successful.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-postfulfillmentstatusspecification.html#cfn-lex-bot-postfulfillmentstatusspecification-successresponse
	//
	SuccessResponse interface{} `field:"optional" json:"successResponse" yaml:"successResponse"`
	// A list of conditional branches to evaluate if the fulfillment code hook times out.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-postfulfillmentstatusspecification.html#cfn-lex-bot-postfulfillmentstatusspecification-timeoutconditional
	//
	TimeoutConditional interface{} `field:"optional" json:"timeoutConditional" yaml:"timeoutConditional"`
	// Specifies the next step that the bot runs when the fulfillment code hook times out.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-postfulfillmentstatusspecification.html#cfn-lex-bot-postfulfillmentstatusspecification-timeoutnextstep
	//
	TimeoutNextStep interface{} `field:"optional" json:"timeoutNextStep" yaml:"timeoutNextStep"`
	// Specifies a list of message groups that Amazon Lex uses to respond when fulfillment isn't completed within the timeout period.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-postfulfillmentstatusspecification.html#cfn-lex-bot-postfulfillmentstatusspecification-timeoutresponse
	//
	TimeoutResponse interface{} `field:"optional" json:"timeoutResponse" yaml:"timeoutResponse"`
}

Provides a setting that determines whether the post-fulfillment response is sent to the user.

For more information, see [](https://docs.aws.amazon.com/lexv2/latest/dg/streaming-progress.html#progress-complete)

Example:

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-postfulfillmentstatusspecification.html

type CfnBot_PromptAttemptSpecificationProperty added in v2.48.0

type CfnBot_PromptAttemptSpecificationProperty struct {
	// Indicates the allowed input types of the prompt attempt.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-promptattemptspecification.html#cfn-lex-bot-promptattemptspecification-allowedinputtypes
	//
	AllowedInputTypes interface{} `field:"required" json:"allowedInputTypes" yaml:"allowedInputTypes"`
	// Indicates whether the user can interrupt a speech prompt attempt from the bot.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-promptattemptspecification.html#cfn-lex-bot-promptattemptspecification-allowinterrupt
	//
	AllowInterrupt interface{} `field:"optional" json:"allowInterrupt" yaml:"allowInterrupt"`
	// Specifies the settings on audio and DTMF input.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-promptattemptspecification.html#cfn-lex-bot-promptattemptspecification-audioanddtmfinputspecification
	//
	AudioAndDtmfInputSpecification interface{} `field:"optional" json:"audioAndDtmfInputSpecification" yaml:"audioAndDtmfInputSpecification"`
	// Specifies the settings on text input.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-promptattemptspecification.html#cfn-lex-bot-promptattemptspecification-textinputspecification
	//
	TextInputSpecification interface{} `field:"optional" json:"textInputSpecification" yaml:"textInputSpecification"`
}

Specifies the settings on a prompt attempt.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

promptAttemptSpecificationProperty := &PromptAttemptSpecificationProperty{
	AllowedInputTypes: &AllowedInputTypesProperty{
		AllowAudioInput: jsii.Boolean(false),
		AllowDtmfInput: jsii.Boolean(false),
	},

	// the properties below are optional
	AllowInterrupt: jsii.Boolean(false),
	AudioAndDtmfInputSpecification: &AudioAndDTMFInputSpecificationProperty{
		StartTimeoutMs: jsii.Number(123),

		// the properties below are optional
		AudioSpecification: &AudioSpecificationProperty{
			EndTimeoutMs: jsii.Number(123),
			MaxLengthMs: jsii.Number(123),
		},
		DtmfSpecification: &DTMFSpecificationProperty{
			DeletionCharacter: jsii.String("deletionCharacter"),
			EndCharacter: jsii.String("endCharacter"),
			EndTimeoutMs: jsii.Number(123),
			MaxLength: jsii.Number(123),
		},
	},
	TextInputSpecification: &TextInputSpecificationProperty{
		StartTimeoutMs: jsii.Number(123),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-promptattemptspecification.html

type CfnBot_PromptSpecificationProperty

type CfnBot_PromptSpecificationProperty struct {
	// The maximum number of times the bot tries to elicit a response from the user using this prompt.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-promptspecification.html#cfn-lex-bot-promptspecification-maxretries
	//
	MaxRetries *float64 `field:"required" json:"maxRetries" yaml:"maxRetries"`
	// A collection of messages that Amazon Lex can send to the user.
	//
	// Amazon Lex chooses the actual message to send at runtime.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-promptspecification.html#cfn-lex-bot-promptspecification-messagegroupslist
	//
	MessageGroupsList interface{} `field:"required" json:"messageGroupsList" yaml:"messageGroupsList"`
	// Indicates whether the user can interrupt a speech prompt from the bot.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-promptspecification.html#cfn-lex-bot-promptspecification-allowinterrupt
	//
	AllowInterrupt interface{} `field:"optional" json:"allowInterrupt" yaml:"allowInterrupt"`
	// Indicates how a message is selected from a message group among retries.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-promptspecification.html#cfn-lex-bot-promptspecification-messageselectionstrategy
	//
	MessageSelectionStrategy *string `field:"optional" json:"messageSelectionStrategy" yaml:"messageSelectionStrategy"`
	// Specifies the advanced settings on each attempt of the prompt.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-promptspecification.html#cfn-lex-bot-promptspecification-promptattemptsspecification
	//
	PromptAttemptsSpecification interface{} `field:"optional" json:"promptAttemptsSpecification" yaml:"promptAttemptsSpecification"`
}

Specifies a list of message groups that Amazon Lex sends to a user to elicit a response.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

promptSpecificationProperty := &PromptSpecificationProperty{
	MaxRetries: jsii.Number(123),
	MessageGroupsList: []interface{}{
		&MessageGroupProperty{
			Message: &MessageProperty{
				CustomPayload: &CustomPayloadProperty{
					Value: jsii.String("value"),
				},
				ImageResponseCard: &ImageResponseCardProperty{
					Title: jsii.String("title"),

					// the properties below are optional
					Buttons: []interface{}{
						&ButtonProperty{
							Text: jsii.String("text"),
							Value: jsii.String("value"),
						},
					},
					ImageUrl: jsii.String("imageUrl"),
					Subtitle: jsii.String("subtitle"),
				},
				PlainTextMessage: &PlainTextMessageProperty{
					Value: jsii.String("value"),
				},
				SsmlMessage: &SSMLMessageProperty{
					Value: jsii.String("value"),
				},
			},

			// the properties below are optional
			Variations: []interface{}{
				&MessageProperty{
					CustomPayload: &CustomPayloadProperty{
						Value: jsii.String("value"),
					},
					ImageResponseCard: &ImageResponseCardProperty{
						Title: jsii.String("title"),

						// the properties below are optional
						Buttons: []interface{}{
							&ButtonProperty{
								Text: jsii.String("text"),
								Value: jsii.String("value"),
							},
						},
						ImageUrl: jsii.String("imageUrl"),
						Subtitle: jsii.String("subtitle"),
					},
					PlainTextMessage: &PlainTextMessageProperty{
						Value: jsii.String("value"),
					},
					SsmlMessage: &SSMLMessageProperty{
						Value: jsii.String("value"),
					},
				},
			},
		},
	},

	// the properties below are optional
	AllowInterrupt: jsii.Boolean(false),
	MessageSelectionStrategy: jsii.String("messageSelectionStrategy"),
	PromptAttemptsSpecification: map[string]interface{}{
		"promptAttemptsSpecificationKey": &PromptAttemptSpecificationProperty{
			"allowedInputTypes": &AllowedInputTypesProperty{
				"allowAudioInput": jsii.Boolean(false),
				"allowDtmfInput": jsii.Boolean(false),
			},

			// the properties below are optional
			"allowInterrupt": jsii.Boolean(false),
			"audioAndDtmfInputSpecification": &AudioAndDTMFInputSpecificationProperty{
				"startTimeoutMs": jsii.Number(123),

				// the properties below are optional
				"audioSpecification": &AudioSpecificationProperty{
					"endTimeoutMs": jsii.Number(123),
					"maxLengthMs": jsii.Number(123),
				},
				"dtmfSpecification": &DTMFSpecificationProperty{
					"deletionCharacter": jsii.String("deletionCharacter"),
					"endCharacter": jsii.String("endCharacter"),
					"endTimeoutMs": jsii.Number(123),
					"maxLength": jsii.Number(123),
				},
			},
			"textInputSpecification": &TextInputSpecificationProperty{
				"startTimeoutMs": jsii.Number(123),
			},
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-promptspecification.html

type CfnBot_ResponseSpecificationProperty

type CfnBot_ResponseSpecificationProperty struct {
	// 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
	//
	MessageGroupsList interface{} `field:"required" json:"messageGroupsList" yaml:"messageGroupsList"`
	// 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
	//
	AllowInterrupt interface{} `field:"optional" json:"allowInterrupt" yaml:"allowInterrupt"`
}

Specifies a list of message groups that Amazon Lex uses to respond the user input.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

responseSpecificationProperty := &ResponseSpecificationProperty{
	MessageGroupsList: []interface{}{
		&MessageGroupProperty{
			Message: &MessageProperty{
				CustomPayload: &CustomPayloadProperty{
					Value: jsii.String("value"),
				},
				ImageResponseCard: &ImageResponseCardProperty{
					Title: jsii.String("title"),

					// the properties below are optional
					Buttons: []interface{}{
						&ButtonProperty{
							Text: jsii.String("text"),
							Value: jsii.String("value"),
						},
					},
					ImageUrl: jsii.String("imageUrl"),
					Subtitle: jsii.String("subtitle"),
				},
				PlainTextMessage: &PlainTextMessageProperty{
					Value: jsii.String("value"),
				},
				SsmlMessage: &SSMLMessageProperty{
					Value: jsii.String("value"),
				},
			},

			// the properties below are optional
			Variations: []interface{}{
				&MessageProperty{
					CustomPayload: &CustomPayloadProperty{
						Value: jsii.String("value"),
					},
					ImageResponseCard: &ImageResponseCardProperty{
						Title: jsii.String("title"),

						// the properties below are optional
						Buttons: []interface{}{
							&ButtonProperty{
								Text: jsii.String("text"),
								Value: jsii.String("value"),
							},
						},
						ImageUrl: jsii.String("imageUrl"),
						Subtitle: jsii.String("subtitle"),
					},
					PlainTextMessage: &PlainTextMessageProperty{
						Value: jsii.String("value"),
					},
					SsmlMessage: &SSMLMessageProperty{
						Value: jsii.String("value"),
					},
				},
			},
		},
	},

	// the properties below are optional
	AllowInterrupt: jsii.Boolean(false),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-responsespecification.html

type CfnBot_S3BucketLogDestinationProperty added in v2.18.0

type CfnBot_S3BucketLogDestinationProperty struct {
	// The S3 prefix to assign to audio log files.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-s3bucketlogdestination.html#cfn-lex-bot-s3bucketlogdestination-logprefix
	//
	LogPrefix *string `field:"required" json:"logPrefix" yaml:"logPrefix"`
	// The Amazon Resource Name (ARN) of an Amazon S3 bucket where audio log files are stored.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-s3bucketlogdestination.html#cfn-lex-bot-s3bucketlogdestination-s3bucketarn
	//
	S3BucketArn *string `field:"required" json:"s3BucketArn" yaml:"s3BucketArn"`
	// The Amazon Resource Name (ARN) of an AWS Key Management Service (KMS) key for encrypting audio log files stored in an Amazon S3 bucket.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-s3bucketlogdestination.html#cfn-lex-bot-s3bucketlogdestination-kmskeyarn
	//
	KmsKeyArn *string `field:"optional" json:"kmsKeyArn" yaml:"kmsKeyArn"`
}

Specifies an Amazon S3 bucket for logging audio conversations.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

s3BucketLogDestinationProperty := &S3BucketLogDestinationProperty{
	LogPrefix: jsii.String("logPrefix"),
	S3BucketArn: jsii.String("s3BucketArn"),

	// the properties below are optional
	KmsKeyArn: jsii.String("kmsKeyArn"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-s3bucketlogdestination.html

type CfnBot_S3LocationProperty

type CfnBot_S3LocationProperty struct {
	// The S3 bucket name.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-s3location.html#cfn-lex-bot-s3location-s3bucket
	//
	S3Bucket *string `field:"required" json:"s3Bucket" yaml:"s3Bucket"`
	// The path and file name to the object in the S3 bucket.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-s3location.html#cfn-lex-bot-s3location-s3objectkey
	//
	S3ObjectKey *string `field:"required" json:"s3ObjectKey" yaml:"s3ObjectKey"`
	// The version of the object in the S3 bucket.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-s3location.html#cfn-lex-bot-s3location-s3objectversion
	//
	S3ObjectVersion *string `field:"optional" json:"s3ObjectVersion" yaml:"s3ObjectVersion"`
}

Defines an Amazon S3 bucket location.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

s3LocationProperty := &S3LocationProperty{
	S3Bucket: jsii.String("s3Bucket"),
	S3ObjectKey: jsii.String("s3ObjectKey"),

	// the properties below are optional
	S3ObjectVersion: jsii.String("s3ObjectVersion"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-s3location.html

type CfnBot_SSMLMessageProperty

type CfnBot_SSMLMessageProperty struct {
	// 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
	//
	Value *string `field:"required" json:"value" yaml:"value"`
}

Defines a Speech Synthesis Markup Language (SSML) prompt.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

sSMLMessageProperty := &SSMLMessageProperty{
	Value: jsii.String("value"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-ssmlmessage.html

type CfnBot_SampleUtteranceProperty

type CfnBot_SampleUtteranceProperty struct {
	// A sample utterance that invokes an intent or respond to a slot elicitation prompt.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-sampleutterance.html#cfn-lex-bot-sampleutterance-utterance
	//
	Utterance *string `field:"required" json:"utterance" yaml:"utterance"`
}

A sample utterance that invokes an intent or respond to a slot elicitation prompt.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

sampleUtteranceProperty := &SampleUtteranceProperty{
	Utterance: jsii.String("utterance"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-sampleutterance.html

type CfnBot_SampleValueProperty

type CfnBot_SampleValueProperty struct {
	// 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
	//
	Value *string `field:"required" json:"value" yaml:"value"`
}

Defines one of the values for a slot type.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

sampleValueProperty := &SampleValueProperty{
	Value: jsii.String("value"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-samplevalue.html

type CfnBot_SentimentAnalysisSettingsProperty added in v2.55.0

type CfnBot_SentimentAnalysisSettingsProperty struct {
	// Sets whether Amazon Lex uses Amazon Comprehend to detect the sentiment of user utterances.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-sentimentanalysissettings.html#cfn-lex-bot-sentimentanalysissettings-detectsentiment
	//
	DetectSentiment interface{} `field:"required" json:"detectSentiment" yaml:"detectSentiment"`
}

Determines whether Amazon Lex will use Amazon Comprehend to detect the sentiment of user utterances.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

sentimentAnalysisSettingsProperty := &SentimentAnalysisSettingsProperty{
	DetectSentiment: jsii.Boolean(false),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-sentimentanalysissettings.html

type CfnBot_SessionAttributeProperty added in v2.63.0

type CfnBot_SessionAttributeProperty struct {
	// The name of the session attribute.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-sessionattribute.html#cfn-lex-bot-sessionattribute-key
	//
	Key *string `field:"required" json:"key" yaml:"key"`
	// The session-specific context information for the session attribute.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-sessionattribute.html#cfn-lex-bot-sessionattribute-value
	//
	Value *string `field:"optional" json:"value" yaml:"value"`
}

A key/value pair representing session-specific context information.

It contains application information passed between Amazon Lex V2 and a client application.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

sessionAttributeProperty := &SessionAttributeProperty{
	Key: jsii.String("key"),

	// the properties below are optional
	Value: jsii.String("value"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-sessionattribute.html

type CfnBot_SlotCaptureSettingProperty added in v2.63.0

type CfnBot_SlotCaptureSettingProperty struct {
	// A list of conditional branches to evaluate after the slot value is captured.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-slotcapturesetting.html#cfn-lex-bot-slotcapturesetting-captureconditional
	//
	CaptureConditional interface{} `field:"optional" json:"captureConditional" yaml:"captureConditional"`
	// Specifies the next step that the bot runs when the slot value is captured before the code hook times out.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-slotcapturesetting.html#cfn-lex-bot-slotcapturesetting-capturenextstep
	//
	CaptureNextStep interface{} `field:"optional" json:"captureNextStep" yaml:"captureNextStep"`
	// 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-slotcapturesetting.html#cfn-lex-bot-slotcapturesetting-captureresponse
	//
	CaptureResponse interface{} `field:"optional" json:"captureResponse" yaml:"captureResponse"`
	// Code hook called after Amazon Lex successfully captures a slot value.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-slotcapturesetting.html#cfn-lex-bot-slotcapturesetting-codehook
	//
	CodeHook interface{} `field:"optional" json:"codeHook" yaml:"codeHook"`
	// Code hook called when Amazon Lex doesn't capture a slot value.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-slotcapturesetting.html#cfn-lex-bot-slotcapturesetting-elicitationcodehook
	//
	ElicitationCodeHook interface{} `field:"optional" json:"elicitationCodeHook" yaml:"elicitationCodeHook"`
	// A list of conditional branches to evaluate when the slot value isn't captured.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-slotcapturesetting.html#cfn-lex-bot-slotcapturesetting-failureconditional
	//
	FailureConditional interface{} `field:"optional" json:"failureConditional" yaml:"failureConditional"`
	// Specifies the next step that the bot runs when the slot value code is not recognized.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-slotcapturesetting.html#cfn-lex-bot-slotcapturesetting-failurenextstep
	//
	FailureNextStep interface{} `field:"optional" json:"failureNextStep" yaml:"failureNextStep"`
	// Specifies a list of message groups that Amazon Lex uses to respond the user input when the slot fails to be captured.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-slotcapturesetting.html#cfn-lex-bot-slotcapturesetting-failureresponse
	//
	FailureResponse interface{} `field:"optional" json:"failureResponse" yaml:"failureResponse"`
}

Settings used when Amazon Lex successfully captures a slot value from a user.

Example:

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-slotcapturesetting.html

type CfnBot_SlotDefaultValueProperty

type CfnBot_SlotDefaultValueProperty struct {
	// The default value to use when a user doesn't provide a value for a slot.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-slotdefaultvalue.html#cfn-lex-bot-slotdefaultvalue-defaultvalue
	//
	DefaultValue *string `field:"required" json:"defaultValue" yaml:"defaultValue"`
}

Specifies the default value to use when a user doesn't provide a value for a slot.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

slotDefaultValueProperty := &SlotDefaultValueProperty{
	DefaultValue: jsii.String("defaultValue"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-slotdefaultvalue.html

type CfnBot_SlotDefaultValueSpecificationProperty

type CfnBot_SlotDefaultValueSpecificationProperty struct {
	// A list of default values.
	//
	// Amazon Lex chooses the default value to use in the order that they are presented in the list.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-slotdefaultvaluespecification.html#cfn-lex-bot-slotdefaultvaluespecification-defaultvaluelist
	//
	DefaultValueList interface{} `field:"required" json:"defaultValueList" yaml:"defaultValueList"`
}

The default value to use when a user doesn't provide a value for a slot.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

slotDefaultValueSpecificationProperty := &SlotDefaultValueSpecificationProperty{
	DefaultValueList: []interface{}{
		&SlotDefaultValueProperty{
			DefaultValue: jsii.String("defaultValue"),
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-slotdefaultvaluespecification.html

type CfnBot_SlotPriorityProperty

type CfnBot_SlotPriorityProperty struct {
	// The priority that Amazon Lex should apply to the slot.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-slotpriority.html#cfn-lex-bot-slotpriority-priority
	//
	Priority *float64 `field:"required" json:"priority" yaml:"priority"`
	// The name of the slot.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-slotpriority.html#cfn-lex-bot-slotpriority-slotname
	//
	SlotName *string `field:"required" json:"slotName" yaml:"slotName"`
}

Sets the priority that Amazon Lex should use when eliciting slot values from a user.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

slotPriorityProperty := &SlotPriorityProperty{
	Priority: jsii.Number(123),
	SlotName: jsii.String("slotName"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-slotpriority.html

type CfnBot_SlotProperty

type CfnBot_SlotProperty struct {
	// The name given to the slot.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-slot.html#cfn-lex-bot-slot-name
	//
	Name *string `field:"required" json:"name" yaml:"name"`
	// The name of the slot type that this slot is based on.
	//
	// The slot type defines the acceptable values for the slot.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-slot.html#cfn-lex-bot-slot-slottypename
	//
	SlotTypeName *string `field:"required" json:"slotTypeName" yaml:"slotTypeName"`
	// 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 a 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-slot.html#cfn-lex-bot-slot-valueelicitationsetting
	//
	ValueElicitationSetting interface{} `field:"required" json:"valueElicitationSetting" yaml:"valueElicitationSetting"`
	// The description of the slot.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-slot.html#cfn-lex-bot-slot-description
	//
	Description *string `field:"optional" json:"description" yaml:"description"`
	// Indicates whether a slot can return multiple values.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-slot.html#cfn-lex-bot-slot-multiplevaluessetting
	//
	MultipleValuesSetting interface{} `field:"optional" json:"multipleValuesSetting" yaml:"multipleValuesSetting"`
	// Determines whether the contents of the slot are obfuscated in Amazon CloudWatch Logs logs.
	//
	// Use obfuscated slots to protect information such as personally identifiable information (PII) in logs.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-slot.html#cfn-lex-bot-slot-obfuscationsetting
	//
	ObfuscationSetting interface{} `field:"optional" json:"obfuscationSetting" yaml:"obfuscationSetting"`
}

Specifies the definition of a slot.

Amazon Lex elicits slot values from uses to fulfill the user's intent.

Example:

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-slot.html

type CfnBot_SlotTypeProperty

type CfnBot_SlotTypeProperty struct {
	// 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
	//
	Name *string `field:"required" json:"name" yaml:"name"`
	// 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
	//
	Description *string `field:"optional" json:"description" yaml:"description"`
	// 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
	//
	ExternalSourceSetting interface{} `field:"optional" json:"externalSourceSetting" yaml:"externalSourceSetting"`
	// 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
	//
	ParentSlotTypeSignature *string `field:"optional" json:"parentSlotTypeSignature" yaml:"parentSlotTypeSignature"`
	// 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
	//
	SlotTypeValues interface{} `field:"optional" json:"slotTypeValues" yaml:"slotTypeValues"`
	// 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
	//
	ValueSelectionSetting interface{} `field:"optional" json:"valueSelectionSetting" yaml:"valueSelectionSetting"`
}

Describes a slot type.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

slotTypeProperty := &SlotTypeProperty{
	Name: jsii.String("name"),

	// the properties below are optional
	Description: jsii.String("description"),
	ExternalSourceSetting: &ExternalSourceSettingProperty{
		GrammarSlotTypeSetting: &GrammarSlotTypeSettingProperty{
			Source: &GrammarSlotTypeSourceProperty{
				S3BucketName: jsii.String("s3BucketName"),
				S3ObjectKey: jsii.String("s3ObjectKey"),

				// the properties below are optional
				KmsKeyArn: jsii.String("kmsKeyArn"),
			},
		},
	},
	ParentSlotTypeSignature: jsii.String("parentSlotTypeSignature"),
	SlotTypeValues: []interface{}{
		&SlotTypeValueProperty{
			SampleValue: &SampleValueProperty{
				Value: jsii.String("value"),
			},

			// the properties below are optional
			Synonyms: []interface{}{
				&SampleValueProperty{
					Value: jsii.String("value"),
				},
			},
		},
	},
	ValueSelectionSetting: &SlotValueSelectionSettingProperty{
		ResolutionStrategy: jsii.String("resolutionStrategy"),

		// the properties below are optional
		AdvancedRecognitionSetting: &AdvancedRecognitionSettingProperty{
			AudioRecognitionStrategy: jsii.String("audioRecognitionStrategy"),
		},
		RegexFilter: &SlotValueRegexFilterProperty{
			Pattern: jsii.String("pattern"),
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-slottype.html

type CfnBot_SlotTypeValueProperty

type CfnBot_SlotTypeValueProperty struct {
	// 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
	//
	SampleValue interface{} `field:"required" json:"sampleValue" yaml:"sampleValue"`
	// 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
	//
	Synonyms interface{} `field:"optional" json:"synonyms" yaml:"synonyms"`
}

Each slot type can have a set of values.

Each `SlotTypeValue` represents a value that the slot type can take.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

slotTypeValueProperty := &SlotTypeValueProperty{
	SampleValue: &SampleValueProperty{
		Value: jsii.String("value"),
	},

	// the properties below are optional
	Synonyms: []interface{}{
		&SampleValueProperty{
			Value: jsii.String("value"),
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-slottypevalue.html

type CfnBot_SlotValueElicitationSettingProperty

type CfnBot_SlotValueElicitationSettingProperty struct {
	// Specifies whether the slot is required or optional.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-slotvalueelicitationsetting.html#cfn-lex-bot-slotvalueelicitationsetting-slotconstraint
	//
	SlotConstraint *string `field:"required" json:"slotConstraint" yaml:"slotConstraint"`
	// 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.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-slotvalueelicitationsetting.html#cfn-lex-bot-slotvalueelicitationsetting-defaultvaluespecification
	//
	DefaultValueSpecification interface{} `field:"optional" json:"defaultValueSpecification" yaml:"defaultValueSpecification"`
	// The prompt that Amazon Lex uses to elicit the slot value from the user.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-slotvalueelicitationsetting.html#cfn-lex-bot-slotvalueelicitationsetting-promptspecification
	//
	PromptSpecification interface{} `field:"optional" json:"promptSpecification" yaml:"promptSpecification"`
	// If you know a specific pattern that users might respond to an Amazon Lex request for a slot value, you can provide those utterances to improve accuracy.
	//
	// This is optional. In most cases, Amazon Lex is capable of understanding user utterances.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-slotvalueelicitationsetting.html#cfn-lex-bot-slotvalueelicitationsetting-sampleutterances
	//
	SampleUtterances interface{} `field:"optional" json:"sampleUtterances" yaml:"sampleUtterances"`
	// Specifies the settings that Amazon Lex uses when a slot value is successfully entered by a user.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-slotvalueelicitationsetting.html#cfn-lex-bot-slotvalueelicitationsetting-slotcapturesetting
	//
	SlotCaptureSetting interface{} `field:"optional" json:"slotCaptureSetting" yaml:"slotCaptureSetting"`
	// Specifies the prompts that Amazon Lex uses while a bot is waiting for customer input.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-slotvalueelicitationsetting.html#cfn-lex-bot-slotvalueelicitationsetting-waitandcontinuespecification
	//
	WaitAndContinueSpecification interface{} `field:"optional" json:"waitAndContinueSpecification" yaml:"waitAndContinueSpecification"`
}

Specifies the elicitation setting details eliciting a slot.

Example:

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-slotvalueelicitationsetting.html

type CfnBot_SlotValueOverrideMapProperty added in v2.63.0

type CfnBot_SlotValueOverrideMapProperty struct {
	// The name of the slot.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-slotvalueoverridemap.html#cfn-lex-bot-slotvalueoverridemap-slotname
	//
	SlotName *string `field:"optional" json:"slotName" yaml:"slotName"`
	// The SlotValueOverride object to which the slot name will be mapped.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-slotvalueoverridemap.html#cfn-lex-bot-slotvalueoverridemap-slotvalueoverride
	//
	SlotValueOverride interface{} `field:"optional" json:"slotValueOverride" yaml:"slotValueOverride"`
}

Maps a slot name to the [SlotValueOverride](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_SlotValueOverride.html) object.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

var slotValueOverrideProperty_ slotValueOverrideProperty

slotValueOverrideMapProperty := &SlotValueOverrideMapProperty{
	SlotName: jsii.String("slotName"),
	SlotValueOverride: &slotValueOverrideProperty{
		Shape: jsii.String("shape"),
		Value: &SlotValueProperty{
			InterpretedValue: jsii.String("interpretedValue"),
		},
		Values: []interface{}{
			slotValueOverrideProperty_,
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-slotvalueoverridemap.html

type CfnBot_SlotValueOverrideProperty added in v2.63.0

type CfnBot_SlotValueOverrideProperty struct {
	// When the shape value is `List` , it indicates that the `values` field contains a list of slot values.
	//
	// When the value is `Scalar` , it indicates that the `value` field contains a single value.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-slotvalueoverride.html#cfn-lex-bot-slotvalueoverride-shape
	//
	Shape *string `field:"optional" json:"shape" yaml:"shape"`
	// The current value of the slot.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-slotvalueoverride.html#cfn-lex-bot-slotvalueoverride-value
	//
	Value interface{} `field:"optional" json:"value" yaml:"value"`
	// A list of one or more values that the user provided for the slot.
	//
	// For example, for a slot that elicits pizza toppings, the values might be "pepperoni" and "pineapple."
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-slotvalueoverride.html#cfn-lex-bot-slotvalueoverride-values
	//
	Values interface{} `field:"optional" json:"values" yaml:"values"`
}

The slot values that Amazon Lex uses when it sets slot values in a dialog step.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

var slotValueOverrideProperty_ slotValueOverrideProperty

slotValueOverrideProperty := &slotValueOverrideProperty{
	Shape: jsii.String("shape"),
	Value: &SlotValueProperty{
		InterpretedValue: jsii.String("interpretedValue"),
	},
	Values: []interface{}{
		slotValueOverrideProperty_,
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-slotvalueoverride.html

type CfnBot_SlotValueProperty added in v2.63.0

type CfnBot_SlotValueProperty struct {
	// The value that Amazon Lex determines for the slot.
	//
	// The actual value depends on the setting of the value selection strategy for the bot. You can choose to use the value entered by the user, or you can have Amazon Lex choose the first value in the `resolvedValues` list.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-slotvalue.html#cfn-lex-bot-slotvalue-interpretedvalue
	//
	InterpretedValue *string `field:"optional" json:"interpretedValue" yaml:"interpretedValue"`
}

The value to set in a slot.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

slotValueProperty := &SlotValueProperty{
	InterpretedValue: jsii.String("interpretedValue"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-slotvalue.html

type CfnBot_SlotValueRegexFilterProperty

type CfnBot_SlotValueRegexFilterProperty struct {
	// 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
	//
	Pattern *string `field:"required" json:"pattern" yaml:"pattern"`
}

Provides a regular expression used to validate the value of a slot.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

slotValueRegexFilterProperty := &SlotValueRegexFilterProperty{
	Pattern: jsii.String("pattern"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-slotvalueregexfilter.html

type CfnBot_SlotValueSelectionSettingProperty

type CfnBot_SlotValueSelectionSettingProperty struct {
	// 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
	//
	ResolutionStrategy *string `field:"required" json:"resolutionStrategy" yaml:"resolutionStrategy"`
	// 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
	//
	AdvancedRecognitionSetting interface{} `field:"optional" json:"advancedRecognitionSetting" yaml:"advancedRecognitionSetting"`
	// 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
	//
	RegexFilter interface{} `field:"optional" json:"regexFilter" yaml:"regexFilter"`
}

Contains settings used by Amazon Lex to select a slot value.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

slotValueSelectionSettingProperty := &SlotValueSelectionSettingProperty{
	ResolutionStrategy: jsii.String("resolutionStrategy"),

	// the properties below are optional
	AdvancedRecognitionSetting: &AdvancedRecognitionSettingProperty{
		AudioRecognitionStrategy: jsii.String("audioRecognitionStrategy"),
	},
	RegexFilter: &SlotValueRegexFilterProperty{
		Pattern: jsii.String("pattern"),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-slotvalueselectionsetting.html

type CfnBot_StillWaitingResponseSpecificationProperty

type CfnBot_StillWaitingResponseSpecificationProperty struct {
	// How often a message should be sent to the user.
	//
	// Minimum of 1 second, maximum of 5 minutes.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-stillwaitingresponsespecification.html#cfn-lex-bot-stillwaitingresponsespecification-frequencyinseconds
	//
	FrequencyInSeconds *float64 `field:"required" json:"frequencyInSeconds" yaml:"frequencyInSeconds"`
	// One or more message groups, each containing one or more messages, that define the prompts that Amazon Lex sends to the user.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-stillwaitingresponsespecification.html#cfn-lex-bot-stillwaitingresponsespecification-messagegroupslist
	//
	MessageGroupsList interface{} `field:"required" json:"messageGroupsList" yaml:"messageGroupsList"`
	// If Amazon Lex waits longer than this length of time for a response, it will stop sending messages.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-stillwaitingresponsespecification.html#cfn-lex-bot-stillwaitingresponsespecification-timeoutinseconds
	//
	TimeoutInSeconds *float64 `field:"required" json:"timeoutInSeconds" yaml:"timeoutInSeconds"`
	// Indicates that the user can interrupt the response by speaking while the message is being played.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-stillwaitingresponsespecification.html#cfn-lex-bot-stillwaitingresponsespecification-allowinterrupt
	//
	AllowInterrupt interface{} `field:"optional" json:"allowInterrupt" yaml:"allowInterrupt"`
}

Defines the messages that Amazon Lex sends to a user to remind them that the bot is waiting for a response.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

stillWaitingResponseSpecificationProperty := &StillWaitingResponseSpecificationProperty{
	FrequencyInSeconds: jsii.Number(123),
	MessageGroupsList: []interface{}{
		&MessageGroupProperty{
			Message: &MessageProperty{
				CustomPayload: &CustomPayloadProperty{
					Value: jsii.String("value"),
				},
				ImageResponseCard: &ImageResponseCardProperty{
					Title: jsii.String("title"),

					// the properties below are optional
					Buttons: []interface{}{
						&ButtonProperty{
							Text: jsii.String("text"),
							Value: jsii.String("value"),
						},
					},
					ImageUrl: jsii.String("imageUrl"),
					Subtitle: jsii.String("subtitle"),
				},
				PlainTextMessage: &PlainTextMessageProperty{
					Value: jsii.String("value"),
				},
				SsmlMessage: &SSMLMessageProperty{
					Value: jsii.String("value"),
				},
			},

			// the properties below are optional
			Variations: []interface{}{
				&MessageProperty{
					CustomPayload: &CustomPayloadProperty{
						Value: jsii.String("value"),
					},
					ImageResponseCard: &ImageResponseCardProperty{
						Title: jsii.String("title"),

						// the properties below are optional
						Buttons: []interface{}{
							&ButtonProperty{
								Text: jsii.String("text"),
								Value: jsii.String("value"),
							},
						},
						ImageUrl: jsii.String("imageUrl"),
						Subtitle: jsii.String("subtitle"),
					},
					PlainTextMessage: &PlainTextMessageProperty{
						Value: jsii.String("value"),
					},
					SsmlMessage: &SSMLMessageProperty{
						Value: jsii.String("value"),
					},
				},
			},
		},
	},
	TimeoutInSeconds: jsii.Number(123),

	// the properties below are optional
	AllowInterrupt: jsii.Boolean(false),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-stillwaitingresponsespecification.html

type CfnBot_TestBotAliasSettingsProperty added in v2.18.0

type CfnBot_TestBotAliasSettingsProperty struct {
	// Specifies settings that are unique to a locale.
	//
	// For example, you can use a different Lambda function depending on the bot's locale.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-testbotaliassettings.html#cfn-lex-bot-testbotaliassettings-botaliaslocalesettings
	//
	BotAliasLocaleSettings interface{} `field:"optional" json:"botAliasLocaleSettings" yaml:"botAliasLocaleSettings"`
	// Specifies settings for conversation logs that save audio, text, and metadata information for conversations with your users.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-testbotaliassettings.html#cfn-lex-bot-testbotaliassettings-conversationlogsettings
	//
	ConversationLogSettings interface{} `field:"optional" json:"conversationLogSettings" yaml:"conversationLogSettings"`
	// Specifies a description for the test bot alias.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-testbotaliassettings.html#cfn-lex-bot-testbotaliassettings-description
	//
	Description *string `field:"optional" json:"description" yaml:"description"`
	// Specifies whether Amazon Lex will use Amazon Comprehend to detect the sentiment of user utterances.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-testbotaliassettings.html#cfn-lex-bot-testbotaliassettings-sentimentanalysissettings
	//
	SentimentAnalysisSettings interface{} `field:"optional" json:"sentimentAnalysisSettings" yaml:"sentimentAnalysisSettings"`
}

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.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

var sentimentAnalysisSettings interface{}

testBotAliasSettingsProperty := &TestBotAliasSettingsProperty{
	BotAliasLocaleSettings: []interface{}{
		&BotAliasLocaleSettingsItemProperty{
			BotAliasLocaleSetting: &BotAliasLocaleSettingsProperty{
				Enabled: jsii.Boolean(false),

				// the properties below are optional
				CodeHookSpecification: &CodeHookSpecificationProperty{
					LambdaCodeHook: &LambdaCodeHookProperty{
						CodeHookInterfaceVersion: jsii.String("codeHookInterfaceVersion"),
						LambdaArn: jsii.String("lambdaArn"),
					},
				},
			},
			LocaleId: jsii.String("localeId"),
		},
	},
	ConversationLogSettings: &ConversationLogSettingsProperty{
		AudioLogSettings: []interface{}{
			&AudioLogSettingProperty{
				Destination: &AudioLogDestinationProperty{
					S3Bucket: &S3BucketLogDestinationProperty{
						LogPrefix: jsii.String("logPrefix"),
						S3BucketArn: jsii.String("s3BucketArn"),

						// the properties below are optional
						KmsKeyArn: jsii.String("kmsKeyArn"),
					},
				},
				Enabled: jsii.Boolean(false),
			},
		},
		TextLogSettings: []interface{}{
			&TextLogSettingProperty{
				Destination: &TextLogDestinationProperty{
					CloudWatch: &CloudWatchLogGroupLogDestinationProperty{
						CloudWatchLogGroupArn: jsii.String("cloudWatchLogGroupArn"),
						LogPrefix: jsii.String("logPrefix"),
					},
				},
				Enabled: jsii.Boolean(false),
			},
		},
	},
	Description: jsii.String("description"),
	SentimentAnalysisSettings: sentimentAnalysisSettings,
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-testbotaliassettings.html

type CfnBot_TextInputSpecificationProperty added in v2.48.0

type CfnBot_TextInputSpecificationProperty struct {
	// Time for which a bot waits before re-prompting a customer for text input.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-textinputspecification.html#cfn-lex-bot-textinputspecification-starttimeoutms
	//
	StartTimeoutMs *float64 `field:"required" json:"startTimeoutMs" yaml:"startTimeoutMs"`
}

Specifies the text input specifications.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

textInputSpecificationProperty := &TextInputSpecificationProperty{
	StartTimeoutMs: jsii.Number(123),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-textinputspecification.html

type CfnBot_TextLogDestinationProperty added in v2.18.0

type CfnBot_TextLogDestinationProperty struct {
	// Defines the Amazon CloudWatch Logs log group where text and metadata logs are delivered.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-textlogdestination.html#cfn-lex-bot-textlogdestination-cloudwatch
	//
	CloudWatch interface{} `field:"required" json:"cloudWatch" yaml:"cloudWatch"`
}

Defines the Amazon CloudWatch Logs destination log group for conversation text logs.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

textLogDestinationProperty := &TextLogDestinationProperty{
	CloudWatch: &CloudWatchLogGroupLogDestinationProperty{
		CloudWatchLogGroupArn: jsii.String("cloudWatchLogGroupArn"),
		LogPrefix: jsii.String("logPrefix"),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-textlogdestination.html

type CfnBot_TextLogSettingProperty added in v2.18.0

type CfnBot_TextLogSettingProperty struct {
	// Specifies the Amazon CloudWatch Logs destination log group for conversation text logs.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-textlogsetting.html#cfn-lex-bot-textlogsetting-destination
	//
	Destination interface{} `field:"required" json:"destination" yaml:"destination"`
	// Determines whether conversation logs should be stored for an alias.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-textlogsetting.html#cfn-lex-bot-textlogsetting-enabled
	//
	Enabled interface{} `field:"required" json:"enabled" yaml:"enabled"`
}

Defines settings to enable text conversation logs.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

textLogSettingProperty := &TextLogSettingProperty{
	Destination: &TextLogDestinationProperty{
		CloudWatch: &CloudWatchLogGroupLogDestinationProperty{
			CloudWatchLogGroupArn: jsii.String("cloudWatchLogGroupArn"),
			LogPrefix: jsii.String("logPrefix"),
		},
	},
	Enabled: jsii.Boolean(false),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-textlogsetting.html

type CfnBot_VoiceSettingsProperty

type CfnBot_VoiceSettingsProperty struct {
	// The identifier of the Amazon Polly voice to use.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-voicesettings.html#cfn-lex-bot-voicesettings-voiceid
	//
	VoiceId *string `field:"required" json:"voiceId" yaml:"voiceId"`
	// Indicates the type of Amazon Polly voice that Amazon Lex should use for voice interaction with the user.
	//
	// For more information, see the [`engine` parameter of the `SynthesizeSpeech` operation](https://docs.aws.amazon.com/polly/latest/dg/API_SynthesizeSpeech.html#polly-SynthesizeSpeech-request-Engine) in the *Amazon Polly developer guide* .
	//
	// If you do not specify a value, the default is `standard` .
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-voicesettings.html#cfn-lex-bot-voicesettings-engine
	//
	Engine *string `field:"optional" json:"engine" yaml:"engine"`
}

Defines settings for using an Amazon Polly voice to communicate with a user.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

voiceSettingsProperty := &VoiceSettingsProperty{
	VoiceId: jsii.String("voiceId"),

	// the properties below are optional
	Engine: jsii.String("engine"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-voicesettings.html

type CfnBot_WaitAndContinueSpecificationProperty

type CfnBot_WaitAndContinueSpecificationProperty struct {
	// The response that Amazon Lex sends to indicate that the bot is ready to continue the conversation.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-waitandcontinuespecification.html#cfn-lex-bot-waitandcontinuespecification-continueresponse
	//
	ContinueResponse interface{} `field:"required" json:"continueResponse" yaml:"continueResponse"`
	// The response that Amazon Lex sends to indicate that the bot is waiting for the conversation to continue.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-waitandcontinuespecification.html#cfn-lex-bot-waitandcontinuespecification-waitingresponse
	//
	WaitingResponse interface{} `field:"required" json:"waitingResponse" yaml:"waitingResponse"`
	// 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 `IsActive` field isn't specified, the default is true.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-waitandcontinuespecification.html#cfn-lex-bot-waitandcontinuespecification-isactive
	//
	IsActive interface{} `field:"optional" json:"isActive" yaml:"isActive"`
	// A response that Amazon Lex sends periodically to the user to indicate that the bot is still waiting for input from the user.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-waitandcontinuespecification.html#cfn-lex-bot-waitandcontinuespecification-stillwaitingresponse
	//
	StillWaitingResponse interface{} `field:"optional" json:"stillWaitingResponse" yaml:"stillWaitingResponse"`
}

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

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

waitAndContinueSpecificationProperty := &WaitAndContinueSpecificationProperty{
	ContinueResponse: &ResponseSpecificationProperty{
		MessageGroupsList: []interface{}{
			&MessageGroupProperty{
				Message: &MessageProperty{
					CustomPayload: &CustomPayloadProperty{
						Value: jsii.String("value"),
					},
					ImageResponseCard: &ImageResponseCardProperty{
						Title: jsii.String("title"),

						// the properties below are optional
						Buttons: []interface{}{
							&ButtonProperty{
								Text: jsii.String("text"),
								Value: jsii.String("value"),
							},
						},
						ImageUrl: jsii.String("imageUrl"),
						Subtitle: jsii.String("subtitle"),
					},
					PlainTextMessage: &PlainTextMessageProperty{
						Value: jsii.String("value"),
					},
					SsmlMessage: &SSMLMessageProperty{
						Value: jsii.String("value"),
					},
				},

				// the properties below are optional
				Variations: []interface{}{
					&MessageProperty{
						CustomPayload: &CustomPayloadProperty{
							Value: jsii.String("value"),
						},
						ImageResponseCard: &ImageResponseCardProperty{
							Title: jsii.String("title"),

							// the properties below are optional
							Buttons: []interface{}{
								&ButtonProperty{
									Text: jsii.String("text"),
									Value: jsii.String("value"),
								},
							},
							ImageUrl: jsii.String("imageUrl"),
							Subtitle: jsii.String("subtitle"),
						},
						PlainTextMessage: &PlainTextMessageProperty{
							Value: jsii.String("value"),
						},
						SsmlMessage: &SSMLMessageProperty{
							Value: jsii.String("value"),
						},
					},
				},
			},
		},

		// the properties below are optional
		AllowInterrupt: jsii.Boolean(false),
	},
	WaitingResponse: &ResponseSpecificationProperty{
		MessageGroupsList: []interface{}{
			&MessageGroupProperty{
				Message: &MessageProperty{
					CustomPayload: &CustomPayloadProperty{
						Value: jsii.String("value"),
					},
					ImageResponseCard: &ImageResponseCardProperty{
						Title: jsii.String("title"),

						// the properties below are optional
						Buttons: []interface{}{
							&ButtonProperty{
								Text: jsii.String("text"),
								Value: jsii.String("value"),
							},
						},
						ImageUrl: jsii.String("imageUrl"),
						Subtitle: jsii.String("subtitle"),
					},
					PlainTextMessage: &PlainTextMessageProperty{
						Value: jsii.String("value"),
					},
					SsmlMessage: &SSMLMessageProperty{
						Value: jsii.String("value"),
					},
				},

				// the properties below are optional
				Variations: []interface{}{
					&MessageProperty{
						CustomPayload: &CustomPayloadProperty{
							Value: jsii.String("value"),
						},
						ImageResponseCard: &ImageResponseCardProperty{
							Title: jsii.String("title"),

							// the properties below are optional
							Buttons: []interface{}{
								&ButtonProperty{
									Text: jsii.String("text"),
									Value: jsii.String("value"),
								},
							},
							ImageUrl: jsii.String("imageUrl"),
							Subtitle: jsii.String("subtitle"),
						},
						PlainTextMessage: &PlainTextMessageProperty{
							Value: jsii.String("value"),
						},
						SsmlMessage: &SSMLMessageProperty{
							Value: jsii.String("value"),
						},
					},
				},
			},
		},

		// the properties below are optional
		AllowInterrupt: jsii.Boolean(false),
	},

	// the properties below are optional
	IsActive: jsii.Boolean(false),
	StillWaitingResponse: &StillWaitingResponseSpecificationProperty{
		FrequencyInSeconds: jsii.Number(123),
		MessageGroupsList: []interface{}{
			&MessageGroupProperty{
				Message: &MessageProperty{
					CustomPayload: &CustomPayloadProperty{
						Value: jsii.String("value"),
					},
					ImageResponseCard: &ImageResponseCardProperty{
						Title: jsii.String("title"),

						// the properties below are optional
						Buttons: []interface{}{
							&ButtonProperty{
								Text: jsii.String("text"),
								Value: jsii.String("value"),
							},
						},
						ImageUrl: jsii.String("imageUrl"),
						Subtitle: jsii.String("subtitle"),
					},
					PlainTextMessage: &PlainTextMessageProperty{
						Value: jsii.String("value"),
					},
					SsmlMessage: &SSMLMessageProperty{
						Value: jsii.String("value"),
					},
				},

				// the properties below are optional
				Variations: []interface{}{
					&MessageProperty{
						CustomPayload: &CustomPayloadProperty{
							Value: jsii.String("value"),
						},
						ImageResponseCard: &ImageResponseCardProperty{
							Title: jsii.String("title"),

							// the properties below are optional
							Buttons: []interface{}{
								&ButtonProperty{
									Text: jsii.String("text"),
									Value: jsii.String("value"),
								},
							},
							ImageUrl: jsii.String("imageUrl"),
							Subtitle: jsii.String("subtitle"),
						},
						PlainTextMessage: &PlainTextMessageProperty{
							Value: jsii.String("value"),
						},
						SsmlMessage: &SSMLMessageProperty{
							Value: jsii.String("value"),
						},
					},
				},
			},
		},
		TimeoutInSeconds: jsii.Number(123),

		// the properties below are optional
		AllowInterrupt: jsii.Boolean(false),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-waitandcontinuespecification.html

type CfnResourcePolicy

type CfnResourcePolicy interface {
	awscdk.CfnResource
	awscdk.IInspectable
	// The identifier of the resource policy.
	AttrId() *string
	// Specifies the current revision of a resource policy.
	AttrRevisionId() *string
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	CfnResourceType() *string
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	CreationStack() *[]*string
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	LogicalId() *string
	// The tree node.
	Node() constructs.Node
	// A resource policy to add to the resource.
	Policy() interface{}
	SetPolicy(val interface{})
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	Ref() *string
	// The Amazon Resource Name (ARN) of the bot or bot alias that the resource policy is attached to.
	ResourceArn() *string
	SetResourceArn(val *string)
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// Deprecated.
	// Deprecated: use `updatedProperties`
	//
	// Return properties modified after initiation
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperites() *map[string]interface{}
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperties() *map[string]interface{}
	// Syntactic sugar for `addOverride(path, undefined)`.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	AddDependency(target awscdk.CfnResource)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	// Deprecated: use addDependency.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//   "GlobalSecondaryIndexes": [
	//     {
	//       "Projection": {
	//         "NonKeyAttributes": [ "myattribute" ]
	//         ...
	//       }
	//       ...
	//     },
	//     {
	//       "ProjectionType": "INCLUDE"
	//       ...
	//     },
	//   ]
	//   ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// The Removal Policy controls what happens to this resource when it stops
	// being managed by CloudFormation, either because you've removed it from the
	// CDK application or because you've made a change that requires the resource
	// to be replaced.
	//
	// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
	// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some
	// cases, a snapshot can be taken of the resource prior to deletion
	// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
	// can be found in the following link:.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
	//
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Retrieves an array of resources this resource depends on.
	//
	// This assembles dependencies on resources across stacks (including nested stacks)
	// automatically.
	ObtainDependencies() *[]interface{}
	// Get a shallow copy of dependencies between this resource and other resources in the same stack.
	ObtainResourceDependencies() *[]awscdk.CfnResource
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	// Indicates that this resource no longer depends on another resource.
	//
	// This can be used for resources across stacks (including nested stacks)
	// and the dependency will automatically be removed from the relevant scope.
	RemoveDependency(target awscdk.CfnResource)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Replaces one dependency with another.
	ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	ShouldSynthesize() *bool
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	ValidateProperties(_properties interface{})
}

> Amazon Lex V2 is the only supported version in AWS CloudFormation .

Specifies a new resource policy with the specified policy statements.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

var policy interface{}

cfnResourcePolicy := awscdk.Aws_lex.NewCfnResourcePolicy(this, jsii.String("MyCfnResourcePolicy"), &CfnResourcePolicyProps{
	Policy: policy,
	ResourceArn: jsii.String("resourceArn"),
})

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-resourcepolicy.html

func NewCfnResourcePolicy

func NewCfnResourcePolicy(scope constructs.Construct, id *string, props *CfnResourcePolicyProps) CfnResourcePolicy

type CfnResourcePolicyProps

type CfnResourcePolicyProps struct {
	// A resource policy to add to the resource.
	//
	// The policy is a JSON structure that contains one or more statements that define the policy. The policy must follow IAM syntax. If the policy isn't valid, Amazon Lex returns a validation exception.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-resourcepolicy.html#cfn-lex-resourcepolicy-policy
	//
	Policy interface{} `field:"required" json:"policy" yaml:"policy"`
	// The Amazon Resource Name (ARN) of the bot or bot alias that the resource policy is attached to.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-resourcepolicy.html#cfn-lex-resourcepolicy-resourcearn
	//
	ResourceArn *string `field:"required" json:"resourceArn" yaml:"resourceArn"`
}

Properties for defining a `CfnResourcePolicy`.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

var policy interface{}

cfnResourcePolicyProps := &CfnResourcePolicyProps{
	Policy: policy,
	ResourceArn: jsii.String("resourceArn"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lex-resourcepolicy.html

type CfnResourcePolicy_PolicyProperty

type CfnResourcePolicy_PolicyProperty struct {
}

A resource policy to add to the resource.

The policy is a JSON structure following the IAM syntax that contains one or more statements that define the policy.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

policyProperty := &PolicyProperty{
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-resourcepolicy-policy.html

Source Files

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL