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

Uploaded Python 3

File details

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

File metadata

  • Download URL: cdk_budget_notifier-0.3.43.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.43.tar.gz
Algorithm Hash digest
SHA256 07230d2b2fe68ec91f17e38e32e71bd7f850511e5bd012f7678f5c42abcab035
MD5 a582a29354b3cab16e1f69efcfe3159b
BLAKE2b-256 b6c788b74de84e0a2ab9d391e4fa656c5542cec4d6ccd202f55beade9483ac74

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cdk_budget_notifier-0.3.43-py3-none-any.whl
Algorithm Hash digest
SHA256 f59dbb79e591ddcf912c0802fc76ac433551b934fb12b9f9aabf9ce91af125ff
MD5 caeea745122bbe1aa8366f36502525c7
BLAKE2b-256 6ededf9afc047c3fc3a7326e8b43945cfc82df656ab5f271c2f8fe5b898c5397

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