Skip to content

Commit bcaba3f

Browse files
authored
Merge pull request #365 from terraform-google-modules/bugfix/private-nodes
Fix endpoint output for private clusters
2 parents 67f38fd + 94d4677 commit bcaba3f

File tree

12 files changed

+68
-35
lines changed

12 files changed

+68
-35
lines changed

autogen/cluster.tf.tmpl

+12-4
Original file line numberDiff line numberDiff line change
@@ -191,10 +191,18 @@ resource "google_container_cluster" "primary" {
191191
}
192192

193193
{% if private_cluster %}
194-
private_cluster_config {
195-
enable_private_endpoint = var.enable_private_endpoint
196-
enable_private_nodes = var.enable_private_nodes
197-
master_ipv4_cidr_block = var.master_ipv4_cidr_block
194+
dynamic "private_cluster_config" {
195+
for_each = var.enable_private_nodes ? [{
196+
enable_private_nodes = var.enable_private_nodes,
197+
enable_private_endpoint = var.enable_private_endpoint
198+
master_ipv4_cidr_block = var.master_ipv4_cidr_block
199+
}] : []
200+
201+
content {
202+
enable_private_endpoint = private_cluster_config.value.enable_private_endpoint
203+
enable_private_nodes = private_cluster_config.value.enable_private_nodes
204+
master_ipv4_cidr_block = private_cluster_config.value.master_ipv4_cidr_block
205+
}
198206
}
199207
{% endif %}
200208

autogen/main.tf.tmpl

+2-3
Original file line numberDiff line numberDiff line change
@@ -101,9 +101,9 @@ locals {
101101
cluster_output_zones = local.cluster_output_regional_zones
102102

103103
{% if private_cluster %}
104-
cluster_output_endpoint = var.deploy_using_private_endpoint ? google_container_cluster.primary.private_cluster_config.0.private_endpoint : google_container_cluster.primary.private_cluster_config.0.public_endpoint
104+
cluster_endpoint = var.enable_private_nodes ? (var.deploy_using_private_endpoint ? google_container_cluster.primary.private_cluster_config.0.private_endpoint : google_container_cluster.primary.private_cluster_config.0.public_endpoint) : google_container_cluster.primary.endpoint
105105
{% else %}
106-
cluster_output_endpoint = google_container_cluster.primary.endpoint
106+
cluster_endpoint = google_container_cluster.primary.endpoint
107107
{% endif %}
108108

109109
cluster_output_master_auth = concat(google_container_cluster.primary.*.master_auth, [])
@@ -141,7 +141,6 @@ locals {
141141
cluster_zones = sort(local.cluster_output_zones)
142142

143143
cluster_name = local.cluster_output_name
144-
cluster_endpoint = local.cluster_output_endpoint
145144
cluster_ca_certificate = local.cluster_master_auth_map["cluster_ca_certificate"]
146145
cluster_master_version = local.cluster_output_master_version
147146
cluster_min_master_version = local.cluster_output_min_master_version

main.tf

+1-2
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ locals {
6868
cluster_output_zonal_zones = local.zone_count > 1 ? slice(var.zones, 1, local.zone_count) : []
6969
cluster_output_zones = local.cluster_output_regional_zones
7070

71-
cluster_output_endpoint = google_container_cluster.primary.endpoint
71+
cluster_endpoint = google_container_cluster.primary.endpoint
7272

7373
cluster_output_master_auth = concat(google_container_cluster.primary.*.master_auth, [])
7474
cluster_output_master_version = google_container_cluster.primary.master_version
@@ -96,7 +96,6 @@ locals {
9696
cluster_zones = sort(local.cluster_output_zones)
9797

9898
cluster_name = local.cluster_output_name
99-
cluster_endpoint = local.cluster_output_endpoint
10099
cluster_ca_certificate = local.cluster_master_auth_map["cluster_ca_certificate"]
101100
cluster_master_version = local.cluster_output_master_version
102101
cluster_min_master_version = local.cluster_output_min_master_version

modules/beta-private-cluster-update-variant/cluster.tf

+12-4
Original file line numberDiff line numberDiff line change
@@ -178,10 +178,18 @@ resource "google_container_cluster" "primary" {
178178
}
179179
}
180180

181-
private_cluster_config {
182-
enable_private_endpoint = var.enable_private_endpoint
183-
enable_private_nodes = var.enable_private_nodes
184-
master_ipv4_cidr_block = var.master_ipv4_cidr_block
181+
dynamic "private_cluster_config" {
182+
for_each = var.enable_private_nodes ? [{
183+
enable_private_nodes = var.enable_private_nodes,
184+
enable_private_endpoint = var.enable_private_endpoint
185+
master_ipv4_cidr_block = var.master_ipv4_cidr_block
186+
}] : []
187+
188+
content {
189+
enable_private_endpoint = private_cluster_config.value.enable_private_endpoint
190+
enable_private_nodes = private_cluster_config.value.enable_private_nodes
191+
master_ipv4_cidr_block = private_cluster_config.value.master_ipv4_cidr_block
192+
}
185193
}
186194

187195
remove_default_node_pool = var.remove_default_node_pool

modules/beta-private-cluster-update-variant/main.tf

+1-2
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ locals {
9292
cluster_output_zonal_zones = local.zone_count > 1 ? slice(var.zones, 1, local.zone_count) : []
9393
cluster_output_zones = local.cluster_output_regional_zones
9494

95-
cluster_output_endpoint = var.deploy_using_private_endpoint ? google_container_cluster.primary.private_cluster_config.0.private_endpoint : google_container_cluster.primary.private_cluster_config.0.public_endpoint
95+
cluster_endpoint = var.enable_private_nodes ? (var.deploy_using_private_endpoint ? google_container_cluster.primary.private_cluster_config.0.private_endpoint : google_container_cluster.primary.private_cluster_config.0.public_endpoint) : google_container_cluster.primary.endpoint
9696

9797
cluster_output_master_auth = concat(google_container_cluster.primary.*.master_auth, [])
9898
cluster_output_master_version = google_container_cluster.primary.master_version
@@ -127,7 +127,6 @@ locals {
127127
cluster_zones = sort(local.cluster_output_zones)
128128

129129
cluster_name = local.cluster_output_name
130-
cluster_endpoint = local.cluster_output_endpoint
131130
cluster_ca_certificate = local.cluster_master_auth_map["cluster_ca_certificate"]
132131
cluster_master_version = local.cluster_output_master_version
133132
cluster_min_master_version = local.cluster_output_min_master_version

modules/beta-private-cluster/cluster.tf

+12-4
Original file line numberDiff line numberDiff line change
@@ -178,10 +178,18 @@ resource "google_container_cluster" "primary" {
178178
}
179179
}
180180

181-
private_cluster_config {
182-
enable_private_endpoint = var.enable_private_endpoint
183-
enable_private_nodes = var.enable_private_nodes
184-
master_ipv4_cidr_block = var.master_ipv4_cidr_block
181+
dynamic "private_cluster_config" {
182+
for_each = var.enable_private_nodes ? [{
183+
enable_private_nodes = var.enable_private_nodes,
184+
enable_private_endpoint = var.enable_private_endpoint
185+
master_ipv4_cidr_block = var.master_ipv4_cidr_block
186+
}] : []
187+
188+
content {
189+
enable_private_endpoint = private_cluster_config.value.enable_private_endpoint
190+
enable_private_nodes = private_cluster_config.value.enable_private_nodes
191+
master_ipv4_cidr_block = private_cluster_config.value.master_ipv4_cidr_block
192+
}
185193
}
186194

187195
remove_default_node_pool = var.remove_default_node_pool

modules/beta-private-cluster/main.tf

+1-2
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ locals {
9292
cluster_output_zonal_zones = local.zone_count > 1 ? slice(var.zones, 1, local.zone_count) : []
9393
cluster_output_zones = local.cluster_output_regional_zones
9494

95-
cluster_output_endpoint = var.deploy_using_private_endpoint ? google_container_cluster.primary.private_cluster_config.0.private_endpoint : google_container_cluster.primary.private_cluster_config.0.public_endpoint
95+
cluster_endpoint = var.enable_private_nodes ? (var.deploy_using_private_endpoint ? google_container_cluster.primary.private_cluster_config.0.private_endpoint : google_container_cluster.primary.private_cluster_config.0.public_endpoint) : google_container_cluster.primary.endpoint
9696

9797
cluster_output_master_auth = concat(google_container_cluster.primary.*.master_auth, [])
9898
cluster_output_master_version = google_container_cluster.primary.master_version
@@ -127,7 +127,6 @@ locals {
127127
cluster_zones = sort(local.cluster_output_zones)
128128

129129
cluster_name = local.cluster_output_name
130-
cluster_endpoint = local.cluster_output_endpoint
131130
cluster_ca_certificate = local.cluster_master_auth_map["cluster_ca_certificate"]
132131
cluster_master_version = local.cluster_output_master_version
133132
cluster_min_master_version = local.cluster_output_min_master_version

modules/beta-public-cluster/main.tf

+1-2
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ locals {
9292
cluster_output_zonal_zones = local.zone_count > 1 ? slice(var.zones, 1, local.zone_count) : []
9393
cluster_output_zones = local.cluster_output_regional_zones
9494

95-
cluster_output_endpoint = google_container_cluster.primary.endpoint
95+
cluster_endpoint = google_container_cluster.primary.endpoint
9696

9797
cluster_output_master_auth = concat(google_container_cluster.primary.*.master_auth, [])
9898
cluster_output_master_version = google_container_cluster.primary.master_version
@@ -127,7 +127,6 @@ locals {
127127
cluster_zones = sort(local.cluster_output_zones)
128128

129129
cluster_name = local.cluster_output_name
130-
cluster_endpoint = local.cluster_output_endpoint
131130
cluster_ca_certificate = local.cluster_master_auth_map["cluster_ca_certificate"]
132131
cluster_master_version = local.cluster_output_master_version
133132
cluster_min_master_version = local.cluster_output_min_master_version

modules/private-cluster-update-variant/cluster.tf

+12-4
Original file line numberDiff line numberDiff line change
@@ -114,10 +114,18 @@ resource "google_container_cluster" "primary" {
114114
}
115115
}
116116

117-
private_cluster_config {
118-
enable_private_endpoint = var.enable_private_endpoint
119-
enable_private_nodes = var.enable_private_nodes
120-
master_ipv4_cidr_block = var.master_ipv4_cidr_block
117+
dynamic "private_cluster_config" {
118+
for_each = var.enable_private_nodes ? [{
119+
enable_private_nodes = var.enable_private_nodes,
120+
enable_private_endpoint = var.enable_private_endpoint
121+
master_ipv4_cidr_block = var.master_ipv4_cidr_block
122+
}] : []
123+
124+
content {
125+
enable_private_endpoint = private_cluster_config.value.enable_private_endpoint
126+
enable_private_nodes = private_cluster_config.value.enable_private_nodes
127+
master_ipv4_cidr_block = private_cluster_config.value.master_ipv4_cidr_block
128+
}
121129
}
122130

123131
remove_default_node_pool = var.remove_default_node_pool

modules/private-cluster-update-variant/main.tf

+1-2
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ locals {
6868
cluster_output_zonal_zones = local.zone_count > 1 ? slice(var.zones, 1, local.zone_count) : []
6969
cluster_output_zones = local.cluster_output_regional_zones
7070

71-
cluster_output_endpoint = var.deploy_using_private_endpoint ? google_container_cluster.primary.private_cluster_config.0.private_endpoint : google_container_cluster.primary.private_cluster_config.0.public_endpoint
71+
cluster_endpoint = var.enable_private_nodes ? (var.deploy_using_private_endpoint ? google_container_cluster.primary.private_cluster_config.0.private_endpoint : google_container_cluster.primary.private_cluster_config.0.public_endpoint) : google_container_cluster.primary.endpoint
7272

7373
cluster_output_master_auth = concat(google_container_cluster.primary.*.master_auth, [])
7474
cluster_output_master_version = google_container_cluster.primary.master_version
@@ -96,7 +96,6 @@ locals {
9696
cluster_zones = sort(local.cluster_output_zones)
9797

9898
cluster_name = local.cluster_output_name
99-
cluster_endpoint = local.cluster_output_endpoint
10099
cluster_ca_certificate = local.cluster_master_auth_map["cluster_ca_certificate"]
101100
cluster_master_version = local.cluster_output_master_version
102101
cluster_min_master_version = local.cluster_output_min_master_version

modules/private-cluster/cluster.tf

+12-4
Original file line numberDiff line numberDiff line change
@@ -114,10 +114,18 @@ resource "google_container_cluster" "primary" {
114114
}
115115
}
116116

117-
private_cluster_config {
118-
enable_private_endpoint = var.enable_private_endpoint
119-
enable_private_nodes = var.enable_private_nodes
120-
master_ipv4_cidr_block = var.master_ipv4_cidr_block
117+
dynamic "private_cluster_config" {
118+
for_each = var.enable_private_nodes ? [{
119+
enable_private_nodes = var.enable_private_nodes,
120+
enable_private_endpoint = var.enable_private_endpoint
121+
master_ipv4_cidr_block = var.master_ipv4_cidr_block
122+
}] : []
123+
124+
content {
125+
enable_private_endpoint = private_cluster_config.value.enable_private_endpoint
126+
enable_private_nodes = private_cluster_config.value.enable_private_nodes
127+
master_ipv4_cidr_block = private_cluster_config.value.master_ipv4_cidr_block
128+
}
121129
}
122130

123131
remove_default_node_pool = var.remove_default_node_pool

modules/private-cluster/main.tf

+1-2
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ locals {
6868
cluster_output_zonal_zones = local.zone_count > 1 ? slice(var.zones, 1, local.zone_count) : []
6969
cluster_output_zones = local.cluster_output_regional_zones
7070

71-
cluster_output_endpoint = var.deploy_using_private_endpoint ? google_container_cluster.primary.private_cluster_config.0.private_endpoint : google_container_cluster.primary.private_cluster_config.0.public_endpoint
71+
cluster_endpoint = var.enable_private_nodes ? (var.deploy_using_private_endpoint ? google_container_cluster.primary.private_cluster_config.0.private_endpoint : google_container_cluster.primary.private_cluster_config.0.public_endpoint) : google_container_cluster.primary.endpoint
7272

7373
cluster_output_master_auth = concat(google_container_cluster.primary.*.master_auth, [])
7474
cluster_output_master_version = google_container_cluster.primary.master_version
@@ -96,7 +96,6 @@ locals {
9696
cluster_zones = sort(local.cluster_output_zones)
9797

9898
cluster_name = local.cluster_output_name
99-
cluster_endpoint = local.cluster_output_endpoint
10099
cluster_ca_certificate = local.cluster_master_auth_map["cluster_ca_certificate"]
101100
cluster_master_version = local.cluster_output_master_version
102101
cluster_min_master_version = local.cluster_output_min_master_version

0 commit comments

Comments
 (0)