From 8c5f3f36a9161fcd41b02cf2a170abc2b6df3e0d Mon Sep 17 00:00:00 2001 From: Simone Ruffilli Date: Sat, 20 Aug 2022 17:01:26 +0200 Subject: [PATCH 1/6] Adds a default instance_termination_action to compute-vm spot instances and templates --- modules/compute-vm/main.tf | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/modules/compute-vm/main.tf b/modules/compute-vm/main.tf index a8f2bb4574..769d0ce5f7 100644 --- a/modules/compute-vm/main.tf +++ b/modules/compute-vm/main.tf @@ -212,10 +212,11 @@ resource "google_compute_instance" "default" { } scheduling { - automatic_restart = !var.options.spot - on_host_maintenance = local.on_host_maintenance - preemptible = var.options.spot - provisioning_model = var.options.spot ? "SPOT" : "STANDARD" + automatic_restart = !var.options.spot + on_host_maintenance = local.on_host_maintenance + preemptible = var.options.spot + provisioning_model = var.options.spot ? "SPOT" : "STANDARD" + instance_termination_action = var.options.spot ? "STOP" : null } dynamic "scratch_disk" { @@ -339,10 +340,11 @@ resource "google_compute_instance_template" "default" { } scheduling { - automatic_restart = !var.options.spot - on_host_maintenance = local.on_host_maintenance - preemptible = var.options.spot - provisioning_model = var.options.spot ? "SPOT" : "STANDARD" + automatic_restart = !var.options.spot + on_host_maintenance = local.on_host_maintenance + preemptible = var.options.spot + provisioning_model = var.options.spot ? "SPOT" : "STANDARD" + instance_termination_action = var.options.spot ? "STOP" : null } service_account { From 75d2d69012f52d4f20c72209b8e741153bee03db Mon Sep 17 00:00:00 2001 From: Simone Ruffilli Date: Sat, 20 Aug 2022 17:42:03 +0200 Subject: [PATCH 2/6] Bumped providers version --- default-versions.tf | 4 ++-- examples/cloud-operations/adfs/versions.tf | 4 ++-- .../asset-inventory-feed-remediation/versions.tf | 4 ++-- examples/cloud-operations/dns-fine-grained-iam/versions.tf | 4 ++-- examples/cloud-operations/dns-shared-vpc/versions.tf | 4 ++-- .../cloud-operations/iam-delegated-role-grants/versions.tf | 4 ++-- .../cloud-operations/onprem-sa-key-management/versions.tf | 4 ++-- examples/cloud-operations/packer-image-builder/versions.tf | 4 ++-- examples/cloud-operations/quota-monitoring/versions.tf | 4 ++-- .../scheduled-asset-inventory-export-bq/versions.tf | 4 ++-- examples/data-solutions/cmek-via-centralized-kms/versions.tf | 4 ++-- examples/data-solutions/data-playground/versions.tf | 4 ++-- .../gcs-to-bq-with-least-privileges/versions.tf | 4 ++-- examples/factories/net-vpc-firewall-yaml/versions.tf | 4 ++-- examples/foundations/business-units/versions.tf | 4 ++-- examples/foundations/environments/versions.tf | 4 ++-- examples/networking/decentralized-firewall/versions.tf | 4 ++-- examples/networking/filtering-proxy/versions.tf | 4 ++-- examples/networking/hub-and-spoke-peering/versions.tf | 4 ++-- examples/networking/hub-and-spoke-vpn/versions.tf | 4 ++-- examples/networking/ilb-next-hop/versions.tf | 4 ++-- examples/networking/onprem-google-access-dns/versions.tf | 4 ++-- .../networking/private-cloud-function-from-onprem/versions.tf | 4 ++-- examples/networking/shared-vpc-gke/versions.tf | 4 ++-- examples/third-party-solutions/openshift/tf/versions.tf | 4 ++-- fast/stages/00-cicd/versions.tf | 4 ++-- modules/__experimental/net-neg/versions.tf | 4 ++-- modules/api-gateway/versions.tf | 4 ++-- modules/apigee-organization/versions.tf | 4 ++-- modules/apigee-x-instance/versions.tf | 4 ++-- modules/artifact-registry/versions.tf | 4 ++-- modules/bigquery-dataset/versions.tf | 4 ++-- modules/bigtable-instance/versions.tf | 4 ++-- modules/billing-budget/versions.tf | 4 ++-- modules/binauthz/versions.tf | 4 ++-- modules/cloud-config-container/coredns/versions.tf | 4 ++-- .../cloud-config-container/cos-generic-metadata/versions.tf | 4 ++-- .../cloud-config-container/envoy-traffic-director/versions.tf | 4 ++-- modules/cloud-config-container/mysql/versions.tf | 4 ++-- modules/cloud-config-container/nginx/versions.tf | 4 ++-- modules/cloud-config-container/onprem/versions.tf | 4 ++-- modules/cloud-config-container/squid/versions.tf | 4 ++-- modules/cloud-function/versions.tf | 4 ++-- modules/cloud-identity-group/versions.tf | 4 ++-- modules/cloud-run/versions.tf | 4 ++-- modules/cloudsql-instance/versions.tf | 4 ++-- modules/compute-mig/versions.tf | 4 ++-- modules/compute-vm/versions.tf | 4 ++-- modules/container-registry/versions.tf | 4 ++-- modules/data-catalog-policy-tag/versions.tf | 4 ++-- modules/datafusion/versions.tf | 4 ++-- modules/dns/versions.tf | 4 ++-- modules/endpoints/versions.tf | 4 ++-- modules/folder/versions.tf | 4 ++-- modules/folders-unit/versions.tf | 4 ++-- modules/gcs/versions.tf | 4 ++-- modules/gke-cluster/versions.tf | 4 ++-- modules/gke-hub/versions.tf | 4 ++-- modules/gke-nodepool/versions.tf | 4 ++-- modules/iam-service-account/versions.tf | 4 ++-- modules/kms/versions.tf | 4 ++-- modules/logging-bucket/versions.tf | 4 ++-- modules/naming-convention/versions.tf | 4 ++-- modules/net-address/versions.tf | 4 ++-- modules/net-cloudnat/versions.tf | 4 ++-- modules/net-glb/versions.tf | 4 ++-- modules/net-ilb-l7/versions.tf | 4 ++-- modules/net-ilb/versions.tf | 4 ++-- modules/net-interconnect-attachment-direct/versions.tf | 4 ++-- modules/net-vpc-firewall/versions.tf | 4 ++-- modules/net-vpc-peering/versions.tf | 4 ++-- modules/net-vpc/versions.tf | 4 ++-- modules/net-vpn-dynamic/versions.tf | 4 ++-- modules/net-vpn-ha/versions.tf | 4 ++-- modules/net-vpn-static/versions.tf | 4 ++-- modules/organization-policy/versions.tf | 4 ++-- modules/organization/versions.tf | 4 ++-- modules/project/versions.tf | 4 ++-- modules/projects-data-source/versions.tf | 4 ++-- modules/pubsub/versions.tf | 4 ++-- modules/secret-manager/versions.tf | 4 ++-- modules/service-directory/versions.tf | 4 ++-- modules/source-repository/versions.tf | 4 ++-- modules/vpc-sc/versions.tf | 4 ++-- 84 files changed, 168 insertions(+), 168 deletions(-) diff --git a/default-versions.tf b/default-versions.tf index d271fb72d2..4278054b12 100644 --- a/default-versions.tf +++ b/default-versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/examples/cloud-operations/adfs/versions.tf b/examples/cloud-operations/adfs/versions.tf index d271fb72d2..4278054b12 100644 --- a/examples/cloud-operations/adfs/versions.tf +++ b/examples/cloud-operations/adfs/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/examples/cloud-operations/asset-inventory-feed-remediation/versions.tf b/examples/cloud-operations/asset-inventory-feed-remediation/versions.tf index d271fb72d2..4278054b12 100644 --- a/examples/cloud-operations/asset-inventory-feed-remediation/versions.tf +++ b/examples/cloud-operations/asset-inventory-feed-remediation/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/examples/cloud-operations/dns-fine-grained-iam/versions.tf b/examples/cloud-operations/dns-fine-grained-iam/versions.tf index d271fb72d2..4278054b12 100644 --- a/examples/cloud-operations/dns-fine-grained-iam/versions.tf +++ b/examples/cloud-operations/dns-fine-grained-iam/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/examples/cloud-operations/dns-shared-vpc/versions.tf b/examples/cloud-operations/dns-shared-vpc/versions.tf index d271fb72d2..4278054b12 100644 --- a/examples/cloud-operations/dns-shared-vpc/versions.tf +++ b/examples/cloud-operations/dns-shared-vpc/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/examples/cloud-operations/iam-delegated-role-grants/versions.tf b/examples/cloud-operations/iam-delegated-role-grants/versions.tf index d271fb72d2..4278054b12 100644 --- a/examples/cloud-operations/iam-delegated-role-grants/versions.tf +++ b/examples/cloud-operations/iam-delegated-role-grants/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/examples/cloud-operations/onprem-sa-key-management/versions.tf b/examples/cloud-operations/onprem-sa-key-management/versions.tf index d271fb72d2..4278054b12 100644 --- a/examples/cloud-operations/onprem-sa-key-management/versions.tf +++ b/examples/cloud-operations/onprem-sa-key-management/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/examples/cloud-operations/packer-image-builder/versions.tf b/examples/cloud-operations/packer-image-builder/versions.tf index d271fb72d2..4278054b12 100644 --- a/examples/cloud-operations/packer-image-builder/versions.tf +++ b/examples/cloud-operations/packer-image-builder/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/examples/cloud-operations/quota-monitoring/versions.tf b/examples/cloud-operations/quota-monitoring/versions.tf index d271fb72d2..4278054b12 100644 --- a/examples/cloud-operations/quota-monitoring/versions.tf +++ b/examples/cloud-operations/quota-monitoring/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/examples/cloud-operations/scheduled-asset-inventory-export-bq/versions.tf b/examples/cloud-operations/scheduled-asset-inventory-export-bq/versions.tf index d271fb72d2..4278054b12 100644 --- a/examples/cloud-operations/scheduled-asset-inventory-export-bq/versions.tf +++ b/examples/cloud-operations/scheduled-asset-inventory-export-bq/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/examples/data-solutions/cmek-via-centralized-kms/versions.tf b/examples/data-solutions/cmek-via-centralized-kms/versions.tf index d271fb72d2..4278054b12 100644 --- a/examples/data-solutions/cmek-via-centralized-kms/versions.tf +++ b/examples/data-solutions/cmek-via-centralized-kms/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/examples/data-solutions/data-playground/versions.tf b/examples/data-solutions/data-playground/versions.tf index d271fb72d2..4278054b12 100644 --- a/examples/data-solutions/data-playground/versions.tf +++ b/examples/data-solutions/data-playground/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/examples/data-solutions/gcs-to-bq-with-least-privileges/versions.tf b/examples/data-solutions/gcs-to-bq-with-least-privileges/versions.tf index d271fb72d2..4278054b12 100644 --- a/examples/data-solutions/gcs-to-bq-with-least-privileges/versions.tf +++ b/examples/data-solutions/gcs-to-bq-with-least-privileges/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/examples/factories/net-vpc-firewall-yaml/versions.tf b/examples/factories/net-vpc-firewall-yaml/versions.tf index d271fb72d2..4278054b12 100644 --- a/examples/factories/net-vpc-firewall-yaml/versions.tf +++ b/examples/factories/net-vpc-firewall-yaml/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/examples/foundations/business-units/versions.tf b/examples/foundations/business-units/versions.tf index d271fb72d2..4278054b12 100644 --- a/examples/foundations/business-units/versions.tf +++ b/examples/foundations/business-units/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/examples/foundations/environments/versions.tf b/examples/foundations/environments/versions.tf index d271fb72d2..4278054b12 100644 --- a/examples/foundations/environments/versions.tf +++ b/examples/foundations/environments/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/examples/networking/decentralized-firewall/versions.tf b/examples/networking/decentralized-firewall/versions.tf index d271fb72d2..4278054b12 100644 --- a/examples/networking/decentralized-firewall/versions.tf +++ b/examples/networking/decentralized-firewall/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/examples/networking/filtering-proxy/versions.tf b/examples/networking/filtering-proxy/versions.tf index d271fb72d2..4278054b12 100644 --- a/examples/networking/filtering-proxy/versions.tf +++ b/examples/networking/filtering-proxy/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/examples/networking/hub-and-spoke-peering/versions.tf b/examples/networking/hub-and-spoke-peering/versions.tf index d271fb72d2..4278054b12 100644 --- a/examples/networking/hub-and-spoke-peering/versions.tf +++ b/examples/networking/hub-and-spoke-peering/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/examples/networking/hub-and-spoke-vpn/versions.tf b/examples/networking/hub-and-spoke-vpn/versions.tf index d271fb72d2..4278054b12 100644 --- a/examples/networking/hub-and-spoke-vpn/versions.tf +++ b/examples/networking/hub-and-spoke-vpn/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/examples/networking/ilb-next-hop/versions.tf b/examples/networking/ilb-next-hop/versions.tf index d271fb72d2..4278054b12 100644 --- a/examples/networking/ilb-next-hop/versions.tf +++ b/examples/networking/ilb-next-hop/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/examples/networking/onprem-google-access-dns/versions.tf b/examples/networking/onprem-google-access-dns/versions.tf index d271fb72d2..4278054b12 100644 --- a/examples/networking/onprem-google-access-dns/versions.tf +++ b/examples/networking/onprem-google-access-dns/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/examples/networking/private-cloud-function-from-onprem/versions.tf b/examples/networking/private-cloud-function-from-onprem/versions.tf index d271fb72d2..4278054b12 100644 --- a/examples/networking/private-cloud-function-from-onprem/versions.tf +++ b/examples/networking/private-cloud-function-from-onprem/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/examples/networking/shared-vpc-gke/versions.tf b/examples/networking/shared-vpc-gke/versions.tf index d271fb72d2..4278054b12 100644 --- a/examples/networking/shared-vpc-gke/versions.tf +++ b/examples/networking/shared-vpc-gke/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/examples/third-party-solutions/openshift/tf/versions.tf b/examples/third-party-solutions/openshift/tf/versions.tf index d271fb72d2..4278054b12 100644 --- a/examples/third-party-solutions/openshift/tf/versions.tf +++ b/examples/third-party-solutions/openshift/tf/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/fast/stages/00-cicd/versions.tf b/fast/stages/00-cicd/versions.tf index d271fb72d2..4278054b12 100644 --- a/fast/stages/00-cicd/versions.tf +++ b/fast/stages/00-cicd/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/modules/__experimental/net-neg/versions.tf b/modules/__experimental/net-neg/versions.tf index d271fb72d2..4278054b12 100644 --- a/modules/__experimental/net-neg/versions.tf +++ b/modules/__experimental/net-neg/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/modules/api-gateway/versions.tf b/modules/api-gateway/versions.tf index d271fb72d2..4278054b12 100644 --- a/modules/api-gateway/versions.tf +++ b/modules/api-gateway/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/modules/apigee-organization/versions.tf b/modules/apigee-organization/versions.tf index d271fb72d2..4278054b12 100644 --- a/modules/apigee-organization/versions.tf +++ b/modules/apigee-organization/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/modules/apigee-x-instance/versions.tf b/modules/apigee-x-instance/versions.tf index d271fb72d2..4278054b12 100644 --- a/modules/apigee-x-instance/versions.tf +++ b/modules/apigee-x-instance/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/modules/artifact-registry/versions.tf b/modules/artifact-registry/versions.tf index d271fb72d2..4278054b12 100644 --- a/modules/artifact-registry/versions.tf +++ b/modules/artifact-registry/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/modules/bigquery-dataset/versions.tf b/modules/bigquery-dataset/versions.tf index d271fb72d2..4278054b12 100644 --- a/modules/bigquery-dataset/versions.tf +++ b/modules/bigquery-dataset/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/modules/bigtable-instance/versions.tf b/modules/bigtable-instance/versions.tf index d271fb72d2..4278054b12 100644 --- a/modules/bigtable-instance/versions.tf +++ b/modules/bigtable-instance/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/modules/billing-budget/versions.tf b/modules/billing-budget/versions.tf index d271fb72d2..4278054b12 100644 --- a/modules/billing-budget/versions.tf +++ b/modules/billing-budget/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/modules/binauthz/versions.tf b/modules/binauthz/versions.tf index d271fb72d2..4278054b12 100644 --- a/modules/binauthz/versions.tf +++ b/modules/binauthz/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/modules/cloud-config-container/coredns/versions.tf b/modules/cloud-config-container/coredns/versions.tf index d271fb72d2..4278054b12 100644 --- a/modules/cloud-config-container/coredns/versions.tf +++ b/modules/cloud-config-container/coredns/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/modules/cloud-config-container/cos-generic-metadata/versions.tf b/modules/cloud-config-container/cos-generic-metadata/versions.tf index d271fb72d2..4278054b12 100644 --- a/modules/cloud-config-container/cos-generic-metadata/versions.tf +++ b/modules/cloud-config-container/cos-generic-metadata/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/modules/cloud-config-container/envoy-traffic-director/versions.tf b/modules/cloud-config-container/envoy-traffic-director/versions.tf index d271fb72d2..4278054b12 100644 --- a/modules/cloud-config-container/envoy-traffic-director/versions.tf +++ b/modules/cloud-config-container/envoy-traffic-director/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/modules/cloud-config-container/mysql/versions.tf b/modules/cloud-config-container/mysql/versions.tf index d271fb72d2..4278054b12 100644 --- a/modules/cloud-config-container/mysql/versions.tf +++ b/modules/cloud-config-container/mysql/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/modules/cloud-config-container/nginx/versions.tf b/modules/cloud-config-container/nginx/versions.tf index d271fb72d2..4278054b12 100644 --- a/modules/cloud-config-container/nginx/versions.tf +++ b/modules/cloud-config-container/nginx/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/modules/cloud-config-container/onprem/versions.tf b/modules/cloud-config-container/onprem/versions.tf index d271fb72d2..4278054b12 100644 --- a/modules/cloud-config-container/onprem/versions.tf +++ b/modules/cloud-config-container/onprem/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/modules/cloud-config-container/squid/versions.tf b/modules/cloud-config-container/squid/versions.tf index d271fb72d2..4278054b12 100644 --- a/modules/cloud-config-container/squid/versions.tf +++ b/modules/cloud-config-container/squid/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/modules/cloud-function/versions.tf b/modules/cloud-function/versions.tf index d271fb72d2..4278054b12 100644 --- a/modules/cloud-function/versions.tf +++ b/modules/cloud-function/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/modules/cloud-identity-group/versions.tf b/modules/cloud-identity-group/versions.tf index d271fb72d2..4278054b12 100644 --- a/modules/cloud-identity-group/versions.tf +++ b/modules/cloud-identity-group/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/modules/cloud-run/versions.tf b/modules/cloud-run/versions.tf index d271fb72d2..4278054b12 100644 --- a/modules/cloud-run/versions.tf +++ b/modules/cloud-run/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/modules/cloudsql-instance/versions.tf b/modules/cloudsql-instance/versions.tf index d271fb72d2..4278054b12 100644 --- a/modules/cloudsql-instance/versions.tf +++ b/modules/cloudsql-instance/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/modules/compute-mig/versions.tf b/modules/compute-mig/versions.tf index d271fb72d2..4278054b12 100644 --- a/modules/compute-mig/versions.tf +++ b/modules/compute-mig/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/modules/compute-vm/versions.tf b/modules/compute-vm/versions.tf index d271fb72d2..4278054b12 100644 --- a/modules/compute-vm/versions.tf +++ b/modules/compute-vm/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/modules/container-registry/versions.tf b/modules/container-registry/versions.tf index d271fb72d2..4278054b12 100644 --- a/modules/container-registry/versions.tf +++ b/modules/container-registry/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/modules/data-catalog-policy-tag/versions.tf b/modules/data-catalog-policy-tag/versions.tf index d271fb72d2..4278054b12 100644 --- a/modules/data-catalog-policy-tag/versions.tf +++ b/modules/data-catalog-policy-tag/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/modules/datafusion/versions.tf b/modules/datafusion/versions.tf index d271fb72d2..4278054b12 100644 --- a/modules/datafusion/versions.tf +++ b/modules/datafusion/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/modules/dns/versions.tf b/modules/dns/versions.tf index d271fb72d2..4278054b12 100644 --- a/modules/dns/versions.tf +++ b/modules/dns/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/modules/endpoints/versions.tf b/modules/endpoints/versions.tf index d271fb72d2..4278054b12 100644 --- a/modules/endpoints/versions.tf +++ b/modules/endpoints/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/modules/folder/versions.tf b/modules/folder/versions.tf index d271fb72d2..4278054b12 100644 --- a/modules/folder/versions.tf +++ b/modules/folder/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/modules/folders-unit/versions.tf b/modules/folders-unit/versions.tf index d271fb72d2..4278054b12 100644 --- a/modules/folders-unit/versions.tf +++ b/modules/folders-unit/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/modules/gcs/versions.tf b/modules/gcs/versions.tf index d271fb72d2..4278054b12 100644 --- a/modules/gcs/versions.tf +++ b/modules/gcs/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/modules/gke-cluster/versions.tf b/modules/gke-cluster/versions.tf index d271fb72d2..4278054b12 100644 --- a/modules/gke-cluster/versions.tf +++ b/modules/gke-cluster/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/modules/gke-hub/versions.tf b/modules/gke-hub/versions.tf index d271fb72d2..4278054b12 100644 --- a/modules/gke-hub/versions.tf +++ b/modules/gke-hub/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/modules/gke-nodepool/versions.tf b/modules/gke-nodepool/versions.tf index d271fb72d2..4278054b12 100644 --- a/modules/gke-nodepool/versions.tf +++ b/modules/gke-nodepool/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/modules/iam-service-account/versions.tf b/modules/iam-service-account/versions.tf index d271fb72d2..4278054b12 100644 --- a/modules/iam-service-account/versions.tf +++ b/modules/iam-service-account/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/modules/kms/versions.tf b/modules/kms/versions.tf index d271fb72d2..4278054b12 100644 --- a/modules/kms/versions.tf +++ b/modules/kms/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/modules/logging-bucket/versions.tf b/modules/logging-bucket/versions.tf index d271fb72d2..4278054b12 100644 --- a/modules/logging-bucket/versions.tf +++ b/modules/logging-bucket/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/modules/naming-convention/versions.tf b/modules/naming-convention/versions.tf index d271fb72d2..4278054b12 100644 --- a/modules/naming-convention/versions.tf +++ b/modules/naming-convention/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/modules/net-address/versions.tf b/modules/net-address/versions.tf index d271fb72d2..4278054b12 100644 --- a/modules/net-address/versions.tf +++ b/modules/net-address/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/modules/net-cloudnat/versions.tf b/modules/net-cloudnat/versions.tf index d271fb72d2..4278054b12 100644 --- a/modules/net-cloudnat/versions.tf +++ b/modules/net-cloudnat/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/modules/net-glb/versions.tf b/modules/net-glb/versions.tf index d271fb72d2..4278054b12 100644 --- a/modules/net-glb/versions.tf +++ b/modules/net-glb/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/modules/net-ilb-l7/versions.tf b/modules/net-ilb-l7/versions.tf index d271fb72d2..4278054b12 100644 --- a/modules/net-ilb-l7/versions.tf +++ b/modules/net-ilb-l7/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/modules/net-ilb/versions.tf b/modules/net-ilb/versions.tf index d271fb72d2..4278054b12 100644 --- a/modules/net-ilb/versions.tf +++ b/modules/net-ilb/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/modules/net-interconnect-attachment-direct/versions.tf b/modules/net-interconnect-attachment-direct/versions.tf index d271fb72d2..4278054b12 100644 --- a/modules/net-interconnect-attachment-direct/versions.tf +++ b/modules/net-interconnect-attachment-direct/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/modules/net-vpc-firewall/versions.tf b/modules/net-vpc-firewall/versions.tf index d271fb72d2..4278054b12 100644 --- a/modules/net-vpc-firewall/versions.tf +++ b/modules/net-vpc-firewall/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/modules/net-vpc-peering/versions.tf b/modules/net-vpc-peering/versions.tf index d271fb72d2..4278054b12 100644 --- a/modules/net-vpc-peering/versions.tf +++ b/modules/net-vpc-peering/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/modules/net-vpc/versions.tf b/modules/net-vpc/versions.tf index d271fb72d2..4278054b12 100644 --- a/modules/net-vpc/versions.tf +++ b/modules/net-vpc/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/modules/net-vpn-dynamic/versions.tf b/modules/net-vpn-dynamic/versions.tf index d271fb72d2..4278054b12 100644 --- a/modules/net-vpn-dynamic/versions.tf +++ b/modules/net-vpn-dynamic/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/modules/net-vpn-ha/versions.tf b/modules/net-vpn-ha/versions.tf index d271fb72d2..4278054b12 100644 --- a/modules/net-vpn-ha/versions.tf +++ b/modules/net-vpn-ha/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/modules/net-vpn-static/versions.tf b/modules/net-vpn-static/versions.tf index d271fb72d2..4278054b12 100644 --- a/modules/net-vpn-static/versions.tf +++ b/modules/net-vpn-static/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/modules/organization-policy/versions.tf b/modules/organization-policy/versions.tf index d271fb72d2..4278054b12 100644 --- a/modules/organization-policy/versions.tf +++ b/modules/organization-policy/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/modules/organization/versions.tf b/modules/organization/versions.tf index d271fb72d2..4278054b12 100644 --- a/modules/organization/versions.tf +++ b/modules/organization/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/modules/project/versions.tf b/modules/project/versions.tf index d271fb72d2..4278054b12 100644 --- a/modules/project/versions.tf +++ b/modules/project/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/modules/projects-data-source/versions.tf b/modules/projects-data-source/versions.tf index d271fb72d2..4278054b12 100644 --- a/modules/projects-data-source/versions.tf +++ b/modules/projects-data-source/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/modules/pubsub/versions.tf b/modules/pubsub/versions.tf index d271fb72d2..4278054b12 100644 --- a/modules/pubsub/versions.tf +++ b/modules/pubsub/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/modules/secret-manager/versions.tf b/modules/secret-manager/versions.tf index d271fb72d2..4278054b12 100644 --- a/modules/secret-manager/versions.tf +++ b/modules/secret-manager/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/modules/service-directory/versions.tf b/modules/service-directory/versions.tf index d271fb72d2..4278054b12 100644 --- a/modules/service-directory/versions.tf +++ b/modules/service-directory/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/modules/source-repository/versions.tf b/modules/source-repository/versions.tf index d271fb72d2..4278054b12 100644 --- a/modules/source-repository/versions.tf +++ b/modules/source-repository/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } diff --git a/modules/vpc-sc/versions.tf b/modules/vpc-sc/versions.tf index d271fb72d2..4278054b12 100644 --- a/modules/vpc-sc/versions.tf +++ b/modules/vpc-sc/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.25.0" # tftest + version = ">= 4.32.0" # tftest } } } From de207686a442bab3737a8f66898f64aa73acca21 Mon Sep 17 00:00:00 2001 From: Simone Ruffilli Date: Sat, 20 Aug 2022 18:13:47 +0200 Subject: [PATCH 3/6] Adds ability to control instance_termination_action for SpotVMs --- CHANGELOG.md | 8 +++---- fast/stages/02-networking-nva/nva.tf | 7 ++++--- .../02-networking-nva/test-resources.tf | 8 +++++++ .../02-networking-peering/test-resources.tf | 3 +++ .../02-networking-vpn/test-resources.tf | 3 +++ modules/compute-vm/README.md | 21 ++++++++++--------- modules/compute-vm/main.tf | 18 ++++++++-------- modules/compute-vm/variables.tf | 20 ++++++++++++------ 8 files changed, 55 insertions(+), 33 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 19c9eb2295..bf99d183cc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,10 +5,9 @@ All notable changes to this project will be documented in this file. ## [Unreleased] - - [[#774](https://github.com/GoogleCloudPlatform/cloud-foundation-fabric/pull/774)] FAST: fix data-platform-dev folder in stage 03-data-platform ([sttomm](https://github.com/sttomm)) -### FAST +### FAST - [[#770](https://github.com/GoogleCloudPlatform/cloud-foundation-fabric/pull/770)] FAST: fix to move without `output_location` ([daisuky-jp](https://github.com/daisuky-jp)) - [[#767](https://github.com/GoogleCloudPlatform/cloud-foundation-fabric/pull/767)] Allow interpolating SAs in project factory subnet IAM bindings ([ludoo](https://github.com/ludoo)) @@ -56,6 +55,7 @@ All notable changes to this project will be documented in this file. ### MODULES +- [[#778]](https://github.com/GoogleCloudPlatform/cloud-foundation-fabric/pull/778) **incompatible change** Add support for instance_termination_action to `compute-vm` - [[#727](https://github.com/GoogleCloudPlatform/cloud-foundation-fabric/pull/727)] Fix `ip_range` variable description in `apigee-x-instance` module ([alexlo03](https://github.com/alexlo03)) - [[#773](https://github.com/GoogleCloudPlatform/cloud-foundation-fabric/pull/773)] **incompatible change:** Refactor Cloud Run module ([ludoo](https://github.com/ludoo)) - [[#754](https://github.com/GoogleCloudPlatform/cloud-foundation-fabric/pull/754)] Add support to a public access to cloudsql-instance ([alefmreis](https://github.com/alefmreis)) @@ -94,7 +94,6 @@ All notable changes to this project will be documented in this file. - [[#680](https://github.com/GoogleCloudPlatform/cloud-foundation-fabric/pull/680)] Tools: fix `ValueError` raised in `check_names.py` when overlong names are detected ([27Bslash6](https://github.com/27Bslash6)) - [[#672](https://github.com/GoogleCloudPlatform/cloud-foundation-fabric/pull/672)] Module attribution and version updater tool, plus release automation ([rosmo](https://github.com/rosmo)) - ## [16.0.0] - 2022-06-06 - add support for [Spot VMs](https://cloud.google.com/compute/docs/instances/spot) to `gke-nodepool` module @@ -586,7 +585,6 @@ All notable changes to this project will be documented in this file. - merge development branch with suite of new modules and end-to-end examples - [Unreleased]: https://github.com/GoogleCloudPlatform/cloud-foundation-fabric/compare/v16.0.0...HEAD [16.0.0]: https://github.com/GoogleCloudPlatform/cloud-foundation-fabric/compare/v15.0.0...v16.0.0 @@ -651,4 +649,4 @@ All notable changes to this project will be documented in this file. [1.3.0]: https://github.com/GoogleCloudPlatform/cloud-foundation-fabric/compare/v1.2.0...v1.3.0 [1.2.0]: https://github.com/GoogleCloudPlatform/cloud-foundation-fabric/compare/v1.1.0...v1.2.0 [1.1.0]: https://github.com/GoogleCloudPlatform/cloud-foundation-fabric/compare/v1.0.0...v1.1.0 -[1.0.0]: https://github.com/GoogleCloudPlatform/cloud-foundation-fabric/compare/v0.1...v1.0.0 \ No newline at end of file +[1.0.0]: https://github.com/GoogleCloudPlatform/cloud-foundation-fabric/compare/v0.1...v1.0.0 diff --git a/fast/stages/02-networking-nva/nva.tf b/fast/stages/02-networking-nva/nva.tf index ed882a2527..a8a50cbd5f 100644 --- a/fast/stages/02-networking-nva/nva.tf +++ b/fast/stages/02-networking-nva/nva.tf @@ -56,9 +56,10 @@ module "nva-template-ew1" { create_template = true instance_type = "f1-micro" options = { - allow_stopping_for_update = true - deletion_protection = false - spot = true + allow_stopping_for_update = true + deletion_protection = false + spot = true + spot_instance_termination_action = "STOP" } metadata = { startup-script = templatefile( diff --git a/fast/stages/02-networking-nva/test-resources.tf b/fast/stages/02-networking-nva/test-resources.tf index e7801dfe1e..efc40aef03 100644 --- a/fast/stages/02-networking-nva/test-resources.tf +++ b/fast/stages/02-networking-nva/test-resources.tf @@ -41,6 +41,7 @@ # allow_stopping_for_update = true # deletion_protection = false # spot = true +# spot_instance_termination_action = "STOP" # } # metadata = { # startup-script = <string | ✓ | | | [network_interfaces](variables.tf#L174) | Network interfaces configuration. Use self links for Shared VPC, set addresses to null if not needed. | list(object({…})) | ✓ | | -| [project_id](variables.tf#L201) | Project id. | string | ✓ | | -| [zone](variables.tf#L260) | Compute zone. | string | ✓ | | +| [project_id](variables.tf#L209) | Project id. | string | ✓ | | +| [zone](variables.tf#L268) | Compute zone. | string | ✓ | | | [attached_disk_defaults](variables.tf#L17) | Defaults for attached disks options. | object({…}) | | {…} | | [attached_disks](variables.tf#L32) | Additional disks, if options is null defaults will be used in its place. Source type is one of 'image' (zonal disks in vms and template), 'snapshot' (vm), 'existing', and null. | list(object({…})) | | [] | | [boot_disk](variables.tf#L58) | Boot disk properties. | object({…}) | | {…} | @@ -347,14 +348,14 @@ module "instance-group" { | [metadata](variables.tf#L148) | Instance metadata. | map(string) | | {} | | [min_cpu_platform](variables.tf#L154) | Minimum CPU platform. | string | | null | | [network_interface_options](variables.tf#L165) | Network interfaces extended options. The key is the index of the inteface to configure. The value is an object with alias_ips and nic_type. Set alias_ips or nic_type to null if you need only one of them. | map(object({…})) | | {} | -| [options](variables.tf#L187) | Instance options. | object({…}) | | {…} | -| [scratch_disks](variables.tf#L206) | Scratch disks configuration. | object({…}) | | {…} | -| [service_account](variables.tf#L218) | Service account email. Unused if service account is auto-created. | string | | null | -| [service_account_create](variables.tf#L224) | Auto-create service account. | bool | | false | -| [service_account_scopes](variables.tf#L232) | Scopes applied to service account. | list(string) | | [] | -| [shielded_config](variables.tf#L238) | Shielded VM configuration of the instances. | object({…}) | | null | -| [tag_bindings](variables.tf#L248) | Tag bindings for this instance, in key => tag value id format. | map(string) | | null | -| [tags](variables.tf#L254) | Instance network tags for firewall rule targets. | list(string) | | [] | +| [options](variables.tf#L187) | Instance options. | object({…}) | | {…} | +| [scratch_disks](variables.tf#L214) | Scratch disks configuration. | object({…}) | | {…} | +| [service_account](variables.tf#L226) | Service account email. Unused if service account is auto-created. | string | | null | +| [service_account_create](variables.tf#L232) | Auto-create service account. | bool | | false | +| [service_account_scopes](variables.tf#L240) | Scopes applied to service account. | list(string) | | [] | +| [shielded_config](variables.tf#L246) | Shielded VM configuration of the instances. | object({…}) | | null | +| [tag_bindings](variables.tf#L256) | Tag bindings for this instance, in key => tag value id format. | map(string) | | null | +| [tags](variables.tf#L262) | Instance network tags for firewall rule targets. | list(string) | | [] | ## Outputs diff --git a/modules/compute-vm/main.tf b/modules/compute-vm/main.tf index 769d0ce5f7..0335444479 100644 --- a/modules/compute-vm/main.tf +++ b/modules/compute-vm/main.tf @@ -29,6 +29,12 @@ locals { for k, v in local.attached_disks : k => v if try(v.options.replica_zone, null) == null } + network_interface_options = { + for i, v in var.network_interfaces : i => lookup(var.network_interface_options, i, { + alias_ips = null, + nic_type = null + }) + } on_host_maintenance = ( var.options.spot || var.confidential_compute ? "TERMINATE" @@ -60,13 +66,7 @@ locals { ] ) ) - - network_interface_options = { - for i, v in var.network_interfaces : i => lookup(var.network_interface_options, i, { - alias_ips = null, - nic_type = null - }) - } + spot_instance_termination_action = var.options.spot ? coalesce(var.options.spot_instance_termination_action, "STOP") : null } resource "google_compute_disk" "disks" { @@ -213,10 +213,10 @@ resource "google_compute_instance" "default" { scheduling { automatic_restart = !var.options.spot + instance_termination_action = local.spot_instance_termination_action on_host_maintenance = local.on_host_maintenance preemptible = var.options.spot provisioning_model = var.options.spot ? "SPOT" : "STANDARD" - instance_termination_action = var.options.spot ? "STOP" : null } dynamic "scratch_disk" { @@ -341,10 +341,10 @@ resource "google_compute_instance_template" "default" { scheduling { automatic_restart = !var.options.spot + instance_termination_action = local.spot_instance_termination_action on_host_maintenance = local.on_host_maintenance preemptible = var.options.spot provisioning_model = var.options.spot ? "SPOT" : "STANDARD" - instance_termination_action = var.options.spot ? "STOP" : null } service_account { diff --git a/modules/compute-vm/variables.tf b/modules/compute-vm/variables.tf index a44e3bf72d..ad2f994087 100644 --- a/modules/compute-vm/variables.tf +++ b/modules/compute-vm/variables.tf @@ -187,14 +187,22 @@ variable "network_interfaces" { variable "options" { description = "Instance options." type = object({ - allow_stopping_for_update = bool - deletion_protection = bool - spot = bool + allow_stopping_for_update = bool + deletion_protection = bool + spot = bool + spot_instance_termination_action = string }) default = { - allow_stopping_for_update = true - deletion_protection = false - spot = false + allow_stopping_for_update = true + deletion_protection = false + spot = false + spot_instance_termination_action = null + } + validation { + condition = (var.options.spot_instance_termination_action == null + || + contains(["STOP", "DELETE"], coalesce(var.options.spot_instance_termination_action, "1"))) + error_message = "Allowed values for options.spot_instance_termination_action are 'STOP', 'DELETE' and null" } } From 6ab86bafc0f50b3fdf6776ae76f981fe06bc2c54 Mon Sep 17 00:00:00 2001 From: Simone Ruffilli Date: Sat, 20 Aug 2022 18:17:09 +0200 Subject: [PATCH 4/6] Fixes validation linting issue --- modules/compute-vm/variables.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/compute-vm/variables.tf b/modules/compute-vm/variables.tf index ad2f994087..02a11a1ea7 100644 --- a/modules/compute-vm/variables.tf +++ b/modules/compute-vm/variables.tf @@ -202,7 +202,7 @@ variable "options" { condition = (var.options.spot_instance_termination_action == null || contains(["STOP", "DELETE"], coalesce(var.options.spot_instance_termination_action, "1"))) - error_message = "Allowed values for options.spot_instance_termination_action are 'STOP', 'DELETE' and null" + error_message = "Allowed values for options.spot_instance_termination_action are 'STOP', 'DELETE' and null." } } From 64679e4e72663814ed815e5f5b341aa75faa836d Mon Sep 17 00:00:00 2001 From: Simone Ruffilli Date: Sat, 20 Aug 2022 18:21:05 +0200 Subject: [PATCH 5/6] Renames variable attribute --- fast/stages/02-networking-nva/nva.tf | 8 +++---- .../02-networking-nva/test-resources.tf | 16 +++++++------- .../02-networking-peering/test-resources.tf | 6 ++--- .../02-networking-vpn/test-resources.tf | 6 ++--- modules/compute-vm/README.md | 4 ++-- modules/compute-vm/main.tf | 6 ++--- modules/compute-vm/variables.tf | 22 +++++++++---------- 7 files changed, 34 insertions(+), 34 deletions(-) diff --git a/fast/stages/02-networking-nva/nva.tf b/fast/stages/02-networking-nva/nva.tf index a8a50cbd5f..26d2de1857 100644 --- a/fast/stages/02-networking-nva/nva.tf +++ b/fast/stages/02-networking-nva/nva.tf @@ -56,10 +56,10 @@ module "nva-template-ew1" { create_template = true instance_type = "f1-micro" options = { - allow_stopping_for_update = true - deletion_protection = false - spot = true - spot_instance_termination_action = "STOP" + allow_stopping_for_update = true + deletion_protection = false + spot = true + termination_action = "STOP" } metadata = { startup-script = templatefile( diff --git a/fast/stages/02-networking-nva/test-resources.tf b/fast/stages/02-networking-nva/test-resources.tf index efc40aef03..f36f22b580 100644 --- a/fast/stages/02-networking-nva/test-resources.tf +++ b/fast/stages/02-networking-nva/test-resources.tf @@ -41,7 +41,7 @@ # allow_stopping_for_update = true # deletion_protection = false # spot = true -# spot_instance_termination_action = "STOP" +# termination_action = "STOP" # } # metadata = { # startup-script = <map(string) | | {} | | [min_cpu_platform](variables.tf#L154) | Minimum CPU platform. | string | | null | | [network_interface_options](variables.tf#L165) | Network interfaces extended options. The key is the index of the inteface to configure. The value is an object with alias_ips and nic_type. Set alias_ips or nic_type to null if you need only one of them. | map(object({…})) | | {} | -| [options](variables.tf#L187) | Instance options. | object({…}) | | {…} | +| [options](variables.tf#L187) | Instance options. | object({…}) | | {…} | | [scratch_disks](variables.tf#L214) | Scratch disks configuration. | object({…}) | | {…} | | [service_account](variables.tf#L226) | Service account email. Unused if service account is auto-created. | string | | null | | [service_account_create](variables.tf#L232) | Auto-create service account. | bool | | false | diff --git a/modules/compute-vm/main.tf b/modules/compute-vm/main.tf index 0335444479..8cbd42151c 100644 --- a/modules/compute-vm/main.tf +++ b/modules/compute-vm/main.tf @@ -66,7 +66,7 @@ locals { ] ) ) - spot_instance_termination_action = var.options.spot ? coalesce(var.options.spot_instance_termination_action, "STOP") : null + termination_action = var.options.spot ? coalesce(var.options.termination_action, "STOP") : null } resource "google_compute_disk" "disks" { @@ -213,7 +213,7 @@ resource "google_compute_instance" "default" { scheduling { automatic_restart = !var.options.spot - instance_termination_action = local.spot_instance_termination_action + instance_termination_action = local.termination_action on_host_maintenance = local.on_host_maintenance preemptible = var.options.spot provisioning_model = var.options.spot ? "SPOT" : "STANDARD" @@ -341,7 +341,7 @@ resource "google_compute_instance_template" "default" { scheduling { automatic_restart = !var.options.spot - instance_termination_action = local.spot_instance_termination_action + instance_termination_action = local.termination_action on_host_maintenance = local.on_host_maintenance preemptible = var.options.spot provisioning_model = var.options.spot ? "SPOT" : "STANDARD" diff --git a/modules/compute-vm/variables.tf b/modules/compute-vm/variables.tf index 02a11a1ea7..867194082d 100644 --- a/modules/compute-vm/variables.tf +++ b/modules/compute-vm/variables.tf @@ -187,22 +187,22 @@ variable "network_interfaces" { variable "options" { description = "Instance options." type = object({ - allow_stopping_for_update = bool - deletion_protection = bool - spot = bool - spot_instance_termination_action = string + allow_stopping_for_update = bool + deletion_protection = bool + spot = bool + termination_action = string }) default = { - allow_stopping_for_update = true - deletion_protection = false - spot = false - spot_instance_termination_action = null + allow_stopping_for_update = true + deletion_protection = false + spot = false + termination_action = null } validation { - condition = (var.options.spot_instance_termination_action == null + condition = (var.options.termination_action == null || - contains(["STOP", "DELETE"], coalesce(var.options.spot_instance_termination_action, "1"))) - error_message = "Allowed values for options.spot_instance_termination_action are 'STOP', 'DELETE' and null." + contains(["STOP", "DELETE"], coalesce(var.options.termination_action, "1"))) + error_message = "Allowed values for options.termination_action are 'STOP', 'DELETE' and null." } } From 829eb3c67f43cc8701cea5f659d6ba10b5e77326 Mon Sep 17 00:00:00 2001 From: Simone Ruffilli Date: Sat, 20 Aug 2022 18:24:25 +0200 Subject: [PATCH 6/6] Please the linter gods --- modules/compute-vm/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/compute-vm/README.md b/modules/compute-vm/README.md index 133b8bea3b..93a7e763ee 100644 --- a/modules/compute-vm/README.md +++ b/modules/compute-vm/README.md @@ -348,7 +348,7 @@ module "instance-group" { | [metadata](variables.tf#L148) | Instance metadata. | map(string) | | {} | | [min_cpu_platform](variables.tf#L154) | Minimum CPU platform. | string | | null | | [network_interface_options](variables.tf#L165) | Network interfaces extended options. The key is the index of the inteface to configure. The value is an object with alias_ips and nic_type. Set alias_ips or nic_type to null if you need only one of them. | map(object({…})) | | {} | -| [options](variables.tf#L187) | Instance options. | object({…}) | | {…} | +| [options](variables.tf#L187) | Instance options. | object({…}) | | {…} | | [scratch_disks](variables.tf#L214) | Scratch disks configuration. | object({…}) | | {…} | | [service_account](variables.tf#L226) | Service account email. Unused if service account is auto-created. | string | | null | | [service_account_create](variables.tf#L232) | Auto-create service account. | bool | | false |