diff --git a/fast/stages/0-org-setup/schemas/defaults.schema.json b/fast/stages/0-org-setup/schemas/defaults.schema.json index 98c8406db..a1564c23b 100644 --- a/fast/stages/0-org-setup/schemas/defaults.schema.json +++ b/fast/stages/0-org-setup/schemas/defaults.schema.json @@ -835,7 +835,7 @@ "type": "object", "additionalProperties": false, "patternProperties": { - "^(?:roles/|\\$custom_roles:)": { + "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)": { "type": "array", "items": { "type": "string", @@ -861,7 +861,7 @@ }, "role": { "type": "string", - "pattern": "^(?:roles/|\\$custom_roles:)" + "pattern": "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)" }, "condition": { "type": "object", @@ -900,7 +900,7 @@ }, "role": { "type": "string", - "pattern": "^(?:roles/|\\$custom_roles:)" + "pattern": "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)" }, "condition": { "type": "object", @@ -933,7 +933,7 @@ "type": "array", "items": { "type": "string", - "pattern": "^(?:roles/|\\$custom_roles:)" + "pattern": "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)" } } } diff --git a/fast/stages/0-org-setup/schemas/defaults.schema.md b/fast/stages/0-org-setup/schemas/defaults.schema.md index bdf1b50b2..69c48beb9 100644 --- a/fast/stages/0-org-setup/schemas/defaults.schema.md +++ b/fast/stages/0-org-setup/schemas/defaults.schema.md @@ -249,7 +249,7 @@ - **iam**: *object*
*additional properties: false* - - **`^(?:roles/|\$custom_roles:)`**: *array* + - **`^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)`**: *array* - items: *string*
*pattern: ^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:||\$iam_principals:[a-z0-9_-]+)* - **iam_bindings**: *object* @@ -260,7 +260,7 @@ - items: *string*
*pattern: ^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:|\$iam_principals:[a-z0-9_-]+)* - **role**: *string* -
*pattern: ^(?:roles/|\$custom_roles:)* +
*pattern: ^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)* - **condition**: *object*
*additional properties: false* - ⁺**expression**: *string* @@ -273,7 +273,7 @@ - **member**: *string*
*pattern: ^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:|\$iam_principals:[a-z0-9_-]+)* - **role**: *string* -
*pattern: ^(?:roles/|\$custom_roles:)* +
*pattern: ^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)* - **condition**: *object*
*additional properties: false* - ⁺**expression**: *string* @@ -283,4 +283,4 @@
*additional properties: false* - **`^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:|\$iam_principals:[a-z0-9_-]+)`**: *array* - items: *string* -
*pattern: ^(?:roles/|\$custom_roles:)* +
*pattern: ^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)* diff --git a/fast/stages/0-org-setup/schemas/folder.schema.json b/fast/stages/0-org-setup/schemas/folder.schema.json index a9832d9a6..166cb1e3f 100644 --- a/fast/stages/0-org-setup/schemas/folder.schema.json +++ b/fast/stages/0-org-setup/schemas/folder.schema.json @@ -531,7 +531,7 @@ "type": "object", "additionalProperties": false, "patternProperties": { - "^(?:roles/|\\$custom_roles:)": { + "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)": { "type": "array", "items": { "type": "string", @@ -557,7 +557,7 @@ }, "role": { "type": "string", - "pattern": "^(?:roles/|\\$custom_roles:)" + "pattern": "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)" }, "condition": { "type": "object", @@ -596,7 +596,7 @@ }, "role": { "type": "string", - "pattern": "^(?:roles/|\\$custom_roles:)" + "pattern": "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)" }, "condition": { "type": "object", @@ -629,7 +629,7 @@ "type": "array", "items": { "type": "string", - "pattern": "^(?:roles/|\\$custom_roles:)" + "pattern": "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)" } } } @@ -669,7 +669,7 @@ "type": "array", "items": { "type": "string", - "pattern": "^(?:roles/|\\$custom_roles:)" + "pattern": "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)" } } } diff --git a/fast/stages/0-org-setup/schemas/folder.schema.md b/fast/stages/0-org-setup/schemas/folder.schema.md index 168f85f72..2a89323f7 100644 --- a/fast/stages/0-org-setup/schemas/folder.schema.md +++ b/fast/stages/0-org-setup/schemas/folder.schema.md @@ -173,7 +173,7 @@ - **versioning**: *boolean* - **iam**: *object*
*additional properties: false* - - **`^(?:roles/|\$custom_roles:)`**: *array* + - **`^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)`**: *array* - items: *string*
*pattern: ^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:|\$iam_principals:)* - **iam_bindings**: *object* @@ -184,7 +184,7 @@ - items: *string*
*pattern: ^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:|\$iam_principals:)* - **role**: *string* -
*pattern: ^(?:roles/|\$custom_roles:)* +
*pattern: ^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)* - **condition**: *object*
*additional properties: false* - ⁺**expression**: *string* @@ -197,7 +197,7 @@ - **member**: *string*
*pattern: ^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:|\$iam_principals:)* - **role**: *string* -
*pattern: ^(?:roles/|\$custom_roles:)* +
*pattern: ^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)* - **condition**: *object*
*additional properties: false* - ⁺**expression**: *string* @@ -207,7 +207,7 @@
*additional properties: false* - **`^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:|\$iam_principals:)`**: *array* - items: *string* -
*pattern: ^(?:roles/|\$custom_roles:)* +
*pattern: ^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)* - **iam_by_principals_conditional**: *object*
*additional properties: false* - **`^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:|\$iam_principals:)`**: *object* @@ -219,7 +219,7 @@ - **description**: *string* - ⁺**roles**: *array* - items: *string* -
*pattern: ^(?:roles/|\$custom_roles:)* +
*pattern: ^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)* - **iam_billing_roles**: *object*
*additional properties: false* - **`^[a-z0-9-]+$`**: *array* diff --git a/fast/stages/0-org-setup/schemas/organization.schema.json b/fast/stages/0-org-setup/schemas/organization.schema.json index b8fb356d5..24a0907c3 100644 --- a/fast/stages/0-org-setup/schemas/organization.schema.json +++ b/fast/stages/0-org-setup/schemas/organization.schema.json @@ -542,7 +542,7 @@ "type": "object", "additionalProperties": false, "patternProperties": { - "^(?:roles/|$custom_roles:|organizations/|projects/)": { + "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)": { "type": "array", "items": { "type": "string", @@ -572,7 +572,7 @@ }, "role": { "type": "string", - "pattern": "^roles/" + "pattern": "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)" }, "condition": { "type": "object", @@ -648,7 +648,7 @@ "type": "array", "items": { "type": "string", - "pattern": "^(?:roles/|\\$custom_roles:)" + "pattern": "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)" } } } @@ -688,7 +688,7 @@ "type": "array", "items": { "type": "string", - "pattern": "^(?:roles/|\\$custom_roles:)" + "pattern": "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)" } } } diff --git a/fast/stages/0-org-setup/schemas/organization.schema.md b/fast/stages/0-org-setup/schemas/organization.schema.md index 84379b1f9..7d1236078 100644 --- a/fast/stages/0-org-setup/schemas/organization.schema.md +++ b/fast/stages/0-org-setup/schemas/organization.schema.md @@ -134,7 +134,7 @@ - **iam**: *object*
*additional properties: false* - - **`^(?:roles/|$custom_roles:|organizations/|projects/)`**: *array* + - **`^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)`**: *array* - items: *string*
*pattern: ^(?:\$[a-z_-]+:|domain:|group:|mdb:|serviceAccount:|user:|principal:|principalSet:)* - **iam_bindings**: *object* @@ -145,7 +145,7 @@ - items: *string*
*pattern: ^(?:\$[a-z_-]+:|domain:|group:|mdb:|serviceAccount:|user:|principal:|principalSet:)* - ⁺**role**: *string* -
*pattern: ^roles/* +
*pattern: ^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)* - **condition**: *object*
*additional properties: false* - ⁺**expression**: *string* @@ -168,7 +168,7 @@
*additional properties: false* - **`^(?:\$[a-z_-]+:|domain:|group:|serviceAccount:|user:|principal:|principalSet:)`**: *array* - items: *string* -
*pattern: ^(?:roles/|\$custom_roles:)* +
*pattern: ^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)* - **iam_by_principals_conditional**: *object*
*additional properties: false* - **`^(?:\$[a-z_-]+:|domain:|group:|serviceAccount:|user:|principal:|principalSet:)`**: *object* @@ -180,7 +180,7 @@ - **description**: *string* - ⁺**roles**: *array* - items: *string* -
*pattern: ^(?:roles/|\$custom_roles:)* +
*pattern: ^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)* - **pam_entitlements**: *object*
*additional properties: false* - **`^[a-z][a-z0-9-]{0,61}[a-z0-9]$`**: *object* diff --git a/fast/stages/0-org-setup/schemas/project.schema.json b/fast/stages/0-org-setup/schemas/project.schema.json index 32e1bd81f..d65fa4a58 100644 --- a/fast/stages/0-org-setup/schemas/project.schema.json +++ b/fast/stages/0-org-setup/schemas/project.schema.json @@ -1308,7 +1308,7 @@ "type": "object", "additionalProperties": false, "patternProperties": { - "^(?:roles/|\\$custom_roles:)": { + "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)": { "type": "array", "items": { "type": "string", @@ -1334,7 +1334,7 @@ }, "role": { "type": "string", - "pattern": "^(?:roles/|\\$custom_roles:)" + "pattern": "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)" }, "condition": { "type": "object", @@ -1373,7 +1373,7 @@ }, "role": { "type": "string", - "pattern": "^(?:roles/|\\$custom_roles:)" + "pattern": "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)" }, "condition": { "type": "object", @@ -1406,7 +1406,7 @@ "type": "array", "items": { "type": "string", - "pattern": "^(?:roles/|\\$custom_roles:)" + "pattern": "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)" } } } @@ -1446,7 +1446,7 @@ "type": "array", "items": { "type": "string", - "pattern": "^(?:roles/|\\$custom_roles:)" + "pattern": "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)" } } } diff --git a/fast/stages/0-org-setup/schemas/project.schema.md b/fast/stages/0-org-setup/schemas/project.schema.md index eadce0d3c..a14fb866d 100644 --- a/fast/stages/0-org-setup/schemas/project.schema.md +++ b/fast/stages/0-org-setup/schemas/project.schema.md @@ -363,7 +363,7 @@ - **`^[a-z0-9-]+$`**: *reference([bucket](#refs-bucket))* - **iam**: *object*
*additional properties: false* - - **`^(?:roles/|\$custom_roles:)`**: *array* + - **`^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)`**: *array* - items: *string*
*pattern: ^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:||\$iam_principals:[a-z0-9_-]+)* - **iam_bindings**: *object* @@ -374,7 +374,7 @@ - items: *string*
*pattern: ^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:|\$iam_principals:[a-z0-9_-]+)* - **role**: *string* -
*pattern: ^(?:roles/|\$custom_roles:)* +
*pattern: ^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)* - **condition**: *object*
*additional properties: false* - ⁺**expression**: *string* @@ -387,7 +387,7 @@ - **member**: *string*
*pattern: ^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:|\$iam_principals:[a-z0-9_-]+)* - **role**: *string* -
*pattern: ^(?:roles/|\$custom_roles:)* +
*pattern: ^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)* - **condition**: *object*
*additional properties: false* - ⁺**expression**: *string* @@ -397,7 +397,7 @@
*additional properties: false* - **`^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:|\$iam_principals:[a-z0-9_-]+)`**: *array* - items: *string* -
*pattern: ^(?:roles/|\$custom_roles:)* +
*pattern: ^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)* - **iam_by_principals_conditional**: *object*
*additional properties: false* - **`^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:|\$iam_principals:[a-z0-9_-]+)`**: *object* @@ -409,7 +409,7 @@ - **description**: *string* - ⁺**roles**: *array* - items: *string* -
*pattern: ^(?:roles/|\$custom_roles:)* +
*pattern: ^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)* - **iam_billing_roles**: *object*
*additional properties: false* - **`^[a-z0-9-]+$`**: *array* diff --git a/fast/stages/1-vpcsc/schemas/defaults.schema.json b/fast/stages/1-vpcsc/schemas/defaults.schema.json index 3b21f4895..d365589b9 100644 --- a/fast/stages/1-vpcsc/schemas/defaults.schema.json +++ b/fast/stages/1-vpcsc/schemas/defaults.schema.json @@ -78,7 +78,7 @@ "type": "object", "additionalProperties": false, "patternProperties": { - "^(?:roles/|\\$custom_roles:)": { + "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)": { "type": "array", "items": { "type": "string", @@ -104,7 +104,7 @@ }, "role": { "type": "string", - "pattern": "^(?:roles/|\\$custom_roles:)" + "pattern": "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)" }, "condition": { "type": "object", @@ -143,7 +143,7 @@ }, "role": { "type": "string", - "pattern": "^(?:roles/|\\$custom_roles:)" + "pattern": "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)" }, "condition": { "type": "object", @@ -176,7 +176,7 @@ "type": "array", "items": { "type": "string", - "pattern": "^(?:roles/|\\$custom_roles:)" + "pattern": "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)" } } } diff --git a/fast/stages/1-vpcsc/schemas/defaults.schema.md b/fast/stages/1-vpcsc/schemas/defaults.schema.md index c0f1ffbd9..dfc43a393 100644 --- a/fast/stages/1-vpcsc/schemas/defaults.schema.md +++ b/fast/stages/1-vpcsc/schemas/defaults.schema.md @@ -31,7 +31,7 @@ - **iam**: *object*
*additional properties: false* - - **`^(?:roles/|\$custom_roles:)`**: *array* + - **`^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)`**: *array* - items: *string*
*pattern: ^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:||\$iam_principals:[a-z0-9_-]+)* - **iam_bindings**: *object* @@ -42,7 +42,7 @@ - items: *string*
*pattern: ^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:|\$iam_principals:[a-z0-9_-]+)* - **role**: *string* -
*pattern: ^(?:roles/|\$custom_roles:)* +
*pattern: ^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)* - **condition**: *object*
*additional properties: false* - ⁺**expression**: *string* @@ -55,7 +55,7 @@ - **member**: *string*
*pattern: ^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:|\$iam_principals:[a-z0-9_-]+)* - **role**: *string* -
*pattern: ^(?:roles/|\$custom_roles:)* +
*pattern: ^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)* - **condition**: *object*
*additional properties: false* - ⁺**expression**: *string* @@ -65,4 +65,4 @@
*additional properties: false* - **`^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:|\$iam_principals:[a-z0-9_-]+)`**: *array* - items: *string* -
*pattern: ^(?:roles/|\$custom_roles:)* +
*pattern: ^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)* diff --git a/fast/stages/2-networking/schemas/defaults.schema.json b/fast/stages/2-networking/schemas/defaults.schema.json index 7b0237031..84cdcf256 100644 --- a/fast/stages/2-networking/schemas/defaults.schema.json +++ b/fast/stages/2-networking/schemas/defaults.schema.json @@ -754,7 +754,7 @@ "type": "object", "additionalProperties": false, "patternProperties": { - "^(?:roles/|\\$custom_roles:)": { + "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)": { "type": "array", "items": { "type": "string", @@ -780,7 +780,7 @@ }, "role": { "type": "string", - "pattern": "^(?:roles/|\\$custom_roles:)" + "pattern": "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)" }, "condition": { "type": "object", @@ -819,7 +819,7 @@ }, "role": { "type": "string", - "pattern": "^(?:roles/|\\$custom_roles:)" + "pattern": "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)" }, "condition": { "type": "object", @@ -852,7 +852,7 @@ "type": "array", "items": { "type": "string", - "pattern": "^(?:roles/|\\$custom_roles:)" + "pattern": "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)" } } } diff --git a/fast/stages/2-networking/schemas/defaults.schema.md b/fast/stages/2-networking/schemas/defaults.schema.md index 96bf3ebb4..9cb83f318 100644 --- a/fast/stages/2-networking/schemas/defaults.schema.md +++ b/fast/stages/2-networking/schemas/defaults.schema.md @@ -228,7 +228,7 @@ - **iam**: *object*
*additional properties: false* - - **`^(?:roles/|\$custom_roles:)`**: *array* + - **`^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)`**: *array* - items: *string*
*pattern: ^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:||\$iam_principals:[a-z0-9_-]+)* - **iam_bindings**: *object* @@ -239,7 +239,7 @@ - items: *string*
*pattern: ^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:|\$iam_principals:[a-z0-9_-]+)* - **role**: *string* -
*pattern: ^(?:roles/|\$custom_roles:)* +
*pattern: ^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)* - **condition**: *object*
*additional properties: false* - ⁺**expression**: *string* @@ -252,7 +252,7 @@ - **member**: *string*
*pattern: ^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:|\$iam_principals:[a-z0-9_-]+)* - **role**: *string* -
*pattern: ^(?:roles/|\$custom_roles:)* +
*pattern: ^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)* - **condition**: *object*
*additional properties: false* - ⁺**expression**: *string* @@ -262,4 +262,4 @@
*additional properties: false* - **`^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:|\$iam_principals:[a-z0-9_-]+)`**: *array* - items: *string* -
*pattern: ^(?:roles/|\$custom_roles:)* +
*pattern: ^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)* diff --git a/fast/stages/2-networking/schemas/dns.schema.json b/fast/stages/2-networking/schemas/dns.schema.json index 5692e21eb..cc2bba99b 100644 --- a/fast/stages/2-networking/schemas/dns.schema.json +++ b/fast/stages/2-networking/schemas/dns.schema.json @@ -125,7 +125,7 @@ "type": "object", "additionalProperties": false, "patternProperties": { - "^(?:roles/|\\$custom_roles:)": { + "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)": { "type": "array", "items": { "type": "string", diff --git a/fast/stages/2-networking/schemas/dns.schema.md b/fast/stages/2-networking/schemas/dns.schema.md index cfbde994e..48a4f8955 100644 --- a/fast/stages/2-networking/schemas/dns.schema.md +++ b/fast/stages/2-networking/schemas/dns.schema.md @@ -23,7 +23,7 @@ - **iam**: *object*
*additional properties: false* - - **`^(?:roles/|\$custom_roles:)`**: *array* + - **`^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)`**: *array* - items: *string*
*pattern: ^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:||\$iam_principals:[a-z0-9_-]+)* - **recordsets**: *object* diff --git a/fast/stages/2-networking/schemas/folder.schema.json b/fast/stages/2-networking/schemas/folder.schema.json index a9832d9a6..166cb1e3f 100644 --- a/fast/stages/2-networking/schemas/folder.schema.json +++ b/fast/stages/2-networking/schemas/folder.schema.json @@ -531,7 +531,7 @@ "type": "object", "additionalProperties": false, "patternProperties": { - "^(?:roles/|\\$custom_roles:)": { + "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)": { "type": "array", "items": { "type": "string", @@ -557,7 +557,7 @@ }, "role": { "type": "string", - "pattern": "^(?:roles/|\\$custom_roles:)" + "pattern": "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)" }, "condition": { "type": "object", @@ -596,7 +596,7 @@ }, "role": { "type": "string", - "pattern": "^(?:roles/|\\$custom_roles:)" + "pattern": "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)" }, "condition": { "type": "object", @@ -629,7 +629,7 @@ "type": "array", "items": { "type": "string", - "pattern": "^(?:roles/|\\$custom_roles:)" + "pattern": "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)" } } } @@ -669,7 +669,7 @@ "type": "array", "items": { "type": "string", - "pattern": "^(?:roles/|\\$custom_roles:)" + "pattern": "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)" } } } diff --git a/fast/stages/2-networking/schemas/folder.schema.md b/fast/stages/2-networking/schemas/folder.schema.md index 168f85f72..2a89323f7 100644 --- a/fast/stages/2-networking/schemas/folder.schema.md +++ b/fast/stages/2-networking/schemas/folder.schema.md @@ -173,7 +173,7 @@ - **versioning**: *boolean* - **iam**: *object*
*additional properties: false* - - **`^(?:roles/|\$custom_roles:)`**: *array* + - **`^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)`**: *array* - items: *string*
*pattern: ^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:|\$iam_principals:)* - **iam_bindings**: *object* @@ -184,7 +184,7 @@ - items: *string*
*pattern: ^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:|\$iam_principals:)* - **role**: *string* -
*pattern: ^(?:roles/|\$custom_roles:)* +
*pattern: ^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)* - **condition**: *object*
*additional properties: false* - ⁺**expression**: *string* @@ -197,7 +197,7 @@ - **member**: *string*
*pattern: ^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:|\$iam_principals:)* - **role**: *string* -
*pattern: ^(?:roles/|\$custom_roles:)* +
*pattern: ^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)* - **condition**: *object*
*additional properties: false* - ⁺**expression**: *string* @@ -207,7 +207,7 @@
*additional properties: false* - **`^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:|\$iam_principals:)`**: *array* - items: *string* -
*pattern: ^(?:roles/|\$custom_roles:)* +
*pattern: ^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)* - **iam_by_principals_conditional**: *object*
*additional properties: false* - **`^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:|\$iam_principals:)`**: *object* @@ -219,7 +219,7 @@ - **description**: *string* - ⁺**roles**: *array* - items: *string* -
*pattern: ^(?:roles/|\$custom_roles:)* +
*pattern: ^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)* - **iam_billing_roles**: *object*
*additional properties: false* - **`^[a-z0-9-]+$`**: *array* diff --git a/fast/stages/2-networking/schemas/project.schema.json b/fast/stages/2-networking/schemas/project.schema.json index 32e1bd81f..d65fa4a58 100644 --- a/fast/stages/2-networking/schemas/project.schema.json +++ b/fast/stages/2-networking/schemas/project.schema.json @@ -1308,7 +1308,7 @@ "type": "object", "additionalProperties": false, "patternProperties": { - "^(?:roles/|\\$custom_roles:)": { + "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)": { "type": "array", "items": { "type": "string", @@ -1334,7 +1334,7 @@ }, "role": { "type": "string", - "pattern": "^(?:roles/|\\$custom_roles:)" + "pattern": "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)" }, "condition": { "type": "object", @@ -1373,7 +1373,7 @@ }, "role": { "type": "string", - "pattern": "^(?:roles/|\\$custom_roles:)" + "pattern": "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)" }, "condition": { "type": "object", @@ -1406,7 +1406,7 @@ "type": "array", "items": { "type": "string", - "pattern": "^(?:roles/|\\$custom_roles:)" + "pattern": "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)" } } } @@ -1446,7 +1446,7 @@ "type": "array", "items": { "type": "string", - "pattern": "^(?:roles/|\\$custom_roles:)" + "pattern": "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)" } } } diff --git a/fast/stages/2-networking/schemas/project.schema.md b/fast/stages/2-networking/schemas/project.schema.md index eadce0d3c..a14fb866d 100644 --- a/fast/stages/2-networking/schemas/project.schema.md +++ b/fast/stages/2-networking/schemas/project.schema.md @@ -363,7 +363,7 @@ - **`^[a-z0-9-]+$`**: *reference([bucket](#refs-bucket))* - **iam**: *object*
*additional properties: false* - - **`^(?:roles/|\$custom_roles:)`**: *array* + - **`^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)`**: *array* - items: *string*
*pattern: ^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:||\$iam_principals:[a-z0-9_-]+)* - **iam_bindings**: *object* @@ -374,7 +374,7 @@ - items: *string*
*pattern: ^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:|\$iam_principals:[a-z0-9_-]+)* - **role**: *string* -
*pattern: ^(?:roles/|\$custom_roles:)* +
*pattern: ^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)* - **condition**: *object*
*additional properties: false* - ⁺**expression**: *string* @@ -387,7 +387,7 @@ - **member**: *string*
*pattern: ^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:|\$iam_principals:[a-z0-9_-]+)* - **role**: *string* -
*pattern: ^(?:roles/|\$custom_roles:)* +
*pattern: ^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)* - **condition**: *object*
*additional properties: false* - ⁺**expression**: *string* @@ -397,7 +397,7 @@
*additional properties: false* - **`^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:|\$iam_principals:[a-z0-9_-]+)`**: *array* - items: *string* -
*pattern: ^(?:roles/|\$custom_roles:)* +
*pattern: ^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)* - **iam_by_principals_conditional**: *object*
*additional properties: false* - **`^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:|\$iam_principals:[a-z0-9_-]+)`**: *object* @@ -409,7 +409,7 @@ - **description**: *string* - ⁺**roles**: *array* - items: *string* -
*pattern: ^(?:roles/|\$custom_roles:)* +
*pattern: ^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)* - **iam_billing_roles**: *object*
*additional properties: false* - **`^[a-z0-9-]+$`**: *array* diff --git a/fast/stages/2-project-factory/schemas/defaults.schema.json b/fast/stages/2-project-factory/schemas/defaults.schema.json index 1243240d4..117783a93 100644 --- a/fast/stages/2-project-factory/schemas/defaults.schema.json +++ b/fast/stages/2-project-factory/schemas/defaults.schema.json @@ -652,7 +652,7 @@ "type": "object", "additionalProperties": false, "patternProperties": { - "^(?:roles/|\\$custom_roles:)": { + "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)": { "type": "array", "items": { "type": "string", @@ -678,7 +678,7 @@ }, "role": { "type": "string", - "pattern": "^(?:roles/|\\$custom_roles:)" + "pattern": "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)" }, "condition": { "type": "object", @@ -717,7 +717,7 @@ }, "role": { "type": "string", - "pattern": "^(?:roles/|\\$custom_roles:)" + "pattern": "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)" }, "condition": { "type": "object", @@ -750,7 +750,7 @@ "type": "array", "items": { "type": "string", - "pattern": "^(?:roles/|\\$custom_roles:)" + "pattern": "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)" } } } diff --git a/fast/stages/2-project-factory/schemas/defaults.schema.md b/fast/stages/2-project-factory/schemas/defaults.schema.md index 3122239c5..eee6f3b76 100644 --- a/fast/stages/2-project-factory/schemas/defaults.schema.md +++ b/fast/stages/2-project-factory/schemas/defaults.schema.md @@ -188,7 +188,7 @@ - **iam**: *object*
*additional properties: false* - - **`^(?:roles/|\$custom_roles:)`**: *array* + - **`^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)`**: *array* - items: *string*
*pattern: ^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:||\$iam_principals:[a-z0-9_-]+)* - **iam_bindings**: *object* @@ -199,7 +199,7 @@ - items: *string*
*pattern: ^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:|\$iam_principals:[a-z0-9_-]+)* - **role**: *string* -
*pattern: ^(?:roles/|\$custom_roles:)* +
*pattern: ^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)* - **condition**: *object*
*additional properties: false* - ⁺**expression**: *string* @@ -212,7 +212,7 @@ - **member**: *string*
*pattern: ^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:|\$iam_principals:[a-z0-9_-]+)* - **role**: *string* -
*pattern: ^(?:roles/|\$custom_roles:)* +
*pattern: ^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)* - **condition**: *object*
*additional properties: false* - ⁺**expression**: *string* @@ -222,4 +222,4 @@
*additional properties: false* - **`^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:|\$iam_principals:[a-z0-9_-]+)`**: *array* - items: *string* -
*pattern: ^(?:roles/|\$custom_roles:)* +
*pattern: ^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)* diff --git a/fast/stages/2-project-factory/schemas/folder.schema.json b/fast/stages/2-project-factory/schemas/folder.schema.json index a9832d9a6..166cb1e3f 100644 --- a/fast/stages/2-project-factory/schemas/folder.schema.json +++ b/fast/stages/2-project-factory/schemas/folder.schema.json @@ -531,7 +531,7 @@ "type": "object", "additionalProperties": false, "patternProperties": { - "^(?:roles/|\\$custom_roles:)": { + "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)": { "type": "array", "items": { "type": "string", @@ -557,7 +557,7 @@ }, "role": { "type": "string", - "pattern": "^(?:roles/|\\$custom_roles:)" + "pattern": "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)" }, "condition": { "type": "object", @@ -596,7 +596,7 @@ }, "role": { "type": "string", - "pattern": "^(?:roles/|\\$custom_roles:)" + "pattern": "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)" }, "condition": { "type": "object", @@ -629,7 +629,7 @@ "type": "array", "items": { "type": "string", - "pattern": "^(?:roles/|\\$custom_roles:)" + "pattern": "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)" } } } @@ -669,7 +669,7 @@ "type": "array", "items": { "type": "string", - "pattern": "^(?:roles/|\\$custom_roles:)" + "pattern": "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)" } } } diff --git a/fast/stages/2-project-factory/schemas/folder.schema.md b/fast/stages/2-project-factory/schemas/folder.schema.md index 168f85f72..2a89323f7 100644 --- a/fast/stages/2-project-factory/schemas/folder.schema.md +++ b/fast/stages/2-project-factory/schemas/folder.schema.md @@ -173,7 +173,7 @@ - **versioning**: *boolean* - **iam**: *object*
*additional properties: false* - - **`^(?:roles/|\$custom_roles:)`**: *array* + - **`^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)`**: *array* - items: *string*
*pattern: ^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:|\$iam_principals:)* - **iam_bindings**: *object* @@ -184,7 +184,7 @@ - items: *string*
*pattern: ^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:|\$iam_principals:)* - **role**: *string* -
*pattern: ^(?:roles/|\$custom_roles:)* +
*pattern: ^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)* - **condition**: *object*
*additional properties: false* - ⁺**expression**: *string* @@ -197,7 +197,7 @@ - **member**: *string*
*pattern: ^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:|\$iam_principals:)* - **role**: *string* -
*pattern: ^(?:roles/|\$custom_roles:)* +
*pattern: ^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)* - **condition**: *object*
*additional properties: false* - ⁺**expression**: *string* @@ -207,7 +207,7 @@
*additional properties: false* - **`^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:|\$iam_principals:)`**: *array* - items: *string* -
*pattern: ^(?:roles/|\$custom_roles:)* +
*pattern: ^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)* - **iam_by_principals_conditional**: *object*
*additional properties: false* - **`^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:|\$iam_principals:)`**: *object* @@ -219,7 +219,7 @@ - **description**: *string* - ⁺**roles**: *array* - items: *string* -
*pattern: ^(?:roles/|\$custom_roles:)* +
*pattern: ^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)* - **iam_billing_roles**: *object*
*additional properties: false* - **`^[a-z0-9-]+$`**: *array* diff --git a/fast/stages/2-project-factory/schemas/project.schema.json b/fast/stages/2-project-factory/schemas/project.schema.json index 32e1bd81f..d65fa4a58 100644 --- a/fast/stages/2-project-factory/schemas/project.schema.json +++ b/fast/stages/2-project-factory/schemas/project.schema.json @@ -1308,7 +1308,7 @@ "type": "object", "additionalProperties": false, "patternProperties": { - "^(?:roles/|\\$custom_roles:)": { + "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)": { "type": "array", "items": { "type": "string", @@ -1334,7 +1334,7 @@ }, "role": { "type": "string", - "pattern": "^(?:roles/|\\$custom_roles:)" + "pattern": "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)" }, "condition": { "type": "object", @@ -1373,7 +1373,7 @@ }, "role": { "type": "string", - "pattern": "^(?:roles/|\\$custom_roles:)" + "pattern": "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)" }, "condition": { "type": "object", @@ -1406,7 +1406,7 @@ "type": "array", "items": { "type": "string", - "pattern": "^(?:roles/|\\$custom_roles:)" + "pattern": "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)" } } } @@ -1446,7 +1446,7 @@ "type": "array", "items": { "type": "string", - "pattern": "^(?:roles/|\\$custom_roles:)" + "pattern": "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)" } } } diff --git a/fast/stages/2-project-factory/schemas/project.schema.md b/fast/stages/2-project-factory/schemas/project.schema.md index eadce0d3c..a14fb866d 100644 --- a/fast/stages/2-project-factory/schemas/project.schema.md +++ b/fast/stages/2-project-factory/schemas/project.schema.md @@ -363,7 +363,7 @@ - **`^[a-z0-9-]+$`**: *reference([bucket](#refs-bucket))* - **iam**: *object*
*additional properties: false* - - **`^(?:roles/|\$custom_roles:)`**: *array* + - **`^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)`**: *array* - items: *string*
*pattern: ^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:||\$iam_principals:[a-z0-9_-]+)* - **iam_bindings**: *object* @@ -374,7 +374,7 @@ - items: *string*
*pattern: ^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:|\$iam_principals:[a-z0-9_-]+)* - **role**: *string* -
*pattern: ^(?:roles/|\$custom_roles:)* +
*pattern: ^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)* - **condition**: *object*
*additional properties: false* - ⁺**expression**: *string* @@ -387,7 +387,7 @@ - **member**: *string*
*pattern: ^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:|\$iam_principals:[a-z0-9_-]+)* - **role**: *string* -
*pattern: ^(?:roles/|\$custom_roles:)* +
*pattern: ^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)* - **condition**: *object*
*additional properties: false* - ⁺**expression**: *string* @@ -397,7 +397,7 @@
*additional properties: false* - **`^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:|\$iam_principals:[a-z0-9_-]+)`**: *array* - items: *string* -
*pattern: ^(?:roles/|\$custom_roles:)* +
*pattern: ^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)* - **iam_by_principals_conditional**: *object*
*additional properties: false* - **`^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:|\$iam_principals:[a-z0-9_-]+)`**: *object* @@ -409,7 +409,7 @@ - **description**: *string* - ⁺**roles**: *array* - items: *string* -
*pattern: ^(?:roles/|\$custom_roles:)* +
*pattern: ^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)* - **iam_billing_roles**: *object*
*additional properties: false* - **`^[a-z0-9-]+$`**: *array* diff --git a/fast/stages/2-security/schemas/certificate-authority.schema.json b/fast/stages/2-security/schemas/certificate-authority.schema.json index 97c5c3718..9bdab4522 100644 --- a/fast/stages/2-security/schemas/certificate-authority.schema.json +++ b/fast/stages/2-security/schemas/certificate-authority.schema.json @@ -395,7 +395,7 @@ "type": "array", "items": { "type": "string", - "pattern": "^(?:roles/|\\$custom_roles:)" + "pattern": "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)" } } } diff --git a/fast/stages/2-security/schemas/certificate-authority.schema.md b/fast/stages/2-security/schemas/certificate-authority.schema.md index a5efa559d..5a3f70d41 100644 --- a/fast/stages/2-security/schemas/certificate-authority.schema.md +++ b/fast/stages/2-security/schemas/certificate-authority.schema.md @@ -120,4 +120,4 @@
*additional properties: false* - **`^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:|\$iam_principals:[a-z0-9_-]+)`**: *array* - items: *string* -
*pattern: ^(?:roles/|\$custom_roles:)* +
*pattern: ^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)* diff --git a/fast/stages/2-security/schemas/defaults.schema.json b/fast/stages/2-security/schemas/defaults.schema.json index 9782fa052..913663e5a 100644 --- a/fast/stages/2-security/schemas/defaults.schema.json +++ b/fast/stages/2-security/schemas/defaults.schema.json @@ -545,7 +545,7 @@ "type": "object", "additionalProperties": false, "patternProperties": { - "^(?:roles/|\\$custom_roles:)": { + "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)": { "type": "array", "items": { "type": "string", @@ -571,7 +571,7 @@ }, "role": { "type": "string", - "pattern": "^(?:roles/|\\$custom_roles:)" + "pattern": "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)" }, "condition": { "type": "object", @@ -610,7 +610,7 @@ }, "role": { "type": "string", - "pattern": "^(?:roles/|\\$custom_roles:)" + "pattern": "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)" }, "condition": { "type": "object", @@ -643,7 +643,7 @@ "type": "array", "items": { "type": "string", - "pattern": "^(?:roles/|\\$custom_roles:)" + "pattern": "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)" } } } diff --git a/fast/stages/2-security/schemas/defaults.schema.md b/fast/stages/2-security/schemas/defaults.schema.md index 3287f67fb..d18e59d0c 100644 --- a/fast/stages/2-security/schemas/defaults.schema.md +++ b/fast/stages/2-security/schemas/defaults.schema.md @@ -162,7 +162,7 @@ - **iam**: *object*
*additional properties: false* - - **`^(?:roles/|\$custom_roles:)`**: *array* + - **`^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)`**: *array* - items: *string*
*pattern: ^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:||\$iam_principals:[a-z0-9_-]+)* - **iam_bindings**: *object* @@ -173,7 +173,7 @@ - items: *string*
*pattern: ^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:|\$iam_principals:[a-z0-9_-]+)* - **role**: *string* -
*pattern: ^(?:roles/|\$custom_roles:)* +
*pattern: ^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)* - **condition**: *object*
*additional properties: false* - ⁺**expression**: *string* @@ -186,7 +186,7 @@ - **member**: *string*
*pattern: ^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:|\$iam_principals:[a-z0-9_-]+)* - **role**: *string* -
*pattern: ^(?:roles/|\$custom_roles:)* +
*pattern: ^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)* - **condition**: *object*
*additional properties: false* - ⁺**expression**: *string* @@ -196,4 +196,4 @@
*additional properties: false* - **`^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:|\$iam_principals:[a-z0-9_-]+)`**: *array* - items: *string* -
*pattern: ^(?:roles/|\$custom_roles:)* +
*pattern: ^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)* diff --git a/fast/stages/2-security/schemas/folder.schema.json b/fast/stages/2-security/schemas/folder.schema.json index a9832d9a6..166cb1e3f 100644 --- a/fast/stages/2-security/schemas/folder.schema.json +++ b/fast/stages/2-security/schemas/folder.schema.json @@ -531,7 +531,7 @@ "type": "object", "additionalProperties": false, "patternProperties": { - "^(?:roles/|\\$custom_roles:)": { + "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)": { "type": "array", "items": { "type": "string", @@ -557,7 +557,7 @@ }, "role": { "type": "string", - "pattern": "^(?:roles/|\\$custom_roles:)" + "pattern": "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)" }, "condition": { "type": "object", @@ -596,7 +596,7 @@ }, "role": { "type": "string", - "pattern": "^(?:roles/|\\$custom_roles:)" + "pattern": "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)" }, "condition": { "type": "object", @@ -629,7 +629,7 @@ "type": "array", "items": { "type": "string", - "pattern": "^(?:roles/|\\$custom_roles:)" + "pattern": "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)" } } } @@ -669,7 +669,7 @@ "type": "array", "items": { "type": "string", - "pattern": "^(?:roles/|\\$custom_roles:)" + "pattern": "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)" } } } diff --git a/fast/stages/2-security/schemas/folder.schema.md b/fast/stages/2-security/schemas/folder.schema.md index 168f85f72..2a89323f7 100644 --- a/fast/stages/2-security/schemas/folder.schema.md +++ b/fast/stages/2-security/schemas/folder.schema.md @@ -173,7 +173,7 @@ - **versioning**: *boolean* - **iam**: *object*
*additional properties: false* - - **`^(?:roles/|\$custom_roles:)`**: *array* + - **`^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)`**: *array* - items: *string*
*pattern: ^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:|\$iam_principals:)* - **iam_bindings**: *object* @@ -184,7 +184,7 @@ - items: *string*
*pattern: ^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:|\$iam_principals:)* - **role**: *string* -
*pattern: ^(?:roles/|\$custom_roles:)* +
*pattern: ^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)* - **condition**: *object*
*additional properties: false* - ⁺**expression**: *string* @@ -197,7 +197,7 @@ - **member**: *string*
*pattern: ^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:|\$iam_principals:)* - **role**: *string* -
*pattern: ^(?:roles/|\$custom_roles:)* +
*pattern: ^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)* - **condition**: *object*
*additional properties: false* - ⁺**expression**: *string* @@ -207,7 +207,7 @@
*additional properties: false* - **`^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:|\$iam_principals:)`**: *array* - items: *string* -
*pattern: ^(?:roles/|\$custom_roles:)* +
*pattern: ^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)* - **iam_by_principals_conditional**: *object*
*additional properties: false* - **`^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:|\$iam_principals:)`**: *object* @@ -219,7 +219,7 @@ - **description**: *string* - ⁺**roles**: *array* - items: *string* -
*pattern: ^(?:roles/|\$custom_roles:)* +
*pattern: ^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)* - **iam_billing_roles**: *object*
*additional properties: false* - **`^[a-z0-9-]+$`**: *array* diff --git a/fast/stages/2-security/schemas/project.schema.json b/fast/stages/2-security/schemas/project.schema.json index 32e1bd81f..d65fa4a58 100644 --- a/fast/stages/2-security/schemas/project.schema.json +++ b/fast/stages/2-security/schemas/project.schema.json @@ -1308,7 +1308,7 @@ "type": "object", "additionalProperties": false, "patternProperties": { - "^(?:roles/|\\$custom_roles:)": { + "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)": { "type": "array", "items": { "type": "string", @@ -1334,7 +1334,7 @@ }, "role": { "type": "string", - "pattern": "^(?:roles/|\\$custom_roles:)" + "pattern": "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)" }, "condition": { "type": "object", @@ -1373,7 +1373,7 @@ }, "role": { "type": "string", - "pattern": "^(?:roles/|\\$custom_roles:)" + "pattern": "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)" }, "condition": { "type": "object", @@ -1406,7 +1406,7 @@ "type": "array", "items": { "type": "string", - "pattern": "^(?:roles/|\\$custom_roles:)" + "pattern": "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)" } } } @@ -1446,7 +1446,7 @@ "type": "array", "items": { "type": "string", - "pattern": "^(?:roles/|\\$custom_roles:)" + "pattern": "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)" } } } diff --git a/fast/stages/2-security/schemas/project.schema.md b/fast/stages/2-security/schemas/project.schema.md index eadce0d3c..a14fb866d 100644 --- a/fast/stages/2-security/schemas/project.schema.md +++ b/fast/stages/2-security/schemas/project.schema.md @@ -363,7 +363,7 @@ - **`^[a-z0-9-]+$`**: *reference([bucket](#refs-bucket))* - **iam**: *object*
*additional properties: false* - - **`^(?:roles/|\$custom_roles:)`**: *array* + - **`^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)`**: *array* - items: *string*
*pattern: ^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:||\$iam_principals:[a-z0-9_-]+)* - **iam_bindings**: *object* @@ -374,7 +374,7 @@ - items: *string*
*pattern: ^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:|\$iam_principals:[a-z0-9_-]+)* - **role**: *string* -
*pattern: ^(?:roles/|\$custom_roles:)* +
*pattern: ^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)* - **condition**: *object*
*additional properties: false* - ⁺**expression**: *string* @@ -387,7 +387,7 @@ - **member**: *string*
*pattern: ^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:|\$iam_principals:[a-z0-9_-]+)* - **role**: *string* -
*pattern: ^(?:roles/|\$custom_roles:)* +
*pattern: ^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)* - **condition**: *object*
*additional properties: false* - ⁺**expression**: *string* @@ -397,7 +397,7 @@
*additional properties: false* - **`^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:|\$iam_principals:[a-z0-9_-]+)`**: *array* - items: *string* -
*pattern: ^(?:roles/|\$custom_roles:)* +
*pattern: ^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)* - **iam_by_principals_conditional**: *object*
*additional properties: false* - **`^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:|\$iam_principals:[a-z0-9_-]+)`**: *object* @@ -409,7 +409,7 @@ - **description**: *string* - ⁺**roles**: *array* - items: *string* -
*pattern: ^(?:roles/|\$custom_roles:)* +
*pattern: ^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)* - **iam_billing_roles**: *object*
*additional properties: false* - **`^[a-z0-9-]+$`**: *array* diff --git a/modules/dataplex-aspect-types/schemas/aspect-type.schema.json b/modules/dataplex-aspect-types/schemas/aspect-type.schema.json index bf2614f2e..49a8f8e31 100644 --- a/modules/dataplex-aspect-types/schemas/aspect-type.schema.json +++ b/modules/dataplex-aspect-types/schemas/aspect-type.schema.json @@ -31,7 +31,7 @@ "type": "object", "additionalProperties": false, "patternProperties": { - "^(?:roles/|\\$custom_roles:)": { + "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)": { "type": "array", "items": { "type": "string", @@ -57,7 +57,7 @@ }, "role": { "type": "string", - "pattern": "^(?:roles/|\\$custom_roles:)" + "pattern": "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)" }, "condition": { "type": "object", @@ -96,7 +96,7 @@ }, "role": { "type": "string", - "pattern": "^(?:roles/|\\$custom_roles:)" + "pattern": "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)" }, "condition": { "type": "object", diff --git a/modules/dataplex-aspect-types/schemas/aspect-type.schema.md b/modules/dataplex-aspect-types/schemas/aspect-type.schema.md index f3da76a0d..81576d96e 100644 --- a/modules/dataplex-aspect-types/schemas/aspect-type.schema.md +++ b/modules/dataplex-aspect-types/schemas/aspect-type.schema.md @@ -18,7 +18,7 @@ - **iam**: *object*
*additional properties: false* - - **`^(?:roles/|\$custom_roles:)`**: *array* + - **`^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)`**: *array* - items: *string*
*pattern: ^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:||\$iam_principals:[a-z0-9_-]+)* - **iam_bindings**: *object* @@ -29,7 +29,7 @@ - items: *string*
*pattern: ^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:|\$iam_principals:[a-z0-9_-]+)* - **role**: *string* -
*pattern: ^(?:roles/|\$custom_roles:)* +
*pattern: ^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)* - **condition**: *object*
*additional properties: false* - ⁺**expression**: *string* @@ -42,7 +42,7 @@ - **member**: *string*
*pattern: ^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:|\$iam_principals:[a-z0-9_-]+)* - **role**: *string* -
*pattern: ^(?:roles/|\$custom_roles:)* +
*pattern: ^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)* - **condition**: *object*
*additional properties: false* - ⁺**expression**: *string* diff --git a/modules/project-factory/schemas/folder.schema.json b/modules/project-factory/schemas/folder.schema.json index a9832d9a6..166cb1e3f 100644 --- a/modules/project-factory/schemas/folder.schema.json +++ b/modules/project-factory/schemas/folder.schema.json @@ -531,7 +531,7 @@ "type": "object", "additionalProperties": false, "patternProperties": { - "^(?:roles/|\\$custom_roles:)": { + "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)": { "type": "array", "items": { "type": "string", @@ -557,7 +557,7 @@ }, "role": { "type": "string", - "pattern": "^(?:roles/|\\$custom_roles:)" + "pattern": "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)" }, "condition": { "type": "object", @@ -596,7 +596,7 @@ }, "role": { "type": "string", - "pattern": "^(?:roles/|\\$custom_roles:)" + "pattern": "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)" }, "condition": { "type": "object", @@ -629,7 +629,7 @@ "type": "array", "items": { "type": "string", - "pattern": "^(?:roles/|\\$custom_roles:)" + "pattern": "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)" } } } @@ -669,7 +669,7 @@ "type": "array", "items": { "type": "string", - "pattern": "^(?:roles/|\\$custom_roles:)" + "pattern": "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)" } } } diff --git a/modules/project-factory/schemas/folder.schema.md b/modules/project-factory/schemas/folder.schema.md index 168f85f72..2a89323f7 100644 --- a/modules/project-factory/schemas/folder.schema.md +++ b/modules/project-factory/schemas/folder.schema.md @@ -173,7 +173,7 @@ - **versioning**: *boolean* - **iam**: *object*
*additional properties: false* - - **`^(?:roles/|\$custom_roles:)`**: *array* + - **`^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)`**: *array* - items: *string*
*pattern: ^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:|\$iam_principals:)* - **iam_bindings**: *object* @@ -184,7 +184,7 @@ - items: *string*
*pattern: ^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:|\$iam_principals:)* - **role**: *string* -
*pattern: ^(?:roles/|\$custom_roles:)* +
*pattern: ^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)* - **condition**: *object*
*additional properties: false* - ⁺**expression**: *string* @@ -197,7 +197,7 @@ - **member**: *string*
*pattern: ^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:|\$iam_principals:)* - **role**: *string* -
*pattern: ^(?:roles/|\$custom_roles:)* +
*pattern: ^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)* - **condition**: *object*
*additional properties: false* - ⁺**expression**: *string* @@ -207,7 +207,7 @@
*additional properties: false* - **`^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:|\$iam_principals:)`**: *array* - items: *string* -
*pattern: ^(?:roles/|\$custom_roles:)* +
*pattern: ^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)* - **iam_by_principals_conditional**: *object*
*additional properties: false* - **`^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:|\$iam_principals:)`**: *object* @@ -219,7 +219,7 @@ - **description**: *string* - ⁺**roles**: *array* - items: *string* -
*pattern: ^(?:roles/|\$custom_roles:)* +
*pattern: ^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)* - **iam_billing_roles**: *object*
*additional properties: false* - **`^[a-z0-9-]+$`**: *array* diff --git a/modules/project-factory/schemas/project.schema.json b/modules/project-factory/schemas/project.schema.json index 32e1bd81f..d65fa4a58 100644 --- a/modules/project-factory/schemas/project.schema.json +++ b/modules/project-factory/schemas/project.schema.json @@ -1308,7 +1308,7 @@ "type": "object", "additionalProperties": false, "patternProperties": { - "^(?:roles/|\\$custom_roles:)": { + "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)": { "type": "array", "items": { "type": "string", @@ -1334,7 +1334,7 @@ }, "role": { "type": "string", - "pattern": "^(?:roles/|\\$custom_roles:)" + "pattern": "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)" }, "condition": { "type": "object", @@ -1373,7 +1373,7 @@ }, "role": { "type": "string", - "pattern": "^(?:roles/|\\$custom_roles:)" + "pattern": "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)" }, "condition": { "type": "object", @@ -1406,7 +1406,7 @@ "type": "array", "items": { "type": "string", - "pattern": "^(?:roles/|\\$custom_roles:)" + "pattern": "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)" } } } @@ -1446,7 +1446,7 @@ "type": "array", "items": { "type": "string", - "pattern": "^(?:roles/|\\$custom_roles:)" + "pattern": "^(?:roles/|\\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)" } } } diff --git a/modules/project-factory/schemas/project.schema.md b/modules/project-factory/schemas/project.schema.md index eadce0d3c..a14fb866d 100644 --- a/modules/project-factory/schemas/project.schema.md +++ b/modules/project-factory/schemas/project.schema.md @@ -363,7 +363,7 @@ - **`^[a-z0-9-]+$`**: *reference([bucket](#refs-bucket))* - **iam**: *object*
*additional properties: false* - - **`^(?:roles/|\$custom_roles:)`**: *array* + - **`^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)`**: *array* - items: *string*
*pattern: ^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:||\$iam_principals:[a-z0-9_-]+)* - **iam_bindings**: *object* @@ -374,7 +374,7 @@ - items: *string*
*pattern: ^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:|\$iam_principals:[a-z0-9_-]+)* - **role**: *string* -
*pattern: ^(?:roles/|\$custom_roles:)* +
*pattern: ^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)* - **condition**: *object*
*additional properties: false* - ⁺**expression**: *string* @@ -387,7 +387,7 @@ - **member**: *string*
*pattern: ^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:|\$iam_principals:[a-z0-9_-]+)* - **role**: *string* -
*pattern: ^(?:roles/|\$custom_roles:)* +
*pattern: ^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)* - **condition**: *object*
*additional properties: false* - ⁺**expression**: *string* @@ -397,7 +397,7 @@
*additional properties: false* - **`^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:|\$iam_principals:[a-z0-9_-]+)`**: *array* - items: *string* -
*pattern: ^(?:roles/|\$custom_roles:)* +
*pattern: ^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)* - **iam_by_principals_conditional**: *object*
*additional properties: false* - **`^(?:domain:|group:|serviceAccount:|user:|principal:|principalSet:|\$iam_principals:[a-z0-9_-]+)`**: *object* @@ -409,7 +409,7 @@ - **description**: *string* - ⁺**roles**: *array* - items: *string* -
*pattern: ^(?:roles/|\$custom_roles:)* +
*pattern: ^(?:roles/|\$custom_roles:|organizations/[0-9]+/roles/|([a-z0-9.]+:)?projects/[a-z0-9-]+/roles/)* - **iam_billing_roles**: *object*
*additional properties: false* - **`^[a-z0-9-]+$`**: *array*