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

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for cdk_budget_notifier-0.3.38.tar.gz
Algorithm Hash digest
SHA256 07b1dcce4fa2954c789a53fa908b7f3ef7434f3fe8197640a0f9ae58ebf15fed
MD5 f252b8a8a69e25b067e84cc0c3072d0c
BLAKE2b-256 5fa7b92368bbf4800813eb362be36707b3dbdbb64c5cdd631c61e78675c4cd8b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cdk_budget_notifier-0.3.38-py3-none-any.whl
Algorithm Hash digest
SHA256 7661accfff8f1983d4c6b954abf8a5797845822ee4b3f3e3ecf05735ddc927ef
MD5 e92b798a8a022d413246c48b771b0dfe
BLAKE2b-256 50e49efe54a569c871d6fdb11a2a08001005bd86bc65e4521b1f8909bdbfbc1b

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