Skip to content

create_anomaly_monitor async

create_anomaly_monitor(
    anomaly_monitor: AnomalyMonitor,
    *,
    config_overrides: Optional[AsyncCostExplorerClientConfig] = None,
    resource_tags: Optional[ResourceTagList] = None,
) -> CreateAnomalyMonitorResponse

Creates a new cost anomaly detection monitor with the requested type and monitor specification.

Parameters:

  • anomaly_monitor (AnomalyMonitor) –

    The cost anomaly detection monitor object that you want to create.

  • resource_tags (Optional[ResourceTagList], default: None ) –

    An optional list of tags to associate with the specified AnomalyMonitor . You can use resource tags to control access to your monitor using IAM policies.

    Each tag consists of a key and a value, and each key must be unique for the resource. The following restrictions apply to resource tags:

    • Although the maximum number of array members is 200, you can assign a maximum of 50 user-tags to one resource. The remaining are reserved for Amazon Web Services use

    • The maximum length of a key is 128 characters

    • The maximum length of a value is 256 characters

    • Keys and values can only contain alphanumeric characters, spaces, and any of the following: _.:/=+@-

    • Keys and values are case sensitive

    • Keys and values are trimmed for any leading or trailing whitespaces

    • Don’t use aws: as a prefix for your keys. This prefix is reserved for Amazon Web Services use

Raises:

Source code in docs_src/capo_cost_explorer/_services/async_cost_explorer.py
async def create_anomaly_monitor(
    self,
    anomaly_monitor: "capo_cost_explorer.types.anomaly_monitor.AnomalyMonitor",
    *,
    config_overrides: Optional[AsyncCostExplorerClientConfig] = None,
    resource_tags: Optional[
        "capo_cost_explorer.types.resource_tag_list.ResourceTagList"
    ] = None,
) -> "capo_cost_explorer.types.create_anomaly_monitor_response.CreateAnomalyMonitorResponse":
    """<p>Creates a new cost anomaly detection monitor with the requested type and monitor specification. </p>

    Args:
        anomaly_monitor: <p>The cost anomaly detection monitor object that you want to create.</p>
        resource_tags: <p>An optional list of tags to associate with the specified <a href="https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_AnomalyMonitor.html"> <code>AnomalyMonitor</code> </a>. You can use resource tags to control access to your <code>monitor</code> using IAM policies.</p> <p>Each tag consists of a key and a value, and each key must be unique for the resource. The following restrictions apply to resource tags:</p> <ul> <li> <p>Although the maximum number of array members is 200, you can assign a maximum of 50 user-tags to one resource. The remaining are reserved for Amazon Web Services use</p> </li> <li> <p>The maximum length of a key is 128 characters</p> </li> <li> <p>The maximum length of a value is 256 characters</p> </li> <li> <p>Keys and values can only contain alphanumeric characters, spaces, and any of the following: <code>_.:/=+@-</code> </p> </li> <li> <p>Keys and values are case sensitive</p> </li> <li> <p>Keys and values are trimmed for any leading or trailing whitespaces</p> </li> <li> <p>Don’t use <code>aws:</code> as a prefix for your keys. This prefix is reserved for Amazon Web Services use</p> </li> </ul>

    Raises:
        capo_cost_explorer.errors.limit_exceeded_exception.LimitExceededException: <p>You made too many calls in a short period of time. Try again later.</p>
        capo_cost_explorer.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_cost_explorer.types.create_anomaly_monitor_request.CreateAnomalyMonitorRequest]",
    ) -> AsyncOperationResponse[
        "capo_cost_explorer.types.create_anomaly_monitor_response.CreateAnomalyMonitorResponse"
    ]:
        import capo_cost_explorer._operations.aws_insights_index_service.create_anomaly_monitor

        (
            output,
            http_response,
        ) = await capo_cost_explorer._operations.aws_insights_index_service.create_anomaly_monitor.async_create_anomaly_monitor(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("CreateAnomalyMonitor")
    )
    input_: capo_cost_explorer.types.create_anomaly_monitor_request.CreateAnomalyMonitorRequest = {
        "anomaly_monitor": anomaly_monitor
    }
    if resource_tags is not None:
        input_["resource_tags"] = resource_tags

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