Amazon Lex Model Building V2

2023/02/09 - Amazon Lex Model Building V2 - 10 updated api methods

Changes  AWS Lex now supports Network of Bots.

CreateBot (updated) Link ¶
Changes (request, response)
Request
{'botMembers': [{'botMemberAliasId': 'string',
                 'botMemberAliasName': 'string',
                 'botMemberId': 'string',
                 'botMemberName': 'string',
                 'botMemberVersion': 'string'}],
 'botType': 'Bot | BotNetwork'}
Response
{'botMembers': [{'botMemberAliasId': 'string',
                 'botMemberAliasName': 'string',
                 'botMemberId': 'string',
                 'botMemberName': 'string',
                 'botMemberVersion': 'string'}],
 'botStatus': {'Updating'},
 'botType': 'Bot | BotNetwork'}

Creates an Amazon Lex conversational bot.

See also: AWS API Documentation

Request Syntax

client.create_bot(
    botName='string',
    description='string',
    roleArn='string',
    dataPrivacy={
        'childDirected': True|False
    },
    idleSessionTTLInSeconds=123,
    botTags={
        'string': 'string'
    },
    testBotAliasTags={
        'string': 'string'
    },
    botType='Bot'|'BotNetwork',
    botMembers=[
        {
            'botMemberId': 'string',
            'botMemberName': 'string',
            'botMemberAliasId': 'string',
            'botMemberAliasName': 'string',
            'botMemberVersion': 'string'
        },
    ]
)
type botName

string

param botName

[REQUIRED]

The name of the bot. The bot name must be unique in the account that creates the bot.

type description

string

param description

A description of the bot. It appears in lists to help you identify a particular bot.

type roleArn

string

param roleArn

[REQUIRED]

The Amazon Resource Name (ARN) of an IAM role that has permission to access the bot.

type dataPrivacy

dict

param dataPrivacy

[REQUIRED]

Provides information on additional privacy protections Amazon Lex should use with the bot's data.

  • childDirected (boolean) -- [REQUIRED]

    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.

type idleSessionTTLInSeconds

integer

param idleSessionTTLInSeconds

[REQUIRED]

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.

type botTags

dict

param botTags

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

  • (string) --

    • (string) --

type testBotAliasTags

dict

param testBotAliasTags

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

  • (string) --

    • (string) --

type botType

string

param botType

The type of a bot to create.

type botMembers

list

param botMembers

The list of bot members in a network to be created.

  • (dict) --

    A bot that is a member of a network of bots.

    • botMemberId (string) -- [REQUIRED]

      The unique ID of a bot that is a member of this network of bots.

    • botMemberName (string) -- [REQUIRED]

      The unique name of a bot that is a member of this network of bots.

    • botMemberAliasId (string) -- [REQUIRED]

      The alias ID of a bot that is a member of this network of bots.

    • botMemberAliasName (string) -- [REQUIRED]

      The alias name of a bot that is a member of this network of bots.

    • botMemberVersion (string) -- [REQUIRED]

      The version of a bot that is a member of this network of bots.

rtype

dict

returns

Response Syntax

{
    'botId': 'string',
    'botName': 'string',
    'description': 'string',
    'roleArn': 'string',
    'dataPrivacy': {
        'childDirected': True|False
    },
    'idleSessionTTLInSeconds': 123,
    'botStatus': 'Creating'|'Available'|'Inactive'|'Deleting'|'Failed'|'Versioning'|'Importing'|'Updating',
    'creationDateTime': datetime(2015, 1, 1),
    'botTags': {
        'string': 'string'
    },
    'testBotAliasTags': {
        'string': 'string'
    },
    'botType': 'Bot'|'BotNetwork',
    'botMembers': [
        {
            'botMemberId': 'string',
            'botMemberName': 'string',
            'botMemberAliasId': 'string',
            'botMemberAliasName': 'string',
            'botMemberVersion': 'string'
        },
    ]
}

