diff --git a/fast/stages/0-org-setup/schemas/project.schema.json b/fast/stages/0-org-setup/schemas/project.schema.json
index df5bc11cc..b1011b25f 100644
--- a/fast/stages/0-org-setup/schemas/project.schema.json
+++ b/fast/stages/0-org-setup/schemas/project.schema.json
@@ -1237,6 +1237,12 @@
},
"tag_bindings": {
"$ref": "#/$defs/tag_bindings"
+ },
+ "custom_placement_config": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
}
}
},
diff --git a/fast/stages/0-org-setup/schemas/project.schema.md b/fast/stages/0-org-setup/schemas/project.schema.md
index 6ac748ba0..da7303641 100644
--- a/fast/stages/0-org-setup/schemas/project.schema.md
+++ b/fast/stages/0-org-setup/schemas/project.schema.md
@@ -346,6 +346,8 @@
- **soft_delete_retention**: *number*
- **enable_object_retention**: *boolean*
- **tag_bindings**: *reference([tag_bindings](#refs-tag_bindings))*
+ - **custom_placement_config**: *array*
+ - items: *string*
- **buckets**: *object*
*additional properties: false*
- **`^[a-z0-9-]+$`**: *reference([bucket](#refs-bucket))*
diff --git a/fast/stages/2-networking/schemas/project.schema.json b/fast/stages/2-networking/schemas/project.schema.json
index df5bc11cc..b1011b25f 100644
--- a/fast/stages/2-networking/schemas/project.schema.json
+++ b/fast/stages/2-networking/schemas/project.schema.json
@@ -1237,6 +1237,12 @@
},
"tag_bindings": {
"$ref": "#/$defs/tag_bindings"
+ },
+ "custom_placement_config": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
}
}
},
diff --git a/fast/stages/2-networking/schemas/project.schema.md b/fast/stages/2-networking/schemas/project.schema.md
index 6ac748ba0..da7303641 100644
--- a/fast/stages/2-networking/schemas/project.schema.md
+++ b/fast/stages/2-networking/schemas/project.schema.md
@@ -346,6 +346,8 @@
- **soft_delete_retention**: *number*
- **enable_object_retention**: *boolean*
- **tag_bindings**: *reference([tag_bindings](#refs-tag_bindings))*
+ - **custom_placement_config**: *array*
+ - items: *string*
- **buckets**: *object*
*additional properties: false*
- **`^[a-z0-9-]+$`**: *reference([bucket](#refs-bucket))*
diff --git a/fast/stages/2-project-factory/schemas/project.schema.json b/fast/stages/2-project-factory/schemas/project.schema.json
index df5bc11cc..b1011b25f 100644
--- a/fast/stages/2-project-factory/schemas/project.schema.json
+++ b/fast/stages/2-project-factory/schemas/project.schema.json
@@ -1237,6 +1237,12 @@
},
"tag_bindings": {
"$ref": "#/$defs/tag_bindings"
+ },
+ "custom_placement_config": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
}
}
},
diff --git a/fast/stages/2-project-factory/schemas/project.schema.md b/fast/stages/2-project-factory/schemas/project.schema.md
index 6ac748ba0..da7303641 100644
--- a/fast/stages/2-project-factory/schemas/project.schema.md
+++ b/fast/stages/2-project-factory/schemas/project.schema.md
@@ -346,6 +346,8 @@
- **soft_delete_retention**: *number*
- **enable_object_retention**: *boolean*
- **tag_bindings**: *reference([tag_bindings](#refs-tag_bindings))*
+ - **custom_placement_config**: *array*
+ - items: *string*
- **buckets**: *object*
*additional properties: false*
- **`^[a-z0-9-]+$`**: *reference([bucket](#refs-bucket))*
diff --git a/fast/stages/2-security/schemas/project.schema.json b/fast/stages/2-security/schemas/project.schema.json
index df5bc11cc..b1011b25f 100644
--- a/fast/stages/2-security/schemas/project.schema.json
+++ b/fast/stages/2-security/schemas/project.schema.json
@@ -1237,6 +1237,12 @@
},
"tag_bindings": {
"$ref": "#/$defs/tag_bindings"
+ },
+ "custom_placement_config": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
}
}
},
diff --git a/fast/stages/2-security/schemas/project.schema.md b/fast/stages/2-security/schemas/project.schema.md
index 6ac748ba0..da7303641 100644
--- a/fast/stages/2-security/schemas/project.schema.md
+++ b/fast/stages/2-security/schemas/project.schema.md
@@ -346,6 +346,8 @@
- **soft_delete_retention**: *number*
- **enable_object_retention**: *boolean*
- **tag_bindings**: *reference([tag_bindings](#refs-tag_bindings))*
+ - **custom_placement_config**: *array*
+ - items: *string*
- **buckets**: *object*
*additional properties: false*
- **`^[a-z0-9-]+$`**: *reference([bucket](#refs-bucket))*
diff --git a/modules/project-factory/projects-buckets.tf b/modules/project-factory/projects-buckets.tf
index fb0e1c47d..c510377bb 100644
--- a/modules/project-factory/projects-buckets.tf
+++ b/modules/project-factory/projects-buckets.tf
@@ -57,6 +57,7 @@ locals {
logging_config = lookup(opts, "logging_config", null)
enable_object_retention = lookup(opts, "enable_object_retention", null)
tag_bindings = lookup(opts, "tag_bindings", {})
+ custom_placement_config = lookup(opts, "custom_placement_config", null)
}
]
])
@@ -105,4 +106,5 @@ module "buckets" {
logging_config = each.value.logging_config
enable_object_retention = each.value.enable_object_retention
tag_bindings = each.value.tag_bindings
+ custom_placement_config = each.value.custom_placement_config
}
diff --git a/modules/project-factory/schemas/project.schema.json b/modules/project-factory/schemas/project.schema.json
index df5bc11cc..b1011b25f 100644
--- a/modules/project-factory/schemas/project.schema.json
+++ b/modules/project-factory/schemas/project.schema.json
@@ -1237,6 +1237,12 @@
},
"tag_bindings": {
"$ref": "#/$defs/tag_bindings"
+ },
+ "custom_placement_config": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
}
}
},
diff --git a/modules/project-factory/schemas/project.schema.md b/modules/project-factory/schemas/project.schema.md
index 6ac748ba0..da7303641 100644
--- a/modules/project-factory/schemas/project.schema.md
+++ b/modules/project-factory/schemas/project.schema.md
@@ -346,6 +346,8 @@
- **soft_delete_retention**: *number*
- **enable_object_retention**: *boolean*
- **tag_bindings**: *reference([tag_bindings](#refs-tag_bindings))*
+ - **custom_placement_config**: *array*
+ - items: *string*
- **buckets**: *object*
*additional properties: false*
- **`^[a-z0-9-]+$`**: *reference([bucket](#refs-bucket))*