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.37.tar.gz (40.7 kB view details)

Uploaded Source

Built Distribution

cdk_budget_notifier-0.3.37-py3-none-any.whl (39.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: cdk_budget_notifier-0.3.37.tar.gz
  • Upload date:
  • Size: 40.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.5

File hashes

Hashes for cdk_budget_notifier-0.3.37.tar.gz
Algorithm Hash digest
SHA256 fd90bc4bb8966de984f252f8f5b8934f8f6ef6fb164977cef45108c556c5f476
MD5 a054a11a56e2a8fdebc34fcc55c2ee6b
BLAKE2b-256 3c751eaaa44f5c9e913e13375f9cb9d883c7fa0e450489b1dace4f80a817bd5e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cdk_budget_notifier-0.3.37-py3-none-any.whl
Algorithm Hash digest
SHA256 7051df8f7675114731844decaeed0a3e997d1ca6d87250cb8c744e0aec3ab5c4
MD5 17036754c4efdfdf123590bcdfefe16e
BLAKE2b-256 19f31d2880819c13df4efc57a89e79776f148ea3934daac3b3291ed4ce4b4d4c

See more details on using hashes here.

Supported by

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