Response Structure

  • (dict) --

    • botId (string) --

      A unique identifier for a particular bot. You use this to identify the bot when you call other Amazon Lex API operations.

    • botName (string) --

      The name specified for the bot.

    • description (string) --

      The description specified for the bot.

    • roleArn (string) --

      The IAM role specified for the bot.

    • dataPrivacy (dict) --

      The data privacy settings specified for the bot.

      • childDirected (boolean) --

        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.

    • idleSessionTTLInSeconds (integer) --

      The session idle time specified for the bot.

    • botStatus (string) --

      Shows the current status of the bot. The bot is first in the Creating status. Once the bot is read for use, it changes to the Available status. After the bot is created, you can use the DRAFT version of the bot.

    • creationDateTime (datetime) --

      A timestamp indicating the date and time that the bot was created.

    • botTags (dict) --

      A list of tags associated with the bot.

      • (string) --

        • (string) --

    • testBotAliasTags (dict) --

      A list of tags associated with the test alias for the bot.

      • (string) --

        • (string) --

    • botType (string) --

      The type of a bot that was created.

    • botMembers (list) --

      The list of bots in a network that was created.

      • (dict) --

        A bot that is a member of a network of bots.

        • botMemberId (string) --

          The unique ID of a bot that is a member of this network of bots.

        • botMemberName (string) --

          The unique name of a bot that is a member of this network of bots.

        • botMemberAliasId (string) --

          The alias ID of a bot that is a member of this network of bots.

        • botMemberAliasName (string) --

          The alias name of a bot that is a member of this network of bots.

        • botMemberVersion (string) --

          The version of a bot that is a member of this network of bots.

CreateBotVersion (updated) Link ¶
Changes (response)
{'botStatus': {'Updating'}}

Creates 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 create the first version of a bot, Amazon Lex sets the version to 1. Subsequent versions increment by 1.

See also: AWS API Documentation

Request Syntax

client.create_bot_version(
    botId='string',
    description='string',
    botVersionLocaleSpecification={
        'string': {
            'sourceBotVersion': 'string'
        }
    }
)
type botId

string

param botId

[REQUIRED]

The identifier of the bot to create the version for.

type description

string

param description

A description of the version. Use the description to help identify the version in lists.

type botVersionLocaleSpecification

dict

param botVersionLocaleSpecification

[REQUIRED]

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.

  • (string) --

    • (dict) --

      The version of a bot used for a bot locale.

      • sourceBotVersion (string) -- [REQUIRED]

        The version of a bot used for a bot locale.

rtype

dict

returns

Response Syntax

{
    'botId': 'string',
    'description': 'string',
    'botVersion': 'string',
    'botVersionLocaleSpecification': {
        'string': {
            'sourceBotVersion': 'string'
        }
    },
    'botStatus': 'Creating'|'Available'|'Inactive'|'Deleting'|'Failed'|'Versioning'|'Importing'|'Updating',
    'creationDateTime': datetime(2015, 1, 1)
}

Response Structure

  • (dict) --

    • botId (string) --

      The bot identifier specified in the request.

    • description (string) --

      The description of the version specified in the request.

    • botVersion (string) --

      The version number assigned to the version.

    • botVersionLocaleSpecification (dict) --

      The source versions used for each locale in the new version.

      • (string) --

        • (dict) --

          The version of a bot used for a bot locale.

          • sourceBotVersion (string) --

            The version of a bot used for a bot locale.

    • botStatus (string) --

      When you send a request to create or update a bot, Amazon Lex sets the status response element to Creating . After Amazon Lex builds the bot, it sets status to Available . If Amazon Lex can't build the bot, it sets status to Failed .

    • creationDateTime (datetime) --

      A timestamp of the date and time that the version was created.

DeleteBot (updated) Link ¶
Changes (response)
{'botStatus': {'Updating'}}

Deletes all versions of a bot, including the Draft version. To delete a specific version, use the DeleteBotVersion operation.

When you delete a bot, all of the resources contained in the bot are also deleted. Deleting a bot removes all locales, intents, slot, and slot types defined for the bot.

If a bot has an alias, the DeleteBot operation returns a ResourceInUseException exception. If you want to delete the bot and the alias, set the skipResourceInUseCheck parameter to true .

See also: AWS API Documentation

Request Syntax

client.delete_bot(
    botId='string',
    skipResourceInUseCheck=True|False
)
type botId

string

param botId

[REQUIRED]

The identifier of the bot to delete.

type skipResourceInUseCheck

boolean

param skipResourceInUseCheck

By default, Amazon Lex checks if any other resource, such as an alias or bot network, is using the bot version before it is deleted and throws a ResourceInUseException exception if the bot is being used by another resource. Set this parameter to true to skip this check and remove the bot even if it is being used by another resource.

