allow null prefixes in project factory when override is not set (#3691)

This commit is contained in:
Ludovico Magnocavallo
2026-01-30 16:52:50 +01:00
committed by GitHub
parent 1a2f84a5a7
commit 06c6df5fec
3 changed files with 21 additions and 10 deletions

View File

@@ -876,6 +876,7 @@ module "project-factory" {
locations = {
storage = "eu"
}
prefix = "foo"
}
data_merges = {
labels = {
@@ -885,9 +886,6 @@ module "project-factory" {
"compute.googleapis.com"
]
}
data_overrides = {
prefix = "foo"
}
factories_config = {
projects = "data/projects"
}
@@ -897,6 +895,7 @@ module "project-factory" {
```yaml
parent: folders/1234567890
# prefix from defaults (foo)
services:
- iam.googleapis.com
- contactcenteraiplatform.googleapis.com
@@ -907,6 +906,8 @@ services:
```yaml
parent: folders/1234567890
descriptive_name: "Test Project 1"
# null prefix
prefix: null
services:
- iam.googleapis.com
- contactcenteraiplatform.googleapis.com
@@ -915,6 +916,8 @@ services:
```yaml
parent: folders/1234567890
# explicit prefix
prefix: bar
services:
- iam.googleapis.com
- storage.googleapis.com

View File

@@ -80,13 +80,16 @@ locals {
local.data_defaults.defaults.parent
), null
)
prefix = try( # type: string, nullable
coalesce(
local.data_defaults.overrides.prefix,
try(v.prefix, null),
local.data_defaults.defaults.prefix
), null
)
prefix = try(
(
local.data_defaults.overrides.prefix != null
? local.data_defaults.overrides.prefix
: (
try(v.prefix, "-") == "-"
? local.data_defaults.defaults.prefix
: v.prefix
)
), null)
project_reuse = ( # type: object({...})
try(v.project_reuse, null) != null
? merge(