diff --git a/meraki_networks.tf b/meraki_networks.tf index d6a3e86..b38a294 100644 --- a/meraki_networks.tf +++ b/meraki_networks.tf @@ -15,6 +15,7 @@ locals { protocol = try(rule.protocol, 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 @@ -23,8 +24,9 @@ locals { } resource "meraki_network_group_policy" "net_group_policies" { - for_each = { for i, v in local.networks_group_policies : i => v } - network_id = each.value.network_id + 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) scheduling_enabled = try(each.value.data.scheduling.enabled, local.defaults.meraki.networks.group_policies.scheduling.enabled, null) scheduling_monday_active = try(each.value.data.scheduling.monday.active, local.defaults.meraki.networks.group_policies.scheduling.monday.active, null) diff --git a/meraki_wireless.tf b/meraki_wireless.tf index d78915a..2d2c48e 100644 --- a/meraki_wireless.tf +++ b/meraki_wireless.tf @@ -394,13 +394,14 @@ locals { for domain in try(local.meraki.domains, []) : [ for organization in try(domain.organizations, []) : [ for network in try(organization.networks, []) : [ - for wireless_ssid in try(network.wireless_ssids, []) : [ + 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(network.wireless.ssids, null) != null ] if try(organization.networks, null) != null ] if try(domain.organizations, null) != null ] if try(local.meraki.domains, null) != null @@ -411,10 +412,11 @@ 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.wireless_ssids_identity_psks.name, null) - passphrase = try(each.value.data.passphrase, local.defaults.meraki.networks.wireless_ssids_identity_psks.passphrase, null) - group_policy_id = try(each.value.data.group_policy_id, local.defaults.meraki.networks.wireless_ssids_identity_psks.group_policy_id, null) - expires_at = try(each.value.data.expires_at, local.defaults.meraki.networks.wireless_ssids_identity_psks.expires_at, null) + group_policy_id = each.value.group_policy_id + + name = try(each.value.data.name, local.defaults.meraki.networks.wireless_ssids_identity_psks.name, null) + passphrase = try(each.value.data.passphrase, local.defaults.meraki.networks.wireless_ssids_identity_psks.passphrase, null) + expires_at = try(each.value.data.expires_at, local.defaults.meraki.networks.wireless_ssids_identity_psks.expires_at, null) depends_on = [ meraki_wireless_ssid.net_wireless_ssids ]