rtype

dict

returns

Response Syntax

{
    'botId': 'string',
    'botStatus': 'Creating'|'Available'|'Inactive'|'Deleting'|'Failed'|'Versioning'|'Importing'|'Updating'
}

Response Structure

  • (dict) --

    • botId (string) --

      The unique identifier of the bot that Amazon Lex is deleting.

    • botStatus (string) --

      The current status of the bot. The status is Deleting while the bot and its associated resources are being deleted.

DeleteBotVersion (updated) Link ¶
Changes (response)
{'botStatus': {'Updating'}}

Deletes a specific version of a bot. To delete all versions of a bot, use the DeleteBot operation.

See also: AWS API Documentation

Request Syntax

client.delete_bot_version(
    botId='string',
    botVersion='string',
    skipResourceInUseCheck=True|False
)
type botId

string

param botId

[REQUIRED]

The identifier of the bot that contains the version.

type botVersion

string

param botVersion

[REQUIRED]

The version of the bot to delete.

type skipResourceInUseCheck

boolean

param skipResourceInUseCheck

By default, Amazon Lex checks if any other resource, such as an alias or bot network, is using the bot version before it is deleted and throws a ResourceInUseException exception if the version is being used by another resource. Set this parameter to true to skip this check and remove the version even if it is being used by another resource.

rtype

dict

returns

Response Syntax

{
    'botId': 'string',
    'botVersion': 'string',
    'botStatus': 'Creating'|'Available'|'Inactive'|'Deleting'|'Failed'|'Versioning'|'Importing'|'Updating'
}

Response Structure

  • (dict) --

    • botId (string) --

      The identifier of the bot that is being deleted.

    • botVersion (string) --

      The version of the bot that is being deleted.

    • botStatus (string) --

      The current status of the bot.

DescribeBot (updated) Link ¶
Changes (response)
{'botMembers': [{'botMemberAliasId': 'string',
                 'botMemberAliasName': 'string',
                 'botMemberId': 'string',
                 'botMemberName': 'string',
                 'botMemberVersion': 'string'}],
 'botStatus': {'Updating'},
 'botType': 'Bot | BotNetwork',
 'failureReasons': ['string']}

Provides metadata information about a bot.

See also: AWS API Documentation

Request Syntax

client.describe_bot(
    botId='string'
)
type botId

string

param botId

[REQUIRED]

The unique identifier of the bot to describe.

rtype

dict

returns

Response Syntax

{
    'botId': 'string',
    'botName': 'string',
    'description': 'string',
    'roleArn': 'string',
    'dataPrivacy': {
        'childDirected': True|False
    },
    'idleSessionTTLInSeconds': 123,
    'botStatus': 'Creating'|'Available'|'Inactive'|'Deleting'|'Failed'|'Versioning'|'Importing'|'Updating',
    'creationDateTime': datetime(2015, 1, 1),
    'lastUpdatedDateTime': datetime(2015, 1, 1),
    'botType': 'Bot'|'BotNetwork',
    'botMembers': [
        {
            'botMemberId': 'string',
            'botMemberName': 'string',
            'botMemberAliasId': 'string',
            'botMemberAliasName': 'string',
            'botMemberVersion': 'string'
        },
    ],
    'failureReasons': [
        'string',
    ]
}

Response Structure

  • (dict) --

    • botId (string) --

      The unique identifier of the bot.

    • botName (string) --

      The name of the bot.

    • description (string) --

      The description of the bot.

    • roleArn (string) --

      The Amazon Resource Name (ARN) of an IAM role that has permission to access the bot.

    • dataPrivacy (dict) --

      Settings for managing data privacy of the bot and its conversations with users.

      • childDirected (boolean) --

        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.

    • idleSessionTTLInSeconds (integer) --

      The maximum time in seconds that Amazon Lex retains the data gathered in a conversation.

    • botStatus (string) --

      The current status of the bot. When the status is Available the bot is ready to be used in conversations with users.

    • creationDateTime (datetime) --

      A timestamp of the date and time that the bot was created.

    • lastUpdatedDateTime (datetime) --

      A timestamp of the date and time that the bot was last updated.

    • botType (string) --

      The type of the bot that was described.

    • botMembers (list) --

      The list of bots in the network that was described.

      • (dict) --

        A bot that is a member of a network of bots.

        • botMemberId (string) --

          The unique ID of a bot that is a member of this network of bots.

        • botMemberName (string) --

          The unique name of a bot that is a member of this network of bots.

        • botMemberAliasId (string) --

          The alias ID of a bot that is a member of this network of bots.

        • botMemberAliasName (string) --

          The alias name of a bot that is a member of this network of bots.

        • botMemberVersion (string) --

          The version of a bot that is a member of this network of bots.

    • failureReasons (list) --

      If the botStatus is Failed , this contains a list of reasons that the bot couldn't be built.

      • (string) --

