Hello forum,
I am using Terraform version 0.0.142 and azurerm to try and deploy some network security group (nsg) rules for my pipeline but I’m having some trouble with duplicate keys in my nsg rules.
Here’s my sample main.tf:
resource “azurerm_network_security_rule” “nsg_rule1” {
for_each = {for nsg_rule1 in var.nsg_values:nsg_rule1.name => nsg_rule1}
name = each.value.name
priority = each.value.priority
protocol = “*”
source_address_prefix = each.value.source_address_prefix
variable.tf sample file:
variable "nsg_values: {
type = list(object({
name = string
priority = string
source_address_prefix = string
}))
}
tfvars array of values:
nsg_values = [
{
name = “RDP”
priority = “2500”
source_address_prefix = “"
},
{
name = “RDP1”
priority = “2600”
source_address_prefix = "”
}
]
Understandably, my list of object only wants me to pass unique values but I have some nsg rules which allows or denies traffic from all or any address spaces. Is there a way for me to have my config file deal with duplicate keys?
Thanks.