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