Skip to content

Commit

Permalink
map sa name to nsg key
Browse files Browse the repository at this point in the history
  • Loading branch information
jksprattler committed Nov 27, 2024
1 parent 3da4473 commit 34aa6bb
Showing 1 changed file with 7 additions and 2 deletions.
9 changes: 7 additions & 2 deletions cloud_Azure/terraform/module/storage_account.tf
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,22 @@ locals {
_names = [for name in var.resource_group_names : "${name}${var.subscription_id}"]
_lowercase_names = [for name in local._names : lower(name)]
_alphanum_lowercase_names = [for name in local._lowercase_names : join("", regexall("[[:alnum:]]+", name))]
generated_storage_account_names = [for i, name in local._alphanum_lowercase_names : substr(name, 0, 24)]
generated_storage_account_names = [for name in local._alphanum_lowercase_names : substr(name, 0, 24)]
# Generate a map of NSG keys to storage account names
nsg_to_storage_account_name = {
for i, nsg in local.flat_nsgs : nsg.key => local.generated_storage_account_names[i]
}
}


# Creates one storage account per nsg per resource group to store flow logs
# StorageAccounts are mapped 1:1+:1 to nsg(s) and resource_group_names
# Note that only one flow log can be associated with a storage account per region
resource "azurerm_storage_account" "logs_storage_account" {
for_each = { for nsg in local.flat_nsgs : nsg.key => nsg.value }

# generate storage account per nsg(s) in each rg
name = local.generated_storage_account_names[lookup(local.flat_nsgs, each.key, 0)]
name = local.nsg_to_storage_account_name[each.key]
resource_group_name = each.value.rg
location = var.location
account_tier = "Standard"
Expand Down

0 comments on commit 34aa6bb

Please sign in to comment.