Terraform module for cost-controls on aws
module "cost-controls" {
source = "registry.patterneddesigns.ca/governance/cost-controls/aws"
version = "0.1.0"
}budget_name
requiredName for the AWS Budget. Must be unique within your AWS account. Can contain alphanumeric characters, hyphens, underscores, and periods. Maximum 100 characters.
budget_limit
requiredMonthly budget limit in USD. Sets the maximum expected spend for the budget period and is used as the baseline for calculating alert thresholds.
alert_thresholdsPercentage thresholds for budget alerts. Multiple thresholds provide early warning as spending increases. Common patterns: conservative [25, 50, 75, 90, 100], standard [50, 80, 100], aggressive [80, 100, 110].
notification_emailsEmail addresses for budget notifications. AWS Budgets will send emails directly to these addresses when thresholds are exceeded. Use team distribution lists rather than individual emails.
sns_topic_arnARN of SNS topic for budget notifications. Allows budget alerts to be published to an existing SNS topic for integration with other notification workflows, automation, and third-party tools. Set to null to skip SNS integration.
budget_arnARN of the created AWS Budget. Use this for IAM policies and resource references.
sns_topic_arnARN of the SNS topic used for budget notifications. Available when the module creates its own SNS topic or when an existing topic is provided.
budget_nameName of the created AWS Budget as created in the AWS account. Use this for API calls and CLI commands.