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,908 @@
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
+
18
+ __all__ = ['WebCloudRunServiceIamPolicyArgs', 'WebCloudRunServiceIamPolicy']
19
+
20
+ @pulumi.input_type
21
+ class WebCloudRunServiceIamPolicyArgs:
22
+ def __init__(__self__, *,
23
+ cloud_run_service_name: pulumi.Input[builtins.str],
24
+ policy_data: pulumi.Input[builtins.str],
25
+ location: Optional[pulumi.Input[builtins.str]] = None,
26
+ project: Optional[pulumi.Input[builtins.str]] = None):
27
+ """
28
+ The set of arguments for constructing a WebCloudRunServiceIamPolicy resource.
29
+ :param pulumi.Input[builtins.str] cloud_run_service_name: Used to find the parent resource to bind the IAM policy to
30
+ :param pulumi.Input[builtins.str] policy_data: The policy data generated by
31
+ a `organizations_get_iam_policy` data source.
32
+ :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,
33
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
34
+ location is specified, it is taken from the provider configuration.
35
+ :param pulumi.Input[builtins.str] project: The ID of the project in which the resource belongs.
36
+ 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.
37
+ """
38
+ pulumi.set(__self__, "cloud_run_service_name", cloud_run_service_name)
39
+ pulumi.set(__self__, "policy_data", policy_data)
40
+ if location is not None:
41
+ pulumi.set(__self__, "location", location)
42
+ if project is not None:
43
+ pulumi.set(__self__, "project", project)
44
+
45
+ @property
46
+ @pulumi.getter(name="cloudRunServiceName")
47
+ def cloud_run_service_name(self) -> pulumi.Input[builtins.str]:
48
+ """
49
+ Used to find the parent resource to bind the IAM policy to
50
+ """
51
+ return pulumi.get(self, "cloud_run_service_name")
52
+
53
+ @cloud_run_service_name.setter
54
+ def cloud_run_service_name(self, value: pulumi.Input[builtins.str]):
55
+ pulumi.set(self, "cloud_run_service_name", value)
56
+
57
+ @property
58
+ @pulumi.getter(name="policyData")
59
+ def policy_data(self) -> pulumi.Input[builtins.str]:
60
+ """
61
+ The policy data generated by
62
+ a `organizations_get_iam_policy` data source.
63
+ """
64
+ return pulumi.get(self, "policy_data")
65
+
66
+ @policy_data.setter
67
+ def policy_data(self, value: pulumi.Input[builtins.str]):
68
+ pulumi.set(self, "policy_data", value)
69
+
70
+ @property
71
+ @pulumi.getter
72
+ def location(self) -> Optional[pulumi.Input[builtins.str]]:
73
+ """
74
+ The location of a cloud run service. Used to find the parent resource to bind the IAM policy to. If not specified,
75
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
76
+ location is specified, it is taken from the provider configuration.
77
+ """
78
+ return pulumi.get(self, "location")
79
+
80
+ @location.setter
81
+ def location(self, value: Optional[pulumi.Input[builtins.str]]):
82
+ pulumi.set(self, "location", value)
83
+
84
+ @property
85
+ @pulumi.getter
86
+ def project(self) -> Optional[pulumi.Input[builtins.str]]:
87
+ """
88
+ The ID of the project in which the resource belongs.
89
+ 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.
90
+ """
91
+ return pulumi.get(self, "project")
92
+
93
+ @project.setter
94
+ def project(self, value: Optional[pulumi.Input[builtins.str]]):
95
+ pulumi.set(self, "project", value)
96
+
97
+
98
+ @pulumi.input_type
99
+ class _WebCloudRunServiceIamPolicyState:
100
+ def __init__(__self__, *,
101
+ cloud_run_service_name: Optional[pulumi.Input[builtins.str]] = None,
102
+ etag: Optional[pulumi.Input[builtins.str]] = None,
103
+ location: Optional[pulumi.Input[builtins.str]] = None,
104
+ policy_data: Optional[pulumi.Input[builtins.str]] = None,
105
+ project: Optional[pulumi.Input[builtins.str]] = None):
106
+ """
107
+ Input properties used for looking up and filtering WebCloudRunServiceIamPolicy resources.
108
+ :param pulumi.Input[builtins.str] cloud_run_service_name: Used to find the parent resource to bind the IAM policy to
109
+ :param pulumi.Input[builtins.str] etag: (Computed) The etag of the IAM policy.
110
+ :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,
111
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
112
+ location is specified, it is taken from the provider configuration.
113
+ :param pulumi.Input[builtins.str] policy_data: The policy data generated by
114
+ a `organizations_get_iam_policy` data source.
115
+ :param pulumi.Input[builtins.str] project: The ID of the project in which the resource belongs.
116
+ 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.
117
+ """
118
+ if cloud_run_service_name is not None:
119
+ pulumi.set(__self__, "cloud_run_service_name", cloud_run_service_name)
120
+ if etag is not None:
121
+ pulumi.set(__self__, "etag", etag)
122
+ if location is not None:
123
+ pulumi.set(__self__, "location", location)
124
+ if policy_data is not None:
125
+ pulumi.set(__self__, "policy_data", policy_data)
126
+ if project is not None:
127
+ pulumi.set(__self__, "project", project)
128
+
129
+ @property
130
+ @pulumi.getter(name="cloudRunServiceName")
131
+ def cloud_run_service_name(self) -> Optional[pulumi.Input[builtins.str]]:
132
+ """
133
+ Used to find the parent resource to bind the IAM policy to
134
+ """
135
+ return pulumi.get(self, "cloud_run_service_name")
136
+
137
+ @cloud_run_service_name.setter
138
+ def cloud_run_service_name(self, value: Optional[pulumi.Input[builtins.str]]):
139
+ pulumi.set(self, "cloud_run_service_name", value)
140
+
141
+ @property
142
+ @pulumi.getter
143
+ def etag(self) -> Optional[pulumi.Input[builtins.str]]:
144
+ """
145
+ (Computed) The etag of the IAM policy.
146
+ """
147
+ return pulumi.get(self, "etag")
148
+
149
+ @etag.setter
150
+ def etag(self, value: Optional[pulumi.Input[builtins.str]]):
151
+ pulumi.set(self, "etag", value)
152
+
153
+ @property
154
+ @pulumi.getter
155
+ def location(self) -> Optional[pulumi.Input[builtins.str]]:
156
+ """
157
+ The location of a cloud run service. Used to find the parent resource to bind the IAM policy to. If not specified,
158
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
159
+ location is specified, it is taken from the provider configuration.
160
+ """
161
+ return pulumi.get(self, "location")
162
+
163
+ @location.setter
164
+ def location(self, value: Optional[pulumi.Input[builtins.str]]):
165
+ pulumi.set(self, "location", value)
166
+
167
+ @property
168
+ @pulumi.getter(name="policyData")
169
+ def policy_data(self) -> Optional[pulumi.Input[builtins.str]]:
170
+ """
171
+ The policy data generated by
172
+ a `organizations_get_iam_policy` data source.
173
+ """
174
+ return pulumi.get(self, "policy_data")
175
+
176
+ @policy_data.setter
177
+ def policy_data(self, value: Optional[pulumi.Input[builtins.str]]):
178
+ pulumi.set(self, "policy_data", value)
179
+
180
+ @property
181
+ @pulumi.getter
182
+ def project(self) -> Optional[pulumi.Input[builtins.str]]:
183
+ """
184
+ The ID of the project in which the resource belongs.
185
+ 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.
186
+ """
187
+ return pulumi.get(self, "project")
188
+
189
+ @project.setter
190
+ def project(self, value: Optional[pulumi.Input[builtins.str]]):
191
+ pulumi.set(self, "project", value)
192
+
193
+
194
+ class WebCloudRunServiceIamPolicy(pulumi.CustomResource):
195
+ @overload
196
+ def __init__(__self__,
197
+ resource_name: str,
198
+ opts: Optional[pulumi.ResourceOptions] = None,
199
+ cloud_run_service_name: Optional[pulumi.Input[builtins.str]] = None,
200
+ location: Optional[pulumi.Input[builtins.str]] = None,
201
+ policy_data: Optional[pulumi.Input[builtins.str]] = None,
202
+ project: Optional[pulumi.Input[builtins.str]] = None,
203
+ __props__=None):
204
+ """
205
+ Three different resources help you manage your IAM policy for Identity-Aware Proxy WebCloudRunService. Each of these resources serves a different use case:
206
+
207
+ * `iap.WebCloudRunServiceIamPolicy`: Authoritative. Sets the IAM policy for the webcloudrunservice and replaces any existing policy already attached.
208
+ * `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.
209
+ * `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.
210
+
211
+ A data source can be used to retrieve policy data in advent you do not need creation
212
+
213
+ * `iap.WebCloudRunServiceIamPolicy`: Retrieves the IAM policy for the webcloudrunservice
214
+
215
+ > **Note:** `iap.WebCloudRunServiceIamPolicy` **cannot** be used in conjunction with `iap.WebCloudRunServiceIamBinding` and `iap.WebCloudRunServiceIamMember` or they will fight over what your policy should be.
216
+
217
+ > **Note:** `iap.WebCloudRunServiceIamBinding` resources **can be** used in conjunction with `iap.WebCloudRunServiceIamMember` resources **only if** they do not grant privilege to the same role.
218
+
219
+ > **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.
220
+
221
+ ## iap.WebCloudRunServiceIamPolicy
222
+
223
+ ```python
224
+ import pulumi
225
+ import pulumi_gcp as gcp
226
+
227
+ admin = gcp.organizations.get_iam_policy(bindings=[{
228
+ "role": "roles/iap.httpsResourceAccessor",
229
+ "members": ["user:jane@example.com"],
230
+ }])
231
+ policy = gcp.iap.WebCloudRunServiceIamPolicy("policy",
232
+ project=default["project"],
233
+ location=default["location"],
234
+ cloud_run_service_name=default["name"],
235
+ policy_data=admin.policy_data)
236
+ ```
237
+
238
+ With IAM Conditions:
239
+
240
+ ```python
241
+ import pulumi
242
+ import pulumi_gcp as gcp
243
+
244
+ admin = gcp.organizations.get_iam_policy(bindings=[{
245
+ "role": "roles/iap.httpsResourceAccessor",
246
+ "members": ["user:jane@example.com"],
247
+ "condition": {
248
+ "title": "expires_after_2019_12_31",
249
+ "description": "Expiring at midnight of 2019-12-31",
250
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
251
+ },
252
+ }])
253
+ policy = gcp.iap.WebCloudRunServiceIamPolicy("policy",
254
+ project=default["project"],
255
+ location=default["location"],
256
+ cloud_run_service_name=default["name"],
257
+ policy_data=admin.policy_data)
258
+ ```
259
+ ## iap.WebCloudRunServiceIamBinding
260
+
261
+ ```python
262
+ import pulumi
263
+ import pulumi_gcp as gcp
264
+
265
+ binding = gcp.iap.WebCloudRunServiceIamBinding("binding",
266
+ project=default["project"],
267
+ location=default["location"],
268
+ cloud_run_service_name=default["name"],
269
+ role="roles/iap.httpsResourceAccessor",
270
+ members=["user:jane@example.com"])
271
+ ```
272
+
273
+ With IAM Conditions:
274
+
275
+ ```python
276
+ import pulumi
277
+ import pulumi_gcp as gcp
278
+
279
+ binding = gcp.iap.WebCloudRunServiceIamBinding("binding",
280
+ project=default["project"],
281
+ location=default["location"],
282
+ cloud_run_service_name=default["name"],
283
+ role="roles/iap.httpsResourceAccessor",
284
+ members=["user:jane@example.com"],
285
+ condition={
286
+ "title": "expires_after_2019_12_31",
287
+ "description": "Expiring at midnight of 2019-12-31",
288
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
289
+ })
290
+ ```
291
+ ## iap.WebCloudRunServiceIamMember
292
+
293
+ ```python
294
+ import pulumi
295
+ import pulumi_gcp as gcp
296
+
297
+ member = gcp.iap.WebCloudRunServiceIamMember("member",
298
+ project=default["project"],
299
+ location=default["location"],
300
+ cloud_run_service_name=default["name"],
301
+ role="roles/iap.httpsResourceAccessor",
302
+ member="user:jane@example.com")
303
+ ```
304
+
305
+ With IAM Conditions:
306
+
307
+ ```python
308
+ import pulumi
309
+ import pulumi_gcp as gcp
310
+
311
+ member = gcp.iap.WebCloudRunServiceIamMember("member",
312
+ project=default["project"],
313
+ location=default["location"],
314
+ cloud_run_service_name=default["name"],
315
+ role="roles/iap.httpsResourceAccessor",
316
+ member="user:jane@example.com",
317
+ condition={
318
+ "title": "expires_after_2019_12_31",
319
+ "description": "Expiring at midnight of 2019-12-31",
320
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
321
+ })
322
+ ```
323
+
324
+ ## This resource supports User Project Overrides.
325
+
326
+ -
327
+
328
+ # IAM policy for Identity-Aware Proxy WebCloudRunService
329
+ Three different resources help you manage your IAM policy for Identity-Aware Proxy WebCloudRunService. Each of these resources serves a different use case:
330
+
331
+ * `iap.WebCloudRunServiceIamPolicy`: Authoritative. Sets the IAM policy for the webcloudrunservice and replaces any existing policy already attached.
332
+ * `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.
333
+ * `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.
334
+
335
+ A data source can be used to retrieve policy data in advent you do not need creation
336
+
337
+ * `iap.WebCloudRunServiceIamPolicy`: Retrieves the IAM policy for the webcloudrunservice
338
+
339
+ > **Note:** `iap.WebCloudRunServiceIamPolicy` **cannot** be used in conjunction with `iap.WebCloudRunServiceIamBinding` and `iap.WebCloudRunServiceIamMember` or they will fight over what your policy should be.
340
+
341
+ > **Note:** `iap.WebCloudRunServiceIamBinding` resources **can be** used in conjunction with `iap.WebCloudRunServiceIamMember` resources **only if** they do not grant privilege to the same role.
342
+
343
+ > **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.
344
+
345
+ ## iap.WebCloudRunServiceIamPolicy
346
+
347
+ ```python
348
+ import pulumi
349
+ import pulumi_gcp as gcp
350
+
351
+ admin = gcp.organizations.get_iam_policy(bindings=[{
352
+ "role": "roles/iap.httpsResourceAccessor",
353
+ "members": ["user:jane@example.com"],
354
+ }])
355
+ policy = gcp.iap.WebCloudRunServiceIamPolicy("policy",
356
+ project=default["project"],
357
+ location=default["location"],
358
+ cloud_run_service_name=default["name"],
359
+ policy_data=admin.policy_data)
360
+ ```
361
+
362
+ With IAM Conditions:
363
+
364
+ ```python
365
+ import pulumi
366
+ import pulumi_gcp as gcp
367
+
368
+ admin = gcp.organizations.get_iam_policy(bindings=[{
369
+ "role": "roles/iap.httpsResourceAccessor",
370
+ "members": ["user:jane@example.com"],
371
+ "condition": {
372
+ "title": "expires_after_2019_12_31",
373
+ "description": "Expiring at midnight of 2019-12-31",
374
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
375
+ },
376
+ }])
377
+ policy = gcp.iap.WebCloudRunServiceIamPolicy("policy",
378
+ project=default["project"],
379
+ location=default["location"],
380
+ cloud_run_service_name=default["name"],
381
+ policy_data=admin.policy_data)
382
+ ```
383
+ ## iap.WebCloudRunServiceIamBinding
384
+
385
+ ```python
386
+ import pulumi
387
+ import pulumi_gcp as gcp
388
+
389
+ binding = gcp.iap.WebCloudRunServiceIamBinding("binding",
390
+ project=default["project"],
391
+ location=default["location"],
392
+ cloud_run_service_name=default["name"],
393
+ role="roles/iap.httpsResourceAccessor",
394
+ members=["user:jane@example.com"])
395
+ ```
396
+
397
+ With IAM Conditions:
398
+
399
+ ```python
400
+ import pulumi
401
+ import pulumi_gcp as gcp
402
+
403
+ binding = gcp.iap.WebCloudRunServiceIamBinding("binding",
404
+ project=default["project"],
405
+ location=default["location"],
406
+ cloud_run_service_name=default["name"],
407
+ role="roles/iap.httpsResourceAccessor",
408
+ members=["user:jane@example.com"],
409
+ condition={
410
+ "title": "expires_after_2019_12_31",
411
+ "description": "Expiring at midnight of 2019-12-31",
412
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
413
+ })
414
+ ```
415
+ ## iap.WebCloudRunServiceIamMember
416
+
417
+ ```python
418
+ import pulumi
419
+ import pulumi_gcp as gcp
420
+
421
+ member = gcp.iap.WebCloudRunServiceIamMember("member",
422
+ project=default["project"],
423
+ location=default["location"],
424
+ cloud_run_service_name=default["name"],
425
+ role="roles/iap.httpsResourceAccessor",
426
+ member="user:jane@example.com")
427
+ ```
428
+
429
+ With IAM Conditions:
430
+
431
+ ```python
432
+ import pulumi
433
+ import pulumi_gcp as gcp
434
+
435
+ member = gcp.iap.WebCloudRunServiceIamMember("member",
436
+ project=default["project"],
437
+ location=default["location"],
438
+ cloud_run_service_name=default["name"],
439
+ role="roles/iap.httpsResourceAccessor",
440
+ member="user:jane@example.com",
441
+ condition={
442
+ "title": "expires_after_2019_12_31",
443
+ "description": "Expiring at midnight of 2019-12-31",
444
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
445
+ })
446
+ ```
447
+
448
+ ## Import
449
+
450
+ For all import syntaxes, the "resource in question" can take any of the following forms:
451
+
452
+ * projects/{{project}}/iap_web/cloud_run-{{location}}/services/{{name}}
453
+
454
+ * {{project}}/{{location}}/{{name}}
455
+
456
+ * {{location}}/{{name}}
457
+
458
+ * {{name}}
459
+
460
+ Any variables not passed in the import command will be taken from the provider configuration.
461
+
462
+ Identity-Aware Proxy webcloudrunservice IAM resources can be imported using the resource identifiers, role, and member.
463
+
464
+ IAM member imports use space-delimited identifiers: the resource in question, the role, and the member identity, e.g.
465
+
466
+ ```sh
467
+ $ pulumi import gcp:iap/webCloudRunServiceIamPolicy:WebCloudRunServiceIamPolicy editor "projects/{{project}}/iap_web/cloud_run-{{location}}/services/{{web_cloud_run_service}} roles/iap.httpsResourceAccessor user:jane@example.com"
468
+ ```
469
+
470
+ IAM binding imports use space-delimited identifiers: the resource in question and the role, e.g.
471
+
472
+ ```sh
473
+ $ pulumi import gcp:iap/webCloudRunServiceIamPolicy:WebCloudRunServiceIamPolicy editor "projects/{{project}}/iap_web/cloud_run-{{location}}/services/{{web_cloud_run_service}} roles/iap.httpsResourceAccessor"
474
+ ```
475
+
476
+ IAM policy imports use the identifier of the resource in question, e.g.
477
+
478
+ ```sh
479
+ $ pulumi import gcp:iap/webCloudRunServiceIamPolicy:WebCloudRunServiceIamPolicy editor projects/{{project}}/iap_web/cloud_run-{{location}}/services/{{web_cloud_run_service}}
480
+ ```
481
+
482
+ -> **Custom Roles** If you're importing a IAM resource with a custom role, make sure to use the
483
+
484
+ full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
485
+
486
+ :param str resource_name: The name of the resource.
487
+ :param pulumi.ResourceOptions opts: Options for the resource.
488
+ :param pulumi.Input[builtins.str] cloud_run_service_name: Used to find the parent resource to bind the IAM policy to
489
+ :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,
490
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
491
+ location is specified, it is taken from the provider configuration.
492
+ :param pulumi.Input[builtins.str] policy_data: The policy data generated by
493
+ a `organizations_get_iam_policy` data source.
494
+ :param pulumi.Input[builtins.str] project: The ID of the project in which the resource belongs.
495
+ 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.
496
+ """
497
+ ...
498
+ @overload
499
+ def __init__(__self__,
500
+ resource_name: str,
501
+ args: WebCloudRunServiceIamPolicyArgs,
502
+ opts: Optional[pulumi.ResourceOptions] = None):
503
+ """
504
+ Three different resources help you manage your IAM policy for Identity-Aware Proxy WebCloudRunService. Each of these resources serves a different use case:
505
+
506
+ * `iap.WebCloudRunServiceIamPolicy`: Authoritative. Sets the IAM policy for the webcloudrunservice and replaces any existing policy already attached.
507
+ * `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.
508
+ * `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.
509
+
510
+ A data source can be used to retrieve policy data in advent you do not need creation
511
+
512
+ * `iap.WebCloudRunServiceIamPolicy`: Retrieves the IAM policy for the webcloudrunservice
513
+
514
+ > **Note:** `iap.WebCloudRunServiceIamPolicy` **cannot** be used in conjunction with `iap.WebCloudRunServiceIamBinding` and `iap.WebCloudRunServiceIamMember` or they will fight over what your policy should be.
515
+
516
+ > **Note:** `iap.WebCloudRunServiceIamBinding` resources **can be** used in conjunction with `iap.WebCloudRunServiceIamMember` resources **only if** they do not grant privilege to the same role.
517
+
518
+ > **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.
519
+
520
+ ## iap.WebCloudRunServiceIamPolicy
521
+
522
+ ```python
523
+ import pulumi
524
+ import pulumi_gcp as gcp
525
+
526
+ admin = gcp.organizations.get_iam_policy(bindings=[{
527
+ "role": "roles/iap.httpsResourceAccessor",
528
+ "members": ["user:jane@example.com"],
529
+ }])
530
+ policy = gcp.iap.WebCloudRunServiceIamPolicy("policy",
531
+ project=default["project"],
532
+ location=default["location"],
533
+ cloud_run_service_name=default["name"],
534
+ policy_data=admin.policy_data)
535
+ ```
536
+
537
+ With IAM Conditions:
538
+
539
+ ```python
540
+ import pulumi
541
+ import pulumi_gcp as gcp
542
+
543
+ admin = gcp.organizations.get_iam_policy(bindings=[{
544
+ "role": "roles/iap.httpsResourceAccessor",
545
+ "members": ["user:jane@example.com"],
546
+ "condition": {
547
+ "title": "expires_after_2019_12_31",
548
+ "description": "Expiring at midnight of 2019-12-31",
549
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
550
+ },
551
+ }])
552
+ policy = gcp.iap.WebCloudRunServiceIamPolicy("policy",
553
+ project=default["project"],
554
+ location=default["location"],
555
+ cloud_run_service_name=default["name"],
556
+ policy_data=admin.policy_data)
557
+ ```
558
+ ## iap.WebCloudRunServiceIamBinding
559
+
560
+ ```python
561
+ import pulumi
562
+ import pulumi_gcp as gcp
563
+
564
+ binding = gcp.iap.WebCloudRunServiceIamBinding("binding",
565
+ project=default["project"],
566
+ location=default["location"],
567
+ cloud_run_service_name=default["name"],
568
+ role="roles/iap.httpsResourceAccessor",
569
+ members=["user:jane@example.com"])
570
+ ```
571
+
572
+ With IAM Conditions:
573
+
574
+ ```python
575
+ import pulumi
576
+ import pulumi_gcp as gcp
577
+
578
+ binding = gcp.iap.WebCloudRunServiceIamBinding("binding",
579
+ project=default["project"],
580
+ location=default["location"],
581
+ cloud_run_service_name=default["name"],
582
+ role="roles/iap.httpsResourceAccessor",
583
+ members=["user:jane@example.com"],
584
+ condition={
585
+ "title": "expires_after_2019_12_31",
586
+ "description": "Expiring at midnight of 2019-12-31",
587
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
588
+ })
589
+ ```
590
+ ## iap.WebCloudRunServiceIamMember
591
+
592
+ ```python
593
+ import pulumi
594
+ import pulumi_gcp as gcp
595
+
596
+ member = gcp.iap.WebCloudRunServiceIamMember("member",
597
+ project=default["project"],
598
+ location=default["location"],
599
+ cloud_run_service_name=default["name"],
600
+ role="roles/iap.httpsResourceAccessor",
601
+ member="user:jane@example.com")
602
+ ```
603
+
604
+ With IAM Conditions:
605
+
606
+ ```python
607
+ import pulumi
608
+ import pulumi_gcp as gcp
609
+
610
+ member = gcp.iap.WebCloudRunServiceIamMember("member",
611
+ project=default["project"],
612
+ location=default["location"],
613
+ cloud_run_service_name=default["name"],
614
+ role="roles/iap.httpsResourceAccessor",
615
+ member="user:jane@example.com",
616
+ condition={
617
+ "title": "expires_after_2019_12_31",
618
+ "description": "Expiring at midnight of 2019-12-31",
619
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
620
+ })
621
+ ```
622
+
623
+ ## This resource supports User Project Overrides.
624
+
625
+ -
626
+
627
+ # IAM policy for Identity-Aware Proxy WebCloudRunService
628
+ Three different resources help you manage your IAM policy for Identity-Aware Proxy WebCloudRunService. Each of these resources serves a different use case:
629
+
630
+ * `iap.WebCloudRunServiceIamPolicy`: Authoritative. Sets the IAM policy for the webcloudrunservice and replaces any existing policy already attached.
631
+ * `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.
632
+ * `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.
633
+
634
+ A data source can be used to retrieve policy data in advent you do not need creation
635
+
636
+ * `iap.WebCloudRunServiceIamPolicy`: Retrieves the IAM policy for the webcloudrunservice
637
+
638
+ > **Note:** `iap.WebCloudRunServiceIamPolicy` **cannot** be used in conjunction with `iap.WebCloudRunServiceIamBinding` and `iap.WebCloudRunServiceIamMember` or they will fight over what your policy should be.
639
+
640
+ > **Note:** `iap.WebCloudRunServiceIamBinding` resources **can be** used in conjunction with `iap.WebCloudRunServiceIamMember` resources **only if** they do not grant privilege to the same role.
641
+
642
+ > **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.
643
+
644
+ ## iap.WebCloudRunServiceIamPolicy
645
+
646
+ ```python
647
+ import pulumi
648
+ import pulumi_gcp as gcp
649
+
650
+ admin = gcp.organizations.get_iam_policy(bindings=[{
651
+ "role": "roles/iap.httpsResourceAccessor",
652
+ "members": ["user:jane@example.com"],
653
+ }])
654
+ policy = gcp.iap.WebCloudRunServiceIamPolicy("policy",
655
+ project=default["project"],
656
+ location=default["location"],
657
+ cloud_run_service_name=default["name"],
658
+ policy_data=admin.policy_data)
659
+ ```
660
+
661
+ With IAM Conditions:
662
+
663
+ ```python
664
+ import pulumi
665
+ import pulumi_gcp as gcp
666
+
667
+ admin = gcp.organizations.get_iam_policy(bindings=[{
668
+ "role": "roles/iap.httpsResourceAccessor",
669
+ "members": ["user:jane@example.com"],
670
+ "condition": {
671
+ "title": "expires_after_2019_12_31",
672
+ "description": "Expiring at midnight of 2019-12-31",
673
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
674
+ },
675
+ }])
676
+ policy = gcp.iap.WebCloudRunServiceIamPolicy("policy",
677
+ project=default["project"],
678
+ location=default["location"],
679
+ cloud_run_service_name=default["name"],
680
+ policy_data=admin.policy_data)
681
+ ```
682
+ ## iap.WebCloudRunServiceIamBinding
683
+
684
+ ```python
685
+ import pulumi
686
+ import pulumi_gcp as gcp
687
+
688
+ binding = gcp.iap.WebCloudRunServiceIamBinding("binding",
689
+ project=default["project"],
690
+ location=default["location"],
691
+ cloud_run_service_name=default["name"],
692
+ role="roles/iap.httpsResourceAccessor",
693
+ members=["user:jane@example.com"])
694
+ ```
695
+
696
+ With IAM Conditions:
697
+
698
+ ```python
699
+ import pulumi
700
+ import pulumi_gcp as gcp
701
+
702
+ binding = gcp.iap.WebCloudRunServiceIamBinding("binding",
703
+ project=default["project"],
704
+ location=default["location"],
705
+ cloud_run_service_name=default["name"],
706
+ role="roles/iap.httpsResourceAccessor",
707
+ members=["user:jane@example.com"],
708
+ condition={
709
+ "title": "expires_after_2019_12_31",
710
+ "description": "Expiring at midnight of 2019-12-31",
711
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
712
+ })
713
+ ```
714
+ ## iap.WebCloudRunServiceIamMember
715
+
716
+ ```python
717
+ import pulumi
718
+ import pulumi_gcp as gcp
719
+
720
+ member = gcp.iap.WebCloudRunServiceIamMember("member",
721
+ project=default["project"],
722
+ location=default["location"],
723
+ cloud_run_service_name=default["name"],
724
+ role="roles/iap.httpsResourceAccessor",
725
+ member="user:jane@example.com")
726
+ ```
727
+
728
+ With IAM Conditions:
729
+
730
+ ```python
731
+ import pulumi
732
+ import pulumi_gcp as gcp
733
+
734
+ member = gcp.iap.WebCloudRunServiceIamMember("member",
735
+ project=default["project"],
736
+ location=default["location"],
737
+ cloud_run_service_name=default["name"],
738
+ role="roles/iap.httpsResourceAccessor",
739
+ member="user:jane@example.com",
740
+ condition={
741
+ "title": "expires_after_2019_12_31",
742
+ "description": "Expiring at midnight of 2019-12-31",
743
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
744
+ })
745
+ ```
746
+
747
+ ## Import
748
+
749
+ For all import syntaxes, the "resource in question" can take any of the following forms:
750
+
751
+ * projects/{{project}}/iap_web/cloud_run-{{location}}/services/{{name}}
752
+
753
+ * {{project}}/{{location}}/{{name}}
754
+
755
+ * {{location}}/{{name}}
756
+
757
+ * {{name}}
758
+
759
+ Any variables not passed in the import command will be taken from the provider configuration.
760
+
761
+ Identity-Aware Proxy webcloudrunservice IAM resources can be imported using the resource identifiers, role, and member.
762
+
763
+ IAM member imports use space-delimited identifiers: the resource in question, the role, and the member identity, e.g.
764
+
765
+ ```sh
766
+ $ pulumi import gcp:iap/webCloudRunServiceIamPolicy:WebCloudRunServiceIamPolicy editor "projects/{{project}}/iap_web/cloud_run-{{location}}/services/{{web_cloud_run_service}} roles/iap.httpsResourceAccessor user:jane@example.com"
767
+ ```
768
+
769
+ IAM binding imports use space-delimited identifiers: the resource in question and the role, e.g.
770
+
771
+ ```sh
772
+ $ pulumi import gcp:iap/webCloudRunServiceIamPolicy:WebCloudRunServiceIamPolicy editor "projects/{{project}}/iap_web/cloud_run-{{location}}/services/{{web_cloud_run_service}} roles/iap.httpsResourceAccessor"
773
+ ```
774
+
775
+ IAM policy imports use the identifier of the resource in question, e.g.
776
+
777
+ ```sh
778
+ $ pulumi import gcp:iap/webCloudRunServiceIamPolicy:WebCloudRunServiceIamPolicy editor projects/{{project}}/iap_web/cloud_run-{{location}}/services/{{web_cloud_run_service}}
779
+ ```
780
+
781
+ -> **Custom Roles** If you're importing a IAM resource with a custom role, make sure to use the
782
+
783
+ full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
784
+
785
+ :param str resource_name: The name of the resource.
786
+ :param WebCloudRunServiceIamPolicyArgs args: The arguments to use to populate this resource's properties.
787
+ :param pulumi.ResourceOptions opts: Options for the resource.
788
+ """
789
+ ...
790
+ def __init__(__self__, resource_name: str, *args, **kwargs):
791
+ resource_args, opts = _utilities.get_resource_args_opts(WebCloudRunServiceIamPolicyArgs, pulumi.ResourceOptions, *args, **kwargs)
792
+ if resource_args is not None:
793
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
794
+ else:
795
+ __self__._internal_init(resource_name, *args, **kwargs)
796
+
797
+ def _internal_init(__self__,
798
+ resource_name: str,
799
+ opts: Optional[pulumi.ResourceOptions] = None,
800
+ cloud_run_service_name: Optional[pulumi.Input[builtins.str]] = None,
801
+ location: Optional[pulumi.Input[builtins.str]] = None,
802
+ policy_data: Optional[pulumi.Input[builtins.str]] = None,
803
+ project: Optional[pulumi.Input[builtins.str]] = None,
804
+ __props__=None):
805
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
806
+ if not isinstance(opts, pulumi.ResourceOptions):
807
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
808
+ if opts.id is None:
809
+ if __props__ is not None:
810
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
811
+ __props__ = WebCloudRunServiceIamPolicyArgs.__new__(WebCloudRunServiceIamPolicyArgs)
812
+
813
+ if cloud_run_service_name is None and not opts.urn:
814
+ raise TypeError("Missing required property 'cloud_run_service_name'")
815
+ __props__.__dict__["cloud_run_service_name"] = cloud_run_service_name
816
+ __props__.__dict__["location"] = location
817
+ if policy_data is None and not opts.urn:
818
+ raise TypeError("Missing required property 'policy_data'")
819
+ __props__.__dict__["policy_data"] = policy_data
820
+ __props__.__dict__["project"] = project
821
+ __props__.__dict__["etag"] = None
822
+ super(WebCloudRunServiceIamPolicy, __self__).__init__(
823
+ 'gcp:iap/webCloudRunServiceIamPolicy:WebCloudRunServiceIamPolicy',
824
+ resource_name,
825
+ __props__,
826
+ opts)
827
+
828
+ @staticmethod
829
+ def get(resource_name: str,
830
+ id: pulumi.Input[str],
831
+ opts: Optional[pulumi.ResourceOptions] = None,
832
+ cloud_run_service_name: Optional[pulumi.Input[builtins.str]] = None,
833
+ etag: Optional[pulumi.Input[builtins.str]] = None,
834
+ location: Optional[pulumi.Input[builtins.str]] = None,
835
+ policy_data: Optional[pulumi.Input[builtins.str]] = None,
836
+ project: Optional[pulumi.Input[builtins.str]] = None) -> 'WebCloudRunServiceIamPolicy':
837
+ """
838
+ Get an existing WebCloudRunServiceIamPolicy resource's state with the given name, id, and optional extra
839
+ properties used to qualify the lookup.
840
+
841
+ :param str resource_name: The unique name of the resulting resource.
842
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
843
+ :param pulumi.ResourceOptions opts: Options for the resource.
844
+ :param pulumi.Input[builtins.str] cloud_run_service_name: Used to find the parent resource to bind the IAM policy to
845
+ :param pulumi.Input[builtins.str] etag: (Computed) The etag of the IAM policy.
846
+ :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,
847
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
848
+ location is specified, it is taken from the provider configuration.
849
+ :param pulumi.Input[builtins.str] policy_data: The policy data generated by
850
+ a `organizations_get_iam_policy` data source.
851
+ :param pulumi.Input[builtins.str] project: The ID of the project in which the resource belongs.
852
+ 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.
853
+ """
854
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
855
+
856
+ __props__ = _WebCloudRunServiceIamPolicyState.__new__(_WebCloudRunServiceIamPolicyState)
857
+
858
+ __props__.__dict__["cloud_run_service_name"] = cloud_run_service_name
859
+ __props__.__dict__["etag"] = etag
860
+ __props__.__dict__["location"] = location
861
+ __props__.__dict__["policy_data"] = policy_data
862
+ __props__.__dict__["project"] = project
863
+ return WebCloudRunServiceIamPolicy(resource_name, opts=opts, __props__=__props__)
864
+
865
+ @property
866
+ @pulumi.getter(name="cloudRunServiceName")
867
+ def cloud_run_service_name(self) -> pulumi.Output[builtins.str]:
868
+ """
869
+ Used to find the parent resource to bind the IAM policy to
870
+ """
871
+ return pulumi.get(self, "cloud_run_service_name")
872
+
873
+ @property
874
+ @pulumi.getter
875
+ def etag(self) -> pulumi.Output[builtins.str]:
876
+ """
877
+ (Computed) The etag of the IAM policy.
878
+ """
879
+ return pulumi.get(self, "etag")
880
+
881
+ @property
882
+ @pulumi.getter
883
+ def location(self) -> pulumi.Output[builtins.str]:
884
+ """
885
+ The location of a cloud run service. Used to find the parent resource to bind the IAM policy to. If not specified,
886
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
887
+ location is specified, it is taken from the provider configuration.
888
+ """
889
+ return pulumi.get(self, "location")
890
+
891
+ @property
892
+ @pulumi.getter(name="policyData")
893
+ def policy_data(self) -> pulumi.Output[builtins.str]:
894
+ """
895
+ The policy data generated by
896
+ a `organizations_get_iam_policy` data source.
897
+ """
898
+ return pulumi.get(self, "policy_data")
899
+
900
+ @property
901
+ @pulumi.getter
902
+ def project(self) -> pulumi.Output[builtins.str]:
903
+ """
904
+ The ID of the project in which the resource belongs.
905
+ 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.
906
+ """
907
+ return pulumi.get(self, "project")
908
+