Skip to content

Commit 7cc75d4

Browse files
feat(iam): expose condition field (#4016)
Co-authored-by: Rémy Léone <[email protected]>
1 parent 838eaac commit 7cc75d4

12 files changed

+248
-142
lines changed

cmd/scw/testdata/test-all-usage-iam-policy-create-usage.golden

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ ARGS:
1313
name=<generated> Name of the policy to create (max length is 64 characters)
1414
[description] Description of the policy to create (max length is 200 characters)
1515
[rules.{index}.permission-set-names.{index}] Names of permission sets bound to the rule
16+
[rules.{index}.condition] Condition expression to evaluate
1617
[rules.{index}.project-ids.{index}] List of Project IDs the rule is scoped to
1718
[rules.{index}.organization-id] ID of Organization the rule is scoped to
1819
[tags.{index}] Tags associated with the policy (maximum of 10 tags)

cmd/scw/testdata/test-all-usage-iam-rule-update-usage.golden

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ USAGE:
88
ARGS:
99
policy-id Id of policy to update
1010
[rules.{index}.permission-set-names.{index}] Names of permission sets bound to the rule
11+
[rules.{index}.condition] Condition expression to evaluate
1112
[rules.{index}.project-ids.{index}] List of Project IDs the rule is scoped to
1213
[rules.{index}.organization-id] ID of Organization the rule is scoped to
1314

docs/commands/iam.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -693,6 +693,7 @@ scw iam policy create [arg=value ...]
693693
| name | Required<br />Default: `<generated>` | Name of the policy to create (max length is 64 characters) |
694694
| description | | Description of the policy to create (max length is 200 characters) |
695695
| rules.{index}.permission-set-names.{index} | | Names of permission sets bound to the rule |
696+
| rules.{index}.condition | | Condition expression to evaluate |
696697
| rules.{index}.project-ids.{index} | | List of Project IDs the rule is scoped to |
697698
| rules.{index}.organization-id | | ID of Organization the rule is scoped to |
698699
| tags.{index} | | Tags associated with the policy (maximum of 10 tags) |
@@ -889,6 +890,7 @@ scw iam rule update <policy-id ...> [arg=value ...]
889890
|------|---|-------------|
890891
| policy-id | Required | Id of policy to update |
891892
| rules.{index}.permission-set-names.{index} | | Names of permission sets bound to the rule |
893+
| rules.{index}.condition | | Condition expression to evaluate |
892894
| rules.{index}.project-ids.{index} | | List of Project IDs the rule is scoped to |
893895
| rules.{index}.organization-id | | ID of Organization the rule is scoped to |
894896

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ require (
2727
github.com/mattn/go-isatty v0.0.20
2828
github.com/moby/buildkit v0.13.2
2929
github.com/opencontainers/go-digest v1.0.0
30-
github.com/scaleway/scaleway-sdk-go v1.0.0-beta.29.0.20240726045210-a50e223d3177
30+
github.com/scaleway/scaleway-sdk-go v1.0.0-beta.29.0.20240729155332-ce25a04774bb
3131
github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966
3232
github.com/spf13/cobra v1.8.1
3333
github.com/spf13/pflag v1.0.5

go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -463,8 +463,8 @@ github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUz
463463
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
464464
github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06 h1:OkMGxebDjyw0ULyrTYWeN0UNCCkmCWfjPnIA2W6oviI=
465465
github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06/go.mod h1:+ePHsJ1keEjQtpvf9HHw0f4ZeJ0TLRsxhunSI2hYJSs=
466-
github.com/scaleway/scaleway-sdk-go v1.0.0-beta.29.0.20240726045210-a50e223d3177 h1:ZoIks68eACBasbPvFpSi4PwnMvpd32qljsL2s/ufXow=
467-
github.com/scaleway/scaleway-sdk-go v1.0.0-beta.29.0.20240726045210-a50e223d3177/go.mod h1:fCa7OJZ/9DRTnOKmxvT6pn+LPWUptQAmHF/SBJUGEcg=
466+
github.com/scaleway/scaleway-sdk-go v1.0.0-beta.29.0.20240729155332-ce25a04774bb h1:DKG/qk3CxPxDSUk8yE6/rDubPgGttx4vxqa0tLmCj5E=
467+
github.com/scaleway/scaleway-sdk-go v1.0.0-beta.29.0.20240729155332-ce25a04774bb/go.mod h1:fCa7OJZ/9DRTnOKmxvT6pn+LPWUptQAmHF/SBJUGEcg=
468468
github.com/sclevine/spec v1.4.0 h1:z/Q9idDcay5m5irkZ28M7PtQM4aOISzOpj4bUPkDee8=
469469
github.com/sclevine/spec v1.4.0/go.mod h1:LvpgJaFyvQzRvc1kaDs0bulYwzC70PbiYjC4QnFHkOM=
470470
github.com/secure-systems-lab/go-securesystemslib v0.8.0 h1:mr5An6X45Kb2nddcFlbmfHkLguCE9laoZCUzEEpIZXA=

internal/namespaces/iam/v1alpha1/iam_cli.go

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1452,6 +1452,13 @@ func iamPolicyCreate() *core.Command {
14521452
Deprecated: false,
14531453
Positional: false,
14541454
},
1455+
{
1456+
Name: "rules.{index}.condition",
1457+
Short: `Condition expression to evaluate`,
1458+
Required: false,
1459+
Deprecated: false,
1460+
Positional: false,
1461+
},
14551462
{
14561463
Name: "rules.{index}.project-ids.{index}",
14571464
Short: `List of Project IDs the rule is scoped to`,
@@ -1714,6 +1721,13 @@ func iamRuleUpdate() *core.Command {
17141721
Deprecated: false,
17151722
Positional: false,
17161723
},
1724+
{
1725+
Name: "rules.{index}.condition",
1726+
Short: `Condition expression to evaluate`,
1727+
Required: false,
1728+
Deprecated: false,
1729+
Positional: false,
1730+
},
17171731
{
17181732
Name: "rules.{index}.project-ids.{index}",
17191733
Short: `List of Project IDs the rule is scoped to`,

internal/namespaces/iam/v1alpha1/testdata/test-create-rule-simple.cassette.yaml

Lines changed: 55 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -2,26 +2,30 @@
22
version: 1
33
interactions:
44
- request:
5-
body: '{"id":"99675e6f-cb5c-43c6-9343-93b6b1a5777b","name":"test-cli-iam-create-rule","organization_id":"ee7bd9e1-9cbd-4724-b2f4-19e50f3cf38b","created_at":"2024-04-09T12:27:34.573933Z","updated_at":"2024-04-09T12:27:34.573933Z","description":""}'
5+
body: '{"id":"9c3120c4-adb4-4ea4-bd9b-79834955d02f", "name":"test-cli-iam-create-rule",
6+
"organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42", "created_at":"2024-07-30T12:51:09.262410Z",
7+
"updated_at":"2024-07-30T12:51:09.262410Z", "description":""}'
68
form: {}
79
headers:
810
Content-Type:
911
- application/json
1012
User-Agent:
11-
- scaleway-sdk-go/v1.0.0-beta.7+dev (go1.21.1; linux; amd64) cli-e2e-test
13+
- scaleway-sdk-go/v1.0.0-beta.7+dev (go1.22.5; darwin; arm64) cli-e2e-test
1214
url: https://api.scaleway.com/account/v3/projects
1315
method: POST
1416
response:
15-
body: '{"id":"99675e6f-cb5c-43c6-9343-93b6b1a5777b","name":"test-cli-iam-create-rule","organization_id":"ee7bd9e1-9cbd-4724-b2f4-19e50f3cf38b","created_at":"2024-04-09T12:27:34.573933Z","updated_at":"2024-04-09T12:27:34.573933Z","description":""}'
17+
body: '{"id":"9c3120c4-adb4-4ea4-bd9b-79834955d02f", "name":"test-cli-iam-create-rule",
18+
"organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42", "created_at":"2024-07-30T12:51:09.262410Z",
19+
"updated_at":"2024-07-30T12:51:09.262410Z", "description":""}'
1620
headers:
1721
Content-Length:
18-
- "239"
22+
- "244"
1923
Content-Security-Policy:
2024
- default-src 'none'; frame-ancestors 'none'
2125
Content-Type:
2226
- application/json
2327
Date:
24-
- Tue, 09 Apr 2024 12:27:34 GMT
28+
- Tue, 30 Jul 2024 12:51:09 GMT
2529
Server:
2630
- Scaleway API Gateway (fr-par-1;edge02)
2731
Strict-Transport-Security:
@@ -31,31 +35,39 @@ interactions:
3135
X-Frame-Options:
3236
- DENY
3337
X-Request-Id:
34-
- 4e09350b-6142-4f11-b667-6a3fbda739ee
38+
- beec903b-40c3-4199-a016-4a5736099de0
3539
status: 200 OK
3640
code: 200
3741
duration: ""
3842
- request:
39-
body: '{"id":"eb474c79-8423-4fc3-b000-7b88074329a0","name":"test-cli-iam-create-rule","description":"","organization_id":"ee7bd9e1-9cbd-4724-b2f4-19e50f3cf38b","created_at":"2024-04-09T12:27:34.993419Z","updated_at":"2024-04-09T12:27:34.993419Z","editable":true,"nb_rules":0,"nb_scopes":0,"nb_permission_sets":0,"tags":[],"no_principal":true}'
43+
body: '{"id":"a307ecd4-8a90-4d04-ad72-ff331bfff4da", "name":"test-cli-iam-create-rule",
44+
"description":"", "organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42",
45+
"created_at":"2024-07-30T12:51:09.467326Z", "updated_at":"2024-07-30T12:51:09.467326Z",
46+
"editable":true, "nb_rules":0, "nb_scopes":0, "nb_permission_sets":0, "tags":[],
47+
"no_principal":true}'
4048
form: {}
4149
headers:
4250
Content-Type:
4351
- application/json
4452
User-Agent:
45-
- scaleway-sdk-go/v1.0.0-beta.7+dev (go1.21.1; linux; amd64) cli-e2e-test
53+
- scaleway-sdk-go/v1.0.0-beta.7+dev (go1.22.5; darwin; arm64) cli-e2e-test
4654
url: https://api.scaleway.com/iam/v1alpha1/policies
4755
method: POST
4856
response:
49-
body: '{"id":"eb474c79-8423-4fc3-b000-7b88074329a0","name":"test-cli-iam-create-rule","description":"","organization_id":"ee7bd9e1-9cbd-4724-b2f4-19e50f3cf38b","created_at":"2024-04-09T12:27:34.993419Z","updated_at":"2024-04-09T12:27:34.993419Z","editable":true,"nb_rules":0,"nb_scopes":0,"nb_permission_sets":0,"tags":[],"no_principal":true}'
57+
body: '{"id":"a307ecd4-8a90-4d04-ad72-ff331bfff4da", "name":"test-cli-iam-create-rule",
58+
"description":"", "organization_id":"951df375-e094-4d26-97c1-ba548eeb9c42",
59+
"created_at":"2024-07-30T12:51:09.467326Z", "updated_at":"2024-07-30T12:51:09.467326Z",
60+
"editable":true, "nb_rules":0, "nb_scopes":0, "nb_permission_sets":0, "tags":[],
61+
"no_principal":true}'
5062
headers:
5163
Content-Length:
52-
- "335"
64+
- "346"
5365
Content-Security-Policy:
5466
- default-src 'none'; frame-ancestors 'none'
5567
Content-Type:
5668
- application/json
5769
Date:
58-
- Tue, 09 Apr 2024 12:27:35 GMT
70+
- Tue, 30 Jul 2024 12:51:09 GMT
5971
Server:
6072
- Scaleway API Gateway (fr-par-1;edge02)
6173
Strict-Transport-Security:
@@ -65,29 +77,33 @@ interactions:
6577
X-Frame-Options:
6678
- DENY
6779
X-Request-Id:
68-
- e2745ac4-9050-42fd-8358-42b1a96a496e
80+
- de7f3c44-ce07-47c0-9132-e8dc4c8096a7
6981
status: 200 OK
7082
code: 200
7183
duration: ""
7284
- request:
73-
body: '{"rules":[{"id":"43f6b67c-1c43-4e23-8306-f50f4ad48903","permission_set_names":["IPAMReadOnly"],"permission_sets_scope_type":"projects","project_ids":["99675e6f-cb5c-43c6-9343-93b6b1a5777b"]}],"total_count":1}'
85+
body: '{"rules":[{"id":"420efcc4-cdb0-4663-935f-f1016e10354e", "permission_set_names":["IPAMReadOnly"],
86+
"permission_sets_scope_type":"projects", "condition":"", "project_ids":["9c3120c4-adb4-4ea4-bd9b-79834955d02f"]}],
87+
"total_count":1}'
7488
form: {}
7589
headers:
7690
User-Agent:
77-
- scaleway-sdk-go/v1.0.0-beta.7+dev (go1.21.1; linux; amd64) cli-e2e-test
78-
url: https://api.scaleway.com/iam/v1alpha1/rules?page=1&policy_id=eb474c79-8423-4fc3-b000-7b88074329a0
91+
- scaleway-sdk-go/v1.0.0-beta.7+dev (go1.22.5; darwin; arm64) cli-e2e-test
92+
url: https://api.scaleway.com/iam/v1alpha1/rules?page=1&policy_id=a307ecd4-8a90-4d04-ad72-ff331bfff4da
7993
method: GET
8094
response:
81-
body: '{"rules":[{"id":"43f6b67c-1c43-4e23-8306-f50f4ad48903","permission_set_names":["IPAMReadOnly"],"permission_sets_scope_type":"projects","project_ids":["99675e6f-cb5c-43c6-9343-93b6b1a5777b"]}],"total_count":1}'
95+
body: '{"rules":[{"id":"420efcc4-cdb0-4663-935f-f1016e10354e", "permission_set_names":["IPAMReadOnly"],
96+
"permission_sets_scope_type":"projects", "condition":"", "project_ids":["9c3120c4-adb4-4ea4-bd9b-79834955d02f"]}],
97+
"total_count":1}'
8298
headers:
8399
Content-Length:
84-
- "208"
100+
- "228"
85101
Content-Security-Policy:
86102
- default-src 'none'; frame-ancestors 'none'
87103
Content-Type:
88104
- application/json
89105
Date:
90-
- Tue, 09 Apr 2024 12:27:35 GMT
106+
- Tue, 30 Jul 2024 12:51:09 GMT
91107
Server:
92108
- Scaleway API Gateway (fr-par-1;edge02)
93109
Strict-Transport-Security:
@@ -97,31 +113,37 @@ interactions:
97113
X-Frame-Options:
98114
- DENY
99115
X-Request-Id:
100-
- e2f66e60-48bc-4744-8d8c-8fd846ac0abe
116+
- 65088148-d692-4a90-a7e8-eaedbaf15413
101117
status: 200 OK
102118
code: 200
103119
duration: ""
104120
- request:
105-
body: '{"rules":[{"id":"d90e1b2f-e58d-4b7d-9fd0-ffd376287a6a","permission_set_names":["IPAMReadOnly"],"permission_sets_scope_type":"projects","project_ids":["99675e6f-cb5c-43c6-9343-93b6b1a5777b"]},{"id":"25f1082b-bade-4751-ba53-84275d01d2ca","permission_set_names":["VPCReadOnly"],"permission_sets_scope_type":"projects","project_ids":["99675e6f-cb5c-43c6-9343-93b6b1a5777b"]}]}'
121+
body: '{"rules":[{"id":"732a2e80-760c-49f6-9137-70a3c58051c9", "permission_set_names":["IPAMReadOnly"],
122+
"permission_sets_scope_type":"projects", "condition":"", "project_ids":["9c3120c4-adb4-4ea4-bd9b-79834955d02f"]},
123+
{"id":"415dcb71-d6d8-4ef5-9f56-a091ac6b88c2", "permission_set_names":["VPCReadOnly"],
124+
"permission_sets_scope_type":"projects", "condition":"", "project_ids":["9c3120c4-adb4-4ea4-bd9b-79834955d02f"]}]}'
106125
form: {}
107126
headers:
108127
Content-Type:
109128
- application/json
110129
User-Agent:
111-
- scaleway-sdk-go/v1.0.0-beta.7+dev (go1.21.1; linux; amd64) cli-e2e-test
130+
- scaleway-sdk-go/v1.0.0-beta.7+dev (go1.22.5; darwin; arm64) cli-e2e-test
112131
url: https://api.scaleway.com/iam/v1alpha1/rules
113132
method: PUT
114133
response:
115-
body: '{"rules":[{"id":"d90e1b2f-e58d-4b7d-9fd0-ffd376287a6a","permission_set_names":["IPAMReadOnly"],"permission_sets_scope_type":"projects","project_ids":["99675e6f-cb5c-43c6-9343-93b6b1a5777b"]},{"id":"25f1082b-bade-4751-ba53-84275d01d2ca","permission_set_names":["VPCReadOnly"],"permission_sets_scope_type":"projects","project_ids":["99675e6f-cb5c-43c6-9343-93b6b1a5777b"]}]}'
134+
body: '{"rules":[{"id":"732a2e80-760c-49f6-9137-70a3c58051c9", "permission_set_names":["IPAMReadOnly"],
135+
"permission_sets_scope_type":"projects", "condition":"", "project_ids":["9c3120c4-adb4-4ea4-bd9b-79834955d02f"]},
136+
{"id":"415dcb71-d6d8-4ef5-9f56-a091ac6b88c2", "permission_set_names":["VPCReadOnly"],
137+
"permission_sets_scope_type":"projects", "condition":"", "project_ids":["9c3120c4-adb4-4ea4-bd9b-79834955d02f"]}]}'
116138
headers:
117139
Content-Length:
118-
- "372"
140+
- "411"
119141
Content-Security-Policy:
120142
- default-src 'none'; frame-ancestors 'none'
121143
Content-Type:
122144
- application/json
123145
Date:
124-
- Tue, 09 Apr 2024 12:27:35 GMT
146+
- Tue, 30 Jul 2024 12:51:09 GMT
125147
Server:
126148
- Scaleway API Gateway (fr-par-1;edge02)
127149
Strict-Transport-Security:
@@ -131,7 +153,7 @@ interactions:
131153
X-Frame-Options:
132154
- DENY
133155
X-Request-Id:
134-
- abbc50de-241d-4c7d-8078-66a4b12b36a5
156+
- 8529895c-9037-4ee1-85ab-7bc83273a9e3
135157
status: 200 OK
136158
code: 200
137159
duration: ""
@@ -140,8 +162,8 @@ interactions:
140162
form: {}
141163
headers:
142164
User-Agent:
143-
- scaleway-sdk-go/v1.0.0-beta.7+dev (go1.21.1; linux; amd64) cli-e2e-test
144-
url: https://api.scaleway.com/iam/v1alpha1/policies/eb474c79-8423-4fc3-b000-7b88074329a0
165+
- scaleway-sdk-go/v1.0.0-beta.7+dev (go1.22.5; darwin; arm64) cli-e2e-test
166+
url: https://api.scaleway.com/iam/v1alpha1/policies/a307ecd4-8a90-4d04-ad72-ff331bfff4da
145167
method: DELETE
146168
response:
147169
body: ""
@@ -151,7 +173,7 @@ interactions:
151173
Content-Type:
152174
- application/json
153175
Date:
154-
- Tue, 09 Apr 2024 12:27:35 GMT
176+
- Tue, 30 Jul 2024 12:51:09 GMT
155177
Server:
156178
- Scaleway API Gateway (fr-par-1;edge02)
157179
Strict-Transport-Security:
@@ -161,7 +183,7 @@ interactions:
161183
X-Frame-Options:
162184
- DENY
163185
X-Request-Id:
164-
- e917c6cd-96f9-4f9e-8a78-10d45e85d32e
186+
- 8b859d67-5bc6-4784-a7fc-955c1479a008
165187
status: 204 No Content
166188
code: 204
167189
duration: ""
@@ -170,8 +192,8 @@ interactions:
170192
form: {}
171193
headers:
172194
User-Agent:
173-
- scaleway-sdk-go/v1.0.0-beta.7+dev (go1.21.1; linux; amd64) cli-e2e-test
174-
url: https://api.scaleway.com/account/v3/projects/99675e6f-cb5c-43c6-9343-93b6b1a5777b
195+
- scaleway-sdk-go/v1.0.0-beta.7+dev (go1.22.5; darwin; arm64) cli-e2e-test
196+
url: https://api.scaleway.com/account/v3/projects/9c3120c4-adb4-4ea4-bd9b-79834955d02f
175197
method: DELETE
176198
response:
177199
body: ""
@@ -181,7 +203,7 @@ interactions:
181203
Content-Type:
182204
- application/json
183205
Date:
184-
- Tue, 09 Apr 2024 12:27:36 GMT
206+
- Tue, 30 Jul 2024 12:51:10 GMT
185207
Server:
186208
- Scaleway API Gateway (fr-par-1;edge02)
187209
Strict-Transport-Security:
@@ -191,7 +213,7 @@ interactions:
191213
X-Frame-Options:
192214
- DENY
193215
X-Request-Id:
194-
- f59e2976-060b-4610-956a-d192d71a5c9b
216+
- 55fb9002-9d76-478f-9db4-781df67c6763
195217
status: 204 No Content
196218
code: 204
197219
duration: ""
Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,30 @@
11
🎲🎲🎲 EXIT CODE: 0 🎲🎲🎲
22
🟩🟩🟩 STDOUT️ 🟩🟩🟩️
3-
ID PERMISSION SET NAMES PERMISSION SETS SCOPE TYPE PROJECT IDS ORGANIZATION ID ACCOUNT ROOT USER ID
4-
d90e1b2f-e58d-4b7d-9fd0-ffd376287a6a [IPAMReadOnly] projects [99675e6f-cb5c-43c6-9343-93b6b1a5777b] - -
5-
25f1082b-bade-4751-ba53-84275d01d2ca [VPCReadOnly] projects [99675e6f-cb5c-43c6-9343-93b6b1a5777b] - -
3+
ID PERMISSION SET NAMES PERMISSION SETS SCOPE TYPE CONDITION PROJECT IDS ORGANIZATION ID ACCOUNT ROOT USER ID
4+
732a2e80-760c-49f6-9137-70a3c58051c9 [IPAMReadOnly] projects - [9c3120c4-adb4-4ea4-bd9b-79834955d02f] - -
5+
415dcb71-d6d8-4ef5-9f56-a091ac6b88c2 [VPCReadOnly] projects - [9c3120c4-adb4-4ea4-bd9b-79834955d02f] - -
66
🟩🟩🟩 JSON STDOUT 🟩🟩🟩
77
[
88
{
9-
"id": "d90e1b2f-e58d-4b7d-9fd0-ffd376287a6a",
9+
"id": "732a2e80-760c-49f6-9137-70a3c58051c9",
1010
"permission_set_names": [
1111
"IPAMReadOnly"
1212
],
1313
"permission_sets_scope_type": "projects",
14+
"condition": "",
1415
"project_ids": [
15-
"99675e6f-cb5c-43c6-9343-93b6b1a5777b"
16+
"9c3120c4-adb4-4ea4-bd9b-79834955d02f"
1617
]
1718
},
1819
{
19-
"id": "25f1082b-bade-4751-ba53-84275d01d2ca",
20+
"id": "415dcb71-d6d8-4ef5-9f56-a091ac6b88c2",
2021
"permission_set_names": [
2122
"VPCReadOnly"
2223
],
2324
"permission_sets_scope_type": "projects",
25+
"condition": "",
2426
"project_ids": [
25-
"99675e6f-cb5c-43c6-9343-93b6b1a5777b"
27+
"9c3120c4-adb4-4ea4-bd9b-79834955d02f"
2628
]
2729
}
2830
]

0 commit comments

Comments
 (0)