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

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for cdk_budget_notifier-0.3.42.tar.gz
Algorithm Hash digest
SHA256 cf818e8a51bc1e860f60f295d406e5ee1f8edcce3120ca5c00292ac37483b390
MD5 6de1508a454b044fb69fa455f9771c00
BLAKE2b-256 4eefe510f4b04c12c95a409350fe4b36147b3c944781cac35dda4dbee6efc9ef

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cdk_budget_notifier-0.3.42-py3-none-any.whl
Algorithm Hash digest
SHA256 75ee460c0dc41b5d11a34f0e3a924bbe540ec62b898c5598a63e9124512ffb19
MD5 11efd78f595959919071b9cb74277af8
BLAKE2b-256 6cb5ccf98e5856de84fe18ed2b42043cf7d98f929946dd1c66352da5b9ea5b27

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