put_bot_alias

put_bot_alias(**kwargs)

Creates an alias for the specified version of the bot or replaces an alias for the specified bot. To change the version of the bot that the alias points to, replace the alias. For more information about aliases, see versioning-aliases.

This operation requires permissions for the lex:PutBotAlias action.

See also: AWS API Documentation

Request Syntax

response = client.put_bot_alias(
    name='string',
    description='string',
    botVersion='string',
    botName='string',
    checksum='string',
    conversationLogs={
        'logSettings': [
            {
                'logType': 'AUDIO'|'TEXT',
                'destination': 'CLOUDWATCH_LOGS'|'S3',
                'kmsKeyArn': 'string',
                'resourceArn': 'string'
            },
        ],
        'iamRoleArn': 'string'
    },
    tags=[
        {
            'key': 'string',
            'value': 'string'
        },
    ]
)
Parameters
  • name (string) --

    [REQUIRED]

    The name of the alias. The name is not case sensitive.

  • description (string) -- A description of the alias.
  • botVersion (string) --

    [REQUIRED]

    The version of the bot.

  • botName (string) --

    [REQUIRED]

    The name of the bot.

  • checksum (string) --

    Identifies a specific revision of the $LATEST version.

    When you create a new bot alias, leave the checksum field blank. If you specify a checksum you get a BadRequestException exception.

    When you want to update a bot alias, set the checksum field to the checksum of the most recent revision of the $LATEST version. If you don't specify the checksum field, or if the checksum does not match the $LATEST version, you get a PreconditionFailedException exception.

  • conversationLogs (dict) --

    Settings for conversation logs for the alias.

    • logSettings (list) -- [REQUIRED]

      The settings for your conversation logs. You can log the conversation text, conversation audio, or both.

      • (dict) --

        Settings used to configure delivery mode and destination for conversation logs.

        • logType (string) -- [REQUIRED]

          The type of logging to enable. Text logs are delivered to a CloudWatch Logs log group. Audio logs are delivered to an S3 bucket.

        • destination (string) -- [REQUIRED]

          Where the logs will be delivered. Text logs are delivered to a CloudWatch Logs log group. Audio logs are delivered to an S3 bucket.

        • kmsKeyArn (string) --

          The Amazon Resource Name (ARN) of the AWS KMS customer managed key for encrypting audio logs delivered to an S3 bucket. The key does not apply to CloudWatch Logs and is optional for S3 buckets.

        • resourceArn (string) -- [REQUIRED]

          The Amazon Resource Name (ARN) of the CloudWatch Logs log group or S3 bucket where the logs should be delivered.

    • iamRoleArn (string) -- [REQUIRED]

      The Amazon Resource Name (ARN) of an IAM role with permission to write to your CloudWatch Logs for text logs and your S3 bucket for audio logs. If audio encryption is enabled, this role also provides access permission for the AWS KMS key used for encrypting audio logs. For more information, see Creating an IAM Role and Policy for Conversation Logs.

  • tags (list) --

    A list of tags to add to the bot alias. You can only add tags when you create an alias, you can't use the PutBotAlias operation to update the tags on a bot alias. To update tags, use the TagResource operation.

    • (dict) --

      A list of key/value pairs that identify a bot, bot alias, or bot channel. Tag keys and values can consist of Unicode letters, digits, white space, and any of the following symbols: _ . : / = + - @.

      • key (string) -- [REQUIRED]

        The key for the tag. Keys are not case-sensitive and must be unique.

      • value (string) -- [REQUIRED]

        The value associated with a key. The value may be an empty string but it can't be null.

Return type

dict

Returns

Response Syntax

{
    'name': 'string',
    'description': 'string',
    'botVersion': 'string',
    'botName': 'string',
    'lastUpdatedDate': datetime(2015, 1, 1),
    'createdDate': datetime(2015, 1, 1),
    'checksum': 'string',
    'conversationLogs': {
        'logSettings': [
            {
                'logType': 'AUDIO'|'TEXT',
                'destination': 'CLOUDWATCH_LOGS'|'S3',
                'kmsKeyArn': 'string',
                'resourceArn': 'string',
                'resourcePrefix': 'string'
            },
        ],
        'iamRoleArn': 'string'
    },
    'tags': [
        {
            'key': 'string',
            'value': 'string'
        },
    ]
}

Response Structure

  • (dict) --

    • name (string) --

      The name of the alias.

    • description (string) --

      A description of the alias.

    • botVersion (string) --

      The version of the bot that the alias points to.

    • botName (string) --

      The name of the bot that the alias points to.

    • lastUpdatedDate (datetime) --

      The date that the bot alias was updated. When you create a resource, the creation date and the last updated date are the same.

    • createdDate (datetime) --

      The date that the bot alias was created.

    • checksum (string) --

      The checksum for the current version of the alias.

    • conversationLogs (dict) --

      The settings that determine how Amazon Lex uses conversation logs for the alias.

      • logSettings (list) --

        The settings for your conversation logs. You can log text, audio, or both.

        • (dict) --

          The settings for conversation logs.

          • logType (string) --

            The type of logging that is enabled.

          • destination (string) --

            The destination where logs are delivered.

          • kmsKeyArn (string) --

            The Amazon Resource Name (ARN) of the key used to encrypt audio logs in an S3 bucket.

          • resourceArn (string) --

            The Amazon Resource Name (ARN) of the CloudWatch Logs log group or S3 bucket where the logs are delivered.

          • resourcePrefix (string) --

            The resource prefix is the first part of the S3 object key within the S3 bucket that you specified to contain audio logs. For CloudWatch Logs it is the prefix of the log stream name within the log group that you specified.

      • iamRoleArn (string) --

        The Amazon Resource Name (ARN) of the IAM role used to write your logs to CloudWatch Logs or an S3 bucket.

    • tags (list) --

      A list of tags associated with a bot.

      • (dict) --

        A list of key/value pairs that identify a bot, bot alias, or bot channel. Tag keys and values can consist of Unicode letters, digits, white space, and any of the following symbols: _ . : / = + - @.

        • key (string) --

          The key for the tag. Keys are not case-sensitive and must be unique.

        • value (string) --

          The value associated with a key. The value may be an empty string but it can't be null.

Exceptions

  • LexModelBuildingService.Client.exceptions.ConflictException
  • LexModelBuildingService.Client.exceptions.LimitExceededException
  • LexModelBuildingService.Client.exceptions.InternalFailureException
  • LexModelBuildingService.Client.exceptions.BadRequestException
  • LexModelBuildingService.Client.exceptions.PreconditionFailedException