First commit
This commit is contained in:
parent
5905903d6e
commit
ad6667a8fa
|
@ -23,9 +23,10 @@ locals {
|
|||
module "drop-project" {
|
||||
source = "../../../modules/project"
|
||||
parent = var.folder_id
|
||||
billing_account = var.billing_account_id
|
||||
prefix = var.prefix
|
||||
name = "drp${local.project_suffix}"
|
||||
billing_account = var.project_config.billing_account_id
|
||||
project_create = var.project_config.billing_account_id != null
|
||||
prefix = var.project_config.billing_account_id == null ? null : var.prefix
|
||||
name = var.project_config.billing_account_id == null ? var.project_config.project_ids.drop : "${var.project_config.project_ids.drop}${local.project_suffix}"
|
||||
group_iam = {
|
||||
(local.groups.data-engineers) = [
|
||||
"roles/bigquery.dataEditor",
|
||||
|
|
|
@ -36,9 +36,10 @@ locals {
|
|||
module "load-project" {
|
||||
source = "../../../modules/project"
|
||||
parent = var.folder_id
|
||||
billing_account = var.billing_account_id
|
||||
prefix = var.prefix
|
||||
name = "lod${local.project_suffix}"
|
||||
billing_account = var.project_config.billing_account_id
|
||||
project_create = var.project_config.billing_account_id != null
|
||||
prefix = var.project_config.billing_account_id == null ? null : var.prefix
|
||||
name = var.project_config.billing_account_id == null ? var.project_config.project_ids.load : "${var.project_config.project_ids.load}${local.project_suffix}"
|
||||
group_iam = {
|
||||
(local.groups.data-engineers) = [
|
||||
"roles/compute.viewer",
|
||||
|
|
|
@ -35,9 +35,10 @@ locals {
|
|||
module "orch-project" {
|
||||
source = "../../../modules/project"
|
||||
parent = var.folder_id
|
||||
billing_account = var.billing_account_id
|
||||
prefix = var.prefix
|
||||
name = "orc${local.project_suffix}"
|
||||
billing_account = var.project_config.billing_account_id
|
||||
project_create = var.project_config.billing_account_id != null
|
||||
prefix = var.project_config.billing_account_id == null ? null : var.prefix
|
||||
name = var.project_config.billing_account_id == null ? var.project_config.project_ids.orc : "${var.project_config.project_ids.orc}${local.project_suffix}"
|
||||
group_iam = {
|
||||
(local.groups.data-engineers) = [
|
||||
"roles/bigquery.dataEditor",
|
||||
|
|
|
@ -30,9 +30,10 @@ locals {
|
|||
module "transf-project" {
|
||||
source = "../../../modules/project"
|
||||
parent = var.folder_id
|
||||
billing_account = var.billing_account_id
|
||||
prefix = var.prefix
|
||||
name = "trf${local.project_suffix}"
|
||||
billing_account = var.project_config.billing_account_id
|
||||
project_create = var.project_config.billing_account_id != null
|
||||
prefix = var.project_config.billing_account_id == null ? null : var.prefix
|
||||
name = var.project_config.billing_account_id == null ? var.project_config.project_ids.trf : "${var.project_config.project_ids.trf}${local.project_suffix}"
|
||||
group_iam = {
|
||||
(local.groups.data-engineers) = [
|
||||
"roles/bigquery.jobUser",
|
||||
|
|
|
@ -83,9 +83,10 @@ locals {
|
|||
module "dwh-lnd-project" {
|
||||
source = "../../../modules/project"
|
||||
parent = var.folder_id
|
||||
billing_account = var.billing_account_id
|
||||
prefix = var.prefix
|
||||
name = "dwh-lnd${local.project_suffix}"
|
||||
billing_account = var.project_config.billing_account_id
|
||||
project_create = var.project_config.billing_account_id != null
|
||||
prefix = var.project_config.billing_account_id == null ? null : var.prefix
|
||||
name = var.project_config.billing_account_id == null ? var.project_config.project_ids.dwh-lnd : "${var.project_config.project_ids.dwh-lnd}${local.project_suffix}"
|
||||
group_iam = local.dwh_group_iam
|
||||
iam = local.dwh_lnd_iam
|
||||
services = local.dwh_services
|
||||
|
@ -98,9 +99,10 @@ module "dwh-lnd-project" {
|
|||
module "dwh-cur-project" {
|
||||
source = "../../../modules/project"
|
||||
parent = var.folder_id
|
||||
billing_account = var.billing_account_id
|
||||
prefix = var.prefix
|
||||
name = "dwh-cur${local.project_suffix}"
|
||||
billing_account = var.project_config.billing_account_id
|
||||
project_create = var.project_config.billing_account_id != null
|
||||
prefix = var.project_config.billing_account_id == null ? null : var.prefix
|
||||
name = var.project_config.billing_account_id == null ? var.project_config.project_ids.dwh-cur : "${var.project_config.project_ids.dwh-cur}${local.project_suffix}"
|
||||
group_iam = local.dwh_group_iam
|
||||
iam = local.dwh_iam
|
||||
services = local.dwh_services
|
||||
|
@ -113,9 +115,10 @@ module "dwh-cur-project" {
|
|||
module "dwh-conf-project" {
|
||||
source = "../../../modules/project"
|
||||
parent = var.folder_id
|
||||
billing_account = var.billing_account_id
|
||||
prefix = var.prefix
|
||||
name = "dwh-conf${local.project_suffix}"
|
||||
billing_account = var.project_config.billing_account_id
|
||||
project_create = var.project_config.billing_account_id != null
|
||||
prefix = var.project_config.billing_account_id == null ? null : var.prefix
|
||||
name = var.project_config.billing_account_id == null ? var.project_config.project_ids.dwh-conf : "${var.project_config.project_ids.dwh-conf}${local.project_suffix}"
|
||||
group_iam = local.dwh_group_iam
|
||||
iam = local.dwh_iam
|
||||
services = local.dwh_services
|
||||
|
|
|
@ -17,9 +17,10 @@
|
|||
module "common-project" {
|
||||
source = "../../../modules/project"
|
||||
parent = var.folder_id
|
||||
billing_account = var.billing_account_id
|
||||
prefix = var.prefix
|
||||
name = "cmn${local.project_suffix}"
|
||||
billing_account = var.project_config.billing_account_id
|
||||
project_create = var.project_config.billing_account_id != null
|
||||
prefix = var.project_config.billing_account_id == null ? null : var.prefix
|
||||
name = var.project_config.billing_account_id == null ? var.project_config.project_ids.common : "${var.project_config.project_ids.common}${local.project_suffix}"
|
||||
group_iam = {
|
||||
(local.groups.data-analysts) = [
|
||||
"roles/datacatalog.viewer",
|
||||
|
|
|
@ -17,7 +17,8 @@
|
|||
module "exp-project" {
|
||||
source = "../../../modules/project"
|
||||
parent = var.folder_id
|
||||
billing_account = var.billing_account_id
|
||||
prefix = var.prefix
|
||||
name = "exp${local.project_suffix}"
|
||||
billing_account = var.project_config.billing_account_id
|
||||
project_create = var.project_config.billing_account_id != null
|
||||
prefix = var.project_config.billing_account_id == null ? null : var.prefix
|
||||
name = var.project_config.billing_account_id == null ? var.project_config.project_ids.exp : "${var.project_config.project_ids.exp}${local.project_suffix}"
|
||||
}
|
||||
|
|
|
@ -177,6 +177,40 @@ variable "prefix" {
|
|||
}
|
||||
}
|
||||
|
||||
variable "project_config" {
|
||||
description = "Provide 'billing_account_id' value if project creation is needed, uses existing 'project_ids' if null. Parent is in 'folders/nnn' or 'organizations/nnn' format."
|
||||
type = object({
|
||||
billing_account_id = optional(string, null)
|
||||
project_ids = optional(object({
|
||||
drop = string
|
||||
load = string
|
||||
orc = string
|
||||
trf = string
|
||||
dwh-lnd = string
|
||||
dwh-cur = string
|
||||
dwh-conf = string
|
||||
common = string
|
||||
exp = string
|
||||
}), {
|
||||
drop = "drp"
|
||||
load = "lod"
|
||||
orc = "orc"
|
||||
trf = "trf"
|
||||
dwh-lnd = "dwh-lnd"
|
||||
dwh-cur = "dwh-cur"
|
||||
dwh-conf = "dwh-conf"
|
||||
common = "cmn"
|
||||
exp = "exp"
|
||||
}
|
||||
)
|
||||
})
|
||||
default = {}
|
||||
validation {
|
||||
condition = var.project_config.billing_account_id != null || var.project_config.project_ids != null
|
||||
error_message = "At least one attribute should be set."
|
||||
}
|
||||
}
|
||||
|
||||
variable "project_services" {
|
||||
description = "List of core services enabled on all projects."
|
||||
type = list(string)
|
||||
|
|
Loading…
Reference in New Issue