From 89a8506f8b5800b0dc293cf2250d41fb00d3e7e7 Mon Sep 17 00:00:00 2001 From: Jose Martinez Date: Thu, 26 Mar 2026 11:38:39 +0100 Subject: [PATCH] fix: add encryption_mode for PSK SSIDs (EQT-GUEST) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit La API de Meraki requiere encryption_mode="wpa" cuando auth_mode="psk", además de wpa_encryption_mode. Sin este campo la API devuelve el error "Pre-shared key mode requires a valid encryption mode (wep, wpa)". Co-Authored-By: Claude Sonnet 4.6 --- modules/meraki-site/main.tf | 1 + modules/meraki-site/variables.tf | 3 ++- sites/BCN01-LAB/ssids.auto.tfvars | 1 + sites/BCN01-LAB/variables.tf | 1 + 4 files changed, 5 insertions(+), 1 deletion(-) diff --git a/modules/meraki-site/main.tf b/modules/meraki-site/main.tf index 1e4724e..be2a189 100755 --- a/modules/meraki-site/main.tf +++ b/modules/meraki-site/main.tf @@ -166,6 +166,7 @@ resource "meraki_wireless_ssid" "ssids" { # Para OWE (open + WPA3) la API rechaza el campo; la encriptación Enhanced Open # se negocia a nivel de beacon y no se expone como atributo de la API Meraki. wpa_encryption_mode = each.value.auth_mode != "open" ? each.value.wpa_encryption_mode : null + encryption_mode = each.value.encryption_mode splash_page = each.value.splash_page ip_assignment_mode = each.value.ip_assignment_mode use_vlan_tagging = each.value.use_vlan_tagging diff --git a/modules/meraki-site/variables.tf b/modules/meraki-site/variables.tf index 0c69c15..ceb1403 100755 --- a/modules/meraki-site/variables.tf +++ b/modules/meraki-site/variables.tf @@ -34,7 +34,8 @@ variable "wireless_ssids" { name = string enabled = optional(bool, true) auth_mode = string - psk = optional(string, null) # Contraseña WPA2/WPA3-PSK (sensible, usar TF_VAR o secret) + psk = optional(string, null) # Contraseña WPA2/WPA3-PSK (sensible, usar TF_VAR o secret) + encryption_mode = optional(string, null) # "wpa" para PSK; null para open/OWE splash_page = optional(string, "None") wpa_encryption_mode = optional(string, "WPA3 only") ip_assignment_mode = optional(string, "Bridge mode") diff --git a/sites/BCN01-LAB/ssids.auto.tfvars b/sites/BCN01-LAB/ssids.auto.tfvars index d84a38b..96c70ae 100644 --- a/sites/BCN01-LAB/ssids.auto.tfvars +++ b/sites/BCN01-LAB/ssids.auto.tfvars @@ -26,6 +26,7 @@ wireless_ssids = [ name = "EQT-GUEST" enabled = true auth_mode = "psk" # Modo para contraseña compartida + encryption_mode = "wpa" # Requerido por la API Meraki para PSK wpa_encryption_mode = "WPA2 only" # Lo que pediste para compatibilidad # psk se inyecta via TF_VAR_wifi_password_psk (GitHub secret WIFI_PASSWORD_PSK) ip_assignment_mode = "Bridge mode" diff --git a/sites/BCN01-LAB/variables.tf b/sites/BCN01-LAB/variables.tf index e3537c9..c1ba7c4 100755 --- a/sites/BCN01-LAB/variables.tf +++ b/sites/BCN01-LAB/variables.tf @@ -35,6 +35,7 @@ variable "wireless_ssids" { enabled = optional(bool, true) auth_mode = string psk = optional(string, null) + encryption_mode = optional(string, null) # "wpa" para PSK; null para open/OWE splash_page = optional(string, "None") wpa_encryption_mode = optional(string, "WPA3 only") ip_assignment_mode = optional(string, "Bridge mode")