pulumi-gcp 7.26.0a1717544115__py3-none-any.whl → 7.26.0a1717690580__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 (165) hide show
  1. pulumi_gcp/__init__.py +56 -0
  2. pulumi_gcp/alloydb/_inputs.py +92 -0
  3. pulumi_gcp/alloydb/backup.py +12 -4
  4. pulumi_gcp/alloydb/cluster.py +72 -6
  5. pulumi_gcp/alloydb/instance.py +60 -2
  6. pulumi_gcp/alloydb/outputs.py +114 -0
  7. pulumi_gcp/artifactregistry/get_repository_iam_policy.py +6 -2
  8. pulumi_gcp/artifactregistry/repository_iam_binding.py +21 -7
  9. pulumi_gcp/artifactregistry/repository_iam_member.py +21 -7
  10. pulumi_gcp/artifactregistry/repository_iam_policy.py +21 -7
  11. pulumi_gcp/bigquery/connection_iam_binding.py +21 -7
  12. pulumi_gcp/bigquery/connection_iam_member.py +21 -7
  13. pulumi_gcp/bigquery/connection_iam_policy.py +21 -7
  14. pulumi_gcp/bigquery/data_transfer_config.py +14 -7
  15. pulumi_gcp/bigquery/get_connection_iam_policy.py +6 -2
  16. pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_binding.py +21 -7
  17. pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_member.py +21 -7
  18. pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_policy.py +21 -7
  19. pulumi_gcp/bigqueryanalyticshub/get_data_exchange_iam_policy.py +6 -2
  20. pulumi_gcp/bigqueryanalyticshub/get_listing_iam_policy.py +6 -2
  21. pulumi_gcp/bigqueryanalyticshub/listing_iam_binding.py +21 -7
  22. pulumi_gcp/bigqueryanalyticshub/listing_iam_member.py +21 -7
  23. pulumi_gcp/bigqueryanalyticshub/listing_iam_policy.py +21 -7
  24. pulumi_gcp/bigquerydatapolicy/data_policy_iam_binding.py +21 -7
  25. pulumi_gcp/bigquerydatapolicy/data_policy_iam_member.py +21 -7
  26. pulumi_gcp/bigquerydatapolicy/data_policy_iam_policy.py +21 -7
  27. pulumi_gcp/bigquerydatapolicy/get_iam_policy.py +6 -2
  28. pulumi_gcp/certificateauthority/_inputs.py +20 -4
  29. pulumi_gcp/certificateauthority/ca_pool_iam_binding.py +21 -7
  30. pulumi_gcp/certificateauthority/ca_pool_iam_member.py +21 -7
  31. pulumi_gcp/certificateauthority/ca_pool_iam_policy.py +21 -7
  32. pulumi_gcp/certificateauthority/certificate_template.py +157 -173
  33. pulumi_gcp/certificateauthority/certificate_template_iam_binding.py +27 -0
  34. pulumi_gcp/certificateauthority/certificate_template_iam_member.py +27 -0
  35. pulumi_gcp/certificateauthority/certificate_template_iam_policy.py +27 -0
  36. pulumi_gcp/certificateauthority/get_ca_pool_iam_policy.py +6 -2
  37. pulumi_gcp/certificateauthority/get_certificate_template_iam_policy.py +6 -0
  38. pulumi_gcp/certificateauthority/outputs.py +20 -4
  39. pulumi_gcp/cloudbuildv2/connection_iam_binding.py +21 -7
  40. pulumi_gcp/cloudbuildv2/connection_iam_member.py +21 -7
  41. pulumi_gcp/cloudbuildv2/connection_iam_policy.py +21 -7
  42. pulumi_gcp/cloudbuildv2/get_connection_iam_policy.py +6 -2
  43. pulumi_gcp/clouddeploy/get_custom_target_type_iam_policy.py +6 -2
  44. pulumi_gcp/cloudfunctionsv2/function_iam_binding.py +21 -7
  45. pulumi_gcp/cloudfunctionsv2/function_iam_member.py +21 -7
  46. pulumi_gcp/cloudfunctionsv2/function_iam_policy.py +21 -7
  47. pulumi_gcp/cloudfunctionsv2/get_function_iam_policy.py +6 -2
  48. pulumi_gcp/cloudrun/get_service_iam_policy.py +6 -2
  49. pulumi_gcp/cloudrun/iam_binding.py +21 -7
  50. pulumi_gcp/cloudrun/iam_member.py +21 -7
  51. pulumi_gcp/cloudrun/iam_policy.py +21 -7
  52. pulumi_gcp/cloudrunv2/get_job_iam_policy.py +6 -2
  53. pulumi_gcp/cloudrunv2/get_service.py +11 -1
  54. pulumi_gcp/cloudrunv2/get_service_iam_policy.py +6 -2
  55. pulumi_gcp/cloudrunv2/job_iam_binding.py +21 -7
  56. pulumi_gcp/cloudrunv2/job_iam_member.py +21 -7
  57. pulumi_gcp/cloudrunv2/job_iam_policy.py +21 -7
  58. pulumi_gcp/cloudrunv2/service.py +47 -0
  59. pulumi_gcp/cloudrunv2/service_iam_binding.py +21 -7
  60. pulumi_gcp/cloudrunv2/service_iam_member.py +21 -7
  61. pulumi_gcp/cloudrunv2/service_iam_policy.py +21 -7
  62. pulumi_gcp/cloudtasks/get_queue_iam_policy.py +6 -2
  63. pulumi_gcp/cloudtasks/queue_iam_binding.py +21 -7
  64. pulumi_gcp/cloudtasks/queue_iam_member.py +21 -7
  65. pulumi_gcp/cloudtasks/queue_iam_policy.py +21 -7
  66. pulumi_gcp/compute/_inputs.py +18 -18
  67. pulumi_gcp/compute/outputs.py +20 -20
  68. pulumi_gcp/dataplex/__init__.py +5 -0
  69. pulumi_gcp/dataplex/_inputs.py +104 -0
  70. pulumi_gcp/dataplex/aspect_type_iam_binding.py +21 -7
  71. pulumi_gcp/dataplex/aspect_type_iam_member.py +21 -7
  72. pulumi_gcp/dataplex/aspect_type_iam_policy.py +21 -7
  73. pulumi_gcp/dataplex/datascan_iam_binding.py +21 -7
  74. pulumi_gcp/dataplex/datascan_iam_member.py +21 -7
  75. pulumi_gcp/dataplex/datascan_iam_policy.py +21 -7
  76. pulumi_gcp/dataplex/entry_group_iam_binding.py +21 -7
  77. pulumi_gcp/dataplex/entry_group_iam_member.py +21 -7
  78. pulumi_gcp/dataplex/entry_group_iam_policy.py +21 -7
  79. pulumi_gcp/dataplex/entry_type.py +963 -0
  80. pulumi_gcp/dataplex/entry_type_iam_binding.py +779 -0
  81. pulumi_gcp/dataplex/entry_type_iam_member.py +779 -0
  82. pulumi_gcp/dataplex/entry_type_iam_policy.py +618 -0
  83. pulumi_gcp/dataplex/get_aspect_type_iam_policy.py +6 -2
  84. pulumi_gcp/dataplex/get_datascan_iam_policy.py +6 -2
  85. pulumi_gcp/dataplex/get_entry_group_iam_policy.py +6 -2
  86. pulumi_gcp/dataplex/get_entry_type_iam_policy.py +168 -0
  87. pulumi_gcp/dataplex/get_task_iam_policy.py +6 -2
  88. pulumi_gcp/dataplex/outputs.py +76 -0
  89. pulumi_gcp/dataplex/task.py +16 -16
  90. pulumi_gcp/dataplex/task_iam_binding.py +21 -7
  91. pulumi_gcp/dataplex/task_iam_member.py +21 -7
  92. pulumi_gcp/dataplex/task_iam_policy.py +21 -7
  93. pulumi_gcp/dataproc/autoscaling_policy_iam_binding.py +21 -7
  94. pulumi_gcp/dataproc/autoscaling_policy_iam_member.py +21 -7
  95. pulumi_gcp/dataproc/autoscaling_policy_iam_policy.py +21 -7
  96. pulumi_gcp/dataproc/get_autoscaling_policy_iam_policy.py +6 -2
  97. pulumi_gcp/dataproc/get_metastore_federation_iam_policy.py +6 -2
  98. pulumi_gcp/dataproc/get_metastore_service_iam_policy.py +6 -2
  99. pulumi_gcp/dataproc/metastore_federation_iam_binding.py +21 -7
  100. pulumi_gcp/dataproc/metastore_federation_iam_member.py +21 -7
  101. pulumi_gcp/dataproc/metastore_federation_iam_policy.py +21 -7
  102. pulumi_gcp/dataproc/metastore_service_iam_binding.py +21 -7
  103. pulumi_gcp/dataproc/metastore_service_iam_member.py +21 -7
  104. pulumi_gcp/dataproc/metastore_service_iam_policy.py +21 -7
  105. pulumi_gcp/firestore/field.py +4 -4
  106. pulumi_gcp/gkebackup/backup_plan_iam_binding.py +21 -7
  107. pulumi_gcp/gkebackup/backup_plan_iam_member.py +21 -7
  108. pulumi_gcp/gkebackup/backup_plan_iam_policy.py +21 -7
  109. pulumi_gcp/gkebackup/get_backup_plan_iam_policy.py +6 -2
  110. pulumi_gcp/gkebackup/get_restore_plan_iam_policy.py +6 -2
  111. pulumi_gcp/gkehub/feature_iam_binding.py +21 -7
  112. pulumi_gcp/gkehub/feature_iam_member.py +21 -7
  113. pulumi_gcp/gkehub/feature_iam_policy.py +21 -7
  114. pulumi_gcp/gkehub/get_feature_iam_policy.py +6 -2
  115. pulumi_gcp/gkehub/get_membership_iam_policy.py +6 -2
  116. pulumi_gcp/gkehub/membership_binding.py +6 -6
  117. pulumi_gcp/gkehub/membership_iam_binding.py +21 -7
  118. pulumi_gcp/gkehub/membership_iam_member.py +21 -7
  119. pulumi_gcp/gkehub/membership_iam_policy.py +21 -7
  120. pulumi_gcp/gkehub/membership_rbac_role_binding.py +4 -4
  121. pulumi_gcp/gkehub/namespace.py +4 -4
  122. pulumi_gcp/gkehub/scope_rbac_role_binding.py +4 -4
  123. pulumi_gcp/iap/tunnel_dest_group.py +2 -2
  124. pulumi_gcp/integrationconnectors/managed_zone.py +8 -8
  125. pulumi_gcp/logging/__init__.py +4 -0
  126. pulumi_gcp/logging/_inputs.py +100 -0
  127. pulumi_gcp/logging/get_log_view_iam_policy.py +157 -0
  128. pulumi_gcp/logging/log_view_iam_binding.py +630 -0
  129. pulumi_gcp/logging/log_view_iam_member.py +630 -0
  130. pulumi_gcp/logging/log_view_iam_policy.py +449 -0
  131. pulumi_gcp/logging/outputs.py +76 -0
  132. pulumi_gcp/netapp/storage_pool.py +9 -9
  133. pulumi_gcp/networksecurity/address_group_iam_policy.py +21 -7
  134. pulumi_gcp/networksecurity/get_address_group_iam_policy.py +6 -2
  135. pulumi_gcp/notebooks/get_instance_iam_policy.py +6 -2
  136. pulumi_gcp/notebooks/get_runtime_iam_policy.py +6 -2
  137. pulumi_gcp/notebooks/instance_iam_binding.py +21 -7
  138. pulumi_gcp/notebooks/instance_iam_member.py +21 -7
  139. pulumi_gcp/notebooks/instance_iam_policy.py +21 -7
  140. pulumi_gcp/notebooks/runtime_iam_binding.py +21 -7
  141. pulumi_gcp/notebooks/runtime_iam_member.py +21 -7
  142. pulumi_gcp/notebooks/runtime_iam_policy.py +21 -7
  143. pulumi_gcp/orgpolicy/policy.py +2 -2
  144. pulumi_gcp/privilegedaccessmanager/entitlement.py +7 -7
  145. pulumi_gcp/pubsub/subscription.py +4 -4
  146. pulumi_gcp/pulumi-plugin.json +1 -1
  147. pulumi_gcp/securesourcemanager/get_instance_iam_policy.py +6 -2
  148. pulumi_gcp/sql/_inputs.py +2 -4
  149. pulumi_gcp/sql/outputs.py +6 -8
  150. pulumi_gcp/storage/_inputs.py +48 -0
  151. pulumi_gcp/storage/outputs.py +75 -0
  152. pulumi_gcp/vertex/get_ai_endpoint_iam_policy.py +6 -2
  153. pulumi_gcp/workbench/get_instance_iam_policy.py +6 -2
  154. pulumi_gcp/workstations/get_workstation_config_iam_policy.py +6 -2
  155. pulumi_gcp/workstations/get_workstation_iam_policy.py +6 -2
  156. pulumi_gcp/workstations/workstation_config_iam_binding.py +21 -7
  157. pulumi_gcp/workstations/workstation_config_iam_member.py +21 -7
  158. pulumi_gcp/workstations/workstation_config_iam_policy.py +21 -7
  159. pulumi_gcp/workstations/workstation_iam_binding.py +21 -7
  160. pulumi_gcp/workstations/workstation_iam_member.py +21 -7
  161. pulumi_gcp/workstations/workstation_iam_policy.py +21 -7
  162. {pulumi_gcp-7.26.0a1717544115.dist-info → pulumi_gcp-7.26.0a1717690580.dist-info}/METADATA +1 -1
  163. {pulumi_gcp-7.26.0a1717544115.dist-info → pulumi_gcp-7.26.0a1717690580.dist-info}/RECORD +165 -156
  164. {pulumi_gcp-7.26.0a1717544115.dist-info → pulumi_gcp-7.26.0a1717690580.dist-info}/WHEEL +0 -0
  165. {pulumi_gcp-7.26.0a1717544115.dist-info → pulumi_gcp-7.26.0a1717690580.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,618 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import pulumi
8
+ import pulumi.runtime
9
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
10
+ from .. import _utilities
11
+
12
+ __all__ = ['EntryTypeIamPolicyArgs', 'EntryTypeIamPolicy']
13
+
14
+ @pulumi.input_type
15
+ class EntryTypeIamPolicyArgs:
16
+ def __init__(__self__, *,
17
+ entry_type_id: pulumi.Input[str],
18
+ policy_data: pulumi.Input[str],
19
+ location: Optional[pulumi.Input[str]] = None,
20
+ project: Optional[pulumi.Input[str]] = None):
21
+ """
22
+ The set of arguments for constructing a EntryTypeIamPolicy resource.
23
+ :param pulumi.Input[str] policy_data: The policy data generated by
24
+ a `organizations_get_iam_policy` data source.
25
+ :param pulumi.Input[str] location: The location where entry type will be created in.
26
+ Used to find the parent resource to bind the IAM policy to. If not specified,
27
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
28
+ location is specified, it is taken from the provider configuration.
29
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
30
+ 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.
31
+ """
32
+ pulumi.set(__self__, "entry_type_id", entry_type_id)
33
+ pulumi.set(__self__, "policy_data", policy_data)
34
+ if location is not None:
35
+ pulumi.set(__self__, "location", location)
36
+ if project is not None:
37
+ pulumi.set(__self__, "project", project)
38
+
39
+ @property
40
+ @pulumi.getter(name="entryTypeId")
41
+ def entry_type_id(self) -> pulumi.Input[str]:
42
+ return pulumi.get(self, "entry_type_id")
43
+
44
+ @entry_type_id.setter
45
+ def entry_type_id(self, value: pulumi.Input[str]):
46
+ pulumi.set(self, "entry_type_id", value)
47
+
48
+ @property
49
+ @pulumi.getter(name="policyData")
50
+ def policy_data(self) -> pulumi.Input[str]:
51
+ """
52
+ The policy data generated by
53
+ a `organizations_get_iam_policy` data source.
54
+ """
55
+ return pulumi.get(self, "policy_data")
56
+
57
+ @policy_data.setter
58
+ def policy_data(self, value: pulumi.Input[str]):
59
+ pulumi.set(self, "policy_data", value)
60
+
61
+ @property
62
+ @pulumi.getter
63
+ def location(self) -> Optional[pulumi.Input[str]]:
64
+ """
65
+ The location where entry type will be created in.
66
+ Used to find the parent resource to bind the IAM policy to. If not specified,
67
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
68
+ location is specified, it is taken from the provider configuration.
69
+ """
70
+ return pulumi.get(self, "location")
71
+
72
+ @location.setter
73
+ def location(self, value: Optional[pulumi.Input[str]]):
74
+ pulumi.set(self, "location", value)
75
+
76
+ @property
77
+ @pulumi.getter
78
+ def project(self) -> Optional[pulumi.Input[str]]:
79
+ """
80
+ The ID of the project in which the resource belongs.
81
+ 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.
82
+ """
83
+ return pulumi.get(self, "project")
84
+
85
+ @project.setter
86
+ def project(self, value: Optional[pulumi.Input[str]]):
87
+ pulumi.set(self, "project", value)
88
+
89
+
90
+ @pulumi.input_type
91
+ class _EntryTypeIamPolicyState:
92
+ def __init__(__self__, *,
93
+ entry_type_id: Optional[pulumi.Input[str]] = None,
94
+ etag: Optional[pulumi.Input[str]] = None,
95
+ location: Optional[pulumi.Input[str]] = None,
96
+ policy_data: Optional[pulumi.Input[str]] = None,
97
+ project: Optional[pulumi.Input[str]] = None):
98
+ """
99
+ Input properties used for looking up and filtering EntryTypeIamPolicy resources.
100
+ :param pulumi.Input[str] etag: (Computed) The etag of the IAM policy.
101
+ :param pulumi.Input[str] location: The location where entry type will be created in.
102
+ Used to find the parent resource to bind the IAM policy to. If not specified,
103
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
104
+ location is specified, it is taken from the provider configuration.
105
+ :param pulumi.Input[str] policy_data: The policy data generated by
106
+ a `organizations_get_iam_policy` data source.
107
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
108
+ 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.
109
+ """
110
+ if entry_type_id is not None:
111
+ pulumi.set(__self__, "entry_type_id", entry_type_id)
112
+ if etag is not None:
113
+ pulumi.set(__self__, "etag", etag)
114
+ if location is not None:
115
+ pulumi.set(__self__, "location", location)
116
+ if policy_data is not None:
117
+ pulumi.set(__self__, "policy_data", policy_data)
118
+ if project is not None:
119
+ pulumi.set(__self__, "project", project)
120
+
121
+ @property
122
+ @pulumi.getter(name="entryTypeId")
123
+ def entry_type_id(self) -> Optional[pulumi.Input[str]]:
124
+ return pulumi.get(self, "entry_type_id")
125
+
126
+ @entry_type_id.setter
127
+ def entry_type_id(self, value: Optional[pulumi.Input[str]]):
128
+ pulumi.set(self, "entry_type_id", value)
129
+
130
+ @property
131
+ @pulumi.getter
132
+ def etag(self) -> Optional[pulumi.Input[str]]:
133
+ """
134
+ (Computed) The etag of the IAM policy.
135
+ """
136
+ return pulumi.get(self, "etag")
137
+
138
+ @etag.setter
139
+ def etag(self, value: Optional[pulumi.Input[str]]):
140
+ pulumi.set(self, "etag", value)
141
+
142
+ @property
143
+ @pulumi.getter
144
+ def location(self) -> Optional[pulumi.Input[str]]:
145
+ """
146
+ The location where entry type will be created in.
147
+ Used to find the parent resource to bind the IAM policy to. If not specified,
148
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
149
+ location is specified, it is taken from the provider configuration.
150
+ """
151
+ return pulumi.get(self, "location")
152
+
153
+ @location.setter
154
+ def location(self, value: Optional[pulumi.Input[str]]):
155
+ pulumi.set(self, "location", value)
156
+
157
+ @property
158
+ @pulumi.getter(name="policyData")
159
+ def policy_data(self) -> Optional[pulumi.Input[str]]:
160
+ """
161
+ The policy data generated by
162
+ a `organizations_get_iam_policy` data source.
163
+ """
164
+ return pulumi.get(self, "policy_data")
165
+
166
+ @policy_data.setter
167
+ def policy_data(self, value: Optional[pulumi.Input[str]]):
168
+ pulumi.set(self, "policy_data", value)
169
+
170
+ @property
171
+ @pulumi.getter
172
+ def project(self) -> Optional[pulumi.Input[str]]:
173
+ """
174
+ The ID of the project in which the resource belongs.
175
+ 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.
176
+ """
177
+ return pulumi.get(self, "project")
178
+
179
+ @project.setter
180
+ def project(self, value: Optional[pulumi.Input[str]]):
181
+ pulumi.set(self, "project", value)
182
+
183
+
184
+ class EntryTypeIamPolicy(pulumi.CustomResource):
185
+ @overload
186
+ def __init__(__self__,
187
+ resource_name: str,
188
+ opts: Optional[pulumi.ResourceOptions] = None,
189
+ entry_type_id: Optional[pulumi.Input[str]] = None,
190
+ location: Optional[pulumi.Input[str]] = None,
191
+ policy_data: Optional[pulumi.Input[str]] = None,
192
+ project: Optional[pulumi.Input[str]] = None,
193
+ __props__=None):
194
+ """
195
+ Three different resources help you manage your IAM policy for Dataplex EntryType. Each of these resources serves a different use case:
196
+
197
+ * `dataplex.EntryTypeIamPolicy`: Authoritative. Sets the IAM policy for the entrytype and replaces any existing policy already attached.
198
+ * `dataplex.EntryTypeIamBinding`: 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 entrytype are preserved.
199
+ * `dataplex.EntryTypeIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the entrytype are preserved.
200
+
201
+ A data source can be used to retrieve policy data in advent you do not need creation
202
+
203
+ * `dataplex.EntryTypeIamPolicy`: Retrieves the IAM policy for the entrytype
204
+
205
+ > **Note:** `dataplex.EntryTypeIamPolicy` **cannot** be used in conjunction with `dataplex.EntryTypeIamBinding` and `dataplex.EntryTypeIamMember` or they will fight over what your policy should be.
206
+
207
+ > **Note:** `dataplex.EntryTypeIamBinding` resources **can be** used in conjunction with `dataplex.EntryTypeIamMember` resources **only if** they do not grant privilege to the same role.
208
+
209
+ ## dataplex.EntryTypeIamPolicy
210
+
211
+ ```python
212
+ import pulumi
213
+ import pulumi_gcp as gcp
214
+
215
+ admin = gcp.organizations.get_iam_policy(bindings=[gcp.organizations.GetIAMPolicyBindingArgs(
216
+ role="roles/viewer",
217
+ members=["user:jane@example.com"],
218
+ )])
219
+ policy = gcp.dataplex.EntryTypeIamPolicy("policy",
220
+ project=test_entry_type_basic["project"],
221
+ location=test_entry_type_basic["location"],
222
+ entry_type_id=test_entry_type_basic["entryTypeId"],
223
+ policy_data=admin.policy_data)
224
+ ```
225
+
226
+ ## dataplex.EntryTypeIamBinding
227
+
228
+ ```python
229
+ import pulumi
230
+ import pulumi_gcp as gcp
231
+
232
+ binding = gcp.dataplex.EntryTypeIamBinding("binding",
233
+ project=test_entry_type_basic["project"],
234
+ location=test_entry_type_basic["location"],
235
+ entry_type_id=test_entry_type_basic["entryTypeId"],
236
+ role="roles/viewer",
237
+ members=["user:jane@example.com"])
238
+ ```
239
+
240
+ ## dataplex.EntryTypeIamMember
241
+
242
+ ```python
243
+ import pulumi
244
+ import pulumi_gcp as gcp
245
+
246
+ member = gcp.dataplex.EntryTypeIamMember("member",
247
+ project=test_entry_type_basic["project"],
248
+ location=test_entry_type_basic["location"],
249
+ entry_type_id=test_entry_type_basic["entryTypeId"],
250
+ role="roles/viewer",
251
+ member="user:jane@example.com")
252
+ ```
253
+
254
+ ## dataplex.EntryTypeIamPolicy
255
+
256
+ ```python
257
+ import pulumi
258
+ import pulumi_gcp as gcp
259
+
260
+ admin = gcp.organizations.get_iam_policy(bindings=[gcp.organizations.GetIAMPolicyBindingArgs(
261
+ role="roles/viewer",
262
+ members=["user:jane@example.com"],
263
+ )])
264
+ policy = gcp.dataplex.EntryTypeIamPolicy("policy",
265
+ project=test_entry_type_basic["project"],
266
+ location=test_entry_type_basic["location"],
267
+ entry_type_id=test_entry_type_basic["entryTypeId"],
268
+ policy_data=admin.policy_data)
269
+ ```
270
+
271
+ ## dataplex.EntryTypeIamBinding
272
+
273
+ ```python
274
+ import pulumi
275
+ import pulumi_gcp as gcp
276
+
277
+ binding = gcp.dataplex.EntryTypeIamBinding("binding",
278
+ project=test_entry_type_basic["project"],
279
+ location=test_entry_type_basic["location"],
280
+ entry_type_id=test_entry_type_basic["entryTypeId"],
281
+ role="roles/viewer",
282
+ members=["user:jane@example.com"])
283
+ ```
284
+
285
+ ## dataplex.EntryTypeIamMember
286
+
287
+ ```python
288
+ import pulumi
289
+ import pulumi_gcp as gcp
290
+
291
+ member = gcp.dataplex.EntryTypeIamMember("member",
292
+ project=test_entry_type_basic["project"],
293
+ location=test_entry_type_basic["location"],
294
+ entry_type_id=test_entry_type_basic["entryTypeId"],
295
+ role="roles/viewer",
296
+ member="user:jane@example.com")
297
+ ```
298
+
299
+ ## Import
300
+
301
+ For all import syntaxes, the "resource in question" can take any of the following forms:
302
+
303
+ * projects/{{project}}/locations/{{location}}/entryTypes/{{entry_type_id}}
304
+
305
+ * {{project}}/{{location}}/{{entry_type_id}}
306
+
307
+ * {{location}}/{{entry_type_id}}
308
+
309
+ * {{entry_type_id}}
310
+
311
+ Any variables not passed in the import command will be taken from the provider configuration.
312
+
313
+ Dataplex entrytype IAM resources can be imported using the resource identifiers, role, and member.
314
+
315
+ IAM member imports use space-delimited identifiers: the resource in question, the role, and the member identity, e.g.
316
+
317
+ ```sh
318
+ $ pulumi import gcp:dataplex/entryTypeIamPolicy:EntryTypeIamPolicy editor "projects/{{project}}/locations/{{location}}/entryTypes/{{entry_type_id}} roles/viewer user:jane@example.com"
319
+ ```
320
+
321
+ IAM binding imports use space-delimited identifiers: the resource in question and the role, e.g.
322
+
323
+ ```sh
324
+ $ pulumi import gcp:dataplex/entryTypeIamPolicy:EntryTypeIamPolicy editor "projects/{{project}}/locations/{{location}}/entryTypes/{{entry_type_id}} roles/viewer"
325
+ ```
326
+
327
+ IAM policy imports use the identifier of the resource in question, e.g.
328
+
329
+ ```sh
330
+ $ pulumi import gcp:dataplex/entryTypeIamPolicy:EntryTypeIamPolicy editor projects/{{project}}/locations/{{location}}/entryTypes/{{entry_type_id}}
331
+ ```
332
+
333
+ -> **Custom Roles**: If you're importing a IAM resource with a custom role, make sure to use the
334
+
335
+ full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
336
+
337
+ :param str resource_name: The name of the resource.
338
+ :param pulumi.ResourceOptions opts: Options for the resource.
339
+ :param pulumi.Input[str] location: The location where entry type will be created in.
340
+ Used to find the parent resource to bind the IAM policy to. If not specified,
341
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
342
+ location is specified, it is taken from the provider configuration.
343
+ :param pulumi.Input[str] policy_data: The policy data generated by
344
+ a `organizations_get_iam_policy` data source.
345
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
346
+ 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.
347
+ """
348
+ ...
349
+ @overload
350
+ def __init__(__self__,
351
+ resource_name: str,
352
+ args: EntryTypeIamPolicyArgs,
353
+ opts: Optional[pulumi.ResourceOptions] = None):
354
+ """
355
+ Three different resources help you manage your IAM policy for Dataplex EntryType. Each of these resources serves a different use case:
356
+
357
+ * `dataplex.EntryTypeIamPolicy`: Authoritative. Sets the IAM policy for the entrytype and replaces any existing policy already attached.
358
+ * `dataplex.EntryTypeIamBinding`: 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 entrytype are preserved.
359
+ * `dataplex.EntryTypeIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the entrytype are preserved.
360
+
361
+ A data source can be used to retrieve policy data in advent you do not need creation
362
+
363
+ * `dataplex.EntryTypeIamPolicy`: Retrieves the IAM policy for the entrytype
364
+
365
+ > **Note:** `dataplex.EntryTypeIamPolicy` **cannot** be used in conjunction with `dataplex.EntryTypeIamBinding` and `dataplex.EntryTypeIamMember` or they will fight over what your policy should be.
366
+
367
+ > **Note:** `dataplex.EntryTypeIamBinding` resources **can be** used in conjunction with `dataplex.EntryTypeIamMember` resources **only if** they do not grant privilege to the same role.
368
+
369
+ ## dataplex.EntryTypeIamPolicy
370
+
371
+ ```python
372
+ import pulumi
373
+ import pulumi_gcp as gcp
374
+
375
+ admin = gcp.organizations.get_iam_policy(bindings=[gcp.organizations.GetIAMPolicyBindingArgs(
376
+ role="roles/viewer",
377
+ members=["user:jane@example.com"],
378
+ )])
379
+ policy = gcp.dataplex.EntryTypeIamPolicy("policy",
380
+ project=test_entry_type_basic["project"],
381
+ location=test_entry_type_basic["location"],
382
+ entry_type_id=test_entry_type_basic["entryTypeId"],
383
+ policy_data=admin.policy_data)
384
+ ```
385
+
386
+ ## dataplex.EntryTypeIamBinding
387
+
388
+ ```python
389
+ import pulumi
390
+ import pulumi_gcp as gcp
391
+
392
+ binding = gcp.dataplex.EntryTypeIamBinding("binding",
393
+ project=test_entry_type_basic["project"],
394
+ location=test_entry_type_basic["location"],
395
+ entry_type_id=test_entry_type_basic["entryTypeId"],
396
+ role="roles/viewer",
397
+ members=["user:jane@example.com"])
398
+ ```
399
+
400
+ ## dataplex.EntryTypeIamMember
401
+
402
+ ```python
403
+ import pulumi
404
+ import pulumi_gcp as gcp
405
+
406
+ member = gcp.dataplex.EntryTypeIamMember("member",
407
+ project=test_entry_type_basic["project"],
408
+ location=test_entry_type_basic["location"],
409
+ entry_type_id=test_entry_type_basic["entryTypeId"],
410
+ role="roles/viewer",
411
+ member="user:jane@example.com")
412
+ ```
413
+
414
+ ## dataplex.EntryTypeIamPolicy
415
+
416
+ ```python
417
+ import pulumi
418
+ import pulumi_gcp as gcp
419
+
420
+ admin = gcp.organizations.get_iam_policy(bindings=[gcp.organizations.GetIAMPolicyBindingArgs(
421
+ role="roles/viewer",
422
+ members=["user:jane@example.com"],
423
+ )])
424
+ policy = gcp.dataplex.EntryTypeIamPolicy("policy",
425
+ project=test_entry_type_basic["project"],
426
+ location=test_entry_type_basic["location"],
427
+ entry_type_id=test_entry_type_basic["entryTypeId"],
428
+ policy_data=admin.policy_data)
429
+ ```
430
+
431
+ ## dataplex.EntryTypeIamBinding
432
+
433
+ ```python
434
+ import pulumi
435
+ import pulumi_gcp as gcp
436
+
437
+ binding = gcp.dataplex.EntryTypeIamBinding("binding",
438
+ project=test_entry_type_basic["project"],
439
+ location=test_entry_type_basic["location"],
440
+ entry_type_id=test_entry_type_basic["entryTypeId"],
441
+ role="roles/viewer",
442
+ members=["user:jane@example.com"])
443
+ ```
444
+
445
+ ## dataplex.EntryTypeIamMember
446
+
447
+ ```python
448
+ import pulumi
449
+ import pulumi_gcp as gcp
450
+
451
+ member = gcp.dataplex.EntryTypeIamMember("member",
452
+ project=test_entry_type_basic["project"],
453
+ location=test_entry_type_basic["location"],
454
+ entry_type_id=test_entry_type_basic["entryTypeId"],
455
+ role="roles/viewer",
456
+ member="user:jane@example.com")
457
+ ```
458
+
459
+ ## Import
460
+
461
+ For all import syntaxes, the "resource in question" can take any of the following forms:
462
+
463
+ * projects/{{project}}/locations/{{location}}/entryTypes/{{entry_type_id}}
464
+
465
+ * {{project}}/{{location}}/{{entry_type_id}}
466
+
467
+ * {{location}}/{{entry_type_id}}
468
+
469
+ * {{entry_type_id}}
470
+
471
+ Any variables not passed in the import command will be taken from the provider configuration.
472
+
473
+ Dataplex entrytype IAM resources can be imported using the resource identifiers, role, and member.
474
+
475
+ IAM member imports use space-delimited identifiers: the resource in question, the role, and the member identity, e.g.
476
+
477
+ ```sh
478
+ $ pulumi import gcp:dataplex/entryTypeIamPolicy:EntryTypeIamPolicy editor "projects/{{project}}/locations/{{location}}/entryTypes/{{entry_type_id}} roles/viewer user:jane@example.com"
479
+ ```
480
+
481
+ IAM binding imports use space-delimited identifiers: the resource in question and the role, e.g.
482
+
483
+ ```sh
484
+ $ pulumi import gcp:dataplex/entryTypeIamPolicy:EntryTypeIamPolicy editor "projects/{{project}}/locations/{{location}}/entryTypes/{{entry_type_id}} roles/viewer"
485
+ ```
486
+
487
+ IAM policy imports use the identifier of the resource in question, e.g.
488
+
489
+ ```sh
490
+ $ pulumi import gcp:dataplex/entryTypeIamPolicy:EntryTypeIamPolicy editor projects/{{project}}/locations/{{location}}/entryTypes/{{entry_type_id}}
491
+ ```
492
+
493
+ -> **Custom Roles**: If you're importing a IAM resource with a custom role, make sure to use the
494
+
495
+ full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
496
+
497
+ :param str resource_name: The name of the resource.
498
+ :param EntryTypeIamPolicyArgs args: The arguments to use to populate this resource's properties.
499
+ :param pulumi.ResourceOptions opts: Options for the resource.
500
+ """
501
+ ...
502
+ def __init__(__self__, resource_name: str, *args, **kwargs):
503
+ resource_args, opts = _utilities.get_resource_args_opts(EntryTypeIamPolicyArgs, pulumi.ResourceOptions, *args, **kwargs)
504
+ if resource_args is not None:
505
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
506
+ else:
507
+ __self__._internal_init(resource_name, *args, **kwargs)
508
+
509
+ def _internal_init(__self__,
510
+ resource_name: str,
511
+ opts: Optional[pulumi.ResourceOptions] = None,
512
+ entry_type_id: Optional[pulumi.Input[str]] = None,
513
+ location: Optional[pulumi.Input[str]] = None,
514
+ policy_data: Optional[pulumi.Input[str]] = None,
515
+ project: Optional[pulumi.Input[str]] = None,
516
+ __props__=None):
517
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
518
+ if not isinstance(opts, pulumi.ResourceOptions):
519
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
520
+ if opts.id is None:
521
+ if __props__ is not None:
522
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
523
+ __props__ = EntryTypeIamPolicyArgs.__new__(EntryTypeIamPolicyArgs)
524
+
525
+ if entry_type_id is None and not opts.urn:
526
+ raise TypeError("Missing required property 'entry_type_id'")
527
+ __props__.__dict__["entry_type_id"] = entry_type_id
528
+ __props__.__dict__["location"] = location
529
+ if policy_data is None and not opts.urn:
530
+ raise TypeError("Missing required property 'policy_data'")
531
+ __props__.__dict__["policy_data"] = policy_data
532
+ __props__.__dict__["project"] = project
533
+ __props__.__dict__["etag"] = None
534
+ super(EntryTypeIamPolicy, __self__).__init__(
535
+ 'gcp:dataplex/entryTypeIamPolicy:EntryTypeIamPolicy',
536
+ resource_name,
537
+ __props__,
538
+ opts)
539
+
540
+ @staticmethod
541
+ def get(resource_name: str,
542
+ id: pulumi.Input[str],
543
+ opts: Optional[pulumi.ResourceOptions] = None,
544
+ entry_type_id: Optional[pulumi.Input[str]] = None,
545
+ etag: Optional[pulumi.Input[str]] = None,
546
+ location: Optional[pulumi.Input[str]] = None,
547
+ policy_data: Optional[pulumi.Input[str]] = None,
548
+ project: Optional[pulumi.Input[str]] = None) -> 'EntryTypeIamPolicy':
549
+ """
550
+ Get an existing EntryTypeIamPolicy resource's state with the given name, id, and optional extra
551
+ properties used to qualify the lookup.
552
+
553
+ :param str resource_name: The unique name of the resulting resource.
554
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
555
+ :param pulumi.ResourceOptions opts: Options for the resource.
556
+ :param pulumi.Input[str] etag: (Computed) The etag of the IAM policy.
557
+ :param pulumi.Input[str] location: The location where entry type will be created in.
558
+ Used to find the parent resource to bind the IAM policy to. If not specified,
559
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
560
+ location is specified, it is taken from the provider configuration.
561
+ :param pulumi.Input[str] policy_data: The policy data generated by
562
+ a `organizations_get_iam_policy` data source.
563
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
564
+ 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.
565
+ """
566
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
567
+
568
+ __props__ = _EntryTypeIamPolicyState.__new__(_EntryTypeIamPolicyState)
569
+
570
+ __props__.__dict__["entry_type_id"] = entry_type_id
571
+ __props__.__dict__["etag"] = etag
572
+ __props__.__dict__["location"] = location
573
+ __props__.__dict__["policy_data"] = policy_data
574
+ __props__.__dict__["project"] = project
575
+ return EntryTypeIamPolicy(resource_name, opts=opts, __props__=__props__)
576
+
577
+ @property
578
+ @pulumi.getter(name="entryTypeId")
579
+ def entry_type_id(self) -> pulumi.Output[str]:
580
+ return pulumi.get(self, "entry_type_id")
581
+
582
+ @property
583
+ @pulumi.getter
584
+ def etag(self) -> pulumi.Output[str]:
585
+ """
586
+ (Computed) The etag of the IAM policy.
587
+ """
588
+ return pulumi.get(self, "etag")
589
+
590
+ @property
591
+ @pulumi.getter
592
+ def location(self) -> pulumi.Output[str]:
593
+ """
594
+ The location where entry type will be created in.
595
+ Used to find the parent resource to bind the IAM policy to. If not specified,
596
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
597
+ location is specified, it is taken from the provider configuration.
598
+ """
599
+ return pulumi.get(self, "location")
600
+
601
+ @property
602
+ @pulumi.getter(name="policyData")
603
+ def policy_data(self) -> pulumi.Output[str]:
604
+ """
605
+ The policy data generated by
606
+ a `organizations_get_iam_policy` data source.
607
+ """
608
+ return pulumi.get(self, "policy_data")
609
+
610
+ @property
611
+ @pulumi.getter
612
+ def project(self) -> pulumi.Output[str]:
613
+ """
614
+ The ID of the project in which the resource belongs.
615
+ 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.
616
+ """
617
+ return pulumi.get(self, "project")
618
+
@@ -116,7 +116,9 @@ def get_aspect_type_iam_policy(aspect_type_id: Optional[str] = None,
116
116
 
117
117
 
118
118
  :param str location: The location where aspect type will be created in.
119
- Used to find the parent resource to bind the IAM policy to
119
+ Used to find the parent resource to bind the IAM policy to. If not specified,
120
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
121
+ location is specified, it is taken from the provider configuration.
120
122
  :param str project: The ID of the project in which the resource belongs.
121
123
  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.
122
124
  """
@@ -157,7 +159,9 @@ def get_aspect_type_iam_policy_output(aspect_type_id: Optional[pulumi.Input[str]
157
159
 
158
160
 
159
161
  :param str location: The location where aspect type will be created in.
160
- Used to find the parent resource to bind the IAM policy to
162
+ Used to find the parent resource to bind the IAM policy to. If not specified,
163
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
164
+ location is specified, it is taken from the provider configuration.
161
165
  :param str project: The ID of the project in which the resource belongs.
162
166
  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.
163
167
  """
@@ -116,7 +116,9 @@ def get_datascan_iam_policy(data_scan_id: Optional[str] = None,
116
116
 
117
117
 
118
118
  :param str location: The location where the data scan should reside.
119
- Used to find the parent resource to bind the IAM policy to
119
+ Used to find the parent resource to bind the IAM policy to. If not specified,
120
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
121
+ location is specified, it is taken from the provider configuration.
120
122
  :param str project: The ID of the project in which the resource belongs.
121
123
  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.
122
124
  """
@@ -157,7 +159,9 @@ def get_datascan_iam_policy_output(data_scan_id: Optional[pulumi.Input[str]] = N
157
159
 
158
160
 
159
161
  :param str location: The location where the data scan should reside.
160
- Used to find the parent resource to bind the IAM policy to
162
+ Used to find the parent resource to bind the IAM policy to. If not specified,
163
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
164
+ location is specified, it is taken from the provider configuration.
161
165
  :param str project: The ID of the project in which the resource belongs.
162
166
  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.
163
167
  """