Skip to content

Commit 9903ac6

Browse files
committed
corrections to locals map lookups
1 parent 9e6c0db commit 9903ac6

File tree

1 file changed

+86
-92
lines changed

1 file changed

+86
-92
lines changed

locals.tf

Lines changed: 86 additions & 92 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@ locals {
66

77
access = lookup(var.model, "access", {})
88
defaults = lookup(var.model, "defaults", {})
9-
domains = lookup(local.access, "physical_and_external_domains", {})
10-
global = lookup(lookup(local.access, "policies", {}), "global", {})
11-
interface = lookup(lookup(local.access, "policies", {}), "interface", {})
12-
intf_pg_leaf = lookup(lookup(lookup(local.access, "interfaces", {}), "leaf", {}), "policy_groups")
13-
intf_pg_spine = lookup(lookup(local.access, "interfaces", {}), "spine", {})
14-
pools = lookup(local.access, "pools", {})
15-
virtual_networking = lookup(var.model, "virtual_networking", [])
9+
domains = lookup(lookup(var.model, "access", {}), "physical_and_external_domains", {})
10+
global = lookup(lookup(lookup(var.model, "access", {}), "policies", {}), "global", {})
11+
interface = lookup(lookup(lookup(var.model, "access", {}), "policies", {}), "interface", {})
12+
intf_pg_leaf = lookup(lookup(lookup(var.model, "access", {}), "interfaces", {}), "leaf", {})
13+
intf_pg_spine = lookup(lookup(lookup(var.model, "access", {}), "interfaces", {}), "spine", {})
14+
pools = lookup(lookup(var.model, "access", {}), "pools", {})
15+
virtual_networking = lookup(var.model, "virtual_networking", {})
1616
pre_built = local.defaults.access.pre_built_interface_policies
1717
pre_cfg = lookup(local.interface, "create_pre_built_interface_policies", {
1818
cdp_interface = false
@@ -31,8 +31,8 @@ locals {
3131
qos_class = false
3232
vpc_domain = false
3333
})
34-
sw_pgs_leaf = lookup(lookup(local.access, "switches", {}), "leaf")
35-
sw_pgs_spine = lookup(lookup(local.access, "switches", {}), "spine")
34+
sw_pgs_leaf = lookup(lookup(var.model, "access", {}), "switches", {})
35+
sw_pgs_spine = lookup(lookup(var.model, "access", {}), "switches", {})
3636
# Defaults: Domains
3737
l3 = local.defaults.access.physical_and_external_domains.l3_domains
3838
phys = local.defaults.access.physical_and_external_domains.physical_domains
@@ -321,7 +321,7 @@ locals {
321321
#__________________________________________________________
322322

323323
leaf_interfaces_policy_groups_access = {
324-
for k, v in lookup(local.intf_pg_leaf, "access", {}) : v.name => {
324+
for k, v in lookup(lookup(local.intf_pg_leaf, "policy_groups", {}), "access", {}) : v.name => {
325325
attachable_entity_profile = lookup(v, "attachable_entity_profile", local.laccess.attachable_entity_profile)
326326
annotation = coalesce(lookup(v, "annotation", local.laccess.annotation
327327
), var.annotation)
@@ -371,7 +371,7 @@ locals {
371371
}
372372

373373
leaf_interfaces_policy_groups_breakout = {
374-
for k, v in lookup(local.intf_pg_leaf, "breakout", {}) : v.name => {
374+
for k, v in lookup(lookup(local.intf_pg_leaf, "policy_groups", {}), "breakout", {}) : v.name => {
375375
annotation = coalesce(lookup(v, "annotation", local.lbrkout.annotation
376376
), var.annotation)
377377
breakout_map = lookup(v, "breakout_map", local.lbrkout.breakout_map)
@@ -382,7 +382,7 @@ locals {
382382

383383
leaf_interfaces_policy_groups_bundle = {
384384
for i in flatten([
385-
for v in lookup(local.intf_pg_leaf, "bundle", []) : [
385+
for v in lookup(lookup(local.intf_pg_leaf, "policy_groups", {}), "bundle", []) : [
386386
for s in v.names : {
387387
attachable_entity_profile = lookup(v, "attachable_entity_profile", local.lbundle.attachable_entity_profile)
388388
annotation = coalesce(lookup(v, "annotation", local.lbundle.annotation
@@ -573,46 +573,42 @@ locals {
573573
# Virtual Networking Variables
574574
#__________________________________________________________
575575

576-
vmm_domains = {
577-
for i in flatten([
578-
for value in lookup(local.virtual_networking, "vmm", []) : [
579-
for v in value.domain : {
580-
access_mode = lookup(v, "access_mode", local.vmm.domain.access_mode)
581-
annotation = coalesce(lookup(v, "annotation", local.vmm.domain.annotation
582-
), var.annotation)
583-
control_knob = lookup(v, "control_knob", local.vmm.domain.control_knob)
584-
delimiter = lookup(v, "delimiter", local.vmm.domain.delimiter)
585-
dvs = value.name
586-
enable_tag_collection = lookup(v, "enable_tag_collection", local.vmm.domain.enable_tag_collection)
587-
enable_vm_folder_data_retrieval = lookup(
588-
v, "enable_vm_folder_data_retrieval", local.vmm.domain.enable_vm_folder_data_retrieval
589-
)
590-
encapsulation = lookup(v, "encapsulation", local.vmm.domain.encapsulation)
591-
endpoint_inventory_type = lookup(v, "endpoint_inventory_type", local.vmm.domain.endpoint_inventory_type)
592-
endpoint_retention_time = lookup(v, "endpoint_retention_time", local.vmm.domain.endpoint_retention_time)
593-
enforcement = lookup(v, "enforcement", local.vmm.domain.enforcement)
594-
numOfUplinks = length(lookup(v, "uplink_names", ["uplink1", "uplink2"]))
595-
preferred_encapsulation = lookup(v, "preferred_encapsulation", local.vmm.domain.preferred_encapsulation)
596-
switch_provider = lookup(v, "switch_provider", local.vmm.domain.switch_provider)
597-
switch_mode = lookup(v, "switch_mode", local.vmm.domain.switch_mode)
598-
uplink_names = lookup(v, "uplink_names", local.vmm.domain.uplink_names)
599-
vlan_pool = v.vlan_pool
600-
}
601-
]
602-
]) : i.dvs => i
603-
}
604-
vmm_credentials = {
605-
for i in flatten([
606-
for value in lookup(local.virtual_networking, "vmm", []) : [
607-
for k, v in value.credentials : {
608-
annotation = local.vmm_domains["${value.name}"].annotation
609-
dvs = value.name
610-
description = lookup(v, "description", local.vmm.credentials.description)
611-
username = v.username
612-
}
613-
]
614-
]) : i.dvs => i
615-
}
576+
vmm_domains = { for i in flatten([
577+
for value in lookup(local.virtual_networking, "vmm", []) : [
578+
for v in value.domain : {
579+
access_mode = lookup(v, "access_mode", local.vmm.domain.access_mode)
580+
annotation = coalesce(lookup(v, "annotation", local.vmm.domain.annotation
581+
), var.annotation)
582+
control_knob = lookup(v, "control_knob", local.vmm.domain.control_knob)
583+
delimiter = lookup(v, "delimiter", local.vmm.domain.delimiter)
584+
dvs = value.name
585+
enable_tag_collection = lookup(v, "enable_tag_collection", local.vmm.domain.enable_tag_collection)
586+
enable_vm_folder_data_retrieval = lookup(
587+
v, "enable_vm_folder_data_retrieval", local.vmm.domain.enable_vm_folder_data_retrieval
588+
)
589+
encapsulation = lookup(v, "encapsulation", local.vmm.domain.encapsulation)
590+
endpoint_inventory_type = lookup(v, "endpoint_inventory_type", local.vmm.domain.endpoint_inventory_type)
591+
endpoint_retention_time = lookup(v, "endpoint_retention_time", local.vmm.domain.endpoint_retention_time)
592+
enforcement = lookup(v, "enforcement", local.vmm.domain.enforcement)
593+
numOfUplinks = length(lookup(v, "uplink_names", ["uplink1", "uplink2"]))
594+
preferred_encapsulation = lookup(v, "preferred_encapsulation", local.vmm.domain.preferred_encapsulation)
595+
switch_provider = lookup(v, "switch_provider", local.vmm.domain.switch_provider)
596+
switch_mode = lookup(v, "switch_mode", local.vmm.domain.switch_mode)
597+
uplink_names = lookup(v, "uplink_names", local.vmm.domain.uplink_names)
598+
vlan_pool = v.vlan_pool
599+
}
600+
]
601+
]) : i.dvs => i }
602+
vmm_credentials = { for i in flatten([
603+
for value in lookup(local.virtual_networking, "vmm", []) : [
604+
for k, v in value.credentials : {
605+
annotation = local.vmm_domains["${value.name}"].annotation
606+
dvs = value.name
607+
description = lookup(v, "description", local.vmm.credentials.description)
608+
username = v.username
609+
}
610+
]
611+
]) : i.dvs => i }
616612
vmm_controllers = {
617613
for i in flatten([
618614
for value in lookup(local.virtual_networking, "vmm", []) : [
@@ -641,46 +637,44 @@ locals {
641637
]
642638
]) : "${i.dvs}:${i.hostname}" => i
643639
}
644-
vswitch_policies = {
645-
for i in flatten([
646-
for key, value in lookup(local.virtual_networking, "vmm", []) : [
647-
for k, v in value.vswitch_policy : {
648-
annotation = coalesce(lookup(v, "annotation", local.vmm.vswitch_policy.annotation
649-
), var.annotation)
650-
cdp_interface_policy = lookup(v, "cdp_interface_policy", "")
651-
dvs = value.name
652-
enhanced_lag_policy = length(compact(
653-
[lookup(lookup(v, "enhanced_lag_policy", {}), "name", "")])
654-
) > 0 ? {
655-
load_balancing_mode = lookup(
656-
lookup(v, "enhanced_lag_policy", {}
657-
), "load_balancing_mode", local.vmm.vswitch_policy.load_balancing_mode)
658-
mode = lookup(
659-
lookup(v, "enhanced_lag_policy", {}
660-
), "mode", local.vmm.vswitch_policy.mode)
661-
name = lookup(
662-
lookup(v, "enhanced_lag_policy", {}
663-
), "name", local.vmm.vswitch_policy.name)
664-
number_of_links = lookup(
665-
lookup(v, "enhanced_lag_policy", {}
666-
), "number_of_links", local.vmm.vswitch_policy.number_of_links)
667-
} : {}
668-
firewall_policy = lookup(v, "firewall_policy", "default")
669-
lldp_interface_policy = lookup(v, "lldp_interface_policy", "")
670-
mtu_policy = lookup(v, "mtu_policy", "default")
671-
netflow_export_policy = length(compact([lookup(v, "netflow_export_policy", "")])) > 0 ? [
672-
for s in v.vmm_netflow_export_policies : {
673-
active_flow_timeout = lookup(s, "active_flow_timeout", local.vmm_netflow.active_flow_timeout)
674-
idle_flow_timeout = lookup(s, "idle_flow_timeout", local.vmm_netflow.idle_flow_timeout)
675-
netflow_policy = s.netflow_policy
676-
sample_rate = lookup(s, "sample_rate", local.vmm_netflow.sample_rate)
677-
}
678-
] : []
679-
port_channel_policy = lookup(v, "port_channel_policy", "")
680-
}
681-
]
682-
]) : i.dvs => i
683-
}
640+
vswitch_policies = { for i in flatten([
641+
for value in lookup(local.virtual_networking, "vmm", []) : [
642+
for k, v in value.vswitch_policy : {
643+
annotation = coalesce(lookup(v, "annotation", local.vmm.vswitch_policy.annotation
644+
), var.annotation)
645+
cdp_interface_policy = lookup(v, "cdp_interface_policy", "")
646+
dvs = value.name
647+
enhanced_lag_policy = length(compact(
648+
[lookup(lookup(v, "enhanced_lag_policy", {}), "name", "")])
649+
) > 0 ? {
650+
load_balancing_mode = lookup(
651+
lookup(v, "enhanced_lag_policy", {}
652+
), "load_balancing_mode", local.vmm.vswitch_policy.load_balancing_mode)
653+
mode = lookup(
654+
lookup(v, "enhanced_lag_policy", {}
655+
), "mode", local.vmm.vswitch_policy.mode)
656+
name = lookup(
657+
lookup(v, "enhanced_lag_policy", {}
658+
), "name", local.vmm.vswitch_policy.name)
659+
number_of_links = lookup(
660+
lookup(v, "enhanced_lag_policy", {}
661+
), "number_of_links", local.vmm.vswitch_policy.number_of_links)
662+
} : {}
663+
firewall_policy = lookup(v, "firewall_policy", "default")
664+
lldp_interface_policy = lookup(v, "lldp_interface_policy", "")
665+
mtu_policy = lookup(v, "mtu_policy", "default")
666+
netflow_export_policy = length(compact([lookup(v, "netflow_export_policy", "")])) > 0 ? [
667+
for s in v.vmm_netflow_export_policies : {
668+
active_flow_timeout = lookup(s, "active_flow_timeout", local.vmm_netflow.active_flow_timeout)
669+
idle_flow_timeout = lookup(s, "idle_flow_timeout", local.vmm_netflow.idle_flow_timeout)
670+
netflow_policy = s.netflow_policy
671+
sample_rate = lookup(s, "sample_rate", local.vmm_netflow.sample_rate)
672+
}
673+
] : []
674+
port_channel_policy = lookup(v, "port_channel_policy", "")
675+
}
676+
]
677+
]) : i.dvs => i }
684678
vmm_uplinks = { for i in flatten([
685679
for k, v in local.vmm_domains : [
686680
for s in range(length(v.uplink_names)) : {

0 commit comments

Comments
 (0)