DescribeBotAlias (updated) Link ¶
Changes (response)
{'parentBotNetworks': [{'botId': 'string', 'botVersion': 'string'}]}

Get information about a specific bot alias.

See also: AWS API Documentation

Request Syntax

client.describe_bot_alias(
    botAliasId='string',
    botId='string'
)
type botAliasId

string

param botAliasId

[REQUIRED]

The identifier of the bot alias to describe.

type botId

string

param botId

[REQUIRED]

The identifier of the bot associated with the bot alias to describe.

rtype

dict

returns

Response Syntax

{
    'botAliasId': 'string',
    'botAliasName': 'string',
    'description': 'string',
    'botVersion': 'string',
    'botAliasLocaleSettings': {
        'string': {
            'enabled': True|False,
            'codeHookSpecification': {
                'lambdaCodeHook': {
                    'lambdaARN': 'string',
                    'codeHookInterfaceVersion': 'string'
                }
            }
        }
    },
    'conversationLogSettings': {
        'textLogSettings': [
            {
                'enabled': True|False,
                'destination': {
                    'cloudWatch': {
                        'cloudWatchLogGroupArn': 'string',
                        'logPrefix': 'string'
                    }
                }
            },
        ],
        'audioLogSettings': [
            {
                'enabled': True|False,
                'destination': {
                    's3Bucket': {
                        'kmsKeyArn': 'string',
                        's3BucketArn': 'string',
                        'logPrefix': 'string'
                    }
                }
            },
        ]
    },
    'sentimentAnalysisSettings': {
        'detectSentiment': True|False
    },
    'botAliasHistoryEvents': [
        {
            'botVersion': 'string',
            'startDate': datetime(2015, 1, 1),
            'endDate': datetime(2015, 1, 1)
        },
    ],
    'botAliasStatus': 'Creating'|'Available'|'Deleting'|'Failed',
    'botId': 'string',
    'creationDateTime': datetime(2015, 1, 1),
    'lastUpdatedDateTime': datetime(2015, 1, 1),
    'parentBotNetworks': [
        {
            'botId': 'string',
            'botVersion': 'string'
        },
    ]
}

