diff --git a/modules/net-vpc-factory/factory-projects-object.tf b/modules/net-vpc-factory/factory-projects-object.tf index fb06b2cd0..cbc9685ea 100644 --- a/modules/net-vpc-factory/factory-projects-object.tf +++ b/modules/net-vpc-factory/factory-projects-object.tf @@ -273,10 +273,10 @@ locals { }) } # tflint-ignore: terraform_unused_declarations - _projects_uniqunees_validation = { + _projects_uniqueness_validation = { # will raise error, if the same project (derived from file name, or provided in the YAML file) # is used more than once for k, v in local._projects_output : - "${v.prefix}-${v.name}" => k + "${v.prefix != null ? v.prefix : ""}-${v.name}" => k } } diff --git a/modules/project-factory/automation.tf b/modules/project-factory/automation.tf index 666859e54..ed124988c 100644 --- a/modules/project-factory/automation.tf +++ b/modules/project-factory/automation.tf @@ -22,6 +22,7 @@ locals { k => merge(try(v.automation.bucket, {}), { automation_project = v.automation.project prefix = v.prefix + project_name = v.name }) if try(v.automation.bucket, null) != null } automation_sa = flatten([ @@ -31,6 +32,7 @@ locals { name = ks prefix = v.prefix project = k + project_name = v.name }) ] ]) @@ -43,7 +45,7 @@ module "automation-bucket" { # from the IAM dependency in the outputs of the main project project_id = each.value.automation_project prefix = each.value.prefix - name = "${each.key}-tf-state" + name = "${each.value.project_name}-tf-state" encryption_key = lookup(each.value, "encryption_key", null) iam = { for k, v in lookup(each.value, "iam", {}) : k => [ @@ -111,7 +113,7 @@ module "automation-service-accounts" { # from the IAM dependency in the outputs of the main project project_id = each.value.automation_project prefix = each.value.prefix - name = "${each.value.project}-${each.value.name}" + name = "${each.value.project_name}-${each.value.name}" description = lookup(each.value, "description", null) display_name = lookup( each.value, diff --git a/modules/project-factory/factory-projects-object.tf b/modules/project-factory/factory-projects-object.tf index fb06b2cd0..cbc9685ea 100644 --- a/modules/project-factory/factory-projects-object.tf +++ b/modules/project-factory/factory-projects-object.tf @@ -273,10 +273,10 @@ locals { }) } # tflint-ignore: terraform_unused_declarations - _projects_uniqunees_validation = { + _projects_uniqueness_validation = { # will raise error, if the same project (derived from file name, or provided in the YAML file) # is used more than once for k, v in local._projects_output : - "${v.prefix}-${v.name}" => k + "${v.prefix != null ? v.prefix : ""}-${v.name}" => k } } diff --git a/modules/project-factory/factory-projects.tf b/modules/project-factory/factory-projects.tf index 6b7505407..10b465548 100644 --- a/modules/project-factory/factory-projects.tf +++ b/modules/project-factory/factory-projects.tf @@ -23,8 +23,7 @@ locals { trimsuffix(f, ".yaml") => merge( { parent = dirname(f) == "." ? "default" : dirname(f) }, yamldecode(file("${local._folders_path}/${f}")) - ) - if !endswith(f, "/_config.yaml") + ) if !endswith(f, "/_config.yaml") } ) _project_path = try(pathexpand(var.factories_config.projects_data_path), null) @@ -32,8 +31,10 @@ locals { for f in try(fileset(local._project_path, "**/*.yaml"), []) : trimsuffix(f, ".yaml") => yamldecode(file("${local._project_path}/${f}")) } - - _projects_input = merge(local._hierarchy_projects_full_path, local._projects_full_path) + _projects_input = merge( + local._hierarchy_projects_full_path, + local._projects_full_path + ) _project_budgets = flatten([ for k, v in local._projects_input : [ for b in try(v.billing_budgets, []) : { diff --git a/tools/duplicate-diff.py b/tools/duplicate-diff.py old mode 100644 new mode 100755 index a87febfc6..ff1710dab --- a/tools/duplicate-diff.py +++ b/tools/duplicate-diff.py @@ -1,4 +1,5 @@ -# +#!/usr/bin/env python3 + # Copyright 2025 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License");