diff --git a/modules/meraki-site/main.tf b/modules/meraki-site/main.tf index a51244a..1195b1f 100755 --- a/modules/meraki-site/main.tf +++ b/modules/meraki-site/main.tf @@ -31,17 +31,18 @@ locals { network_id = [for n in data.meraki_networks.net.items : n.id if n.name == var.network_name][0] # Helper: expande un port_range en lista de port_ids - # "1-48" -> ["1","2",...,"48"] | "1" -> ["1"] + # Soporta: "1" -> ["1"] | "1-4" -> ["1","2","3","4"] | "2,3" -> ["2","3"] | "1-3,5,47" -> ["1","2","3","5","47"] _expand_range = { for config in concat(var.switch_port_configs, var.switch_stack_port_configs, var.switch_named_port_configs) : - "${try(config.serial, try(config.stack_name, config.switch_name))}:${config.port_range}" => ( - length(split("-", config.port_range)) == 2 + "${try(config.serial, try(config.stack_name, config.switch_name))}:${config.port_range}" => flatten([ + for segment in split(",", config.port_range) : + length(split("-", trimspace(segment))) == 2 ? [for i in range( - tonumber(split("-", config.port_range)[0]), - tonumber(split("-", config.port_range)[1]) + 1 + tonumber(split("-", trimspace(segment))[0]), + tonumber(split("-", trimspace(segment))[1]) + 1 ) : tostring(i)] - : [config.port_range] - ) + : [trimspace(segment)] + ]) } # Mapa de nombre de stack -> lista de seriales de sus miembros diff --git a/sites/BCN01-LAB/switch.auto.tfvars b/sites/BCN01-LAB/switch.auto.tfvars index 0641337..694f391 100644 --- a/sites/BCN01-LAB/switch.auto.tfvars +++ b/sites/BCN01-LAB/switch.auto.tfvars @@ -145,22 +145,12 @@ switch_named_port_configs = [ access_policy_type = "Open" }, { - # Puerto 2 de eqt-lab-st01-sw01 → AP (trunk, nativa 108 APs, tageadas 100 ACCESS y 101 GUEST) + # Puertos 2 y 3 de eqt-lab-st01-sw01 → APs (trunk, nativa 108 APs, tageadas 100 ACCESS y 101 GUEST) switch_name = "eqt-lab-st01-sw01" - port_range = "2" + port_range = "2,3" name = "AP" type = "trunk" - vlan = 108 # APs - VLAN nativa (untagged) - allowed_vlans = "100,101,108" # ACCESS + GUEST + APs - access_policy_type = "Open" - }, - { - # Puerto 3 de eqt-lab-st01-sw01 → AP (trunk, nativa 108 APs, tageadas 100 ACCESS y 101 GUEST) - switch_name = "eqt-lab-st01-sw01" - port_range = "3" - name = "AP" - type = "trunk" - vlan = 108 # APs - VLAN nativa (untagged) + vlan = 108 # APs - VLAN nativa (untagged) allowed_vlans = "100,101,108" # ACCESS + GUEST + APs access_policy_type = "Open" },