Skip to content

put_metric_policy async

put_metric_policy(
    container_name: ContainerName,
    metric_policy: MetricPolicy,
    *,
    config_overrides: Optional[AsyncMediaStoreClientConfig] = None,
) -> PutMetricPolicyOutput

The metric policy that you want to add to the container. A metric policy allows AWS Elemental MediaStore to send metrics to Amazon CloudWatch. It takes up to 20 minutes for the new policy to take effect.

Parameters:

  • container_name (ContainerName) –

    The name of the container that you want to add the metric policy to.

  • metric_policy (MetricPolicy) –

    The metric policy that you want to associate with the container. In the policy, you must indicate whether you want MediaStore to send container-level metrics. You can also include up to five rules to define groups of objects that you want MediaStore to send object-level metrics for. If you include rules in the policy, construct each rule with both of the following:

    • An object group that defines which objects to include in the group. The definition can be a path or a file name, but it can't have more than 900 characters. Valid characters are: a-z, A-Z, 0-9, _ (underscore), = (equal), : (colon), . (period), - (hyphen), ~ (tilde), / (forward slash), and * (asterisk). Wildcards (*) are acceptable.

    • An object group name that allows you to refer to the object group. The name can't have more than 30 characters. Valid characters are: a-z, A-Z, 0-9, and _ (underscore).

Raises:

Source code in docs_src/capo_mediastore/_services/async_media_store.py
async def put_metric_policy(
    self,
    container_name: "capo_mediastore.types.container_name.ContainerName",
    metric_policy: "capo_mediastore.types.metric_policy.MetricPolicy",
    *,
    config_overrides: Optional[AsyncMediaStoreClientConfig] = None,
) -> "capo_mediastore.types.put_metric_policy_output.PutMetricPolicyOutput":
    """<p>The metric policy that you want to add to the container. A metric policy allows AWS Elemental MediaStore to send metrics to Amazon CloudWatch. It takes up to 20 minutes for the new policy to take effect.</p>

    Args:
        container_name: <p>The name of the container that you want to add the metric policy to.</p>
        metric_policy: <p>The metric policy that you want to associate with the container. In the policy, you must indicate whether you want MediaStore to send container-level metrics. You can also include up to five rules to define groups of objects that you want MediaStore to send object-level metrics for. If you include rules in the policy, construct each rule with both of the following:</p> <ul> <li> <p>An object group that defines which objects to include in the group. The definition can be a path or a file name, but it can't have more than 900 characters. Valid characters are: a-z, A-Z, 0-9, _ (underscore), = (equal), : (colon), . (period), - (hyphen), ~ (tilde), / (forward slash), and * (asterisk). Wildcards (*) are acceptable.</p> </li> <li> <p>An object group name that allows you to refer to the object group. The name can't have more than 30 characters. Valid characters are: a-z, A-Z, 0-9, and _ (underscore).</p> </li> </ul>

    Raises:
        capo_mediastore.errors.container_in_use_exception.ContainerInUseException: <p>The container that you specified in the request already exists or is being updated.</p>
        capo_mediastore.errors.container_not_found_exception.ContainerNotFoundException: <p>The container that you specified in the request does not exist.</p>
        capo_mediastore.errors.internal_server_error.InternalServerError: <p>The service is temporarily unavailable.</p>
        capo_mediastore.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_mediastore.types.put_metric_policy_input.PutMetricPolicyInput]",
    ) -> AsyncOperationResponse[
        "capo_mediastore.types.put_metric_policy_output.PutMetricPolicyOutput"
    ]:
        import capo_mediastore._operations.media_store_20170901.put_metric_policy

        (
            output,
            http_response,
        ) = await capo_mediastore._operations.media_store_20170901.put_metric_policy.async_put_metric_policy(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("PutMetricPolicy")
    )
    input_: capo_mediastore.types.put_metric_policy_input.PutMetricPolicyInput = {
        "container_name": container_name,
        "metric_policy": metric_policy,
    }

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