AWSStatic-verified

A Budget Somebody Actually Hears About

A budget with no notification tracks correctly and tells nobody, so the invoice is the first notice; ACTUAL-only alerts arrive after the money is gone. And include_credit defaults true, so a budget on a credited account reports runway rather than spend - until the credits end and nothing crosses a threshold.

terraformAWSaws
aws-budgetsvizier v1.2.0

Verification

Static-verified

Passed: validated and lint-clean (provider-schema-validated for AWS/Azure/GCP; Terraform-language lint elsewhere).

Conformance

  • Static validation (fmt · validate · tflint)
  • Security scan clean (Checkov)
  • Plan tests (mocked: validation rules · outputs)

Provenance

  • SHA-256 checksum
  • Signature (pending)

Functional

  • Live test pending (no cloud run yet)

Last verified 2026-09-13 · how we verify

Use it from the registry

terraform · opentofu
module "budgets" {
  source  = "www.iac-bazaar.com/iac-bazaar/aws-budgets/aws"
  version = "1.0.0"
}

Needs a registry token from /account/tokens. The module itself is free; the account is what identifies you. Full setup: registry docs.

Inputs & outputs

Create a free account to read this module's contract

The declared contract - every input name, type, default and description, plus every output - is shown to signed-in accounts, not to anonymous visitors.

A free account sees the contract of every module in the catalogue. There is no subscription and nothing to buy - the modules are free to download, and they run under Vizier.

Documentation

aws-budgets

A budget somebody actually hears about, measured on money you are really going to be charged. Works with Terraform and OpenTofu (>= 1.6), AWS provider >= 6.0, < 7.0.

A budget with no notification is a number nobody sees. AWS creates one happily: it appears on the Budgets page, tracks correctly, and tells nobody anything - so the first notice of an overrun is the invoice. A precondition refuses it, and a second refuses a notification with no subscribers at all, which fires into nothing.

An ACTUAL-only notification arrives after the money is spent. ACTUAL fires once you have already crossed the threshold; FORECASTED fires while there is still time left in the period to do something. Most budgets are created with ACTUAL only, which makes them a receipt rather than a warning. A precondition refuses that unless accept_actual_only states it.

include_credit defaults to true, and that is the subtle one. A budget that counts credits reports you comfortably under budget for as long as the credits last - and the month they run out, the bill changes shape with no warning and no threshold crossed, because from the budget's point of view nothing changed. If you are running on credits, this single setting decides whether your budget measures your spend or your runway. false here, and measures_real_spend is an output.

use_amortized defaults to false, which puts the whole of a Savings Plan or Reserved Instance purchase into the month you bought it: one breach, then eleven months of a budget that looks wrong. true here.

Verification

Static validation runs tofu fmt, init, validate, tflint and checkov. This module has not yet had a live test, so it is published as statically validated with its live test pending and does not carry the live-tested mark.

Usage code & full reference need an account

The complete copy-paste usage, the full input/output reference, and operational notes are free with an account - shown here and bundled in the download. Sign in and this section fills in.

  • Usage

Related modules