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
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
Metadata
Release files for cdk-budget-notifier 0.3.45
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| cdk_budget_notifier-0.3.45.tar.gz | 41.3 kB | Without provenance | Details for cdk_budget_notifier-0.3.45.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| cdk_budget_notifier-0.3.45-py3-none-any.whl | Python 3 | none | any | Details for cdk_budget_notifier-0.3.45-py3-none-any.whl |
Total release size: 81.5 kB
Release files / cdk_budget_notifier-0.3.45.tar.gz
| Download URL | cdk_budget_notifier-0.3.45.tar.gz |
|---|---|
| Size | 41.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
32397e09c2dd6ee574e6b73e37867904a24dcce1b80b23fd817b81b9b7346c3a
|
|
BLAKE2b-256 checksum How to use checksums |
c7d1ae9054888dc67c01af98f78f11c5829f51caa32f0e7b6b2c5fa579a8cee4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.5
|
Release files / cdk_budget_notifier-0.3.45-py3-none-any.whl
| Download URL | cdk_budget_notifier-0.3.45-py3-none-any.whl |
|---|---|
| Size | 40.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b741d05409fa128491775e50118e26ce2f10ae4deb0f6e432535d895f382f4f7
|
|
BLAKE2b-256 checksum How to use checksums |
43261c81eac66924ff48b693cf4d19a78f8424416967d53b941f71a9538f15e7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.5
|
Security for cdk-budget-notifier 0.3.45
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.