https://github.com/dsb-norge/terraform-azurerm-consumption-budget-monitoring
Terraform module to create management locks for resources
https://github.com/dsb-norge/terraform-azurerm-consumption-budget-monitoring
dsb-terraform-module
Last synced: 2 months ago
JSON representation
Terraform module to create management locks for resources
- Host: GitHub
- URL: https://github.com/dsb-norge/terraform-azurerm-consumption-budget-monitoring
- Owner: dsb-norge
- License: isc
- Created: 2024-11-26T09:39:17.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2025-03-24T08:59:46.000Z (2 months ago)
- Last Synced: 2025-03-24T09:42:50.501Z (2 months ago)
- Topics: dsb-terraform-module
- Language: HCL
- Homepage: https://registry.terraform.io/modules/dsb-norge/consumption-budget-monitoring
- Size: 55.7 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Terraform module for budget consumption monitoring in Azure
Terraform module to create consumption budget with alerting in Azure.
Module has following features:- Create consumption budget (in local currency).
- Create alert rule on budget consumption threshold with email notification.
- Create alert with email notification when budget consumption anomaly is detected.## Usage
Refer to [examples](https://github.com/dsb-norge/terraform-azurerm-consumption-budget-monitoring/tree/main/examples) for usage of module.
## Requirements
| Name | Version |
|------|---------|
| [terraform](#requirement\_terraform) | >= 1.8.0, < 2.0.0 |
| [azurerm](#requirement\_azurerm) | >= 3.0.0, < 5.0.0 |## Resources
| Name | Type |
|------|------|
| [azurerm_consumption_budget_subscription.sub_budget_consumption](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/consumption_budget_subscription) | resource |
| [azurerm_cost_anomaly_alert.sub_cost_anomaly_alert](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/cost_anomaly_alert) | resource |
| [azurerm_subscription.current](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/data-sources/subscription) | data source |## Inputs
| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| [app\_short\_name](#input\_app\_short\_name) | Name of app short, used for rg | `string` | n/a | yes |
| [consumption\_budget\_amount](#input\_consumption\_budget\_amount) | The amount of money to be consumed | `number` | n/a | yes |
| [environment](#input\_environment) | The runtime environment targeted. Development, test, qa, production etc | `string` | n/a | yes |
| [subscription](#input\_subscription) | The subscription | `string` | n/a | yes |
| [consumption\_budget\_notification\_cfg](#input\_consumption\_budget\_notification\_cfg) | The notification blocks |map(object({|
enabled = optional(bool)
threshold = optional(number)
operator = optional(string)
contact_emails = optional(list(string))
})){| no |
"notification1": {
"enabled": false
}
}
| [consumption\_budget\_time\_grain](#input\_consumption\_budget\_time\_grain) | The time grain for the consumption budget | `string` | `"Monthly"` | no |
| [cost\_anomaly\_alert\_email\_receivers](#input\_cost\_anomaly\_alert\_email\_receivers) | The email addresses to receive cost anomaly alerts | `list(string)` | `[]` | no |## Outputs
| Name | Description |
|------|-------------|
| [consumption\_budget\_id](#output\_consumption\_budget\_id) | value of the consumption budget id |
| [cost\_anomaly\_alert\_id](#output\_cost\_anomaly\_alert\_id) | value of the cost anomaly alert id |## Modules
No modules.