Skip to content

put_configured_audience_model_policy async

put_configured_audience_model_policy(
    configured_audience_model_arn: ConfiguredAudienceModelArn,
    configured_audience_model_policy: ResourcePolicy,
    *,
    config_overrides: Optional[AsyncCleanRoomsMLClientConfig] = None,
    previous_policy_hash: Optional[Hash] = None,
    policy_existence_condition: Optional[PolicyExistenceCondition] = None,
) -> PutConfiguredAudienceModelPolicyResponse

Create or update the resource policy for a configured audience model.

Parameters:

  • configured_audience_model_arn (ConfiguredAudienceModelArn) –

    The Amazon Resource Name (ARN) of the configured audience model that the resource policy will govern.

  • configured_audience_model_policy (ResourcePolicy) –

    The IAM resource policy.

  • previous_policy_hash (Optional[Hash], default: None ) –

    A cryptographic hash of the contents of the policy used to prevent unexpected concurrent modification of the policy.

  • policy_existence_condition (Optional[PolicyExistenceCondition], default: None ) –

    Use this to prevent unexpected concurrent modification of the policy.

Raises:

Source code in docs_src/capo_cleanroomsml/_services/async_clean_rooms_ml.py
async def put_configured_audience_model_policy(
    self,
    configured_audience_model_arn: "capo_cleanroomsml.types.configured_audience_model_arn.ConfiguredAudienceModelArn",
    configured_audience_model_policy: "capo_cleanroomsml.types.resource_policy.ResourcePolicy",
    *,
    config_overrides: Optional[AsyncCleanRoomsMLClientConfig] = None,
    previous_policy_hash: Optional["capo_cleanroomsml.types.hash.Hash"] = None,
    policy_existence_condition: Optional[
        "capo_cleanroomsml.types.policy_existence_condition.PolicyExistenceCondition"
    ] = None,
) -> "capo_cleanroomsml.types.put_configured_audience_model_policy_response.PutConfiguredAudienceModelPolicyResponse":
    """<p>Create or update the resource policy for a configured audience model.</p>

    Args:
        configured_audience_model_arn: <p>The Amazon Resource Name (ARN) of the configured audience model that the resource policy will govern.</p>
        configured_audience_model_policy: <p>The IAM resource policy.</p>
        previous_policy_hash: <p>A cryptographic hash of the contents of the policy used to prevent unexpected concurrent modification of the policy.</p>
        policy_existence_condition: <p>Use this to prevent unexpected concurrent modification of the policy.</p>

    Raises:
        capo_cleanroomsml.errors.access_denied_exception.AccessDeniedException: <p>You do not have sufficient access to perform this action.</p>
        capo_cleanroomsml.errors.resource_not_found_exception.ResourceNotFoundException: <p>The resource you are requesting does not exist.</p>
        capo_cleanroomsml.errors.throttling_exception.ThrottlingException: <p>The request was denied due to request throttling.</p>
        capo_cleanroomsml.errors.validation_exception.ValidationException: <p>The request parameters for this request are incorrect.</p>
        capo_cleanroomsml.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_cleanroomsml.types.put_configured_audience_model_policy_request.PutConfiguredAudienceModelPolicyRequest]",
    ) -> AsyncOperationResponse[
        "capo_cleanroomsml.types.put_configured_audience_model_policy_response.PutConfiguredAudienceModelPolicyResponse"
    ]:
        import capo_cleanroomsml._operations.aws_stark_control_service.put_configured_audience_model_policy

        (
            output,
            http_response,
        ) = await capo_cleanroomsml._operations.aws_stark_control_service.put_configured_audience_model_policy.async_put_configured_audience_model_policy(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("PutConfiguredAudienceModelPolicy")
    )
    input_: capo_cleanroomsml.types.put_configured_audience_model_policy_request.PutConfiguredAudienceModelPolicyRequest = {
        "configured_audience_model_arn": configured_audience_model_arn,
        "configured_audience_model_policy": configured_audience_model_policy,
    }
    if previous_policy_hash is not None:
        input_["previous_policy_hash"] = previous_policy_hash
    if policy_existence_condition is not None:
        input_["policy_existence_condition"] = policy_existence_condition

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