Response Structure

  • (dict) --

    • botAliasId (string) --

      The identifier of the bot alias.

    • botAliasName (string) --

      The name of the bot alias.

    • description (string) --

      The description of the bot alias.

    • botVersion (string) --

      The version of the bot associated with the bot alias.

    • botAliasLocaleSettings (dict) --

      The locale settings that are unique to the alias.

      • (string) --

        • (dict) --

          Specifies settings that are unique to a locale. For example, you can use different Lambda function depending on the bot's locale.

          • enabled (boolean) --

            Determines whether the locale is enabled for the bot. If the value is false , the locale isn't available for use.

          • codeHookSpecification (dict) --

            Specifies the Lambda function that should be used in the locale.

            • lambdaCodeHook (dict) --

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

              • lambdaARN (string) --

                The Amazon Resource Name (ARN) of the Lambda function.

              • codeHookInterfaceVersion (string) --

                The version of the request-response that you want Amazon Lex to use to invoke your Lambda function.

    • conversationLogSettings (dict) --

      Specifics of how Amazon Lex logs text and audio conversations with the bot associated with the alias.

      • textLogSettings (list) --

        The Amazon CloudWatch Logs settings for logging text and metadata.

        • (dict) --

          Defines settings to enable text conversation logs.

          • enabled (boolean) --

            Determines whether conversation logs should be stored for an alias.

          • destination (dict) --

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

            • cloudWatch (dict) --

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

              • cloudWatchLogGroupArn (string) --

                The Amazon Resource Name (ARN) of the log group where text and metadata logs are delivered.

              • logPrefix (string) --

                The prefix of the log stream name within the log group that you specified

      • audioLogSettings (list) --

        The Amazon S3 settings for logging audio to an S3 bucket.

        • (dict) --

          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.

          • enabled (boolean) --

            Determines whether audio logging in enabled for the bot.

          • destination (dict) --

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

            • s3Bucket (dict) --

              The Amazon S3 bucket where the audio log files are stored. The IAM role specified in the roleArn parameter of the CreateBot operation must have permission to write to this bucket.

              • kmsKeyArn (string) --

                The Amazon Resource Name (ARN) of an AWS Key Management Service (KMS) key for encrypting audio log files stored in an S3 bucket.

              • s3BucketArn (string) --

                The Amazon Resource Name (ARN) of an Amazon S3 bucket where audio log files are stored.

              • logPrefix (string) --

                The S3 prefix to assign to audio log files.

    • sentimentAnalysisSettings (dict) --

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

      • detectSentiment (boolean) --

        Sets whether Amazon Lex uses Amazon Comprehend to detect the sentiment of user utterances.

    • botAliasHistoryEvents (list) --

      A list of events that affect a bot alias. For example, an event is recorded when the version that the alias points to changes.

      • (dict) --

        Provides a record of an event that affects a bot alias. For example, when the version of a bot that the alias points to changes.

        • botVersion (string) --

          The version of the bot that was used in the event.

        • startDate (datetime) --

          The date and time that the event started.

        • endDate (datetime) --

          The date and time that the event ended.

    • botAliasStatus (string) --

      The current status of the alias. When the alias is Available , the alias is ready for use with your bot.

    • botId (string) --

      The identifier of the bot associated with the bot alias.

    • creationDateTime (datetime) --

      A timestamp of the date and time that the alias was created.

    • lastUpdatedDateTime (datetime) --

      A timestamp of the date and time that the alias was last updated.

    • parentBotNetworks (list) --

      A list of the networks to which the bot alias you described belongs.

      • (dict) --

        A network of bots.

        • botId (string) --

          The identifier of the network of bots assigned by Amazon Lex.

        • botVersion (string) --

          The version of the network of bots.

DescribeBotVersion (updated) Link ¶
Changes (response)
{'botMembers': [{'botMemberAliasId': 'string',
                 'botMemberAliasName': 'string',
                 'botMemberId': 'string',
                 'botMemberName': 'string',
                 'botMemberVersion': 'string'}],
 'botStatus': {'Updating'},
 'botType': 'Bot | BotNetwork',
 'parentBotNetworks': [{'botId': 'string', 'botVersion': 'string'}]}

Provides metadata about a version of a bot.

See also: AWS API Documentation

Request Syntax

client.describe_bot_version(
    botId='string',
    botVersion='string'
)
type botId

string

param botId

[REQUIRED]

The identifier of the bot containing the version to return metadata for.

type botVersion

string

param botVersion

[REQUIRED]

The version of the bot to return metadata for.

rtype

dict

returns

Response Syntax

{
    'botId': 'string',
    'botName': 'string',
    'botVersion': 'string',
    'description': 'string',
    'roleArn': 'string',
    'dataPrivacy': {
        'childDirected': True|False
    },
    'idleSessionTTLInSeconds': 123,
    'botStatus': 'Creating'|'Available'|'Inactive'|'Deleting'|'Failed'|'Versioning'|'Importing'|'Updating',
    'failureReasons': [
        'string',
    ],
    'creationDateTime': datetime(2015, 1, 1),
    'parentBotNetworks': [
        {
            'botId': 'string',
            'botVersion': 'string'
        },
    ],
    'botType': 'Bot'|'BotNetwork',
    'botMembers': [
        {
            'botMemberId': 'string',
            'botMemberName': 'string',
            'botMemberAliasId': 'string',
            'botMemberAliasName': 'string',
            'botMemberVersion': 'string'
        },
    ]
}

