pulumi-gcp 8.28.0a1745598508__py3-none-any.whl → 8.29.0a1746076904__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 (78) hide show
  1. pulumi_gcp/__init__.py +88 -0
  2. pulumi_gcp/accesscontextmanager/_inputs.py +399 -0
  3. pulumi_gcp/accesscontextmanager/gcp_user_access_binding.py +54 -0
  4. pulumi_gcp/accesscontextmanager/outputs.py +369 -0
  5. pulumi_gcp/alloydb/_inputs.py +47 -1
  6. pulumi_gcp/alloydb/outputs.py +61 -3
  7. pulumi_gcp/apigee/keystores_aliases_self_signed_cert.py +8 -2
  8. pulumi_gcp/applicationintegration/client.py +34 -12
  9. pulumi_gcp/artifactregistry/outputs.py +2 -2
  10. pulumi_gcp/certificateauthority/_inputs.py +32 -0
  11. pulumi_gcp/certificateauthority/ca_pool.py +2 -0
  12. pulumi_gcp/certificateauthority/outputs.py +22 -0
  13. pulumi_gcp/clouddeploy/_inputs.py +0 -6
  14. pulumi_gcp/clouddeploy/delivery_pipeline.py +84 -77
  15. pulumi_gcp/clouddeploy/outputs.py +0 -4
  16. pulumi_gcp/cloudrunv2/_inputs.py +3 -3
  17. pulumi_gcp/cloudrunv2/outputs.py +4 -4
  18. pulumi_gcp/colab/runtime_template.py +3 -3
  19. pulumi_gcp/compute/__init__.py +7 -0
  20. pulumi_gcp/compute/_inputs.py +809 -1
  21. pulumi_gcp/compute/backend_service.py +89 -0
  22. pulumi_gcp/compute/firewall_policy_with_rules.py +2 -2
  23. pulumi_gcp/compute/get_backend_service.py +12 -1
  24. pulumi_gcp/compute/get_storage_pool_iam_policy.py +183 -0
  25. pulumi_gcp/compute/get_storage_pool_types.py +268 -0
  26. pulumi_gcp/compute/outputs.py +743 -3
  27. pulumi_gcp/compute/resource_policy_attachment.py +476 -0
  28. pulumi_gcp/compute/storage_pool.py +1045 -0
  29. pulumi_gcp/compute/storage_pool_iam_binding.py +1088 -0
  30. pulumi_gcp/compute/storage_pool_iam_member.py +1088 -0
  31. pulumi_gcp/compute/storage_pool_iam_policy.py +907 -0
  32. pulumi_gcp/config/__init__.pyi +2 -0
  33. pulumi_gcp/config/vars.py +4 -0
  34. pulumi_gcp/container/_inputs.py +63 -3
  35. pulumi_gcp/container/outputs.py +70 -6
  36. pulumi_gcp/dataproc/get_metastore_service.py +12 -1
  37. pulumi_gcp/dataproc/metastore_service.py +61 -0
  38. pulumi_gcp/datastream/connection_profile.py +40 -0
  39. pulumi_gcp/discoveryengine/_inputs.py +38 -0
  40. pulumi_gcp/discoveryengine/chat_engine.py +6 -4
  41. pulumi_gcp/discoveryengine/outputs.py +26 -0
  42. pulumi_gcp/firebaserules/_inputs.py +6 -6
  43. pulumi_gcp/firebaserules/outputs.py +4 -4
  44. pulumi_gcp/gkebackup/__init__.py +2 -0
  45. pulumi_gcp/gkebackup/backup_channel.py +737 -0
  46. pulumi_gcp/gkebackup/restore_channel.py +737 -0
  47. pulumi_gcp/gkehub/_inputs.py +208 -0
  48. pulumi_gcp/gkehub/outputs.py +171 -1
  49. pulumi_gcp/healthcare/pipeline_job.py +2 -2
  50. pulumi_gcp/iap/__init__.py +4 -0
  51. pulumi_gcp/iap/_inputs.py +130 -0
  52. pulumi_gcp/iap/get_web_cloud_run_service_iam_policy.py +183 -0
  53. pulumi_gcp/iap/outputs.py +76 -0
  54. pulumi_gcp/iap/web_cloud_run_service_iam_binding.py +1089 -0
  55. pulumi_gcp/iap/web_cloud_run_service_iam_member.py +1089 -0
  56. pulumi_gcp/iap/web_cloud_run_service_iam_policy.py +908 -0
  57. pulumi_gcp/kms/key_ring_import_job.py +7 -7
  58. pulumi_gcp/managedkafka/connect_cluster.py +8 -4
  59. pulumi_gcp/managedkafka/connector.py +8 -4
  60. pulumi_gcp/monitoring/uptime_check_config.py +49 -0
  61. pulumi_gcp/networkconnectivity/internal_range.py +82 -0
  62. pulumi_gcp/projects/_inputs.py +0 -6
  63. pulumi_gcp/projects/api_key.py +28 -0
  64. pulumi_gcp/projects/outputs.py +0 -4
  65. pulumi_gcp/provider.py +20 -0
  66. pulumi_gcp/pulumi-plugin.json +1 -1
  67. pulumi_gcp/redis/get_instance.py +12 -1
  68. pulumi_gcp/redis/instance.py +61 -0
  69. pulumi_gcp/sql/_inputs.py +86 -6
  70. pulumi_gcp/sql/outputs.py +156 -12
  71. pulumi_gcp/storage/__init__.py +1 -0
  72. pulumi_gcp/storage/_inputs.py +457 -0
  73. pulumi_gcp/storage/batch_operations_job.py +776 -0
  74. pulumi_gcp/storage/outputs.py +403 -0
  75. {pulumi_gcp-8.28.0a1745598508.dist-info → pulumi_gcp-8.29.0a1746076904.dist-info}/METADATA +1 -1
  76. {pulumi_gcp-8.28.0a1745598508.dist-info → pulumi_gcp-8.29.0a1746076904.dist-info}/RECORD +78 -64
  77. {pulumi_gcp-8.28.0a1745598508.dist-info → pulumi_gcp-8.29.0a1746076904.dist-info}/WHEEL +1 -1
  78. {pulumi_gcp-8.28.0a1745598508.dist-info → pulumi_gcp-8.29.0a1746076904.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,1089 @@
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 builtins
6
+ import copy
7
+ import warnings
8
+ import sys
9
+ import pulumi
10
+ import pulumi.runtime
11
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
12
+ if sys.version_info >= (3, 11):
13
+ from typing import NotRequired, TypedDict, TypeAlias
14
+ else:
15
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
16
+ from .. import _utilities
17
+ from . import outputs
18
+ from ._inputs import *
19
+
20
+ __all__ = ['WebCloudRunServiceIamMemberArgs', 'WebCloudRunServiceIamMember']
21
+
22
+ @pulumi.input_type
23
+ class WebCloudRunServiceIamMemberArgs:
24
+ def __init__(__self__, *,
25
+ cloud_run_service_name: pulumi.Input[builtins.str],
26
+ member: pulumi.Input[builtins.str],
27
+ role: pulumi.Input[builtins.str],
28
+ condition: Optional[pulumi.Input['WebCloudRunServiceIamMemberConditionArgs']] = None,
29
+ location: Optional[pulumi.Input[builtins.str]] = None,
30
+ project: Optional[pulumi.Input[builtins.str]] = None):
31
+ """
32
+ The set of arguments for constructing a WebCloudRunServiceIamMember resource.
33
+ :param pulumi.Input[builtins.str] cloud_run_service_name: Used to find the parent resource to bind the IAM policy to
34
+ :param pulumi.Input[builtins.str] member: Identities that will be granted the privilege in `role`.
35
+ Each entry can have one of the following values:
36
+ * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
37
+ * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
38
+ * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
39
+ * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
40
+ * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
41
+ * **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.
42
+ * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
43
+ * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
44
+ * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
45
+ :param pulumi.Input[builtins.str] role: The role that should be applied. Only one
46
+ `iap.WebCloudRunServiceIamBinding` can be used per role. Note that custom roles must be of the format
47
+ `[projects|organizations]/{parent-name}/roles/{role-name}`.
48
+ :param pulumi.Input['WebCloudRunServiceIamMemberConditionArgs'] condition: An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding.
49
+ Structure is documented below.
50
+ :param pulumi.Input[builtins.str] location: The location of a cloud run service. Used to find the parent resource to bind the IAM policy to. If not specified,
51
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
52
+ location is specified, it is taken from the provider configuration.
53
+ :param pulumi.Input[builtins.str] project: The ID of the project in which the resource belongs.
54
+ 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.
55
+ """
56
+ pulumi.set(__self__, "cloud_run_service_name", cloud_run_service_name)
57
+ pulumi.set(__self__, "member", member)
58
+ pulumi.set(__self__, "role", role)
59
+ if condition is not None:
60
+ pulumi.set(__self__, "condition", condition)
61
+ if location is not None:
62
+ pulumi.set(__self__, "location", location)
63
+ if project is not None:
64
+ pulumi.set(__self__, "project", project)
65
+
66
+ @property
67
+ @pulumi.getter(name="cloudRunServiceName")
68
+ def cloud_run_service_name(self) -> pulumi.Input[builtins.str]:
69
+ """
70
+ Used to find the parent resource to bind the IAM policy to
71
+ """
72
+ return pulumi.get(self, "cloud_run_service_name")
73
+
74
+ @cloud_run_service_name.setter
75
+ def cloud_run_service_name(self, value: pulumi.Input[builtins.str]):
76
+ pulumi.set(self, "cloud_run_service_name", value)
77
+
78
+ @property
79
+ @pulumi.getter
80
+ def member(self) -> pulumi.Input[builtins.str]:
81
+ """
82
+ Identities that will be granted the privilege in `role`.
83
+ Each entry can have one of the following values:
84
+ * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
85
+ * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
86
+ * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
87
+ * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
88
+ * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
89
+ * **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.
90
+ * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
91
+ * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
92
+ * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
93
+ """
94
+ return pulumi.get(self, "member")
95
+
96
+ @member.setter
97
+ def member(self, value: pulumi.Input[builtins.str]):
98
+ pulumi.set(self, "member", value)
99
+
100
+ @property
101
+ @pulumi.getter
102
+ def role(self) -> pulumi.Input[builtins.str]:
103
+ """
104
+ The role that should be applied. Only one
105
+ `iap.WebCloudRunServiceIamBinding` can be used per role. Note that custom roles must be of the format
106
+ `[projects|organizations]/{parent-name}/roles/{role-name}`.
107
+ """
108
+ return pulumi.get(self, "role")
109
+
110
+ @role.setter
111
+ def role(self, value: pulumi.Input[builtins.str]):
112
+ pulumi.set(self, "role", value)
113
+
114
+ @property
115
+ @pulumi.getter
116
+ def condition(self) -> Optional[pulumi.Input['WebCloudRunServiceIamMemberConditionArgs']]:
117
+ """
118
+ An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding.
119
+ Structure is documented below.
120
+ """
121
+ return pulumi.get(self, "condition")
122
+
123
+ @condition.setter
124
+ def condition(self, value: Optional[pulumi.Input['WebCloudRunServiceIamMemberConditionArgs']]):
125
+ pulumi.set(self, "condition", value)
126
+
127
+ @property
128
+ @pulumi.getter
129
+ def location(self) -> Optional[pulumi.Input[builtins.str]]:
130
+ """
131
+ The location of a cloud run service. Used to find the parent resource to bind the IAM policy to. If not specified,
132
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
133
+ location is specified, it is taken from the provider configuration.
134
+ """
135
+ return pulumi.get(self, "location")
136
+
137
+ @location.setter
138
+ def location(self, value: Optional[pulumi.Input[builtins.str]]):
139
+ pulumi.set(self, "location", value)
140
+
141
+ @property
142
+ @pulumi.getter
143
+ def project(self) -> Optional[pulumi.Input[builtins.str]]:
144
+ """
145
+ The ID of the project in which the resource belongs.
146
+ 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.
147
+ """
148
+ return pulumi.get(self, "project")
149
+
150
+ @project.setter
151
+ def project(self, value: Optional[pulumi.Input[builtins.str]]):
152
+ pulumi.set(self, "project", value)
153
+
154
+
155
+ @pulumi.input_type
156
+ class _WebCloudRunServiceIamMemberState:
157
+ def __init__(__self__, *,
158
+ cloud_run_service_name: Optional[pulumi.Input[builtins.str]] = None,
159
+ condition: Optional[pulumi.Input['WebCloudRunServiceIamMemberConditionArgs']] = None,
160
+ etag: Optional[pulumi.Input[builtins.str]] = None,
161
+ location: Optional[pulumi.Input[builtins.str]] = None,
162
+ member: Optional[pulumi.Input[builtins.str]] = None,
163
+ project: Optional[pulumi.Input[builtins.str]] = None,
164
+ role: Optional[pulumi.Input[builtins.str]] = None):
165
+ """
166
+ Input properties used for looking up and filtering WebCloudRunServiceIamMember resources.
167
+ :param pulumi.Input[builtins.str] cloud_run_service_name: Used to find the parent resource to bind the IAM policy to
168
+ :param pulumi.Input['WebCloudRunServiceIamMemberConditionArgs'] condition: An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding.
169
+ Structure is documented below.
170
+ :param pulumi.Input[builtins.str] etag: (Computed) The etag of the IAM policy.
171
+ :param pulumi.Input[builtins.str] location: The location of a cloud run service. Used to find the parent resource to bind the IAM policy to. If not specified,
172
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
173
+ location is specified, it is taken from the provider configuration.
174
+ :param pulumi.Input[builtins.str] member: Identities that will be granted the privilege in `role`.
175
+ Each entry can have one of the following values:
176
+ * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
177
+ * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
178
+ * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
179
+ * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
180
+ * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
181
+ * **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.
182
+ * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
183
+ * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
184
+ * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
185
+ :param pulumi.Input[builtins.str] project: The ID of the project in which the resource belongs.
186
+ 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.
187
+ :param pulumi.Input[builtins.str] role: The role that should be applied. Only one
188
+ `iap.WebCloudRunServiceIamBinding` can be used per role. Note that custom roles must be of the format
189
+ `[projects|organizations]/{parent-name}/roles/{role-name}`.
190
+ """
191
+ if cloud_run_service_name is not None:
192
+ pulumi.set(__self__, "cloud_run_service_name", cloud_run_service_name)
193
+ if condition is not None:
194
+ pulumi.set(__self__, "condition", condition)
195
+ if etag is not None:
196
+ pulumi.set(__self__, "etag", etag)
197
+ if location is not None:
198
+ pulumi.set(__self__, "location", location)
199
+ if member is not None:
200
+ pulumi.set(__self__, "member", member)
201
+ if project is not None:
202
+ pulumi.set(__self__, "project", project)
203
+ if role is not None:
204
+ pulumi.set(__self__, "role", role)
205
+
206
+ @property
207
+ @pulumi.getter(name="cloudRunServiceName")
208
+ def cloud_run_service_name(self) -> Optional[pulumi.Input[builtins.str]]:
209
+ """
210
+ Used to find the parent resource to bind the IAM policy to
211
+ """
212
+ return pulumi.get(self, "cloud_run_service_name")
213
+
214
+ @cloud_run_service_name.setter
215
+ def cloud_run_service_name(self, value: Optional[pulumi.Input[builtins.str]]):
216
+ pulumi.set(self, "cloud_run_service_name", value)
217
+
218
+ @property
219
+ @pulumi.getter
220
+ def condition(self) -> Optional[pulumi.Input['WebCloudRunServiceIamMemberConditionArgs']]:
221
+ """
222
+ An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding.
223
+ Structure is documented below.
224
+ """
225
+ return pulumi.get(self, "condition")
226
+
227
+ @condition.setter
228
+ def condition(self, value: Optional[pulumi.Input['WebCloudRunServiceIamMemberConditionArgs']]):
229
+ pulumi.set(self, "condition", value)
230
+
231
+ @property
232
+ @pulumi.getter
233
+ def etag(self) -> Optional[pulumi.Input[builtins.str]]:
234
+ """
235
+ (Computed) The etag of the IAM policy.
236
+ """
237
+ return pulumi.get(self, "etag")
238
+
239
+ @etag.setter
240
+ def etag(self, value: Optional[pulumi.Input[builtins.str]]):
241
+ pulumi.set(self, "etag", value)
242
+
243
+ @property
244
+ @pulumi.getter
245
+ def location(self) -> Optional[pulumi.Input[builtins.str]]:
246
+ """
247
+ The location of a cloud run service. Used to find the parent resource to bind the IAM policy to. If not specified,
248
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
249
+ location is specified, it is taken from the provider configuration.
250
+ """
251
+ return pulumi.get(self, "location")
252
+
253
+ @location.setter
254
+ def location(self, value: Optional[pulumi.Input[builtins.str]]):
255
+ pulumi.set(self, "location", value)
256
+
257
+ @property
258
+ @pulumi.getter
259
+ def member(self) -> Optional[pulumi.Input[builtins.str]]:
260
+ """
261
+ Identities that will be granted the privilege in `role`.
262
+ Each entry can have one of the following values:
263
+ * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
264
+ * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
265
+ * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
266
+ * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
267
+ * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
268
+ * **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.
269
+ * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
270
+ * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
271
+ * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
272
+ """
273
+ return pulumi.get(self, "member")
274
+
275
+ @member.setter
276
+ def member(self, value: Optional[pulumi.Input[builtins.str]]):
277
+ pulumi.set(self, "member", value)
278
+
279
+ @property
280
+ @pulumi.getter
281
+ def project(self) -> Optional[pulumi.Input[builtins.str]]:
282
+ """
283
+ The ID of the project in which the resource belongs.
284
+ 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.
285
+ """
286
+ return pulumi.get(self, "project")
287
+
288
+ @project.setter
289
+ def project(self, value: Optional[pulumi.Input[builtins.str]]):
290
+ pulumi.set(self, "project", value)
291
+
292
+ @property
293
+ @pulumi.getter
294
+ def role(self) -> Optional[pulumi.Input[builtins.str]]:
295
+ """
296
+ The role that should be applied. Only one
297
+ `iap.WebCloudRunServiceIamBinding` can be used per role. Note that custom roles must be of the format
298
+ `[projects|organizations]/{parent-name}/roles/{role-name}`.
299
+ """
300
+ return pulumi.get(self, "role")
301
+
302
+ @role.setter
303
+ def role(self, value: Optional[pulumi.Input[builtins.str]]):
304
+ pulumi.set(self, "role", value)
305
+
306
+
307
+ class WebCloudRunServiceIamMember(pulumi.CustomResource):
308
+ @overload
309
+ def __init__(__self__,
310
+ resource_name: str,
311
+ opts: Optional[pulumi.ResourceOptions] = None,
312
+ cloud_run_service_name: Optional[pulumi.Input[builtins.str]] = None,
313
+ condition: Optional[pulumi.Input[Union['WebCloudRunServiceIamMemberConditionArgs', 'WebCloudRunServiceIamMemberConditionArgsDict']]] = None,
314
+ location: Optional[pulumi.Input[builtins.str]] = None,
315
+ member: Optional[pulumi.Input[builtins.str]] = None,
316
+ project: Optional[pulumi.Input[builtins.str]] = None,
317
+ role: Optional[pulumi.Input[builtins.str]] = None,
318
+ __props__=None):
319
+ """
320
+ Three different resources help you manage your IAM policy for Identity-Aware Proxy WebCloudRunService. Each of these resources serves a different use case:
321
+
322
+ * `iap.WebCloudRunServiceIamPolicy`: Authoritative. Sets the IAM policy for the webcloudrunservice and replaces any existing policy already attached.
323
+ * `iap.WebCloudRunServiceIamBinding`: 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 webcloudrunservice are preserved.
324
+ * `iap.WebCloudRunServiceIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the webcloudrunservice are preserved.
325
+
326
+ A data source can be used to retrieve policy data in advent you do not need creation
327
+
328
+ * `iap.WebCloudRunServiceIamPolicy`: Retrieves the IAM policy for the webcloudrunservice
329
+
330
+ > **Note:** `iap.WebCloudRunServiceIamPolicy` **cannot** be used in conjunction with `iap.WebCloudRunServiceIamBinding` and `iap.WebCloudRunServiceIamMember` or they will fight over what your policy should be.
331
+
332
+ > **Note:** `iap.WebCloudRunServiceIamBinding` resources **can be** used in conjunction with `iap.WebCloudRunServiceIamMember` resources **only if** they do not grant privilege to the same role.
333
+
334
+ > **Note:** This resource supports IAM Conditions but they have some known limitations which can be found [here](https://cloud.google.com/iam/docs/conditions-overview#limitations). Please review this article if you are having issues with IAM Conditions.
335
+
336
+ ## iap.WebCloudRunServiceIamPolicy
337
+
338
+ ```python
339
+ import pulumi
340
+ import pulumi_gcp as gcp
341
+
342
+ admin = gcp.organizations.get_iam_policy(bindings=[{
343
+ "role": "roles/iap.httpsResourceAccessor",
344
+ "members": ["user:jane@example.com"],
345
+ }])
346
+ policy = gcp.iap.WebCloudRunServiceIamPolicy("policy",
347
+ project=default["project"],
348
+ location=default["location"],
349
+ cloud_run_service_name=default["name"],
350
+ policy_data=admin.policy_data)
351
+ ```
352
+
353
+ With IAM Conditions:
354
+
355
+ ```python
356
+ import pulumi
357
+ import pulumi_gcp as gcp
358
+
359
+ admin = gcp.organizations.get_iam_policy(bindings=[{
360
+ "role": "roles/iap.httpsResourceAccessor",
361
+ "members": ["user:jane@example.com"],
362
+ "condition": {
363
+ "title": "expires_after_2019_12_31",
364
+ "description": "Expiring at midnight of 2019-12-31",
365
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
366
+ },
367
+ }])
368
+ policy = gcp.iap.WebCloudRunServiceIamPolicy("policy",
369
+ project=default["project"],
370
+ location=default["location"],
371
+ cloud_run_service_name=default["name"],
372
+ policy_data=admin.policy_data)
373
+ ```
374
+ ## iap.WebCloudRunServiceIamBinding
375
+
376
+ ```python
377
+ import pulumi
378
+ import pulumi_gcp as gcp
379
+
380
+ binding = gcp.iap.WebCloudRunServiceIamBinding("binding",
381
+ project=default["project"],
382
+ location=default["location"],
383
+ cloud_run_service_name=default["name"],
384
+ role="roles/iap.httpsResourceAccessor",
385
+ members=["user:jane@example.com"])
386
+ ```
387
+
388
+ With IAM Conditions:
389
+
390
+ ```python
391
+ import pulumi
392
+ import pulumi_gcp as gcp
393
+
394
+ binding = gcp.iap.WebCloudRunServiceIamBinding("binding",
395
+ project=default["project"],
396
+ location=default["location"],
397
+ cloud_run_service_name=default["name"],
398
+ role="roles/iap.httpsResourceAccessor",
399
+ members=["user:jane@example.com"],
400
+ condition={
401
+ "title": "expires_after_2019_12_31",
402
+ "description": "Expiring at midnight of 2019-12-31",
403
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
404
+ })
405
+ ```
406
+ ## iap.WebCloudRunServiceIamMember
407
+
408
+ ```python
409
+ import pulumi
410
+ import pulumi_gcp as gcp
411
+
412
+ member = gcp.iap.WebCloudRunServiceIamMember("member",
413
+ project=default["project"],
414
+ location=default["location"],
415
+ cloud_run_service_name=default["name"],
416
+ role="roles/iap.httpsResourceAccessor",
417
+ member="user:jane@example.com")
418
+ ```
419
+
420
+ With IAM Conditions:
421
+
422
+ ```python
423
+ import pulumi
424
+ import pulumi_gcp as gcp
425
+
426
+ member = gcp.iap.WebCloudRunServiceIamMember("member",
427
+ project=default["project"],
428
+ location=default["location"],
429
+ cloud_run_service_name=default["name"],
430
+ role="roles/iap.httpsResourceAccessor",
431
+ member="user:jane@example.com",
432
+ condition={
433
+ "title": "expires_after_2019_12_31",
434
+ "description": "Expiring at midnight of 2019-12-31",
435
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
436
+ })
437
+ ```
438
+
439
+ ## This resource supports User Project Overrides.
440
+
441
+ -
442
+
443
+ # IAM policy for Identity-Aware Proxy WebCloudRunService
444
+ Three different resources help you manage your IAM policy for Identity-Aware Proxy WebCloudRunService. Each of these resources serves a different use case:
445
+
446
+ * `iap.WebCloudRunServiceIamPolicy`: Authoritative. Sets the IAM policy for the webcloudrunservice and replaces any existing policy already attached.
447
+ * `iap.WebCloudRunServiceIamBinding`: 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 webcloudrunservice are preserved.
448
+ * `iap.WebCloudRunServiceIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the webcloudrunservice are preserved.
449
+
450
+ A data source can be used to retrieve policy data in advent you do not need creation
451
+
452
+ * `iap.WebCloudRunServiceIamPolicy`: Retrieves the IAM policy for the webcloudrunservice
453
+
454
+ > **Note:** `iap.WebCloudRunServiceIamPolicy` **cannot** be used in conjunction with `iap.WebCloudRunServiceIamBinding` and `iap.WebCloudRunServiceIamMember` or they will fight over what your policy should be.
455
+
456
+ > **Note:** `iap.WebCloudRunServiceIamBinding` resources **can be** used in conjunction with `iap.WebCloudRunServiceIamMember` resources **only if** they do not grant privilege to the same role.
457
+
458
+ > **Note:** This resource supports IAM Conditions but they have some known limitations which can be found [here](https://cloud.google.com/iam/docs/conditions-overview#limitations). Please review this article if you are having issues with IAM Conditions.
459
+
460
+ ## iap.WebCloudRunServiceIamPolicy
461
+
462
+ ```python
463
+ import pulumi
464
+ import pulumi_gcp as gcp
465
+
466
+ admin = gcp.organizations.get_iam_policy(bindings=[{
467
+ "role": "roles/iap.httpsResourceAccessor",
468
+ "members": ["user:jane@example.com"],
469
+ }])
470
+ policy = gcp.iap.WebCloudRunServiceIamPolicy("policy",
471
+ project=default["project"],
472
+ location=default["location"],
473
+ cloud_run_service_name=default["name"],
474
+ policy_data=admin.policy_data)
475
+ ```
476
+
477
+ With IAM Conditions:
478
+
479
+ ```python
480
+ import pulumi
481
+ import pulumi_gcp as gcp
482
+
483
+ admin = gcp.organizations.get_iam_policy(bindings=[{
484
+ "role": "roles/iap.httpsResourceAccessor",
485
+ "members": ["user:jane@example.com"],
486
+ "condition": {
487
+ "title": "expires_after_2019_12_31",
488
+ "description": "Expiring at midnight of 2019-12-31",
489
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
490
+ },
491
+ }])
492
+ policy = gcp.iap.WebCloudRunServiceIamPolicy("policy",
493
+ project=default["project"],
494
+ location=default["location"],
495
+ cloud_run_service_name=default["name"],
496
+ policy_data=admin.policy_data)
497
+ ```
498
+ ## iap.WebCloudRunServiceIamBinding
499
+
500
+ ```python
501
+ import pulumi
502
+ import pulumi_gcp as gcp
503
+
504
+ binding = gcp.iap.WebCloudRunServiceIamBinding("binding",
505
+ project=default["project"],
506
+ location=default["location"],
507
+ cloud_run_service_name=default["name"],
508
+ role="roles/iap.httpsResourceAccessor",
509
+ members=["user:jane@example.com"])
510
+ ```
511
+
512
+ With IAM Conditions:
513
+
514
+ ```python
515
+ import pulumi
516
+ import pulumi_gcp as gcp
517
+
518
+ binding = gcp.iap.WebCloudRunServiceIamBinding("binding",
519
+ project=default["project"],
520
+ location=default["location"],
521
+ cloud_run_service_name=default["name"],
522
+ role="roles/iap.httpsResourceAccessor",
523
+ members=["user:jane@example.com"],
524
+ condition={
525
+ "title": "expires_after_2019_12_31",
526
+ "description": "Expiring at midnight of 2019-12-31",
527
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
528
+ })
529
+ ```
530
+ ## iap.WebCloudRunServiceIamMember
531
+
532
+ ```python
533
+ import pulumi
534
+ import pulumi_gcp as gcp
535
+
536
+ member = gcp.iap.WebCloudRunServiceIamMember("member",
537
+ project=default["project"],
538
+ location=default["location"],
539
+ cloud_run_service_name=default["name"],
540
+ role="roles/iap.httpsResourceAccessor",
541
+ member="user:jane@example.com")
542
+ ```
543
+
544
+ With IAM Conditions:
545
+
546
+ ```python
547
+ import pulumi
548
+ import pulumi_gcp as gcp
549
+
550
+ member = gcp.iap.WebCloudRunServiceIamMember("member",
551
+ project=default["project"],
552
+ location=default["location"],
553
+ cloud_run_service_name=default["name"],
554
+ role="roles/iap.httpsResourceAccessor",
555
+ member="user:jane@example.com",
556
+ condition={
557
+ "title": "expires_after_2019_12_31",
558
+ "description": "Expiring at midnight of 2019-12-31",
559
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
560
+ })
561
+ ```
562
+
563
+ ## Import
564
+
565
+ For all import syntaxes, the "resource in question" can take any of the following forms:
566
+
567
+ * projects/{{project}}/iap_web/cloud_run-{{location}}/services/{{name}}
568
+
569
+ * {{project}}/{{location}}/{{name}}
570
+
571
+ * {{location}}/{{name}}
572
+
573
+ * {{name}}
574
+
575
+ Any variables not passed in the import command will be taken from the provider configuration.
576
+
577
+ Identity-Aware Proxy webcloudrunservice IAM resources can be imported using the resource identifiers, role, and member.
578
+
579
+ IAM member imports use space-delimited identifiers: the resource in question, the role, and the member identity, e.g.
580
+
581
+ ```sh
582
+ $ pulumi import gcp:iap/webCloudRunServiceIamMember:WebCloudRunServiceIamMember editor "projects/{{project}}/iap_web/cloud_run-{{location}}/services/{{web_cloud_run_service}} roles/iap.httpsResourceAccessor user:jane@example.com"
583
+ ```
584
+
585
+ IAM binding imports use space-delimited identifiers: the resource in question and the role, e.g.
586
+
587
+ ```sh
588
+ $ pulumi import gcp:iap/webCloudRunServiceIamMember:WebCloudRunServiceIamMember editor "projects/{{project}}/iap_web/cloud_run-{{location}}/services/{{web_cloud_run_service}} roles/iap.httpsResourceAccessor"
589
+ ```
590
+
591
+ IAM policy imports use the identifier of the resource in question, e.g.
592
+
593
+ ```sh
594
+ $ pulumi import gcp:iap/webCloudRunServiceIamMember:WebCloudRunServiceIamMember editor projects/{{project}}/iap_web/cloud_run-{{location}}/services/{{web_cloud_run_service}}
595
+ ```
596
+
597
+ -> **Custom Roles** If you're importing a IAM resource with a custom role, make sure to use the
598
+
599
+ full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
600
+
601
+ :param str resource_name: The name of the resource.
602
+ :param pulumi.ResourceOptions opts: Options for the resource.
603
+ :param pulumi.Input[builtins.str] cloud_run_service_name: Used to find the parent resource to bind the IAM policy to
604
+ :param pulumi.Input[Union['WebCloudRunServiceIamMemberConditionArgs', 'WebCloudRunServiceIamMemberConditionArgsDict']] condition: An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding.
605
+ Structure is documented below.
606
+ :param pulumi.Input[builtins.str] location: The location of a cloud run service. Used to find the parent resource to bind the IAM policy to. If not specified,
607
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
608
+ location is specified, it is taken from the provider configuration.
609
+ :param pulumi.Input[builtins.str] member: Identities that will be granted the privilege in `role`.
610
+ Each entry can have one of the following values:
611
+ * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
612
+ * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
613
+ * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
614
+ * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
615
+ * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
616
+ * **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.
617
+ * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
618
+ * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
619
+ * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
620
+ :param pulumi.Input[builtins.str] project: The ID of the project in which the resource belongs.
621
+ 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.
622
+ :param pulumi.Input[builtins.str] role: The role that should be applied. Only one
623
+ `iap.WebCloudRunServiceIamBinding` can be used per role. Note that custom roles must be of the format
624
+ `[projects|organizations]/{parent-name}/roles/{role-name}`.
625
+ """
626
+ ...
627
+ @overload
628
+ def __init__(__self__,
629
+ resource_name: str,
630
+ args: WebCloudRunServiceIamMemberArgs,
631
+ opts: Optional[pulumi.ResourceOptions] = None):
632
+ """
633
+ Three different resources help you manage your IAM policy for Identity-Aware Proxy WebCloudRunService. Each of these resources serves a different use case:
634
+
635
+ * `iap.WebCloudRunServiceIamPolicy`: Authoritative. Sets the IAM policy for the webcloudrunservice and replaces any existing policy already attached.
636
+ * `iap.WebCloudRunServiceIamBinding`: 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 webcloudrunservice are preserved.
637
+ * `iap.WebCloudRunServiceIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the webcloudrunservice are preserved.
638
+
639
+ A data source can be used to retrieve policy data in advent you do not need creation
640
+
641
+ * `iap.WebCloudRunServiceIamPolicy`: Retrieves the IAM policy for the webcloudrunservice
642
+
643
+ > **Note:** `iap.WebCloudRunServiceIamPolicy` **cannot** be used in conjunction with `iap.WebCloudRunServiceIamBinding` and `iap.WebCloudRunServiceIamMember` or they will fight over what your policy should be.
644
+
645
+ > **Note:** `iap.WebCloudRunServiceIamBinding` resources **can be** used in conjunction with `iap.WebCloudRunServiceIamMember` resources **only if** they do not grant privilege to the same role.
646
+
647
+ > **Note:** This resource supports IAM Conditions but they have some known limitations which can be found [here](https://cloud.google.com/iam/docs/conditions-overview#limitations). Please review this article if you are having issues with IAM Conditions.
648
+
649
+ ## iap.WebCloudRunServiceIamPolicy
650
+
651
+ ```python
652
+ import pulumi
653
+ import pulumi_gcp as gcp
654
+
655
+ admin = gcp.organizations.get_iam_policy(bindings=[{
656
+ "role": "roles/iap.httpsResourceAccessor",
657
+ "members": ["user:jane@example.com"],
658
+ }])
659
+ policy = gcp.iap.WebCloudRunServiceIamPolicy("policy",
660
+ project=default["project"],
661
+ location=default["location"],
662
+ cloud_run_service_name=default["name"],
663
+ policy_data=admin.policy_data)
664
+ ```
665
+
666
+ With IAM Conditions:
667
+
668
+ ```python
669
+ import pulumi
670
+ import pulumi_gcp as gcp
671
+
672
+ admin = gcp.organizations.get_iam_policy(bindings=[{
673
+ "role": "roles/iap.httpsResourceAccessor",
674
+ "members": ["user:jane@example.com"],
675
+ "condition": {
676
+ "title": "expires_after_2019_12_31",
677
+ "description": "Expiring at midnight of 2019-12-31",
678
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
679
+ },
680
+ }])
681
+ policy = gcp.iap.WebCloudRunServiceIamPolicy("policy",
682
+ project=default["project"],
683
+ location=default["location"],
684
+ cloud_run_service_name=default["name"],
685
+ policy_data=admin.policy_data)
686
+ ```
687
+ ## iap.WebCloudRunServiceIamBinding
688
+
689
+ ```python
690
+ import pulumi
691
+ import pulumi_gcp as gcp
692
+
693
+ binding = gcp.iap.WebCloudRunServiceIamBinding("binding",
694
+ project=default["project"],
695
+ location=default["location"],
696
+ cloud_run_service_name=default["name"],
697
+ role="roles/iap.httpsResourceAccessor",
698
+ members=["user:jane@example.com"])
699
+ ```
700
+
701
+ With IAM Conditions:
702
+
703
+ ```python
704
+ import pulumi
705
+ import pulumi_gcp as gcp
706
+
707
+ binding = gcp.iap.WebCloudRunServiceIamBinding("binding",
708
+ project=default["project"],
709
+ location=default["location"],
710
+ cloud_run_service_name=default["name"],
711
+ role="roles/iap.httpsResourceAccessor",
712
+ members=["user:jane@example.com"],
713
+ condition={
714
+ "title": "expires_after_2019_12_31",
715
+ "description": "Expiring at midnight of 2019-12-31",
716
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
717
+ })
718
+ ```
719
+ ## iap.WebCloudRunServiceIamMember
720
+
721
+ ```python
722
+ import pulumi
723
+ import pulumi_gcp as gcp
724
+
725
+ member = gcp.iap.WebCloudRunServiceIamMember("member",
726
+ project=default["project"],
727
+ location=default["location"],
728
+ cloud_run_service_name=default["name"],
729
+ role="roles/iap.httpsResourceAccessor",
730
+ member="user:jane@example.com")
731
+ ```
732
+
733
+ With IAM Conditions:
734
+
735
+ ```python
736
+ import pulumi
737
+ import pulumi_gcp as gcp
738
+
739
+ member = gcp.iap.WebCloudRunServiceIamMember("member",
740
+ project=default["project"],
741
+ location=default["location"],
742
+ cloud_run_service_name=default["name"],
743
+ role="roles/iap.httpsResourceAccessor",
744
+ member="user:jane@example.com",
745
+ condition={
746
+ "title": "expires_after_2019_12_31",
747
+ "description": "Expiring at midnight of 2019-12-31",
748
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
749
+ })
750
+ ```
751
+
752
+ ## This resource supports User Project Overrides.
753
+
754
+ -
755
+
756
+ # IAM policy for Identity-Aware Proxy WebCloudRunService
757
+ Three different resources help you manage your IAM policy for Identity-Aware Proxy WebCloudRunService. Each of these resources serves a different use case:
758
+
759
+ * `iap.WebCloudRunServiceIamPolicy`: Authoritative. Sets the IAM policy for the webcloudrunservice and replaces any existing policy already attached.
760
+ * `iap.WebCloudRunServiceIamBinding`: 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 webcloudrunservice are preserved.
761
+ * `iap.WebCloudRunServiceIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the webcloudrunservice are preserved.
762
+
763
+ A data source can be used to retrieve policy data in advent you do not need creation
764
+
765
+ * `iap.WebCloudRunServiceIamPolicy`: Retrieves the IAM policy for the webcloudrunservice
766
+
767
+ > **Note:** `iap.WebCloudRunServiceIamPolicy` **cannot** be used in conjunction with `iap.WebCloudRunServiceIamBinding` and `iap.WebCloudRunServiceIamMember` or they will fight over what your policy should be.
768
+
769
+ > **Note:** `iap.WebCloudRunServiceIamBinding` resources **can be** used in conjunction with `iap.WebCloudRunServiceIamMember` resources **only if** they do not grant privilege to the same role.
770
+
771
+ > **Note:** This resource supports IAM Conditions but they have some known limitations which can be found [here](https://cloud.google.com/iam/docs/conditions-overview#limitations). Please review this article if you are having issues with IAM Conditions.
772
+
773
+ ## iap.WebCloudRunServiceIamPolicy
774
+
775
+ ```python
776
+ import pulumi
777
+ import pulumi_gcp as gcp
778
+
779
+ admin = gcp.organizations.get_iam_policy(bindings=[{
780
+ "role": "roles/iap.httpsResourceAccessor",
781
+ "members": ["user:jane@example.com"],
782
+ }])
783
+ policy = gcp.iap.WebCloudRunServiceIamPolicy("policy",
784
+ project=default["project"],
785
+ location=default["location"],
786
+ cloud_run_service_name=default["name"],
787
+ policy_data=admin.policy_data)
788
+ ```
789
+
790
+ With IAM Conditions:
791
+
792
+ ```python
793
+ import pulumi
794
+ import pulumi_gcp as gcp
795
+
796
+ admin = gcp.organizations.get_iam_policy(bindings=[{
797
+ "role": "roles/iap.httpsResourceAccessor",
798
+ "members": ["user:jane@example.com"],
799
+ "condition": {
800
+ "title": "expires_after_2019_12_31",
801
+ "description": "Expiring at midnight of 2019-12-31",
802
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
803
+ },
804
+ }])
805
+ policy = gcp.iap.WebCloudRunServiceIamPolicy("policy",
806
+ project=default["project"],
807
+ location=default["location"],
808
+ cloud_run_service_name=default["name"],
809
+ policy_data=admin.policy_data)
810
+ ```
811
+ ## iap.WebCloudRunServiceIamBinding
812
+
813
+ ```python
814
+ import pulumi
815
+ import pulumi_gcp as gcp
816
+
817
+ binding = gcp.iap.WebCloudRunServiceIamBinding("binding",
818
+ project=default["project"],
819
+ location=default["location"],
820
+ cloud_run_service_name=default["name"],
821
+ role="roles/iap.httpsResourceAccessor",
822
+ members=["user:jane@example.com"])
823
+ ```
824
+
825
+ With IAM Conditions:
826
+
827
+ ```python
828
+ import pulumi
829
+ import pulumi_gcp as gcp
830
+
831
+ binding = gcp.iap.WebCloudRunServiceIamBinding("binding",
832
+ project=default["project"],
833
+ location=default["location"],
834
+ cloud_run_service_name=default["name"],
835
+ role="roles/iap.httpsResourceAccessor",
836
+ members=["user:jane@example.com"],
837
+ condition={
838
+ "title": "expires_after_2019_12_31",
839
+ "description": "Expiring at midnight of 2019-12-31",
840
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
841
+ })
842
+ ```
843
+ ## iap.WebCloudRunServiceIamMember
844
+
845
+ ```python
846
+ import pulumi
847
+ import pulumi_gcp as gcp
848
+
849
+ member = gcp.iap.WebCloudRunServiceIamMember("member",
850
+ project=default["project"],
851
+ location=default["location"],
852
+ cloud_run_service_name=default["name"],
853
+ role="roles/iap.httpsResourceAccessor",
854
+ member="user:jane@example.com")
855
+ ```
856
+
857
+ With IAM Conditions:
858
+
859
+ ```python
860
+ import pulumi
861
+ import pulumi_gcp as gcp
862
+
863
+ member = gcp.iap.WebCloudRunServiceIamMember("member",
864
+ project=default["project"],
865
+ location=default["location"],
866
+ cloud_run_service_name=default["name"],
867
+ role="roles/iap.httpsResourceAccessor",
868
+ member="user:jane@example.com",
869
+ condition={
870
+ "title": "expires_after_2019_12_31",
871
+ "description": "Expiring at midnight of 2019-12-31",
872
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
873
+ })
874
+ ```
875
+
876
+ ## Import
877
+
878
+ For all import syntaxes, the "resource in question" can take any of the following forms:
879
+
880
+ * projects/{{project}}/iap_web/cloud_run-{{location}}/services/{{name}}
881
+
882
+ * {{project}}/{{location}}/{{name}}
883
+
884
+ * {{location}}/{{name}}
885
+
886
+ * {{name}}
887
+
888
+ Any variables not passed in the import command will be taken from the provider configuration.
889
+
890
+ Identity-Aware Proxy webcloudrunservice IAM resources can be imported using the resource identifiers, role, and member.
891
+
892
+ IAM member imports use space-delimited identifiers: the resource in question, the role, and the member identity, e.g.
893
+
894
+ ```sh
895
+ $ pulumi import gcp:iap/webCloudRunServiceIamMember:WebCloudRunServiceIamMember editor "projects/{{project}}/iap_web/cloud_run-{{location}}/services/{{web_cloud_run_service}} roles/iap.httpsResourceAccessor user:jane@example.com"
896
+ ```
897
+
898
+ IAM binding imports use space-delimited identifiers: the resource in question and the role, e.g.
899
+
900
+ ```sh
901
+ $ pulumi import gcp:iap/webCloudRunServiceIamMember:WebCloudRunServiceIamMember editor "projects/{{project}}/iap_web/cloud_run-{{location}}/services/{{web_cloud_run_service}} roles/iap.httpsResourceAccessor"
902
+ ```
903
+
904
+ IAM policy imports use the identifier of the resource in question, e.g.
905
+
906
+ ```sh
907
+ $ pulumi import gcp:iap/webCloudRunServiceIamMember:WebCloudRunServiceIamMember editor projects/{{project}}/iap_web/cloud_run-{{location}}/services/{{web_cloud_run_service}}
908
+ ```
909
+
910
+ -> **Custom Roles** If you're importing a IAM resource with a custom role, make sure to use the
911
+
912
+ full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
913
+
914
+ :param str resource_name: The name of the resource.
915
+ :param WebCloudRunServiceIamMemberArgs args: The arguments to use to populate this resource's properties.
916
+ :param pulumi.ResourceOptions opts: Options for the resource.
917
+ """
918
+ ...
919
+ def __init__(__self__, resource_name: str, *args, **kwargs):
920
+ resource_args, opts = _utilities.get_resource_args_opts(WebCloudRunServiceIamMemberArgs, pulumi.ResourceOptions, *args, **kwargs)
921
+ if resource_args is not None:
922
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
923
+ else:
924
+ __self__._internal_init(resource_name, *args, **kwargs)
925
+
926
+ def _internal_init(__self__,
927
+ resource_name: str,
928
+ opts: Optional[pulumi.ResourceOptions] = None,
929
+ cloud_run_service_name: Optional[pulumi.Input[builtins.str]] = None,
930
+ condition: Optional[pulumi.Input[Union['WebCloudRunServiceIamMemberConditionArgs', 'WebCloudRunServiceIamMemberConditionArgsDict']]] = None,
931
+ location: Optional[pulumi.Input[builtins.str]] = None,
932
+ member: Optional[pulumi.Input[builtins.str]] = None,
933
+ project: Optional[pulumi.Input[builtins.str]] = None,
934
+ role: Optional[pulumi.Input[builtins.str]] = None,
935
+ __props__=None):
936
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
937
+ if not isinstance(opts, pulumi.ResourceOptions):
938
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
939
+ if opts.id is None:
940
+ if __props__ is not None:
941
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
942
+ __props__ = WebCloudRunServiceIamMemberArgs.__new__(WebCloudRunServiceIamMemberArgs)
943
+
944
+ if cloud_run_service_name is None and not opts.urn:
945
+ raise TypeError("Missing required property 'cloud_run_service_name'")
946
+ __props__.__dict__["cloud_run_service_name"] = cloud_run_service_name
947
+ __props__.__dict__["condition"] = condition
948
+ __props__.__dict__["location"] = location
949
+ if member is None and not opts.urn:
950
+ raise TypeError("Missing required property 'member'")
951
+ __props__.__dict__["member"] = member
952
+ __props__.__dict__["project"] = project
953
+ if role is None and not opts.urn:
954
+ raise TypeError("Missing required property 'role'")
955
+ __props__.__dict__["role"] = role
956
+ __props__.__dict__["etag"] = None
957
+ super(WebCloudRunServiceIamMember, __self__).__init__(
958
+ 'gcp:iap/webCloudRunServiceIamMember:WebCloudRunServiceIamMember',
959
+ resource_name,
960
+ __props__,
961
+ opts)
962
+
963
+ @staticmethod
964
+ def get(resource_name: str,
965
+ id: pulumi.Input[str],
966
+ opts: Optional[pulumi.ResourceOptions] = None,
967
+ cloud_run_service_name: Optional[pulumi.Input[builtins.str]] = None,
968
+ condition: Optional[pulumi.Input[Union['WebCloudRunServiceIamMemberConditionArgs', 'WebCloudRunServiceIamMemberConditionArgsDict']]] = None,
969
+ etag: Optional[pulumi.Input[builtins.str]] = None,
970
+ location: Optional[pulumi.Input[builtins.str]] = None,
971
+ member: Optional[pulumi.Input[builtins.str]] = None,
972
+ project: Optional[pulumi.Input[builtins.str]] = None,
973
+ role: Optional[pulumi.Input[builtins.str]] = None) -> 'WebCloudRunServiceIamMember':
974
+ """
975
+ Get an existing WebCloudRunServiceIamMember resource's state with the given name, id, and optional extra
976
+ properties used to qualify the lookup.
977
+
978
+ :param str resource_name: The unique name of the resulting resource.
979
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
980
+ :param pulumi.ResourceOptions opts: Options for the resource.
981
+ :param pulumi.Input[builtins.str] cloud_run_service_name: Used to find the parent resource to bind the IAM policy to
982
+ :param pulumi.Input[Union['WebCloudRunServiceIamMemberConditionArgs', 'WebCloudRunServiceIamMemberConditionArgsDict']] condition: An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding.
983
+ Structure is documented below.
984
+ :param pulumi.Input[builtins.str] etag: (Computed) The etag of the IAM policy.
985
+ :param pulumi.Input[builtins.str] location: The location of a cloud run service. Used to find the parent resource to bind the IAM policy to. If not specified,
986
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
987
+ location is specified, it is taken from the provider configuration.
988
+ :param pulumi.Input[builtins.str] member: Identities that will be granted the privilege in `role`.
989
+ Each entry can have one of the following values:
990
+ * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
991
+ * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
992
+ * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
993
+ * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
994
+ * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
995
+ * **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.
996
+ * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
997
+ * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
998
+ * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
999
+ :param pulumi.Input[builtins.str] project: The ID of the project in which the resource belongs.
1000
+ 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.
1001
+ :param pulumi.Input[builtins.str] role: The role that should be applied. Only one
1002
+ `iap.WebCloudRunServiceIamBinding` can be used per role. Note that custom roles must be of the format
1003
+ `[projects|organizations]/{parent-name}/roles/{role-name}`.
1004
+ """
1005
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
1006
+
1007
+ __props__ = _WebCloudRunServiceIamMemberState.__new__(_WebCloudRunServiceIamMemberState)
1008
+
1009
+ __props__.__dict__["cloud_run_service_name"] = cloud_run_service_name
1010
+ __props__.__dict__["condition"] = condition
1011
+ __props__.__dict__["etag"] = etag
1012
+ __props__.__dict__["location"] = location
1013
+ __props__.__dict__["member"] = member
1014
+ __props__.__dict__["project"] = project
1015
+ __props__.__dict__["role"] = role
1016
+ return WebCloudRunServiceIamMember(resource_name, opts=opts, __props__=__props__)
1017
+
1018
+ @property
1019
+ @pulumi.getter(name="cloudRunServiceName")
1020
+ def cloud_run_service_name(self) -> pulumi.Output[builtins.str]:
1021
+ """
1022
+ Used to find the parent resource to bind the IAM policy to
1023
+ """
1024
+ return pulumi.get(self, "cloud_run_service_name")
1025
+
1026
+ @property
1027
+ @pulumi.getter
1028
+ def condition(self) -> pulumi.Output[Optional['outputs.WebCloudRunServiceIamMemberCondition']]:
1029
+ """
1030
+ An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding.
1031
+ Structure is documented below.
1032
+ """
1033
+ return pulumi.get(self, "condition")
1034
+
1035
+ @property
1036
+ @pulumi.getter
1037
+ def etag(self) -> pulumi.Output[builtins.str]:
1038
+ """
1039
+ (Computed) The etag of the IAM policy.
1040
+ """
1041
+ return pulumi.get(self, "etag")
1042
+
1043
+ @property
1044
+ @pulumi.getter
1045
+ def location(self) -> pulumi.Output[builtins.str]:
1046
+ """
1047
+ The location of a cloud run service. Used to find the parent resource to bind the IAM policy to. If not specified,
1048
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
1049
+ location is specified, it is taken from the provider configuration.
1050
+ """
1051
+ return pulumi.get(self, "location")
1052
+
1053
+ @property
1054
+ @pulumi.getter
1055
+ def member(self) -> pulumi.Output[builtins.str]:
1056
+ """
1057
+ Identities that will be granted the privilege in `role`.
1058
+ Each entry can have one of the following values:
1059
+ * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
1060
+ * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
1061
+ * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
1062
+ * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
1063
+ * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
1064
+ * **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.
1065
+ * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
1066
+ * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
1067
+ * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
1068
+ """
1069
+ return pulumi.get(self, "member")
1070
+
1071
+ @property
1072
+ @pulumi.getter
1073
+ def project(self) -> pulumi.Output[builtins.str]:
1074
+ """
1075
+ The ID of the project in which the resource belongs.
1076
+ 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.
1077
+ """
1078
+ return pulumi.get(self, "project")
1079
+
1080
+ @property
1081
+ @pulumi.getter
1082
+ def role(self) -> pulumi.Output[builtins.str]:
1083
+ """
1084
+ The role that should be applied. Only one
1085
+ `iap.WebCloudRunServiceIamBinding` can be used per role. Note that custom roles must be of the format
1086
+ `[projects|organizations]/{parent-name}/roles/{role-name}`.
1087
+ """
1088
+ return pulumi.get(self, "role")
1089
+