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.44.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.44-py3-none-any.whl (40.2 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for cdk_budget_notifier-0.3.44.tar.gz
Algorithm Hash digest
SHA256 84f7515cbd36065782f6b24c800b4359a7cbf3b8cdaa414d08b09ec2fccca496
MD5 1bf77ab813e23e1515efb9f535e82201
BLAKE2b-256 5c549eaa52e60fad18304d918c638498e294ada5d5ecd38bb4607e680e311f42

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cdk_budget_notifier-0.3.44-py3-none-any.whl
Algorithm Hash digest
SHA256 6dbb1f4c80b112e1ab4609d507e1eac989a1f5286e791b380681e9609b5750ab
MD5 7d7d662f1fd14ccb23d04621f484838d
BLAKE2b-256 d2551d529f346e10dc5e9d318c1f317fb561e2f5aeacbd445175b40ea62f6e58

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