Response Structure

  • (dict) --

    • botId (string) --

      The identifier of the bot that contains the version.

    • botName (string) --

      The name of the bot that contains the version.

    • botVersion (string) --

      The version of the bot that was described.

    • description (string) --

      The description specified for the bot.

    • roleArn (string) --

      The Amazon Resource Name (ARN) of an IAM role that has permission to access the bot version.

    • dataPrivacy (dict) --

      Data privacy settings for the bot version.

      • childDirected (boolean) --

        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.

    • idleSessionTTLInSeconds (integer) --

      The number of seconds that a session with the bot remains active before it is discarded by Amazon Lex.

    • botStatus (string) --

      The current status of the bot. When the status is Available , the bot version is ready for use.

    • failureReasons (list) --

      If the botStatus is Failed , this contains a list of reasons that the version couldn't be built.

      • (string) --

    • creationDateTime (datetime) --

      A timestamp of the date and time that the bot version was created.

    • parentBotNetworks (list) --

      A list of the networks to which the bot version you described belongs.

      • (dict) --

        A network of bots.

        • botId (string) --

          The identifier of the network of bots assigned by Amazon Lex.

        • botVersion (string) --

          The version of the network of bots.

    • botType (string) --

      The type of the bot in the version that was described.

    • botMembers (list) --

      The members of bot network in the version that was described.

      • (dict) --

        A bot that is a member of a network of bots.

        • botMemberId (string) --

          The unique ID of a bot that is a member of this network of bots.

        • botMemberName (string) --

          The unique name of a bot that is a member of this network of bots.

        • botMemberAliasId (string) --

          The alias ID of a bot that is a member of this network of bots.

        • botMemberAliasName (string) --

          The alias name of a bot that is a member of this network of bots.

        • botMemberVersion (string) --

          The version of a bot that is a member of this network of bots.

ListBotVersions (updated) Link ¶
Changes (response)
{'botVersionSummaries': {'botStatus': {'Updating'}}}

Gets information about all of the versions of a bot.

The ListBotVersions operation returns a summary of each version of a bot. For example, if a bot has three numbered versions, the ListBotVersions operation returns for summaries, one for each numbered version and one for the DRAFT version.

The ListBotVersions operation always returns at least one version, the DRAFT version.

See also: AWS API Documentation

Request Syntax

client.list_bot_versions(
    botId='string',
    sortBy={
        'attribute': 'BotVersion',
        'order': 'Ascending'|'Descending'
    },
    maxResults=123,
    nextToken='string'
)
type botId

string

param botId

[REQUIRED]

The identifier of the bot to list versions for.

type sortBy

dict

param sortBy

Specifies sorting parameters for the list of versions. You can specify that the list be sorted by version name in either ascending or descending order.

  • attribute (string) -- [REQUIRED]

    The attribute to use to sort the list of versions.

  • order (string) -- [REQUIRED]

    The order to sort the list. You can specify ascending or descending order.

type maxResults

integer

param maxResults

The maximum number of versions to return in each page of results. If there are fewer results than the max page size, only the actual number of results are returned.

type nextToken

string

param nextToken

If the response to the ListBotVersion operation contains more results than specified in the maxResults parameter, a token is returned in the response. Use that token in the nextToken parameter to return the next page of results.

rtype

dict

returns

Response Syntax

{
    'botId': 'string',
    'botVersionSummaries': [
        {
            'botName': 'string',
            'botVersion': 'string',
            'description': 'string',
            'botStatus': 'Creating'|'Available'|'Inactive'|'Deleting'|'Failed'|'Versioning'|'Importing'|'Updating',
            'creationDateTime': datetime(2015, 1, 1)
        },
    ],
    'nextToken': 'string'
}

Response Structure

  • (dict) --

    • botId (string) --

      The identifier of the bot to list versions for.

    • botVersionSummaries (list) --

      Summary information for the bot versions that meet the filter criteria specified in the request. The length of the list is specified in the maxResults parameter of the request. If there are more versions available, the nextToken field contains a token to get the next page of results.

      • (dict) --

        Summary information about a bot version returned by the ListBotVersions operation.

        • botName (string) --

          The name of the bot associated with the version.

        • botVersion (string) --

          The numeric version of the bot, or DRAFT to indicate that this is the version of the bot that can be updated..

        • description (string) --

          The description of the version.

        • botStatus (string) --

          The status of the bot. When the status is available, the version of the bot is ready for use.

        • creationDateTime (datetime) --

          A timestamp of the date and time that the version was created.

    • nextToken (string) --

      A token that indicates whether there are more results to return in a response to the ListBotVersions operation. If the nextToken field is present, you send the contents as the nextToken parameter of a ListBotAliases operation request to get the next page of results.

