createAnomalySubscription method
Future<CreateAnomalySubscriptionResponse>
createAnomalySubscription({
- required AnomalySubscription anomalySubscription,
- List<
ResourceTag> ? resourceTags,
Adds an alert subscription to a cost anomaly detection monitor. You can use each subscription to define subscribers with email or SNS notifications. Email subscribers can set an absolute or percentage threshold and a time frequency for receiving notifications.
May throw LimitExceededException.
May throw UnknownMonitorException.
Parameter anomalySubscription :
The cost anomaly subscription object that you want to create.
Parameter resourceTags :
An optional list of tags to associate with the specified
AnomalySubscription . You can use resource tags to
control access to your subscription 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<CreateAnomalySubscriptionResponse> createAnomalySubscription({
required AnomalySubscription anomalySubscription,
List<ResourceTag>? resourceTags,
}) async {
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.1',
'X-Amz-Target': 'AWSInsightsIndexService.CreateAnomalySubscription'
};
final jsonResponse = await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
'AnomalySubscription': anomalySubscription,
if (resourceTags != null) 'ResourceTags': resourceTags,
},
);
return CreateAnomalySubscriptionResponse.fromJson(jsonResponse.body);
}