Skip to content

create_bot_alias

create_bot_alias(
    bot_alias_name: Name,
    bot_id: Id,
    *,
    config_overrides: Optional[LexModelsV2ClientConfig] = None,
    description: Optional[Description] = None,
    bot_version: Optional[NumericalBotVersion] = None,
    bot_alias_locale_settings: Optional[BotAliasLocaleSettingsMap] = None,
    conversation_log_settings: Optional[ConversationLogSettings] = None,
    sentiment_analysis_settings: Optional[SentimentAnalysisSettings] = None,
    tags: Optional[TagMap] = None,
) -> CreateBotAliasResponse

Creates 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 create an alias called "PROD" that your applications use to call the Amazon Lex bot.

Parameters:

  • bot_alias_name (Name) –

    The alias to create. The name must be unique for the bot.

  • description (Optional[Description], default: None ) –

    A description of the alias. Use this description to help identify the alias.

  • bot_version (Optional[NumericalBotVersion], default: None ) –

    The version of the bot that this alias points to. You can use the UpdateBotAlias operation to change the bot version associated with the alias.

  • bot_alias_locale_settings (Optional[BotAliasLocaleSettingsMap], default: None ) –

    Maps configuration information to a specific locale. You can use this parameter to specify a specific Lambda function to run different functions in different locales.

  • conversation_log_settings (Optional[ConversationLogSettings], default: None ) –

    Specifies whether Amazon Lex logs text and audio for a conversation 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 audio input in Amazon S3.

  • bot_id (Id) –

    The unique identifier of the bot that the alias applies to.

  • tags (Optional[TagMap], default: None ) –

    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 UpdateBotAlias operation to update the tags on a bot alias. To update tags, use the TagResource operation.

Raises:

  • ConflictException –

    The action that you tried to perform couldn't be completed because the resource is in a conflicting state. For example, deleting a bot that is in the CREATING state. Try your request again.

  • InternalServerException –

    The service encountered an unexpected condition. Try your request again.

  • PreconditionFailedException –

    Your request couldn't be completed because one or more request fields aren't valid. Check the fields in your request and try again.

  • ServiceQuotaExceededException –

    You have reached a quota for your bot.

  • ThrottlingException –

    Your request rate is too high. Reduce the frequency of requests.

  • ValidationException –

    One of the input parameters in your request isn't valid. Check the parameters and try your request again.

  • UnknownServiceError –

    The service returned an error code this client does not model.

Source code in docs_src/capo_lex_models_v2/_services/lex_models_v2.py
def create_bot_alias(
    self,
    bot_alias_name: "capo_lex_models_v2.types.name.Name",
    bot_id: "capo_lex_models_v2.types.id.Id",
    *,
    config_overrides: Optional[LexModelsV2ClientConfig] = None,
    description: Optional[
        "capo_lex_models_v2.types.description.Description"
    ] = None,
    bot_version: Optional[
        "capo_lex_models_v2.types.numerical_bot_version.NumericalBotVersion"
    ] = None,
    bot_alias_locale_settings: Optional[
        "capo_lex_models_v2.types.bot_alias_locale_settings_map.BotAliasLocaleSettingsMap"
    ] = None,
    conversation_log_settings: Optional[
        "capo_lex_models_v2.types.conversation_log_settings.ConversationLogSettings"
    ] = None,
    sentiment_analysis_settings: Optional[
        "capo_lex_models_v2.types.sentiment_analysis_settings.SentimentAnalysisSettings"
    ] = None,
    tags: Optional["capo_lex_models_v2.types.tag_map.TagMap"] = None,
) -> "capo_lex_models_v2.types.create_bot_alias_response.CreateBotAliasResponse":
    """<p>Creates 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.</p> <p>For example, you can create an alias called "PROD" that your applications use to call the Amazon Lex bot. </p>

    Args:
        bot_alias_name: <p>The alias to create. The name must be unique for the bot.</p>
        description: <p>A description of the alias. Use this description to help identify the alias.</p>
        bot_version: <p>The version of the bot that this alias points to. You can use the <a href="https://docs.aws.amazon.com/lexv2/latest/APIReference/API_UpdateBotAlias.html">UpdateBotAlias</a> operation to change the bot version associated with the alias.</p>
        bot_alias_locale_settings: <p>Maps configuration information to a specific locale. You can use this parameter to specify a specific Lambda function to run different functions in different locales.</p>
        conversation_log_settings: <p>Specifies whether Amazon Lex logs text and audio for a conversation 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 audio input in Amazon S3.</p>
        bot_id: <p>The unique identifier of the bot that the alias applies to.</p>
        tags: <p>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 <code>UpdateBotAlias</code> operation to update the tags on a bot alias. To update tags, use the <code>TagResource</code> operation.</p>

    Raises:
        capo_lex_models_v2.errors.conflict_exception.ConflictException: <p>The action that you tried to perform couldn't be completed because the resource is in a conflicting state. For example, deleting a bot that is in the CREATING state. Try your request again. </p>
        capo_lex_models_v2.errors.internal_server_exception.InternalServerException: <p>The service encountered an unexpected condition. Try your request again.</p>
        capo_lex_models_v2.errors.precondition_failed_exception.PreconditionFailedException: <p>Your request couldn't be completed because one or more request fields aren't valid. Check the fields in your request and try again.</p>
        capo_lex_models_v2.errors.service_quota_exceeded_exception.ServiceQuotaExceededException: <p>You have reached a quota for your bot. </p>
        capo_lex_models_v2.errors.throttling_exception.ThrottlingException: <p>Your request rate is too high. Reduce the frequency of requests.</p>
        capo_lex_models_v2.errors.validation_exception.ValidationException: <p>One of the input parameters in your request isn't valid. Check the parameters and try your request again.</p>
        capo_lex_models_v2.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    def _handler(
        req: "OperationRequest[capo_lex_models_v2.types.create_bot_alias_request.CreateBotAliasRequest]",
    ) -> OperationResponse[
        "capo_lex_models_v2.types.create_bot_alias_response.CreateBotAliasResponse"
    ]:
        import capo_lex_models_v2._operations.lex_model_building_service_v2.create_bot_alias

        output, http_response = (
            capo_lex_models_v2._operations.lex_model_building_service_v2.create_bot_alias.create_bot_alias(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("CreateBotAlias")
    )
    input_: capo_lex_models_v2.types.create_bot_alias_request.CreateBotAliasRequest = {
        "bot_alias_name": bot_alias_name,
        "bot_id": bot_id,
    }
    if description is not None:
        input_["description"] = description
    if bot_version is not None:
        input_["bot_version"] = bot_version
    if bot_alias_locale_settings is not None:
        input_["bot_alias_locale_settings"] = bot_alias_locale_settings
    if conversation_log_settings is not None:
        input_["conversation_log_settings"] = conversation_log_settings
    if sentiment_analysis_settings is not None:
        input_["sentiment_analysis_settings"] = sentiment_analysis_settings
    if tags is not None:
        input_["tags"] = tags

    response = execute_pipeline(
        OperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    response.response.close()
    return response.output