ListBots (updated) Link ¶
Changes (request, response)
Request
{'filters': {'name': {'BotType'}, 'operator': {'NE'}}}
Response
{'botSummaries': {'botStatus': {'Updating'}, 'botType': 'Bot | BotNetwork'}}

Gets a list of available bots.

See also: AWS API Documentation

Request Syntax

client.list_bots(
    sortBy={
        'attribute': 'BotName',
        'order': 'Ascending'|'Descending'
    },
    filters=[
        {
            'name': 'BotName'|'BotType',
            'values': [
                'string',
            ],
            'operator': 'CO'|'EQ'|'NE'
        },
    ],
    maxResults=123,
    nextToken='string'
)
type sortBy

dict

param sortBy

Specifies sorting parameters for the list of bots. You can specify that the list be sorted by bot name in ascending or descending order.

  • attribute (string) -- [REQUIRED]

    The attribute to use to sort the list of bots.

  • order (string) -- [REQUIRED]

    The order to sort the list. You can choose ascending or descending.

type filters

list

param filters

Provides the specification of a filter used to limit the bots in the response to only those that match the filter specification. You can only specify one filter and one string to filter on.

  • (dict) --

    Filters the responses returned by the ListBots operation.

    • name (string) -- [REQUIRED]

      The name of the field to filter the list of bots.

    • values (list) -- [REQUIRED]

      The value to use for filtering the list of bots.

      • (string) --

    • operator (string) -- [REQUIRED]

      The operator to use for the filter. Specify EQ when the ListBots operation should return only aliases that equal the specified value. Specify CO when the ListBots operation should return aliases that contain the specified value.

type maxResults

integer

param maxResults

The maximum number of bots to return in each page of results. If there are fewer results than the maximum page size, only the actual number of results are returned.

type nextToken

string

param nextToken

If the response from the ListBots operation contains more results than specified in the maxResults parameter, a token is returned in the response.

Use the returned token in the nextToken parameter of a ListBots request to return the next page of results. For a complete set of results, call the ListBots operation until the nextToken returned in the response is null.

rtype

dict

returns

Response Syntax

{
    'botSummaries': [
        {
            'botId': 'string',
            'botName': 'string',
            'description': 'string',
            'botStatus': 'Creating'|'Available'|'Inactive'|'Deleting'|'Failed'|'Versioning'|'Importing'|'Updating',
            'latestBotVersion': 'string',
            'lastUpdatedDateTime': datetime(2015, 1, 1),
            'botType': 'Bot'|'BotNetwork'
        },
    ],
    'nextToken': 'string'
}

Response Structure

  • (dict) --

    • botSummaries (list) --

      Summary information for the bots that meet the filter criteria specified in the request. The length of the list is specified in the maxResults parameter of the request. If there are more bots available, the nextToken field contains a token to the next page of results.

      • (dict) --

        Summary information about a bot returned by the ListBots operation.

        • botId (string) --

          The unique identifier assigned to the bot. Use this ID to get detailed information about the bot with the DescribeBot operation.

        • botName (string) --

          The name of the bot.

        • description (string) --

          The description of the bot.

        • botStatus (string) --

          The current status of the bot. When the status is Available the bot is ready for use.

        • latestBotVersion (string) --

          The latest numerical version in use for the bot.

        • lastUpdatedDateTime (datetime) --

          The date and time that the bot was last updated.

        • botType (string) --

          The type of the bot.

    • nextToken (string) --

      A token that indicates whether there are more results to return in a response to the ListBots operation. If the nextToken field is present, you send the contents as the nextToken parameter of a ListBots operation request to get the next page of results.

UpdateBot (updated) Link ¶
Changes (request, response)
Request
{'botMembers': [{'botMemberAliasId': 'string',
                 'botMemberAliasName': 'string',
                 'botMemberId': 'string',
                 'botMemberName': 'string',
                 'botMemberVersion': 'string'}],
 'botType': 'Bot | BotNetwork'}
Response
{'botMembers': [{'botMemberAliasId': 'string',
                 'botMemberAliasName': 'string',
                 'botMemberId': 'string',
                 'botMemberName': 'string',
                 'botMemberVersion': 'string'}],
 'botStatus': {'Updating'},
 'botType': 'Bot | BotNetwork'}

Updates the configuration of an existing bot.

See also: AWS API Documentation

Request Syntax

