Skip to content

update_bot_recommendation async

update_bot_recommendation(
    bot_id: Id,
    bot_version: DraftBotVersion,
    locale_id: LocaleId,
    bot_recommendation_id: Id,
    encryption_setting: EncryptionSetting,
    *,
    config_overrides: Optional[AsyncLexModelsV2ClientConfig] = None,
) -> UpdateBotRecommendationResponse

Updates an existing bot recommendation request.

Parameters:

  • bot_id (Id) –

    The unique identifier of the bot containing the bot recommendation to be updated.

  • bot_version (DraftBotVersion) –

    The version of the bot containing the bot recommendation to be updated.

  • locale_id (LocaleId) –

    The identifier of the language and locale of the bot recommendation to update. The string must match one of the supported locales. For more information, see Supported languages

  • bot_recommendation_id (Id) –

    The unique identifier of the bot recommendation to be updated.

  • encryption_setting (EncryptionSetting) –

    The object representing the passwords that will be used to encrypt the data related to the bot recommendation results, as well as the KMS key ARN used to encrypt the associated metadata.

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.

  • ResourceNotFoundException –

    You asked to describe a resource that doesn't exist. Check the resource that you are requesting 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_recommendation(
    self,
    bot_id: "capo_lex_models_v2.types.id.Id",
    bot_version: "capo_lex_models_v2.types.draft_bot_version.DraftBotVersion",
    locale_id: "capo_lex_models_v2.types.locale_id.LocaleId",
    bot_recommendation_id: "capo_lex_models_v2.types.id.Id",
    encryption_setting: "capo_lex_models_v2.types.encryption_setting.EncryptionSetting",
    *,
    config_overrides: Optional[AsyncLexModelsV2ClientConfig] = None,
) -> "capo_lex_models_v2.types.update_bot_recommendation_response.UpdateBotRecommendationResponse":
    """<p>Updates an existing bot recommendation request.</p>

    Args:
        bot_id: <p>The unique identifier of the bot containing the bot recommendation to be updated.</p>
        bot_version: <p>The version of the bot containing the bot recommendation to be updated.</p>
        locale_id: <p>The identifier of the language and locale of the bot recommendation to update. The string must match one of the supported locales. For more information, see <a href="https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html">Supported languages</a> </p>
        bot_recommendation_id: <p>The unique identifier of the bot recommendation to be updated.</p>
        encryption_setting: <p>The object representing the passwords that will be used to encrypt the data related to the bot recommendation results, as well as the KMS key ARN used to encrypt the associated metadata.</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.resource_not_found_exception.ResourceNotFoundException: <p>You asked to describe a resource that doesn't exist. Check the resource that you are requesting 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_recommendation_request.UpdateBotRecommendationRequest]",
    ) -> AsyncOperationResponse[
        "capo_lex_models_v2.types.update_bot_recommendation_response.UpdateBotRecommendationResponse"
    ]:
        import capo_lex_models_v2._operations.lex_model_building_service_v2.update_bot_recommendation

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

    def _redact_input(
        input_: "capo_lex_models_v2.types.update_bot_recommendation_request.UpdateBotRecommendationRequest",
    ) -> dict[str, Any]:
        import capo_lex_models_v2.types.update_bot_recommendation_request

        return capo_lex_models_v2.types.update_bot_recommendation_request.redact_sensitive(
            input_
        )

    def _redact_output(
        output: "capo_lex_models_v2.types.update_bot_recommendation_response.UpdateBotRecommendationResponse",
    ) -> dict[str, Any]:
        import capo_lex_models_v2.types.update_bot_recommendation_response

        return capo_lex_models_v2.types.update_bot_recommendation_response.redact_sensitive(
            output
        )

    interceptors_, options_ = self.operation_options(
        config_overrides,
        OperationLogging(
            "UpdateBotRecommendation",
            redact_input=_redact_input,
            redact_output=_redact_output,
        ),
    )
    input_: capo_lex_models_v2.types.update_bot_recommendation_request.UpdateBotRecommendationRequest = {
        "bot_id": bot_id,
        "bot_version": bot_version,
        "locale_id": locale_id,
        "bot_recommendation_id": bot_recommendation_id,
        "encryption_setting": encryption_setting,
    }

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