fix: usar meraki_network_devices y nombres correctos de recursos

- 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)
This commit is contained in:
Jose Martinez
2026-03-25 18:33:50 +01:00
parent c86569436b
commit f55a54064d
3 changed files with 15 additions and 13 deletions
+11 -11
View File
@@ -22,7 +22,7 @@ data "meraki_switch_stacks" "stacks" {
} }
# Dispositivos de la red (para resolución dinámica de serial por nombre de switch) # 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 network_id = local.network_id
} }
@@ -58,7 +58,7 @@ locals {
# Mapa de nombre de dispositivo -> serial # Mapa de nombre de dispositivo -> serial
device_serials = { device_serials = {
for d in data.meraki_devices.devices.items : for d in data.meraki_network_devices.devices.items :
d.name => d.serial d.name => d.serial
if d.name != null && d.name != "" 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([ named_ports_expanded = flatten([
for config in var.switch_named_port_configs : [ for config in var.switch_named_port_configs : [
for port_id in local._expand_range["${config.switch_name}:${config.port_range}"] : { 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 # 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 count = var.switch_management_vlan != null ? 1 : 0
network_id = local.network_id 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) # 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_each = {
for i in var.stack_routing_interfaces : for i in var.stack_routing_interfaces :
"${i.stack_name}:${i.vlan_id}" => i "${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 network_id = local.network_id
switch_stack_id = local.stack_ids[each.value.stack_name] switch_stack_id = local.stack_ids[each.value.stack_name]
name = each.value.name name = each.value.name
vlan_id = each.value.vlan_id vlan_id = each.value.vlan_id
ip_address = each.value.ip_address interface_ip = each.value.ip_address
subnet = each.value.subnet subnet = each.value.subnet
default_gateway_ip = each.value.default_gateway default_gateway = each.value.default_gateway
} }
# 9. Puertos del firewall MX # 9. Puertos del firewall MX
+2 -1
View File
@@ -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." 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" { variable "switch_named_port_configs" {
type = list(object({ type = list(object({
switch_name = string # nombre exacto del switch en Meraki Dashboard switch_name = string # nombre exacto del switch en Meraki Dashboard
+2 -1
View File
@@ -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 = [ switch_named_port_configs = [
{ {
# Puerto 1 de eqt-lab-st01-sw01 → VLAN SERVERS (estática, sin autenticación) # Puerto 1 de eqt-lab-st01-sw01 → VLAN SERVERS (estática, sin autenticación)