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:
+11
-11
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user