Project factory additions, project module reuse implementation (#2899)

* add support for buckets

* add project-level interpolation for own SAs

* docs

* project reuse changes

* fix example

* tfdoc

* update check documentation tool

* fast tests

* blueprints

* typo
This commit is contained in:
Ludovico Magnocavallo
2025-02-15 20:37:45 +01:00
committed by GitHub
parent 87383a1569
commit 1a4b298cc9
79 changed files with 628 additions and 379 deletions

View File

@@ -57,7 +57,6 @@ module "test-target-project" {
source = "./fabric/modules/project"
billing_account = "1234-ABCD-1234"
name = "test-target-project"
project_create = true
}
# tftest modules=5 resources=28

View File

@@ -33,7 +33,7 @@ module "host-project" {
"servicecontrol.googleapis.com",
"vmmigration.googleapis.com",
]
project_create = var.project_create != null
project_reuse = var.project_create != null ? null : {}
iam_bindings_additive = {
admin_sa_key_admin = {
role = "roles/iam.serviceAccountKeyAdmin"
@@ -62,10 +62,10 @@ module "m4ce-service-account" {
}
module "target-projects" {
for_each = toset(var.migration_target_projects)
source = "../../../../modules/project"
name = each.key
project_create = false
for_each = toset(var.migration_target_projects)
source = "../../../../modules/project"
name = each.key
project_reuse = {}
services = [
"servicemanagement.googleapis.com",
"servicecontrol.googleapis.com",

View File

@@ -65,14 +65,12 @@ module "test-target-project" {
source = "./fabric/modules/project"
billing_account = "1234-ABCD-1234"
name = "test-target-project"
project_create = true
}
module "test-sharedvpc-host-project" {
source = "./fabric/modules/project"
billing_account = "1234-ABCD-1234"
name = "test-sharedvpc-host-project"
project_create = true
}
# tftest modules=7 resources=29

View File

@@ -32,7 +32,7 @@ module "host-project" {
"servicecontrol.googleapis.com",
"vmmigration.googleapis.com",
]
project_create = var.project_create != null
project_reuse = var.project_create != null ? null : {}
iam_bindings_additive = {
admin_sa_key_admin = {
role = "roles/iam.serviceAccountKeyAdmin"
@@ -60,10 +60,10 @@ module "m4ce-service-account" {
}
module "target-projects" {
for_each = toset(var.migration_target_projects)
source = "../../../../modules/project"
name = each.key
project_create = false
for_each = toset(var.migration_target_projects)
source = "../../../../modules/project"
name = each.key
project_reuse = {}
services = [
"cloudresourcemanager.googleapis.com",
"compute.googleapis.com",
@@ -84,10 +84,10 @@ module "target-projects" {
}
module "sharedvpc_host_project" {
for_each = toset(var.sharedvpc_host_projects)
source = "../../../../modules/project"
name = each.key
project_create = false
for_each = toset(var.sharedvpc_host_projects)
source = "../../../../modules/project"
name = each.key
project_reuse = {}
iam_bindings_additive = {
admin_compute_viewer = {
role = "roles/compute.viewer"

View File

@@ -33,7 +33,7 @@ module "landing-project" {
"servicecontrol.googleapis.com",
"vmmigration.googleapis.com"
]
project_create = var.project_create != null
project_reuse = var.project_create != null ? null : {}
iam_bindings_additive = {
admin_sa_key_admin = {
role = "roles/iam.serviceAccountKeyAdmin"