Skip to content
GitHubXDiscord

AnomalySubscription

The AnomalySubscription resource allows you to create and manage AWS Cost Explorer Anomaly Subscriptions for monitoring cost anomalies in your AWS account. For more details, refer to the AWS CE AnomalySubscriptions documentation.

Create a basic AnomalySubscription with the required properties and one optional property.

import AWS from "alchemy/aws/control";
const basicAnomalySubscription = await AWS.CE.AnomalySubscription("basicAnomalySubscription", {
MonitorArnList: [
"arn:aws:ce::123456789012:monitor:example-monitor"
],
Frequency: "DAILY",
SubscriptionName: "DailyCostAnomalyAlert",
Subscribers: [
{
Address: "alert@example.com",
Type: "EMAIL"
}
]
});

Configure an AnomalySubscription with additional options such as resource tags and a threshold.

const advancedAnomalySubscription = await AWS.CE.AnomalySubscription("advancedAnomalySubscription", {
MonitorArnList: [
"arn:aws:ce::123456789012:monitor:example-monitor"
],
ResourceTags: [
{
Key: "Environment",
Value: "Production"
}
],
Frequency: "WEEKLY",
SubscriptionName: "WeeklyCostAnomalyAlert",
Subscribers: [
{
Address: "dev-team@example.com",
Type: "EMAIL"
}
],
Threshold: 100,
ThresholdExpression: "GreaterThan"
});

Demonstrate how to set up an AnomalySubscription with multiple subscribers to receive notifications.

const multiSubscriberAnomalySubscription = await AWS.CE.AnomalySubscription("multiSubscriberAnomalySubscription", {
MonitorArnList: [
"arn:aws:ce::123456789012:monitor:example-monitor"
],
Frequency: "DAILY",
SubscriptionName: "TeamCostAnomalyAlerts",
Subscribers: [
{
Address: "team-lead@example.com",
Type: "EMAIL"
},
{
Address: "devops-team@example.com",
Type: "EMAIL"
}
],
Threshold: 50
});

Create an AnomalySubscription that adopts an existing resource if it already exists.

const adoptExistingAnomalySubscription = await AWS.CE.AnomalySubscription("adoptExistingAnomalySubscription", {
MonitorArnList: [
"arn:aws:ce::123456789012:monitor:example-monitor"
],
Frequency: "MONTHLY",
SubscriptionName: "MonthlyCostAnomalyAdoption",
Subscribers: [
{
Address: "alert-team@example.com",
Type: "EMAIL"
}
],
adopt: true
});