This is the new AWS CloudFormation Template Reference Guide. Please update your bookmarks and links. For help getting started with CloudFormation, see the AWS CloudFormation User Guide.
AWS::CE::AnomalyMonitor
The AWS::CE::AnomalyMonitor resource is a Cost Explorer resource type that
continuously inspects your account's cost data for anomalies, based on
MonitorType and MonitorSpecification. The content consists of
detailed metadata and the current status of the monitor object.
Syntax
To declare this entity in your AWS CloudFormation template, use the following syntax:
JSON
{ "Type" : "AWS::CE::AnomalyMonitor", "Properties" : { "MonitorDimension" :String, "MonitorName" :String, "MonitorSpecification" :String, "MonitorType" :String, "ResourceTags" :[ ResourceTag, ... ]} }
YAML
Type: AWS::CE::AnomalyMonitor Properties: MonitorDimension:StringMonitorName:StringMonitorSpecification:StringMonitorType:StringResourceTags:- ResourceTag
Properties
MonitorDimension-
The dimensions to evaluate.
Required: No
Type: String
Allowed values:
SERVICEUpdate requires: Replacement
MonitorName-
The name of the monitor.
Required: Yes
Type: String
Pattern:
[\S\s]*Minimum:
0Maximum:
1024Update requires: No interruption
MonitorSpecification-
The array of
MonitorSpecificationin JSON array format. For instance, you can useMonitorSpecificationto specify a tag, Cost Category, or linked account for your custom anomaly monitor. For further information, see the Examples section of this page.Required: No
Type: String
Update requires: Replacement
MonitorType-
The possible type values.
Required: Yes
Type: String
Allowed values:
DIMENSIONAL | CUSTOMUpdate requires: Replacement
Property description not available.
Required: No
Type: Array of ResourceTag
Minimum:
0Maximum:
200Update requires: Replacement
Return values
Ref
When you pass the logical ID of this resource to the intrinsic Ref function, Ref returnsMonitorArn. For example:
{ "Ref": "myAnomalySubscriptionLogicalName" }
For more information about using the Ref function, see Ref.
Fn::GetAtt
The Fn::GetAtt intrinsic function returns a value for a specified attribute of this type. The following are the available attributes and sample return values.
For more information about using the Fn::GetAtt intrinsic function, see Fn::GetAtt.
CreationDate-
The date when the monitor was created.
DimensionalValueCount-
The value for evaluated dimensions.
LastEvaluatedDate-
The date when the monitor last evaluated for anomalies.
LastUpdatedDate-
The date when the monitor was last updated.
MonitorArn-
The Amazon Resource Name (ARN) value for the monitor.
Examples
Service monitor
The following example creates a service anomaly monitor.
JSON
{ "Resources": { "AnomalyServiceMonitor": { "Type": "AWS::CE::AnomalyMonitor", "Properties": { "MonitorName": "MonitorName", "MonitorType": "DIMENSIONAL", "MonitorDimension": "SERVICE" } } } }
YAML
Resources: AnomalyServiceMonitor: Type: 'AWS::CE::AnomalyMonitor' Properties: MonitorName: 'MonitorName' MonitorType: 'DIMENSIONAL' MonitorDimension: 'SERVICE'
Anomaly monitor with tags
The following example creates a custom anomaly monitor with tags.
JSON
{ "Resources": { "CustomAnomalyMonitorWithTags": { "Type": "AWS::CE::AnomalyMonitor", "Properties": { "MonitorName": "MonitorName", "MonitorType": "CUSTOM", "MonitorSpecification": " { \"Tags\" : { \"Key\" : \"Tag Key\", \"Values\" : [ \"TagValue1\", \"TagValue2\" ] } }" } } } }
YAML
Resources: CustomAnomalyMonitorWithTags: Type: 'AWS::CE::AnomalyMonitor' Properties: MonitorName: "MonitorName" MonitorType: "CUSTOM" MonitorSpecification: ' { "Tags" : { "Key" : "Tag Key", "Values" : [ "TagValue1", "TagValue2" ] } }'
Anomaly monitor with Cost Category
The following example creates a custom anomaly monitor with a Cost Category.
JSON
{ "Resources": { "CustomAnomalyMonitorWithCC": { "Type": "AWS::CE::AnomalyMonitor", "Properties": { "MonitorName": "MonitorName", "MonitorType": "CUSTOM", "MonitorSpecification": " { \"CostCategories\" : { \"Key\" : \"CostCategoryKey\", \"Values\" : [ \"CostCategoryValue\" ] } }" } } } }
YAML
Resources: CustomAnomalyMonitorWithCC: Type: 'AWS::CE::AnomalyMonitor' Properties: MonitorName: "MonitorName" MonitorType: "CUSTOM" MonitorSpecification: ' { "CostCategories" : { "Key" : "CostCategoryKey", "Values" : [ "CostCategoryValue" ] } }'
Anomaly monitor with linked account
The following example creates a custom anomaly monitor with a linked account.
JSON
{ "Resources": { "CustomAnomalyMonitorWithLinkedAccount": { "Type": "AWS::CE::AnomalyMonitor", "Properties": { "MonitorName": "MonitorName", "MonitorType": "CUSTOM", "MonitorSpecification": " { \"Dimensions\" : { \"Key\" : \"LINKED_ACCOUNT\", \"Values\" : [ \"123456789012\", \"123456789013\" ] } }" } } } }
YAML
Resources: CustomAnomalyMonitorWithLinkedAccount: Type: 'AWS::CE::AnomalyMonitor' Properties: MonitorName: "MonitorName" MonitorType: "CUSTOM" MonitorSpecification: ' { "Dimensions" : { "Key" : "LINKED_ACCOUNT", "Values" : [ "123456789012", "123456789013" ] } }'
Attaching subscriptions to monitors
The following example shows two anomaly monitors attached to an anomaly subscription.
JSON
{ "Resources": { "CustomAnomalyMonitorWithLinkedAccount": { "Type": "AWS::CE::AnomalyMonitor", "Properties": { "MonitorName": "MonitorName", "MonitorType": "CUSTOM", "MonitorSpecification": " { \"Dimensions\" : { \"Key\" : \"LINKED_ACCOUNT\", \"Values\" : [ \"123456789012\", \"123456789013\" ] } }" } }, "AnomalyServiceMonitor": { "Type": "AWS::CE::AnomalyMonitor", "Properties": { "MonitorName": "MonitorName", "MonitorType": "DIMENSIONAL", "MonitorDimension": "SERVICE" } }, "AnomalySubscription": { "Type": "AWS::CE::AnomalySubscription", "Properties": { "SubscriptionName": "SubscriptionName", "Threshold": 100, "Frequency": "DAILY", "MonitorArnList": [ { “Ref”: "CustomAnomalyMonitorWithLinkedAccount"}, { "Ref": "AnomalyServiceMonitor"} ], "Subscribers": [ { "Type": "EMAIL", "Address": "abc@def.com" } ] } } } }
YAML
Resources: CustomAnomalyMonitorWithLinkedAccount: Type: 'AWS::CE::AnomalyMonitor' Properties: MonitorName: "MonitorName" MonitorType: "CUSTOM" MonitorSpecification: ' { "Dimensions" : { "Key" : "LINKED_ACCOUNT", "Values" : [ "123456789012", "123456789013" ] } }' AnomalyServiceMonitor: Type: 'AWS::CE::AnomalyMonitor' Properties: MonitorName: 'MonitorName' MonitorType: 'DIMENSIONAL' MonitorDimension: 'SERVICE' AnomalySubscription: Type: 'AWS::CE::AnomalySubscription' Properties: SubscriptionName: "SubscriptionName" Threshold: 100 Frequency: "DAILY" MonitorArnList: [ !Ref CustomAnomalyMonitorWithLinkedAccount, !Ref AnomalyServiceMonitor ] Subscribers: [ { "Type": "EMAIL", "Address": "abc@def.com" } ]
See also
-
AnomalyMonitor in the AWS Billing and Cost Management API Reference.
-
CreateAnomalyMonitor in the AWS Billing and Cost Management API Reference.
-
DeleteAnomalyMonitor in the AWS Billing and Cost Management API Reference.
-
GetAnomalyMonitors in the AWS Billing and Cost Management API Reference.
-
UpdateAnomalyMonitor in the AWS Billing and Cost Management API Reference.