Skip to content

Commit 8ec88d9

Browse files
committed
Add support for StatefulHA Addon
1 parent 748e1ed commit 8ec88d9

File tree

40 files changed

+145
-14
lines changed

40 files changed

+145
-14
lines changed

Diff for: README.md

+1
Original file line numberDiff line numberDiff line change
@@ -228,6 +228,7 @@ Then perform the following commands on the root folder:
228228
| shadow\_firewall\_rules\_log\_config | The log\_config for shadow firewall rules. You can set this variable to `null` to disable logging. | <pre>object({<br> metadata = string<br> })</pre> | <pre>{<br> "metadata": "INCLUDE_ALL_METADATA"<br>}</pre> | no |
229229
| shadow\_firewall\_rules\_priority | The firewall priority of GKE shadow firewall rules. The priority should be less than default firewall, which is 1000. | `number` | `999` | no |
230230
| stack\_type | The stack type to use for this cluster. Either `IPV4` or `IPV4_IPV6`. Defaults to `IPV4`. | `string` | `"IPV4"` | no |
231+
| stateful\_ha | Whether the Stateful HA Addon is enabled for this cluster. | `bool` | `false` | no |
231232
| stub\_domains | Map of stub domains and their resolvers to forward DNS queries for a certain domain to an external DNS server | `map(list(string))` | `{}` | no |
232233
| subnetwork | The subnetwork to host the cluster in (required) | `string` | n/a | yes |
233234
| timeouts | Timeout for cluster operations. | `map(string)` | `{}` | no |

Diff for: autogen/main/cluster.tf.tmpl

+8
Original file line numberDiff line numberDiff line change
@@ -309,6 +309,14 @@ resource "google_container_cluster" "primary" {
309309
}
310310
}
311311

312+
dynamic "stateful_ha_config" {
313+
for_each = local.stateful_ha_config
314+
315+
content {
316+
enabled = stateful_ha_config.value.enabled
317+
}
318+
}
319+
312320
config_connector_config {
313321
enabled = var.config_connector
314322
}

Diff for: autogen/main/main.tf.tmpl

