diff --git a/fast/stages/0-org-setup/organization.tf b/fast/stages/0-org-setup/organization.tf index 3a6064d76..3f6187944 100644 --- a/fast/stages/0-org-setup/organization.tf +++ b/fast/stages/0-org-setup/organization.tf @@ -81,6 +81,7 @@ module "organization" { } locations = local.ctx.locations } + contacts = lookup(local.organization, "contacts", {}) factories_config = { org_policy_custom_constraints = "${local.paths.organization}/custom-constraints" custom_roles = "${local.paths.organization}/custom-roles" diff --git a/fast/stages/0-org-setup/schemas/organization.schema.json b/fast/stages/0-org-setup/schemas/organization.schema.json index 46b32cc2b..c0afbdeff 100644 --- a/fast/stages/0-org-setup/schemas/organization.schema.json +++ b/fast/stages/0-org-setup/schemas/organization.schema.json @@ -11,7 +11,7 @@ "type": "object", "additionalProperties": false, "patternProperties": { - "^[a-z0-9_-]+$": { + "^[^@\\s]+@[^@\\s]+\\.[^@\\s]+$": { "type": "array", "items": { "type": "string" @@ -45,7 +45,7 @@ "type": "object", "additionalProperties": false, "patternProperties": { - "^[a-z][a-z0-9-]+$": { + "^[a-z][a-z0-9-_]+$": { "type": "object", "additionalProperties": false, "properties": { diff --git a/fast/stages/0-org-setup/schemas/organization.schema.md b/fast/stages/0-org-setup/schemas/organization.schema.md index fd55572bc..278764350 100644 --- a/fast/stages/0-org-setup/schemas/organization.schema.md +++ b/fast/stages/0-org-setup/schemas/organization.schema.md @@ -9,18 +9,19 @@ - **id**: *string* - **contacts**: *object*
*additional properties: false* - - **`^[a-z0-9_-]+$`**: *array* + - **`^[^@\s]+@[^@\s]+\.[^@\s]+$`**: *array* - items: *string* - **iam**: *reference([iam](#refs-iam))* - **iam_bindings**: *reference([iam_bindings](#refs-iam_bindings))* - **iam_bindings_additive**: *reference([iam_bindings_additive](#refs-iam_bindings_additive))* - **iam_by_principals**: *reference([iam_by_principals](#refs-iam_by_principals))* +- **iam_by_principals_additive**: *reference([iam_by_principals](#refs-iam_by_principals))* - **logging**: *object*
*additional properties: false* - **storage_location**: *string* - **sinks**: *object*
*additional properties: false* - - **`^[a-z][a-z0-9-]+$`**: *object* + - **`^[a-z][a-z0-9-_]+$`**: *object*
*additional properties: false* - **description**: *string* - **destination**: *string* diff --git a/tests/fast/stages/s0_org_setup/simple.yaml b/tests/fast/stages/s0_org_setup/simple.yaml index 2e1a7a375..adc1a0190 100644 --- a/tests/fast/stages/s0_org_setup/simple.yaml +++ b/tests/fast/stages/s0_org_setup/simple.yaml @@ -2805,6 +2805,7 @@ counts: google_bigquery_dataset: 1 google_bigquery_default_service_account: 2 google_billing_account_iam_member: 6 + google_essential_contacts_contact: 1 google_folder: 8 google_folder_iam_binding: 44 google_iam_workload_identity_pool: 1 @@ -2836,5 +2837,5 @@ counts: google_tags_tag_value_iam_binding: 4 local_file: 9 modules: 48 - resources: 311 + resources: 312 terraform_data: 2