pulumi-gcp 7.7.0a1705990280__py3-none-any.whl → 7.8.0a1706310284__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
Files changed (49) hide show
  1. pulumi_gcp/__init__.py +56 -0
  2. pulumi_gcp/alloydb/cluster.py +26 -21
  3. pulumi_gcp/bigquery/_inputs.py +231 -0
  4. pulumi_gcp/bigquery/outputs.py +229 -0
  5. pulumi_gcp/bigquery/routine.py +256 -10
  6. pulumi_gcp/bigquery/table.py +47 -0
  7. pulumi_gcp/cloudbuildv2/repository.py +60 -53
  8. pulumi_gcp/cloudrunv2/_inputs.py +176 -4
  9. pulumi_gcp/cloudrunv2/outputs.py +256 -3
  10. pulumi_gcp/cloudrunv2/service.py +148 -0
  11. pulumi_gcp/composer/_inputs.py +24 -0
  12. pulumi_gcp/composer/outputs.py +34 -0
  13. pulumi_gcp/compute/_inputs.py +4 -2
  14. pulumi_gcp/compute/disk.py +14 -14
  15. pulumi_gcp/compute/outputs.py +4 -2
  16. pulumi_gcp/healthcare/fhir_store.py +56 -0
  17. pulumi_gcp/kms/crypto_key.py +2 -2
  18. pulumi_gcp/kms/crypto_key_iam_binding.py +2 -2
  19. pulumi_gcp/kms/crypto_key_iam_member.py +2 -2
  20. pulumi_gcp/kms/crypto_key_iam_policy.py +2 -2
  21. pulumi_gcp/kms/crypto_key_version.py +2 -2
  22. pulumi_gcp/kms/secret_ciphertext.py +2 -2
  23. pulumi_gcp/netapp/__init__.py +4 -0
  24. pulumi_gcp/netapp/_inputs.py +643 -0
  25. pulumi_gcp/netapp/backup_policy.py +829 -0
  26. pulumi_gcp/netapp/kmsconfig.py +2 -2
  27. pulumi_gcp/netapp/outputs.py +651 -0
  28. pulumi_gcp/netapp/volume.py +1467 -0
  29. pulumi_gcp/networksecurity/__init__.py +5 -0
  30. pulumi_gcp/networksecurity/_inputs.py +228 -0
  31. pulumi_gcp/networksecurity/address_group_iam_binding.py +324 -0
  32. pulumi_gcp/networksecurity/address_group_iam_member.py +324 -0
  33. pulumi_gcp/networksecurity/address_group_iam_policy.py +492 -0
  34. pulumi_gcp/networksecurity/get_address_group_iam_policy.py +144 -0
  35. pulumi_gcp/networksecurity/outputs.py +212 -0
  36. pulumi_gcp/networksecurity/security_profile.py +800 -0
  37. pulumi_gcp/networkservices/gateway.py +1 -1
  38. pulumi_gcp/organizations/get_folders.py +1 -1
  39. pulumi_gcp/orgpolicy/_inputs.py +12 -12
  40. pulumi_gcp/orgpolicy/outputs.py +12 -12
  41. pulumi_gcp/securesourcemanager/instance.py +4 -2
  42. pulumi_gcp/storage/insights_report_config.py +12 -10
  43. pulumi_gcp/vertex/__init__.py +1 -0
  44. pulumi_gcp/vertex/ai_feature_group_feature.py +767 -0
  45. pulumi_gcp/workstations/workstation_config.py +47 -0
  46. {pulumi_gcp-7.7.0a1705990280.dist-info → pulumi_gcp-7.8.0a1706310284.dist-info}/METADATA +1 -1
  47. {pulumi_gcp-7.7.0a1705990280.dist-info → pulumi_gcp-7.8.0a1706310284.dist-info}/RECORD +49 -39
  48. {pulumi_gcp-7.7.0a1705990280.dist-info → pulumi_gcp-7.8.0a1706310284.dist-info}/WHEEL +0 -0
  49. {pulumi_gcp-7.7.0a1705990280.dist-info → pulumi_gcp-7.8.0a1706310284.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,492 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import pulumi
8
+ import pulumi.runtime
9
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
10
+ from .. import _utilities
11
+
12
+ __all__ = ['AddressGroupIamPolicyArgs', 'AddressGroupIamPolicy']
13
+
14
+ @pulumi.input_type
15
+ class AddressGroupIamPolicyArgs:
16
+ def __init__(__self__, *,
17
+ policy_data: pulumi.Input[str],
18
+ location: Optional[pulumi.Input[str]] = None,
19
+ name: Optional[pulumi.Input[str]] = None,
20
+ project: Optional[pulumi.Input[str]] = None):
21
+ """
22
+ The set of arguments for constructing a AddressGroupIamPolicy resource.
23
+ :param pulumi.Input[str] policy_data: The policy data generated by
24
+ a `organizations_get_iam_policy` data source.
25
+ :param pulumi.Input[str] location: The location of the gateway security policy.
26
+ Used to find the parent resource to bind the IAM policy to
27
+ :param pulumi.Input[str] name: Used to find the parent resource to bind the IAM policy to
28
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
29
+ 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.
30
+
31
+ * `member/members` - (Required) Identities that will be granted the privilege in `role`.
32
+ Each entry can have one of the following values:
33
+ * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
34
+ * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
35
+ * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
36
+ * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
37
+ * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
38
+ * **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.
39
+ * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
40
+ * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
41
+ * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
42
+ """
43
+ pulumi.set(__self__, "policy_data", policy_data)
44
+ if location is not None:
45
+ pulumi.set(__self__, "location", location)
46
+ if name is not None:
47
+ pulumi.set(__self__, "name", name)
48
+ if project is not None:
49
+ pulumi.set(__self__, "project", project)
50
+
51
+ @property
52
+ @pulumi.getter(name="policyData")
53
+ def policy_data(self) -> pulumi.Input[str]:
54
+ """
55
+ The policy data generated by
56
+ a `organizations_get_iam_policy` data source.
57
+ """
58
+ return pulumi.get(self, "policy_data")
59
+
60
+ @policy_data.setter
61
+ def policy_data(self, value: pulumi.Input[str]):
62
+ pulumi.set(self, "policy_data", value)
63
+
64
+ @property
65
+ @pulumi.getter
66
+ def location(self) -> Optional[pulumi.Input[str]]:
67
+ """
68
+ The location of the gateway security policy.
69
+ Used to find the parent resource to bind the IAM policy to
70
+ """
71
+ return pulumi.get(self, "location")
72
+
73
+ @location.setter
74
+ def location(self, value: Optional[pulumi.Input[str]]):
75
+ pulumi.set(self, "location", value)
76
+
77
+ @property
78
+ @pulumi.getter
79
+ def name(self) -> Optional[pulumi.Input[str]]:
80
+ """
81
+ Used to find the parent resource to bind the IAM policy to
82
+ """
83
+ return pulumi.get(self, "name")
84
+
85
+ @name.setter
86
+ def name(self, value: Optional[pulumi.Input[str]]):
87
+ pulumi.set(self, "name", value)
88
+
89
+ @property
90
+ @pulumi.getter
91
+ def project(self) -> Optional[pulumi.Input[str]]:
92
+ """
93
+ The ID of the project in which the resource belongs.
94
+ 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.
95
+
96
+ * `member/members` - (Required) Identities that will be granted the privilege in `role`.
97
+ Each entry can have one of the following values:
98
+ * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
99
+ * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
100
+ * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
101
+ * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
102
+ * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
103
+ * **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.
104
+ * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
105
+ * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
106
+ * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
107
+ """
108
+ return pulumi.get(self, "project")
109
+
110
+ @project.setter
111
+ def project(self, value: Optional[pulumi.Input[str]]):
112
+ pulumi.set(self, "project", value)
113
+
114
+
115
+ @pulumi.input_type
116
+ class _AddressGroupIamPolicyState:
117
+ def __init__(__self__, *,
118
+ etag: Optional[pulumi.Input[str]] = None,
119
+ location: Optional[pulumi.Input[str]] = None,
120
+ name: Optional[pulumi.Input[str]] = None,
121
+ policy_data: Optional[pulumi.Input[str]] = None,
122
+ project: Optional[pulumi.Input[str]] = None):
123
+ """
124
+ Input properties used for looking up and filtering AddressGroupIamPolicy resources.
125
+ :param pulumi.Input[str] etag: (Computed) The etag of the IAM policy.
126
+ :param pulumi.Input[str] location: The location of the gateway security policy.
127
+ Used to find the parent resource to bind the IAM policy to
128
+ :param pulumi.Input[str] name: Used to find the parent resource to bind the IAM policy to
129
+ :param pulumi.Input[str] policy_data: The policy data generated by
130
+ a `organizations_get_iam_policy` data source.
131
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
132
+ 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.
133
+
134
+ * `member/members` - (Required) Identities that will be granted the privilege in `role`.
135
+ Each entry can have one of the following values:
136
+ * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
137
+ * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
138
+ * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
139
+ * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
140
+ * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
141
+ * **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.
142
+ * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
143
+ * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
144
+ * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
145
+ """
146
+ if etag is not None:
147
+ pulumi.set(__self__, "etag", etag)
148
+ if location is not None:
149
+ pulumi.set(__self__, "location", location)
150
+ if name is not None:
151
+ pulumi.set(__self__, "name", name)
152
+ if policy_data is not None:
153
+ pulumi.set(__self__, "policy_data", policy_data)
154
+ if project is not None:
155
+ pulumi.set(__self__, "project", project)
156
+
157
+ @property
158
+ @pulumi.getter
159
+ def etag(self) -> Optional[pulumi.Input[str]]:
160
+ """
161
+ (Computed) The etag of the IAM policy.
162
+ """
163
+ return pulumi.get(self, "etag")
164
+
165
+ @etag.setter
166
+ def etag(self, value: Optional[pulumi.Input[str]]):
167
+ pulumi.set(self, "etag", value)
168
+
169
+ @property
170
+ @pulumi.getter
171
+ def location(self) -> Optional[pulumi.Input[str]]:
172
+ """
173
+ The location of the gateway security policy.
174
+ Used to find the parent resource to bind the IAM policy to
175
+ """
176
+ return pulumi.get(self, "location")
177
+
178
+ @location.setter
179
+ def location(self, value: Optional[pulumi.Input[str]]):
180
+ pulumi.set(self, "location", value)
181
+
182
+ @property
183
+ @pulumi.getter
184
+ def name(self) -> Optional[pulumi.Input[str]]:
185
+ """
186
+ Used to find the parent resource to bind the IAM policy to
187
+ """
188
+ return pulumi.get(self, "name")
189
+
190
+ @name.setter
191
+ def name(self, value: Optional[pulumi.Input[str]]):
192
+ pulumi.set(self, "name", value)
193
+
194
+ @property
195
+ @pulumi.getter(name="policyData")
196
+ def policy_data(self) -> Optional[pulumi.Input[str]]:
197
+ """
198
+ The policy data generated by
199
+ a `organizations_get_iam_policy` data source.
200
+ """
201
+ return pulumi.get(self, "policy_data")
202
+
203
+ @policy_data.setter
204
+ def policy_data(self, value: Optional[pulumi.Input[str]]):
205
+ pulumi.set(self, "policy_data", value)
206
+
207
+ @property
208
+ @pulumi.getter
209
+ def project(self) -> Optional[pulumi.Input[str]]:
210
+ """
211
+ The ID of the project in which the resource belongs.
212
+ 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.
213
+
214
+ * `member/members` - (Required) Identities that will be granted the privilege in `role`.
215
+ Each entry can have one of the following values:
216
+ * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
217
+ * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
218
+ * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
219
+ * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
220
+ * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
221
+ * **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.
222
+ * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
223
+ * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
224
+ * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
225
+ """
226
+ return pulumi.get(self, "project")
227
+
228
+ @project.setter
229
+ def project(self, value: Optional[pulumi.Input[str]]):
230
+ pulumi.set(self, "project", value)
231
+
232
+
233
+ class AddressGroupIamPolicy(pulumi.CustomResource):
234
+ @overload
235
+ def __init__(__self__,
236
+ resource_name: str,
237
+ opts: Optional[pulumi.ResourceOptions] = None,
238
+ location: Optional[pulumi.Input[str]] = None,
239
+ name: Optional[pulumi.Input[str]] = None,
240
+ policy_data: Optional[pulumi.Input[str]] = None,
241
+ project: Optional[pulumi.Input[str]] = None,
242
+ __props__=None):
243
+ """
244
+ Three different resources help you manage your IAM policy for Network security ProjectAddressGroup. Each of these resources serves a different use case:
245
+
246
+ * `networksecurity.AddressGroupIamPolicy`: Authoritative. Sets the IAM policy for the projectaddressgroup and replaces any existing policy already attached.
247
+ * `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.
248
+ * `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.
249
+
250
+ A data source can be used to retrieve policy data in advent you do not need creation
251
+
252
+ * `networksecurity.AddressGroupIamPolicy`: Retrieves the IAM policy for the projectaddressgroup
253
+
254
+ > **Note:** `networksecurity.AddressGroupIamPolicy` **cannot** be used in conjunction with `networksecurity.AddressGroupIamBinding` and `networksecurity.AddressGroupIamMember` or they will fight over what your policy should be.
255
+
256
+ > **Note:** `networksecurity.AddressGroupIamBinding` resources **can be** used in conjunction with `networksecurity.AddressGroupIamMember` resources **only if** they do not grant privilege to the same role.
257
+
258
+ ## Import
259
+
260
+ For all import syntaxes, the "resource in question" can take any of the following forms* projects/{{project}}/locations/{{location}}/addressGroups/{{name}} * {{project}}/{{location}}/{{name}} * {{location}}/{{name}} * {{name}} Any variables not passed in the import command will be taken from the provider configuration. Network security projectaddressgroup IAM resources can be imported using the resource identifiers, role, and member. IAM member imports use space-delimited identifiersthe resource in question, the role, and the member identity, e.g.
261
+
262
+ ```sh
263
+ $ pulumi import gcp:networksecurity/addressGroupIamPolicy:AddressGroupIamPolicy editor "projects/{{project}}/locations/{{location}}/addressGroups/{{project_address_group}} roles/compute.networkAdmin user:jane@example.com"
264
+ ```
265
+
266
+ IAM binding imports use space-delimited identifiersthe resource in question and the role, e.g.
267
+
268
+ ```sh
269
+ $ pulumi import gcp:networksecurity/addressGroupIamPolicy:AddressGroupIamPolicy editor "projects/{{project}}/locations/{{location}}/addressGroups/{{project_address_group}} roles/compute.networkAdmin"
270
+ ```
271
+
272
+ IAM policy imports use the identifier of the resource in question, e.g.
273
+
274
+ ```sh
275
+ $ pulumi import gcp:networksecurity/addressGroupIamPolicy:AddressGroupIamPolicy editor projects/{{project}}/locations/{{location}}/addressGroups/{{project_address_group}}
276
+ ```
277
+
278
+ -> **Custom Roles**If you're importing a IAM resource with a custom role, make sure to use the
279
+
280
+ full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
281
+
282
+ :param str resource_name: The name of the resource.
283
+ :param pulumi.ResourceOptions opts: Options for the resource.
284
+ :param pulumi.Input[str] location: The location of the gateway security policy.
285
+ Used to find the parent resource to bind the IAM policy to
286
+ :param pulumi.Input[str] name: Used to find the parent resource to bind the IAM policy to
287
+ :param pulumi.Input[str] policy_data: The policy data generated by
288
+ a `organizations_get_iam_policy` data source.
289
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
290
+ 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.
291
+
292
+ * `member/members` - (Required) Identities that will be granted the privilege in `role`.
293
+ Each entry can have one of the following values:
294
+ * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
295
+ * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
296
+ * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
297
+ * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
298
+ * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
299
+ * **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.
300
+ * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
301
+ * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
302
+ * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
303
+ """
304
+ ...
305
+ @overload
306
+ def __init__(__self__,
307
+ resource_name: str,
308
+ args: AddressGroupIamPolicyArgs,
309
+ opts: Optional[pulumi.ResourceOptions] = None):
310
+ """
311
+ Three different resources help you manage your IAM policy for Network security ProjectAddressGroup. Each of these resources serves a different use case:
312
+
313
+ * `networksecurity.AddressGroupIamPolicy`: Authoritative. Sets the IAM policy for the projectaddressgroup and replaces any existing policy already attached.
314
+ * `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.
315
+ * `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.
316
+
317
+ A data source can be used to retrieve policy data in advent you do not need creation
318
+
319
+ * `networksecurity.AddressGroupIamPolicy`: Retrieves the IAM policy for the projectaddressgroup
320
+
321
+ > **Note:** `networksecurity.AddressGroupIamPolicy` **cannot** be used in conjunction with `networksecurity.AddressGroupIamBinding` and `networksecurity.AddressGroupIamMember` or they will fight over what your policy should be.
322
+
323
+ > **Note:** `networksecurity.AddressGroupIamBinding` resources **can be** used in conjunction with `networksecurity.AddressGroupIamMember` resources **only if** they do not grant privilege to the same role.
324
+
325
+ ## Import
326
+
327
+ For all import syntaxes, the "resource in question" can take any of the following forms* projects/{{project}}/locations/{{location}}/addressGroups/{{name}} * {{project}}/{{location}}/{{name}} * {{location}}/{{name}} * {{name}} Any variables not passed in the import command will be taken from the provider configuration. Network security projectaddressgroup IAM resources can be imported using the resource identifiers, role, and member. IAM member imports use space-delimited identifiersthe resource in question, the role, and the member identity, e.g.
328
+
329
+ ```sh
330
+ $ pulumi import gcp:networksecurity/addressGroupIamPolicy:AddressGroupIamPolicy editor "projects/{{project}}/locations/{{location}}/addressGroups/{{project_address_group}} roles/compute.networkAdmin user:jane@example.com"
331
+ ```
332
+
333
+ IAM binding imports use space-delimited identifiersthe resource in question and the role, e.g.
334
+
335
+ ```sh
336
+ $ pulumi import gcp:networksecurity/addressGroupIamPolicy:AddressGroupIamPolicy editor "projects/{{project}}/locations/{{location}}/addressGroups/{{project_address_group}} roles/compute.networkAdmin"
337
+ ```
338
+
339
+ IAM policy imports use the identifier of the resource in question, e.g.
340
+
341
+ ```sh
342
+ $ pulumi import gcp:networksecurity/addressGroupIamPolicy:AddressGroupIamPolicy editor projects/{{project}}/locations/{{location}}/addressGroups/{{project_address_group}}
343
+ ```
344
+
345
+ -> **Custom Roles**If you're importing a IAM resource with a custom role, make sure to use the
346
+
347
+ full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
348
+
349
+ :param str resource_name: The name of the resource.
350
+ :param AddressGroupIamPolicyArgs args: The arguments to use to populate this resource's properties.
351
+ :param pulumi.ResourceOptions opts: Options for the resource.
352
+ """
353
+ ...
354
+ def __init__(__self__, resource_name: str, *args, **kwargs):
355
+ resource_args, opts = _utilities.get_resource_args_opts(AddressGroupIamPolicyArgs, pulumi.ResourceOptions, *args, **kwargs)
356
+ if resource_args is not None:
357
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
358
+ else:
359
+ __self__._internal_init(resource_name, *args, **kwargs)
360
+
361
+ def _internal_init(__self__,
362
+ resource_name: str,
363
+ opts: Optional[pulumi.ResourceOptions] = None,
364
+ location: Optional[pulumi.Input[str]] = None,
365
+ name: Optional[pulumi.Input[str]] = None,
366
+ policy_data: Optional[pulumi.Input[str]] = None,
367
+ project: Optional[pulumi.Input[str]] = None,
368
+ __props__=None):
369
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
370
+ if not isinstance(opts, pulumi.ResourceOptions):
371
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
372
+ if opts.id is None:
373
+ if __props__ is not None:
374
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
375
+ __props__ = AddressGroupIamPolicyArgs.__new__(AddressGroupIamPolicyArgs)
376
+
377
+ __props__.__dict__["location"] = location
378
+ __props__.__dict__["name"] = name
379
+ if policy_data is None and not opts.urn:
380
+ raise TypeError("Missing required property 'policy_data'")
381
+ __props__.__dict__["policy_data"] = policy_data
382
+ __props__.__dict__["project"] = project
383
+ __props__.__dict__["etag"] = None
384
+ super(AddressGroupIamPolicy, __self__).__init__(
385
+ 'gcp:networksecurity/addressGroupIamPolicy:AddressGroupIamPolicy',
386
+ resource_name,
387
+ __props__,
388
+ opts)
389
+
390
+ @staticmethod
391
+ def get(resource_name: str,
392
+ id: pulumi.Input[str],
393
+ opts: Optional[pulumi.ResourceOptions] = None,
394
+ etag: Optional[pulumi.Input[str]] = None,
395
+ location: Optional[pulumi.Input[str]] = None,
396
+ name: Optional[pulumi.Input[str]] = None,
397
+ policy_data: Optional[pulumi.Input[str]] = None,
398
+ project: Optional[pulumi.Input[str]] = None) -> 'AddressGroupIamPolicy':
399
+ """
400
+ Get an existing AddressGroupIamPolicy resource's state with the given name, id, and optional extra
401
+ properties used to qualify the lookup.
402
+
403
+ :param str resource_name: The unique name of the resulting resource.
404
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
405
+ :param pulumi.ResourceOptions opts: Options for the resource.
406
+ :param pulumi.Input[str] etag: (Computed) The etag of the IAM policy.
407
+ :param pulumi.Input[str] location: The location of the gateway security policy.
408
+ Used to find the parent resource to bind the IAM policy to
409
+ :param pulumi.Input[str] name: Used to find the parent resource to bind the IAM policy to
410
+ :param pulumi.Input[str] policy_data: The policy data generated by
411
+ a `organizations_get_iam_policy` data source.
412
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
413
+ 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.
414
+
415
+ * `member/members` - (Required) Identities that will be granted the privilege in `role`.
416
+ Each entry can have one of the following values:
417
+ * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
418
+ * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
419
+ * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
420
+ * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
421
+ * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
422
+ * **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.
423
+ * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
424
+ * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
425
+ * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
426
+ """
427
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
428
+
429
+ __props__ = _AddressGroupIamPolicyState.__new__(_AddressGroupIamPolicyState)
430
+
431
+ __props__.__dict__["etag"] = etag
432
+ __props__.__dict__["location"] = location
433
+ __props__.__dict__["name"] = name
434
+ __props__.__dict__["policy_data"] = policy_data
435
+ __props__.__dict__["project"] = project
436
+ return AddressGroupIamPolicy(resource_name, opts=opts, __props__=__props__)
437
+
438
+ @property
439
+ @pulumi.getter
440
+ def etag(self) -> pulumi.Output[str]:
441
+ """
442
+ (Computed) The etag of the IAM policy.
443
+ """
444
+ return pulumi.get(self, "etag")
445
+
446
+ @property
447
+ @pulumi.getter
448
+ def location(self) -> pulumi.Output[str]:
449
+ """
450
+ The location of the gateway security policy.
451
+ Used to find the parent resource to bind the IAM policy to
452
+ """
453
+ return pulumi.get(self, "location")
454
+
455
+ @property
456
+ @pulumi.getter
457
+ def name(self) -> pulumi.Output[str]:
458
+ """
459
+ Used to find the parent resource to bind the IAM policy to
460
+ """
461
+ return pulumi.get(self, "name")
462
+
463
+ @property
464
+ @pulumi.getter(name="policyData")
465
+ def policy_data(self) -> pulumi.Output[str]:
466
+ """
467
+ The policy data generated by
468
+ a `organizations_get_iam_policy` data source.
469
+ """
470
+ return pulumi.get(self, "policy_data")
471
+
472
+ @property
473
+ @pulumi.getter
474
+ def project(self) -> pulumi.Output[str]:
475
+ """
476
+ The ID of the project in which the resource belongs.
477
+ 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.
478
+
479
+ * `member/members` - (Required) Identities that will be granted the privilege in `role`.
480
+ Each entry can have one of the following values:
481
+ * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
482
+ * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
483
+ * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
484
+ * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
485
+ * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
486
+ * **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.
487
+ * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
488
+ * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
489
+ * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
490
+ """
491
+ return pulumi.get(self, "project")
492
+
@@ -0,0 +1,144 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import pulumi
8
+ import pulumi.runtime
9
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
10
+ from .. import _utilities
11
+
12
+ __all__ = [
13
+ 'GetAddressGroupIamPolicyResult',
14
+ 'AwaitableGetAddressGroupIamPolicyResult',
15
+ 'get_address_group_iam_policy',
16
+ 'get_address_group_iam_policy_output',
17
+ ]
18
+
19
+ @pulumi.output_type
20
+ class GetAddressGroupIamPolicyResult:
21
+ """
22
+ A collection of values returned by getAddressGroupIamPolicy.
23
+ """
24
+ def __init__(__self__, etag=None, id=None, location=None, name=None, policy_data=None, project=None):
25
+ if etag and not isinstance(etag, str):
26
+ raise TypeError("Expected argument 'etag' to be a str")
27
+ pulumi.set(__self__, "etag", etag)
28
+ if id and not isinstance(id, str):
29
+ raise TypeError("Expected argument 'id' to be a str")
30
+ pulumi.set(__self__, "id", id)
31
+ if location and not isinstance(location, str):
32
+ raise TypeError("Expected argument 'location' to be a str")
33
+ pulumi.set(__self__, "location", location)
34
+ if name and not isinstance(name, str):
35
+ raise TypeError("Expected argument 'name' to be a str")
36
+ pulumi.set(__self__, "name", name)
37
+ if policy_data and not isinstance(policy_data, str):
38
+ raise TypeError("Expected argument 'policy_data' to be a str")
39
+ pulumi.set(__self__, "policy_data", policy_data)
40
+ if project and not isinstance(project, str):
41
+ raise TypeError("Expected argument 'project' to be a str")
42
+ pulumi.set(__self__, "project", project)
43
+
44
+ @property
45
+ @pulumi.getter
46
+ def etag(self) -> str:
47
+ """
48
+ (Computed) The etag of the IAM policy.
49
+ """
50
+ return pulumi.get(self, "etag")
51
+
52
+ @property
53
+ @pulumi.getter
54
+ def id(self) -> str:
55
+ """
56
+ The provider-assigned unique ID for this managed resource.
57
+ """
58
+ return pulumi.get(self, "id")
59
+
60
+ @property
61
+ @pulumi.getter
62
+ def location(self) -> str:
63
+ return pulumi.get(self, "location")
64
+
65
+ @property
66
+ @pulumi.getter
67
+ def name(self) -> str:
68
+ return pulumi.get(self, "name")
69
+
70
+ @property
71
+ @pulumi.getter(name="policyData")
72
+ def policy_data(self) -> str:
73
+ """
74
+ (Required only by `networksecurity.AddressGroupIamPolicy`) The policy data generated by
75
+ a `organizations_get_iam_policy` data source.
76
+ """
77
+ return pulumi.get(self, "policy_data")
78
+
79
+ @property
80
+ @pulumi.getter
81
+ def project(self) -> str:
82
+ return pulumi.get(self, "project")
83
+
84
+
85
+ class AwaitableGetAddressGroupIamPolicyResult(GetAddressGroupIamPolicyResult):
86
+ # pylint: disable=using-constant-test
87
+ def __await__(self):
88
+ if False:
89
+ yield self
90
+ return GetAddressGroupIamPolicyResult(
91
+ etag=self.etag,
92
+ id=self.id,
93
+ location=self.location,
94
+ name=self.name,
95
+ policy_data=self.policy_data,
96
+ project=self.project)
97
+
98
+
99
+ def get_address_group_iam_policy(location: Optional[str] = None,
100
+ name: Optional[str] = None,
101
+ project: Optional[str] = None,
102
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetAddressGroupIamPolicyResult:
103
+ """
104
+ Retrieves the current IAM policy data for projectaddressgroup
105
+
106
+
107
+ :param str location: The location of the gateway security policy.
108
+ Used to find the parent resource to bind the IAM policy to
109
+ :param str name: Used to find the parent resource to bind the IAM policy to
110
+ :param str project: The ID of the project in which the resource belongs.
111
+ 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.
112
+ """
113
+ __args__ = dict()
114
+ __args__['location'] = location
115
+ __args__['name'] = name
116
+ __args__['project'] = project
117
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
118
+ __ret__ = pulumi.runtime.invoke('gcp:networksecurity/getAddressGroupIamPolicy:getAddressGroupIamPolicy', __args__, opts=opts, typ=GetAddressGroupIamPolicyResult).value
119
+
120
+ return AwaitableGetAddressGroupIamPolicyResult(
121
+ etag=pulumi.get(__ret__, 'etag'),
122
+ id=pulumi.get(__ret__, 'id'),
123
+ location=pulumi.get(__ret__, 'location'),
124
+ name=pulumi.get(__ret__, 'name'),
125
+ policy_data=pulumi.get(__ret__, 'policy_data'),
126
+ project=pulumi.get(__ret__, 'project'))
127
+
128
+
129
+ @_utilities.lift_output_func(get_address_group_iam_policy)
130
+ def get_address_group_iam_policy_output(location: Optional[pulumi.Input[Optional[str]]] = None,
131
+ name: Optional[pulumi.Input[str]] = None,
132
+ project: Optional[pulumi.Input[Optional[str]]] = None,
133
+ opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetAddressGroupIamPolicyResult]:
134
+ """
135
+ Retrieves the current IAM policy data for projectaddressgroup
136
+
137
+
138
+ :param str location: The location of the gateway security policy.
139
+ Used to find the parent resource to bind the IAM policy to
140
+ :param str name: Used to find the parent resource to bind the IAM policy to
141
+ :param str project: 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
+ """
144
+ ...