From 3be3a78a2435310fe4f387faabd96bf0f1124266 Mon Sep 17 00:00:00 2001 From: Ludo Date: Mon, 16 Dec 2024 15:48:35 +0100 Subject: [PATCH 01/10] support customizable resource names in FAST stage 0 --- fast/stages/0-bootstrap/automation.tf | 91 ++++++++++++------- fast/stages/0-bootstrap/billing.tf | 8 +- fast/stages/0-bootstrap/cicd.tf | 28 ++++-- fast/stages/0-bootstrap/identity-providers.tf | 38 +++++--- fast/stages/0-bootstrap/log-export.tf | 22 +++-- fast/stages/0-bootstrap/main.tf | 15 ++- fast/stages/0-bootstrap/outputs.tf | 15 +-- fast/stages/0-bootstrap/variables.tf | 10 +- 8 files changed, 145 insertions(+), 82 deletions(-) diff --git a/fast/stages/0-bootstrap/automation.tf b/fast/stages/0-bootstrap/automation.tf index 0b369aacac..47a2eda79e 100644 --- a/fast/stages/0-bootstrap/automation.tf +++ b/fast/stages/0-bootstrap/automation.tf @@ -28,11 +28,14 @@ locals { module "automation-project" { source = "../../../modules/project" billing_account = var.billing_account.id - name = "iac-core-0" + # name = lookup(var.resource_names, "projects/automation", "${}iac-core-0") + name = lookup( + var.resource_names, "project/automation", "${local.default_environment.short_name}-iac-core-0" + ) parent = coalesce( var.project_parent_ids.automation, "organizations/${var.organization.id}" ) - prefix = local.prefix + prefix = var.prefix contacts = ( var.bootstrap_user != null || var.essential_contacts == null ? {} @@ -192,8 +195,10 @@ module "automation-project" { module "automation-tf-output-gcs" { source = "../../../modules/gcs" project_id = module.automation-project.project_id - name = "iac-core-outputs-0" - prefix = local.prefix + name = lookup( + var.resource_names, "gcs/outputs", "${local.default_environment.short_name}-iac-core-outputs-0" + ) + prefix = var.prefix location = local.locations.gcs versioning = true depends_on = [module.organization] @@ -204,19 +209,23 @@ module "automation-tf-output-gcs" { module "automation-tf-bootstrap-gcs" { source = "../../../modules/gcs" project_id = module.automation-project.project_id - name = "iac-core-bootstrap-0" - prefix = local.prefix + name = lookup( + var.resource_names, "gcs/bootstrap", "${local.default_environment.short_name}-iac-core-bootstrap-0" + ) + prefix = var.prefix location = local.locations.gcs versioning = true depends_on = [module.organization] } module "automation-tf-bootstrap-sa" { - source = "../../../modules/iam-service-account" - project_id = module.automation-project.project_id - name = "bootstrap-0" + source = "../../../modules/iam-service-account" + project_id = module.automation-project.project_id + name = lookup( + var.resource_names, "sa/bootstrap", "${local.default_environment.short_name}-bootstrap-0" + ) display_name = "Terraform organization bootstrap service account." - prefix = local.prefix + prefix = var.prefix # allow SA used by CI/CD workflow to impersonate this SA iam = { "roles/iam.serviceAccountTokenCreator" = compact([ @@ -229,11 +238,13 @@ module "automation-tf-bootstrap-sa" { } module "automation-tf-bootstrap-r-sa" { - source = "../../../modules/iam-service-account" - project_id = module.automation-project.project_id - name = "bootstrap-0r" + source = "../../../modules/iam-service-account" + project_id = module.automation-project.project_id + name = lookup( + var.resource_names, "sa/bootstrap-ro", "${local.default_environment.short_name}-bootstrap-0r" + ) display_name = "Terraform organization bootstrap service account (read-only)." - prefix = local.prefix + prefix = var.prefix # allow SA used by CI/CD workflow to impersonate this SA iam = { "roles/iam.serviceAccountTokenCreator" = compact([ @@ -258,8 +269,10 @@ module "automation-tf-bootstrap-r-sa" { module "automation-tf-resman-gcs" { source = "../../../modules/gcs" project_id = module.automation-project.project_id - name = "iac-core-resman-0" - prefix = local.prefix + name = lookup( + var.resource_names, "gcs/resman", "${local.default_environment.short_name}-iac-core-resman-0" + ) + prefix = var.prefix location = local.locations.gcs versioning = true iam = { @@ -270,11 +283,13 @@ module "automation-tf-resman-gcs" { } module "automation-tf-resman-sa" { - source = "../../../modules/iam-service-account" - project_id = module.automation-project.project_id - name = "resman-0" + source = "../../../modules/iam-service-account" + project_id = module.automation-project.project_id + name = lookup( + var.resource_names, "sa/resman", "${local.default_environment.short_name}-resman-0" + ) display_name = "Terraform stage 1 resman service account." - prefix = local.prefix + prefix = var.prefix # allow SA used by CI/CD workflow to impersonate this SA # we use additive IAM to allow tenant CI/CD SAs to impersonate it iam_bindings_additive = merge( @@ -297,11 +312,13 @@ module "automation-tf-resman-sa" { } module "automation-tf-resman-r-sa" { - source = "../../../modules/iam-service-account" - project_id = module.automation-project.project_id - name = "resman-0r" + source = "../../../modules/iam-service-account" + project_id = module.automation-project.project_id + name = lookup( + var.resource_names, "sa/resman-ro", "${local.default_environment.short_name}-resman-0r" + ) display_name = "Terraform stage 1 resman service account (read-only)." - prefix = local.prefix + prefix = var.prefix # allow SA used by CI/CD workflow to impersonate this SA # we use additive IAM to allow tenant CI/CD SAs to impersonate it iam_bindings_additive = merge( @@ -336,8 +353,10 @@ module "automation-tf-resman-r-sa" { module "automation-tf-vpcsc-gcs" { source = "../../../modules/gcs" project_id = module.automation-project.project_id - name = "iac-core-vpcsc-0" - prefix = local.prefix + name = lookup( + var.resource_names, "gcs/vpcsc", "${local.default_environment.short_name}-iac-core-vpcsc-0" + ) + prefix = var.prefix location = local.locations.gcs versioning = true iam = { @@ -348,11 +367,13 @@ module "automation-tf-vpcsc-gcs" { } module "automation-tf-vpcsc-sa" { - source = "../../../modules/iam-service-account" - project_id = module.automation-project.project_id - name = "vpcsc-0" + source = "../../../modules/iam-service-account" + project_id = module.automation-project.project_id + name = lookup( + var.resource_names, "sa/vpcsc", "${local.default_environment.short_name}-vpcsc-0" + ) display_name = "Terraform stage 1 vpcsc service account." - prefix = local.prefix + prefix = var.prefix # allow SA used by CI/CD workflow to impersonate this SA # we use additive IAM to allow tenant CI/CD SAs to impersonate it iam_bindings_additive = merge( @@ -375,11 +396,13 @@ module "automation-tf-vpcsc-sa" { } module "automation-tf-vpcsc-r-sa" { - source = "../../../modules/iam-service-account" - project_id = module.automation-project.project_id - name = "vpcsc-0r" + source = "../../../modules/iam-service-account" + project_id = module.automation-project.project_id + name = lookup( + var.resource_names, "sa/vpcsc-ro", "${local.default_environment.short_name}-vpcsc-0r" + ) display_name = "Terraform stage 1 vpcsc service account (read-only)." - prefix = local.prefix + prefix = var.prefix # allow SA used by CI/CD workflow to impersonate this SA # we use additive IAM to allow tenant CI/CD SAs to impersonate it iam_bindings_additive = local.cicd_vpcsc_r_sa == "" ? {} : { diff --git a/fast/stages/0-bootstrap/billing.tf b/fast/stages/0-bootstrap/billing.tf index 04168c163d..5e66aab358 100644 --- a/fast/stages/0-bootstrap/billing.tf +++ b/fast/stages/0-bootstrap/billing.tf @@ -43,11 +43,13 @@ module "billing-export-project" { local.billing_mode == "org" || var.billing_account.force_create.project == true ? 1 : 0 ) billing_account = var.billing_account.id - name = "billing-exp-0" + name = lookup( + var.resource_names, "project/billing", "${local.default_environment.short_name}-billing-exp-0" + ) parent = coalesce( var.project_parent_ids.billing, "organizations/${var.organization.id}" ) - prefix = local.prefix + prefix = var.prefix contacts = ( var.bootstrap_user != null || var.essential_contacts == null ? {} @@ -73,7 +75,7 @@ module "billing-export-dataset" { local.billing_mode == "org" || var.billing_account.force_create.dataset == true ? 1 : 0 ) project_id = module.billing-export-project[0].project_id - id = "billing_export" + id = lookup(var.resource_names, "bq/billing", "billing_export") friendly_name = "Billing export." location = local.locations.bq } diff --git a/fast/stages/0-bootstrap/cicd.tf b/fast/stages/0-bootstrap/cicd.tf index 6705d4cb18..f4b1d25ce8 100644 --- a/fast/stages/0-bootstrap/cicd.tf +++ b/fast/stages/0-bootstrap/cicd.tf @@ -76,12 +76,16 @@ locals { # SAs used by CI/CD workflows to impersonate automation SAs module "automation-tf-cicd-sa" { - source = "../../../modules/iam-service-account" - for_each = local.cicd_repositories - project_id = module.automation-project.project_id - name = "${each.key}-1" + source = "../../../modules/iam-service-account" + for_each = local.cicd_repositories + project_id = module.automation-project.project_id + name = ( + lookup(var.resource_names, "sa/cicd_template", null) == null + ? "${local.default_environment.short_name}-${each.key}-1" + : "${var.resource_names["sa/cicd_template"]}${each.key}-1" + ) display_name = "Terraform CI/CD ${each.key} service account." - prefix = local.prefix + prefix = var.prefix iam = { "roles/iam.workloadIdentityUser" = [ each.value.branch == null @@ -107,12 +111,16 @@ module "automation-tf-cicd-sa" { } module "automation-tf-cicd-r-sa" { - source = "../../../modules/iam-service-account" - for_each = local.cicd_repositories - project_id = module.automation-project.project_id - name = "${each.key}-1r" + source = "../../../modules/iam-service-account" + for_each = local.cicd_repositories + project_id = module.automation-project.project_id + name = ( + lookup(var.resource_names, "sa/cicd_template", null) == null + ? "${local.default_environment.short_name}-${each.key}-1r" + : "${var.resource_names["sa/cicd_template"]}${each.key}-1r" + ) display_name = "Terraform CI/CD ${each.key} service account (read-only)." - prefix = local.prefix + prefix = var.prefix iam = { "roles/iam.workloadIdentityUser" = [ format( diff --git a/fast/stages/0-bootstrap/identity-providers.tf b/fast/stages/0-bootstrap/identity-providers.tf index d2c15287e3..6da415b584 100644 --- a/fast/stages/0-bootstrap/identity-providers.tf +++ b/fast/stages/0-bootstrap/identity-providers.tf @@ -32,10 +32,12 @@ locals { } resource "google_iam_workforce_pool" "default" { - count = length(local.workforce_identity_providers) > 0 ? 1 : 0 - parent = "organizations/${var.organization.id}" - location = "global" - workforce_pool_id = "${var.prefix}-bootstrap" + count = length(local.workforce_identity_providers) > 0 ? 1 : 0 + parent = "organizations/${var.organization.id}" + location = "global" + workforce_pool_id = lookup( + var.resource_names, "wf/bootstrap", "${var.prefix}-bootstrap" + ) } resource "google_iam_workforce_pool_provider" "default" { @@ -46,18 +48,24 @@ resource "google_iam_workforce_pool_provider" "default" { disabled = each.value.disabled display_name = each.value.display_name location = google_iam_workforce_pool.default[0].location - provider_id = "${var.prefix}-bootstrap-${each.key}" - workforce_pool_id = google_iam_workforce_pool.default[0].workforce_pool_id + provider_id = ( + lookup(var.resource_names, "wf/provider_template", null) == null + ? "${var.prefix}-bootstrap-${each.key}" + : "${var.resource_names["wf/provider_template"]}-${each.key}" + ) + workforce_pool_id = google_iam_workforce_pool.default[0].workforce_pool_id saml { idp_metadata_xml = each.value.saml.idp_metadata_xml } } resource "google_iam_workload_identity_pool" "default" { - provider = google-beta - count = length(local.workload_identity_providers) > 0 ? 1 : 0 - project = module.automation-project.project_id - workload_identity_pool_id = "${var.prefix}-bootstrap" + provider = google-beta + count = length(local.workload_identity_providers) > 0 ? 1 : 0 + project = module.automation-project.project_id + workload_identity_pool_id = lookup( + var.resource_names, "wif/bootstrap", "${var.prefix}-bootstrap" + ) } resource "google_iam_workload_identity_pool_provider" "default" { @@ -67,9 +75,13 @@ resource "google_iam_workload_identity_pool_provider" "default" { workload_identity_pool_id = ( google_iam_workload_identity_pool.default[0].workload_identity_pool_id ) - workload_identity_pool_provider_id = "${var.prefix}-bootstrap-${each.key}" - attribute_condition = each.value.attribute_condition - attribute_mapping = each.value.attribute_mapping + workload_identity_pool_provider_id = ( + lookup(var.resource_names, "wif/provider_template", null) == null + ? "${var.prefix}-bootstrap-${each.key}" + : "${var.resource_names["wif/provider_template"]}-${each.key}" + ) + attribute_condition = each.value.attribute_condition + attribute_mapping = each.value.attribute_mapping oidc { # Setting an empty list configures allowed_audiences to the url of the provider allowed_audiences = each.value.custom_settings.audiences diff --git a/fast/stages/0-bootstrap/log-export.tf b/fast/stages/0-bootstrap/log-export.tf index ccecd693e9..15988e813e 100644 --- a/fast/stages/0-bootstrap/log-export.tf +++ b/fast/stages/0-bootstrap/log-export.tf @@ -38,11 +38,11 @@ locals { module "log-export-project" { source = "../../../modules/project" - name = "audit-logs-0" + name = "${local.default_environment.short_name}-audit-logs-0" parent = coalesce( var.project_parent_ids.logging, "organizations/${var.organization.id}" ) - prefix = local.prefix + prefix = var.prefix billing_account = var.billing_account.id contacts = ( var.bootstrap_user != null || var.essential_contacts == null @@ -69,7 +69,7 @@ module "log-export-dataset" { source = "../../../modules/bigquery-dataset" count = contains(local.log_types, "bigquery") ? 1 : 0 project_id = module.log-export-project.project_id - id = "logs" + id = lookup(var.resource_names, "bq/logs", "logs") friendly_name = "Audit logs export." location = local.locations.bq } @@ -78,9 +78,11 @@ module "log-export-gcs" { source = "../../../modules/gcs" count = contains(local.log_types, "storage") ? 1 : 0 project_id = module.log-export-project.project_id - name = "logs" - prefix = local.prefix - location = local.locations.gcs + name = lookup( + var.resource_names, "gcs/logs", "${local.default_environment.short_name}-logs" + ) + prefix = var.prefix + location = local.locations.gcs } module "log-export-logbucket" { @@ -100,6 +102,10 @@ module "log-export-pubsub" { source = "../../../modules/pubsub" for_each = toset([for k, v in var.log_sinks : k if v.type == "pubsub"]) project_id = module.log-export-project.project_id - name = each.key - regions = local.locations.pubsub + name = ( + lookup(var.resource_names, "pubsub/logs_template", null) == null + ? each.key + : "${var.resource_names["pubsub/logs_template"]}-${each.key}" + ) + regions = local.locations.pubsub } diff --git a/fast/stages/0-bootstrap/main.tf b/fast/stages/0-bootstrap/main.tf index 7e3cde1507..2276ca9de8 100644 --- a/fast/stages/0-bootstrap/main.tf +++ b/fast/stages/0-bootstrap/main.tf @@ -15,7 +15,18 @@ */ locals { - env_default = [for k, v in var.environments : k if v.is_default][0] + default_environment = [ + for k, v in local.environments : v if v.is_default + ][0] + environments = { + for k, v in var.environments : k => { + is_default = v.is_default + key = k + name = v.name + short_name = v.short_name != null ? v.short_name : k + tag_name = v.tag_name != null ? v.tag_name : lower(v.name) + } + } principals = { for k, v in var.groups : k => ( can(regex("^[a-zA-Z]+:", v)) @@ -30,5 +41,5 @@ locals { pubsub = var.locations.pubsub } # naming: environment used in most resource names - prefix = join("-", compact([var.prefix, local.env_default])) + prefix = join("-", compact([var.prefix, local.default_environment.short_name])) } diff --git a/fast/stages/0-bootstrap/outputs.tf b/fast/stages/0-bootstrap/outputs.tf index 662da09197..5d21e6749e 100644 --- a/fast/stages/0-bootstrap/outputs.tf +++ b/fast/stages/0-bootstrap/outputs.tf @@ -141,17 +141,10 @@ locals { tfvars_globals = { billing_account = var.billing_account groups = local.principals - environments = { - for k, v in var.environments : - k => merge(v, { - tag_name = ( - v.tag_name != null ? v.tag_name : lower(replace(v.name, " ", "-")) - ) - }) - } - locations = local.locations - organization = var.organization - prefix = var.prefix + environments = local.environments + locations = local.locations + organization = var.organization + prefix = var.prefix } } diff --git a/fast/stages/0-bootstrap/variables.tf b/fast/stages/0-bootstrap/variables.tf index d6dab876a9..abaf59eb0b 100644 --- a/fast/stages/0-bootstrap/variables.tf +++ b/fast/stages/0-bootstrap/variables.tf @@ -103,10 +103,11 @@ variable "custom_roles" { } variable "environments" { - description = "Environment names." + description = "Environment names. When not defined, short name is set to the key and tag name to lower(name)." type = map(object({ name = string is_default = optional(bool, false) + short_name = optional(string) tag_name = optional(string) })) nullable = false @@ -321,6 +322,13 @@ variable "project_parent_ids" { nullable = false } +variable "resource_names" { + description = "Resource names overrides for specific resources. Check the code to determine which overrides are supported." + type = map(string) + nullable = false + default = {} +} + variable "workforce_identity_providers" { description = "Workforce Identity Federation pools." type = map(object({ From 798707e28f29d1a73635574eeff03c1a7f3aadcf Mon Sep 17 00:00:00 2001 From: Ludo Date: Mon, 16 Dec 2024 15:49:26 +0100 Subject: [PATCH 02/10] tfdoc --- fast/stages/0-bootstrap/README.md | 57 ++++++++++++++++--------------- 1 file changed, 29 insertions(+), 28 deletions(-) diff --git a/fast/stages/0-bootstrap/README.md b/fast/stages/0-bootstrap/README.md index 5f172769e7..d7ec56ed1b 100644 --- a/fast/stages/0-bootstrap/README.md +++ b/fast/stages/0-bootstrap/README.md @@ -661,40 +661,41 @@ The remaining configuration is manual, as it regards the repositories themselves | name | description | type | required | default | producer | |---|---|:---:|:---:|:---:|:---:| | [billing_account](variables.tf#L17) | Billing account id. If billing account is not part of the same org set `is_org_level` to `false`. To disable handling of billing IAM roles set `no_iam` to `true`. | object({…}) | ✓ | | | -| [organization](variables.tf#L289) | Organization details. | object({…}) | ✓ | | | -| [prefix](variables.tf#L304) | Prefix used for resources that need unique names. Use 9 characters or less. | string | ✓ | | | +| [organization](variables.tf#L290) | Organization details. | object({…}) | ✓ | | | +| [prefix](variables.tf#L305) | Prefix used for resources that need unique names. Use 9 characters or less. | string | ✓ | | | | [bootstrap_user](variables.tf#L38) | Email of the nominal user running this stage for the first time. | string | | null | | | [cicd_repositories](variables.tf#L44) | CI/CD repository configuration. Identity providers reference keys in the `federated_identity_providers` variable. Set to null to disable, or set individual repositories to null if not needed. | object({…}) | | null | | | [custom_roles](variables.tf#L98) | Map of role names => list of permissions to additionally create at the organization level. | map(list(string)) | | {} | | -| [environments](variables.tf#L105) | Environment names. | map(object({…})) | | {…} | | -| [essential_contacts](variables.tf#L138) | Email used for essential contacts, unset if null. | string | | null | | -| [factories_config](variables.tf#L144) | Configuration for the resource factories or external data. | object({…}) | | {} | | -| [groups](variables.tf#L155) | Group names or IAM-format principals to grant organization-level permissions. If just the name is provided, the 'group:' principal and organization domain are interpolated. | object({…}) | | {} | | -| [iam](variables.tf#L171) | Organization-level custom IAM settings in role => [principal] format. | map(list(string)) | | {} | | -| [iam_bindings_additive](variables.tf#L178) | Organization-level custom additive IAM bindings. Keys are arbitrary. | map(object({…})) | | {} | | -| [iam_by_principals](variables.tf#L193) | 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)) | | {} | | -| [locations](variables.tf#L200) | Optional locations for GCS, BigQuery, and logging buckets created here. | object({…}) | | {} | | -| [log_sinks](variables.tf#L214) | Org-level log sinks, in name => {type, filter} format. | map(object({…})) | | {…} | | -| [org_policies_config](variables.tf#L270) | Organization policies customization. | object({…}) | | {} | | -| [outputs_location](variables.tf#L298) | Enable writing provider, tfvars and CI/CD workflow files to local filesystem. Leave null to disable. | string | | null | | -| [project_parent_ids](variables.tf#L313) | Optional parents for projects created here in folders/nnnnnnn format. Null values will use the organization as parent. | object({…}) | | {} | | -| [workforce_identity_providers](variables.tf#L324) | Workforce Identity Federation pools. | map(object({…})) | | {} | | -| [workload_identity_providers](variables.tf#L340) | Workload Identity Federation pools. The `cicd_repositories` variable references keys here. | map(object({…})) | | {} | | +| [environments](variables.tf#L105) | Environment names. When not defined, short name is set to the key and tag name to lower(name). | map(object({…})) | | {…} | | +| [essential_contacts](variables.tf#L139) | Email used for essential contacts, unset if null. | string | | null | | +| [factories_config](variables.tf#L145) | Configuration for the resource factories or external data. | object({…}) | | {} | | +| [groups](variables.tf#L156) | Group names or IAM-format principals to grant organization-level permissions. If just the name is provided, the 'group:' principal and organization domain are interpolated. | object({…}) | | {} | | +| [iam](variables.tf#L172) | Organization-level custom IAM settings in role => [principal] format. | map(list(string)) | | {} | | +| [iam_bindings_additive](variables.tf#L179) | Organization-level custom additive IAM bindings. Keys are arbitrary. | map(object({…})) | | {} | | +| [iam_by_principals](variables.tf#L194) | 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)) | | {} | | +| [locations](variables.tf#L201) | Optional locations for GCS, BigQuery, and logging buckets created here. | object({…}) | | {} | | +| [log_sinks](variables.tf#L215) | Org-level log sinks, in name => {type, filter} format. | map(object({…})) | | {…} | | +| [org_policies_config](variables.tf#L271) | Organization policies customization. | object({…}) | | {} | | +| [outputs_location](variables.tf#L299) | Enable writing provider, tfvars and CI/CD workflow files to local filesystem. Leave null to disable. | string | | null | | +| [project_parent_ids](variables.tf#L314) | Optional parents for projects created here in folders/nnnnnnn format. Null values will use the organization as parent. | object({…}) | | {} | | +| [resource_names](variables.tf#L325) | Resource names overrides for specific resources. Check the code to determine which overrides are supported. | map(string) | | {} | | +| [workforce_identity_providers](variables.tf#L332) | Workforce Identity Federation pools. | map(object({…})) | | {} | | +| [workload_identity_providers](variables.tf#L348) | Workload Identity Federation pools. The `cicd_repositories` variable references keys here. | map(object({…})) | | {} | | ## Outputs | name | description | sensitive | consumers | |---|---|:---:|---| -| [automation](outputs.tf#L158) | Automation resources. | | | -| [billing_dataset](outputs.tf#L163) | BigQuery dataset prepared for billing export. | | | -| [cicd_repositories](outputs.tf#L168) | CI/CD repository configurations. | | | -| [custom_roles](outputs.tf#L180) | Organization-level custom roles. | | | -| [outputs_bucket](outputs.tf#L185) | GCS bucket where generated output files are stored. | | | -| [project_ids](outputs.tf#L190) | Projects created by this stage. | | | -| [providers](outputs.tf#L200) | Terraform provider files for this stage and dependent stages. | ✓ | stage-01 | -| [service_accounts](outputs.tf#L207) | Automation service accounts created by this stage. | | | -| [tfvars](outputs.tf#L216) | Terraform variable files for the following stages. | ✓ | | -| [tfvars_globals](outputs.tf#L222) | Terraform Globals variable files for the following stages. | ✓ | | -| [workforce_identity_pool](outputs.tf#L228) | Workforce Identity Federation pool. | | | -| [workload_identity_pool](outputs.tf#L237) | Workload Identity Federation pool and providers. | | | +| [automation](outputs.tf#L151) | Automation resources. | | | +| [billing_dataset](outputs.tf#L156) | BigQuery dataset prepared for billing export. | | | +| [cicd_repositories](outputs.tf#L161) | CI/CD repository configurations. | | | +| [custom_roles](outputs.tf#L173) | Organization-level custom roles. | | | +| [outputs_bucket](outputs.tf#L178) | GCS bucket where generated output files are stored. | | | +| [project_ids](outputs.tf#L183) | Projects created by this stage. | | | +| [providers](outputs.tf#L193) | Terraform provider files for this stage and dependent stages. | ✓ | stage-01 | +| [service_accounts](outputs.tf#L200) | Automation service accounts created by this stage. | | | +| [tfvars](outputs.tf#L209) | Terraform variable files for the following stages. | ✓ | | +| [tfvars_globals](outputs.tf#L215) | Terraform Globals variable files for the following stages. | ✓ | | +| [workforce_identity_pool](outputs.tf#L221) | Workforce Identity Federation pool. | | | +| [workload_identity_pool](outputs.tf#L230) | Workload Identity Federation pool and providers. | | | From 69d2cac68998860affd08f4d54f737f40273f5e2 Mon Sep 17 00:00:00 2001 From: Ludo Date: Mon, 16 Dec 2024 15:50:47 +0100 Subject: [PATCH 03/10] tflint --- fast/stages/0-bootstrap/main.tf | 2 -- 1 file changed, 2 deletions(-) diff --git a/fast/stages/0-bootstrap/main.tf b/fast/stages/0-bootstrap/main.tf index 2276ca9de8..eaecf7a15f 100644 --- a/fast/stages/0-bootstrap/main.tf +++ b/fast/stages/0-bootstrap/main.tf @@ -40,6 +40,4 @@ locals { logging = var.locations.logging pubsub = var.locations.pubsub } - # naming: environment used in most resource names - prefix = join("-", compact([var.prefix, local.default_environment.short_name])) } From d014ce3acd7c8bbadaa531a106547a046639670c Mon Sep 17 00:00:00 2001 From: Ludo Date: Mon, 16 Dec 2024 15:51:43 +0100 Subject: [PATCH 04/10] remove comment --- fast/stages/0-bootstrap/automation.tf | 1 - 1 file changed, 1 deletion(-) diff --git a/fast/stages/0-bootstrap/automation.tf b/fast/stages/0-bootstrap/automation.tf index 47a2eda79e..d736b45ea4 100644 --- a/fast/stages/0-bootstrap/automation.tf +++ b/fast/stages/0-bootstrap/automation.tf @@ -28,7 +28,6 @@ locals { module "automation-project" { source = "../../../modules/project" billing_account = var.billing_account.id - # name = lookup(var.resource_names, "projects/automation", "${}iac-core-0") name = lookup( var.resource_names, "project/automation", "${local.default_environment.short_name}-iac-core-0" ) From 72913d34b0fdfd86f0f565228539f2a3b51701bb Mon Sep 17 00:00:00 2001 From: Ludo Date: Mon, 16 Dec 2024 16:40:00 +0100 Subject: [PATCH 05/10] use object type --- fast/stages/0-bootstrap/README.md | 6 +- fast/stages/0-bootstrap/automation.tf | 68 +++++++------------ fast/stages/0-bootstrap/billing.tf | 6 +- fast/stages/0-bootstrap/cicd.tf | 12 ++-- fast/stages/0-bootstrap/identity-providers.tf | 27 ++++---- fast/stages/0-bootstrap/log-export.tf | 19 ++---- fast/stages/0-bootstrap/main.tf | 12 ---- fast/stages/0-bootstrap/outputs.tf | 16 +++-- fast/stages/0-bootstrap/variables.tf | 31 ++++++++- 9 files changed, 92 insertions(+), 105 deletions(-) diff --git a/fast/stages/0-bootstrap/README.md b/fast/stages/0-bootstrap/README.md index d7ec56ed1b..65eb908b23 100644 --- a/fast/stages/0-bootstrap/README.md +++ b/fast/stages/0-bootstrap/README.md @@ -678,9 +678,9 @@ The remaining configuration is manual, as it regards the repositories themselves | [org_policies_config](variables.tf#L271) | Organization policies customization. | object({…}) | | {} | | | [outputs_location](variables.tf#L299) | Enable writing provider, tfvars and CI/CD workflow files to local filesystem. Leave null to disable. | string | | null | | | [project_parent_ids](variables.tf#L314) | Optional parents for projects created here in folders/nnnnnnn format. Null values will use the organization as parent. | object({…}) | | {} | | -| [resource_names](variables.tf#L325) | Resource names overrides for specific resources. Check the code to determine which overrides are supported. | map(string) | | {} | | -| [workforce_identity_providers](variables.tf#L332) | Workforce Identity Federation pools. | map(object({…})) | | {} | | -| [workload_identity_providers](variables.tf#L348) | Workload Identity Federation pools. The `cicd_repositories` variable references keys here. | map(object({…})) | | {} | | +| [resource_names](variables.tf#L325) | Resource names overrides for specific resources. Check the code to determine which overrides are supported. | object({…}) | | {} | | +| [workforce_identity_providers](variables.tf#L357) | Workforce Identity Federation pools. | map(object({…})) | | {} | | +| [workload_identity_providers](variables.tf#L373) | Workload Identity Federation pools. The `cicd_repositories` variable references keys here. | map(object({…})) | | {} | | ## Outputs diff --git a/fast/stages/0-bootstrap/automation.tf b/fast/stages/0-bootstrap/automation.tf index d736b45ea4..4dc44093d8 100644 --- a/fast/stages/0-bootstrap/automation.tf +++ b/fast/stages/0-bootstrap/automation.tf @@ -28,9 +28,7 @@ locals { module "automation-project" { source = "../../../modules/project" billing_account = var.billing_account.id - name = lookup( - var.resource_names, "project/automation", "${local.default_environment.short_name}-iac-core-0" - ) + name = var.resource_names["project-automation"] parent = coalesce( var.project_parent_ids.automation, "organizations/${var.organization.id}" ) @@ -194,9 +192,7 @@ module "automation-project" { module "automation-tf-output-gcs" { source = "../../../modules/gcs" project_id = module.automation-project.project_id - name = lookup( - var.resource_names, "gcs/outputs", "${local.default_environment.short_name}-iac-core-outputs-0" - ) + name = var.resource_names["gcs-outputs"] prefix = var.prefix location = local.locations.gcs versioning = true @@ -208,9 +204,7 @@ module "automation-tf-output-gcs" { module "automation-tf-bootstrap-gcs" { source = "../../../modules/gcs" project_id = module.automation-project.project_id - name = lookup( - var.resource_names, "gcs/bootstrap", "${local.default_environment.short_name}-iac-core-bootstrap-0" - ) + name = var.resource_names["gcs-bootstrap"] prefix = var.prefix location = local.locations.gcs versioning = true @@ -218,11 +212,9 @@ module "automation-tf-bootstrap-gcs" { } module "automation-tf-bootstrap-sa" { - source = "../../../modules/iam-service-account" - project_id = module.automation-project.project_id - name = lookup( - var.resource_names, "sa/bootstrap", "${local.default_environment.short_name}-bootstrap-0" - ) + source = "../../../modules/iam-service-account" + project_id = module.automation-project.project_id + name = var.resource_names["sa-bootstrap"] display_name = "Terraform organization bootstrap service account." prefix = var.prefix # allow SA used by CI/CD workflow to impersonate this SA @@ -237,11 +229,9 @@ module "automation-tf-bootstrap-sa" { } module "automation-tf-bootstrap-r-sa" { - source = "../../../modules/iam-service-account" - project_id = module.automation-project.project_id - name = lookup( - var.resource_names, "sa/bootstrap-ro", "${local.default_environment.short_name}-bootstrap-0r" - ) + source = "../../../modules/iam-service-account" + project_id = module.automation-project.project_id + name = var.resource_names["sa-bootstrap_ro"] display_name = "Terraform organization bootstrap service account (read-only)." prefix = var.prefix # allow SA used by CI/CD workflow to impersonate this SA @@ -268,9 +258,7 @@ module "automation-tf-bootstrap-r-sa" { module "automation-tf-resman-gcs" { source = "../../../modules/gcs" project_id = module.automation-project.project_id - name = lookup( - var.resource_names, "gcs/resman", "${local.default_environment.short_name}-iac-core-resman-0" - ) + name = var.resource_names["gcs-resman"] prefix = var.prefix location = local.locations.gcs versioning = true @@ -282,11 +270,9 @@ module "automation-tf-resman-gcs" { } module "automation-tf-resman-sa" { - source = "../../../modules/iam-service-account" - project_id = module.automation-project.project_id - name = lookup( - var.resource_names, "sa/resman", "${local.default_environment.short_name}-resman-0" - ) + source = "../../../modules/iam-service-account" + project_id = module.automation-project.project_id + name = var.resource_names["sa-resman"] display_name = "Terraform stage 1 resman service account." prefix = var.prefix # allow SA used by CI/CD workflow to impersonate this SA @@ -311,11 +297,9 @@ module "automation-tf-resman-sa" { } module "automation-tf-resman-r-sa" { - source = "../../../modules/iam-service-account" - project_id = module.automation-project.project_id - name = lookup( - var.resource_names, "sa/resman-ro", "${local.default_environment.short_name}-resman-0r" - ) + source = "../../../modules/iam-service-account" + project_id = module.automation-project.project_id + name = var.resource_names["sa-resman_ro"] display_name = "Terraform stage 1 resman service account (read-only)." prefix = var.prefix # allow SA used by CI/CD workflow to impersonate this SA @@ -352,9 +336,7 @@ module "automation-tf-resman-r-sa" { module "automation-tf-vpcsc-gcs" { source = "../../../modules/gcs" project_id = module.automation-project.project_id - name = lookup( - var.resource_names, "gcs/vpcsc", "${local.default_environment.short_name}-iac-core-vpcsc-0" - ) + name = var.resource_names["gcs-vpcsc"] prefix = var.prefix location = local.locations.gcs versioning = true @@ -366,11 +348,9 @@ module "automation-tf-vpcsc-gcs" { } module "automation-tf-vpcsc-sa" { - source = "../../../modules/iam-service-account" - project_id = module.automation-project.project_id - name = lookup( - var.resource_names, "sa/vpcsc", "${local.default_environment.short_name}-vpcsc-0" - ) + source = "../../../modules/iam-service-account" + project_id = module.automation-project.project_id + name = var.resource_names["sa-vpcsc"] display_name = "Terraform stage 1 vpcsc service account." prefix = var.prefix # allow SA used by CI/CD workflow to impersonate this SA @@ -395,11 +375,9 @@ module "automation-tf-vpcsc-sa" { } module "automation-tf-vpcsc-r-sa" { - source = "../../../modules/iam-service-account" - project_id = module.automation-project.project_id - name = lookup( - var.resource_names, "sa/vpcsc-ro", "${local.default_environment.short_name}-vpcsc-0r" - ) + source = "../../../modules/iam-service-account" + project_id = module.automation-project.project_id + name = var.resource_names["sa-vpcsc_ro"] display_name = "Terraform stage 1 vpcsc service account (read-only)." prefix = var.prefix # allow SA used by CI/CD workflow to impersonate this SA diff --git a/fast/stages/0-bootstrap/billing.tf b/fast/stages/0-bootstrap/billing.tf index 5e66aab358..881968de0f 100644 --- a/fast/stages/0-bootstrap/billing.tf +++ b/fast/stages/0-bootstrap/billing.tf @@ -43,9 +43,7 @@ module "billing-export-project" { local.billing_mode == "org" || var.billing_account.force_create.project == true ? 1 : 0 ) billing_account = var.billing_account.id - name = lookup( - var.resource_names, "project/billing", "${local.default_environment.short_name}-billing-exp-0" - ) + name = var.resource_names["project-billing"] parent = coalesce( var.project_parent_ids.billing, "organizations/${var.organization.id}" ) @@ -75,7 +73,7 @@ module "billing-export-dataset" { local.billing_mode == "org" || var.billing_account.force_create.dataset == true ? 1 : 0 ) project_id = module.billing-export-project[0].project_id - id = lookup(var.resource_names, "bq/billing", "billing_export") + id = var.resource_names["bq-billing"] friendly_name = "Billing export." location = local.locations.bq } diff --git a/fast/stages/0-bootstrap/cicd.tf b/fast/stages/0-bootstrap/cicd.tf index f4b1d25ce8..f6f7660795 100644 --- a/fast/stages/0-bootstrap/cicd.tf +++ b/fast/stages/0-bootstrap/cicd.tf @@ -79,10 +79,8 @@ module "automation-tf-cicd-sa" { source = "../../../modules/iam-service-account" for_each = local.cicd_repositories project_id = module.automation-project.project_id - name = ( - lookup(var.resource_names, "sa/cicd_template", null) == null - ? "${local.default_environment.short_name}-${each.key}-1" - : "${var.resource_names["sa/cicd_template"]}${each.key}-1" + name = templatestring( + var.resource_names["sa-cicd_template"], { key = each.key } ) display_name = "Terraform CI/CD ${each.key} service account." prefix = var.prefix @@ -114,10 +112,8 @@ module "automation-tf-cicd-r-sa" { source = "../../../modules/iam-service-account" for_each = local.cicd_repositories project_id = module.automation-project.project_id - name = ( - lookup(var.resource_names, "sa/cicd_template", null) == null - ? "${local.default_environment.short_name}-${each.key}-1r" - : "${var.resource_names["sa/cicd_template"]}${each.key}-1r" + name = templatestring( + var.resource_names["sa-cicd_template_ro"], { key = each.key } ) display_name = "Terraform CI/CD ${each.key} service account (read-only)." prefix = var.prefix diff --git a/fast/stages/0-bootstrap/identity-providers.tf b/fast/stages/0-bootstrap/identity-providers.tf index 6da415b584..49ce2a6987 100644 --- a/fast/stages/0-bootstrap/identity-providers.tf +++ b/fast/stages/0-bootstrap/identity-providers.tf @@ -35,8 +35,8 @@ resource "google_iam_workforce_pool" "default" { count = length(local.workforce_identity_providers) > 0 ? 1 : 0 parent = "organizations/${var.organization.id}" location = "global" - workforce_pool_id = lookup( - var.resource_names, "wf/bootstrap", "${var.prefix}-bootstrap" + workforce_pool_id = templatestring( + var.resource_names["wf-bootstrap"], { prefix = var.prefix } ) } @@ -48,11 +48,10 @@ resource "google_iam_workforce_pool_provider" "default" { disabled = each.value.disabled display_name = each.value.display_name location = google_iam_workforce_pool.default[0].location - provider_id = ( - lookup(var.resource_names, "wf/provider_template", null) == null - ? "${var.prefix}-bootstrap-${each.key}" - : "${var.resource_names["wf/provider_template"]}-${each.key}" - ) + provider_id = templatestring(var.resource_names["wf-provider_template"], { + prefix = var.prefix + key = each.key + }) workforce_pool_id = google_iam_workforce_pool.default[0].workforce_pool_id saml { idp_metadata_xml = each.value.saml.idp_metadata_xml @@ -63,8 +62,8 @@ resource "google_iam_workload_identity_pool" "default" { provider = google-beta count = length(local.workload_identity_providers) > 0 ? 1 : 0 project = module.automation-project.project_id - workload_identity_pool_id = lookup( - var.resource_names, "wif/bootstrap", "${var.prefix}-bootstrap" + workload_identity_pool_id = templatestring( + var.resource_names["wif-bootstrap"], { prefix = var.prefix } ) } @@ -75,11 +74,11 @@ resource "google_iam_workload_identity_pool_provider" "default" { workload_identity_pool_id = ( google_iam_workload_identity_pool.default[0].workload_identity_pool_id ) - workload_identity_pool_provider_id = ( - lookup(var.resource_names, "wif/provider_template", null) == null - ? "${var.prefix}-bootstrap-${each.key}" - : "${var.resource_names["wif/provider_template"]}-${each.key}" - ) + workload_identity_pool_provider_id = templatestring( + var.resource_names["wif-provider_template"], { + prefix = var.prefix + key = each.key + }) attribute_condition = each.value.attribute_condition attribute_mapping = each.value.attribute_mapping oidc { diff --git a/fast/stages/0-bootstrap/log-export.tf b/fast/stages/0-bootstrap/log-export.tf index 15988e813e..98061a7a20 100644 --- a/fast/stages/0-bootstrap/log-export.tf +++ b/fast/stages/0-bootstrap/log-export.tf @@ -38,7 +38,7 @@ locals { module "log-export-project" { source = "../../../modules/project" - name = "${local.default_environment.short_name}-audit-logs-0" + name = var.resource_names["project-logs"] parent = coalesce( var.project_parent_ids.logging, "organizations/${var.organization.id}" ) @@ -69,7 +69,7 @@ module "log-export-dataset" { source = "../../../modules/bigquery-dataset" count = contains(local.log_types, "bigquery") ? 1 : 0 project_id = module.log-export-project.project_id - id = lookup(var.resource_names, "bq/logs", "logs") + id = var.resource_names["bq-logs"] friendly_name = "Audit logs export." location = local.locations.bq } @@ -78,11 +78,9 @@ module "log-export-gcs" { source = "../../../modules/gcs" count = contains(local.log_types, "storage") ? 1 : 0 project_id = module.log-export-project.project_id - name = lookup( - var.resource_names, "gcs/logs", "${local.default_environment.short_name}-logs" - ) - prefix = var.prefix - location = local.locations.gcs + name = var.resource_names["gcs-logs"] + prefix = var.prefix + location = local.locations.gcs } module "log-export-logbucket" { @@ -93,7 +91,6 @@ module "log-export-logbucket" { id = each.key location = local.locations.logging log_analytics = { enable = true } - # org-level logging settings ready before we create any logging buckets depends_on = [module.organization-logging] } @@ -102,10 +99,8 @@ module "log-export-pubsub" { source = "../../../modules/pubsub" for_each = toset([for k, v in var.log_sinks : k if v.type == "pubsub"]) project_id = module.log-export-project.project_id - name = ( - lookup(var.resource_names, "pubsub/logs_template", null) == null - ? each.key - : "${var.resource_names["pubsub/logs_template"]}-${each.key}" + name = templatestring( + var.resource_names["pubsub-logs_template"], { key = each.key } ) regions = local.locations.pubsub } diff --git a/fast/stages/0-bootstrap/main.tf b/fast/stages/0-bootstrap/main.tf index eaecf7a15f..c7ce07cf75 100644 --- a/fast/stages/0-bootstrap/main.tf +++ b/fast/stages/0-bootstrap/main.tf @@ -15,18 +15,6 @@ */ locals { - default_environment = [ - for k, v in local.environments : v if v.is_default - ][0] - environments = { - for k, v in var.environments : k => { - is_default = v.is_default - key = k - name = v.name - short_name = v.short_name != null ? v.short_name : k - tag_name = v.tag_name != null ? v.tag_name : lower(v.name) - } - } principals = { for k, v in var.groups : k => ( can(regex("^[a-zA-Z]+:", v)) diff --git a/fast/stages/0-bootstrap/outputs.tf b/fast/stages/0-bootstrap/outputs.tf index 5d21e6749e..876b269f07 100644 --- a/fast/stages/0-bootstrap/outputs.tf +++ b/fast/stages/0-bootstrap/outputs.tf @@ -141,10 +141,18 @@ locals { tfvars_globals = { billing_account = var.billing_account groups = local.principals - environments = local.environments - locations = local.locations - organization = var.organization - prefix = var.prefix + environments = { + for k, v in var.environments : k => { + is_default = v.is_default + key = k + name = v.name + short_name = v.short_name != null ? v.short_name : k + tag_name = v.tag_name != null ? v.tag_name : lower(v.name) + } + } + locations = local.locations + organization = var.organization + prefix = var.prefix } } diff --git a/fast/stages/0-bootstrap/variables.tf b/fast/stages/0-bootstrap/variables.tf index abaf59eb0b..ee4262dee1 100644 --- a/fast/stages/0-bootstrap/variables.tf +++ b/fast/stages/0-bootstrap/variables.tf @@ -324,9 +324,34 @@ variable "project_parent_ids" { variable "resource_names" { description = "Resource names overrides for specific resources. Check the code to determine which overrides are supported." - type = map(string) - nullable = false - default = {} + type = object({ + bq-billing = optional(string, "billing_export") + bq-logs = optional(string, "logs") + gcs-bootstrap = optional(string, "prod-iac-core-bootstrap-0") + gcs-logs = optional(string, "prod-logs") + gcs-outputs = optional(string, "prod-iac-core-outputs-0") + gcs-resman = optional(string, "prod-iac-core-resman-0") + gcs-vpcsc = optional(string, "prod-iac-core-vpcsc-0") + project-automation = optional(string, "prod-iac-core-0") + project-billing = optional(string, "prod-billing-exp-0") + project-logs = optional(string, "prod-audit-logs-0") + pubsub-logs_template = optional(string, "$${key}") + sa-bootstrap = optional(string, "prod-bootstrap-0") + sa-bootstrap_ro = optional(string, "prod-bootstrap-0r") + sa-cicd_template = optional(string, "prod-$${key}-1") + sa-cicd_template_ro = optional(string, "prod-$${key}-1r") + sa-resman = optional(string, "prod-resman-0") + sa-resman_ro = optional(string, "prod-resman-0r") + sa-vpcsc = optional(string, "prod-vpcsc-0") + sa-vpcsc_ro = optional(string, "prod-vpcsc-0r") + # the identity provider resources also interpolate prefix + wf-bootstrap = optional(string, "$${prefix}-bootstrap") + wf-provider_template = optional(string, "$${prefix}-bootstrap-$${key}") + wif-bootstrap = optional(string, "$${prefix}-bootstrap") + wif-provider_template = optional(string, "$${prefix}-bootstrap-$${key}") + }) + nullable = false + default = {} } variable "workforce_identity_providers" { From e445c68bed978c53921947ebf567f486e7b1d984 Mon Sep 17 00:00:00 2001 From: Ludo Date: Mon, 16 Dec 2024 16:41:15 +0100 Subject: [PATCH 06/10] tfdoc --- fast/stages/0-bootstrap/README.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/fast/stages/0-bootstrap/README.md b/fast/stages/0-bootstrap/README.md index 65eb908b23..1d5b696786 100644 --- a/fast/stages/0-bootstrap/README.md +++ b/fast/stages/0-bootstrap/README.md @@ -686,16 +686,16 @@ The remaining configuration is manual, as it regards the repositories themselves | name | description | sensitive | consumers | |---|---|:---:|---| -| [automation](outputs.tf#L151) | Automation resources. | | | -| [billing_dataset](outputs.tf#L156) | BigQuery dataset prepared for billing export. | | | -| [cicd_repositories](outputs.tf#L161) | CI/CD repository configurations. | | | -| [custom_roles](outputs.tf#L173) | Organization-level custom roles. | | | -| [outputs_bucket](outputs.tf#L178) | GCS bucket where generated output files are stored. | | | -| [project_ids](outputs.tf#L183) | Projects created by this stage. | | | -| [providers](outputs.tf#L193) | Terraform provider files for this stage and dependent stages. | ✓ | stage-01 | -| [service_accounts](outputs.tf#L200) | Automation service accounts created by this stage. | | | -| [tfvars](outputs.tf#L209) | Terraform variable files for the following stages. | ✓ | | -| [tfvars_globals](outputs.tf#L215) | Terraform Globals variable files for the following stages. | ✓ | | -| [workforce_identity_pool](outputs.tf#L221) | Workforce Identity Federation pool. | | | -| [workload_identity_pool](outputs.tf#L230) | Workload Identity Federation pool and providers. | | | +| [automation](outputs.tf#L159) | Automation resources. | | | +| [billing_dataset](outputs.tf#L164) | BigQuery dataset prepared for billing export. | | | +| [cicd_repositories](outputs.tf#L169) | CI/CD repository configurations. | | | +| [custom_roles](outputs.tf#L181) | Organization-level custom roles. | | | +| [outputs_bucket](outputs.tf#L186) | GCS bucket where generated output files are stored. | | | +| [project_ids](outputs.tf#L191) | Projects created by this stage. | | | +| [providers](outputs.tf#L201) | Terraform provider files for this stage and dependent stages. | ✓ | stage-01 | +| [service_accounts](outputs.tf#L208) | Automation service accounts created by this stage. | | | +| [tfvars](outputs.tf#L217) | Terraform variable files for the following stages. | ✓ | | +| [tfvars_globals](outputs.tf#L223) | Terraform Globals variable files for the following stages. | ✓ | | +| [workforce_identity_pool](outputs.tf#L229) | Workforce Identity Federation pool. | | | +| [workload_identity_pool](outputs.tf#L238) | Workload Identity Federation pool and providers. | | | From 5a2d9ecfcd2d11e82e329691dc5f7ab541ac583a Mon Sep 17 00:00:00 2001 From: Ludo Date: Mon, 16 Dec 2024 16:48:43 +0100 Subject: [PATCH 07/10] bump tf version --- .github/workflows/linting.yml | 2 +- .github/workflows/tests.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/linting.yml b/.github/workflows/linting.yml index aef274874f..f8146f6290 100644 --- a/.github/workflows/linting.yml +++ b/.github/workflows/linting.yml @@ -39,7 +39,7 @@ jobs: - name: Set up Terraform uses: hashicorp/setup-terraform@v3 with: - terraform_version: 1.7.4 + terraform_version: 1.10.2 - uses: terraform-linters/setup-tflint@v4 name: Setup TFLint diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 73df6e0a28..b67e4e44bb 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -39,7 +39,7 @@ env: TF_PLUGIN_CACHE_DIR: "/home/runner/.terraform.d/plugin-cache" TFTEST_COPY: 1 DEFAULT_TERRAFORM_FLAVOUR: terraform - DEFAULT_TERRAFORM_VERSION: ${{ inputs.terraform_version || '1.7.4' }} + DEFAULT_TERRAFORM_VERSION: ${{ inputs.terraform_version || '1.10.2' }} DEFAULT_TOFU_VERSION: "1.7.2" jobs: From a6cb8000acffad635d750c2c90a1fd717b1ca3a0 Mon Sep 17 00:00:00 2001 From: Ludo Date: Mon, 16 Dec 2024 16:49:28 +0100 Subject: [PATCH 08/10] bump terraform version in versions files --- blueprints/gke/patterns/autopilot-cluster/versions.tf | 2 +- blueprints/gke/patterns/batch/versions.tf | 2 +- blueprints/gke/patterns/kafka/versions.tf | 2 +- blueprints/gke/patterns/kong-cloudrun/versions.tf | 2 +- blueprints/gke/patterns/mysql/versions.tf | 2 +- blueprints/gke/patterns/redis-cluster/versions.tf | 2 +- blueprints/secops/secops-gke-forwarder/versions.tf | 2 +- default-versions.tf | 2 +- modules/__experimental_deprecated/alloydb-instance/versions.tf | 2 +- modules/__experimental_deprecated/net-neg/versions.tf | 2 +- modules/__experimental_deprecated/project-iam-magic/versions.tf | 2 +- modules/alloydb/versions.tf | 2 +- modules/analytics-hub/versions.tf | 2 +- modules/api-gateway/versions.tf | 2 +- modules/apigee/versions.tf | 2 +- modules/artifact-registry/versions.tf | 2 +- modules/bigquery-dataset/versions.tf | 2 +- modules/bigtable-instance/versions.tf | 2 +- modules/billing-account/versions.tf | 2 +- modules/binauthz/versions.tf | 2 +- modules/certificate-authority-service/versions.tf | 2 +- modules/certificate-manager/versions.tf | 2 +- modules/cloud-config-container/__need_fixing/onprem/versions.tf | 2 +- modules/cloud-config-container/__need_fixing/squid/versions.tf | 2 +- modules/cloud-config-container/bindplane/versions.tf | 2 +- modules/cloud-config-container/coredns/versions.tf | 2 +- modules/cloud-config-container/cos-generic-metadata/versions.tf | 2 +- .../cloud-config-container/envoy-sni-dyn-fwd-proxy/versions.tf | 2 +- .../cloud-config-container/envoy-traffic-director/versions.tf | 2 +- modules/cloud-config-container/mysql/versions.tf | 2 +- modules/cloud-config-container/nginx-tls/versions.tf | 2 +- modules/cloud-config-container/nginx/versions.tf | 2 +- modules/cloud-config-container/simple-nva/versions.tf | 2 +- modules/cloud-function-v1/versions.tf | 2 +- modules/cloud-function-v2/versions.tf | 2 +- modules/cloud-identity-group/versions.tf | 2 +- modules/cloud-run-v2/versions.tf | 2 +- modules/cloud-run/versions.tf | 2 +- modules/cloudsql-instance/versions.tf | 2 +- modules/compute-mig/versions.tf | 2 +- modules/compute-vm/versions.tf | 2 +- modules/container-registry/versions.tf | 2 +- modules/data-catalog-policy-tag/versions.tf | 2 +- modules/data-catalog-tag-template/versions.tf | 2 +- modules/data-catalog-tag/versions.tf | 2 +- modules/dataform-repository/versions.tf | 2 +- modules/datafusion/versions.tf | 2 +- modules/dataplex-datascan/versions.tf | 2 +- modules/dataplex/versions.tf | 2 +- modules/dataproc/versions.tf | 2 +- modules/dns-response-policy/versions.tf | 2 +- modules/dns/versions.tf | 2 +- modules/endpoints/versions.tf | 2 +- modules/firestore/versions.tf | 2 +- modules/folder/versions.tf | 2 +- modules/gcs/versions.tf | 2 +- modules/gcve-private-cloud/versions.tf | 2 +- modules/gke-cluster-autopilot/versions.tf | 2 +- modules/gke-cluster-standard/versions.tf | 2 +- modules/gke-hub/versions.tf | 2 +- modules/gke-nodepool/versions.tf | 2 +- modules/iam-service-account/versions.tf | 2 +- modules/kms/versions.tf | 2 +- modules/logging-bucket/versions.tf | 2 +- modules/looker-core/versions.tf | 2 +- modules/ncc-spoke-ra/versions.tf | 2 +- modules/net-address/versions.tf | 2 +- modules/net-cloudnat/versions.tf | 2 +- modules/net-firewall-policy/versions.tf | 2 +- modules/net-ipsec-over-interconnect/versions.tf | 2 +- modules/net-lb-app-ext-regional/versions.tf | 2 +- modules/net-lb-app-ext/versions.tf | 2 +- modules/net-lb-app-int-cross-region/versions.tf | 2 +- modules/net-lb-app-int/versions.tf | 2 +- modules/net-lb-ext/versions.tf | 2 +- modules/net-lb-int/versions.tf | 2 +- modules/net-lb-proxy-int/versions.tf | 2 +- modules/net-swp/versions.tf | 2 +- modules/net-vlan-attachment/versions.tf | 2 +- modules/net-vpc-firewall/versions.tf | 2 +- modules/net-vpc-peering/versions.tf | 2 +- modules/net-vpc/versions.tf | 2 +- modules/net-vpn-dynamic/versions.tf | 2 +- modules/net-vpn-ha/versions.tf | 2 +- modules/net-vpn-static/versions.tf | 2 +- modules/organization/versions.tf | 2 +- modules/project/versions.tf | 2 +- modules/projects-data-source/versions.tf | 2 +- modules/pubsub/versions.tf | 2 +- modules/secret-manager/versions.tf | 2 +- modules/secure-source-manager-instance/versions.tf | 2 +- modules/service-directory/versions.tf | 2 +- modules/source-repository/versions.tf | 2 +- modules/spanner-instance/versions.tf | 2 +- modules/vpc-sc/versions.tf | 2 +- modules/workstation-cluster/versions.tf | 2 +- tests/examples_e2e/setup_module/versions.tf | 2 +- tools/lockfile/versions.tf | 2 +- 98 files changed, 98 insertions(+), 98 deletions(-) diff --git a/blueprints/gke/patterns/autopilot-cluster/versions.tf b/blueprints/gke/patterns/autopilot-cluster/versions.tf index 057082a242..9e4228aca8 100644 --- a/blueprints/gke/patterns/autopilot-cluster/versions.tf +++ b/blueprints/gke/patterns/autopilot-cluster/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/blueprints/gke/patterns/batch/versions.tf b/blueprints/gke/patterns/batch/versions.tf index 057082a242..9e4228aca8 100644 --- a/blueprints/gke/patterns/batch/versions.tf +++ b/blueprints/gke/patterns/batch/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/blueprints/gke/patterns/kafka/versions.tf b/blueprints/gke/patterns/kafka/versions.tf index 057082a242..9e4228aca8 100644 --- a/blueprints/gke/patterns/kafka/versions.tf +++ b/blueprints/gke/patterns/kafka/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/blueprints/gke/patterns/kong-cloudrun/versions.tf b/blueprints/gke/patterns/kong-cloudrun/versions.tf index 057082a242..9e4228aca8 100644 --- a/blueprints/gke/patterns/kong-cloudrun/versions.tf +++ b/blueprints/gke/patterns/kong-cloudrun/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/blueprints/gke/patterns/mysql/versions.tf b/blueprints/gke/patterns/mysql/versions.tf index 057082a242..9e4228aca8 100644 --- a/blueprints/gke/patterns/mysql/versions.tf +++ b/blueprints/gke/patterns/mysql/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/blueprints/gke/patterns/redis-cluster/versions.tf b/blueprints/gke/patterns/redis-cluster/versions.tf index 057082a242..9e4228aca8 100644 --- a/blueprints/gke/patterns/redis-cluster/versions.tf +++ b/blueprints/gke/patterns/redis-cluster/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/blueprints/secops/secops-gke-forwarder/versions.tf b/blueprints/secops/secops-gke-forwarder/versions.tf index 057082a242..9e4228aca8 100644 --- a/blueprints/secops/secops-gke-forwarder/versions.tf +++ b/blueprints/secops/secops-gke-forwarder/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/default-versions.tf b/default-versions.tf index 057082a242..9e4228aca8 100644 --- a/default-versions.tf +++ b/default-versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/__experimental_deprecated/alloydb-instance/versions.tf b/modules/__experimental_deprecated/alloydb-instance/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/__experimental_deprecated/alloydb-instance/versions.tf +++ b/modules/__experimental_deprecated/alloydb-instance/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/__experimental_deprecated/net-neg/versions.tf b/modules/__experimental_deprecated/net-neg/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/__experimental_deprecated/net-neg/versions.tf +++ b/modules/__experimental_deprecated/net-neg/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/__experimental_deprecated/project-iam-magic/versions.tf b/modules/__experimental_deprecated/project-iam-magic/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/__experimental_deprecated/project-iam-magic/versions.tf +++ b/modules/__experimental_deprecated/project-iam-magic/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/alloydb/versions.tf b/modules/alloydb/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/alloydb/versions.tf +++ b/modules/alloydb/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/analytics-hub/versions.tf b/modules/analytics-hub/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/analytics-hub/versions.tf +++ b/modules/analytics-hub/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/api-gateway/versions.tf b/modules/api-gateway/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/api-gateway/versions.tf +++ b/modules/api-gateway/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/apigee/versions.tf b/modules/apigee/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/apigee/versions.tf +++ b/modules/apigee/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/artifact-registry/versions.tf b/modules/artifact-registry/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/artifact-registry/versions.tf +++ b/modules/artifact-registry/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/bigquery-dataset/versions.tf b/modules/bigquery-dataset/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/bigquery-dataset/versions.tf +++ b/modules/bigquery-dataset/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/bigtable-instance/versions.tf b/modules/bigtable-instance/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/bigtable-instance/versions.tf +++ b/modules/bigtable-instance/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/billing-account/versions.tf b/modules/billing-account/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/billing-account/versions.tf +++ b/modules/billing-account/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/binauthz/versions.tf b/modules/binauthz/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/binauthz/versions.tf +++ b/modules/binauthz/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/certificate-authority-service/versions.tf b/modules/certificate-authority-service/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/certificate-authority-service/versions.tf +++ b/modules/certificate-authority-service/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/certificate-manager/versions.tf b/modules/certificate-manager/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/certificate-manager/versions.tf +++ b/modules/certificate-manager/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/cloud-config-container/__need_fixing/onprem/versions.tf b/modules/cloud-config-container/__need_fixing/onprem/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/cloud-config-container/__need_fixing/onprem/versions.tf +++ b/modules/cloud-config-container/__need_fixing/onprem/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/cloud-config-container/__need_fixing/squid/versions.tf b/modules/cloud-config-container/__need_fixing/squid/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/cloud-config-container/__need_fixing/squid/versions.tf +++ b/modules/cloud-config-container/__need_fixing/squid/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/cloud-config-container/bindplane/versions.tf b/modules/cloud-config-container/bindplane/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/cloud-config-container/bindplane/versions.tf +++ b/modules/cloud-config-container/bindplane/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/cloud-config-container/coredns/versions.tf b/modules/cloud-config-container/coredns/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/cloud-config-container/coredns/versions.tf +++ b/modules/cloud-config-container/coredns/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/cloud-config-container/cos-generic-metadata/versions.tf b/modules/cloud-config-container/cos-generic-metadata/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/cloud-config-container/cos-generic-metadata/versions.tf +++ b/modules/cloud-config-container/cos-generic-metadata/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/cloud-config-container/envoy-sni-dyn-fwd-proxy/versions.tf b/modules/cloud-config-container/envoy-sni-dyn-fwd-proxy/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/cloud-config-container/envoy-sni-dyn-fwd-proxy/versions.tf +++ b/modules/cloud-config-container/envoy-sni-dyn-fwd-proxy/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/cloud-config-container/envoy-traffic-director/versions.tf b/modules/cloud-config-container/envoy-traffic-director/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/cloud-config-container/envoy-traffic-director/versions.tf +++ b/modules/cloud-config-container/envoy-traffic-director/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/cloud-config-container/mysql/versions.tf b/modules/cloud-config-container/mysql/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/cloud-config-container/mysql/versions.tf +++ b/modules/cloud-config-container/mysql/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/cloud-config-container/nginx-tls/versions.tf b/modules/cloud-config-container/nginx-tls/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/cloud-config-container/nginx-tls/versions.tf +++ b/modules/cloud-config-container/nginx-tls/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/cloud-config-container/nginx/versions.tf b/modules/cloud-config-container/nginx/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/cloud-config-container/nginx/versions.tf +++ b/modules/cloud-config-container/nginx/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/cloud-config-container/simple-nva/versions.tf b/modules/cloud-config-container/simple-nva/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/cloud-config-container/simple-nva/versions.tf +++ b/modules/cloud-config-container/simple-nva/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/cloud-function-v1/versions.tf b/modules/cloud-function-v1/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/cloud-function-v1/versions.tf +++ b/modules/cloud-function-v1/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/cloud-function-v2/versions.tf b/modules/cloud-function-v2/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/cloud-function-v2/versions.tf +++ b/modules/cloud-function-v2/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/cloud-identity-group/versions.tf b/modules/cloud-identity-group/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/cloud-identity-group/versions.tf +++ b/modules/cloud-identity-group/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/cloud-run-v2/versions.tf b/modules/cloud-run-v2/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/cloud-run-v2/versions.tf +++ b/modules/cloud-run-v2/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/cloud-run/versions.tf b/modules/cloud-run/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/cloud-run/versions.tf +++ b/modules/cloud-run/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/cloudsql-instance/versions.tf b/modules/cloudsql-instance/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/cloudsql-instance/versions.tf +++ b/modules/cloudsql-instance/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/compute-mig/versions.tf b/modules/compute-mig/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/compute-mig/versions.tf +++ b/modules/compute-mig/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/compute-vm/versions.tf b/modules/compute-vm/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/compute-vm/versions.tf +++ b/modules/compute-vm/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/container-registry/versions.tf b/modules/container-registry/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/container-registry/versions.tf +++ b/modules/container-registry/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/data-catalog-policy-tag/versions.tf b/modules/data-catalog-policy-tag/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/data-catalog-policy-tag/versions.tf +++ b/modules/data-catalog-policy-tag/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/data-catalog-tag-template/versions.tf b/modules/data-catalog-tag-template/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/data-catalog-tag-template/versions.tf +++ b/modules/data-catalog-tag-template/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/data-catalog-tag/versions.tf b/modules/data-catalog-tag/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/data-catalog-tag/versions.tf +++ b/modules/data-catalog-tag/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/dataform-repository/versions.tf b/modules/dataform-repository/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/dataform-repository/versions.tf +++ b/modules/dataform-repository/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/datafusion/versions.tf b/modules/datafusion/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/datafusion/versions.tf +++ b/modules/datafusion/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/dataplex-datascan/versions.tf b/modules/dataplex-datascan/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/dataplex-datascan/versions.tf +++ b/modules/dataplex-datascan/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/dataplex/versions.tf b/modules/dataplex/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/dataplex/versions.tf +++ b/modules/dataplex/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/dataproc/versions.tf b/modules/dataproc/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/dataproc/versions.tf +++ b/modules/dataproc/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/dns-response-policy/versions.tf b/modules/dns-response-policy/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/dns-response-policy/versions.tf +++ b/modules/dns-response-policy/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/dns/versions.tf b/modules/dns/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/dns/versions.tf +++ b/modules/dns/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/endpoints/versions.tf b/modules/endpoints/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/endpoints/versions.tf +++ b/modules/endpoints/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/firestore/versions.tf b/modules/firestore/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/firestore/versions.tf +++ b/modules/firestore/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/folder/versions.tf b/modules/folder/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/folder/versions.tf +++ b/modules/folder/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/gcs/versions.tf b/modules/gcs/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/gcs/versions.tf +++ b/modules/gcs/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/gcve-private-cloud/versions.tf b/modules/gcve-private-cloud/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/gcve-private-cloud/versions.tf +++ b/modules/gcve-private-cloud/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/gke-cluster-autopilot/versions.tf b/modules/gke-cluster-autopilot/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/gke-cluster-autopilot/versions.tf +++ b/modules/gke-cluster-autopilot/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/gke-cluster-standard/versions.tf b/modules/gke-cluster-standard/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/gke-cluster-standard/versions.tf +++ b/modules/gke-cluster-standard/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/gke-hub/versions.tf b/modules/gke-hub/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/gke-hub/versions.tf +++ b/modules/gke-hub/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/gke-nodepool/versions.tf b/modules/gke-nodepool/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/gke-nodepool/versions.tf +++ b/modules/gke-nodepool/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/iam-service-account/versions.tf b/modules/iam-service-account/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/iam-service-account/versions.tf +++ b/modules/iam-service-account/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/kms/versions.tf b/modules/kms/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/kms/versions.tf +++ b/modules/kms/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/logging-bucket/versions.tf b/modules/logging-bucket/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/logging-bucket/versions.tf +++ b/modules/logging-bucket/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/looker-core/versions.tf b/modules/looker-core/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/looker-core/versions.tf +++ b/modules/looker-core/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/ncc-spoke-ra/versions.tf b/modules/ncc-spoke-ra/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/ncc-spoke-ra/versions.tf +++ b/modules/ncc-spoke-ra/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/net-address/versions.tf b/modules/net-address/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/net-address/versions.tf +++ b/modules/net-address/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/net-cloudnat/versions.tf b/modules/net-cloudnat/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/net-cloudnat/versions.tf +++ b/modules/net-cloudnat/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/net-firewall-policy/versions.tf b/modules/net-firewall-policy/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/net-firewall-policy/versions.tf +++ b/modules/net-firewall-policy/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/net-ipsec-over-interconnect/versions.tf b/modules/net-ipsec-over-interconnect/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/net-ipsec-over-interconnect/versions.tf +++ b/modules/net-ipsec-over-interconnect/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/net-lb-app-ext-regional/versions.tf b/modules/net-lb-app-ext-regional/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/net-lb-app-ext-regional/versions.tf +++ b/modules/net-lb-app-ext-regional/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/net-lb-app-ext/versions.tf b/modules/net-lb-app-ext/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/net-lb-app-ext/versions.tf +++ b/modules/net-lb-app-ext/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/net-lb-app-int-cross-region/versions.tf b/modules/net-lb-app-int-cross-region/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/net-lb-app-int-cross-region/versions.tf +++ b/modules/net-lb-app-int-cross-region/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/net-lb-app-int/versions.tf b/modules/net-lb-app-int/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/net-lb-app-int/versions.tf +++ b/modules/net-lb-app-int/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/net-lb-ext/versions.tf b/modules/net-lb-ext/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/net-lb-ext/versions.tf +++ b/modules/net-lb-ext/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/net-lb-int/versions.tf b/modules/net-lb-int/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/net-lb-int/versions.tf +++ b/modules/net-lb-int/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/net-lb-proxy-int/versions.tf b/modules/net-lb-proxy-int/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/net-lb-proxy-int/versions.tf +++ b/modules/net-lb-proxy-int/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/net-swp/versions.tf b/modules/net-swp/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/net-swp/versions.tf +++ b/modules/net-swp/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/net-vlan-attachment/versions.tf b/modules/net-vlan-attachment/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/net-vlan-attachment/versions.tf +++ b/modules/net-vlan-attachment/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/net-vpc-firewall/versions.tf b/modules/net-vpc-firewall/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/net-vpc-firewall/versions.tf +++ b/modules/net-vpc-firewall/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/net-vpc-peering/versions.tf b/modules/net-vpc-peering/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/net-vpc-peering/versions.tf +++ b/modules/net-vpc-peering/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/net-vpc/versions.tf b/modules/net-vpc/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/net-vpc/versions.tf +++ b/modules/net-vpc/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/net-vpn-dynamic/versions.tf b/modules/net-vpn-dynamic/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/net-vpn-dynamic/versions.tf +++ b/modules/net-vpn-dynamic/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/net-vpn-ha/versions.tf b/modules/net-vpn-ha/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/net-vpn-ha/versions.tf +++ b/modules/net-vpn-ha/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/net-vpn-static/versions.tf b/modules/net-vpn-static/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/net-vpn-static/versions.tf +++ b/modules/net-vpn-static/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/organization/versions.tf b/modules/organization/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/organization/versions.tf +++ b/modules/organization/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/project/versions.tf b/modules/project/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/project/versions.tf +++ b/modules/project/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/projects-data-source/versions.tf b/modules/projects-data-source/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/projects-data-source/versions.tf +++ b/modules/projects-data-source/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/pubsub/versions.tf b/modules/pubsub/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/pubsub/versions.tf +++ b/modules/pubsub/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/secret-manager/versions.tf b/modules/secret-manager/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/secret-manager/versions.tf +++ b/modules/secret-manager/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/secure-source-manager-instance/versions.tf b/modules/secure-source-manager-instance/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/secure-source-manager-instance/versions.tf +++ b/modules/secure-source-manager-instance/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/service-directory/versions.tf b/modules/service-directory/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/service-directory/versions.tf +++ b/modules/service-directory/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/source-repository/versions.tf b/modules/source-repository/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/source-repository/versions.tf +++ b/modules/source-repository/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/spanner-instance/versions.tf b/modules/spanner-instance/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/spanner-instance/versions.tf +++ b/modules/spanner-instance/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/vpc-sc/versions.tf b/modules/vpc-sc/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/vpc-sc/versions.tf +++ b/modules/vpc-sc/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/modules/workstation-cluster/versions.tf b/modules/workstation-cluster/versions.tf index 057082a242..9e4228aca8 100644 --- a/modules/workstation-cluster/versions.tf +++ b/modules/workstation-cluster/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/tests/examples_e2e/setup_module/versions.tf b/tests/examples_e2e/setup_module/versions.tf index 057082a242..9e4228aca8 100644 --- a/tests/examples_e2e/setup_module/versions.tf +++ b/tests/examples_e2e/setup_module/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" diff --git a/tools/lockfile/versions.tf b/tools/lockfile/versions.tf index 057082a242..9e4228aca8 100644 --- a/tools/lockfile/versions.tf +++ b/tools/lockfile/versions.tf @@ -15,7 +15,7 @@ # Fabric release: v36.0.1 terraform { - required_version = ">= 1.7.4" + required_version = ">= 1.10.2" required_providers { google = { source = "hashicorp/google" From dac2a0260a671688275f4c960f00cc2c7c84cb11 Mon Sep 17 00:00:00 2001 From: Ludo Date: Mon, 16 Dec 2024 17:18:43 +0100 Subject: [PATCH 09/10] tf version in ci --- .github/workflows/tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index b67e4e44bb..ecfd808fcf 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -29,7 +29,7 @@ on: terraform_version: description: "Use '1.5.7' to test last MPLv2 Terraform version" required: true - default: 1.7.4 + default: 1.10.2 type: string env: From 10e63ef4ac3d77b15a33283f30ffeff69c813b72 Mon Sep 17 00:00:00 2001 From: Ludo Date: Mon, 16 Dec 2024 17:25:56 +0100 Subject: [PATCH 10/10] trigger workflow --- .github/workflows/tests.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index ecfd808fcf..05121ca16e 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -14,8 +14,6 @@ name: "Tests" on: - # schedule: - # - cron: "45 2 * * *" push: branches: - master