pulumi-gcp 8.32.0a1747377897__py3-none-any.whl → 8.32.0a1747834582__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 (256) hide show
  1. pulumi_gcp/__init__.py +88 -0
  2. pulumi_gcp/accesscontextmanager/authorized_orgs_desc.py +2 -2
  3. pulumi_gcp/apigateway/api_config_iam_binding.py +13 -0
  4. pulumi_gcp/apigateway/api_config_iam_member.py +13 -0
  5. pulumi_gcp/apigateway/api_config_iam_policy.py +13 -0
  6. pulumi_gcp/apigateway/api_iam_binding.py +13 -0
  7. pulumi_gcp/apigateway/api_iam_member.py +13 -0
  8. pulumi_gcp/apigateway/api_iam_policy.py +13 -0
  9. pulumi_gcp/apigateway/gateway_iam_binding.py +13 -0
  10. pulumi_gcp/apigateway/gateway_iam_member.py +13 -0
  11. pulumi_gcp/apigateway/gateway_iam_policy.py +13 -0
  12. pulumi_gcp/apigateway/get_api_config_iam_policy.py +2 -0
  13. pulumi_gcp/apigateway/get_api_iam_policy.py +2 -0
  14. pulumi_gcp/apigateway/get_gateway_iam_policy.py +2 -0
  15. pulumi_gcp/apigee/environment_iam_binding.py +27 -0
  16. pulumi_gcp/apigee/environment_iam_member.py +27 -0
  17. pulumi_gcp/apigee/environment_iam_policy.py +27 -0
  18. pulumi_gcp/apigee/get_environment_iam_policy.py +6 -0
  19. pulumi_gcp/beyondcorp/__init__.py +1 -0
  20. pulumi_gcp/beyondcorp/application.py +8 -4
  21. pulumi_gcp/beyondcorp/application_iam_binding.py +26 -0
  22. pulumi_gcp/beyondcorp/application_iam_member.py +26 -0
  23. pulumi_gcp/beyondcorp/application_iam_policy.py +26 -0
  24. pulumi_gcp/beyondcorp/get_application_iam_policy.py +4 -0
  25. pulumi_gcp/beyondcorp/get_security_gateway.py +222 -0
  26. pulumi_gcp/beyondcorp/get_security_gateway_iam_policy.py +2 -0
  27. pulumi_gcp/beyondcorp/outputs.py +45 -0
  28. pulumi_gcp/beyondcorp/security_gateway_iam_binding.py +13 -0
  29. pulumi_gcp/beyondcorp/security_gateway_iam_member.py +13 -0
  30. pulumi_gcp/beyondcorp/security_gateway_iam_policy.py +13 -0
  31. pulumi_gcp/bigquery/__init__.py +1 -0
  32. pulumi_gcp/bigquery/connection_iam_binding.py +4 -11
  33. pulumi_gcp/bigquery/connection_iam_member.py +4 -11
  34. pulumi_gcp/bigquery/connection_iam_policy.py +4 -11
  35. pulumi_gcp/bigquery/data_transfer_config.py +2 -2
  36. pulumi_gcp/bigquery/get_connection_iam_policy.py +2 -4
  37. pulumi_gcp/bigquery/get_table_iam_policy.py +4 -0
  38. pulumi_gcp/bigquery/iam_binding.py +26 -0
  39. pulumi_gcp/bigquery/iam_member.py +26 -0
  40. pulumi_gcp/bigquery/iam_policy.py +26 -0
  41. pulumi_gcp/bigquery/row_access_policy.py +787 -0
  42. pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_binding.py +7 -7
  43. pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_member.py +7 -7
  44. pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_policy.py +7 -7
  45. pulumi_gcp/bigqueryanalyticshub/get_data_exchange_iam_policy.py +2 -2
  46. pulumi_gcp/bigqueryanalyticshub/get_listing_iam_policy.py +2 -2
  47. pulumi_gcp/bigqueryanalyticshub/listing_iam_binding.py +7 -7
  48. pulumi_gcp/bigqueryanalyticshub/listing_iam_member.py +7 -7
  49. pulumi_gcp/bigqueryanalyticshub/listing_iam_policy.py +7 -7
  50. pulumi_gcp/bigqueryanalyticshub/listing_subscription.py +6 -6
  51. pulumi_gcp/bigquerydatapolicy/data_policy_iam_binding.py +13 -0
  52. pulumi_gcp/bigquerydatapolicy/data_policy_iam_member.py +13 -0
  53. pulumi_gcp/bigquerydatapolicy/data_policy_iam_policy.py +13 -0
  54. pulumi_gcp/bigquerydatapolicy/get_iam_policy.py +2 -0
  55. pulumi_gcp/bigtable/logical_view.py +49 -0
  56. pulumi_gcp/cloudbuild/trigger.py +2 -2
  57. pulumi_gcp/clouddeploy/get_delivery_pipeline_iam_policy.py +6 -0
  58. pulumi_gcp/clouddeploy/get_target_iam_policy.py +6 -0
  59. pulumi_gcp/colab/schedule.py +2 -2
  60. pulumi_gcp/compute/_inputs.py +126 -0
  61. pulumi_gcp/compute/backend_service.py +259 -51
  62. pulumi_gcp/compute/get_backend_service.py +23 -1
  63. pulumi_gcp/compute/get_global_forwarding_rule.py +23 -1
  64. pulumi_gcp/compute/get_instance_template.py +12 -1
  65. pulumi_gcp/compute/get_network_endpoint_group.py +12 -1
  66. pulumi_gcp/compute/global_forwarding_rule.py +199 -0
  67. pulumi_gcp/compute/instance_template.py +28 -0
  68. pulumi_gcp/compute/network_endpoint_group.py +28 -0
  69. pulumi_gcp/compute/outputs.py +110 -0
  70. pulumi_gcp/compute/region_backend_service.py +58 -51
  71. pulumi_gcp/container/cluster.py +47 -0
  72. pulumi_gcp/container/get_cluster.py +12 -1
  73. pulumi_gcp/datacatalog/entry_group_iam_binding.py +34 -0
  74. pulumi_gcp/datacatalog/entry_group_iam_member.py +34 -0
  75. pulumi_gcp/datacatalog/entry_group_iam_policy.py +34 -0
  76. pulumi_gcp/datacatalog/get_entry_group_iam_policy.py +8 -0
  77. pulumi_gcp/datacatalog/get_tag_template_iam_policy.py +8 -0
  78. pulumi_gcp/datacatalog/get_taxonomy_iam_policy.py +8 -0
  79. pulumi_gcp/datacatalog/tag_template_iam_binding.py +34 -0
  80. pulumi_gcp/datacatalog/tag_template_iam_member.py +34 -0
  81. pulumi_gcp/datacatalog/tag_template_iam_policy.py +34 -0
  82. pulumi_gcp/datacatalog/taxonomy_iam_binding.py +34 -0
  83. pulumi_gcp/datacatalog/taxonomy_iam_member.py +34 -0
  84. pulumi_gcp/datacatalog/taxonomy_iam_policy.py +34 -0
  85. pulumi_gcp/dataplex/__init__.py +5 -0
  86. pulumi_gcp/dataplex/_inputs.py +98 -0
  87. pulumi_gcp/dataplex/aspect_type_iam_binding.py +13 -0
  88. pulumi_gcp/dataplex/aspect_type_iam_member.py +13 -0
  89. pulumi_gcp/dataplex/aspect_type_iam_policy.py +13 -0
  90. pulumi_gcp/dataplex/asset_iam_binding.py +53 -0
  91. pulumi_gcp/dataplex/asset_iam_member.py +53 -0
  92. pulumi_gcp/dataplex/asset_iam_policy.py +53 -0
  93. pulumi_gcp/dataplex/datascan_iam_binding.py +13 -0
  94. pulumi_gcp/dataplex/datascan_iam_member.py +13 -0
  95. pulumi_gcp/dataplex/datascan_iam_policy.py +13 -0
  96. pulumi_gcp/dataplex/entry_group_iam_binding.py +13 -0
  97. pulumi_gcp/dataplex/entry_group_iam_member.py +13 -0
  98. pulumi_gcp/dataplex/entry_group_iam_policy.py +13 -0
  99. pulumi_gcp/dataplex/entry_type_iam_binding.py +13 -0
  100. pulumi_gcp/dataplex/entry_type_iam_member.py +13 -0
  101. pulumi_gcp/dataplex/entry_type_iam_policy.py +13 -0
  102. pulumi_gcp/dataplex/get_aspect_type_iam_policy.py +2 -0
  103. pulumi_gcp/dataplex/get_asset_iam_policy.py +10 -0
  104. pulumi_gcp/dataplex/get_datascan_iam_policy.py +2 -0
  105. pulumi_gcp/dataplex/get_entry_group_iam_policy.py +2 -0
  106. pulumi_gcp/dataplex/get_entry_type_iam_policy.py +2 -0
  107. pulumi_gcp/dataplex/get_glossary_iam_policy.py +185 -0
  108. pulumi_gcp/dataplex/get_lake_iam_policy.py +6 -0
  109. pulumi_gcp/dataplex/get_task_iam_policy.py +2 -0
  110. pulumi_gcp/dataplex/get_zone_iam_policy.py +8 -0
  111. pulumi_gcp/dataplex/glossary.py +772 -0
  112. pulumi_gcp/dataplex/glossary_iam_binding.py +837 -0
  113. pulumi_gcp/dataplex/glossary_iam_member.py +837 -0
  114. pulumi_gcp/dataplex/glossary_iam_policy.py +676 -0
  115. pulumi_gcp/dataplex/lake_iam_binding.py +27 -0
  116. pulumi_gcp/dataplex/lake_iam_member.py +27 -0
  117. pulumi_gcp/dataplex/lake_iam_policy.py +27 -0
  118. pulumi_gcp/dataplex/outputs.py +56 -0
  119. pulumi_gcp/dataplex/task_iam_binding.py +13 -0
  120. pulumi_gcp/dataplex/task_iam_member.py +13 -0
  121. pulumi_gcp/dataplex/task_iam_policy.py +13 -0
  122. pulumi_gcp/dataplex/zone_iam_binding.py +40 -0
  123. pulumi_gcp/dataplex/zone_iam_member.py +40 -0
  124. pulumi_gcp/dataplex/zone_iam_policy.py +40 -0
  125. pulumi_gcp/dataproc/autoscaling_policy_iam_binding.py +4 -25
  126. pulumi_gcp/dataproc/autoscaling_policy_iam_member.py +4 -25
  127. pulumi_gcp/dataproc/autoscaling_policy_iam_policy.py +4 -25
  128. pulumi_gcp/dataproc/get_autoscaling_policy_iam_policy.py +2 -8
  129. pulumi_gcp/dataproc/get_metastore_database_iam_policy.py +8 -0
  130. pulumi_gcp/dataproc/get_metastore_federation_iam_policy.py +2 -0
  131. pulumi_gcp/dataproc/get_metastore_service_iam_policy.py +2 -0
  132. pulumi_gcp/dataproc/get_metastore_table_iam_policy.py +10 -0
  133. pulumi_gcp/dataproc/metastore_database_iam_binding.py +40 -0
  134. pulumi_gcp/dataproc/metastore_database_iam_member.py +40 -0
  135. pulumi_gcp/dataproc/metastore_database_iam_policy.py +40 -0
  136. pulumi_gcp/dataproc/metastore_federation_iam_binding.py +13 -0
  137. pulumi_gcp/dataproc/metastore_federation_iam_member.py +13 -0
  138. pulumi_gcp/dataproc/metastore_federation_iam_policy.py +13 -0
  139. pulumi_gcp/dataproc/metastore_service_iam_binding.py +13 -0
  140. pulumi_gcp/dataproc/metastore_service_iam_member.py +13 -0
  141. pulumi_gcp/dataproc/metastore_service_iam_policy.py +13 -0
  142. pulumi_gcp/dataproc/metastore_table_iam_binding.py +53 -0
  143. pulumi_gcp/dataproc/metastore_table_iam_member.py +53 -0
  144. pulumi_gcp/dataproc/metastore_table_iam_policy.py +53 -0
  145. pulumi_gcp/diagflow/_inputs.py +56 -0
  146. pulumi_gcp/diagflow/cx_agent.py +60 -0
  147. pulumi_gcp/diagflow/cx_flow.py +2 -0
  148. pulumi_gcp/diagflow/entity_type.py +2 -2
  149. pulumi_gcp/diagflow/outputs.py +35 -0
  150. pulumi_gcp/edgecontainer/node_pool.py +2 -2
  151. pulumi_gcp/endpoints/consumers_iam_binding.py +26 -0
  152. pulumi_gcp/endpoints/consumers_iam_member.py +26 -0
  153. pulumi_gcp/endpoints/consumers_iam_policy.py +26 -0
  154. pulumi_gcp/endpoints/get_service_consumers_iam_policy.py +8 -0
  155. pulumi_gcp/endpoints/get_service_iam_policy.py +6 -0
  156. pulumi_gcp/endpoints/service_iam_binding.py +13 -0
  157. pulumi_gcp/endpoints/service_iam_member.py +13 -0
  158. pulumi_gcp/endpoints/service_iam_policy.py +13 -0
  159. pulumi_gcp/firebase/__init__.py +3 -0
  160. pulumi_gcp/firebase/_inputs.py +1527 -0
  161. pulumi_gcp/firebase/app_hosting_backend.py +104 -0
  162. pulumi_gcp/firebase/app_hosting_default_domain.py +721 -0
  163. pulumi_gcp/firebase/app_hosting_domain.py +796 -0
  164. pulumi_gcp/firebase/app_hosting_traffic.py +914 -0
  165. pulumi_gcp/firebase/extensions_instance.py +4 -4
  166. pulumi_gcp/firebase/outputs.py +1075 -0
  167. pulumi_gcp/firestore/database.py +9 -0
  168. pulumi_gcp/gemini/get_repository_group_iam_policy.py +4 -0
  169. pulumi_gcp/gemini/repository_group_iam_binding.py +26 -0
  170. pulumi_gcp/gemini/repository_group_iam_member.py +26 -0
  171. pulumi_gcp/gemini/repository_group_iam_policy.py +26 -0
  172. pulumi_gcp/gkebackup/backup_channel.py +9 -9
  173. pulumi_gcp/gkebackup/restore_channel.py +9 -9
  174. pulumi_gcp/gkehub/get_membership_iam_policy.py +2 -0
  175. pulumi_gcp/gkehub/get_scope_iam_policy.py +2 -0
  176. pulumi_gcp/gkehub/membership_iam_binding.py +13 -0
  177. pulumi_gcp/gkehub/membership_iam_member.py +13 -0
  178. pulumi_gcp/gkehub/membership_iam_policy.py +13 -0
  179. pulumi_gcp/gkehub/scope_iam_binding.py +13 -0
  180. pulumi_gcp/gkehub/scope_iam_member.py +13 -0
  181. pulumi_gcp/gkehub/scope_iam_policy.py +13 -0
  182. pulumi_gcp/iam/__init__.py +4 -0
  183. pulumi_gcp/iam/_inputs.py +432 -0
  184. pulumi_gcp/iam/get_workload_identity_pool.py +35 -1
  185. pulumi_gcp/iam/get_workload_identity_pool_iam_policy.py +156 -0
  186. pulumi_gcp/iam/oauth_client_credential.py +6 -0
  187. pulumi_gcp/iam/outputs.py +510 -0
  188. pulumi_gcp/iam/workload_identity_pool.py +446 -24
  189. pulumi_gcp/iam/workload_identity_pool_iam_binding.py +539 -0
  190. pulumi_gcp/iam/workload_identity_pool_iam_member.py +539 -0
  191. pulumi_gcp/iam/workload_identity_pool_iam_policy.py +358 -0
  192. pulumi_gcp/iap/app_engine_service_iam_binding.py +14 -14
  193. pulumi_gcp/iap/app_engine_service_iam_member.py +14 -14
  194. pulumi_gcp/iap/app_engine_service_iam_policy.py +14 -14
  195. pulumi_gcp/iap/app_engine_version_iam_binding.py +14 -14
  196. pulumi_gcp/iap/app_engine_version_iam_member.py +14 -14
  197. pulumi_gcp/iap/app_engine_version_iam_policy.py +14 -14
  198. pulumi_gcp/iap/get_app_engine_service_iam_policy.py +4 -4
  199. pulumi_gcp/iap/get_app_engine_version_iam_policy.py +4 -4
  200. pulumi_gcp/iap/get_tunnel_dest_group_iam_policy.py +2 -0
  201. pulumi_gcp/iap/get_tunnel_instance_iam_policy.py +6 -0
  202. pulumi_gcp/iap/get_web_region_backend_service_iam_policy.py +6 -0
  203. pulumi_gcp/iap/get_web_type_app_engine_iam_policy.py +2 -2
  204. pulumi_gcp/iap/tunnel_dest_group_iam_binding.py +13 -0
  205. pulumi_gcp/iap/tunnel_dest_group_iam_member.py +13 -0
  206. pulumi_gcp/iap/tunnel_dest_group_iam_policy.py +13 -0
  207. pulumi_gcp/iap/tunnel_instance_iam_binding.py +27 -0
  208. pulumi_gcp/iap/tunnel_instance_iam_member.py +27 -0
  209. pulumi_gcp/iap/tunnel_instance_iam_policy.py +27 -0
  210. pulumi_gcp/iap/web_region_backend_service_iam_binding.py +27 -0
  211. pulumi_gcp/iap/web_region_backend_service_iam_member.py +27 -0
  212. pulumi_gcp/iap/web_region_backend_service_iam_policy.py +27 -0
  213. pulumi_gcp/iap/web_type_app_enging_iam_binding.py +7 -7
  214. pulumi_gcp/iap/web_type_app_enging_iam_member.py +7 -7
  215. pulumi_gcp/iap/web_type_app_enging_iam_policy.py +7 -7
  216. pulumi_gcp/lustre/__init__.py +1 -0
  217. pulumi_gcp/lustre/get_instance.py +280 -0
  218. pulumi_gcp/lustre/instance.py +12 -0
  219. pulumi_gcp/netapp/backup.py +2 -2
  220. pulumi_gcp/networksecurity/intercept_deployment.py +10 -0
  221. pulumi_gcp/networksecurity/intercept_deployment_group.py +8 -0
  222. pulumi_gcp/networksecurity/intercept_endpoint_group.py +12 -0
  223. pulumi_gcp/networksecurity/intercept_endpoint_group_association.py +16 -0
  224. pulumi_gcp/pulumi-plugin.json +1 -1
  225. pulumi_gcp/secretmanager/get_regional_secret_iam_policy.py +2 -0
  226. pulumi_gcp/secretmanager/get_secret_iam_policy.py +2 -0
  227. pulumi_gcp/secretmanager/regional_secret_iam_binding.py +13 -0
  228. pulumi_gcp/secretmanager/regional_secret_iam_member.py +13 -0
  229. pulumi_gcp/secretmanager/regional_secret_iam_policy.py +13 -0
  230. pulumi_gcp/secretmanager/secret_iam_binding.py +13 -0
  231. pulumi_gcp/secretmanager/secret_iam_member.py +13 -0
  232. pulumi_gcp/secretmanager/secret_iam_policy.py +13 -0
  233. pulumi_gcp/securesourcemanager/get_instance_iam_policy.py +2 -4
  234. pulumi_gcp/securesourcemanager/get_repository_iam_policy.py +2 -4
  235. pulumi_gcp/securesourcemanager/repository_iam_binding.py +4 -11
  236. pulumi_gcp/securesourcemanager/repository_iam_member.py +4 -11
  237. pulumi_gcp/securesourcemanager/repository_iam_policy.py +4 -11
  238. pulumi_gcp/securitycenter/v2_organization_scc_big_query_export.py +2 -2
  239. pulumi_gcp/securitycenter/v2_organization_scc_big_query_exports.py +2 -2
  240. pulumi_gcp/vertex/ai_feature_online_store_featureview_iam_binding.py +13 -0
  241. pulumi_gcp/vertex/ai_feature_online_store_featureview_iam_member.py +13 -0
  242. pulumi_gcp/vertex/ai_feature_online_store_featureview_iam_policy.py +13 -0
  243. pulumi_gcp/vertex/get_ai_feature_online_store_featureview_iam_policy.py +2 -0
  244. pulumi_gcp/vmwareengine/external_address.py +4 -4
  245. pulumi_gcp/workstations/get_workstation_config_iam_policy.py +6 -0
  246. pulumi_gcp/workstations/get_workstation_iam_policy.py +10 -0
  247. pulumi_gcp/workstations/workstation_config_iam_binding.py +33 -0
  248. pulumi_gcp/workstations/workstation_config_iam_member.py +33 -0
  249. pulumi_gcp/workstations/workstation_config_iam_policy.py +33 -0
  250. pulumi_gcp/workstations/workstation_iam_binding.py +53 -0
  251. pulumi_gcp/workstations/workstation_iam_member.py +53 -0
  252. pulumi_gcp/workstations/workstation_iam_policy.py +53 -0
  253. {pulumi_gcp-8.32.0a1747377897.dist-info → pulumi_gcp-8.32.0a1747834582.dist-info}/METADATA +1 -1
  254. {pulumi_gcp-8.32.0a1747377897.dist-info → pulumi_gcp-8.32.0a1747834582.dist-info}/RECORD +256 -241
  255. {pulumi_gcp-8.32.0a1747377897.dist-info → pulumi_gcp-8.32.0a1747834582.dist-info}/WHEEL +1 -1
  256. {pulumi_gcp-8.32.0a1747377897.dist-info → pulumi_gcp-8.32.0a1747834582.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,676 @@
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__ = ['GlossaryIamPolicyArgs', 'GlossaryIamPolicy']
19
+
20
+ @pulumi.input_type
21
+ class GlossaryIamPolicyArgs:
22
+ def __init__(__self__, *,
23
+ glossary_id: 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 GlossaryIamPolicy resource.
29
+ :param pulumi.Input[builtins.str] glossary_id: 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 where the glossary should reside.
33
+ Used to find the parent resource to bind the IAM policy to. If not specified,
34
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
35
+ location is specified, it is taken from the provider configuration.
36
+ :param pulumi.Input[builtins.str] project: The ID of the project in which the resource belongs.
37
+ 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.
38
+ """
39
+ pulumi.set(__self__, "glossary_id", glossary_id)
40
+ pulumi.set(__self__, "policy_data", policy_data)
41
+ if location is not None:
42
+ pulumi.set(__self__, "location", location)
43
+ if project is not None:
44
+ pulumi.set(__self__, "project", project)
45
+
46
+ @property
47
+ @pulumi.getter(name="glossaryId")
48
+ def glossary_id(self) -> pulumi.Input[builtins.str]:
49
+ """
50
+ Used to find the parent resource to bind the IAM policy to
51
+ """
52
+ return pulumi.get(self, "glossary_id")
53
+
54
+ @glossary_id.setter
55
+ def glossary_id(self, value: pulumi.Input[builtins.str]):
56
+ pulumi.set(self, "glossary_id", value)
57
+
58
+ @property
59
+ @pulumi.getter(name="policyData")
60
+ def policy_data(self) -> pulumi.Input[builtins.str]:
61
+ """
62
+ The policy data generated by
63
+ a `organizations_get_iam_policy` data source.
64
+ """
65
+ return pulumi.get(self, "policy_data")
66
+
67
+ @policy_data.setter
68
+ def policy_data(self, value: pulumi.Input[builtins.str]):
69
+ pulumi.set(self, "policy_data", value)
70
+
71
+ @property
72
+ @pulumi.getter
73
+ def location(self) -> Optional[pulumi.Input[builtins.str]]:
74
+ """
75
+ The location where the glossary should reside.
76
+ Used to find the parent resource to bind the IAM policy to. If not specified,
77
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
78
+ location is specified, it is taken from the provider configuration.
79
+ """
80
+ return pulumi.get(self, "location")
81
+
82
+ @location.setter
83
+ def location(self, value: Optional[pulumi.Input[builtins.str]]):
84
+ pulumi.set(self, "location", value)
85
+
86
+ @property
87
+ @pulumi.getter
88
+ def project(self) -> Optional[pulumi.Input[builtins.str]]:
89
+ """
90
+ The ID of the project in which the resource belongs.
91
+ 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.
92
+ """
93
+ return pulumi.get(self, "project")
94
+
95
+ @project.setter
96
+ def project(self, value: Optional[pulumi.Input[builtins.str]]):
97
+ pulumi.set(self, "project", value)
98
+
99
+
100
+ @pulumi.input_type
101
+ class _GlossaryIamPolicyState:
102
+ def __init__(__self__, *,
103
+ etag: Optional[pulumi.Input[builtins.str]] = None,
104
+ glossary_id: Optional[pulumi.Input[builtins.str]] = None,
105
+ location: Optional[pulumi.Input[builtins.str]] = None,
106
+ policy_data: Optional[pulumi.Input[builtins.str]] = None,
107
+ project: Optional[pulumi.Input[builtins.str]] = None):
108
+ """
109
+ Input properties used for looking up and filtering GlossaryIamPolicy resources.
110
+ :param pulumi.Input[builtins.str] etag: (Computed) The etag of the IAM policy.
111
+ :param pulumi.Input[builtins.str] glossary_id: Used to find the parent resource to bind the IAM policy to
112
+ :param pulumi.Input[builtins.str] location: The location where the glossary should reside.
113
+ Used to find the parent resource to bind the IAM policy to. If not specified,
114
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
115
+ location is specified, it is taken from the provider configuration.
116
+ :param pulumi.Input[builtins.str] policy_data: The policy data generated by
117
+ a `organizations_get_iam_policy` data source.
118
+ :param pulumi.Input[builtins.str] project: The ID of the project in which the resource belongs.
119
+ 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.
120
+ """
121
+ if etag is not None:
122
+ pulumi.set(__self__, "etag", etag)
123
+ if glossary_id is not None:
124
+ pulumi.set(__self__, "glossary_id", glossary_id)
125
+ if location is not None:
126
+ pulumi.set(__self__, "location", location)
127
+ if policy_data is not None:
128
+ pulumi.set(__self__, "policy_data", policy_data)
129
+ if project is not None:
130
+ pulumi.set(__self__, "project", project)
131
+
132
+ @property
133
+ @pulumi.getter
134
+ def etag(self) -> Optional[pulumi.Input[builtins.str]]:
135
+ """
136
+ (Computed) The etag of the IAM policy.
137
+ """
138
+ return pulumi.get(self, "etag")
139
+
140
+ @etag.setter
141
+ def etag(self, value: Optional[pulumi.Input[builtins.str]]):
142
+ pulumi.set(self, "etag", value)
143
+
144
+ @property
145
+ @pulumi.getter(name="glossaryId")
146
+ def glossary_id(self) -> Optional[pulumi.Input[builtins.str]]:
147
+ """
148
+ Used to find the parent resource to bind the IAM policy to
149
+ """
150
+ return pulumi.get(self, "glossary_id")
151
+
152
+ @glossary_id.setter
153
+ def glossary_id(self, value: Optional[pulumi.Input[builtins.str]]):
154
+ pulumi.set(self, "glossary_id", value)
155
+
156
+ @property
157
+ @pulumi.getter
158
+ def location(self) -> Optional[pulumi.Input[builtins.str]]:
159
+ """
160
+ The location where the glossary should reside.
161
+ Used to find the parent resource to bind the IAM policy to. If not specified,
162
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
163
+ location is specified, it is taken from the provider configuration.
164
+ """
165
+ return pulumi.get(self, "location")
166
+
167
+ @location.setter
168
+ def location(self, value: Optional[pulumi.Input[builtins.str]]):
169
+ pulumi.set(self, "location", value)
170
+
171
+ @property
172
+ @pulumi.getter(name="policyData")
173
+ def policy_data(self) -> Optional[pulumi.Input[builtins.str]]:
174
+ """
175
+ The policy data generated by
176
+ a `organizations_get_iam_policy` data source.
177
+ """
178
+ return pulumi.get(self, "policy_data")
179
+
180
+ @policy_data.setter
181
+ def policy_data(self, value: Optional[pulumi.Input[builtins.str]]):
182
+ pulumi.set(self, "policy_data", value)
183
+
184
+ @property
185
+ @pulumi.getter
186
+ def project(self) -> Optional[pulumi.Input[builtins.str]]:
187
+ """
188
+ The ID of the project in which the resource belongs.
189
+ 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.
190
+ """
191
+ return pulumi.get(self, "project")
192
+
193
+ @project.setter
194
+ def project(self, value: Optional[pulumi.Input[builtins.str]]):
195
+ pulumi.set(self, "project", value)
196
+
197
+
198
+ @pulumi.type_token("gcp:dataplex/glossaryIamPolicy:GlossaryIamPolicy")
199
+ class GlossaryIamPolicy(pulumi.CustomResource):
200
+ @overload
201
+ def __init__(__self__,
202
+ resource_name: str,
203
+ opts: Optional[pulumi.ResourceOptions] = None,
204
+ glossary_id: Optional[pulumi.Input[builtins.str]] = None,
205
+ location: Optional[pulumi.Input[builtins.str]] = None,
206
+ policy_data: Optional[pulumi.Input[builtins.str]] = None,
207
+ project: Optional[pulumi.Input[builtins.str]] = None,
208
+ __props__=None):
209
+ """
210
+ Three different resources help you manage your IAM policy for Dataplex Glossary. Each of these resources serves a different use case:
211
+
212
+ * `dataplex.GlossaryIamPolicy`: Authoritative. Sets the IAM policy for the glossary and replaces any existing policy already attached.
213
+ * `dataplex.GlossaryIamBinding`: 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 glossary are preserved.
214
+ * `dataplex.GlossaryIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the glossary are preserved.
215
+
216
+ A data source can be used to retrieve policy data in advent you do not need creation
217
+
218
+ * `dataplex.GlossaryIamPolicy`: Retrieves the IAM policy for the glossary
219
+
220
+ > **Note:** `dataplex.GlossaryIamPolicy` **cannot** be used in conjunction with `dataplex.GlossaryIamBinding` and `dataplex.GlossaryIamMember` or they will fight over what your policy should be.
221
+
222
+ > **Note:** `dataplex.GlossaryIamBinding` resources **can be** used in conjunction with `dataplex.GlossaryIamMember` resources **only if** they do not grant privilege to the same role.
223
+
224
+ ## dataplex.GlossaryIamPolicy
225
+
226
+ ```python
227
+ import pulumi
228
+ import pulumi_gcp as gcp
229
+
230
+ admin = gcp.organizations.get_iam_policy(bindings=[{
231
+ "role": "roles/viewer",
232
+ "members": ["user:jane@example.com"],
233
+ }])
234
+ policy = gcp.dataplex.GlossaryIamPolicy("policy",
235
+ project=glossary_test_id["project"],
236
+ location=glossary_test_id["location"],
237
+ glossary_id=glossary_test_id["glossaryId"],
238
+ policy_data=admin.policy_data)
239
+ ```
240
+
241
+ ## dataplex.GlossaryIamBinding
242
+
243
+ ```python
244
+ import pulumi
245
+ import pulumi_gcp as gcp
246
+
247
+ binding = gcp.dataplex.GlossaryIamBinding("binding",
248
+ project=glossary_test_id["project"],
249
+ location=glossary_test_id["location"],
250
+ glossary_id=glossary_test_id["glossaryId"],
251
+ role="roles/viewer",
252
+ members=["user:jane@example.com"])
253
+ ```
254
+
255
+ ## dataplex.GlossaryIamMember
256
+
257
+ ```python
258
+ import pulumi
259
+ import pulumi_gcp as gcp
260
+
261
+ member = gcp.dataplex.GlossaryIamMember("member",
262
+ project=glossary_test_id["project"],
263
+ location=glossary_test_id["location"],
264
+ glossary_id=glossary_test_id["glossaryId"],
265
+ role="roles/viewer",
266
+ member="user:jane@example.com")
267
+ ```
268
+
269
+ ## This resource supports User Project Overrides.
270
+
271
+ -
272
+
273
+ # IAM policy for Dataplex Glossary
274
+ Three different resources help you manage your IAM policy for Dataplex Glossary. Each of these resources serves a different use case:
275
+
276
+ * `dataplex.GlossaryIamPolicy`: Authoritative. Sets the IAM policy for the glossary and replaces any existing policy already attached.
277
+ * `dataplex.GlossaryIamBinding`: 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 glossary are preserved.
278
+ * `dataplex.GlossaryIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the glossary are preserved.
279
+
280
+ A data source can be used to retrieve policy data in advent you do not need creation
281
+
282
+ * `dataplex.GlossaryIamPolicy`: Retrieves the IAM policy for the glossary
283
+
284
+ > **Note:** `dataplex.GlossaryIamPolicy` **cannot** be used in conjunction with `dataplex.GlossaryIamBinding` and `dataplex.GlossaryIamMember` or they will fight over what your policy should be.
285
+
286
+ > **Note:** `dataplex.GlossaryIamBinding` resources **can be** used in conjunction with `dataplex.GlossaryIamMember` resources **only if** they do not grant privilege to the same role.
287
+
288
+ ## dataplex.GlossaryIamPolicy
289
+
290
+ ```python
291
+ import pulumi
292
+ import pulumi_gcp as gcp
293
+
294
+ admin = gcp.organizations.get_iam_policy(bindings=[{
295
+ "role": "roles/viewer",
296
+ "members": ["user:jane@example.com"],
297
+ }])
298
+ policy = gcp.dataplex.GlossaryIamPolicy("policy",
299
+ project=glossary_test_id["project"],
300
+ location=glossary_test_id["location"],
301
+ glossary_id=glossary_test_id["glossaryId"],
302
+ policy_data=admin.policy_data)
303
+ ```
304
+
305
+ ## dataplex.GlossaryIamBinding
306
+
307
+ ```python
308
+ import pulumi
309
+ import pulumi_gcp as gcp
310
+
311
+ binding = gcp.dataplex.GlossaryIamBinding("binding",
312
+ project=glossary_test_id["project"],
313
+ location=glossary_test_id["location"],
314
+ glossary_id=glossary_test_id["glossaryId"],
315
+ role="roles/viewer",
316
+ members=["user:jane@example.com"])
317
+ ```
318
+
319
+ ## dataplex.GlossaryIamMember
320
+
321
+ ```python
322
+ import pulumi
323
+ import pulumi_gcp as gcp
324
+
325
+ member = gcp.dataplex.GlossaryIamMember("member",
326
+ project=glossary_test_id["project"],
327
+ location=glossary_test_id["location"],
328
+ glossary_id=glossary_test_id["glossaryId"],
329
+ role="roles/viewer",
330
+ member="user:jane@example.com")
331
+ ```
332
+
333
+ ## Import
334
+
335
+ For all import syntaxes, the "resource in question" can take any of the following forms:
336
+
337
+ * projects/{{project}}/locations/{{location}}/glossaries/{{glossary_id}}
338
+
339
+ * {{project}}/{{location}}/{{glossary_id}}
340
+
341
+ * {{location}}/{{glossary_id}}
342
+
343
+ * {{glossary_id}}
344
+
345
+ Any variables not passed in the import command will be taken from the provider configuration.
346
+
347
+ Dataplex glossary IAM resources can be imported using the resource identifiers, role, and member.
348
+
349
+ IAM member imports use space-delimited identifiers: the resource in question, the role, and the member identity, e.g.
350
+
351
+ ```sh
352
+ $ pulumi import gcp:dataplex/glossaryIamPolicy:GlossaryIamPolicy editor "projects/{{project}}/locations/{{location}}/glossaries/{{glossary_id}} roles/viewer user:jane@example.com"
353
+ ```
354
+
355
+ IAM binding imports use space-delimited identifiers: the resource in question and the role, e.g.
356
+
357
+ ```sh
358
+ $ pulumi import gcp:dataplex/glossaryIamPolicy:GlossaryIamPolicy editor "projects/{{project}}/locations/{{location}}/glossaries/{{glossary_id}} roles/viewer"
359
+ ```
360
+
361
+ IAM policy imports use the identifier of the resource in question, e.g.
362
+
363
+ ```sh
364
+ $ pulumi import gcp:dataplex/glossaryIamPolicy:GlossaryIamPolicy editor projects/{{project}}/locations/{{location}}/glossaries/{{glossary_id}}
365
+ ```
366
+
367
+ -> **Custom Roles** If you're importing a IAM resource with a custom role, make sure to use the
368
+
369
+ full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
370
+
371
+ :param str resource_name: The name of the resource.
372
+ :param pulumi.ResourceOptions opts: Options for the resource.
373
+ :param pulumi.Input[builtins.str] glossary_id: Used to find the parent resource to bind the IAM policy to
374
+ :param pulumi.Input[builtins.str] location: The location where the glossary should reside.
375
+ Used to find the parent resource to bind the IAM policy to. If not specified,
376
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
377
+ location is specified, it is taken from the provider configuration.
378
+ :param pulumi.Input[builtins.str] policy_data: The policy data generated by
379
+ a `organizations_get_iam_policy` data source.
380
+ :param pulumi.Input[builtins.str] project: The ID of the project in which the resource belongs.
381
+ 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.
382
+ """
383
+ ...
384
+ @overload
385
+ def __init__(__self__,
386
+ resource_name: str,
387
+ args: GlossaryIamPolicyArgs,
388
+ opts: Optional[pulumi.ResourceOptions] = None):
389
+ """
390
+ Three different resources help you manage your IAM policy for Dataplex Glossary. Each of these resources serves a different use case:
391
+
392
+ * `dataplex.GlossaryIamPolicy`: Authoritative. Sets the IAM policy for the glossary and replaces any existing policy already attached.
393
+ * `dataplex.GlossaryIamBinding`: 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 glossary are preserved.
394
+ * `dataplex.GlossaryIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the glossary are preserved.
395
+
396
+ A data source can be used to retrieve policy data in advent you do not need creation
397
+
398
+ * `dataplex.GlossaryIamPolicy`: Retrieves the IAM policy for the glossary
399
+
400
+ > **Note:** `dataplex.GlossaryIamPolicy` **cannot** be used in conjunction with `dataplex.GlossaryIamBinding` and `dataplex.GlossaryIamMember` or they will fight over what your policy should be.
401
+
402
+ > **Note:** `dataplex.GlossaryIamBinding` resources **can be** used in conjunction with `dataplex.GlossaryIamMember` resources **only if** they do not grant privilege to the same role.
403
+
404
+ ## dataplex.GlossaryIamPolicy
405
+
406
+ ```python
407
+ import pulumi
408
+ import pulumi_gcp as gcp
409
+
410
+ admin = gcp.organizations.get_iam_policy(bindings=[{
411
+ "role": "roles/viewer",
412
+ "members": ["user:jane@example.com"],
413
+ }])
414
+ policy = gcp.dataplex.GlossaryIamPolicy("policy",
415
+ project=glossary_test_id["project"],
416
+ location=glossary_test_id["location"],
417
+ glossary_id=glossary_test_id["glossaryId"],
418
+ policy_data=admin.policy_data)
419
+ ```
420
+
421
+ ## dataplex.GlossaryIamBinding
422
+
423
+ ```python
424
+ import pulumi
425
+ import pulumi_gcp as gcp
426
+
427
+ binding = gcp.dataplex.GlossaryIamBinding("binding",
428
+ project=glossary_test_id["project"],
429
+ location=glossary_test_id["location"],
430
+ glossary_id=glossary_test_id["glossaryId"],
431
+ role="roles/viewer",
432
+ members=["user:jane@example.com"])
433
+ ```
434
+
435
+ ## dataplex.GlossaryIamMember
436
+
437
+ ```python
438
+ import pulumi
439
+ import pulumi_gcp as gcp
440
+
441
+ member = gcp.dataplex.GlossaryIamMember("member",
442
+ project=glossary_test_id["project"],
443
+ location=glossary_test_id["location"],
444
+ glossary_id=glossary_test_id["glossaryId"],
445
+ role="roles/viewer",
446
+ member="user:jane@example.com")
447
+ ```
448
+
449
+ ## This resource supports User Project Overrides.
450
+
451
+ -
452
+
453
+ # IAM policy for Dataplex Glossary
454
+ Three different resources help you manage your IAM policy for Dataplex Glossary. Each of these resources serves a different use case:
455
+
456
+ * `dataplex.GlossaryIamPolicy`: Authoritative. Sets the IAM policy for the glossary and replaces any existing policy already attached.
457
+ * `dataplex.GlossaryIamBinding`: 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 glossary are preserved.
458
+ * `dataplex.GlossaryIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the glossary are preserved.
459
+
460
+ A data source can be used to retrieve policy data in advent you do not need creation
461
+
462
+ * `dataplex.GlossaryIamPolicy`: Retrieves the IAM policy for the glossary
463
+
464
+ > **Note:** `dataplex.GlossaryIamPolicy` **cannot** be used in conjunction with `dataplex.GlossaryIamBinding` and `dataplex.GlossaryIamMember` or they will fight over what your policy should be.
465
+
466
+ > **Note:** `dataplex.GlossaryIamBinding` resources **can be** used in conjunction with `dataplex.GlossaryIamMember` resources **only if** they do not grant privilege to the same role.
467
+
468
+ ## dataplex.GlossaryIamPolicy
469
+
470
+ ```python
471
+ import pulumi
472
+ import pulumi_gcp as gcp
473
+
474
+ admin = gcp.organizations.get_iam_policy(bindings=[{
475
+ "role": "roles/viewer",
476
+ "members": ["user:jane@example.com"],
477
+ }])
478
+ policy = gcp.dataplex.GlossaryIamPolicy("policy",
479
+ project=glossary_test_id["project"],
480
+ location=glossary_test_id["location"],
481
+ glossary_id=glossary_test_id["glossaryId"],
482
+ policy_data=admin.policy_data)
483
+ ```
484
+
485
+ ## dataplex.GlossaryIamBinding
486
+
487
+ ```python
488
+ import pulumi
489
+ import pulumi_gcp as gcp
490
+
491
+ binding = gcp.dataplex.GlossaryIamBinding("binding",
492
+ project=glossary_test_id["project"],
493
+ location=glossary_test_id["location"],
494
+ glossary_id=glossary_test_id["glossaryId"],
495
+ role="roles/viewer",
496
+ members=["user:jane@example.com"])
497
+ ```
498
+
499
+ ## dataplex.GlossaryIamMember
500
+
501
+ ```python
502
+ import pulumi
503
+ import pulumi_gcp as gcp
504
+
505
+ member = gcp.dataplex.GlossaryIamMember("member",
506
+ project=glossary_test_id["project"],
507
+ location=glossary_test_id["location"],
508
+ glossary_id=glossary_test_id["glossaryId"],
509
+ role="roles/viewer",
510
+ member="user:jane@example.com")
511
+ ```
512
+
513
+ ## Import
514
+
515
+ For all import syntaxes, the "resource in question" can take any of the following forms:
516
+
517
+ * projects/{{project}}/locations/{{location}}/glossaries/{{glossary_id}}
518
+
519
+ * {{project}}/{{location}}/{{glossary_id}}
520
+
521
+ * {{location}}/{{glossary_id}}
522
+
523
+ * {{glossary_id}}
524
+
525
+ Any variables not passed in the import command will be taken from the provider configuration.
526
+
527
+ Dataplex glossary IAM resources can be imported using the resource identifiers, role, and member.
528
+
529
+ IAM member imports use space-delimited identifiers: the resource in question, the role, and the member identity, e.g.
530
+
531
+ ```sh
532
+ $ pulumi import gcp:dataplex/glossaryIamPolicy:GlossaryIamPolicy editor "projects/{{project}}/locations/{{location}}/glossaries/{{glossary_id}} roles/viewer user:jane@example.com"
533
+ ```
534
+
535
+ IAM binding imports use space-delimited identifiers: the resource in question and the role, e.g.
536
+
537
+ ```sh
538
+ $ pulumi import gcp:dataplex/glossaryIamPolicy:GlossaryIamPolicy editor "projects/{{project}}/locations/{{location}}/glossaries/{{glossary_id}} roles/viewer"
539
+ ```
540
+
541
+ IAM policy imports use the identifier of the resource in question, e.g.
542
+
543
+ ```sh
544
+ $ pulumi import gcp:dataplex/glossaryIamPolicy:GlossaryIamPolicy editor projects/{{project}}/locations/{{location}}/glossaries/{{glossary_id}}
545
+ ```
546
+
547
+ -> **Custom Roles** If you're importing a IAM resource with a custom role, make sure to use the
548
+
549
+ full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
550
+
551
+ :param str resource_name: The name of the resource.
552
+ :param GlossaryIamPolicyArgs args: The arguments to use to populate this resource's properties.
553
+ :param pulumi.ResourceOptions opts: Options for the resource.
554
+ """
555
+ ...
556
+ def __init__(__self__, resource_name: str, *args, **kwargs):
557
+ resource_args, opts = _utilities.get_resource_args_opts(GlossaryIamPolicyArgs, pulumi.ResourceOptions, *args, **kwargs)
558
+ if resource_args is not None:
559
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
560
+ else:
561
+ __self__._internal_init(resource_name, *args, **kwargs)
562
+
563
+ def _internal_init(__self__,
564
+ resource_name: str,
565
+ opts: Optional[pulumi.ResourceOptions] = None,
566
+ glossary_id: Optional[pulumi.Input[builtins.str]] = None,
567
+ location: Optional[pulumi.Input[builtins.str]] = None,
568
+ policy_data: Optional[pulumi.Input[builtins.str]] = None,
569
+ project: Optional[pulumi.Input[builtins.str]] = None,
570
+ __props__=None):
571
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
572
+ if not isinstance(opts, pulumi.ResourceOptions):
573
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
574
+ if opts.id is None:
575
+ if __props__ is not None:
576
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
577
+ __props__ = GlossaryIamPolicyArgs.__new__(GlossaryIamPolicyArgs)
578
+
579
+ if glossary_id is None and not opts.urn:
580
+ raise TypeError("Missing required property 'glossary_id'")
581
+ __props__.__dict__["glossary_id"] = glossary_id
582
+ __props__.__dict__["location"] = location
583
+ if policy_data is None and not opts.urn:
584
+ raise TypeError("Missing required property 'policy_data'")
585
+ __props__.__dict__["policy_data"] = policy_data
586
+ __props__.__dict__["project"] = project
587
+ __props__.__dict__["etag"] = None
588
+ super(GlossaryIamPolicy, __self__).__init__(
589
+ 'gcp:dataplex/glossaryIamPolicy:GlossaryIamPolicy',
590
+ resource_name,
591
+ __props__,
592
+ opts)
593
+
594
+ @staticmethod
595
+ def get(resource_name: str,
596
+ id: pulumi.Input[str],
597
+ opts: Optional[pulumi.ResourceOptions] = None,
598
+ etag: Optional[pulumi.Input[builtins.str]] = None,
599
+ glossary_id: Optional[pulumi.Input[builtins.str]] = None,
600
+ location: Optional[pulumi.Input[builtins.str]] = None,
601
+ policy_data: Optional[pulumi.Input[builtins.str]] = None,
602
+ project: Optional[pulumi.Input[builtins.str]] = None) -> 'GlossaryIamPolicy':
603
+ """
604
+ Get an existing GlossaryIamPolicy resource's state with the given name, id, and optional extra
605
+ properties used to qualify the lookup.
606
+
607
+ :param str resource_name: The unique name of the resulting resource.
608
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
609
+ :param pulumi.ResourceOptions opts: Options for the resource.
610
+ :param pulumi.Input[builtins.str] etag: (Computed) The etag of the IAM policy.
611
+ :param pulumi.Input[builtins.str] glossary_id: Used to find the parent resource to bind the IAM policy to
612
+ :param pulumi.Input[builtins.str] location: The location where the glossary should reside.
613
+ Used to find the parent resource to bind the IAM policy to. If not specified,
614
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
615
+ location is specified, it is taken from the provider configuration.
616
+ :param pulumi.Input[builtins.str] policy_data: The policy data generated by
617
+ a `organizations_get_iam_policy` data source.
618
+ :param pulumi.Input[builtins.str] project: The ID of the project in which the resource belongs.
619
+ 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.
620
+ """
621
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
622
+
623
+ __props__ = _GlossaryIamPolicyState.__new__(_GlossaryIamPolicyState)
624
+
625
+ __props__.__dict__["etag"] = etag
626
+ __props__.__dict__["glossary_id"] = glossary_id
627
+ __props__.__dict__["location"] = location
628
+ __props__.__dict__["policy_data"] = policy_data
629
+ __props__.__dict__["project"] = project
630
+ return GlossaryIamPolicy(resource_name, opts=opts, __props__=__props__)
631
+
632
+ @property
633
+ @pulumi.getter
634
+ def etag(self) -> pulumi.Output[builtins.str]:
635
+ """
636
+ (Computed) The etag of the IAM policy.
637
+ """
638
+ return pulumi.get(self, "etag")
639
+
640
+ @property
641
+ @pulumi.getter(name="glossaryId")
642
+ def glossary_id(self) -> pulumi.Output[builtins.str]:
643
+ """
644
+ Used to find the parent resource to bind the IAM policy to
645
+ """
646
+ return pulumi.get(self, "glossary_id")
647
+
648
+ @property
649
+ @pulumi.getter
650
+ def location(self) -> pulumi.Output[builtins.str]:
651
+ """
652
+ The location where the glossary should reside.
653
+ Used to find the parent resource to bind the IAM policy to. If not specified,
654
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
655
+ location is specified, it is taken from the provider configuration.
656
+ """
657
+ return pulumi.get(self, "location")
658
+
659
+ @property
660
+ @pulumi.getter(name="policyData")
661
+ def policy_data(self) -> pulumi.Output[builtins.str]:
662
+ """
663
+ The policy data generated by
664
+ a `organizations_get_iam_policy` data source.
665
+ """
666
+ return pulumi.get(self, "policy_data")
667
+
668
+ @property
669
+ @pulumi.getter
670
+ def project(self) -> pulumi.Output[builtins.str]:
671
+ """
672
+ The ID of the project in which the resource belongs.
673
+ 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.
674
+ """
675
+ return pulumi.get(self, "project")
676
+