diff --git a/examples/data-solutions/data-platform-foundations/01-landing.tf b/examples/data-solutions/data-platform-foundations/01-landing.tf
index fa5278032..49f32aff9 100644
--- a/examples/data-solutions/data-platform-foundations/01-landing.tf
+++ b/examples/data-solutions/data-platform-foundations/01-landing.tf
@@ -25,7 +25,7 @@ module "land-project" {
parent = var.folder_id
billing_account = var.billing_account_id
prefix = var.prefix
- name = "lnd"
+ name = "lnd${local.project_suffix}"
group_iam = {
(local.groups.data-engineers) = [
"roles/bigquery.dataEditor",
diff --git a/examples/data-solutions/data-platform-foundations/02-load.tf b/examples/data-solutions/data-platform-foundations/02-load.tf
index 7d7392f9a..8fdbe2153 100644
--- a/examples/data-solutions/data-platform-foundations/02-load.tf
+++ b/examples/data-solutions/data-platform-foundations/02-load.tf
@@ -38,7 +38,7 @@ module "load-project" {
parent = var.folder_id
billing_account = var.billing_account_id
prefix = var.prefix
- name = "lod"
+ name = "lod${local.project_suffix}"
group_iam = {
(local.groups.data-engineers) = [
"roles/compute.viewer",
diff --git a/examples/data-solutions/data-platform-foundations/03-orchestration.tf b/examples/data-solutions/data-platform-foundations/03-orchestration.tf
index d8b9254e0..137d4e93b 100644
--- a/examples/data-solutions/data-platform-foundations/03-orchestration.tf
+++ b/examples/data-solutions/data-platform-foundations/03-orchestration.tf
@@ -32,7 +32,7 @@ module "orch-project" {
parent = var.folder_id
billing_account = var.billing_account_id
prefix = var.prefix
- name = "orc"
+ name = "orc${local.project_suffix}"
group_iam = {
(local.groups.data-engineers) = [
"roles/bigquery.dataEditor",
diff --git a/examples/data-solutions/data-platform-foundations/04-transformation.tf b/examples/data-solutions/data-platform-foundations/04-transformation.tf
index 66780c766..6f2aacad3 100644
--- a/examples/data-solutions/data-platform-foundations/04-transformation.tf
+++ b/examples/data-solutions/data-platform-foundations/04-transformation.tf
@@ -32,7 +32,7 @@ module "transf-project" {
parent = var.folder_id
billing_account = var.billing_account_id
prefix = var.prefix
- name = "trf"
+ name = "trf${local.project_suffix}"
group_iam = {
(local.groups.data-engineers) = [
"roles/bigquery.jobUser",
diff --git a/examples/data-solutions/data-platform-foundations/05-datalake.tf b/examples/data-solutions/data-platform-foundations/05-datalake.tf
index 86f5edf6a..64ec1b242 100644
--- a/examples/data-solutions/data-platform-foundations/05-datalake.tf
+++ b/examples/data-solutions/data-platform-foundations/05-datalake.tf
@@ -92,7 +92,7 @@ module "lake-0-project" {
parent = var.folder_id
billing_account = var.billing_account_id
prefix = var.prefix
- name = "dtl-0"
+ name = "dtl-0${local.project_suffix}"
group_iam = local.lake_group_iam
iam = local.lake_0_iam
services = local.lake_services
@@ -107,7 +107,7 @@ module "lake-1-project" {
parent = var.folder_id
billing_account = var.billing_account_id
prefix = var.prefix
- name = "dtl-1"
+ name = "dtl-1${local.project_suffix}"
group_iam = local.lake_group_iam
iam = local.lake_iam
services = local.lake_services
@@ -122,7 +122,7 @@ module "lake-2-project" {
parent = var.folder_id
billing_account = var.billing_account_id
prefix = var.prefix
- name = "dtl-2"
+ name = "dtl-2${local.project_suffix}"
group_iam = local.lake_group_iam
iam = local.lake_iam
services = local.lake_services
@@ -137,7 +137,7 @@ module "lake-plg-project" {
parent = var.folder_id
billing_account = var.billing_account_id
prefix = var.prefix
- name = "dtl-plg"
+ name = "dtl-plg${local.project_suffix}"
group_iam = local.lake_plg_group_iam
iam = {}
services = local.lake_services
diff --git a/examples/data-solutions/data-platform-foundations/07-exposure.tf b/examples/data-solutions/data-platform-foundations/07-exposure.tf
index 8fa819f6c..030be0b83 100644
--- a/examples/data-solutions/data-platform-foundations/07-exposure.tf
+++ b/examples/data-solutions/data-platform-foundations/07-exposure.tf
@@ -19,5 +19,5 @@ module "exp-project" {
parent = var.folder_id
billing_account = var.billing_account_id
prefix = var.prefix
- name = "exp"
+ name = "exp${local.project_suffix}"
}
diff --git a/examples/data-solutions/data-platform-foundations/README.md b/examples/data-solutions/data-platform-foundations/README.md
index 90ed73fee..645dc27c6 100644
--- a/examples/data-solutions/data-platform-foundations/README.md
+++ b/examples/data-solutions/data-platform-foundations/README.md
@@ -234,7 +234,8 @@ Description of commands:
| [location](variables.tf#L47) | Location used for multi-regional resources. | string | | "eu" |
| [network_config](variables.tf#L63) | Shared VPC network configurations to use. If null networks will be created in projects with preconfigured values. | object({…}) | | null |
| [project_services](variables.tf#L96) | List of core services enabled on all projects. | list(string) | | […] |
-| [region](variables.tf#L107) | Region used for regional resources. | string | | "europe-west1" |
+| [project_suffix](variables.tf#L107) | Suffix used only for project ids. | string | | null |
+| [region](variables.tf#L113) | Region used for regional resources. | string | | "europe-west1" |
## Outputs
diff --git a/examples/data-solutions/data-platform-foundations/main.tf b/examples/data-solutions/data-platform-foundations/main.tf
index f8a801b25..536dc0b5f 100644
--- a/examples/data-solutions/data-platform-foundations/main.tf
+++ b/examples/data-solutions/data-platform-foundations/main.tf
@@ -35,6 +35,7 @@ locals {
groups_iam = {
for k, v in local.groups : k => "group:${v}"
}
+ project_suffix = var.project_suffix == null ? "" : "-${var.project_suffix}"
service_encryption_keys = var.service_encryption_keys
shared_vpc_project = try(var.network_config.host_project, null)
# this is needed so that for_each only uses static values
diff --git a/examples/data-solutions/data-platform-foundations/variables.tf b/examples/data-solutions/data-platform-foundations/variables.tf
index f403243a6..037471dfd 100644
--- a/examples/data-solutions/data-platform-foundations/variables.tf
+++ b/examples/data-solutions/data-platform-foundations/variables.tf
@@ -104,6 +104,12 @@ variable "project_services" {
]
}
+variable "project_suffix" {
+ description = "Suffix used only for project ids."
+ type = string
+ default = null
+}
+
variable "region" {
description = "Region used for regional resources."
type = string