+1
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,7 @@ locals {
109109
logmon_config_is_set = length(var.logging_enabled_components) > 0 || length(var.monitoring_enabled_components) > 0 || var.monitoring_enable_managed_prometheus
110110
gke_backup_agent_config = var.gke_backup_agent_config ? [{ enabled = true }] : [{ enabled = false }]
111111
gcs_fuse_csi_driver_config = var.gcs_fuse_csi_driver ? [{ enabled = true }] : []
112+
stateful_ha_config = var.stateful_ha ? [{ enabled = true }] : []
112113
{% endif %}
113114
{% if beta_cluster and autopilot_cluster != true %}
114115
cluster_cloudrun_config_load_balancer_config = (var.cloudrun && var.cloudrun_load_balancer_type != "") ? {

Diff for: autogen/main/variables.tf.tmpl

+6
Original file line numberDiff line numberDiff line change
@@ -725,6 +725,12 @@ variable "gcs_fuse_csi_driver" {
725725
default = false
726726
}
727727

728+
variable "stateful_ha" {
729+
type = bool
730+
description = "Whether the Stateful HA Addon is enabled for this cluster."
731+
default = false
732+
}
733+
728734
{% endif %}
729735
variable "timeouts" {
730736
type = map(string)

Diff for: autogen/main/versions.tf.tmpl

+2-2
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,11 @@ terraform {
2424
required_providers {
2525
google = {
2626
source = "hashicorp/google"
27-
version = ">= 5.9.0, < 6"
27+
version = ">= 5.25.0, < 6"
2828
}
2929
google-beta = {
3030
source = "hashicorp/google-beta"
31-
version = ">= 5.9.0, < 6"
31+
version = ">= 5.25.0, < 6"
3232
}
3333
kubernetes = {
3434
source = "hashicorp/kubernetes"

Diff for: cluster.tf

+8
Original file line numberDiff line numberDiff line change
@@ -229,6 +229,14 @@ resource "google_container_cluster" "primary" {
229229
}
230230
}
231231

232+
dynamic "stateful_ha_config" {
233+
for_each = local.stateful_ha_config
234+
235+
content {
236+
enabled = stateful_ha_config.value.enabled
237+
}
238+
}
239+
232240
config_connector_config {
233241
enabled = var.config_connector
234242
}

Diff for: examples/simple_regional/main.tf

+1
Original file line numberDiff line numberDiff line change
@@ -45,4 +45,5 @@ module "gke" {
4545
gcs_fuse_csi_driver = true
4646
fleet_project = var.project_id
4747
deletion_protection = false
48+
stateful_ha = true
4849
}

Diff for: main.tf

+1
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@ locals {
9494
logmon_config_is_set = length(var.logging_enabled_components) > 0 || length(var.monitoring_enabled_components) > 0 || var.monitoring_enable_managed_prometheus
9595
gke_backup_agent_config = var.gke_backup_agent_config ? [{ enabled = true }] : [{ enabled = false }]
9696
gcs_fuse_csi_driver_config = var.gcs_fuse_csi_driver ? [{ enabled = true }] : []
97+
stateful_ha_config = var.stateful_ha ? [{ enabled = true }] : []
9798

9899
cluster_authenticator_security_group = var.authenticator_security_group == null ? [] : [{
99100
security_group = var.authenticator_security_group

Diff for: modules/beta-autopilot-private-cluster/versions.tf

+2-2
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,11 @@ terraform {
2121
required_providers {
2222
google = {
2323
source = "hashicorp/google"
24-
version = ">= 5.9.0, < 6"
24+
version = ">= 5.25.0, < 6"
2525
}
2626
google-beta = {
2727
source = "hashicorp/google-beta"
28-
version = ">= 5.9.0, < 6"
28+
version = ">= 5.25.0, < 6"
2929
}
3030
kubernetes = {
3131
source = "hashicorp/kubernetes"

Diff for: modules/beta-autopilot-public-cluster/versions.tf

+2-2
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,11 @@ terraform {
2121
required_providers {
2222
google = {
2323
source = "hashicorp/google"
24-
version = ">= 5.9.0, < 6"
24+
version = ">= 5.25.0, < 6"
2525
}
2626
google-beta = {
2727
source = "hashicorp/google-beta"
28-
version = ">= 5.9.0, < 6"
28+
version = ">= 5.25.0, < 6"
2929
}
3030
kubernetes = {
3131
source = "hashicorp/kubernetes"

Diff for: modules/beta-private-cluster-update-variant/README.md

+1
Original file line numberDiff line numberDiff line change
@@ -278,6 +278,7 @@ Then perform the following commands on the root folder:
278278
| shadow\_firewall\_rules\_log\_config | The log\_config for shadow firewall rules. You can set this variable to `null` to disable logging. | <pre>object({<br> metadata = string<br> })</pre> | <pre>{<br> "metadata": "INCLUDE_ALL_METADATA"<br>}</pre> | no |
279279
| shadow\_firewall\_rules\_priority | The firewall priority of GKE shadow firewall rules. The priority should be less than default firewall, which is 1000. | `number` | `999` | no |
280280
| stack\_type | The stack type to use for this cluster. Either `IPV4` or `IPV4_IPV6`. Defaults to `IPV4`. | `string` | `"IPV4"` | no |
281+
| stateful\_ha | Whether the Stateful HA Addon is enabled for this cluster. | `bool` | `false` | no |
281282
| stub\_domains | Map of stub domains and their resolvers to forward DNS queries for a certain domain to an external DNS server | `map(list(string))` | `{}` | no |
282283
| subnetwork | The subnetwork to host the cluster in (required) | `string` | n/a | yes |
283284
| timeouts | Timeout for cluster operations. | `map(string)` | `{}` | no |

Diff for: modules/beta-private-cluster-update-variant/cluster.tf

+8
Original file line numberDiff line numberDiff line change
@@ -252,6 +252,14 @@ resource "google_container_cluster" "primary" {
252252
}
253253
}
254254

255+
dynamic "stateful_ha_config" {
256+
for_each = local.stateful_ha_config
257+
258+
content {
259+
enabled = stateful_ha_config.value.enabled
260+
}
261+
}
262+
255263
config_connector_config {
256264
enabled = var.config_connector
257265
}

Diff for: modules/beta-private-cluster-update-variant/main.tf

+1
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@ locals {
9494
logmon_config_is_set = length(var.logging_enabled_components) > 0 || length(var.monitoring_enabled_components) > 0 || var.monitoring_enable_managed_prometheus
9595
gke_backup_agent_config = var.gke_backup_agent_config ? [{ enabled = true }] : [{ enabled = false }]
9696
gcs_fuse_csi_driver_config = var.gcs_fuse_csi_driver ? [{ enabled = true }] : []
97+
stateful_ha_config = var.stateful_ha ? [{ enabled = true }] : []
9798
cluster_cloudrun_config_load_balancer_config = (var.cloudrun && var.cloudrun_load_balancer_type != "") ? {
9899
load_balancer_type = var.cloudrun_load_balancer_type
99100
} : {}

Diff for: modules/beta-private-cluster-update-variant/variables.tf

+6
Original file line numberDiff line numberDiff line change
@@ -696,6 +696,12 @@ variable "gcs_fuse_csi_driver" {
696696
default = false
697697
}
698698

699+
variable "stateful_ha" {
700+
type = bool
701+
description = "Whether the Stateful HA Addon is enabled for this cluster."
702+
default = false
703+
}
704+
699705
variable "timeouts" {
700706
type = map(string)
701707
description = "Timeout for cluster operations."

Diff for: modules/beta-private-cluster-update-variant/versions.tf

+2-2
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,11 @@ terraform {
2121
required_providers {
2222
google = {
2323
source = "hashicorp/google"
24-
version = ">= 5.9.0, < 6"
24+
version = ">= 5.25.0, < 6"
2525
}
2626
google-beta = {
2727
source = "hashicorp/google-beta"
28-
version = ">= 5.9.0, < 6"
28+
version = ">= 5.25.0, < 6"
2929
}
3030
kubernetes = {
3131
source = "hashicorp/kubernetes"

Diff for: modules/beta-private-cluster/README.md

+1
Original file line numberDiff line numberDiff line change
@@ -256,6 +256,7 @@ Then perform the following commands on the root folder:
256256
| shadow\_firewall\_rules\_log\_config | The log\_config for shadow firewall rules. You can set this variable to `null` to disable logging. | <pre>object({<br> metadata = string<br> })</pre> | <pre>{<br> "metadata": "INCLUDE_ALL_METADATA"<br>}</pre> | no |
257257
| shadow\_firewall\_rules\_priority | The firewall priority of GKE shadow firewall rules. The priority should be less than default firewall, which is 1000. | `number` | `999` | no |
258258
| stack\_type | The stack type to use for this cluster. Either `IPV4` or `IPV4_IPV6`. Defaults to `IPV4`. | `string` | `"IPV4"` | no |
259+
| stateful\_ha | Whether the Stateful HA Addon is enabled for this cluster. | `bool` | `false` | no |
259260
| stub\_domains | Map of stub domains and their resolvers to forward DNS queries for a certain domain to an external DNS server | `map(list(string))` | `{}` | no |
260261
| subnetwork | The subnetwork to host the cluster in (required) | `string` | n/a | yes |
261262
| timeouts | Timeout for cluster operations. | `map(string)` | `{}` | no |

Diff for: modules/beta-private-cluster/cluster.tf

+8
Original file line numberDiff line numberDiff line change
@@ -252,6 +252,14 @@ resource "google_container_cluster" "primary" {
252252
}
253253
}
254254

255+
dynamic "stateful_ha_config" {
256+
for_each = local.stateful_ha_config
257+
258+
content {
259+
enabled = stateful_ha_config.value.enabled
260+
}
261+
}
262+
255263
config_connector_config {
256264
enabled = var.config_connector
257265
}

Diff for: modules/beta-private-cluster/main.tf

+1
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@ locals {
9494
logmon_config_is_set = length(var.logging_enabled_components) > 0 || length(var.monitoring_enabled_components) > 0 || var.monitoring_enable_managed_prometheus
9595
gke_backup_agent_config = var.gke_backup_agent_config ? [{ enabled = true }] : [{ enabled = false }]
9696
gcs_fuse_csi_driver_config = var.gcs_fuse_csi_driver ? [{ enabled = true }] : []
97+
stateful_ha_config = var.stateful_ha ? [{ enabled = true }] : []
9798
cluster_cloudrun_config_load_balancer_config = (var.cloudrun && var.cloudrun_load_balancer_type != "") ? {
9899
load_balancer_type = var.cloudrun_load_balancer_type
99100
} : {}

Diff for: modules/beta-private-cluster/variables.tf

+6
Original file line numberDiff line numberDiff line change
@@ -696,6 +696,12 @@ variable "gcs_fuse_csi_driver" {
696696
default = false
697697
}
698698

699+
variable "stateful_ha" {
700+
type = bool
701+
description = "Whether the Stateful HA Addon is enabled for this cluster."
702+
default = false
703+
}
704+
699705
variable "timeouts" {
700706
type = map(string)
701707
description = "Timeout for cluster operations."

Diff for: modules/beta-private-cluster/versions.tf

+2-2
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,11 @@ terraform {
2121
required_providers {
2222
google = {
2323
source = "hashicorp/google"
24-
version = ">= 5.9.0, < 6"
24+
version = ">= 5.25.0, < 6"
2525
}
2626
google-beta = {
2727
source = "hashicorp/google-beta"
28-
version = ">= 5.9.0, < 6"
28+
version = ">= 5.25.0, < 6"
2929
}
3030
kubernetes = {
3131
source = "hashicorp/kubernetes"

Diff for: modules/beta-public-cluster-update-variant/README.md

+1
Original file line numberDiff line numberDiff line change
@@ -267,6 +267,7 @@ Then perform the following commands on the root folder:
267267
| shadow\_firewall\_rules\_log\_config | The log\_config for shadow firewall rules. You can set this variable to `null` to disable logging. | <pre>object({<br> metadata = string<br> })</pre> | <pre>{<br> "metadata": "INCLUDE_ALL_METADATA"<br>}</pre> | no |
268268
| shadow\_firewall\_rules\_priority | The firewall priority of GKE shadow firewall rules. The priority should be less than default firewall, which is 1000. | `number` | `999` | no |
269269
| stack\_type | The stack type to use for this cluster. Either `IPV4` or `IPV4_IPV6`. Defaults to `IPV4`. | `string` | `"IPV4"` | no |
270+
| stateful\_ha | Whether the Stateful HA Addon is enabled for this cluster. | `bool` | `false` | no |
270271
| stub\_domains | Map of stub domains and their resolvers to forward DNS queries for a certain domain to an external DNS server | `map(list(string))` | `{}` | no |
271272
| subnetwork | The subnetwork to host the cluster in (required) | `string` | n/a | yes |
272273
| timeouts | Timeout for cluster operations. | `map(string)` | `{}` | no |

Diff for: modules/beta-public-cluster-update-variant/cluster.tf

+8
Original file line numberDiff line numberDiff line change
@@ -252,6 +252,14 @@ resource "google_container_cluster" "primary" {
252252
}
253253
}
254254

255+
dynamic "stateful_ha_config" {
256+
for_each = local.stateful_ha_config
257+
258+
content {
259+
enabled = stateful_ha_config.value.enabled
260+
}
261+
}
262+
255263
config_connector_config {
256264
enabled = var.config_connector
257265
}

Diff for: modules/beta-public-cluster-update-variant/main.tf

+1
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@ locals {
9494
logmon_config_is_set = length(var.logging_enabled_components) > 0 || length(var.monitoring_enabled_components) > 0 || var.monitoring_enable_managed_prometheus
9595
gke_backup_agent_config = var.gke_backup_agent_config ? [{ enabled = true }] : [{ enabled = false }]
9696
gcs_fuse_csi_driver_config = var.gcs_fuse_csi_driver ? [{ enabled = true }] : []
97+
stateful_ha_config = var.stateful_ha ? [{ enabled = true }] : []
9798
cluster_cloudrun_config_load_balancer_config = (var.cloudrun && var.cloudrun_load_balancer_type != "") ? {
9899
load_balancer_type = var.cloudrun_load_balancer_type
99100
} : {}

Diff for: modules/beta-public-cluster-update-variant/variables.tf

+6
Original file line numberDiff line numberDiff line change
@@ -666,6 +666,12 @@ variable "gcs_fuse_csi_driver" {
666666
default = false
667667
}
668668

669+
variable "stateful_ha" {
670+
type = bool
671+
description = "Whether the Stateful HA Addon is enabled for this cluster."
672+
default = false
673+
}
674+
669675
variable "timeouts" {
670676
type = map(string)
671677
description = "Timeout for cluster operations."

Diff for: modules/beta-public-cluster-update-variant/versions.tf

+2-2
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,11 @@ terraform {
2121
required_providers {
2222
google = {
2323
source = "hashicorp/google"
24-
version = ">= 5.9.0, < 6"
24+
version = ">= 5.25.0, < 6"
2525
}
2626
google-beta = {
2727
source = "hashicorp/google-beta"
28-
version = ">= 5.9.0, < 6"
28+
version = ">= 5.25.0, < 6"
2929
}
3030
kubernetes = {
3131
source = "hashicorp/kubernetes"

Diff for: modules/beta-public-cluster/README.md

+1
Original file line numberDiff line numberDiff line change
@@ -245,6 +245,7 @@ Then perform the following commands on the root folder:
245245
| shadow\_firewall\_rules\_log\_config | The log\_config for shadow firewall rules. You can set this variable to `null` to disable logging. | <pre>object({<br> metadata = string<br> })</pre> | <pre>{<br> "metadata": "INCLUDE_ALL_METADATA"<br>}</pre> | no |
246246
| shadow\_firewall\_rules\_priority | The firewall priority of GKE shadow firewall rules. The priority should be less than default firewall, which is 1000. | `number` | `999` | no |
247247
| stack\_type | The stack type to use for this cluster. Either `IPV4` or `IPV4_IPV6`. Defaults to `IPV4`. | `string` | `"IPV4"` | no |
248+
| stateful\_ha | Whether the Stateful HA Addon is enabled for this cluster. | `bool` | `false` | no |
248249
| stub\_domains | Map of stub domains and their resolvers to forward DNS queries for a certain domain to an external DNS server | `map(list(string))` | `{}` | no |
249250
| subnetwork | The subnetwork to host the cluster in (required) | `string` | n/a | yes |
250251
| timeouts | Timeout for cluster operations. | `map(string)` | `{}` | no |

Diff for: modules/beta-public-cluster/cluster.tf

+8
Original file line numberDiff line numberDiff line change
@@ -252,6 +252,14 @@ resource "google_container_cluster" "primary" {
252252
}
253253
}
254254

255+
dynamic "stateful_ha_config" {
256+
for_each = local.stateful_ha_config
257+
258+
content {
259+
enabled = stateful_ha_config.value.enabled
260+
}
261+
}
262+
255263
config_connector_config {
256264
enabled = var.config_connector
257265
}

Diff for: modules/beta-public-cluster/main.tf

+1
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@ locals {
9494
logmon_config_is_set = length(var.logging_enabled_components) > 0 || length(var.monitoring_enabled_components) > 0 || var.monitoring_enable_managed_prometheus
9595
gke_backup_agent_config = var.gke_backup_agent_config ? [{ enabled = true }] : [{ enabled = false }]
9696
gcs_fuse_csi_driver_config = var.gcs_fuse_csi_driver ? [{ enabled = true }] : []
97+
stateful_ha_config = var.stateful_ha ? [{ enabled = true }] : []
9798
cluster_cloudrun_config_load_balancer_config = (var.cloudrun && var.cloudrun_load_balancer_type != "") ? {
9899
load_balancer_type = var.cloudrun_load_balancer_type
99100
} : {}

Diff for: modules/beta-public-cluster/variables.tf

+6
Original file line numberDiff line numberDiff line change
@@ -666,6 +666,12 @@ variable "gcs_fuse_csi_driver" {
666666
default = false
667667
}
668668

669+
variable "stateful_ha" {
670+
type = bool
671+
description = "Whether the Stateful HA Addon is enabled for this cluster."
672+
default = false
673+
}
674+
669675
variable "timeouts" {
670676
type = map(string)
671677
description = "Timeout for cluster operations."

Diff for: modules/beta-public-cluster/versions.tf

+2-2
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,11 @@ terraform {
2121
required_providers {
2222
google = {
2323
source = "hashicorp/google"
24-
version = ">= 5.9.0, < 6"
24+
version = ">= 5.25.0, < 6"
2525
}
2626
google-beta = {
2727
source = "hashicorp/google-beta"
28-
version = ">= 5.9.0, < 6"
28+
version = ">= 5.25.0, < 6"
2929
}
3030
kubernetes = {
3131
source = "hashicorp/kubernetes"

Diff for: modules/private-cluster-update-variant/README.md

+1
Original file line numberDiff line numberDiff line change
@@ -261,6 +261,7 @@ Then perform the following commands on the root folder:
261261
| shadow\_firewall\_rules\_log\_config | The log\_config for shadow firewall rules. You can set this variable to `null` to disable logging. | <pre>object({<br> metadata = string<br> })</pre> | <pre>{<br> "metadata": "INCLUDE_ALL_METADATA"<br>}</pre> | no |
262262
| shadow\_firewall\_rules\_priority | The firewall priority of GKE shadow firewall rules. The priority should be less than default firewall, which is 1000. | `number` | `999` | no |
263263
| stack\_type | The stack type to use for this cluster. Either `IPV4` or `IPV4_IPV6`. Defaults to `IPV4`. | `string` | `"IPV4"` | no |
264+
| stateful\_ha | Whether the Stateful HA Addon is enabled for this cluster. | `bool` | `false` | no |
264265
| stub\_domains | Map of stub domains and their resolvers to forward DNS queries for a certain domain to an external DNS server | `map(list(string))` | `{}` | no |
265266
| subnetwork | The subnetwork to host the cluster in (required) | `string` | n/a | yes |
266267
| timeouts | Timeout for cluster operations. | `map(string)` | `{}` | no |

Diff for: modules/private-cluster-update-variant/cluster.tf

+8
Original file line numberDiff line numberDiff line change
@@ -229,6 +229,14 @@ resource "google_container_cluster" "primary" {
229229
}
230230
}
231231

232+
dynamic "stateful_ha_config" {
233+
for_each = local.stateful_ha_config
234+
235+
content {
236+
enabled = stateful_ha_config.value.enabled
237+
}
238+
}
239+
232240
config_connector_config {
233241
enabled = var.config_connector
234242
}

Diff for: modules/private-cluster-update-variant/main.tf

+1
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@ locals {
9494
logmon_config_is_set = length(var.logging_enabled_components) > 0 || length(var.monitoring_enabled_components) > 0 || var.monitoring_enable_managed_prometheus
9595
gke_backup_agent_config = var.gke_backup_agent_config ? [{ enabled = true }] : [{ enabled = false }]
9696
gcs_fuse_csi_driver_config = var.gcs_fuse_csi_driver ? [{ enabled = true }] : []
97+
stateful_ha_config = var.stateful_ha ? [{ enabled = true }] : []
9798

9899
cluster_authenticator_security_group = var.authenticator_security_group == null ? [] : [{
99100
security_group = var.authenticator_security_group

Diff for: modules/private-cluster-update-variant/variables.tf

+6
Original file line numberDiff line numberDiff line change
@@ -672,6 +672,12 @@ variable "gcs_fuse_csi_driver" {
672672
default = false
673673
}
674674

675+
variable "stateful_ha" {
676+
type = bool
677+
description = "Whether the Stateful HA Addon is enabled for this cluster."
678+
default = false
679+
}
680+
675681
variable "timeouts" {
676682
type = map(string)
677683
description = "Timeout for cluster operations."

Diff for: modules/private-cluster/README.md

+1
Original file line numberDiff line numberDiff line change
@@ -239,6 +239,7 @@ Then perform the following commands on the root folder:
239239
| shadow\_firewall\_rules\_log\_config | The log\_config for shadow firewall rules. You can set this variable to `null` to disable logging. | <pre>object({<br> metadata = string<br> })</pre> | <pre>{<br> "metadata": "INCLUDE_ALL_METADATA"<br>}</pre> | no |
240240
| shadow\_firewall\_rules\_priority | The firewall priority of GKE shadow firewall rules. The priority should be less than default firewall, which is 1000. | `number` | `999` | no |
241241
| stack\_type | The stack type to use for this cluster. Either `IPV4` or `IPV4_IPV6`. Defaults to `IPV4`. | `string` | `"IPV4"` | no |
242+
| stateful\_ha | Whether the Stateful HA Addon is enabled for this cluster. | `bool` | `false` | no |
242243
| stub\_domains | Map of stub domains and their resolvers to forward DNS queries for a certain domain to an external DNS server | `map(list(string))` | `{}` | no |
243244
| subnetwork | The subnetwork to host the cluster in (required) | `string` | n/a | yes |
244245
| timeouts | Timeout for cluster operations. | `map(string)` | `{}` | no |

0 commit comments

Comments
 (0)