Skip to main content

A simple AWS budget notifier.

Project description

AWS Budget Notifier

Setup a AWS Budget notification using AWS Cloud Development Kit (CDK). The construct supports notifying to

  • users via e-mail. Up to 10 e-mail addresses are supported
  • an SNS topic The SNS topic needs to exist and publishing to the topic needs to be allowed.

Properties

API.md

Example usages

Notification on breaching forecasted cost

This example is handy for keeping control over your private AWS Bill. For myself I aim to not spent more than 10 Euro / 10 USD per month and this alarm reminds me.

const app = new cdk.App();
const stack = new Stack(app, "BudgetNotifierStack");

// Define the SNS topic and setup the resource policy
const topic = new Topic(stack, "topic");

const statement = new PolicyStatement({
  effect: Effect.ALLOW,
  principals: [new ServicePrincipal("budgets.amazonaws.com")],
  actions: ["SNS:Publish"],
  sid: "Allow budget to publish to SNS"
});
topic.addToResourcePolicy(statement);

// Setup the budget notifier and pass the ARN of the SNS topic
new BudgetNotifier(stack, "notifier", {
  topicArn: topic.topicArn,
  // Filter on the availability zone `eu-central-1`
  availabilityZones: ["eu-central-1"],
  costCenter: "myCostCenter",
  // Limit and unit defining the budget limit
  limit: 10,
  unit: "USD",
  // When breaching the threshold of 85% of the 10 USD notifications will be send out.
  threshold: 85,
  notificationType: NotificationType.FORECASTED,
});

Notification via e-Mail

As alternative to the notification via SNS you can specify a list of e-mail recipients.

const app = new cdk.App();
const stack = new Stack(app, "BudgetNotifierStack");

new BudgetNotifier(stack, 'notifier', {
  recipients: ['john.doe@foo.bar'],
  // Filter on the availability zone `eu-central-1`
  availabilityZones: ['eu-central-1'],
  costCenter: 'MyCostCenter',
  // Limit and unit defining the budget limit
  limit: 10,
  unit: 'USD',
  // When breaching the threshold of 85% of the 10 USD notifications will be send out.
  threshold: 85,
  notificationType: NotificationType.FORECASTED,
});

Contributions


dedominicisfa

Philip M. Gollucci

Links

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cdk_budget_notifier-0.3.40.tar.gz (41.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cdk_budget_notifier-0.3.40-py3-none-any.whl (40.2 kB view details)

Uploaded Python 3

File details

Details for the file cdk_budget_notifier-0.3.40.tar.gz.

File metadata

  • Download URL: cdk_budget_notifier-0.3.40.tar.gz
  • Upload date:
  • Size: 41.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.1

File hashes

Hashes for cdk_budget_notifier-0.3.40.tar.gz
Algorithm Hash digest
SHA256 c80596aa01e335d1066635d4eba530481e678da9d650cdfa97274e731af121f2
MD5 f42aa22b81f85d6f65f954e063139a0d
BLAKE2b-256 11a0fccfafa143536d7410006bdf238ce7949ae848bb08d80babce39cadc9b5b

See more details on using hashes here.

File details

Details for the file cdk_budget_notifier-0.3.40-py3-none-any.whl.

File metadata

File hashes

Hashes for cdk_budget_notifier-0.3.40-py3-none-any.whl
Algorithm Hash digest
SHA256 0ed5979e82b81cfa8214dde3b198b0c5111ddb0a0822ab5be8a088a8dbf38d1f
MD5 f592b8d753d391f5ca9934c1ff70d72c
BLAKE2b-256 cef7be850725f7648afac2bcf147f506bebfd7eff769f2d92d75c964c9803983

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page