From 276713a1647a8634707e9c4369f0fb357499a284 Mon Sep 17 00:00:00 2001 From: MJ Date: Thu, 7 Dec 2023 14:22:30 +0100 Subject: [PATCH] fix: add action group for budget alert --- .../budget-alert-subscription/main.tf | 24 +++++++++++++++---- .../budget-alert-subscription/outputs.tf | 8 +++++++ .../budget-alert-subscription/variables.tf | 14 ++++++++++- 3 files changed, 41 insertions(+), 5 deletions(-) diff --git a/azure/terraform/monitoring/budget-alert-subscription/main.tf b/azure/terraform/monitoring/budget-alert-subscription/main.tf index d7376d8..29517de 100644 --- a/azure/terraform/monitoring/budget-alert-subscription/main.tf +++ b/azure/terraform/monitoring/budget-alert-subscription/main.tf @@ -1,7 +1,8 @@ locals { - start_date = formatdate("YYYY-MM-01'T'hh:mm:ssZ", timestamp()) - end_date = formatdate("2026-MM-01'T'hh:mm:ssZ", local.start_date) - location = "germanywestcentral" + start_date = formatdate("YYYY-MM-01'T'hh:mm:ssZ", timestamp()) + end_date = formatdate("2026-MM-01'T'hh:mm:ssZ", local.start_date) + action_group_name = "budget-alert-action-group" + action_group_short_name = "bdgt-ap" } //----------------------------------------------- // Budget on subscription level @@ -28,6 +29,7 @@ resource "azurerm_consumption_budget_subscription" "subscription_budget" { operator = "EqualTo" contact_emails = var.contact_emails + contact_groups = [azurerm_monitor_action_group.action_group.id] } notification { @@ -37,7 +39,21 @@ resource "azurerm_consumption_budget_subscription" "subscription_budget" { threshold_type = "Forecasted" contact_emails = var.contact_emails - + contact_groups = [azurerm_monitor_action_group.action_group.id] } } + +//----------------------------------------------- +// Action Group +//----------------------------------------------- + +resource "azurerm_resource_group" "action_group_rg" { + name = var.resource_group_for_action_group + location = var.location +} +resource "azurerm_monitor_action_group" "action_group" { + name = local.action_group_name + resource_group_name = azurerm_resource_group.action_group_rg.name + short_name = local.action_group_short_name +} diff --git a/azure/terraform/monitoring/budget-alert-subscription/outputs.tf b/azure/terraform/monitoring/budget-alert-subscription/outputs.tf index c097931..f634d48 100644 --- a/azure/terraform/monitoring/budget-alert-subscription/outputs.tf +++ b/azure/terraform/monitoring/budget-alert-subscription/outputs.tf @@ -13,3 +13,11 @@ output "end_date" { output "budget_amount" { value = azurerm_consumption_budget_subscription.subscription_budget.amount } + +output "action_group_id" { + value = azurerm_monitor_action_group.action_group.id +} + +output "resource_group_id" { + value = azurerm_resource_group.action_group_rg.id +} diff --git a/azure/terraform/monitoring/budget-alert-subscription/variables.tf b/azure/terraform/monitoring/budget-alert-subscription/variables.tf index 295e303..4dba89f 100644 --- a/azure/terraform/monitoring/budget-alert-subscription/variables.tf +++ b/azure/terraform/monitoring/budget-alert-subscription/variables.tf @@ -30,8 +30,20 @@ variable "forcasted_threshold" { description = "The forcasted percentage of the monthly budget at which you wish to activate the alert upon reaching. E.g. '15' for 15% or '120' for 120%" } +variable "resource_group_for_action_group" { + type = string + description = "the resource group holding the action group" + default = "rg-action-group" +} -// Uncomment next 2 variables if you want to change the start and end date via inputs -------------------------------- +variable "location" { + type = string + description = "the location where resources will be deployes" + default = "germanywestcentral" + +} +// Uncomment next 2 variables if you want to change the start and end date via inputs +// in main.tf change all 'local.start_date' and 'local.end_date' to 'var.start_date' and 'var.end_date' respectively" # variable "end_date" { # type = string # description = "End date of the budget rule, Timestamp in the format YYYY-MM-DDTHH:MM:SSZ"