/* eslint-disable */ /** * This file was automatically generated by json-schema-to-typescript. * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file, * and run json-schema-to-typescript to regenerate this file. */ /** * Unique ID of resource */ export type Id = string; export type Arn = string; export type BotAliasStatus = "Creating" | "Available" | "Deleting" | "Failed"; /** * A list of bot alias locale settings to add to the bot alias. * * @maxItems 50 */ export type BotAliasLocaleSettingsList = BotAliasLocaleSettingsItem[]; /** * A unique identifier for a resource. */ export type Name = string; /** * The version of a bot. */ export type BotVersion = string; /** * List of audio log settings * * @maxItems 1 */ export type AudioLogSettings = [] | [AudioLogSetting]; /** * List of text log settings * * @maxItems 1 */ export type TextLogSettings = [] | [TextLogSetting]; /** * A description of the bot alias. Use the description to help identify the bot alias in lists. */ export type Description = string; /** * A Bot Alias enables you to change the version of a bot without updating applications that use the bot */ export interface AwsLexBotalias { BotAliasId?: Id; BotId: Id; Arn?: Arn; BotAliasStatus?: BotAliasStatus; BotAliasLocaleSettings?: BotAliasLocaleSettingsList; BotAliasName: Name; BotVersion?: BotVersion; ConversationLogSettings?: ConversationLogSettings; Description?: Description; /** * Determines whether Amazon Lex will use Amazon Comprehend to detect the sentiment of user utterances. */ SentimentAnalysisSettings?: { /** * Enable to call Amazon Comprehend for Sentiment natively within Lex */ DetectSentiment: boolean; }; /** * A list of tags to add to the bot alias. * * @maxItems 200 */ BotAliasTags?: Tag[]; } /** * A locale setting in alias */ export interface BotAliasLocaleSettingsItem { /** * A string used to identify the locale */ LocaleId: string; BotAliasLocaleSetting: BotAliasLocaleSettings; } /** * You can use this parameter to specify a specific Lambda function to run different functions in different locales. */ export interface BotAliasLocaleSettings { CodeHookSpecification?: CodeHookSpecification; /** * Whether the Lambda code hook is enabled */ Enabled: boolean; } /** * Contains information about code hooks that Amazon Lex calls during a conversation. */ export interface CodeHookSpecification { LambdaCodeHook: LambdaCodeHook; } /** * Contains information about code hooks that Amazon Lex calls during a conversation. */ export interface LambdaCodeHook { /** * The version of the request-response that you want Amazon Lex to use to invoke your Lambda function. */ CodeHookInterfaceVersion: string; /** * The Amazon Resource Name (ARN) of the Lambda function. */ LambdaArn: string; } /** * Contains information about code hooks that Amazon Lex calls during a conversation. */ export interface ConversationLogSettings { AudioLogSettings?: AudioLogSettings; TextLogSettings?: TextLogSettings; } /** * 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. */ export interface AudioLogSetting { Destination: AudioLogDestination; Enabled: boolean; } /** * The location of audio log files collected when conversation logging is enabled for a bot. */ export interface AudioLogDestination { S3Bucket: S3BucketLogDestination; } /** * Specifies an Amazon S3 bucket for logging audio conversations */ export interface S3BucketLogDestination { /** * The Amazon Resource Name (ARN) of an Amazon S3 bucket where audio log files are stored. */ S3BucketArn: string; /** * The Amazon S3 key of the deployment package. */ LogPrefix: string; /** * The Amazon Resource Name (ARN) of an AWS Key Management Service (KMS) key for encrypting audio log files stored in an S3 bucket. */ KmsKeyArn?: string; } /** * Contains information about code hooks that Amazon Lex calls during a conversation. */ export interface TextLogSetting { Destination: TextLogDestination; Enabled: boolean; } /** * Defines the Amazon CloudWatch Logs destination log group for conversation text logs. */ export interface TextLogDestination { CloudWatch: CloudWatchLogGroupLogDestination; } export interface CloudWatchLogGroupLogDestination { /** * A string used to identify the groupArn for the Cloudwatch Log Group */ CloudWatchLogGroupArn: string; /** * A string containing the value for the Log Prefix */ LogPrefix: string; } /** * A label for tagging Lex resources */ export interface Tag { /** * A string used to identify this tag */ Key: string; /** * A string containing the value for the tag */ Value: string; }