From ec03205f0cc55ca0a57ca9fb1c24da2c044bd30a Mon Sep 17 00:00:00 2001 From: Marcin Parafiniuk Date: Mon, 23 Dec 2024 15:14:18 +0100 Subject: [PATCH] wireless ssids identity psks group name mapping --- meraki_networks.tf | 3 ++- meraki_wireless.tf | 23 ++++++++++++----------- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/meraki_networks.tf b/meraki_networks.tf index 5ee98a1..57b175e 100644 --- a/meraki_networks.tf +++ b/meraki_networks.tf @@ -7,6 +7,7 @@ locals { for group_policy in try(network.group_policies, []) : { network_id = meraki_network.network["${organization.name}/${network.name}"].id data = try(group_policy, null) + key = "${organization.name}/${network.name}/${group_policy.name}" } if try(network.group_policies, null) != null ] if try(organization.networks, null) != null ] if try(domain.organizations, null) != null @@ -15,7 +16,7 @@ locals { } resource "meraki_network_group_policy" "net_group_policies" { - for_each = { for i, v in local.networks_group_policies : i => v } + for_each = { for v in local.networks_group_policies : v.key => v } network_id = each.value.network_id name = try(each.value.data.name, local.defaults.meraki.networks.group_policies.name, null) diff --git a/meraki_wireless.tf b/meraki_wireless.tf index 30dbafe..5629892 100644 --- a/meraki_wireless.tf +++ b/meraki_wireless.tf @@ -395,9 +395,10 @@ locals { for network in try(organization.networks, []) : [ for wireless_ssid in try(network.wireless_ssids, []) : [ for identity_psk in try(wireless_ssid.identity_psks, []) : { - network_id = meraki_network.network["${organization.name}/${network.name}"].id - number = meraki_wireless_ssid.net_wireless_ssids["${organization.name}/${network.name}/ssids/${wireless_ssid.name}"].number - data = try(identity_psk, null) + network_id = meraki_network.network["${organization.name}/${network.name}"].id + number = meraki_wireless_ssid.net_wireless_ssids["${organization.name}/${network.name}/ssids/${wireless_ssid.name}"].number + data = try(identity_psk, null) + group_policy_id = meraki_network_group_policy.net_group_policies["${organization.name}/${network.name}/${identity_psk.group_policy_name}"].id } if try(wireless_ssid.identity_psks, null) != null ] if try(network.wireless_ssids, null) != null ] if try(organization.networks, null) != null @@ -407,14 +408,14 @@ locals { } resource "meraki_wireless_ssid_identity_psk" "net_wireless_ssids_identity_psks" { - for_each = { for i, v in local.networks_wireless_ssids_identity_psks : i => v } - network_id = each.value.network_id - number = each.value.number - - name = try(each.value.data.name, local.defaults.meraki.networks.networks_wireless_ssids_identity_psks.name, null) - passphrase = try(each.value.data.passphrase, local.defaults.meraki.networks.networks_wireless_ssids_identity_psks.passphrase, null) - group_policy_id = try(each.value.data.group_policy_id, local.defaults.meraki.networks.networks_wireless_ssids_identity_psks.group_policy_id, null) - expires_at = try(each.value.data.expires_at, local.defaults.meraki.networks.networks_wireless_ssids_identity_psks.expires_at, null) + for_each = { for i, v in local.networks_wireless_ssids_identity_psks : i => v } + network_id = each.value.network_id + number = each.value.number + group_policy_id = each.value.group_policy_id + + name = try(each.value.data.name, local.defaults.meraki.networks.networks_wireless_ssids_identity_psks.name, null) + passphrase = try(each.value.data.passphrase, local.defaults.meraki.networks.networks_wireless_ssids_identity_psks.passphrase, null) + expires_at = try(each.value.data.expires_at, local.defaults.meraki.networks.networks_wireless_ssids_identity_psks.expires_at, null) depends_on = [ meraki_wireless_ssid.net_wireless_ssids ]