Skip to content

Commit 49973a3

Browse files
authored
fix(variables): fail gracefully if sources index does not exist (#146)
1 parent 61f3bfb commit 49973a3

File tree

1 file changed

+6
-6
lines changed
  • modules/regular_service_perimeter

1 file changed

+6
-6
lines changed

modules/regular_service_perimeter/main.tf

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,8 @@ resource "google_access_context_manager_service_perimeter" "regular_service_peri
4040
ingress_from {
4141
dynamic "sources" {
4242
for_each = merge(
43-
{ for k, v in lookup(ingress_policies.value["from"]["sources"], "resources", []) : v => "resource" },
44-
{ for k, v in lookup(ingress_policies.value["from"]["sources"], "access_levels", []) : v => "access_level" })
43+
{ for k, v in lookup(lookup(ingress_policies.value["from"], "sources", {}), "resources", []) : v => "resource" },
44+
{ for k, v in lookup(lookup(ingress_policies.value["from"], "sources", {}), "access_levels", []) : v => "access_level" })
4545
content {
4646
resource = sources.value == "resource" ? sources.key : null
4747
access_level = sources.value == "access_level" ? sources.key != "*" ? "accessPolicies/${var.policy}/accessLevels/${sources.key}" : "*" : null
@@ -79,7 +79,7 @@ resource "google_access_context_manager_service_perimeter" "regular_service_peri
7979
identity_type = lookup(egress_policies.value["from"], "identity_type", null)
8080
identities = lookup(egress_policies.value["from"], "identities", null)
8181
dynamic "sources" {
82-
for_each = { for k, v in lookup(egress_policies.value["from"]["sources"], "access_levels", []) : v => "access_level" }
82+
for_each = { for k, v in lookup(lookup(egress_policies.value["from"], "sources", {}), "access_levels", []) : v => "access_level" }
8383
content {
8484
access_level = sources.value == "access_level" ? sources.key != "*" ? "accessPolicies/${var.policy}/accessLevels/${sources.key}" : "*" : null
8585
}
@@ -134,8 +134,8 @@ resource "google_access_context_manager_service_perimeter" "regular_service_peri
134134
ingress_from {
135135
dynamic "sources" {
136136
for_each = merge(
137-
{ for k, v in lookup(ingress_policies_dry_run.value["from"]["sources"], "resources", []) : v => "resource" },
138-
{ for k, v in lookup(ingress_policies_dry_run.value["from"]["sources"], "access_levels", []) : v => "access_level" })
137+
{ for k, v in lookup(lookup(ingress_policies_dry_run.value["from"], "sources", {}), "resources", []) : v => "resource" },
138+
{ for k, v in lookup(lookup(ingress_policies_dry_run.value["from"], "sources", {}), "access_levels", []) : v => "access_level" })
139139
content {
140140
resource = sources.value == "resource" ? sources.key : null
141141
access_level = sources.value == "access_level" ? sources.key != "*" ? "accessPolicies/${var.policy}/accessLevels/${sources.key}" : "*" : null
@@ -173,7 +173,7 @@ resource "google_access_context_manager_service_perimeter" "regular_service_peri
173173
identity_type = lookup(egress_policies_dry_run.value["from"], "identity_type", null)
174174
identities = lookup(egress_policies_dry_run.value["from"], "identities", null)
175175
dynamic "sources" {
176-
for_each = { for k, v in lookup(egress_policies_dry_run.value["from"]["sources"], "access_levels", []) : v => "access_level" }
176+
for_each = { for k, v in lookup(lookup(egress_policies_dry_run.value["from"], "sources", {}), "access_levels", []) : v => "access_level" }
177177
content {
178178
access_level = sources.value == "access_level" ? sources.key != "*" ? "accessPolicies/${var.policy}/accessLevels/${sources.key}" : "*" : null
179179
}

0 commit comments

Comments
 (0)