@@ -58,17 +58,18 @@ resource "google_compute_global_forwarding_rule" "http" {
5858}
5959
6060resource "google_compute_global_forwarding_rule" "internal_managed_http" {
61- count = local. create_http_forward && local. is_internal_managed ? length ( var. internal_forwarding_rule_subnetworks ) : 0
61+ for_each = local. create_http_forward && local. is_internal_managed ? var. internal_forwarding_rule_configs : {}
6262
6363 provider = google- beta
6464 project = var. project_id
65- name = " ${ var . name } -internal-managed-http-${ count . index } "
65+ name = " ${ var . name } -internal-managed-http-${ each . key } "
6666 target = google_compute_target_http_proxy. default [0 ]. self_link
6767 port_range = var. http_port
6868 labels = var. labels
6969 load_balancing_scheme = var. load_balancing_scheme
7070 network = local. internal_network
71- subnetwork = var. internal_forwarding_rule_subnetworks [count . index ]
71+ subnetwork = each. value . subnetwork
72+ ip_address = each. value . address
7273}
7374
7475resource "google_compute_global_forwarding_rule" "https" {
@@ -85,22 +86,23 @@ resource "google_compute_global_forwarding_rule" "https" {
8586}
8687
8788resource "google_compute_global_forwarding_rule" "internal_managed_https" {
88- count = var. ssl && local. is_internal_managed ? length ( var. internal_forwarding_rule_subnetworks ) : 0
89+ for_each = var. ssl && local. is_internal_managed ? var. internal_forwarding_rule_configs : {}
8990
9091 provider = google- beta
9192 project = var. project_id
92- name = " ${ var . name } -internal-managed-https-${ count . index } "
93+ name = " ${ var . name } -internal-managed-https-${ each . key } "
9394 target = google_compute_target_https_proxy. default [0 ]. self_link
9495 port_range = var. https_port
9596 labels = var. labels
9697 load_balancing_scheme = var. load_balancing_scheme
9798 network = local. internal_network
98- subnetwork = var. internal_forwarding_rule_subnetworks [count . index ]
99+ subnetwork = each. value . subnetwork
100+ ip_address = each. value . address
99101}
100102
101103resource "google_compute_global_address" "default" {
102104 provider = google- beta
103- count = local. is_internal_self_managed ? 0 : var. create_address ? 1 : 0
105+ count = local. is_internal_self_managed || local . is_internal_managed ? 0 : var. create_address ? 1 : 0
104106 project = var. project_id
105107 name = " ${ var . name } -address"
106108 ip_version = " IPV4"
@@ -123,17 +125,17 @@ resource "google_compute_global_forwarding_rule" "http_ipv6" {
123125}
124126
125127resource "google_compute_global_forwarding_rule" "internal_managed_http_ipv6" {
126- count = var. enable_ipv6 && local. create_http_forward && local. is_internal_managed ? length ( var. internal_forwarding_rule_subnetworks ) : 0
128+ for_each = var. enable_ipv6 && local. create_http_forward && local. is_internal_managed ? var. internal_forwarding_rule_configs : {}
127129
128130 provider = google- beta
129131 project = var. project_id
130- name = " ${ var . name } -internal-managed-http-ipv6-${ count . index } "
132+ name = " ${ var . name } -internal-managed-http-ipv6-${ each . key } "
131133 target = google_compute_target_http_proxy. default [0 ]. self_link
132134 port_range = " 80"
133135 labels = var. labels
134136 load_balancing_scheme = var. load_balancing_scheme
135- network = local . internal_network
136- subnetwork = var . internal_forwarding_rule_subnetworks [ count . index ]
137+ subnetwork = each . value . subnetwork
138+ ip_address = each . value . address
137139}
138140
139141resource "google_compute_global_forwarding_rule" "https_ipv6" {
@@ -150,22 +152,22 @@ resource "google_compute_global_forwarding_rule" "https_ipv6" {
150152}
151153
152154resource "google_compute_global_forwarding_rule" "internal_managed_https_ipv6" {
153- count = var. enable_ipv6 && var. ssl && local. is_internal_managed ? length ( var. internal_forwarding_rule_subnetworks ) : 0
155+ for_each = var. enable_ipv6 && var. ssl && local. is_internal_managed ? var. internal_forwarding_rule_configs : {}
154156
155157 provider = google- beta
156158 project = var. project_id
157- name = " ${ var . name } -internal-managed-https-ipv6-${ count . index } "
159+ name = " ${ var . name } -internal-managed-https-ipv6-${ each . key } "
158160 target = google_compute_target_https_proxy. default [0 ]. self_link
159161 port_range = " 443"
160162 labels = var. labels
161163 load_balancing_scheme = var. load_balancing_scheme
162- network = local . internal_network
163- subnetwork = var . internal_forwarding_rule_subnetworks [ count . index ]
164+ subnetwork = each . value . subnetwork
165+ ip_address = each . value . address
164166}
165167
166168resource "google_compute_global_address" "default_ipv6" {
167169 provider = google- beta
168- count = local. is_internal_self_managed ? 0 : (var. enable_ipv6 && var. create_ipv6_address ) ? 1 : 0
170+ count = local. is_internal_self_managed || local . is_internal_managed ? 0 : (var. enable_ipv6 && var. create_ipv6_address ) ? 1 : 0
169171 project = var. project_id
170172 name = " ${ var . name } -ipv6-address"
171173 ip_version = " IPV6"
0 commit comments