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/cost_explorer.py
| def create_anomaly_monitor(
self,
anomaly_monitor: "capo_cost_explorer.types.anomaly_monitor.AnomalyMonitor",
*,
config_overrides: Optional[CostExplorerClientConfig] = 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.
"""
def _handler(
req: "OperationRequest[capo_cost_explorer.types.create_anomaly_monitor_request.CreateAnomalyMonitorRequest]",
) -> OperationResponse[
"capo_cost_explorer.types.create_anomaly_monitor_response.CreateAnomalyMonitorResponse"
]:
import capo_cost_explorer._operations.aws_insights_index_service.create_anomaly_monitor
output, http_response = (
capo_cost_explorer._operations.aws_insights_index_service.create_anomaly_monitor.create_anomaly_monitor(
req.options, req.input
)
)
return OperationResponse(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 = execute_pipeline(
OperationRequest(input=input_, options=options_),
handler=_handler,
interceptors=list(interceptors_),
)
response.response.close()
return response.output
|