pulumi-gcp 8.24.0a1743057423__py3-none-any.whl → 8.25.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (150) hide show
  1. pulumi_gcp/__init__.py +131 -0
  2. pulumi_gcp/_inputs.py +48 -0
  3. pulumi_gcp/accesscontextmanager/_inputs.py +324 -12
  4. pulumi_gcp/accesscontextmanager/outputs.py +204 -12
  5. pulumi_gcp/accesscontextmanager/service_perimeter.py +0 -2
  6. pulumi_gcp/apigee/__init__.py +1 -0
  7. pulumi_gcp/apigee/_inputs.py +58 -0
  8. pulumi_gcp/apigee/dns_zone.py +491 -0
  9. pulumi_gcp/apigee/outputs.py +53 -0
  10. pulumi_gcp/bigquery/_inputs.py +158 -0
  11. pulumi_gcp/bigquery/outputs.py +115 -0
  12. pulumi_gcp/bigquery/reservation.py +189 -1
  13. pulumi_gcp/bigquery/reservation_assignment.py +7 -7
  14. pulumi_gcp/bigqueryanalyticshub/listing_subscription.py +11 -7
  15. pulumi_gcp/bigtable/table.py +8 -8
  16. pulumi_gcp/chronicle/data_access_label.py +16 -0
  17. pulumi_gcp/chronicle/data_access_scope.py +16 -0
  18. pulumi_gcp/chronicle/reference_list.py +16 -0
  19. pulumi_gcp/chronicle/retrohunt.py +16 -0
  20. pulumi_gcp/chronicle/rule.py +16 -0
  21. pulumi_gcp/chronicle/rule_deployment.py +16 -0
  22. pulumi_gcp/chronicle/watchlist.py +16 -0
  23. pulumi_gcp/cloudfunctionsv2/_inputs.py +20 -0
  24. pulumi_gcp/cloudfunctionsv2/outputs.py +25 -0
  25. pulumi_gcp/cloudrunv2/_inputs.py +20 -0
  26. pulumi_gcp/cloudrunv2/outputs.py +25 -0
  27. pulumi_gcp/cloudrunv2/service.py +14 -14
  28. pulumi_gcp/compute/__init__.py +2 -0
  29. pulumi_gcp/compute/_inputs.py +2627 -61
  30. pulumi_gcp/compute/backend_service.py +121 -3
  31. pulumi_gcp/compute/get_backend_service.py +15 -4
  32. pulumi_gcp/compute/get_images.py +172 -0
  33. pulumi_gcp/compute/get_instance.py +12 -1
  34. pulumi_gcp/compute/get_region_backend_service.py +482 -0
  35. pulumi_gcp/compute/get_resource_policy.py +15 -4
  36. pulumi_gcp/compute/get_router.py +12 -1
  37. pulumi_gcp/compute/get_subnetwork.py +43 -1
  38. pulumi_gcp/compute/image.py +54 -0
  39. pulumi_gcp/compute/instance.py +47 -0
  40. pulumi_gcp/compute/instance_from_machine_image.py +94 -0
  41. pulumi_gcp/compute/instance_from_template.py +47 -0
  42. pulumi_gcp/compute/interconnect.py +14 -7
  43. pulumi_gcp/compute/outputs.py +4522 -391
  44. pulumi_gcp/compute/public_delegated_prefix.py +69 -15
  45. pulumi_gcp/compute/resource_policy.py +169 -3
  46. pulumi_gcp/compute/router.py +54 -0
  47. pulumi_gcp/compute/router_route_policy.py +16 -0
  48. pulumi_gcp/compute/subnetwork.py +35 -5
  49. pulumi_gcp/config/__init__.pyi +8 -0
  50. pulumi_gcp/config/outputs.py +27 -0
  51. pulumi_gcp/config/vars.py +16 -0
  52. pulumi_gcp/container/_inputs.py +274 -13
  53. pulumi_gcp/container/cluster.py +101 -0
  54. pulumi_gcp/container/get_cluster.py +23 -1
  55. pulumi_gcp/container/get_registry_image.py +4 -0
  56. pulumi_gcp/container/get_registry_repository.py +4 -0
  57. pulumi_gcp/container/outputs.py +305 -10
  58. pulumi_gcp/container/registry.py +4 -0
  59. pulumi_gcp/datafusion/instance.py +68 -0
  60. pulumi_gcp/dataproc/__init__.py +8 -0
  61. pulumi_gcp/dataproc/_inputs.py +219 -0
  62. pulumi_gcp/dataproc/get_metastore_database_iam_policy.py +193 -0
  63. pulumi_gcp/dataproc/get_metastore_table_iam_policy.py +210 -0
  64. pulumi_gcp/dataproc/metastore_database_iam_binding.py +848 -0
  65. pulumi_gcp/dataproc/metastore_database_iam_member.py +848 -0
  66. pulumi_gcp/dataproc/metastore_database_iam_policy.py +687 -0
  67. pulumi_gcp/dataproc/metastore_federation.py +38 -2
  68. pulumi_gcp/dataproc/metastore_table_iam_binding.py +895 -0
  69. pulumi_gcp/dataproc/metastore_table_iam_member.py +895 -0
  70. pulumi_gcp/dataproc/metastore_table_iam_policy.py +734 -0
  71. pulumi_gcp/dataproc/outputs.py +139 -0
  72. pulumi_gcp/datastream/_inputs.py +311 -94
  73. pulumi_gcp/datastream/connection_profile.py +40 -0
  74. pulumi_gcp/datastream/outputs.py +244 -51
  75. pulumi_gcp/datastream/stream.py +216 -0
  76. pulumi_gcp/discoveryengine/__init__.py +1 -0
  77. pulumi_gcp/discoveryengine/sitemap.py +504 -0
  78. pulumi_gcp/eventarc/__init__.py +1 -0
  79. pulumi_gcp/eventarc/enrollment.py +980 -0
  80. pulumi_gcp/firebase/__init__.py +1 -0
  81. pulumi_gcp/firebase/_inputs.py +484 -0
  82. pulumi_gcp/firebase/app_hosting_build.py +1232 -0
  83. pulumi_gcp/firebase/outputs.py +333 -0
  84. pulumi_gcp/identityplatform/_inputs.py +91 -0
  85. pulumi_gcp/identityplatform/outputs.py +73 -0
  86. pulumi_gcp/identityplatform/tenant.py +56 -0
  87. pulumi_gcp/lustre/__init__.py +8 -0
  88. pulumi_gcp/lustre/instance.py +983 -0
  89. pulumi_gcp/managedkafka/cluster.py +2 -2
  90. pulumi_gcp/memorystore/__init__.py +1 -0
  91. pulumi_gcp/memorystore/_inputs.py +1252 -7
  92. pulumi_gcp/memorystore/get_instance.py +45 -1
  93. pulumi_gcp/memorystore/instance.py +481 -30
  94. pulumi_gcp/memorystore/instance_desired_user_created_endpoints.py +843 -0
  95. pulumi_gcp/memorystore/outputs.py +1440 -15
  96. pulumi_gcp/networkmanagement/_inputs.py +422 -91
  97. pulumi_gcp/networkmanagement/connectivity_test.py +233 -211
  98. pulumi_gcp/networkmanagement/outputs.py +280 -61
  99. pulumi_gcp/networksecurity/_inputs.py +891 -26
  100. pulumi_gcp/networksecurity/intercept_deployment_group.py +44 -16
  101. pulumi_gcp/networksecurity/intercept_endpoint_group.py +90 -36
  102. pulumi_gcp/networksecurity/intercept_endpoint_group_association.py +53 -8
  103. pulumi_gcp/networksecurity/mirroring_deployment_group.py +44 -16
  104. pulumi_gcp/networksecurity/mirroring_endpoint_group.py +94 -36
  105. pulumi_gcp/networksecurity/mirroring_endpoint_group_association.py +53 -8
  106. pulumi_gcp/networksecurity/outputs.py +531 -1
  107. pulumi_gcp/networksecurity/security_profile.py +8 -0
  108. pulumi_gcp/organizations/__init__.py +2 -0
  109. pulumi_gcp/organizations/get_iam_custom_role.py +198 -0
  110. pulumi_gcp/organizations/get_iam_custom_roles.py +164 -0
  111. pulumi_gcp/organizations/outputs.py +96 -0
  112. pulumi_gcp/osconfig/__init__.py +1 -0
  113. pulumi_gcp/osconfig/_inputs.py +5413 -0
  114. pulumi_gcp/osconfig/outputs.py +3962 -0
  115. pulumi_gcp/osconfig/v2_policy_orchestrator.py +971 -0
  116. pulumi_gcp/parametermanager/get_parameter.py +16 -1
  117. pulumi_gcp/parametermanager/get_parameter_version.py +19 -1
  118. pulumi_gcp/parametermanager/get_parameter_version_render.py +4 -0
  119. pulumi_gcp/parametermanager/get_parameters.py +4 -0
  120. pulumi_gcp/parametermanager/get_regional_parameter.py +4 -0
  121. pulumi_gcp/parametermanager/get_regional_parameter_version.py +4 -0
  122. pulumi_gcp/parametermanager/get_regional_parameter_version_render.py +8 -0
  123. pulumi_gcp/parametermanager/get_regional_parameters.py +4 -0
  124. pulumi_gcp/parametermanager/outputs.py +11 -0
  125. pulumi_gcp/parametermanager/parameter.py +88 -0
  126. pulumi_gcp/parametermanager/parameter_version.py +74 -0
  127. pulumi_gcp/parametermanager/regional_parameter.py +12 -0
  128. pulumi_gcp/parametermanager/regional_parameter_version.py +12 -0
  129. pulumi_gcp/provider.py +75 -0
  130. pulumi_gcp/pulumi-plugin.json +1 -1
  131. pulumi_gcp/redis/_inputs.py +136 -0
  132. pulumi_gcp/redis/cluster.py +54 -0
  133. pulumi_gcp/redis/outputs.py +114 -0
  134. pulumi_gcp/secretmanager/regional_secret_version.py +0 -16
  135. pulumi_gcp/storage/__init__.py +6 -0
  136. pulumi_gcp/storage/_inputs.py +1322 -0
  137. pulumi_gcp/storage/bucket.py +7 -7
  138. pulumi_gcp/storage/control_folder_intelligence_config.py +420 -0
  139. pulumi_gcp/storage/control_organization_intelligence_config.py +420 -0
  140. pulumi_gcp/storage/control_project_intelligence_config.py +408 -0
  141. pulumi_gcp/storage/get_bucket_object_content.py +16 -1
  142. pulumi_gcp/storage/get_control_folder_intelligence_config.py +160 -0
  143. pulumi_gcp/storage/get_control_organization_intelligence_config.py +160 -0
  144. pulumi_gcp/storage/get_control_project_intelligence_config.py +160 -0
  145. pulumi_gcp/storage/outputs.py +1553 -17
  146. pulumi_gcp/workbench/instance.py +14 -2
  147. {pulumi_gcp-8.24.0a1743057423.dist-info → pulumi_gcp-8.25.0.dist-info}/METADATA +1 -1
  148. {pulumi_gcp-8.24.0a1743057423.dist-info → pulumi_gcp-8.25.0.dist-info}/RECORD +150 -124
  149. {pulumi_gcp-8.24.0a1743057423.dist-info → pulumi_gcp-8.25.0.dist-info}/WHEEL +0 -0
  150. {pulumi_gcp-8.24.0a1743057423.dist-info → pulumi_gcp-8.25.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,734 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from .. import _utilities
16
+
17
+ __all__ = ['MetastoreTableIamPolicyArgs', 'MetastoreTableIamPolicy']
18
+
19
+ @pulumi.input_type
20
+ class MetastoreTableIamPolicyArgs:
21
+ def __init__(__self__, *,
22
+ database_id: pulumi.Input[str],
23
+ policy_data: pulumi.Input[str],
24
+ service_id: pulumi.Input[str],
25
+ table: pulumi.Input[str],
26
+ location: Optional[pulumi.Input[str]] = None,
27
+ project: Optional[pulumi.Input[str]] = None):
28
+ """
29
+ The set of arguments for constructing a MetastoreTableIamPolicy resource.
30
+ :param pulumi.Input[str] policy_data: The policy data generated by
31
+ a `organizations_get_iam_policy` data source.
32
+ :param pulumi.Input[str] table: Used to find the parent resource to bind the IAM policy to
33
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
34
+ 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.
35
+ """
36
+ pulumi.set(__self__, "database_id", database_id)
37
+ pulumi.set(__self__, "policy_data", policy_data)
38
+ pulumi.set(__self__, "service_id", service_id)
39
+ pulumi.set(__self__, "table", table)
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="databaseId")
47
+ def database_id(self) -> pulumi.Input[str]:
48
+ return pulumi.get(self, "database_id")
49
+
50
+ @database_id.setter
51
+ def database_id(self, value: pulumi.Input[str]):
52
+ pulumi.set(self, "database_id", value)
53
+
54
+ @property
55
+ @pulumi.getter(name="policyData")
56
+ def policy_data(self) -> pulumi.Input[str]:
57
+ """
58
+ The policy data generated by
59
+ a `organizations_get_iam_policy` data source.
60
+ """
61
+ return pulumi.get(self, "policy_data")
62
+
63
+ @policy_data.setter
64
+ def policy_data(self, value: pulumi.Input[str]):
65
+ pulumi.set(self, "policy_data", value)
66
+
67
+ @property
68
+ @pulumi.getter(name="serviceId")
69
+ def service_id(self) -> pulumi.Input[str]:
70
+ return pulumi.get(self, "service_id")
71
+
72
+ @service_id.setter
73
+ def service_id(self, value: pulumi.Input[str]):
74
+ pulumi.set(self, "service_id", value)
75
+
76
+ @property
77
+ @pulumi.getter
78
+ def table(self) -> pulumi.Input[str]:
79
+ """
80
+ Used to find the parent resource to bind the IAM policy to
81
+ """
82
+ return pulumi.get(self, "table")
83
+
84
+ @table.setter
85
+ def table(self, value: pulumi.Input[str]):
86
+ pulumi.set(self, "table", value)
87
+
88
+ @property
89
+ @pulumi.getter
90
+ def location(self) -> Optional[pulumi.Input[str]]:
91
+ return pulumi.get(self, "location")
92
+
93
+ @location.setter
94
+ def location(self, value: Optional[pulumi.Input[str]]):
95
+ pulumi.set(self, "location", value)
96
+
97
+ @property
98
+ @pulumi.getter
99
+ def project(self) -> Optional[pulumi.Input[str]]:
100
+ """
101
+ The ID of the project in which the resource belongs.
102
+ 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.
103
+ """
104
+ return pulumi.get(self, "project")
105
+
106
+ @project.setter
107
+ def project(self, value: Optional[pulumi.Input[str]]):
108
+ pulumi.set(self, "project", value)
109
+
110
+
111
+ @pulumi.input_type
112
+ class _MetastoreTableIamPolicyState:
113
+ def __init__(__self__, *,
114
+ database_id: Optional[pulumi.Input[str]] = None,
115
+ etag: Optional[pulumi.Input[str]] = None,
116
+ location: Optional[pulumi.Input[str]] = None,
117
+ policy_data: Optional[pulumi.Input[str]] = None,
118
+ project: Optional[pulumi.Input[str]] = None,
119
+ service_id: Optional[pulumi.Input[str]] = None,
120
+ table: Optional[pulumi.Input[str]] = None):
121
+ """
122
+ Input properties used for looking up and filtering MetastoreTableIamPolicy resources.
123
+ :param pulumi.Input[str] etag: (Computed) The etag of the IAM policy.
124
+ :param pulumi.Input[str] policy_data: The policy data generated by
125
+ a `organizations_get_iam_policy` data source.
126
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
127
+ 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.
128
+ :param pulumi.Input[str] table: Used to find the parent resource to bind the IAM policy to
129
+ """
130
+ if database_id is not None:
131
+ pulumi.set(__self__, "database_id", database_id)
132
+ if etag is not None:
133
+ pulumi.set(__self__, "etag", etag)
134
+ if location is not None:
135
+ pulumi.set(__self__, "location", location)
136
+ if policy_data is not None:
137
+ pulumi.set(__self__, "policy_data", policy_data)
138
+ if project is not None:
139
+ pulumi.set(__self__, "project", project)
140
+ if service_id is not None:
141
+ pulumi.set(__self__, "service_id", service_id)
142
+ if table is not None:
143
+ pulumi.set(__self__, "table", table)
144
+
145
+ @property
146
+ @pulumi.getter(name="databaseId")
147
+ def database_id(self) -> Optional[pulumi.Input[str]]:
148
+ return pulumi.get(self, "database_id")
149
+
150
+ @database_id.setter
151
+ def database_id(self, value: Optional[pulumi.Input[str]]):
152
+ pulumi.set(self, "database_id", value)
153
+
154
+ @property
155
+ @pulumi.getter
156
+ def etag(self) -> Optional[pulumi.Input[str]]:
157
+ """
158
+ (Computed) The etag of the IAM policy.
159
+ """
160
+ return pulumi.get(self, "etag")
161
+
162
+ @etag.setter
163
+ def etag(self, value: Optional[pulumi.Input[str]]):
164
+ pulumi.set(self, "etag", value)
165
+
166
+ @property
167
+ @pulumi.getter
168
+ def location(self) -> Optional[pulumi.Input[str]]:
169
+ return pulumi.get(self, "location")
170
+
171
+ @location.setter
172
+ def location(self, value: Optional[pulumi.Input[str]]):
173
+ pulumi.set(self, "location", value)
174
+
175
+ @property
176
+ @pulumi.getter(name="policyData")
177
+ def policy_data(self) -> Optional[pulumi.Input[str]]:
178
+ """
179
+ The policy data generated by
180
+ a `organizations_get_iam_policy` data source.
181
+ """
182
+ return pulumi.get(self, "policy_data")
183
+
184
+ @policy_data.setter
185
+ def policy_data(self, value: Optional[pulumi.Input[str]]):
186
+ pulumi.set(self, "policy_data", value)
187
+
188
+ @property
189
+ @pulumi.getter
190
+ def project(self) -> Optional[pulumi.Input[str]]:
191
+ """
192
+ The ID of the project in which the resource belongs.
193
+ 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.
194
+ """
195
+ return pulumi.get(self, "project")
196
+
197
+ @project.setter
198
+ def project(self, value: Optional[pulumi.Input[str]]):
199
+ pulumi.set(self, "project", value)
200
+
201
+ @property
202
+ @pulumi.getter(name="serviceId")
203
+ def service_id(self) -> Optional[pulumi.Input[str]]:
204
+ return pulumi.get(self, "service_id")
205
+
206
+ @service_id.setter
207
+ def service_id(self, value: Optional[pulumi.Input[str]]):
208
+ pulumi.set(self, "service_id", value)
209
+
210
+ @property
211
+ @pulumi.getter
212
+ def table(self) -> Optional[pulumi.Input[str]]:
213
+ """
214
+ Used to find the parent resource to bind the IAM policy to
215
+ """
216
+ return pulumi.get(self, "table")
217
+
218
+ @table.setter
219
+ def table(self, value: Optional[pulumi.Input[str]]):
220
+ pulumi.set(self, "table", value)
221
+
222
+
223
+ class MetastoreTableIamPolicy(pulumi.CustomResource):
224
+ @overload
225
+ def __init__(__self__,
226
+ resource_name: str,
227
+ opts: Optional[pulumi.ResourceOptions] = None,
228
+ database_id: Optional[pulumi.Input[str]] = None,
229
+ location: Optional[pulumi.Input[str]] = None,
230
+ policy_data: Optional[pulumi.Input[str]] = None,
231
+ project: Optional[pulumi.Input[str]] = None,
232
+ service_id: Optional[pulumi.Input[str]] = None,
233
+ table: Optional[pulumi.Input[str]] = None,
234
+ __props__=None):
235
+ """
236
+ Three different resources help you manage your IAM policy for Dataproc Metastore Table. Each of these resources serves a different use case:
237
+
238
+ * `dataproc.MetastoreTableIamPolicy`: Authoritative. Sets the IAM policy for the table and replaces any existing policy already attached.
239
+ * `dataproc.MetastoreTableIamBinding`: 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 table are preserved.
240
+ * `dataproc.MetastoreTableIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the table are preserved.
241
+
242
+ A data source can be used to retrieve policy data in advent you do not need creation
243
+
244
+ * `dataproc.MetastoreTableIamPolicy`: Retrieves the IAM policy for the table
245
+
246
+ > **Note:** `dataproc.MetastoreTableIamPolicy` **cannot** be used in conjunction with `dataproc.MetastoreTableIamBinding` and `dataproc.MetastoreTableIamMember` or they will fight over what your policy should be.
247
+
248
+ > **Note:** `dataproc.MetastoreTableIamBinding` resources **can be** used in conjunction with `dataproc.MetastoreTableIamMember` resources **only if** they do not grant privilege to the same role.
249
+
250
+ ## dataproc.MetastoreTableIamPolicy
251
+
252
+ ```python
253
+ import pulumi
254
+ import pulumi_gcp as gcp
255
+
256
+ admin = gcp.organizations.get_iam_policy(bindings=[{
257
+ "role": "roles/viewer",
258
+ "members": ["user:jane@example.com"],
259
+ }])
260
+ policy = gcp.dataproc.MetastoreTableIamPolicy("policy",
261
+ project=dpms_service["project"],
262
+ location=dpms_service["location"],
263
+ service_id=dpms_service["serviceId"],
264
+ database_id=hive["hiveConfig"][0]["properties"]["database"],
265
+ table=hive["hiveConfig"][0]["properties"]["table"],
266
+ policy_data=admin.policy_data)
267
+ ```
268
+
269
+ ## dataproc.MetastoreTableIamBinding
270
+
271
+ ```python
272
+ import pulumi
273
+ import pulumi_gcp as gcp
274
+
275
+ binding = gcp.dataproc.MetastoreTableIamBinding("binding",
276
+ project=dpms_service["project"],
277
+ location=dpms_service["location"],
278
+ service_id=dpms_service["serviceId"],
279
+ database_id=hive["hiveConfig"][0]["properties"]["database"],
280
+ table=hive["hiveConfig"][0]["properties"]["table"],
281
+ role="roles/viewer",
282
+ members=["user:jane@example.com"])
283
+ ```
284
+
285
+ ## dataproc.MetastoreTableIamMember
286
+
287
+ ```python
288
+ import pulumi
289
+ import pulumi_gcp as gcp
290
+
291
+ member = gcp.dataproc.MetastoreTableIamMember("member",
292
+ project=dpms_service["project"],
293
+ location=dpms_service["location"],
294
+ service_id=dpms_service["serviceId"],
295
+ database_id=hive["hiveConfig"][0]["properties"]["database"],
296
+ table=hive["hiveConfig"][0]["properties"]["table"],
297
+ role="roles/viewer",
298
+ member="user:jane@example.com")
299
+ ```
300
+
301
+ ## This resource supports User Project Overrides.
302
+
303
+ -
304
+
305
+ # IAM policy for Dataproc Metastore Table
306
+ Three different resources help you manage your IAM policy for Dataproc Metastore Table. Each of these resources serves a different use case:
307
+
308
+ * `dataproc.MetastoreTableIamPolicy`: Authoritative. Sets the IAM policy for the table and replaces any existing policy already attached.
309
+ * `dataproc.MetastoreTableIamBinding`: 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 table are preserved.
310
+ * `dataproc.MetastoreTableIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the table are preserved.
311
+
312
+ A data source can be used to retrieve policy data in advent you do not need creation
313
+
314
+ * `dataproc.MetastoreTableIamPolicy`: Retrieves the IAM policy for the table
315
+
316
+ > **Note:** `dataproc.MetastoreTableIamPolicy` **cannot** be used in conjunction with `dataproc.MetastoreTableIamBinding` and `dataproc.MetastoreTableIamMember` or they will fight over what your policy should be.
317
+
318
+ > **Note:** `dataproc.MetastoreTableIamBinding` resources **can be** used in conjunction with `dataproc.MetastoreTableIamMember` resources **only if** they do not grant privilege to the same role.
319
+
320
+ ## dataproc.MetastoreTableIamPolicy
321
+
322
+ ```python
323
+ import pulumi
324
+ import pulumi_gcp as gcp
325
+
326
+ admin = gcp.organizations.get_iam_policy(bindings=[{
327
+ "role": "roles/viewer",
328
+ "members": ["user:jane@example.com"],
329
+ }])
330
+ policy = gcp.dataproc.MetastoreTableIamPolicy("policy",
331
+ project=dpms_service["project"],
332
+ location=dpms_service["location"],
333
+ service_id=dpms_service["serviceId"],
334
+ database_id=hive["hiveConfig"][0]["properties"]["database"],
335
+ table=hive["hiveConfig"][0]["properties"]["table"],
336
+ policy_data=admin.policy_data)
337
+ ```
338
+
339
+ ## dataproc.MetastoreTableIamBinding
340
+
341
+ ```python
342
+ import pulumi
343
+ import pulumi_gcp as gcp
344
+
345
+ binding = gcp.dataproc.MetastoreTableIamBinding("binding",
346
+ project=dpms_service["project"],
347
+ location=dpms_service["location"],
348
+ service_id=dpms_service["serviceId"],
349
+ database_id=hive["hiveConfig"][0]["properties"]["database"],
350
+ table=hive["hiveConfig"][0]["properties"]["table"],
351
+ role="roles/viewer",
352
+ members=["user:jane@example.com"])
353
+ ```
354
+
355
+ ## dataproc.MetastoreTableIamMember
356
+
357
+ ```python
358
+ import pulumi
359
+ import pulumi_gcp as gcp
360
+
361
+ member = gcp.dataproc.MetastoreTableIamMember("member",
362
+ project=dpms_service["project"],
363
+ location=dpms_service["location"],
364
+ service_id=dpms_service["serviceId"],
365
+ database_id=hive["hiveConfig"][0]["properties"]["database"],
366
+ table=hive["hiveConfig"][0]["properties"]["table"],
367
+ role="roles/viewer",
368
+ member="user:jane@example.com")
369
+ ```
370
+
371
+ ## Import
372
+
373
+ For all import syntaxes, the "resource in question" can take any of the following forms:
374
+
375
+ * projects/{{project}}/locations/{{location}}/services/{{serviceId}}/databases/{{databaseId}}/tables/{{name}}
376
+
377
+ * {{project}}/{{location}}/{{serviceId}}/{{databaseId}}/{{name}}
378
+
379
+ * {{location}}/{{serviceId}}/{{databaseId}}/{{name}}
380
+
381
+ * {{name}}
382
+
383
+ Any variables not passed in the import command will be taken from the provider configuration.
384
+
385
+ Dataproc Metastore table IAM resources can be imported using the resource identifiers, role, and member.
386
+
387
+ IAM member imports use space-delimited identifiers: the resource in question, the role, and the member identity, e.g.
388
+
389
+ ```sh
390
+ $ pulumi import gcp:dataproc/metastoreTableIamPolicy:MetastoreTableIamPolicy editor "projects/{{project}}/locations/{{location}}/services/{{serviceId}}/databases/{{databaseId}}/tables/{{table}} roles/viewer user:jane@example.com"
391
+ ```
392
+
393
+ IAM binding imports use space-delimited identifiers: the resource in question and the role, e.g.
394
+
395
+ ```sh
396
+ $ pulumi import gcp:dataproc/metastoreTableIamPolicy:MetastoreTableIamPolicy editor "projects/{{project}}/locations/{{location}}/services/{{serviceId}}/databases/{{databaseId}}/tables/{{table}} roles/viewer"
397
+ ```
398
+
399
+ IAM policy imports use the identifier of the resource in question, e.g.
400
+
401
+ ```sh
402
+ $ pulumi import gcp:dataproc/metastoreTableIamPolicy:MetastoreTableIamPolicy editor projects/{{project}}/locations/{{location}}/services/{{serviceId}}/databases/{{databaseId}}/tables/{{table}}
403
+ ```
404
+
405
+ -> **Custom Roles** If you're importing a IAM resource with a custom role, make sure to use the
406
+
407
+ full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
408
+
409
+ :param str resource_name: The name of the resource.
410
+ :param pulumi.ResourceOptions opts: Options for the resource.
411
+ :param pulumi.Input[str] policy_data: The policy data generated by
412
+ a `organizations_get_iam_policy` data source.
413
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
414
+ 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.
415
+ :param pulumi.Input[str] table: Used to find the parent resource to bind the IAM policy to
416
+ """
417
+ ...
418
+ @overload
419
+ def __init__(__self__,
420
+ resource_name: str,
421
+ args: MetastoreTableIamPolicyArgs,
422
+ opts: Optional[pulumi.ResourceOptions] = None):
423
+ """
424
+ Three different resources help you manage your IAM policy for Dataproc Metastore Table. Each of these resources serves a different use case:
425
+
426
+ * `dataproc.MetastoreTableIamPolicy`: Authoritative. Sets the IAM policy for the table and replaces any existing policy already attached.
427
+ * `dataproc.MetastoreTableIamBinding`: 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 table are preserved.
428
+ * `dataproc.MetastoreTableIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the table are preserved.
429
+
430
+ A data source can be used to retrieve policy data in advent you do not need creation
431
+
432
+ * `dataproc.MetastoreTableIamPolicy`: Retrieves the IAM policy for the table
433
+
434
+ > **Note:** `dataproc.MetastoreTableIamPolicy` **cannot** be used in conjunction with `dataproc.MetastoreTableIamBinding` and `dataproc.MetastoreTableIamMember` or they will fight over what your policy should be.
435
+
436
+ > **Note:** `dataproc.MetastoreTableIamBinding` resources **can be** used in conjunction with `dataproc.MetastoreTableIamMember` resources **only if** they do not grant privilege to the same role.
437
+
438
+ ## dataproc.MetastoreTableIamPolicy
439
+
440
+ ```python
441
+ import pulumi
442
+ import pulumi_gcp as gcp
443
+
444
+ admin = gcp.organizations.get_iam_policy(bindings=[{
445
+ "role": "roles/viewer",
446
+ "members": ["user:jane@example.com"],
447
+ }])
448
+ policy = gcp.dataproc.MetastoreTableIamPolicy("policy",
449
+ project=dpms_service["project"],
450
+ location=dpms_service["location"],
451
+ service_id=dpms_service["serviceId"],
452
+ database_id=hive["hiveConfig"][0]["properties"]["database"],
453
+ table=hive["hiveConfig"][0]["properties"]["table"],
454
+ policy_data=admin.policy_data)
455
+ ```
456
+
457
+ ## dataproc.MetastoreTableIamBinding
458
+
459
+ ```python
460
+ import pulumi
461
+ import pulumi_gcp as gcp
462
+
463
+ binding = gcp.dataproc.MetastoreTableIamBinding("binding",
464
+ project=dpms_service["project"],
465
+ location=dpms_service["location"],
466
+ service_id=dpms_service["serviceId"],
467
+ database_id=hive["hiveConfig"][0]["properties"]["database"],
468
+ table=hive["hiveConfig"][0]["properties"]["table"],
469
+ role="roles/viewer",
470
+ members=["user:jane@example.com"])
471
+ ```
472
+
473
+ ## dataproc.MetastoreTableIamMember
474
+
475
+ ```python
476
+ import pulumi
477
+ import pulumi_gcp as gcp
478
+
479
+ member = gcp.dataproc.MetastoreTableIamMember("member",
480
+ project=dpms_service["project"],
481
+ location=dpms_service["location"],
482
+ service_id=dpms_service["serviceId"],
483
+ database_id=hive["hiveConfig"][0]["properties"]["database"],
484
+ table=hive["hiveConfig"][0]["properties"]["table"],
485
+ role="roles/viewer",
486
+ member="user:jane@example.com")
487
+ ```
488
+
489
+ ## This resource supports User Project Overrides.
490
+
491
+ -
492
+
493
+ # IAM policy for Dataproc Metastore Table
494
+ Three different resources help you manage your IAM policy for Dataproc Metastore Table. Each of these resources serves a different use case:
495
+
496
+ * `dataproc.MetastoreTableIamPolicy`: Authoritative. Sets the IAM policy for the table and replaces any existing policy already attached.
497
+ * `dataproc.MetastoreTableIamBinding`: 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 table are preserved.
498
+ * `dataproc.MetastoreTableIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the table are preserved.
499
+
500
+ A data source can be used to retrieve policy data in advent you do not need creation
501
+
502
+ * `dataproc.MetastoreTableIamPolicy`: Retrieves the IAM policy for the table
503
+
504
+ > **Note:** `dataproc.MetastoreTableIamPolicy` **cannot** be used in conjunction with `dataproc.MetastoreTableIamBinding` and `dataproc.MetastoreTableIamMember` or they will fight over what your policy should be.
505
+
506
+ > **Note:** `dataproc.MetastoreTableIamBinding` resources **can be** used in conjunction with `dataproc.MetastoreTableIamMember` resources **only if** they do not grant privilege to the same role.
507
+
508
+ ## dataproc.MetastoreTableIamPolicy
509
+
510
+ ```python
511
+ import pulumi
512
+ import pulumi_gcp as gcp
513
+
514
+ admin = gcp.organizations.get_iam_policy(bindings=[{
515
+ "role": "roles/viewer",
516
+ "members": ["user:jane@example.com"],
517
+ }])
518
+ policy = gcp.dataproc.MetastoreTableIamPolicy("policy",
519
+ project=dpms_service["project"],
520
+ location=dpms_service["location"],
521
+ service_id=dpms_service["serviceId"],
522
+ database_id=hive["hiveConfig"][0]["properties"]["database"],
523
+ table=hive["hiveConfig"][0]["properties"]["table"],
524
+ policy_data=admin.policy_data)
525
+ ```
526
+
527
+ ## dataproc.MetastoreTableIamBinding
528
+
529
+ ```python
530
+ import pulumi
531
+ import pulumi_gcp as gcp
532
+
533
+ binding = gcp.dataproc.MetastoreTableIamBinding("binding",
534
+ project=dpms_service["project"],
535
+ location=dpms_service["location"],
536
+ service_id=dpms_service["serviceId"],
537
+ database_id=hive["hiveConfig"][0]["properties"]["database"],
538
+ table=hive["hiveConfig"][0]["properties"]["table"],
539
+ role="roles/viewer",
540
+ members=["user:jane@example.com"])
541
+ ```
542
+
543
+ ## dataproc.MetastoreTableIamMember
544
+
545
+ ```python
546
+ import pulumi
547
+ import pulumi_gcp as gcp
548
+
549
+ member = gcp.dataproc.MetastoreTableIamMember("member",
550
+ project=dpms_service["project"],
551
+ location=dpms_service["location"],
552
+ service_id=dpms_service["serviceId"],
553
+ database_id=hive["hiveConfig"][0]["properties"]["database"],
554
+ table=hive["hiveConfig"][0]["properties"]["table"],
555
+ role="roles/viewer",
556
+ member="user:jane@example.com")
557
+ ```
558
+
559
+ ## Import
560
+
561
+ For all import syntaxes, the "resource in question" can take any of the following forms:
562
+
563
+ * projects/{{project}}/locations/{{location}}/services/{{serviceId}}/databases/{{databaseId}}/tables/{{name}}
564
+
565
+ * {{project}}/{{location}}/{{serviceId}}/{{databaseId}}/{{name}}
566
+
567
+ * {{location}}/{{serviceId}}/{{databaseId}}/{{name}}
568
+
569
+ * {{name}}
570
+
571
+ Any variables not passed in the import command will be taken from the provider configuration.
572
+
573
+ Dataproc Metastore table IAM resources can be imported using the resource identifiers, role, and member.
574
+
575
+ IAM member imports use space-delimited identifiers: the resource in question, the role, and the member identity, e.g.
576
+
577
+ ```sh
578
+ $ pulumi import gcp:dataproc/metastoreTableIamPolicy:MetastoreTableIamPolicy editor "projects/{{project}}/locations/{{location}}/services/{{serviceId}}/databases/{{databaseId}}/tables/{{table}} roles/viewer user:jane@example.com"
579
+ ```
580
+
581
+ IAM binding imports use space-delimited identifiers: the resource in question and the role, e.g.
582
+
583
+ ```sh
584
+ $ pulumi import gcp:dataproc/metastoreTableIamPolicy:MetastoreTableIamPolicy editor "projects/{{project}}/locations/{{location}}/services/{{serviceId}}/databases/{{databaseId}}/tables/{{table}} roles/viewer"
585
+ ```
586
+
587
+ IAM policy imports use the identifier of the resource in question, e.g.
588
+
589
+ ```sh
590
+ $ pulumi import gcp:dataproc/metastoreTableIamPolicy:MetastoreTableIamPolicy editor projects/{{project}}/locations/{{location}}/services/{{serviceId}}/databases/{{databaseId}}/tables/{{table}}
591
+ ```
592
+
593
+ -> **Custom Roles** If you're importing a IAM resource with a custom role, make sure to use the
594
+
595
+ full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
596
+
597
+ :param str resource_name: The name of the resource.
598
+ :param MetastoreTableIamPolicyArgs args: The arguments to use to populate this resource's properties.
599
+ :param pulumi.ResourceOptions opts: Options for the resource.
600
+ """
601
+ ...
602
+ def __init__(__self__, resource_name: str, *args, **kwargs):
603
+ resource_args, opts = _utilities.get_resource_args_opts(MetastoreTableIamPolicyArgs, pulumi.ResourceOptions, *args, **kwargs)
604
+ if resource_args is not None:
605
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
606
+ else:
607
+ __self__._internal_init(resource_name, *args, **kwargs)
608
+
609
+ def _internal_init(__self__,
610
+ resource_name: str,
611
+ opts: Optional[pulumi.ResourceOptions] = None,
612
+ database_id: Optional[pulumi.Input[str]] = None,
613
+ location: Optional[pulumi.Input[str]] = None,
614
+ policy_data: Optional[pulumi.Input[str]] = None,
615
+ project: Optional[pulumi.Input[str]] = None,
616
+ service_id: Optional[pulumi.Input[str]] = None,
617
+ table: Optional[pulumi.Input[str]] = None,
618
+ __props__=None):
619
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
620
+ if not isinstance(opts, pulumi.ResourceOptions):
621
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
622
+ if opts.id is None:
623
+ if __props__ is not None:
624
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
625
+ __props__ = MetastoreTableIamPolicyArgs.__new__(MetastoreTableIamPolicyArgs)
626
+
627
+ if database_id is None and not opts.urn:
628
+ raise TypeError("Missing required property 'database_id'")
629
+ __props__.__dict__["database_id"] = database_id
630
+ __props__.__dict__["location"] = location
631
+ if policy_data is None and not opts.urn:
632
+ raise TypeError("Missing required property 'policy_data'")
633
+ __props__.__dict__["policy_data"] = policy_data
634
+ __props__.__dict__["project"] = project
635
+ if service_id is None and not opts.urn:
636
+ raise TypeError("Missing required property 'service_id'")
637
+ __props__.__dict__["service_id"] = service_id
638
+ if table is None and not opts.urn:
639
+ raise TypeError("Missing required property 'table'")
640
+ __props__.__dict__["table"] = table
641
+ __props__.__dict__["etag"] = None
642
+ super(MetastoreTableIamPolicy, __self__).__init__(
643
+ 'gcp:dataproc/metastoreTableIamPolicy:MetastoreTableIamPolicy',
644
+ resource_name,
645
+ __props__,
646
+ opts)
647
+
648
+ @staticmethod
649
+ def get(resource_name: str,
650
+ id: pulumi.Input[str],
651
+ opts: Optional[pulumi.ResourceOptions] = None,
652
+ database_id: Optional[pulumi.Input[str]] = None,
653
+ etag: Optional[pulumi.Input[str]] = None,
654
+ location: Optional[pulumi.Input[str]] = None,
655
+ policy_data: Optional[pulumi.Input[str]] = None,
656
+ project: Optional[pulumi.Input[str]] = None,
657
+ service_id: Optional[pulumi.Input[str]] = None,
658
+ table: Optional[pulumi.Input[str]] = None) -> 'MetastoreTableIamPolicy':
659
+ """
660
+ Get an existing MetastoreTableIamPolicy resource's state with the given name, id, and optional extra
661
+ properties used to qualify the lookup.
662
+
663
+ :param str resource_name: The unique name of the resulting resource.
664
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
665
+ :param pulumi.ResourceOptions opts: Options for the resource.
666
+ :param pulumi.Input[str] etag: (Computed) The etag of the IAM policy.
667
+ :param pulumi.Input[str] policy_data: The policy data generated by
668
+ a `organizations_get_iam_policy` data source.
669
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
670
+ 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.
671
+ :param pulumi.Input[str] table: Used to find the parent resource to bind the IAM policy to
672
+ """
673
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
674
+
675
+ __props__ = _MetastoreTableIamPolicyState.__new__(_MetastoreTableIamPolicyState)
676
+
677
+ __props__.__dict__["database_id"] = database_id
678
+ __props__.__dict__["etag"] = etag
679
+ __props__.__dict__["location"] = location
680
+ __props__.__dict__["policy_data"] = policy_data
681
+ __props__.__dict__["project"] = project
682
+ __props__.__dict__["service_id"] = service_id
683
+ __props__.__dict__["table"] = table
684
+ return MetastoreTableIamPolicy(resource_name, opts=opts, __props__=__props__)
685
+
686
+ @property
687
+ @pulumi.getter(name="databaseId")
688
+ def database_id(self) -> pulumi.Output[str]:
689
+ return pulumi.get(self, "database_id")
690
+
691
+ @property
692
+ @pulumi.getter
693
+ def etag(self) -> pulumi.Output[str]:
694
+ """
695
+ (Computed) The etag of the IAM policy.
696
+ """
697
+ return pulumi.get(self, "etag")
698
+
699
+ @property
700
+ @pulumi.getter
701
+ def location(self) -> pulumi.Output[str]:
702
+ return pulumi.get(self, "location")
703
+
704
+ @property
705
+ @pulumi.getter(name="policyData")
706
+ def policy_data(self) -> pulumi.Output[str]:
707
+ """
708
+ The policy data generated by
709
+ a `organizations_get_iam_policy` data source.
710
+ """
711
+ return pulumi.get(self, "policy_data")
712
+
713
+ @property
714
+ @pulumi.getter
715
+ def project(self) -> pulumi.Output[str]:
716
+ """
717
+ The ID of the project in which the resource belongs.
718
+ 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.
719
+ """
720
+ return pulumi.get(self, "project")
721
+
722
+ @property
723
+ @pulumi.getter(name="serviceId")
724
+ def service_id(self) -> pulumi.Output[str]:
725
+ return pulumi.get(self, "service_id")
726
+
727
+ @property
728
+ @pulumi.getter
729
+ def table(self) -> pulumi.Output[str]:
730
+ """
731
+ Used to find the parent resource to bind the IAM policy to
732
+ """
733
+ return pulumi.get(self, "table")
734
+