Skip to content

update_bot_alias async

update_bot_alias(
    bot_alias_id: BotAliasId,
    bot_alias_name: Name,
    bot_id: Id,
    *,
    config_overrides: Optional[AsyncLexModelsV2ClientConfig] = None,
    description: Optional[Description] = None,
    bot_version: Optional[BotVersion] = None,
    bot_alias_locale_settings: Optional[BotAliasLocaleSettingsMap] = None,
    conversation_log_settings: Optional[ConversationLogSettings] = None,
    sentiment_analysis_settings: Optional[SentimentAnalysisSettings] = None,
) -> UpdateBotAliasResponse

Updates the configuration of an existing bot alias.

Parameters:

  • bot_alias_id (BotAliasId) –

    The unique identifier of the bot alias.

  • bot_alias_name (Name) –

    The new name to assign to the bot alias.

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

    The new description to assign to the bot alias.

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

    The new bot version to assign to the bot alias.

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

    The new Lambda functions to use in each locale for the bot alias.

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

    The new settings for storing conversation logs in Amazon CloudWatch Logs and Amazon S3 buckets.

  • bot_id (Id) –

    The identifier of the bot with the updated alias.

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/async_lex_models_v2.py
async def update_bot_alias(
    self,
    bot_alias_id: "capo_lex_models_v2.types.bot_alias_id.BotAliasId",
    bot_alias_name: "capo_lex_models_v2.types.name.Name",
    bot_id: "capo_lex_models_v2.types.id.Id",
    *,
    config_overrides: Optional[AsyncLexModelsV2ClientConfig] = None,
    description: Optional[
        "capo_lex_models_v2.types.description.Description"
    ] = None,
    bot_version: Optional["capo_lex_models_v2.types.bot_version.BotVersion"] = 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,
) -> "capo_lex_models_v2.types.update_bot_alias_response.UpdateBotAliasResponse":
    """<p>Updates the configuration of an existing bot alias.</p>

    Args:
        bot_alias_id: <p>The unique identifier of the bot alias.</p>
        bot_alias_name: <p>The new name to assign to the bot alias.</p>
        description: <p>The new description to assign to the bot alias.</p>
        bot_version: <p>The new bot version to assign to the bot alias.</p>
        bot_alias_locale_settings: <p>The new Lambda functions to use in each locale for the bot alias.</p>
        conversation_log_settings: <p>The new settings for storing conversation logs in Amazon CloudWatch Logs and Amazon S3 buckets.</p>
        bot_id: <p>The identifier of the bot with the updated alias.</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.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_lex_models_v2.types.update_bot_alias_request.UpdateBotAliasRequest]",
    ) -> AsyncOperationResponse[
        "capo_lex_models_v2.types.update_bot_alias_response.UpdateBotAliasResponse"
    ]:
        import capo_lex_models_v2._operations.lex_model_building_service_v2.update_bot_alias

        (
            output,
            http_response,
        ) = await capo_lex_models_v2._operations.lex_model_building_service_v2.update_bot_alias.async_update_bot_alias(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("UpdateBotAlias")
    )
    input_: capo_lex_models_v2.types.update_bot_alias_request.UpdateBotAliasRequest = {
        "bot_alias_id": bot_alias_id,
        "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

    response = await aexecute_pipeline(
        AsyncOperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    await response.response.aclose()
    return response.output