From f55a54064d0e2a38d254e77d5f92c94212365484 Mon Sep 17 00:00:00 2001 From: Jose Martinez Date: Wed, 25 Mar 2026 18:33:50 +0100 Subject: [PATCH] fix: usar meraki_network_devices y nombres correctos de recursos MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - data meraki_devices → data meraki_network_devices - meraki_networks_switch_settings → meraki_switch_settings - meraki_networks_switch_stacks_routing_interfaces → meraki_switch_stack_routing_interface - switch_named_port_configs vuelve a usar switch_name (lookup dinámico) --- modules/meraki-site/main.tf | 22 +++++++++++----------- modules/meraki-site/variables.tf | 3 ++- sites/BCN01-LAB/switch.auto.tfvars | 3 ++- 3 files changed, 15 insertions(+), 13 deletions(-) diff --git a/modules/meraki-site/main.tf b/modules/meraki-site/main.tf index 2f131bd..149816b 100755 --- a/modules/meraki-site/main.tf +++ b/modules/meraki-site/main.tf @@ -22,7 +22,7 @@ data "meraki_switch_stacks" "stacks" { } # Dispositivos de la red (para resolución dinámica de serial por nombre de switch) -data "meraki_devices" "devices" { +data "meraki_network_devices" "devices" { network_id = local.network_id } @@ -58,7 +58,7 @@ locals { # Mapa de nombre de dispositivo -> serial device_serials = { - for d in data.meraki_devices.devices.items : + for d in data.meraki_network_devices.devices.items : d.name => d.serial if d.name != null && d.name != "" } @@ -100,7 +100,7 @@ locals { ] ]) - # Expande switch_named_port_configs (por nombre de switch) en entradas individuales + # Expande switch_named_port_configs (por nombre de switch, resolución dinámica de serial) named_ports_expanded = flatten([ for config in var.switch_named_port_configs : [ for port_id in local._expand_range["${config.switch_name}:${config.port_range}"] : { @@ -221,15 +221,15 @@ resource "meraki_switch_port" "ports" { } # 7. VLAN de gestión de los switches del site -resource "meraki_networks_switch_settings" "mgmt_vlan" { +resource "meraki_switch_settings" "mgmt_vlan" { count = var.switch_management_vlan != null ? 1 : 0 network_id = local.network_id - management_vlan = var.switch_management_vlan + vlan = var.switch_management_vlan } # 8. Interfaces de enrutamiento L3 en stacks (SVIs para acceso de gestión al Dashboard) -resource "meraki_networks_switch_stacks_routing_interfaces" "stack_interfaces" { +resource "meraki_switch_stack_routing_interface" "stack_interfaces" { for_each = { for i in var.stack_routing_interfaces : "${i.stack_name}:${i.vlan_id}" => i @@ -238,12 +238,12 @@ resource "meraki_networks_switch_stacks_routing_interfaces" "stack_interfaces" { network_id = local.network_id switch_stack_id = local.stack_ids[each.value.stack_name] - name = each.value.name - vlan_id = each.value.vlan_id - ip_address = each.value.ip_address - subnet = each.value.subnet + name = each.value.name + vlan_id = each.value.vlan_id + interface_ip = each.value.ip_address + subnet = each.value.subnet - default_gateway_ip = each.value.default_gateway + default_gateway = each.value.default_gateway } # 9. Puertos del firewall MX diff --git a/modules/meraki-site/variables.tf b/modules/meraki-site/variables.tf index 03ccb9a..7883267 100755 --- a/modules/meraki-site/variables.tf +++ b/modules/meraki-site/variables.tf @@ -136,7 +136,8 @@ variable "switch_stack_port_configs" { description = "Puertos de stack a configurar por nombre. Terraform resuelve los seriales de todos los miembros automáticamente." } -# Configuración de puertos por nombre de switch (resolución dinámica de serial por nombre) +# Configuración de puertos por nombre de switch (resolución dinámica de serial) +# Útil para configurar un miembro específico de un stack sin conocer el serial variable "switch_named_port_configs" { type = list(object({ switch_name = string # nombre exacto del switch en Meraki Dashboard diff --git a/sites/BCN01-LAB/switch.auto.tfvars b/sites/BCN01-LAB/switch.auto.tfvars index f8aa529..5d92f7d 100644 --- a/sites/BCN01-LAB/switch.auto.tfvars +++ b/sites/BCN01-LAB/switch.auto.tfvars @@ -132,7 +132,8 @@ switch_stack_port_configs = [ }, ] -# Puertos por nombre de switch (para configurar un miembro concreto del stack) +# Puertos de un switch concreto (miembro individual del stack) +# El serial se encuentra en: Dashboard > Switches > eqt-lab-st01-sw01 > Overview switch_named_port_configs = [ { # Puerto 1 de eqt-lab-st01-sw01 → VLAN SERVERS (estática, sin autenticación)