client.update_bot(
    botId='string',
    botName='string',
    description='string',
    roleArn='string',
    dataPrivacy={
        'childDirected': True|False
    },
    idleSessionTTLInSeconds=123,
    botType='Bot'|'BotNetwork',
    botMembers=[
        {
            'botMemberId': 'string',
            'botMemberName': 'string',
            'botMemberAliasId': 'string',
            'botMemberAliasName': 'string',
            'botMemberVersion': 'string'
        },
    ]
)
type botId

string

param botId

[REQUIRED]

The unique identifier of the bot to update. This identifier is returned by the CreateBot operation.

type botName

string

param botName

[REQUIRED]

The new name of the bot. The name must be unique in the account that creates the bot.

type description

string

param description

A description of the bot.

type roleArn

string

param roleArn

[REQUIRED]

The Amazon Resource Name (ARN) of an IAM role that has permissions to access the bot.

type dataPrivacy

dict

param dataPrivacy

[REQUIRED]

Provides information on additional privacy protections Amazon Lex should use with the bot's data.

  • childDirected (boolean) -- [REQUIRED]

    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.

type idleSessionTTLInSeconds

integer

param idleSessionTTLInSeconds

[REQUIRED]

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.

type botType

string

param botType

The type of the bot to be updated.

type botMembers

list

param botMembers

The list of bot members in the network associated with the update action.

  • (dict) --

    A bot that is a member of a network of bots.

    • botMemberId (string) -- [REQUIRED]

      The unique ID of a bot that is a member of this network of bots.

    • botMemberName (string) -- [REQUIRED]

      The unique name of a bot that is a member of this network of bots.

    • botMemberAliasId (string) -- [REQUIRED]

      The alias ID of a bot that is a member of this network of bots.

    • botMemberAliasName (string) -- [REQUIRED]

      The alias name of a bot that is a member of this network of bots.

    • botMemberVersion (string) -- [REQUIRED]

      The version of a bot that is a member of this network of bots.

rtype

dict

returns

Response Syntax

{
    'botId': 'string',
    'botName': 'string',
    'description': 'string',
    'roleArn': 'string',
    'dataPrivacy': {
        'childDirected': True|False
    },
    'idleSessionTTLInSeconds': 123,
    'botStatus': 'Creating'|'Available'|'Inactive'|'Deleting'|'Failed'|'Versioning'|'Importing'|'Updating',
    'creationDateTime': datetime(2015, 1, 1),
    'lastUpdatedDateTime': datetime(2015, 1, 1),
    'botType': 'Bot'|'BotNetwork',
    'botMembers': [
        {
            'botMemberId': 'string',
            'botMemberName': 'string',
            'botMemberAliasId': 'string',
            'botMemberAliasName': 'string',
            'botMemberVersion': 'string'
        },
    ]
}

Response Structure

  • (dict) --

    • botId (string) --

      The unique identifier of the bot that was updated.

    • botName (string) --

      The name of the bot after the update.

    • description (string) --

      The description of the bot after the update.

    • roleArn (string) --

      The Amazon Resource Name (ARN) of the IAM role used by the bot after the update.

    • dataPrivacy (dict) --

      The data privacy settings for the bot after the update.

      • childDirected (boolean) --

        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.

    • idleSessionTTLInSeconds (integer) --

      The session timeout, in seconds, for the bot after the update.

    • botStatus (string) --

      Shows the current status of the bot. The bot is first in the Creating status. Once the bot is read for use, it changes to the Available status. After the bot is created, you can use the DRAFT version of the bot.

    • creationDateTime (datetime) --

      A timestamp of the date and time that the bot was created.

    • lastUpdatedDateTime (datetime) --

      A timestamp of the date and time that the bot was last updated.

    • botType (string) --

      The type of the bot that was updated.

    • botMembers (list) --

      The list of bot members in the network that was updated.

      • (dict) --

        A bot that is a member of a network of bots.

        • botMemberId (string) --

          The unique ID of a bot that is a member of this network of bots.

        • botMemberName (string) --

          The unique name of a bot that is a member of this network of bots.

        • botMemberAliasId (string) --

          The alias ID of a bot that is a member of this network of bots.

        • botMemberAliasName (string) --

          The alias name of a bot that is a member of this network of bots.

        • botMemberVersion (string) --

          The version of a bot that is a member of this network of bots.