Skip to content

update_recommender

update_recommender(
    domain_name: name,
    recommender_name: name,
    *,
    config_overrides: Optional[CustomerProfilesClientConfig] = None,
    description: Optional[sensitiveText] = None,
    recommender_config: Optional[RecommenderConfig] = None,
    recommender_version_name: Optional[RecommenderVersionName] = None,
) -> UpdateRecommenderResponse

Updates the properties of an existing recommender, allowing you to modify its configuration and description.

Parameters:

  • domain_name (name) –

    The unique name of the domain.

  • recommender_name (name) –

    The name of the recommender to update.

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

    The new description to assign to the recommender.

  • recommender_config (Optional[RecommenderConfig], default: None ) –

    The new configuration settings to apply to the recommender, including updated parameters and settings that define its behavior.

  • recommender_version_name (Optional[RecommenderVersionName], default: None ) –

    The name of a specific recommender version to activate as part of this update (for example, to roll back to a previously trained version).

Raises:

Source code in docs_src/capo_customer_profiles/_services/customer_profiles.py
def update_recommender(
    self,
    domain_name: "capo_customer_profiles.types.name.name",
    recommender_name: "capo_customer_profiles.types.name.name",
    *,
    config_overrides: Optional[CustomerProfilesClientConfig] = None,
    description: Optional[
        "capo_customer_profiles.types.sensitive_text.sensitiveText"
    ] = None,
    recommender_config: Optional[
        "capo_customer_profiles.types.recommender_config.RecommenderConfig"
    ] = None,
    recommender_version_name: Optional[
        "capo_customer_profiles.types.recommender_version_name.RecommenderVersionName"
    ] = None,
) -> "capo_customer_profiles.types.update_recommender_response.UpdateRecommenderResponse":
    """<p>Updates the properties of an existing recommender, allowing you to modify its configuration and description.</p>

    Args:
        domain_name: <p>The unique name of the domain.</p>
        recommender_name: <p>The name of the recommender to update.</p>
        description: <p>The new description to assign to the recommender.</p>
        recommender_config: <p>The new configuration settings to apply to the recommender, including updated parameters and settings that define its behavior.</p>
        recommender_version_name: <p>The name of a specific recommender version to activate as part of this update (for example, to roll back to a previously trained version).</p>

    Raises:
        capo_customer_profiles.errors.access_denied_exception.AccessDeniedException: <p>You do not have sufficient access to perform this action.</p>
        capo_customer_profiles.errors.bad_request_exception.BadRequestException: <p>The input you provided is invalid.</p>
        capo_customer_profiles.errors.internal_server_exception.InternalServerException: <p>An internal service error occurred.</p>
        capo_customer_profiles.errors.resource_not_found_exception.ResourceNotFoundException: <p>The requested resource does not exist, or access was denied.</p>
        capo_customer_profiles.errors.throttling_exception.ThrottlingException: <p>You exceeded the maximum number of requests.</p>
        capo_customer_profiles.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    def _handler(
        req: "OperationRequest[capo_customer_profiles.types.update_recommender_request.UpdateRecommenderRequest]",
    ) -> OperationResponse[
        "capo_customer_profiles.types.update_recommender_response.UpdateRecommenderResponse"
    ]:
        import capo_customer_profiles._operations.customer_profiles_20200815.update_recommender

        output, http_response = (
            capo_customer_profiles._operations.customer_profiles_20200815.update_recommender.update_recommender(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    def _redact_input(
        input_: "capo_customer_profiles.types.update_recommender_request.UpdateRecommenderRequest",
    ) -> dict[str, Any]:
        import capo_customer_profiles.types.update_recommender_request

        return capo_customer_profiles.types.update_recommender_request.redact_sensitive(
            input_
        )

    interceptors_, options_ = self.operation_options(
        config_overrides,
        OperationLogging("UpdateRecommender", redact_input=_redact_input),
    )
    input_: capo_customer_profiles.types.update_recommender_request.UpdateRecommenderRequest = {
        "domain_name": domain_name,
        "recommender_name": recommender_name,
    }
    if description is not None:
        input_["description"] = description
    if recommender_config is not None:
        input_["recommender_config"] = recommender_config
    if recommender_version_name is not None:
        input_["recommender_version_name"] = recommender_version_name

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