# locals ===================================================================== data "aws_availability_zones" "available" { state = "available" } locals { region_abbr = split("-", data.aws_availability_zones.available.zone_ids[0])[0] module_tags = { managed-by = "terraform" module-name = "networking:nacl" } # Flatten all ingress rules across all NACLs into a list of {nacl_key, rule} ingress_rules = flatten([ for nacl_key, nacl in var.network_acls : [ for rule in nacl.ingress_rules : { nacl_key = nacl_key rule = rule } ] ]) # Keyed by "nacl_key-rule_number" — unique and stable across applies ingress_map = { for item in local.ingress_rules : "${item.nacl_key}-${item.rule.rule_number}" => item } # Flatten all egress rules across all NACLs into a list of {nacl_key, rule} egress_rules = flatten([ for nacl_key, nacl in var.network_acls : [ for rule in nacl.egress_rules : { nacl_key = nacl_key rule = rule } ] ]) # Keyed by "nacl_key-rule_number" — unique and stable across applies egress_map = { for item in local.egress_rules : "${item.nacl_key}-${item.rule.rule_number}" => item } }