fix: split SSID resource - ssids_open omits wpa_encryption_mode (API rejects it for auth_mode=open)
This commit is contained in:
@@ -151,8 +151,9 @@ resource "meraki_appliance_vlan" "mx_gateways" {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# 3. SSIDs wireless
|
# 3. SSIDs wireless
|
||||||
|
# SSIDs con WPA (psk, open-enhanced): incluyen wpa_encryption_mode
|
||||||
resource "meraki_wireless_ssid" "ssids" {
|
resource "meraki_wireless_ssid" "ssids" {
|
||||||
for_each = { for s in var.wireless_ssids : tostring(s.number) => s }
|
for_each = { for s in var.wireless_ssids : tostring(s.number) => s if s.auth_mode != "open" }
|
||||||
depends_on = [meraki_appliance_vlans_settings.activate_vlans]
|
depends_on = [meraki_appliance_vlans_settings.activate_vlans]
|
||||||
|
|
||||||
network_id = local.network_id
|
network_id = local.network_id
|
||||||
@@ -161,9 +162,7 @@ resource "meraki_wireless_ssid" "ssids" {
|
|||||||
enabled = each.value.enabled
|
enabled = each.value.enabled
|
||||||
visible = each.value.visible
|
visible = each.value.visible
|
||||||
auth_mode = each.value.auth_mode
|
auth_mode = each.value.auth_mode
|
||||||
# PSK solo se envía para SSIDs con auth_mode "psk"; para open/open-enhanced se deja null
|
|
||||||
psk = each.value.auth_mode == "psk" ? (each.value.psk != null ? each.value.psk : var.wifi_password_psk) : null
|
psk = each.value.auth_mode == "psk" ? (each.value.psk != null ? each.value.psk : var.wifi_password_psk) : null
|
||||||
# wpa_encryption_mode se pasa directamente desde el tfvars (null si no aplica)
|
|
||||||
wpa_encryption_mode = each.value.wpa_encryption_mode
|
wpa_encryption_mode = each.value.wpa_encryption_mode
|
||||||
encryption_mode = each.value.encryption_mode
|
encryption_mode = each.value.encryption_mode
|
||||||
splash_page = each.value.splash_page
|
splash_page = each.value.splash_page
|
||||||
@@ -179,6 +178,30 @@ resource "meraki_wireless_ssid" "ssids" {
|
|||||||
] : []
|
] : []
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# SSIDs open (sin WPA): wpa_encryption_mode se omite — la API Meraki lo rechaza para auth_mode=open
|
||||||
|
resource "meraki_wireless_ssid" "ssids_open" {
|
||||||
|
for_each = { for s in var.wireless_ssids : tostring(s.number) => s if s.auth_mode == "open" }
|
||||||
|
depends_on = [meraki_appliance_vlans_settings.activate_vlans]
|
||||||
|
|
||||||
|
network_id = local.network_id
|
||||||
|
number = each.value.number
|
||||||
|
name = each.value.name
|
||||||
|
enabled = each.value.enabled
|
||||||
|
visible = each.value.visible
|
||||||
|
auth_mode = each.value.auth_mode
|
||||||
|
splash_page = each.value.splash_page
|
||||||
|
ip_assignment_mode = each.value.ip_assignment_mode
|
||||||
|
use_vlan_tagging = each.value.use_vlan_tagging
|
||||||
|
default_vlan_id = each.value.default_vlan_id
|
||||||
|
radius_servers = length(each.value.radius_servers) > 0 ? [
|
||||||
|
for server in each.value.radius_servers : {
|
||||||
|
host = server.host
|
||||||
|
port = server.port
|
||||||
|
secret = var.radius_secret
|
||||||
|
}
|
||||||
|
] : []
|
||||||
|
}
|
||||||
|
|
||||||
# 4. Reglas de firewall L3
|
# 4. Reglas de firewall L3
|
||||||
resource "meraki_appliance_l3_firewall_rules" "reglas_firewall" {
|
resource "meraki_appliance_l3_firewall_rules" "reglas_firewall" {
|
||||||
network_id = local.network_id
|
network_id = local.network_id
|
||||||
|
|||||||
Reference in New Issue
Block a user