Skip to content

Commit

Permalink
meraki_wireless_ssid_device_type_group_policies
Browse files Browse the repository at this point in the history
  • Loading branch information
Marcin Parafiniuk committed Oct 11, 2024
1 parent 40aba1d commit 69960a9
Show file tree
Hide file tree
Showing 2 changed files with 48 additions and 7 deletions.
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,7 @@ module "meraki" {
| [meraki_wireless_rf_profile.net_wireless_rf_profiles](https://registry.terraform.io/providers/CiscoDevNet/meraki/0.1.2/docs/resources/wireless_rf_profile) | resource |
| [meraki_wireless_settings.net_wireless_settings](https://registry.terraform.io/providers/CiscoDevNet/meraki/0.1.2/docs/resources/wireless_settings) | resource |
| [meraki_wireless_ssid.net_wireless_ssids](https://registry.terraform.io/providers/CiscoDevNet/meraki/0.1.2/docs/resources/wireless_ssid) | resource |
| [meraki_wireless_ssid_device_type_group_policies.net_wireless_ssids_device_type_group_policies](https://registry.terraform.io/providers/CiscoDevNet/meraki/0.1.2/docs/resources/wireless_ssid_device_type_group_policies) | resource |
| [meraki_wireless_ssid_eap_override.net_wireless_ssid_eap_override](https://registry.terraform.io/providers/CiscoDevNet/meraki/0.1.2/docs/resources/wireless_ssid_eap_override) | resource |
| [meraki_organization.organization](https://registry.terraform.io/providers/CiscoDevNet/meraki/0.1.2/docs/data-sources/organization) | data source |
| [utils_yaml_merge.defaults](https://registry.terraform.io/providers/netascode/utils/latest/docs/data-sources/yaml_merge) | data source |
Expand Down
54 changes: 47 additions & 7 deletions meraki_wireless.tf
Original file line number Diff line number Diff line change
Expand Up @@ -143,15 +143,29 @@ resource "meraki_wireless_settings" "net_wireless_settings" {
}
# Apply the Wireless SSIDs
locals {
wireless_ssids_numbers_list = flatten([

for domain in try(local.meraki.domains, []) : [
for organization in try(domain.organizations, []) : [
for network in try(organization.networks, []) : [
for i, wireless_ssid in try(network.wireless_ssids, []) : {
key = format("${domain.name}/${organization.name}/${network.name}/wireless_ssid/${wireless_ssid.name}")
number = i
} 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
])
wireless_ssids_map = { for w in local.wireless_ssids_numbers_list : w.key => w.number }
networks_wireless_ssids = flatten([

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 i, wireless_ssid in try(network.wireless_ssids, []) : {
network_id = meraki_network.network["${domain.name}/${organization.name}/${network.name}"].id

data = try(wireless_ssid, null)
number = i
data = try(wireless_ssid, null)
} if try(network.wireless_ssids, null) != null
] if try(organization.networks, null) != null
] if try(domain.organizations, null) != null
Expand All @@ -162,7 +176,7 @@ locals {
resource "meraki_wireless_ssid" "net_wireless_ssids" {
for_each = { for i, v in local.networks_wireless_ssids : i => v }
network_id = each.value.network_id
number = each.key
number = each.value.number

name = try(each.value.data.name, local.defaults.meraki.networks.networks_wireless_ssids.name, null)
enabled = try(each.value.data.enabled, local.defaults.meraki.networks.networks_wireless_ssids.enabled, null)
Expand Down Expand Up @@ -249,11 +263,10 @@ locals {
for domain in try(local.meraki.domains, []) : [
for organization in try(domain.organizations, []) : [
for network in try(organization.networks, []) : [
for i, wireless_ssid in try(network.wireless_ssids, []) : {
for wireless_ssid in try(network.wireless_ssids, []) : {
network_id = meraki_network.network["${domain.name}/${organization.name}/${network.name}"].id
ssid_name = wireless_ssid.name
eap_override = try(wireless_ssid.eap_override, null)
number = i
number = local.wireless_ssids_map["${domain.name}/${organization.name}/${network.name}/wireless_ssid/${wireless_ssid.name}"]
} if try(wireless_ssid.eap_override, null) != null
] if try(organization.networks, null) != null
] if try(domain.organizations, null) != null
Expand All @@ -274,3 +287,30 @@ resource "meraki_wireless_ssid_eap_override" "net_wireless_ssid_eap_override" {
meraki_wireless_ssid.net_wireless_ssids
]
}

locals {
networks_wireless_ssids_device_type_group_policies = flatten([

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, []) : {
network_id = meraki_network.network["${domain.name}/${organization.name}/${network.name}"].id
number = local.wireless_ssids_map["${domain.name}/${organization.name}/${network.name}/wireless_ssid/${wireless_ssid.name}"]
data = try(wireless_ssid.device_type_group_policies, 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
])
}

resource "meraki_wireless_ssid_device_type_group_policies" "net_wireless_ssids_device_type_group_policies" {
for_each = { for i, v in local.networks_wireless_ssids_device_type_group_policies : i => v }
network_id = each.value.network_id
number = each.value.number

enabled = try(each.value.data.enabled, local.defaults.meraki.networks.networks_wireless_ssids_device_type_group_policies.enabled, null)
device_type_policies = try(each.value.data.device_type_policies, local.defaults.meraki.networks.networks_wireless_ssids_device_type_group_policies.device_type_policies, null)

}

0 comments on commit 69960a9

Please sign in to comment.