diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
index ac445f785..5ad388036 100644
--- a/.github/workflows/tests.yml
+++ b/.github/workflows/tests.yml
@@ -1,4 +1,4 @@
-# Copyright 2024 Google LLC
+# Copyright 2025 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -38,7 +38,7 @@ env:
TFTEST_COPY: 1
DEFAULT_TERRAFORM_FLAVOUR: terraform
DEFAULT_TERRAFORM_VERSION: ${{ inputs.terraform_version || '1.10.2' }}
- DEFAULT_TOFU_VERSION: "1.8.0"
+ DEFAULT_TOFU_VERSION: "1.9.0"
jobs:
compute-matrix:
diff --git a/blueprints/gke/patterns/autopilot-cluster/versions.tofu b/blueprints/gke/patterns/autopilot-cluster/versions.tofu
index 05d0e660b..bb44fa635 100644
--- a/blueprints/gke/patterns/autopilot-cluster/versions.tofu
+++ b/blueprints/gke/patterns/autopilot-cluster/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/blueprints/gke/patterns/batch/versions.tofu b/blueprints/gke/patterns/batch/versions.tofu
index 764ada241..88a3394ce 100644
--- a/blueprints/gke/patterns/batch/versions.tofu
+++ b/blueprints/gke/patterns/batch/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/blueprints/gke/patterns/kafka/versions.tofu b/blueprints/gke/patterns/kafka/versions.tofu
index 762355dfe..4c453de5b 100644
--- a/blueprints/gke/patterns/kafka/versions.tofu
+++ b/blueprints/gke/patterns/kafka/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/blueprints/gke/patterns/kong-cloudrun/versions.tofu b/blueprints/gke/patterns/kong-cloudrun/versions.tofu
index 344e3df1d..35b7c4aac 100644
--- a/blueprints/gke/patterns/kong-cloudrun/versions.tofu
+++ b/blueprints/gke/patterns/kong-cloudrun/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/blueprints/gke/patterns/mysql/versions.tofu b/blueprints/gke/patterns/mysql/versions.tofu
index 8c2fcade2..80265b74d 100644
--- a/blueprints/gke/patterns/mysql/versions.tofu
+++ b/blueprints/gke/patterns/mysql/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/blueprints/gke/patterns/redis-cluster/versions.tofu b/blueprints/gke/patterns/redis-cluster/versions.tofu
index e3339961e..872c44bfa 100644
--- a/blueprints/gke/patterns/redis-cluster/versions.tofu
+++ b/blueprints/gke/patterns/redis-cluster/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/blueprints/secops/secops-gke-forwarder/versions.tofu b/blueprints/secops/secops-gke-forwarder/versions.tofu
index 8341ce086..2a48c0ad7 100644
--- a/blueprints/secops/secops-gke-forwarder/versions.tofu
+++ b/blueprints/secops/secops-gke-forwarder/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/default-versions.tofu b/default-versions.tofu
index d22eabddc..bfa96f835 100644
--- a/default-versions.tofu
+++ b/default-versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/__experimental_deprecated/alloydb-instance/versions.tofu b/modules/__experimental_deprecated/alloydb-instance/versions.tofu
index 765b294b5..971318bfc 100644
--- a/modules/__experimental_deprecated/alloydb-instance/versions.tofu
+++ b/modules/__experimental_deprecated/alloydb-instance/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/__experimental_deprecated/net-neg/versions.tofu b/modules/__experimental_deprecated/net-neg/versions.tofu
index 62857c4de..7b2acdd33 100644
--- a/modules/__experimental_deprecated/net-neg/versions.tofu
+++ b/modules/__experimental_deprecated/net-neg/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/__experimental_deprecated/project-iam-magic/versions.tofu b/modules/__experimental_deprecated/project-iam-magic/versions.tofu
index a3d725a5e..44f2f5e85 100644
--- a/modules/__experimental_deprecated/project-iam-magic/versions.tofu
+++ b/modules/__experimental_deprecated/project-iam-magic/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/alloydb/versions.tofu b/modules/alloydb/versions.tofu
index 1e0762cf5..dfc032969 100644
--- a/modules/alloydb/versions.tofu
+++ b/modules/alloydb/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/analytics-hub/versions.tofu b/modules/analytics-hub/versions.tofu
index 748528085..b5d6f3c81 100644
--- a/modules/analytics-hub/versions.tofu
+++ b/modules/analytics-hub/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/api-gateway/versions.tofu b/modules/api-gateway/versions.tofu
index ad2e56b52..855864de0 100644
--- a/modules/api-gateway/versions.tofu
+++ b/modules/api-gateway/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/apigee/versions.tofu b/modules/apigee/versions.tofu
index f75ad2067..484f8633a 100644
--- a/modules/apigee/versions.tofu
+++ b/modules/apigee/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/artifact-registry/versions.tofu b/modules/artifact-registry/versions.tofu
index 780ed8372..60b30aac2 100644
--- a/modules/artifact-registry/versions.tofu
+++ b/modules/artifact-registry/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/bigquery-dataset/versions.tofu b/modules/bigquery-dataset/versions.tofu
index 53ead030a..da13a5e0f 100644
--- a/modules/bigquery-dataset/versions.tofu
+++ b/modules/bigquery-dataset/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/bigtable-instance/versions.tofu b/modules/bigtable-instance/versions.tofu
index d26f710e4..4d83e69e5 100644
--- a/modules/bigtable-instance/versions.tofu
+++ b/modules/bigtable-instance/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/billing-account/versions.tofu b/modules/billing-account/versions.tofu
index 93297d74c..7d45ed868 100644
--- a/modules/billing-account/versions.tofu
+++ b/modules/billing-account/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/binauthz/versions.tofu b/modules/binauthz/versions.tofu
index 3f1bb3e47..041d42439 100644
--- a/modules/binauthz/versions.tofu
+++ b/modules/binauthz/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/certificate-authority-service/versions.tofu b/modules/certificate-authority-service/versions.tofu
index 3573ee279..7c1b1c0ac 100644
--- a/modules/certificate-authority-service/versions.tofu
+++ b/modules/certificate-authority-service/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/certificate-manager/README.md b/modules/certificate-manager/README.md
index 8d1feb950..1e7c3cf46 100644
--- a/modules/certificate-manager/README.md
+++ b/modules/certificate-manager/README.md
@@ -258,6 +258,7 @@ module "certificate-manager" {
|---|---|:---:|
| [certificate_ids](outputs.tf#L17) | Certificate ids. | |
| [certificates](outputs.tf#L22) | Certificates. | |
-| [map](outputs.tf#L27) | Map. | |
-| [map_id](outputs.tf#L32) | Map id. | |
+| [dns_authorizations](outputs.tf#L27) | DNS authorizations. | |
+| [map](outputs.tf#L32) | Map. | |
+| [map_id](outputs.tf#L37) | Map id. | |
diff --git a/modules/certificate-manager/main.tf b/modules/certificate-manager/main.tf
index 9b1e7a7b9..e82248f9a 100644
--- a/modules/certificate-manager/main.tf
+++ b/modules/certificate-manager/main.tf
@@ -45,9 +45,13 @@ resource "google_certificate_manager_certificate" "certificates" {
dynamic "managed" {
for_each = each.value.managed == null ? [] : [""]
content {
- domains = each.value.managed.domains
- dns_authorizations = each.value.managed.dns_authorizations
- issuance_config = try(google_certificate_manager_certificate_issuance_config.default[each.value.managed.issuance_config].id, null)
+ domains = each.value.managed.domains
+ dns_authorizations = each.value.managed.dns_authorizations != null ? [
+ for v in each.value.managed.dns_authorizations : (
+ google_certificate_manager_dns_authorization.dns_authorizations[v].id
+ )
+ ] : null
+ issuance_config = try(google_certificate_manager_certificate_issuance_config.default[each.value.managed.issuance_config].id, null)
}
}
dynamic "self_managed" {
diff --git a/modules/certificate-manager/outputs.tf b/modules/certificate-manager/outputs.tf
index 43eb9f3fd..1648593be 100644
--- a/modules/certificate-manager/outputs.tf
+++ b/modules/certificate-manager/outputs.tf
@@ -24,6 +24,11 @@ output "certificates" {
value = google_certificate_manager_certificate.certificates
}
+output "dns_authorizations" {
+ description = "DNS authorizations."
+ value = google_certificate_manager_dns_authorization.dns_authorizations
+}
+
output "map" {
description = "Map."
value = var.map == null ? null : google_certificate_manager_certificate_map.map[0]
@@ -33,6 +38,3 @@ output "map_id" {
description = "Map id."
value = var.map == null ? null : google_certificate_manager_certificate_map.map[0].id
}
-
-
-
diff --git a/modules/certificate-manager/versions.tofu b/modules/certificate-manager/versions.tofu
index b73c5f0e1..9766c816d 100644
--- a/modules/certificate-manager/versions.tofu
+++ b/modules/certificate-manager/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/cloud-config-container/__need_fixing/onprem/versions.tofu b/modules/cloud-config-container/__need_fixing/onprem/versions.tofu
index b1f1c4a5e..16d5ca9e5 100644
--- a/modules/cloud-config-container/__need_fixing/onprem/versions.tofu
+++ b/modules/cloud-config-container/__need_fixing/onprem/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/cloud-config-container/__need_fixing/squid/versions.tofu b/modules/cloud-config-container/__need_fixing/squid/versions.tofu
index 69b0e958e..6f5446649 100644
--- a/modules/cloud-config-container/__need_fixing/squid/versions.tofu
+++ b/modules/cloud-config-container/__need_fixing/squid/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/cloud-config-container/bindplane/versions.tofu b/modules/cloud-config-container/bindplane/versions.tofu
index 023567f41..a61623d2b 100644
--- a/modules/cloud-config-container/bindplane/versions.tofu
+++ b/modules/cloud-config-container/bindplane/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/cloud-config-container/coredns/versions.tofu b/modules/cloud-config-container/coredns/versions.tofu
index 6513127c6..9f90efc20 100644
--- a/modules/cloud-config-container/coredns/versions.tofu
+++ b/modules/cloud-config-container/coredns/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/cloud-config-container/cos-generic-metadata/versions.tofu b/modules/cloud-config-container/cos-generic-metadata/versions.tofu
index 4bfad22fb..a52d24147 100644
--- a/modules/cloud-config-container/cos-generic-metadata/versions.tofu
+++ b/modules/cloud-config-container/cos-generic-metadata/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/cloud-config-container/envoy-sni-dyn-fwd-proxy/versions.tofu b/modules/cloud-config-container/envoy-sni-dyn-fwd-proxy/versions.tofu
index 4845d73c2..5b70366a6 100644
--- a/modules/cloud-config-container/envoy-sni-dyn-fwd-proxy/versions.tofu
+++ b/modules/cloud-config-container/envoy-sni-dyn-fwd-proxy/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/cloud-config-container/envoy-traffic-director/versions.tofu b/modules/cloud-config-container/envoy-traffic-director/versions.tofu
index 0add27d30..805171e86 100644
--- a/modules/cloud-config-container/envoy-traffic-director/versions.tofu
+++ b/modules/cloud-config-container/envoy-traffic-director/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/cloud-config-container/mysql/versions.tofu b/modules/cloud-config-container/mysql/versions.tofu
index f2c61cb66..a02237f01 100644
--- a/modules/cloud-config-container/mysql/versions.tofu
+++ b/modules/cloud-config-container/mysql/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/cloud-config-container/nginx-tls/versions.tofu b/modules/cloud-config-container/nginx-tls/versions.tofu
index ad92ea8e8..f9d758aa9 100644
--- a/modules/cloud-config-container/nginx-tls/versions.tofu
+++ b/modules/cloud-config-container/nginx-tls/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/cloud-config-container/nginx/versions.tofu b/modules/cloud-config-container/nginx/versions.tofu
index 8686d79fc..fa86e183d 100644
--- a/modules/cloud-config-container/nginx/versions.tofu
+++ b/modules/cloud-config-container/nginx/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/cloud-config-container/simple-nva/versions.tofu b/modules/cloud-config-container/simple-nva/versions.tofu
index 99a80086a..03ec603fe 100644
--- a/modules/cloud-config-container/simple-nva/versions.tofu
+++ b/modules/cloud-config-container/simple-nva/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/cloud-function-v1/versions.tofu b/modules/cloud-function-v1/versions.tofu
index 867abcfc4..26b499fae 100644
--- a/modules/cloud-function-v1/versions.tofu
+++ b/modules/cloud-function-v1/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/cloud-function-v2/versions.tofu b/modules/cloud-function-v2/versions.tofu
index 63524b3c9..c64ab3bbe 100644
--- a/modules/cloud-function-v2/versions.tofu
+++ b/modules/cloud-function-v2/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/cloud-identity-group/versions.tofu b/modules/cloud-identity-group/versions.tofu
index bda882a49..948fdd66d 100644
--- a/modules/cloud-identity-group/versions.tofu
+++ b/modules/cloud-identity-group/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/cloud-run-v2/versions.tofu b/modules/cloud-run-v2/versions.tofu
index af79b1286..54dc1925b 100644
--- a/modules/cloud-run-v2/versions.tofu
+++ b/modules/cloud-run-v2/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/cloud-run/versions.tofu b/modules/cloud-run/versions.tofu
index aa6f17036..4062baa78 100644
--- a/modules/cloud-run/versions.tofu
+++ b/modules/cloud-run/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/cloudsql-instance/versions.tofu b/modules/cloudsql-instance/versions.tofu
index dbf92c472..a812177f2 100644
--- a/modules/cloudsql-instance/versions.tofu
+++ b/modules/cloudsql-instance/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/compute-mig/versions.tofu b/modules/compute-mig/versions.tofu
index 4f5919d13..33992f26f 100644
--- a/modules/compute-mig/versions.tofu
+++ b/modules/compute-mig/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/compute-vm/versions.tofu b/modules/compute-vm/versions.tofu
index a504ae5e2..81f27fea3 100644
--- a/modules/compute-vm/versions.tofu
+++ b/modules/compute-vm/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/container-registry/versions.tofu b/modules/container-registry/versions.tofu
index def6e30bf..ccb2debff 100644
--- a/modules/container-registry/versions.tofu
+++ b/modules/container-registry/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/data-catalog-policy-tag/versions.tofu b/modules/data-catalog-policy-tag/versions.tofu
index 36d3c3000..1fac42a7b 100644
--- a/modules/data-catalog-policy-tag/versions.tofu
+++ b/modules/data-catalog-policy-tag/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/data-catalog-tag-template/versions.tofu b/modules/data-catalog-tag-template/versions.tofu
index 4d541a72b..6bf84d2eb 100644
--- a/modules/data-catalog-tag-template/versions.tofu
+++ b/modules/data-catalog-tag-template/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/data-catalog-tag/versions.tofu b/modules/data-catalog-tag/versions.tofu
index 980ffbb88..81239a801 100644
--- a/modules/data-catalog-tag/versions.tofu
+++ b/modules/data-catalog-tag/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/dataform-repository/versions.tofu b/modules/dataform-repository/versions.tofu
index a2fc84d5d..226b15675 100644
--- a/modules/dataform-repository/versions.tofu
+++ b/modules/dataform-repository/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/datafusion/versions.tofu b/modules/datafusion/versions.tofu
index f1a3ad3e6..da4ece3ff 100644
--- a/modules/datafusion/versions.tofu
+++ b/modules/datafusion/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/dataplex-datascan/versions.tofu b/modules/dataplex-datascan/versions.tofu
index 0cad629ed..a7d757e92 100644
--- a/modules/dataplex-datascan/versions.tofu
+++ b/modules/dataplex-datascan/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/dataplex/versions.tofu b/modules/dataplex/versions.tofu
index 90a126a12..9e133acf7 100644
--- a/modules/dataplex/versions.tofu
+++ b/modules/dataplex/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/dataproc/versions.tofu b/modules/dataproc/versions.tofu
index 5034564bb..8cf893088 100644
--- a/modules/dataproc/versions.tofu
+++ b/modules/dataproc/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/dns-response-policy/versions.tofu b/modules/dns-response-policy/versions.tofu
index 584a493b1..275ecff28 100644
--- a/modules/dns-response-policy/versions.tofu
+++ b/modules/dns-response-policy/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/dns/versions.tofu b/modules/dns/versions.tofu
index f3603169c..7fe941fb9 100644
--- a/modules/dns/versions.tofu
+++ b/modules/dns/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/endpoints/versions.tofu b/modules/endpoints/versions.tofu
index 7aff70efb..fbb750baa 100644
--- a/modules/endpoints/versions.tofu
+++ b/modules/endpoints/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/firestore/versions.tofu b/modules/firestore/versions.tofu
index dfb3fa102..0f6b8d9f0 100644
--- a/modules/firestore/versions.tofu
+++ b/modules/firestore/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/folder/versions.tofu b/modules/folder/versions.tofu
index fad3858df..c0e64e8af 100644
--- a/modules/folder/versions.tofu
+++ b/modules/folder/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/gcs/README.md b/modules/gcs/README.md
index 3ead1cfb1..1ec281264 100644
--- a/modules/gcs/README.md
+++ b/modules/gcs/README.md
@@ -324,38 +324,39 @@ module "bucket" {
| name | description | type | required | default |
|---|---|:---:|:---:|:---:|
-| [location](variables.tf#L168) | Bucket location. | string | ✓ | |
-| [name](variables.tf#L211) | Bucket name suffix. | string | ✓ | |
-| [project_id](variables.tf#L269) | Bucket project id. | string | ✓ | |
+| [name](variables.tf#L221) | Bucket name suffix. | string | ✓ | |
+| [project_id](variables.tf#L279) | Bucket project id. | string | ✓ | |
| [autoclass](variables.tf#L17) | Enable autoclass to automatically transition objects to appropriate storage classes based on their access pattern. If set to true, storage_class must be set to STANDARD. Defaults to false. | bool | | null |
-| [cors](variables.tf#L23) | CORS configuration for the bucket. Defaults to null. | object({…}) | | null |
-| [custom_placement_config](variables.tf#L34) | The bucket's custom location configuration, which specifies the individual regions that comprise a dual-region bucket. If the bucket is designated as REGIONAL or MULTI_REGIONAL, the parameters are empty. | list(string) | | null |
-| [default_event_based_hold](variables.tf#L40) | Enable event based hold to new objects added to specific bucket, defaults to false. | bool | | null |
-| [enable_hierarchical_namespace](variables.tf#L46) | Enables hierarchical namespace. | bool | | null |
-| [enable_object_retention](variables.tf#L52) | Enables object retention on a storage bucket. | bool | | null |
-| [encryption_key](variables.tf#L58) | KMS key that will be used for encryption. | string | | null |
-| [force_destroy](variables.tf#L64) | Optional map to set force destroy keyed by name, defaults to false. | bool | | false |
-| [iam](variables.tf#L70) | IAM bindings in {ROLE => [MEMBERS]} format. | map(list(string)) | | {} |
-| [iam_bindings](variables.tf#L76) | Authoritative IAM bindings in {KEY => {role = ROLE, members = [], condition = {}}}. Keys are arbitrary. | map(object({…})) | | {} |
-| [iam_bindings_additive](variables.tf#L91) | Individual additive IAM bindings. Keys are arbitrary. | map(object({…})) | | {} |
-| [iam_by_principals](variables.tf#L106) | Authoritative IAM binding in {PRINCIPAL => [ROLES]} format. Principals need to be statically defined to avoid cycle errors. Merged internally with the `iam` variable. | map(list(string)) | | {} |
-| [labels](variables.tf#L113) | Labels to be attached to all buckets. | map(string) | | {} |
-| [lifecycle_rules](variables.tf#L119) | Bucket lifecycle rule. | map(object({…})) | | {} |
-| [logging_config](variables.tf#L174) | Bucket logging configuration. | object({…}) | | null |
-| [managed_folders](variables.tf#L183) | Managed folders to create within the bucket in {PATH => CONFIG} format. | map(object({…})) | | {} |
-| [notification_config](variables.tf#L216) | GCS Notification configuration. | object({…}) | | null |
-| [objects_to_upload](variables.tf#L233) | Objects to be uploaded to bucket. | map(object({…})) | | {} |
-| [prefix](variables.tf#L259) | Optional prefix used to generate the bucket name. | string | | null |
-| [public_access_prevention](variables.tf#L274) | Prevents public access to the bucket. | string | | null |
-| [requester_pays](variables.tf#L284) | Enables Requester Pays on a storage bucket. | bool | | null |
-| [retention_policy](variables.tf#L290) | Bucket retention policy. | object({…}) | | null |
-| [rpo](variables.tf#L299) | Bucket recovery point objective. | string | | null |
-| [soft_delete_retention](variables.tf#L309) | The duration in seconds that soft-deleted objects in the bucket will be retained and cannot be permanently deleted. Set to 0 to override the default and disable. | number | | null |
-| [storage_class](variables.tf#L315) | Bucket storage class. | string | | "STANDARD" |
-| [tag_bindings](variables.tf#L325) | Tag bindings for this folder, in key => tag value id format. | map(string) | | {} |
-| [uniform_bucket_level_access](variables.tf#L332) | Allow using object ACLs (false) or not (true, this is the recommended behavior) , defaults to true (which is the recommended practice, but not the behavior of storage API). | bool | | true |
-| [versioning](variables.tf#L338) | Enable versioning, defaults to false. | bool | | null |
-| [website](variables.tf#L344) | Bucket website. | object({…}) | | null |
+| [bucket_create](variables.tf#L23) | Create bucket. | bool | | true |
+| [cors](variables.tf#L29) | CORS configuration for the bucket. Defaults to null. | object({…}) | | null |
+| [custom_placement_config](variables.tf#L40) | The bucket's custom location configuration, which specifies the individual regions that comprise a dual-region bucket. If the bucket is designated as REGIONAL or MULTI_REGIONAL, the parameters are empty. | list(string) | | null |
+| [default_event_based_hold](variables.tf#L46) | Enable event based hold to new objects added to specific bucket, defaults to false. | bool | | null |
+| [enable_hierarchical_namespace](variables.tf#L52) | Enables hierarchical namespace. | bool | | null |
+| [enable_object_retention](variables.tf#L58) | Enables object retention on a storage bucket. | bool | | null |
+| [encryption_key](variables.tf#L64) | KMS key that will be used for encryption. | string | | null |
+| [force_destroy](variables.tf#L70) | Optional map to set force destroy keyed by name, defaults to false. | bool | | false |
+| [iam](variables.tf#L76) | IAM bindings in {ROLE => [MEMBERS]} format. | map(list(string)) | | {} |
+| [iam_bindings](variables.tf#L82) | Authoritative IAM bindings in {KEY => {role = ROLE, members = [], condition = {}}}. Keys are arbitrary. | map(object({…})) | | {} |
+| [iam_bindings_additive](variables.tf#L97) | Individual additive IAM bindings. Keys are arbitrary. | map(object({…})) | | {} |
+| [iam_by_principals](variables.tf#L112) | Authoritative IAM binding in {PRINCIPAL => [ROLES]} format. Principals need to be statically defined to avoid cycle errors. Merged internally with the `iam` variable. | map(list(string)) | | {} |
+| [labels](variables.tf#L119) | Labels to be attached to all buckets. | map(string) | | {} |
+| [lifecycle_rules](variables.tf#L125) | Bucket lifecycle rule. | map(object({…})) | | {} |
+| [location](variables.tf#L174) | Bucket location. | string | | null |
+| [logging_config](variables.tf#L184) | Bucket logging configuration. | object({…}) | | null |
+| [managed_folders](variables.tf#L193) | Managed folders to create within the bucket in {PATH => CONFIG} format. | map(object({…})) | | {} |
+| [notification_config](variables.tf#L226) | GCS Notification configuration. | object({…}) | | null |
+| [objects_to_upload](variables.tf#L243) | Objects to be uploaded to bucket. | map(object({…})) | | {} |
+| [prefix](variables.tf#L269) | Optional prefix used to generate the bucket name. | string | | null |
+| [public_access_prevention](variables.tf#L284) | Prevents public access to the bucket. | string | | null |
+| [requester_pays](variables.tf#L294) | Enables Requester Pays on a storage bucket. | bool | | null |
+| [retention_policy](variables.tf#L300) | Bucket retention policy. | object({…}) | | null |
+| [rpo](variables.tf#L309) | Bucket recovery point objective. | string | | null |
+| [soft_delete_retention](variables.tf#L319) | The duration in seconds that soft-deleted objects in the bucket will be retained and cannot be permanently deleted. Set to 0 to override the default and disable. | number | | null |
+| [storage_class](variables.tf#L325) | Bucket storage class. | string | | "STANDARD" |
+| [tag_bindings](variables.tf#L335) | Tag bindings for this folder, in key => tag value id format. | map(string) | | {} |
+| [uniform_bucket_level_access](variables.tf#L342) | Allow using object ACLs (false) or not (true, this is the recommended behavior) , defaults to true (which is the recommended practice, but not the behavior of storage API). | bool | | true |
+| [versioning](variables.tf#L348) | Enable versioning, defaults to false. | bool | | null |
+| [website](variables.tf#L354) | Bucket website. | object({…}) | | null |
## Outputs
diff --git a/modules/gcs/iam.tf b/modules/gcs/iam.tf
index 87a975871..69a4f62ac 100644
--- a/modules/gcs/iam.tf
+++ b/modules/gcs/iam.tf
@@ -1,5 +1,5 @@
/**
- * Copyright 2024 Google LLC
+ * Copyright 2025 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -35,14 +35,14 @@ locals {
resource "google_storage_bucket_iam_binding" "authoritative" {
for_each = local.iam
- bucket = google_storage_bucket.bucket.name
+ bucket = local.bucket.name
role = each.key
members = each.value
}
resource "google_storage_bucket_iam_binding" "bindings" {
for_each = var.iam_bindings
- bucket = google_storage_bucket.bucket.name
+ bucket = local.bucket.name
role = each.value.role
members = each.value.members
dynamic "condition" {
@@ -57,7 +57,7 @@ resource "google_storage_bucket_iam_binding" "bindings" {
resource "google_storage_bucket_iam_member" "bindings" {
for_each = var.iam_bindings_additive
- bucket = google_storage_bucket.bucket.name
+ bucket = local.bucket.name
role = each.value.role
member = each.value.member
dynamic "condition" {
diff --git a/modules/gcs/main.tf b/modules/gcs/main.tf
index 077a2730a..f67d5f791 100644
--- a/modules/gcs/main.tf
+++ b/modules/gcs/main.tf
@@ -1,5 +1,5 @@
/**
- * Copyright 2024 Google LLC
+ * Copyright 2025 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -15,13 +15,32 @@
*/
locals {
+ _name = "${local.prefix}${lower(var.name)}"
prefix = var.prefix == null ? "" : "${var.prefix}-"
notification = try(var.notification_config.enabled, false)
topic_create = try(var.notification_config.create_topic, null) != null
+ bucket = (
+ var.bucket_create ? {
+ name = try(google_storage_bucket.bucket[0].name, null)
+ id = try(google_storage_bucket.bucket[0].id, null)
+ url = try(google_storage_bucket.bucket[0].url, null)
+ }
+ : {
+ name = local._name
+ id = local._name
+ url = "gs://${local._name}"
+ }
+ )
+}
+
+moved {
+ from = google_storage_bucket.bucket
+ to = google_storage_bucket.bucket[0]
}
resource "google_storage_bucket" "bucket" {
- name = "${local.prefix}${lower(var.name)}"
+ count = var.bucket_create ? 1 : 0
+ name = local._name
project = var.project_id
location = var.location
storage_class = var.storage_class
@@ -142,7 +161,7 @@ resource "google_storage_bucket" "bucket" {
resource "google_storage_bucket_object" "objects" {
for_each = var.objects_to_upload
- bucket = google_storage_bucket.bucket.id
+ bucket = local.bucket.id
name = each.value.name
metadata = each.value.metadata
content = each.value.content
@@ -170,7 +189,7 @@ resource "google_storage_bucket_object" "objects" {
resource "google_storage_notification" "notification" {
count = local.notification ? 1 : 0
- bucket = google_storage_bucket.bucket.name
+ bucket = local.bucket.name
payload_format = var.notification_config.payload_format
topic = try(
google_pubsub_topic.topic[0].id, var.notification_config.topic_name
diff --git a/modules/gcs/managed-folders.tf b/modules/gcs/managed-folders.tf
index 326615d74..b042c66ac 100644
--- a/modules/gcs/managed-folders.tf
+++ b/modules/gcs/managed-folders.tf
@@ -1,5 +1,5 @@
/**
- * Copyright 2024 Google LLC
+ * Copyright 2025 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -58,7 +58,7 @@ locals {
resource "google_storage_managed_folder" "folder" {
for_each = local.managed_folders
- bucket = google_storage_bucket.bucket.name
+ bucket = local.bucket.name
name = each.key
force_destroy = each.value.force_destroy
}
@@ -70,7 +70,7 @@ resource "google_storage_managed_folder_iam_binding" "authoritative" {
}
role = each.value.role
members = each.value.members
- bucket = google_storage_bucket.bucket.name
+ bucket = local.bucket.name
managed_folder = google_storage_managed_folder.folder[each.value.managed_folder].name
}
@@ -78,7 +78,7 @@ resource "google_storage_managed_folder_iam_binding" "bindings" {
for_each = local.managed_folder_iam_bindings
role = each.value.role
members = each.value.members
- bucket = google_storage_bucket.bucket.name
+ bucket = local.bucket.name
managed_folder = google_storage_managed_folder.folder[each.value.managed_folder].name
dynamic "condition" {
@@ -95,7 +95,7 @@ resource "google_storage_managed_folder_iam_member" "members" {
for_each = local.managed_folder_iam_bindings_additive
role = each.value.role
member = each.value.member
- bucket = google_storage_bucket.bucket.name
+ bucket = local.bucket.name
managed_folder = google_storage_managed_folder.folder[each.value.managed_folder].name
dynamic "condition" {
diff --git a/modules/gcs/outputs.tf b/modules/gcs/outputs.tf
index ed2f6c212..8ee19644a 100644
--- a/modules/gcs/outputs.tf
+++ b/modules/gcs/outputs.tf
@@ -1,5 +1,5 @@
/**
- * Copyright 2022 Google LLC
+ * Copyright 2025 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -16,7 +16,7 @@
output "bucket" {
description = "Bucket resource."
- value = google_storage_bucket.bucket
+ value = one(google_storage_bucket.bucket)
}
# We add `id` as an alias to `name` to simplify log sink handling.
@@ -27,7 +27,7 @@ output "bucket" {
output "id" {
description = "Fully qualified bucket id."
- value = "${local.prefix}${lower(var.name)}"
+ value = local._name
depends_on = [
google_storage_bucket.bucket,
google_storage_bucket_iam_binding.bindings,
@@ -38,7 +38,7 @@ output "id" {
output "name" {
description = "Bucket name."
- value = "${local.prefix}${lower(var.name)}"
+ value = local._name
depends_on = [
google_storage_bucket.bucket,
google_storage_bucket_iam_binding.bindings,
@@ -71,5 +71,5 @@ output "topic" {
output "url" {
description = "Bucket URL."
- value = google_storage_bucket.bucket.url
+ value = local.bucket.url
}
diff --git a/modules/gcs/tags.tf b/modules/gcs/tags.tf
index 895605432..9432411ca 100644
--- a/modules/gcs/tags.tf
+++ b/modules/gcs/tags.tf
@@ -1,5 +1,5 @@
/**
- * Copyright 2022 Google LLC
+ * Copyright 2025 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -16,7 +16,7 @@
resource "google_tags_location_tag_binding" "binding" {
for_each = var.tag_bindings
- parent = "//storage.googleapis.com/projects/_/buckets/${local.prefix}${lower(var.name)}"
+ parent = "//storage.googleapis.com/projects/_/buckets/${local._name}"
tag_value = each.value
location = var.location
depends_on = [
diff --git a/modules/gcs/variables.tf b/modules/gcs/variables.tf
index 5c66d2e51..da26b163a 100644
--- a/modules/gcs/variables.tf
+++ b/modules/gcs/variables.tf
@@ -1,5 +1,5 @@
/**
- * Copyright 2024 Google LLC
+ * Copyright 2025 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -20,6 +20,12 @@ variable "autoclass" {
default = null
}
+variable "bucket_create" {
+ description = "Create bucket."
+ type = bool
+ default = true
+}
+
variable "cors" {
description = "CORS configuration for the bucket. Defaults to null."
type = object({
@@ -168,7 +174,11 @@ variable "lifecycle_rules" {
variable "location" {
description = "Bucket location."
type = string
- # default = "EU"
+ default = null
+ validation {
+ condition = ((var.bucket_create == true) == (var.location != null))
+ error_message = "Bucket location is required if and only if bucket_create is true."
+ }
}
variable "logging_config" {
diff --git a/modules/gcs/versions.tofu b/modules/gcs/versions.tofu
index d47f92bc9..f4390b787 100644
--- a/modules/gcs/versions.tofu
+++ b/modules/gcs/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/gcve-private-cloud/versions.tofu b/modules/gcve-private-cloud/versions.tofu
index 9068acbb6..7eb4fdebc 100644
--- a/modules/gcve-private-cloud/versions.tofu
+++ b/modules/gcve-private-cloud/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/gke-cluster-autopilot/versions.tofu b/modules/gke-cluster-autopilot/versions.tofu
index f3910edbf..da8f1b021 100644
--- a/modules/gke-cluster-autopilot/versions.tofu
+++ b/modules/gke-cluster-autopilot/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/gke-cluster-standard/versions.tofu b/modules/gke-cluster-standard/versions.tofu
index 062a1b873..bf7eb1773 100644
--- a/modules/gke-cluster-standard/versions.tofu
+++ b/modules/gke-cluster-standard/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/gke-hub/versions.tofu b/modules/gke-hub/versions.tofu
index 24441740c..ca1e4edaa 100644
--- a/modules/gke-hub/versions.tofu
+++ b/modules/gke-hub/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/gke-nodepool/versions.tofu b/modules/gke-nodepool/versions.tofu
index 94b5c88a9..5925229e3 100644
--- a/modules/gke-nodepool/versions.tofu
+++ b/modules/gke-nodepool/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/iam-service-account/versions.tofu b/modules/iam-service-account/versions.tofu
index 2a64b7e8f..b5e25bbfd 100644
--- a/modules/iam-service-account/versions.tofu
+++ b/modules/iam-service-account/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/kms/versions.tofu b/modules/kms/versions.tofu
index 4820c673d..3914502d9 100644
--- a/modules/kms/versions.tofu
+++ b/modules/kms/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/logging-bucket/versions.tofu b/modules/logging-bucket/versions.tofu
index a338b0083..7be452771 100644
--- a/modules/logging-bucket/versions.tofu
+++ b/modules/logging-bucket/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/looker-core/versions.tofu b/modules/looker-core/versions.tofu
index 9debf1391..0ff9ad159 100644
--- a/modules/looker-core/versions.tofu
+++ b/modules/looker-core/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/ncc-spoke-ra/versions.tofu b/modules/ncc-spoke-ra/versions.tofu
index ed7fea936..b01f63ce6 100644
--- a/modules/ncc-spoke-ra/versions.tofu
+++ b/modules/ncc-spoke-ra/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/net-address/versions.tofu b/modules/net-address/versions.tofu
index 4421c7452..d4d447c2f 100644
--- a/modules/net-address/versions.tofu
+++ b/modules/net-address/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/net-cloudnat/versions.tofu b/modules/net-cloudnat/versions.tofu
index bc6b010ac..dedc8e366 100644
--- a/modules/net-cloudnat/versions.tofu
+++ b/modules/net-cloudnat/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/net-firewall-policy/versions.tofu b/modules/net-firewall-policy/versions.tofu
index 9b923f332..659f644f1 100644
--- a/modules/net-firewall-policy/versions.tofu
+++ b/modules/net-firewall-policy/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/net-ipsec-over-interconnect/versions.tofu b/modules/net-ipsec-over-interconnect/versions.tofu
index 106e725dd..db29dd28a 100644
--- a/modules/net-ipsec-over-interconnect/versions.tofu
+++ b/modules/net-ipsec-over-interconnect/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/net-lb-app-ext-regional/versions.tofu b/modules/net-lb-app-ext-regional/versions.tofu
index c0bfc8734..91e7fe9e0 100644
--- a/modules/net-lb-app-ext-regional/versions.tofu
+++ b/modules/net-lb-app-ext-regional/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/net-lb-app-ext/versions.tofu b/modules/net-lb-app-ext/versions.tofu
index d39f6bc7c..47c88c994 100644
--- a/modules/net-lb-app-ext/versions.tofu
+++ b/modules/net-lb-app-ext/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/net-lb-app-int-cross-region/versions.tofu b/modules/net-lb-app-int-cross-region/versions.tofu
index 20e2c00eb..baa4e3c5c 100644
--- a/modules/net-lb-app-int-cross-region/versions.tofu
+++ b/modules/net-lb-app-int-cross-region/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/net-lb-app-int/versions.tofu b/modules/net-lb-app-int/versions.tofu
index a5b1af958..229128047 100644
--- a/modules/net-lb-app-int/versions.tofu
+++ b/modules/net-lb-app-int/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/net-lb-ext/versions.tofu b/modules/net-lb-ext/versions.tofu
index 78c27f5b7..bf53b4ce8 100644
--- a/modules/net-lb-ext/versions.tofu
+++ b/modules/net-lb-ext/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/net-lb-int/versions.tofu b/modules/net-lb-int/versions.tofu
index d4dac3005..0ef8b7a89 100644
--- a/modules/net-lb-int/versions.tofu
+++ b/modules/net-lb-int/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/net-lb-proxy-int/versions.tofu b/modules/net-lb-proxy-int/versions.tofu
index 704ee12c0..6d473112b 100644
--- a/modules/net-lb-proxy-int/versions.tofu
+++ b/modules/net-lb-proxy-int/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/net-swp/versions.tofu b/modules/net-swp/versions.tofu
index 510516e7b..2d532abbc 100644
--- a/modules/net-swp/versions.tofu
+++ b/modules/net-swp/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/net-vlan-attachment/versions.tofu b/modules/net-vlan-attachment/versions.tofu
index a63be4153..0faddc132 100644
--- a/modules/net-vlan-attachment/versions.tofu
+++ b/modules/net-vlan-attachment/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/net-vpc-firewall/versions.tofu b/modules/net-vpc-firewall/versions.tofu
index 768bd7d81..215459f10 100644
--- a/modules/net-vpc-firewall/versions.tofu
+++ b/modules/net-vpc-firewall/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/net-vpc-peering/versions.tofu b/modules/net-vpc-peering/versions.tofu
index 68748a1c4..983335a28 100644
--- a/modules/net-vpc-peering/versions.tofu
+++ b/modules/net-vpc-peering/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/net-vpc/versions.tofu b/modules/net-vpc/versions.tofu
index e419d6f8c..a2de1a87f 100644
--- a/modules/net-vpc/versions.tofu
+++ b/modules/net-vpc/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/net-vpn-dynamic/versions.tofu b/modules/net-vpn-dynamic/versions.tofu
index 25c9ee564..d4ab17198 100644
--- a/modules/net-vpn-dynamic/versions.tofu
+++ b/modules/net-vpn-dynamic/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/net-vpn-ha/versions.tofu b/modules/net-vpn-ha/versions.tofu
index 28791cbed..c2545671a 100644
--- a/modules/net-vpn-ha/versions.tofu
+++ b/modules/net-vpn-ha/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/net-vpn-static/versions.tofu b/modules/net-vpn-static/versions.tofu
index 05482b597..ef48883c1 100644
--- a/modules/net-vpn-static/versions.tofu
+++ b/modules/net-vpn-static/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/organization/versions.tofu b/modules/organization/versions.tofu
index 6827376c1..672f9fce9 100644
--- a/modules/organization/versions.tofu
+++ b/modules/organization/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/project/versions.tofu b/modules/project/versions.tofu
index 06ea31033..89d977bac 100644
--- a/modules/project/versions.tofu
+++ b/modules/project/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/projects-data-source/versions.tofu b/modules/projects-data-source/versions.tofu
index d72ed3704..d71838409 100644
--- a/modules/projects-data-source/versions.tofu
+++ b/modules/projects-data-source/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/pubsub/versions.tofu b/modules/pubsub/versions.tofu
index dbb349e38..86d735aa5 100644
--- a/modules/pubsub/versions.tofu
+++ b/modules/pubsub/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/secret-manager/versions.tofu b/modules/secret-manager/versions.tofu
index 4c4b79352..242cd11b8 100644
--- a/modules/secret-manager/versions.tofu
+++ b/modules/secret-manager/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/secure-source-manager-instance/versions.tofu b/modules/secure-source-manager-instance/versions.tofu
index e512d347a..7e94bf38e 100644
--- a/modules/secure-source-manager-instance/versions.tofu
+++ b/modules/secure-source-manager-instance/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/service-directory/versions.tofu b/modules/service-directory/versions.tofu
index daa88ea1d..3b3747f49 100644
--- a/modules/service-directory/versions.tofu
+++ b/modules/service-directory/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/source-repository/versions.tofu b/modules/source-repository/versions.tofu
index 53b61a62a..d2c02af7b 100644
--- a/modules/source-repository/versions.tofu
+++ b/modules/source-repository/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/spanner-instance/versions.tofu b/modules/spanner-instance/versions.tofu
index 68541f313..4892dfe46 100644
--- a/modules/spanner-instance/versions.tofu
+++ b/modules/spanner-instance/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/vpc-sc/versions.tofu b/modules/vpc-sc/versions.tofu
index 9aaef4632..42d14279d 100644
--- a/modules/vpc-sc/versions.tofu
+++ b/modules/vpc-sc/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/modules/workstation-cluster/versions.tofu b/modules/workstation-cluster/versions.tofu
index 9136b0d3a..fbe013b01 100644
--- a/modules/workstation-cluster/versions.tofu
+++ b/modules/workstation-cluster/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/tests/examples_e2e/setup_module/versions.tofu b/tests/examples_e2e/setup_module/versions.tofu
index 0d6d8edaa..1f1359fa4 100644
--- a/tests/examples_e2e/setup_module/versions.tofu
+++ b/tests/examples_e2e/setup_module/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"
diff --git a/tests/modules/certificate_manager/examples/map-with-managed-cert-dns-authz.yaml b/tests/modules/certificate_manager/examples/map-with-managed-cert-dns-authz.yaml
index 5864dd7f2..efcdeb7cc 100644
--- a/tests/modules/certificate_manager/examples/map-with-managed-cert-dns-authz.yaml
+++ b/tests/modules/certificate_manager/examples/map-with-managed-cert-dns-authz.yaml
@@ -18,9 +18,7 @@ values:
labels: null
location: global
managed:
- - dns_authorizations:
- - mydomain-mycompany-org
- domains:
+ - domains:
- mydomain.mycompany.org
issuance_config: null
name: my-certificate-1
@@ -59,4 +57,4 @@ counts:
google_certificate_manager_certificate_map_entry: 1
google_certificate_manager_dns_authorization: 1
modules: 1
- resources: 4
\ No newline at end of file
+ resources: 4
diff --git a/tests/modules/folder/examples/logging.yaml b/tests/modules/folder/examples/logging.yaml
index 17379adcf..e48227619 100644
--- a/tests/modules/folder/examples/logging.yaml
+++ b/tests/modules/folder/examples/logging.yaml
@@ -1,4 +1,4 @@
-# Copyright 2024 Google LLC
+# Copyright 2025 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -120,7 +120,7 @@ values:
bucket: test-gcs_sink
condition: []
role: roles/storage.objectCreator
- module.gcs.google_storage_bucket.bucket:
+ module.gcs.google_storage_bucket.bucket[0]:
autoclass: []
cors: []
custom_placement_config: []
diff --git a/tests/modules/gcs/examples/cmek.yaml b/tests/modules/gcs/examples/cmek.yaml
index 1f20a9ef6..b467edc4c 100644
--- a/tests/modules/gcs/examples/cmek.yaml
+++ b/tests/modules/gcs/examples/cmek.yaml
@@ -1,4 +1,4 @@
-# Copyright 2023 Google LLC
+# Copyright 2025 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -13,7 +13,7 @@
# limitations under the License.
values:
- module.bucket.google_storage_bucket.bucket:
+ module.bucket.google_storage_bucket.bucket[0]:
# encryption: __missing__
# - default_kms_key_name:
name: test-my-bucket
diff --git a/tests/modules/gcs/examples/hns.yaml b/tests/modules/gcs/examples/hns.yaml
index 7c2abd5d6..f3b14a71b 100644
--- a/tests/modules/gcs/examples/hns.yaml
+++ b/tests/modules/gcs/examples/hns.yaml
@@ -1,4 +1,4 @@
-# Copyright 2024 Google LLC
+# Copyright 2025 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -13,7 +13,7 @@
# limitations under the License.
values:
- module.bucket.google_storage_bucket.bucket:
+ module.bucket.google_storage_bucket.bucket[0]:
location: EU
name: test-my-bucket
project: project-id
diff --git a/tests/modules/gcs/examples/iam-authoritative.yaml b/tests/modules/gcs/examples/iam-authoritative.yaml
index 6ff73f80d..995f61cbe 100644
--- a/tests/modules/gcs/examples/iam-authoritative.yaml
+++ b/tests/modules/gcs/examples/iam-authoritative.yaml
@@ -1,4 +1,4 @@
-# Copyright 2024 Google LLC
+# Copyright 2025 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -13,7 +13,7 @@
# limitations under the License.
values:
- module.bucket.google_storage_bucket.bucket:
+ module.bucket.google_storage_bucket.bucket[0]:
cors: []
custom_placement_config: []
default_event_based_hold: null
diff --git a/tests/modules/gcs/examples/iam-bindings-additive.yaml b/tests/modules/gcs/examples/iam-bindings-additive.yaml
index 87fdf77b6..bb0a284c3 100644
--- a/tests/modules/gcs/examples/iam-bindings-additive.yaml
+++ b/tests/modules/gcs/examples/iam-bindings-additive.yaml
@@ -1,4 +1,4 @@
-# Copyright 2024 Google LLC
+# Copyright 2025 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -13,7 +13,7 @@
# limitations under the License.
values:
- module.bucket.google_storage_bucket.bucket:
+ module.bucket.google_storage_bucket.bucket[0]:
cors: []
custom_placement_config: []
default_event_based_hold: null
diff --git a/tests/modules/gcs/examples/iam-bindings.yaml b/tests/modules/gcs/examples/iam-bindings.yaml
index 3109109a7..6fea6b837 100644
--- a/tests/modules/gcs/examples/iam-bindings.yaml
+++ b/tests/modules/gcs/examples/iam-bindings.yaml
@@ -1,4 +1,4 @@
-# Copyright 2024 Google LLC
+# Copyright 2025 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -13,7 +13,7 @@
# limitations under the License.
values:
- module.bucket.google_storage_bucket.bucket:
+ module.bucket.google_storage_bucket.bucket[0]:
cors: []
custom_placement_config: []
default_event_based_hold: null
diff --git a/tests/modules/gcs/examples/lifecycle.yaml b/tests/modules/gcs/examples/lifecycle.yaml
index 221a4a218..f4240ef9c 100644
--- a/tests/modules/gcs/examples/lifecycle.yaml
+++ b/tests/modules/gcs/examples/lifecycle.yaml
@@ -1,4 +1,4 @@
-# Copyright 2023 Google LLC
+# Copyright 2025 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -13,7 +13,7 @@
# limitations under the License.
values:
- module.bucket.google_storage_bucket.bucket:
+ module.bucket.google_storage_bucket.bucket[0]:
lifecycle_rule:
- action:
- storage_class: STANDARD
diff --git a/tests/modules/gcs/examples/managed-folders.yaml b/tests/modules/gcs/examples/managed-folders.yaml
index 30addbf13..e189c9bfc 100644
--- a/tests/modules/gcs/examples/managed-folders.yaml
+++ b/tests/modules/gcs/examples/managed-folders.yaml
@@ -1,4 +1,4 @@
-# Copyright 2024 Google LLC
+# Copyright 2025 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -13,7 +13,7 @@
# limitations under the License.
values:
- module.bucket.google_storage_bucket.bucket:
+ module.bucket.google_storage_bucket.bucket[0]:
autoclass: []
cors: []
custom_placement_config: []
diff --git a/tests/modules/gcs/examples/notification.yaml b/tests/modules/gcs/examples/notification.yaml
index 81fde73e7..4e3a374e3 100644
--- a/tests/modules/gcs/examples/notification.yaml
+++ b/tests/modules/gcs/examples/notification.yaml
@@ -1,4 +1,4 @@
-# Copyright 2023 Google LLC
+# Copyright 2025 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -15,7 +15,7 @@
values:
module.bucket-gcs-notification.google_pubsub_topic.topic[0]: {}
module.bucket-gcs-notification.google_pubsub_topic_iam_binding.binding[0]: {}
- module.bucket-gcs-notification.google_storage_bucket.bucket:
+ module.bucket-gcs-notification.google_storage_bucket.bucket[0]:
name: test-my-bucket
project: project-id
module.bucket-gcs-notification.google_storage_notification.notification[0]:
diff --git a/tests/modules/gcs/examples/object-upload.yaml b/tests/modules/gcs/examples/object-upload.yaml
index 8076e63bf..34ec0cc9a 100644
--- a/tests/modules/gcs/examples/object-upload.yaml
+++ b/tests/modules/gcs/examples/object-upload.yaml
@@ -1,4 +1,4 @@
-# Copyright 2023 Google LLC
+# Copyright 2025 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -13,7 +13,7 @@
# limitations under the License.
values:
- module.bucket.google_storage_bucket.bucket:
+ module.bucket.google_storage_bucket.bucket[0]:
name: test-my-bucket
project: project-id
module.bucket.google_storage_bucket_object.objects["sample-data"]:
diff --git a/tests/modules/gcs/examples/retention-logging.yaml b/tests/modules/gcs/examples/retention-logging.yaml
index ebe3e70dc..dfa067f93 100644
--- a/tests/modules/gcs/examples/retention-logging.yaml
+++ b/tests/modules/gcs/examples/retention-logging.yaml
@@ -1,4 +1,4 @@
-# Copyright 2023 Google LLC
+# Copyright 2025 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -13,7 +13,7 @@
# limitations under the License.
values:
- module.bucket.google_storage_bucket.bucket:
+ module.bucket.google_storage_bucket.bucket[0]:
logging:
- log_bucket: log-bucket
name: test-my-bucket
diff --git a/tests/modules/gcs/examples/simple.yaml b/tests/modules/gcs/examples/simple.yaml
index eb2476d98..dfc7b74e3 100644
--- a/tests/modules/gcs/examples/simple.yaml
+++ b/tests/modules/gcs/examples/simple.yaml
@@ -1,4 +1,4 @@
-# Copyright 2024 Google LLC
+# Copyright 2025 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -13,7 +13,7 @@
# limitations under the License.
values:
- module.bucket.google_storage_bucket.bucket:
+ module.bucket.google_storage_bucket.bucket[0]:
autoclass: []
cors: []
custom_placement_config: []
diff --git a/tests/modules/gcs/examples/tags.yaml b/tests/modules/gcs/examples/tags.yaml
index fbee98e97..0c52cf6d1 100644
--- a/tests/modules/gcs/examples/tags.yaml
+++ b/tests/modules/gcs/examples/tags.yaml
@@ -1,4 +1,4 @@
-# Copyright 2024 Google LLC
+# Copyright 2025 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -13,7 +13,7 @@
# limitations under the License.
values:
- module.bucket.google_storage_bucket.bucket:
+ module.bucket.google_storage_bucket.bucket[0]:
autoclass: []
cors: []
custom_placement_config: []
diff --git a/tests/modules/organization/examples/logging.yaml b/tests/modules/organization/examples/logging.yaml
index f358cb5cf..5cc3abc8b 100644
--- a/tests/modules/organization/examples/logging.yaml
+++ b/tests/modules/organization/examples/logging.yaml
@@ -1,4 +1,4 @@
-# Copyright 2024 Google LLC
+# Copyright 2025 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -48,7 +48,7 @@ values:
disable_on_destroy: false
project: test-dest-prj
service: logging.googleapis.com
- module.gcs.google_storage_bucket.bucket:
+ module.gcs.google_storage_bucket.bucket[0]:
autoclass: []
cors: []
custom_placement_config: []
diff --git a/tests/modules/project/examples/data.yaml b/tests/modules/project/examples/data.yaml
index c84008230..c3d28c903 100644
--- a/tests/modules/project/examples/data.yaml
+++ b/tests/modules/project/examples/data.yaml
@@ -1,4 +1,4 @@
-# Copyright 2024 Google LLC
+# Copyright 2025 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -47,7 +47,7 @@ values:
project: project-id
resource_tags: null
timeouts: null
- module.gcs.google_storage_bucket.bucket:
+ module.gcs.google_storage_bucket.bucket[0]:
autoclass: []
cors: []
custom_placement_config: []
diff --git a/tests/modules/project/examples/logging.yaml b/tests/modules/project/examples/logging.yaml
index 4b652f3a3..238762b74 100644
--- a/tests/modules/project/examples/logging.yaml
+++ b/tests/modules/project/examples/logging.yaml
@@ -1,4 +1,4 @@
-# Copyright 2024 Google LLC
+# Copyright 2025 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -48,7 +48,7 @@ values:
disable_on_destroy: false
project: test-dest-prj
service: logging.googleapis.com
- module.gcs.google_storage_bucket.bucket:
+ module.gcs.google_storage_bucket.bucket[0]:
autoclass: []
cors: []
custom_placement_config: []
diff --git a/tests/modules/project_factory/examples/example.yaml b/tests/modules/project_factory/examples/example.yaml
index a7154ae6f..1c4e6b085 100644
--- a/tests/modules/project_factory/examples/example.yaml
+++ b/tests/modules/project_factory/examples/example.yaml
@@ -1,4 +1,4 @@
-# Copyright 2024 Google LLC
+# Copyright 2025 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -13,7 +13,7 @@
# limitations under the License.
values:
- module.project-factory.module.automation-buckets["dev-tb-app0-0/state"].google_storage_bucket.bucket:
+ module.project-factory.module.automation-buckets["dev-tb-app0-0/state"].google_storage_bucket.bucket[0]:
autoclass: []
cors: []
custom_placement_config: []
diff --git a/tools/lockfile/versions.tofu b/tools/lockfile/versions.tofu
index 89dd5b1d4..08fa24e3b 100644
--- a/tools/lockfile/versions.tofu
+++ b/tools/lockfile/versions.tofu
@@ -15,7 +15,7 @@
# Fabric release: v37.0.0-rc2
terraform {
- required_version = ">= 1.8.0"
+ required_version = ">= 1.9.0"
required_providers {
google = {
source = "hashicorp/google"