createAnomalyMonitor method

Future<CreateAnomalyMonitorResponse> createAnomalyMonitor({
  1. required AnomalyMonitor anomalyMonitor,
  2. List<ResourceTag>? resourceTags,
})

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

May throw LimitExceededException.

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

Parameter resourceTags : 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

Implementation

Future<CreateAnomalyMonitorResponse> createAnomalyMonitor({
  required AnomalyMonitor anomalyMonitor,
  List<ResourceTag>? resourceTags,
}) async {
  final headers = <String, String>{
    'Content-Type': 'application/x-amz-json-1.1',
    'X-Amz-Target': 'AWSInsightsIndexService.CreateAnomalyMonitor'
  };
  final jsonResponse = await _protocol.send(
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    // TODO queryParams
    headers: headers,
    payload: {
      'AnomalyMonitor': anomalyMonitor,
      if (resourceTags != null) 'ResourceTags': resourceTags,
    },
  );

  return CreateAnomalyMonitorResponse.fromJson(jsonResponse.body);
}