pulumi-gcp 7.30.0a1719903049__py3-none-any.whl → 7.30.0a1720039709__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pulumi_gcp/compute/region_disk_iam_binding.py +122 -95
- pulumi_gcp/compute/region_disk_iam_member.py +122 -95
- pulumi_gcp/compute/region_disk_iam_policy.py +115 -88
- pulumi_gcp/gkebackup/restore_plan_iam_binding.py +328 -953
- pulumi_gcp/gkebackup/restore_plan_iam_member.py +328 -953
- pulumi_gcp/gkebackup/restore_plan_iam_policy.py +238 -953
- pulumi_gcp/networksecurity/address_group_iam_binding.py +289 -2
- pulumi_gcp/networksecurity/address_group_iam_member.py +289 -2
- pulumi_gcp/pulumi-plugin.json +1 -1
- pulumi_gcp/sourcerepo/repository_iam_binding.py +92 -83
- pulumi_gcp/sourcerepo/repository_iam_member.py +92 -83
- pulumi_gcp/sourcerepo/repository_iam_policy.py +85 -76
- {pulumi_gcp-7.30.0a1719903049.dist-info → pulumi_gcp-7.30.0a1720039709.dist-info}/METADATA +1 -1
- {pulumi_gcp-7.30.0a1719903049.dist-info → pulumi_gcp-7.30.0a1720039709.dist-info}/RECORD +16 -16
- {pulumi_gcp-7.30.0a1719903049.dist-info → pulumi_gcp-7.30.0a1720039709.dist-info}/WHEEL +0 -0
- {pulumi_gcp-7.30.0a1719903049.dist-info → pulumi_gcp-7.30.0a1720039709.dist-info}/top_level.txt +0 -0
@@ -29,6 +29,27 @@ class AddressGroupIamBindingArgs:
|
|
29
29
|
project: Optional[pulumi.Input[str]] = None):
|
30
30
|
"""
|
31
31
|
The set of arguments for constructing a AddressGroupIamBinding resource.
|
32
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] members: Identities that will be granted the privilege in `role`.
|
33
|
+
Each entry can have one of the following values:
|
34
|
+
* **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
|
35
|
+
* **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
|
36
|
+
* **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
|
37
|
+
* **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
|
38
|
+
* **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
|
39
|
+
* **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
|
40
|
+
* **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
|
41
|
+
* **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
|
42
|
+
* **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
|
43
|
+
:param pulumi.Input[str] role: The role that should be applied. Only one
|
44
|
+
`networksecurity.AddressGroupIamBinding` can be used per role. Note that custom roles must be of the format
|
45
|
+
`[projects|organizations]/{parent-name}/roles/{role-name}`.
|
46
|
+
:param pulumi.Input[str] location: The location of the gateway security policy.
|
47
|
+
Used to find the parent resource to bind the IAM policy to. If not specified,
|
48
|
+
the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
|
49
|
+
location is specified, it is taken from the provider configuration.
|
50
|
+
:param pulumi.Input[str] name: Used to find the parent resource to bind the IAM policy to
|
51
|
+
:param pulumi.Input[str] project: The ID of the project in which the resource belongs.
|
52
|
+
If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
|
32
53
|
"""
|
33
54
|
pulumi.set(__self__, "members", members)
|
34
55
|
pulumi.set(__self__, "role", role)
|
@@ -44,6 +65,19 @@ class AddressGroupIamBindingArgs:
|
|
44
65
|
@property
|
45
66
|
@pulumi.getter
|
46
67
|
def members(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]:
|
68
|
+
"""
|
69
|
+
Identities that will be granted the privilege in `role`.
|
70
|
+
Each entry can have one of the following values:
|
71
|
+
* **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
|
72
|
+
* **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
|
73
|
+
* **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
|
74
|
+
* **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
|
75
|
+
* **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
|
76
|
+
* **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
|
77
|
+
* **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
|
78
|
+
* **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
|
79
|
+
* **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
|
80
|
+
"""
|
47
81
|
return pulumi.get(self, "members")
|
48
82
|
|
49
83
|
@members.setter
|
@@ -53,6 +87,11 @@ class AddressGroupIamBindingArgs:
|
|
53
87
|
@property
|
54
88
|
@pulumi.getter
|
55
89
|
def role(self) -> pulumi.Input[str]:
|
90
|
+
"""
|
91
|
+
The role that should be applied. Only one
|
92
|
+
`networksecurity.AddressGroupIamBinding` can be used per role. Note that custom roles must be of the format
|
93
|
+
`[projects|organizations]/{parent-name}/roles/{role-name}`.
|
94
|
+
"""
|
56
95
|
return pulumi.get(self, "role")
|
57
96
|
|
58
97
|
@role.setter
|
@@ -71,6 +110,12 @@ class AddressGroupIamBindingArgs:
|
|
71
110
|
@property
|
72
111
|
@pulumi.getter
|
73
112
|
def location(self) -> Optional[pulumi.Input[str]]:
|
113
|
+
"""
|
114
|
+
The location of the gateway security policy.
|
115
|
+
Used to find the parent resource to bind the IAM policy to. If not specified,
|
116
|
+
the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
|
117
|
+
location is specified, it is taken from the provider configuration.
|
118
|
+
"""
|
74
119
|
return pulumi.get(self, "location")
|
75
120
|
|
76
121
|
@location.setter
|
@@ -80,6 +125,9 @@ class AddressGroupIamBindingArgs:
|
|
80
125
|
@property
|
81
126
|
@pulumi.getter
|
82
127
|
def name(self) -> Optional[pulumi.Input[str]]:
|
128
|
+
"""
|
129
|
+
Used to find the parent resource to bind the IAM policy to
|
130
|
+
"""
|
83
131
|
return pulumi.get(self, "name")
|
84
132
|
|
85
133
|
@name.setter
|
@@ -89,6 +137,10 @@ class AddressGroupIamBindingArgs:
|
|
89
137
|
@property
|
90
138
|
@pulumi.getter
|
91
139
|
def project(self) -> Optional[pulumi.Input[str]]:
|
140
|
+
"""
|
141
|
+
The ID of the project in which the resource belongs.
|
142
|
+
If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
|
143
|
+
"""
|
92
144
|
return pulumi.get(self, "project")
|
93
145
|
|
94
146
|
@project.setter
|
@@ -108,6 +160,28 @@ class _AddressGroupIamBindingState:
|
|
108
160
|
role: Optional[pulumi.Input[str]] = None):
|
109
161
|
"""
|
110
162
|
Input properties used for looking up and filtering AddressGroupIamBinding resources.
|
163
|
+
:param pulumi.Input[str] etag: (Computed) The etag of the IAM policy.
|
164
|
+
:param pulumi.Input[str] location: The location of the gateway security policy.
|
165
|
+
Used to find the parent resource to bind the IAM policy to. If not specified,
|
166
|
+
the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
|
167
|
+
location is specified, it is taken from the provider configuration.
|
168
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] members: Identities that will be granted the privilege in `role`.
|
169
|
+
Each entry can have one of the following values:
|
170
|
+
* **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
|
171
|
+
* **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
|
172
|
+
* **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
|
173
|
+
* **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
|
174
|
+
* **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
|
175
|
+
* **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
|
176
|
+
* **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
|
177
|
+
* **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
|
178
|
+
* **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
|
179
|
+
:param pulumi.Input[str] name: Used to find the parent resource to bind the IAM policy to
|
180
|
+
:param pulumi.Input[str] project: The ID of the project in which the resource belongs.
|
181
|
+
If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
|
182
|
+
:param pulumi.Input[str] role: The role that should be applied. Only one
|
183
|
+
`networksecurity.AddressGroupIamBinding` can be used per role. Note that custom roles must be of the format
|
184
|
+
`[projects|organizations]/{parent-name}/roles/{role-name}`.
|
111
185
|
"""
|
112
186
|
if condition is not None:
|
113
187
|
pulumi.set(__self__, "condition", condition)
|
@@ -136,6 +210,9 @@ class _AddressGroupIamBindingState:
|
|
136
210
|
@property
|
137
211
|
@pulumi.getter
|
138
212
|
def etag(self) -> Optional[pulumi.Input[str]]:
|
213
|
+
"""
|
214
|
+
(Computed) The etag of the IAM policy.
|
215
|
+
"""
|
139
216
|
return pulumi.get(self, "etag")
|
140
217
|
|
141
218
|
@etag.setter
|
@@ -145,6 +222,12 @@ class _AddressGroupIamBindingState:
|
|
145
222
|
@property
|
146
223
|
@pulumi.getter
|
147
224
|
def location(self) -> Optional[pulumi.Input[str]]:
|
225
|
+
"""
|
226
|
+
The location of the gateway security policy.
|
227
|
+
Used to find the parent resource to bind the IAM policy to. If not specified,
|
228
|
+
the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
|
229
|
+
location is specified, it is taken from the provider configuration.
|
230
|
+
"""
|
148
231
|
return pulumi.get(self, "location")
|
149
232
|
|
150
233
|
@location.setter
|
@@ -154,6 +237,19 @@ class _AddressGroupIamBindingState:
|
|
154
237
|
@property
|
155
238
|
@pulumi.getter
|
156
239
|
def members(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
240
|
+
"""
|
241
|
+
Identities that will be granted the privilege in `role`.
|
242
|
+
Each entry can have one of the following values:
|
243
|
+
* **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
|
244
|
+
* **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
|
245
|
+
* **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
|
246
|
+
* **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
|
247
|
+
* **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
|
248
|
+
* **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
|
249
|
+
* **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
|
250
|
+
* **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
|
251
|
+
* **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
|
252
|
+
"""
|
157
253
|
return pulumi.get(self, "members")
|
158
254
|
|
159
255
|
@members.setter
|
@@ -163,6 +259,9 @@ class _AddressGroupIamBindingState:
|
|
163
259
|
@property
|
164
260
|
@pulumi.getter
|
165
261
|
def name(self) -> Optional[pulumi.Input[str]]:
|
262
|
+
"""
|
263
|
+
Used to find the parent resource to bind the IAM policy to
|
264
|
+
"""
|
166
265
|
return pulumi.get(self, "name")
|
167
266
|
|
168
267
|
@name.setter
|
@@ -172,6 +271,10 @@ class _AddressGroupIamBindingState:
|
|
172
271
|
@property
|
173
272
|
@pulumi.getter
|
174
273
|
def project(self) -> Optional[pulumi.Input[str]]:
|
274
|
+
"""
|
275
|
+
The ID of the project in which the resource belongs.
|
276
|
+
If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
|
277
|
+
"""
|
175
278
|
return pulumi.get(self, "project")
|
176
279
|
|
177
280
|
@project.setter
|
@@ -181,6 +284,11 @@ class _AddressGroupIamBindingState:
|
|
181
284
|
@property
|
182
285
|
@pulumi.getter
|
183
286
|
def role(self) -> Optional[pulumi.Input[str]]:
|
287
|
+
"""
|
288
|
+
The role that should be applied. Only one
|
289
|
+
`networksecurity.AddressGroupIamBinding` can be used per role. Note that custom roles must be of the format
|
290
|
+
`[projects|organizations]/{parent-name}/roles/{role-name}`.
|
291
|
+
"""
|
184
292
|
return pulumi.get(self, "role")
|
185
293
|
|
186
294
|
@role.setter
|
@@ -201,9 +309,81 @@ class AddressGroupIamBinding(pulumi.CustomResource):
|
|
201
309
|
role: Optional[pulumi.Input[str]] = None,
|
202
310
|
__props__=None):
|
203
311
|
"""
|
204
|
-
|
312
|
+
Three different resources help you manage your IAM policy for Network security ProjectAddressGroup. Each of these resources serves a different use case:
|
313
|
+
|
314
|
+
* `networksecurity.AddressGroupIamPolicy`: Authoritative. Sets the IAM policy for the projectaddressgroup and replaces any existing policy already attached.
|
315
|
+
* `networksecurity.AddressGroupIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the projectaddressgroup are preserved.
|
316
|
+
* `networksecurity.AddressGroupIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the projectaddressgroup are preserved.
|
317
|
+
|
318
|
+
A data source can be used to retrieve policy data in advent you do not need creation
|
319
|
+
|
320
|
+
* `networksecurity.AddressGroupIamPolicy`: Retrieves the IAM policy for the projectaddressgroup
|
321
|
+
|
322
|
+
> **Note:** `networksecurity.AddressGroupIamPolicy` **cannot** be used in conjunction with `networksecurity.AddressGroupIamBinding` and `networksecurity.AddressGroupIamMember` or they will fight over what your policy should be.
|
323
|
+
|
324
|
+
> **Note:** `networksecurity.AddressGroupIamBinding` resources **can be** used in conjunction with `networksecurity.AddressGroupIamMember` resources **only if** they do not grant privilege to the same role.
|
325
|
+
|
326
|
+
## Import
|
327
|
+
|
328
|
+
For all import syntaxes, the "resource in question" can take any of the following forms:
|
329
|
+
|
330
|
+
* projects/{{project}}/locations/{{location}}/addressGroups/{{name}}
|
331
|
+
|
332
|
+
* {{project}}/{{location}}/{{name}}
|
333
|
+
|
334
|
+
* {{location}}/{{name}}
|
335
|
+
|
336
|
+
* {{name}}
|
337
|
+
|
338
|
+
Any variables not passed in the import command will be taken from the provider configuration.
|
339
|
+
|
340
|
+
Network security projectaddressgroup IAM resources can be imported using the resource identifiers, role, and member.
|
341
|
+
|
342
|
+
IAM member imports use space-delimited identifiers: the resource in question, the role, and the member identity, e.g.
|
343
|
+
|
344
|
+
```sh
|
345
|
+
$ pulumi import gcp:networksecurity/addressGroupIamBinding:AddressGroupIamBinding editor "projects/{{project}}/locations/{{location}}/addressGroups/{{project_address_group}} roles/compute.networkAdmin user:jane@example.com"
|
346
|
+
```
|
347
|
+
|
348
|
+
IAM binding imports use space-delimited identifiers: the resource in question and the role, e.g.
|
349
|
+
|
350
|
+
```sh
|
351
|
+
$ pulumi import gcp:networksecurity/addressGroupIamBinding:AddressGroupIamBinding editor "projects/{{project}}/locations/{{location}}/addressGroups/{{project_address_group}} roles/compute.networkAdmin"
|
352
|
+
```
|
353
|
+
|
354
|
+
IAM policy imports use the identifier of the resource in question, e.g.
|
355
|
+
|
356
|
+
```sh
|
357
|
+
$ pulumi import gcp:networksecurity/addressGroupIamBinding:AddressGroupIamBinding editor projects/{{project}}/locations/{{location}}/addressGroups/{{project_address_group}}
|
358
|
+
```
|
359
|
+
|
360
|
+
-> **Custom Roles**: If you're importing a IAM resource with a custom role, make sure to use the
|
361
|
+
|
362
|
+
full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
|
363
|
+
|
205
364
|
:param str resource_name: The name of the resource.
|
206
365
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
366
|
+
:param pulumi.Input[str] location: The location of the gateway security policy.
|
367
|
+
Used to find the parent resource to bind the IAM policy to. If not specified,
|
368
|
+
the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
|
369
|
+
location is specified, it is taken from the provider configuration.
|
370
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] members: Identities that will be granted the privilege in `role`.
|
371
|
+
Each entry can have one of the following values:
|
372
|
+
* **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
|
373
|
+
* **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
|
374
|
+
* **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
|
375
|
+
* **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
|
376
|
+
* **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
|
377
|
+
* **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
|
378
|
+
* **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
|
379
|
+
* **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
|
380
|
+
* **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
|
381
|
+
:param pulumi.Input[str] name: Used to find the parent resource to bind the IAM policy to
|
382
|
+
:param pulumi.Input[str] project: The ID of the project in which the resource belongs.
|
383
|
+
If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
|
384
|
+
:param pulumi.Input[str] role: The role that should be applied. Only one
|
385
|
+
`networksecurity.AddressGroupIamBinding` can be used per role. Note that custom roles must be of the format
|
386
|
+
`[projects|organizations]/{parent-name}/roles/{role-name}`.
|
207
387
|
"""
|
208
388
|
...
|
209
389
|
@overload
|
@@ -212,7 +392,58 @@ class AddressGroupIamBinding(pulumi.CustomResource):
|
|
212
392
|
args: AddressGroupIamBindingArgs,
|
213
393
|
opts: Optional[pulumi.ResourceOptions] = None):
|
214
394
|
"""
|
215
|
-
|
395
|
+
Three different resources help you manage your IAM policy for Network security ProjectAddressGroup. Each of these resources serves a different use case:
|
396
|
+
|
397
|
+
* `networksecurity.AddressGroupIamPolicy`: Authoritative. Sets the IAM policy for the projectaddressgroup and replaces any existing policy already attached.
|
398
|
+
* `networksecurity.AddressGroupIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the projectaddressgroup are preserved.
|
399
|
+
* `networksecurity.AddressGroupIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the projectaddressgroup are preserved.
|
400
|
+
|
401
|
+
A data source can be used to retrieve policy data in advent you do not need creation
|
402
|
+
|
403
|
+
* `networksecurity.AddressGroupIamPolicy`: Retrieves the IAM policy for the projectaddressgroup
|
404
|
+
|
405
|
+
> **Note:** `networksecurity.AddressGroupIamPolicy` **cannot** be used in conjunction with `networksecurity.AddressGroupIamBinding` and `networksecurity.AddressGroupIamMember` or they will fight over what your policy should be.
|
406
|
+
|
407
|
+
> **Note:** `networksecurity.AddressGroupIamBinding` resources **can be** used in conjunction with `networksecurity.AddressGroupIamMember` resources **only if** they do not grant privilege to the same role.
|
408
|
+
|
409
|
+
## Import
|
410
|
+
|
411
|
+
For all import syntaxes, the "resource in question" can take any of the following forms:
|
412
|
+
|
413
|
+
* projects/{{project}}/locations/{{location}}/addressGroups/{{name}}
|
414
|
+
|
415
|
+
* {{project}}/{{location}}/{{name}}
|
416
|
+
|
417
|
+
* {{location}}/{{name}}
|
418
|
+
|
419
|
+
* {{name}}
|
420
|
+
|
421
|
+
Any variables not passed in the import command will be taken from the provider configuration.
|
422
|
+
|
423
|
+
Network security projectaddressgroup IAM resources can be imported using the resource identifiers, role, and member.
|
424
|
+
|
425
|
+
IAM member imports use space-delimited identifiers: the resource in question, the role, and the member identity, e.g.
|
426
|
+
|
427
|
+
```sh
|
428
|
+
$ pulumi import gcp:networksecurity/addressGroupIamBinding:AddressGroupIamBinding editor "projects/{{project}}/locations/{{location}}/addressGroups/{{project_address_group}} roles/compute.networkAdmin user:jane@example.com"
|
429
|
+
```
|
430
|
+
|
431
|
+
IAM binding imports use space-delimited identifiers: the resource in question and the role, e.g.
|
432
|
+
|
433
|
+
```sh
|
434
|
+
$ pulumi import gcp:networksecurity/addressGroupIamBinding:AddressGroupIamBinding editor "projects/{{project}}/locations/{{location}}/addressGroups/{{project_address_group}} roles/compute.networkAdmin"
|
435
|
+
```
|
436
|
+
|
437
|
+
IAM policy imports use the identifier of the resource in question, e.g.
|
438
|
+
|
439
|
+
```sh
|
440
|
+
$ pulumi import gcp:networksecurity/addressGroupIamBinding:AddressGroupIamBinding editor projects/{{project}}/locations/{{location}}/addressGroups/{{project_address_group}}
|
441
|
+
```
|
442
|
+
|
443
|
+
-> **Custom Roles**: If you're importing a IAM resource with a custom role, make sure to use the
|
444
|
+
|
445
|
+
full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
|
446
|
+
|
216
447
|
:param str resource_name: The name of the resource.
|
217
448
|
:param AddressGroupIamBindingArgs args: The arguments to use to populate this resource's properties.
|
218
449
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
@@ -278,6 +509,28 @@ class AddressGroupIamBinding(pulumi.CustomResource):
|
|
278
509
|
:param str resource_name: The unique name of the resulting resource.
|
279
510
|
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
280
511
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
512
|
+
:param pulumi.Input[str] etag: (Computed) The etag of the IAM policy.
|
513
|
+
:param pulumi.Input[str] location: The location of the gateway security policy.
|
514
|
+
Used to find the parent resource to bind the IAM policy to. If not specified,
|
515
|
+
the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
|
516
|
+
location is specified, it is taken from the provider configuration.
|
517
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] members: Identities that will be granted the privilege in `role`.
|
518
|
+
Each entry can have one of the following values:
|
519
|
+
* **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
|
520
|
+
* **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
|
521
|
+
* **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
|
522
|
+
* **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
|
523
|
+
* **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
|
524
|
+
* **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
|
525
|
+
* **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
|
526
|
+
* **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
|
527
|
+
* **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
|
528
|
+
:param pulumi.Input[str] name: Used to find the parent resource to bind the IAM policy to
|
529
|
+
:param pulumi.Input[str] project: The ID of the project in which the resource belongs.
|
530
|
+
If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
|
531
|
+
:param pulumi.Input[str] role: The role that should be applied. Only one
|
532
|
+
`networksecurity.AddressGroupIamBinding` can be used per role. Note that custom roles must be of the format
|
533
|
+
`[projects|organizations]/{parent-name}/roles/{role-name}`.
|
281
534
|
"""
|
282
535
|
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
283
536
|
|
@@ -300,30 +553,64 @@ class AddressGroupIamBinding(pulumi.CustomResource):
|
|
300
553
|
@property
|
301
554
|
@pulumi.getter
|
302
555
|
def etag(self) -> pulumi.Output[str]:
|
556
|
+
"""
|
557
|
+
(Computed) The etag of the IAM policy.
|
558
|
+
"""
|
303
559
|
return pulumi.get(self, "etag")
|
304
560
|
|
305
561
|
@property
|
306
562
|
@pulumi.getter
|
307
563
|
def location(self) -> pulumi.Output[str]:
|
564
|
+
"""
|
565
|
+
The location of the gateway security policy.
|
566
|
+
Used to find the parent resource to bind the IAM policy to. If not specified,
|
567
|
+
the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
|
568
|
+
location is specified, it is taken from the provider configuration.
|
569
|
+
"""
|
308
570
|
return pulumi.get(self, "location")
|
309
571
|
|
310
572
|
@property
|
311
573
|
@pulumi.getter
|
312
574
|
def members(self) -> pulumi.Output[Sequence[str]]:
|
575
|
+
"""
|
576
|
+
Identities that will be granted the privilege in `role`.
|
577
|
+
Each entry can have one of the following values:
|
578
|
+
* **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
|
579
|
+
* **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
|
580
|
+
* **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
|
581
|
+
* **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
|
582
|
+
* **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
|
583
|
+
* **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
|
584
|
+
* **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
|
585
|
+
* **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
|
586
|
+
* **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
|
587
|
+
"""
|
313
588
|
return pulumi.get(self, "members")
|
314
589
|
|
315
590
|
@property
|
316
591
|
@pulumi.getter
|
317
592
|
def name(self) -> pulumi.Output[str]:
|
593
|
+
"""
|
594
|
+
Used to find the parent resource to bind the IAM policy to
|
595
|
+
"""
|
318
596
|
return pulumi.get(self, "name")
|
319
597
|
|
320
598
|
@property
|
321
599
|
@pulumi.getter
|
322
600
|
def project(self) -> pulumi.Output[str]:
|
601
|
+
"""
|
602
|
+
The ID of the project in which the resource belongs.
|
603
|
+
If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
|
604
|
+
"""
|
323
605
|
return pulumi.get(self, "project")
|
324
606
|
|
325
607
|
@property
|
326
608
|
@pulumi.getter
|
327
609
|
def role(self) -> pulumi.Output[str]:
|
610
|
+
"""
|
611
|
+
The role that should be applied. Only one
|
612
|
+
`networksecurity.AddressGroupIamBinding` can be used per role. Note that custom roles must be of the format
|
613
|
+
`[projects|organizations]/{parent-name}/roles/{role-name}`.
|
614
|
+
"""
|
328
615
|
return pulumi.get(self, "role")
|
329
616
|
|