pulumi-gcp 8.16.0a1738080576__py3-none-any.whl → 8.17.0__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.
Files changed (83) hide show
  1. pulumi_gcp/__init__.py +91 -0
  2. pulumi_gcp/alloydb/cluster.py +75 -7
  3. pulumi_gcp/apigee/_inputs.py +91 -0
  4. pulumi_gcp/apigee/endpoint_attachment.py +0 -64
  5. pulumi_gcp/apigee/environment.py +54 -0
  6. pulumi_gcp/apigee/outputs.py +54 -0
  7. pulumi_gcp/apihub/__init__.py +10 -0
  8. pulumi_gcp/apihub/_inputs.py +154 -0
  9. pulumi_gcp/apihub/api_hub_instance.py +784 -0
  10. pulumi_gcp/apihub/outputs.py +124 -0
  11. pulumi_gcp/chronicle/__init__.py +1 -0
  12. pulumi_gcp/chronicle/_inputs.py +124 -0
  13. pulumi_gcp/chronicle/outputs.py +112 -0
  14. pulumi_gcp/chronicle/retrohunt.py +645 -0
  15. pulumi_gcp/cloudrunv2/_inputs.py +197 -0
  16. pulumi_gcp/cloudrunv2/get_service.py +12 -1
  17. pulumi_gcp/cloudrunv2/outputs.py +256 -0
  18. pulumi_gcp/cloudrunv2/service.py +159 -0
  19. pulumi_gcp/colab/__init__.py +5 -0
  20. pulumi_gcp/colab/_inputs.py +131 -0
  21. pulumi_gcp/colab/get_runtime_template_iam_policy.py +182 -0
  22. pulumi_gcp/colab/outputs.py +92 -0
  23. pulumi_gcp/colab/runtime.py +696 -0
  24. pulumi_gcp/colab/runtime_template_iam_binding.py +828 -0
  25. pulumi_gcp/colab/runtime_template_iam_member.py +828 -0
  26. pulumi_gcp/colab/runtime_template_iam_policy.py +667 -0
  27. pulumi_gcp/compute/__init__.py +4 -0
  28. pulumi_gcp/compute/_inputs.py +526 -0
  29. pulumi_gcp/compute/firewall_policy_rule.py +104 -22
  30. pulumi_gcp/compute/firewall_policy_with_rules.py +114 -42
  31. pulumi_gcp/compute/get_instance_template_iam_policy.py +159 -0
  32. pulumi_gcp/compute/instance_template_iam_binding.py +998 -0
  33. pulumi_gcp/compute/instance_template_iam_member.py +998 -0
  34. pulumi_gcp/compute/instance_template_iam_policy.py +817 -0
  35. pulumi_gcp/compute/interconnect_attachment.py +189 -2
  36. pulumi_gcp/compute/network_firewall_policy_rule.py +122 -10
  37. pulumi_gcp/compute/network_firewall_policy_with_rules.py +116 -44
  38. pulumi_gcp/compute/outputs.py +352 -0
  39. pulumi_gcp/compute/project_metadata_item.py +12 -0
  40. pulumi_gcp/compute/public_advertised_prefix.py +87 -0
  41. pulumi_gcp/compute/region_network_firewall_policy_rule.py +130 -10
  42. pulumi_gcp/compute/region_network_firewall_policy_with_rules.py +104 -32
  43. pulumi_gcp/compute/router_peer.py +115 -3
  44. pulumi_gcp/config/__init__.pyi +2 -0
  45. pulumi_gcp/config/vars.py +4 -0
  46. pulumi_gcp/filestore/get_instance.py +12 -1
  47. pulumi_gcp/filestore/instance.py +75 -0
  48. pulumi_gcp/gemini/code_repository_index.py +29 -33
  49. pulumi_gcp/gemini/get_repository_group_iam_policy.py +28 -2
  50. pulumi_gcp/gemini/repository_group.py +76 -26
  51. pulumi_gcp/gemini/repository_group_iam_binding.py +258 -0
  52. pulumi_gcp/gemini/repository_group_iam_member.py +258 -0
  53. pulumi_gcp/gemini/repository_group_iam_policy.py +258 -0
  54. pulumi_gcp/kms/__init__.py +1 -0
  55. pulumi_gcp/kms/get_key_handles.py +172 -0
  56. pulumi_gcp/kms/outputs.py +45 -0
  57. pulumi_gcp/networksecurity/_inputs.py +72 -0
  58. pulumi_gcp/networksecurity/outputs.py +76 -0
  59. pulumi_gcp/networksecurity/security_profile.py +233 -7
  60. pulumi_gcp/networksecurity/security_profile_group.py +218 -0
  61. pulumi_gcp/organizations/__init__.py +1 -0
  62. pulumi_gcp/organizations/get_s.py +128 -0
  63. pulumi_gcp/organizations/outputs.py +63 -0
  64. pulumi_gcp/parametermanager/__init__.py +3 -0
  65. pulumi_gcp/parametermanager/get_parameter.py +211 -0
  66. pulumi_gcp/parametermanager/get_regional_parameters.py +157 -0
  67. pulumi_gcp/parametermanager/outputs.py +210 -0
  68. pulumi_gcp/parametermanager/parameter_version.py +496 -0
  69. pulumi_gcp/parametermanager/regional_parameter_version.py +10 -38
  70. pulumi_gcp/provider.py +20 -0
  71. pulumi_gcp/pubsub/_inputs.py +213 -1
  72. pulumi_gcp/pubsub/outputs.py +278 -2
  73. pulumi_gcp/pubsub/topic.py +42 -0
  74. pulumi_gcp/pulumi-plugin.json +1 -1
  75. pulumi_gcp/redis/__init__.py +1 -0
  76. pulumi_gcp/redis/_inputs.py +342 -6
  77. pulumi_gcp/redis/cluster.py +223 -102
  78. pulumi_gcp/redis/cluster_user_created_connections.py +845 -0
  79. pulumi_gcp/redis/outputs.py +268 -4
  80. {pulumi_gcp-8.16.0a1738080576.dist-info → pulumi_gcp-8.17.0.dist-info}/METADATA +1 -1
  81. {pulumi_gcp-8.16.0a1738080576.dist-info → pulumi_gcp-8.17.0.dist-info}/RECORD +83 -63
  82. {pulumi_gcp-8.16.0a1738080576.dist-info → pulumi_gcp-8.17.0.dist-info}/WHEEL +0 -0
  83. {pulumi_gcp-8.16.0a1738080576.dist-info → pulumi_gcp-8.17.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,828 @@
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 sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from .. import _utilities
16
+ from . import outputs
17
+ from ._inputs import *
18
+
19
+ __all__ = ['RuntimeTemplateIamMemberArgs', 'RuntimeTemplateIamMember']
20
+
21
+ @pulumi.input_type
22
+ class RuntimeTemplateIamMemberArgs:
23
+ def __init__(__self__, *,
24
+ member: pulumi.Input[str],
25
+ role: pulumi.Input[str],
26
+ runtime_template: pulumi.Input[str],
27
+ condition: Optional[pulumi.Input['RuntimeTemplateIamMemberConditionArgs']] = None,
28
+ location: Optional[pulumi.Input[str]] = None,
29
+ project: Optional[pulumi.Input[str]] = None):
30
+ """
31
+ The set of arguments for constructing a RuntimeTemplateIamMember resource.
32
+ :param pulumi.Input[str] member: 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
+ `colab.RuntimeTemplateIamBinding` 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] runtime_template: Used to find the parent resource to bind the IAM policy to
47
+ :param pulumi.Input[str] location: The location for the resource: https://cloud.google.com/colab/docs/locations 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] project: The ID of the project in which the resource belongs.
51
+ 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.
52
+ """
53
+ pulumi.set(__self__, "member", member)
54
+ pulumi.set(__self__, "role", role)
55
+ pulumi.set(__self__, "runtime_template", runtime_template)
56
+ if condition is not None:
57
+ pulumi.set(__self__, "condition", condition)
58
+ if location is not None:
59
+ pulumi.set(__self__, "location", location)
60
+ if project is not None:
61
+ pulumi.set(__self__, "project", project)
62
+
63
+ @property
64
+ @pulumi.getter
65
+ def member(self) -> pulumi.Input[str]:
66
+ """
67
+ Identities that will be granted the privilege in `role`.
68
+ Each entry can have one of the following values:
69
+ * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
70
+ * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
71
+ * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
72
+ * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
73
+ * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
74
+ * **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.
75
+ * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
76
+ * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
77
+ * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
78
+ """
79
+ return pulumi.get(self, "member")
80
+
81
+ @member.setter
82
+ def member(self, value: pulumi.Input[str]):
83
+ pulumi.set(self, "member", value)
84
+
85
+ @property
86
+ @pulumi.getter
87
+ def role(self) -> pulumi.Input[str]:
88
+ """
89
+ The role that should be applied. Only one
90
+ `colab.RuntimeTemplateIamBinding` can be used per role. Note that custom roles must be of the format
91
+ `[projects|organizations]/{parent-name}/roles/{role-name}`.
92
+ """
93
+ return pulumi.get(self, "role")
94
+
95
+ @role.setter
96
+ def role(self, value: pulumi.Input[str]):
97
+ pulumi.set(self, "role", value)
98
+
99
+ @property
100
+ @pulumi.getter(name="runtimeTemplate")
101
+ def runtime_template(self) -> pulumi.Input[str]:
102
+ """
103
+ Used to find the parent resource to bind the IAM policy to
104
+ """
105
+ return pulumi.get(self, "runtime_template")
106
+
107
+ @runtime_template.setter
108
+ def runtime_template(self, value: pulumi.Input[str]):
109
+ pulumi.set(self, "runtime_template", value)
110
+
111
+ @property
112
+ @pulumi.getter
113
+ def condition(self) -> Optional[pulumi.Input['RuntimeTemplateIamMemberConditionArgs']]:
114
+ return pulumi.get(self, "condition")
115
+
116
+ @condition.setter
117
+ def condition(self, value: Optional[pulumi.Input['RuntimeTemplateIamMemberConditionArgs']]):
118
+ pulumi.set(self, "condition", value)
119
+
120
+ @property
121
+ @pulumi.getter
122
+ def location(self) -> Optional[pulumi.Input[str]]:
123
+ """
124
+ The location for the resource: https://cloud.google.com/colab/docs/locations Used to find the parent resource to bind the IAM policy to. If not specified,
125
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
126
+ location is specified, it is taken from the provider configuration.
127
+ """
128
+ return pulumi.get(self, "location")
129
+
130
+ @location.setter
131
+ def location(self, value: Optional[pulumi.Input[str]]):
132
+ pulumi.set(self, "location", value)
133
+
134
+ @property
135
+ @pulumi.getter
136
+ def project(self) -> Optional[pulumi.Input[str]]:
137
+ """
138
+ The ID of the project in which the resource belongs.
139
+ 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.
140
+ """
141
+ return pulumi.get(self, "project")
142
+
143
+ @project.setter
144
+ def project(self, value: Optional[pulumi.Input[str]]):
145
+ pulumi.set(self, "project", value)
146
+
147
+
148
+ @pulumi.input_type
149
+ class _RuntimeTemplateIamMemberState:
150
+ def __init__(__self__, *,
151
+ condition: Optional[pulumi.Input['RuntimeTemplateIamMemberConditionArgs']] = None,
152
+ etag: Optional[pulumi.Input[str]] = None,
153
+ location: Optional[pulumi.Input[str]] = None,
154
+ member: Optional[pulumi.Input[str]] = None,
155
+ project: Optional[pulumi.Input[str]] = None,
156
+ role: Optional[pulumi.Input[str]] = None,
157
+ runtime_template: Optional[pulumi.Input[str]] = None):
158
+ """
159
+ Input properties used for looking up and filtering RuntimeTemplateIamMember resources.
160
+ :param pulumi.Input[str] etag: (Computed) The etag of the IAM policy.
161
+ :param pulumi.Input[str] location: The location for the resource: https://cloud.google.com/colab/docs/locations Used to find the parent resource to bind the IAM policy to. If not specified,
162
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
163
+ location is specified, it is taken from the provider configuration.
164
+ :param pulumi.Input[str] member: Identities that will be granted the privilege in `role`.
165
+ Each entry can have one of the following values:
166
+ * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
167
+ * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
168
+ * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
169
+ * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
170
+ * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
171
+ * **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.
172
+ * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
173
+ * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
174
+ * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
175
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
176
+ 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.
177
+ :param pulumi.Input[str] role: The role that should be applied. Only one
178
+ `colab.RuntimeTemplateIamBinding` can be used per role. Note that custom roles must be of the format
179
+ `[projects|organizations]/{parent-name}/roles/{role-name}`.
180
+ :param pulumi.Input[str] runtime_template: Used to find the parent resource to bind the IAM policy to
181
+ """
182
+ if condition is not None:
183
+ pulumi.set(__self__, "condition", condition)
184
+ if etag is not None:
185
+ pulumi.set(__self__, "etag", etag)
186
+ if location is not None:
187
+ pulumi.set(__self__, "location", location)
188
+ if member is not None:
189
+ pulumi.set(__self__, "member", member)
190
+ if project is not None:
191
+ pulumi.set(__self__, "project", project)
192
+ if role is not None:
193
+ pulumi.set(__self__, "role", role)
194
+ if runtime_template is not None:
195
+ pulumi.set(__self__, "runtime_template", runtime_template)
196
+
197
+ @property
198
+ @pulumi.getter
199
+ def condition(self) -> Optional[pulumi.Input['RuntimeTemplateIamMemberConditionArgs']]:
200
+ return pulumi.get(self, "condition")
201
+
202
+ @condition.setter
203
+ def condition(self, value: Optional[pulumi.Input['RuntimeTemplateIamMemberConditionArgs']]):
204
+ pulumi.set(self, "condition", value)
205
+
206
+ @property
207
+ @pulumi.getter
208
+ def etag(self) -> Optional[pulumi.Input[str]]:
209
+ """
210
+ (Computed) The etag of the IAM policy.
211
+ """
212
+ return pulumi.get(self, "etag")
213
+
214
+ @etag.setter
215
+ def etag(self, value: Optional[pulumi.Input[str]]):
216
+ pulumi.set(self, "etag", value)
217
+
218
+ @property
219
+ @pulumi.getter
220
+ def location(self) -> Optional[pulumi.Input[str]]:
221
+ """
222
+ The location for the resource: https://cloud.google.com/colab/docs/locations Used to find the parent resource to bind the IAM policy to. If not specified,
223
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
224
+ location is specified, it is taken from the provider configuration.
225
+ """
226
+ return pulumi.get(self, "location")
227
+
228
+ @location.setter
229
+ def location(self, value: Optional[pulumi.Input[str]]):
230
+ pulumi.set(self, "location", value)
231
+
232
+ @property
233
+ @pulumi.getter
234
+ def member(self) -> Optional[pulumi.Input[str]]:
235
+ """
236
+ Identities that will be granted the privilege in `role`.
237
+ Each entry can have one of the following values:
238
+ * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
239
+ * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
240
+ * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
241
+ * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
242
+ * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
243
+ * **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.
244
+ * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
245
+ * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
246
+ * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
247
+ """
248
+ return pulumi.get(self, "member")
249
+
250
+ @member.setter
251
+ def member(self, value: Optional[pulumi.Input[str]]):
252
+ pulumi.set(self, "member", value)
253
+
254
+ @property
255
+ @pulumi.getter
256
+ def project(self) -> Optional[pulumi.Input[str]]:
257
+ """
258
+ The ID of the project in which the resource belongs.
259
+ 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.
260
+ """
261
+ return pulumi.get(self, "project")
262
+
263
+ @project.setter
264
+ def project(self, value: Optional[pulumi.Input[str]]):
265
+ pulumi.set(self, "project", value)
266
+
267
+ @property
268
+ @pulumi.getter
269
+ def role(self) -> Optional[pulumi.Input[str]]:
270
+ """
271
+ The role that should be applied. Only one
272
+ `colab.RuntimeTemplateIamBinding` can be used per role. Note that custom roles must be of the format
273
+ `[projects|organizations]/{parent-name}/roles/{role-name}`.
274
+ """
275
+ return pulumi.get(self, "role")
276
+
277
+ @role.setter
278
+ def role(self, value: Optional[pulumi.Input[str]]):
279
+ pulumi.set(self, "role", value)
280
+
281
+ @property
282
+ @pulumi.getter(name="runtimeTemplate")
283
+ def runtime_template(self) -> Optional[pulumi.Input[str]]:
284
+ """
285
+ Used to find the parent resource to bind the IAM policy to
286
+ """
287
+ return pulumi.get(self, "runtime_template")
288
+
289
+ @runtime_template.setter
290
+ def runtime_template(self, value: Optional[pulumi.Input[str]]):
291
+ pulumi.set(self, "runtime_template", value)
292
+
293
+
294
+ class RuntimeTemplateIamMember(pulumi.CustomResource):
295
+ @overload
296
+ def __init__(__self__,
297
+ resource_name: str,
298
+ opts: Optional[pulumi.ResourceOptions] = None,
299
+ condition: Optional[pulumi.Input[Union['RuntimeTemplateIamMemberConditionArgs', 'RuntimeTemplateIamMemberConditionArgsDict']]] = None,
300
+ location: Optional[pulumi.Input[str]] = None,
301
+ member: Optional[pulumi.Input[str]] = None,
302
+ project: Optional[pulumi.Input[str]] = None,
303
+ role: Optional[pulumi.Input[str]] = None,
304
+ runtime_template: Optional[pulumi.Input[str]] = None,
305
+ __props__=None):
306
+ """
307
+ Three different resources help you manage your IAM policy for Colab Enterprise RuntimeTemplate. Each of these resources serves a different use case:
308
+
309
+ * `colab.RuntimeTemplateIamPolicy`: Authoritative. Sets the IAM policy for the runtimetemplate and replaces any existing policy already attached.
310
+ * `colab.RuntimeTemplateIamBinding`: 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 runtimetemplate are preserved.
311
+ * `colab.RuntimeTemplateIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the runtimetemplate are preserved.
312
+
313
+ A data source can be used to retrieve policy data in advent you do not need creation
314
+
315
+ * `colab.RuntimeTemplateIamPolicy`: Retrieves the IAM policy for the runtimetemplate
316
+
317
+ > **Note:** `colab.RuntimeTemplateIamPolicy` **cannot** be used in conjunction with `colab.RuntimeTemplateIamBinding` and `colab.RuntimeTemplateIamMember` or they will fight over what your policy should be.
318
+
319
+ > **Note:** `colab.RuntimeTemplateIamBinding` resources **can be** used in conjunction with `colab.RuntimeTemplateIamMember` resources **only if** they do not grant privilege to the same role.
320
+
321
+ ## colab.RuntimeTemplateIamPolicy
322
+
323
+ ```python
324
+ import pulumi
325
+ import pulumi_gcp as gcp
326
+
327
+ admin = gcp.organizations.get_iam_policy(bindings=[{
328
+ "role": "roles/viewer",
329
+ "members": ["user:jane@example.com"],
330
+ }])
331
+ policy = gcp.colab.RuntimeTemplateIamPolicy("policy",
332
+ project=runtime_template["project"],
333
+ location=runtime_template["location"],
334
+ runtime_template=runtime_template["name"],
335
+ policy_data=admin.policy_data)
336
+ ```
337
+
338
+ ## colab.RuntimeTemplateIamBinding
339
+
340
+ ```python
341
+ import pulumi
342
+ import pulumi_gcp as gcp
343
+
344
+ binding = gcp.colab.RuntimeTemplateIamBinding("binding",
345
+ project=runtime_template["project"],
346
+ location=runtime_template["location"],
347
+ runtime_template=runtime_template["name"],
348
+ role="roles/viewer",
349
+ members=["user:jane@example.com"])
350
+ ```
351
+
352
+ ## colab.RuntimeTemplateIamMember
353
+
354
+ ```python
355
+ import pulumi
356
+ import pulumi_gcp as gcp
357
+
358
+ member = gcp.colab.RuntimeTemplateIamMember("member",
359
+ project=runtime_template["project"],
360
+ location=runtime_template["location"],
361
+ runtime_template=runtime_template["name"],
362
+ role="roles/viewer",
363
+ member="user:jane@example.com")
364
+ ```
365
+
366
+ ## This resource supports User Project Overrides.
367
+
368
+ -
369
+
370
+ # IAM policy for Colab Enterprise RuntimeTemplate
371
+ Three different resources help you manage your IAM policy for Colab Enterprise RuntimeTemplate. Each of these resources serves a different use case:
372
+
373
+ * `colab.RuntimeTemplateIamPolicy`: Authoritative. Sets the IAM policy for the runtimetemplate and replaces any existing policy already attached.
374
+ * `colab.RuntimeTemplateIamBinding`: 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 runtimetemplate are preserved.
375
+ * `colab.RuntimeTemplateIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the runtimetemplate are preserved.
376
+
377
+ A data source can be used to retrieve policy data in advent you do not need creation
378
+
379
+ * `colab.RuntimeTemplateIamPolicy`: Retrieves the IAM policy for the runtimetemplate
380
+
381
+ > **Note:** `colab.RuntimeTemplateIamPolicy` **cannot** be used in conjunction with `colab.RuntimeTemplateIamBinding` and `colab.RuntimeTemplateIamMember` or they will fight over what your policy should be.
382
+
383
+ > **Note:** `colab.RuntimeTemplateIamBinding` resources **can be** used in conjunction with `colab.RuntimeTemplateIamMember` resources **only if** they do not grant privilege to the same role.
384
+
385
+ ## colab.RuntimeTemplateIamPolicy
386
+
387
+ ```python
388
+ import pulumi
389
+ import pulumi_gcp as gcp
390
+
391
+ admin = gcp.organizations.get_iam_policy(bindings=[{
392
+ "role": "roles/viewer",
393
+ "members": ["user:jane@example.com"],
394
+ }])
395
+ policy = gcp.colab.RuntimeTemplateIamPolicy("policy",
396
+ project=runtime_template["project"],
397
+ location=runtime_template["location"],
398
+ runtime_template=runtime_template["name"],
399
+ policy_data=admin.policy_data)
400
+ ```
401
+
402
+ ## colab.RuntimeTemplateIamBinding
403
+
404
+ ```python
405
+ import pulumi
406
+ import pulumi_gcp as gcp
407
+
408
+ binding = gcp.colab.RuntimeTemplateIamBinding("binding",
409
+ project=runtime_template["project"],
410
+ location=runtime_template["location"],
411
+ runtime_template=runtime_template["name"],
412
+ role="roles/viewer",
413
+ members=["user:jane@example.com"])
414
+ ```
415
+
416
+ ## colab.RuntimeTemplateIamMember
417
+
418
+ ```python
419
+ import pulumi
420
+ import pulumi_gcp as gcp
421
+
422
+ member = gcp.colab.RuntimeTemplateIamMember("member",
423
+ project=runtime_template["project"],
424
+ location=runtime_template["location"],
425
+ runtime_template=runtime_template["name"],
426
+ role="roles/viewer",
427
+ member="user:jane@example.com")
428
+ ```
429
+
430
+ ## Import
431
+
432
+ For all import syntaxes, the "resource in question" can take any of the following forms:
433
+
434
+ * projects/{{project}}/locations/{{location}}/notebookRuntimeTemplates/{{runtime_template}}
435
+
436
+ * {{project}}/{{location}}/{{runtime_template}}
437
+
438
+ * {{location}}/{{runtime_template}}
439
+
440
+ * {{runtime_template}}
441
+
442
+ Any variables not passed in the import command will be taken from the provider configuration.
443
+
444
+ Colab Enterprise runtimetemplate IAM resources can be imported using the resource identifiers, role, and member.
445
+
446
+ IAM member imports use space-delimited identifiers: the resource in question, the role, and the member identity, e.g.
447
+
448
+ ```sh
449
+ $ pulumi import gcp:colab/runtimeTemplateIamMember:RuntimeTemplateIamMember editor "projects/{{project}}/locations/{{location}}/notebookRuntimeTemplates/{{runtime_template}} roles/viewer user:jane@example.com"
450
+ ```
451
+
452
+ IAM binding imports use space-delimited identifiers: the resource in question and the role, e.g.
453
+
454
+ ```sh
455
+ $ pulumi import gcp:colab/runtimeTemplateIamMember:RuntimeTemplateIamMember editor "projects/{{project}}/locations/{{location}}/notebookRuntimeTemplates/{{runtime_template}} roles/viewer"
456
+ ```
457
+
458
+ IAM policy imports use the identifier of the resource in question, e.g.
459
+
460
+ ```sh
461
+ $ pulumi import gcp:colab/runtimeTemplateIamMember:RuntimeTemplateIamMember editor projects/{{project}}/locations/{{location}}/notebookRuntimeTemplates/{{runtime_template}}
462
+ ```
463
+
464
+ -> **Custom Roles** If you're importing a IAM resource with a custom role, make sure to use the
465
+
466
+ full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
467
+
468
+ :param str resource_name: The name of the resource.
469
+ :param pulumi.ResourceOptions opts: Options for the resource.
470
+ :param pulumi.Input[str] location: The location for the resource: https://cloud.google.com/colab/docs/locations Used to find the parent resource to bind the IAM policy to. If not specified,
471
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
472
+ location is specified, it is taken from the provider configuration.
473
+ :param pulumi.Input[str] member: Identities that will be granted the privilege in `role`.
474
+ Each entry can have one of the following values:
475
+ * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
476
+ * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
477
+ * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
478
+ * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
479
+ * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
480
+ * **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.
481
+ * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
482
+ * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
483
+ * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
484
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
485
+ 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.
486
+ :param pulumi.Input[str] role: The role that should be applied. Only one
487
+ `colab.RuntimeTemplateIamBinding` can be used per role. Note that custom roles must be of the format
488
+ `[projects|organizations]/{parent-name}/roles/{role-name}`.
489
+ :param pulumi.Input[str] runtime_template: Used to find the parent resource to bind the IAM policy to
490
+ """
491
+ ...
492
+ @overload
493
+ def __init__(__self__,
494
+ resource_name: str,
495
+ args: RuntimeTemplateIamMemberArgs,
496
+ opts: Optional[pulumi.ResourceOptions] = None):
497
+ """
498
+ Three different resources help you manage your IAM policy for Colab Enterprise RuntimeTemplate. Each of these resources serves a different use case:
499
+
500
+ * `colab.RuntimeTemplateIamPolicy`: Authoritative. Sets the IAM policy for the runtimetemplate and replaces any existing policy already attached.
501
+ * `colab.RuntimeTemplateIamBinding`: 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 runtimetemplate are preserved.
502
+ * `colab.RuntimeTemplateIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the runtimetemplate are preserved.
503
+
504
+ A data source can be used to retrieve policy data in advent you do not need creation
505
+
506
+ * `colab.RuntimeTemplateIamPolicy`: Retrieves the IAM policy for the runtimetemplate
507
+
508
+ > **Note:** `colab.RuntimeTemplateIamPolicy` **cannot** be used in conjunction with `colab.RuntimeTemplateIamBinding` and `colab.RuntimeTemplateIamMember` or they will fight over what your policy should be.
509
+
510
+ > **Note:** `colab.RuntimeTemplateIamBinding` resources **can be** used in conjunction with `colab.RuntimeTemplateIamMember` resources **only if** they do not grant privilege to the same role.
511
+
512
+ ## colab.RuntimeTemplateIamPolicy
513
+
514
+ ```python
515
+ import pulumi
516
+ import pulumi_gcp as gcp
517
+
518
+ admin = gcp.organizations.get_iam_policy(bindings=[{
519
+ "role": "roles/viewer",
520
+ "members": ["user:jane@example.com"],
521
+ }])
522
+ policy = gcp.colab.RuntimeTemplateIamPolicy("policy",
523
+ project=runtime_template["project"],
524
+ location=runtime_template["location"],
525
+ runtime_template=runtime_template["name"],
526
+ policy_data=admin.policy_data)
527
+ ```
528
+
529
+ ## colab.RuntimeTemplateIamBinding
530
+
531
+ ```python
532
+ import pulumi
533
+ import pulumi_gcp as gcp
534
+
535
+ binding = gcp.colab.RuntimeTemplateIamBinding("binding",
536
+ project=runtime_template["project"],
537
+ location=runtime_template["location"],
538
+ runtime_template=runtime_template["name"],
539
+ role="roles/viewer",
540
+ members=["user:jane@example.com"])
541
+ ```
542
+
543
+ ## colab.RuntimeTemplateIamMember
544
+
545
+ ```python
546
+ import pulumi
547
+ import pulumi_gcp as gcp
548
+
549
+ member = gcp.colab.RuntimeTemplateIamMember("member",
550
+ project=runtime_template["project"],
551
+ location=runtime_template["location"],
552
+ runtime_template=runtime_template["name"],
553
+ role="roles/viewer",
554
+ member="user:jane@example.com")
555
+ ```
556
+
557
+ ## This resource supports User Project Overrides.
558
+
559
+ -
560
+
561
+ # IAM policy for Colab Enterprise RuntimeTemplate
562
+ Three different resources help you manage your IAM policy for Colab Enterprise RuntimeTemplate. Each of these resources serves a different use case:
563
+
564
+ * `colab.RuntimeTemplateIamPolicy`: Authoritative. Sets the IAM policy for the runtimetemplate and replaces any existing policy already attached.
565
+ * `colab.RuntimeTemplateIamBinding`: 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 runtimetemplate are preserved.
566
+ * `colab.RuntimeTemplateIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the runtimetemplate are preserved.
567
+
568
+ A data source can be used to retrieve policy data in advent you do not need creation
569
+
570
+ * `colab.RuntimeTemplateIamPolicy`: Retrieves the IAM policy for the runtimetemplate
571
+
572
+ > **Note:** `colab.RuntimeTemplateIamPolicy` **cannot** be used in conjunction with `colab.RuntimeTemplateIamBinding` and `colab.RuntimeTemplateIamMember` or they will fight over what your policy should be.
573
+
574
+ > **Note:** `colab.RuntimeTemplateIamBinding` resources **can be** used in conjunction with `colab.RuntimeTemplateIamMember` resources **only if** they do not grant privilege to the same role.
575
+
576
+ ## colab.RuntimeTemplateIamPolicy
577
+
578
+ ```python
579
+ import pulumi
580
+ import pulumi_gcp as gcp
581
+
582
+ admin = gcp.organizations.get_iam_policy(bindings=[{
583
+ "role": "roles/viewer",
584
+ "members": ["user:jane@example.com"],
585
+ }])
586
+ policy = gcp.colab.RuntimeTemplateIamPolicy("policy",
587
+ project=runtime_template["project"],
588
+ location=runtime_template["location"],
589
+ runtime_template=runtime_template["name"],
590
+ policy_data=admin.policy_data)
591
+ ```
592
+
593
+ ## colab.RuntimeTemplateIamBinding
594
+
595
+ ```python
596
+ import pulumi
597
+ import pulumi_gcp as gcp
598
+
599
+ binding = gcp.colab.RuntimeTemplateIamBinding("binding",
600
+ project=runtime_template["project"],
601
+ location=runtime_template["location"],
602
+ runtime_template=runtime_template["name"],
603
+ role="roles/viewer",
604
+ members=["user:jane@example.com"])
605
+ ```
606
+
607
+ ## colab.RuntimeTemplateIamMember
608
+
609
+ ```python
610
+ import pulumi
611
+ import pulumi_gcp as gcp
612
+
613
+ member = gcp.colab.RuntimeTemplateIamMember("member",
614
+ project=runtime_template["project"],
615
+ location=runtime_template["location"],
616
+ runtime_template=runtime_template["name"],
617
+ role="roles/viewer",
618
+ member="user:jane@example.com")
619
+ ```
620
+
621
+ ## Import
622
+
623
+ For all import syntaxes, the "resource in question" can take any of the following forms:
624
+
625
+ * projects/{{project}}/locations/{{location}}/notebookRuntimeTemplates/{{runtime_template}}
626
+
627
+ * {{project}}/{{location}}/{{runtime_template}}
628
+
629
+ * {{location}}/{{runtime_template}}
630
+
631
+ * {{runtime_template}}
632
+
633
+ Any variables not passed in the import command will be taken from the provider configuration.
634
+
635
+ Colab Enterprise runtimetemplate IAM resources can be imported using the resource identifiers, role, and member.
636
+
637
+ IAM member imports use space-delimited identifiers: the resource in question, the role, and the member identity, e.g.
638
+
639
+ ```sh
640
+ $ pulumi import gcp:colab/runtimeTemplateIamMember:RuntimeTemplateIamMember editor "projects/{{project}}/locations/{{location}}/notebookRuntimeTemplates/{{runtime_template}} roles/viewer user:jane@example.com"
641
+ ```
642
+
643
+ IAM binding imports use space-delimited identifiers: the resource in question and the role, e.g.
644
+
645
+ ```sh
646
+ $ pulumi import gcp:colab/runtimeTemplateIamMember:RuntimeTemplateIamMember editor "projects/{{project}}/locations/{{location}}/notebookRuntimeTemplates/{{runtime_template}} roles/viewer"
647
+ ```
648
+
649
+ IAM policy imports use the identifier of the resource in question, e.g.
650
+
651
+ ```sh
652
+ $ pulumi import gcp:colab/runtimeTemplateIamMember:RuntimeTemplateIamMember editor projects/{{project}}/locations/{{location}}/notebookRuntimeTemplates/{{runtime_template}}
653
+ ```
654
+
655
+ -> **Custom Roles** If you're importing a IAM resource with a custom role, make sure to use the
656
+
657
+ full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
658
+
659
+ :param str resource_name: The name of the resource.
660
+ :param RuntimeTemplateIamMemberArgs args: The arguments to use to populate this resource's properties.
661
+ :param pulumi.ResourceOptions opts: Options for the resource.
662
+ """
663
+ ...
664
+ def __init__(__self__, resource_name: str, *args, **kwargs):
665
+ resource_args, opts = _utilities.get_resource_args_opts(RuntimeTemplateIamMemberArgs, pulumi.ResourceOptions, *args, **kwargs)
666
+ if resource_args is not None:
667
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
668
+ else:
669
+ __self__._internal_init(resource_name, *args, **kwargs)
670
+
671
+ def _internal_init(__self__,
672
+ resource_name: str,
673
+ opts: Optional[pulumi.ResourceOptions] = None,
674
+ condition: Optional[pulumi.Input[Union['RuntimeTemplateIamMemberConditionArgs', 'RuntimeTemplateIamMemberConditionArgsDict']]] = None,
675
+ location: Optional[pulumi.Input[str]] = None,
676
+ member: Optional[pulumi.Input[str]] = None,
677
+ project: Optional[pulumi.Input[str]] = None,
678
+ role: Optional[pulumi.Input[str]] = None,
679
+ runtime_template: Optional[pulumi.Input[str]] = None,
680
+ __props__=None):
681
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
682
+ if not isinstance(opts, pulumi.ResourceOptions):
683
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
684
+ if opts.id is None:
685
+ if __props__ is not None:
686
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
687
+ __props__ = RuntimeTemplateIamMemberArgs.__new__(RuntimeTemplateIamMemberArgs)
688
+
689
+ __props__.__dict__["condition"] = condition
690
+ __props__.__dict__["location"] = location
691
+ if member is None and not opts.urn:
692
+ raise TypeError("Missing required property 'member'")
693
+ __props__.__dict__["member"] = member
694
+ __props__.__dict__["project"] = project
695
+ if role is None and not opts.urn:
696
+ raise TypeError("Missing required property 'role'")
697
+ __props__.__dict__["role"] = role
698
+ if runtime_template is None and not opts.urn:
699
+ raise TypeError("Missing required property 'runtime_template'")
700
+ __props__.__dict__["runtime_template"] = runtime_template
701
+ __props__.__dict__["etag"] = None
702
+ super(RuntimeTemplateIamMember, __self__).__init__(
703
+ 'gcp:colab/runtimeTemplateIamMember:RuntimeTemplateIamMember',
704
+ resource_name,
705
+ __props__,
706
+ opts)
707
+
708
+ @staticmethod
709
+ def get(resource_name: str,
710
+ id: pulumi.Input[str],
711
+ opts: Optional[pulumi.ResourceOptions] = None,
712
+ condition: Optional[pulumi.Input[Union['RuntimeTemplateIamMemberConditionArgs', 'RuntimeTemplateIamMemberConditionArgsDict']]] = None,
713
+ etag: Optional[pulumi.Input[str]] = None,
714
+ location: Optional[pulumi.Input[str]] = None,
715
+ member: Optional[pulumi.Input[str]] = None,
716
+ project: Optional[pulumi.Input[str]] = None,
717
+ role: Optional[pulumi.Input[str]] = None,
718
+ runtime_template: Optional[pulumi.Input[str]] = None) -> 'RuntimeTemplateIamMember':
719
+ """
720
+ Get an existing RuntimeTemplateIamMember resource's state with the given name, id, and optional extra
721
+ properties used to qualify the lookup.
722
+
723
+ :param str resource_name: The unique name of the resulting resource.
724
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
725
+ :param pulumi.ResourceOptions opts: Options for the resource.
726
+ :param pulumi.Input[str] etag: (Computed) The etag of the IAM policy.
727
+ :param pulumi.Input[str] location: The location for the resource: https://cloud.google.com/colab/docs/locations Used to find the parent resource to bind the IAM policy to. If not specified,
728
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
729
+ location is specified, it is taken from the provider configuration.
730
+ :param pulumi.Input[str] member: Identities that will be granted the privilege in `role`.
731
+ Each entry can have one of the following values:
732
+ * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
733
+ * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
734
+ * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
735
+ * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
736
+ * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
737
+ * **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.
738
+ * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
739
+ * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
740
+ * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
741
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
742
+ 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.
743
+ :param pulumi.Input[str] role: The role that should be applied. Only one
744
+ `colab.RuntimeTemplateIamBinding` can be used per role. Note that custom roles must be of the format
745
+ `[projects|organizations]/{parent-name}/roles/{role-name}`.
746
+ :param pulumi.Input[str] runtime_template: Used to find the parent resource to bind the IAM policy to
747
+ """
748
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
749
+
750
+ __props__ = _RuntimeTemplateIamMemberState.__new__(_RuntimeTemplateIamMemberState)
751
+
752
+ __props__.__dict__["condition"] = condition
753
+ __props__.__dict__["etag"] = etag
754
+ __props__.__dict__["location"] = location
755
+ __props__.__dict__["member"] = member
756
+ __props__.__dict__["project"] = project
757
+ __props__.__dict__["role"] = role
758
+ __props__.__dict__["runtime_template"] = runtime_template
759
+ return RuntimeTemplateIamMember(resource_name, opts=opts, __props__=__props__)
760
+
761
+ @property
762
+ @pulumi.getter
763
+ def condition(self) -> pulumi.Output[Optional['outputs.RuntimeTemplateIamMemberCondition']]:
764
+ return pulumi.get(self, "condition")
765
+
766
+ @property
767
+ @pulumi.getter
768
+ def etag(self) -> pulumi.Output[str]:
769
+ """
770
+ (Computed) The etag of the IAM policy.
771
+ """
772
+ return pulumi.get(self, "etag")
773
+
774
+ @property
775
+ @pulumi.getter
776
+ def location(self) -> pulumi.Output[str]:
777
+ """
778
+ The location for the resource: https://cloud.google.com/colab/docs/locations Used to find the parent resource to bind the IAM policy to. If not specified,
779
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
780
+ location is specified, it is taken from the provider configuration.
781
+ """
782
+ return pulumi.get(self, "location")
783
+
784
+ @property
785
+ @pulumi.getter
786
+ def member(self) -> pulumi.Output[str]:
787
+ """
788
+ Identities that will be granted the privilege in `role`.
789
+ Each entry can have one of the following values:
790
+ * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
791
+ * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
792
+ * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
793
+ * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
794
+ * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
795
+ * **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.
796
+ * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
797
+ * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
798
+ * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
799
+ """
800
+ return pulumi.get(self, "member")
801
+
802
+ @property
803
+ @pulumi.getter
804
+ def project(self) -> pulumi.Output[str]:
805
+ """
806
+ The ID of the project in which the resource belongs.
807
+ 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.
808
+ """
809
+ return pulumi.get(self, "project")
810
+
811
+ @property
812
+ @pulumi.getter
813
+ def role(self) -> pulumi.Output[str]:
814
+ """
815
+ The role that should be applied. Only one
816
+ `colab.RuntimeTemplateIamBinding` can be used per role. Note that custom roles must be of the format
817
+ `[projects|organizations]/{parent-name}/roles/{role-name}`.
818
+ """
819
+ return pulumi.get(self, "role")
820
+
821
+ @property
822
+ @pulumi.getter(name="runtimeTemplate")
823
+ def runtime_template(self) -> pulumi.Output[str]:
824
+ """
825
+ Used to find the parent resource to bind the IAM policy to
826
+ """
827
+ return pulumi.get(self, "runtime_template")
828
+