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,787 @@
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__ = ['RowAccessPolicyArgs', 'RowAccessPolicy']
19
+
20
+ @pulumi.input_type
21
+ class RowAccessPolicyArgs:
22
+ def __init__(__self__, *,
23
+ dataset_id: pulumi.Input[builtins.str],
24
+ filter_predicate: pulumi.Input[builtins.str],
25
+ policy_id: pulumi.Input[builtins.str],
26
+ table_id: pulumi.Input[builtins.str],
27
+ grantees: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
28
+ project: Optional[pulumi.Input[builtins.str]] = None):
29
+ """
30
+ The set of arguments for constructing a RowAccessPolicy resource.
31
+ :param pulumi.Input[builtins.str] dataset_id: The ID of the dataset containing this row access policy.
32
+ :param pulumi.Input[builtins.str] filter_predicate: A SQL boolean expression that represents the rows defined by this row
33
+ access policy, similar to the boolean expression in a WHERE clause of a
34
+ SELECT query on a table.
35
+ References to other tables, routines, and temporary functions are not
36
+ supported.
37
+ Examples: region="EU"
38
+ date_field = CAST('2019-9-27' as DATE)
39
+ nullable_field is not NULL
40
+ numeric_field BETWEEN 1.0 AND 5.0
41
+
42
+
43
+ - - -
44
+ :param pulumi.Input[builtins.str] policy_id: The ID of the row access policy. The ID must contain only
45
+ letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum
46
+ length is 256 characters.
47
+ :param pulumi.Input[builtins.str] table_id: The ID of the table containing this row access policy.
48
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] grantees: Input only. The optional list of iam_member users or groups that specifies the initial
49
+ members that the row-level access policy should be created with.
50
+ grantees types:
51
+ - "user:alice@example.com": An email address that represents a specific
52
+ Google account.
53
+ - "serviceAccount:my-other-app@appspot.gserviceaccount.com": An email
54
+ address that represents a service account.
55
+ - "group:admins@example.com": An email address that represents a Google
56
+ group.
57
+ - "domain:example.com":The Google Workspace domain (primary) that
58
+ represents all the users of that domain.
59
+ - "allAuthenticatedUsers": A special identifier that represents all service
60
+ accounts and all users on the internet who have authenticated with a Google
61
+ Account. This identifier includes accounts that aren't connected to a
62
+ Google Workspace or Cloud Identity domain, such as personal Gmail accounts.
63
+ Users who aren't authenticated, such as anonymous visitors, aren't
64
+ included.
65
+ - "allUsers":A special identifier that represents anyone who is on
66
+ the internet, including authenticated and unauthenticated users. Because
67
+ BigQuery requires authentication before a user can access the service,
68
+ allUsers includes only authenticated users.
69
+ :param pulumi.Input[builtins.str] project: The ID of the project in which the resource belongs.
70
+ If it is not provided, the provider project is used.
71
+ """
72
+ pulumi.set(__self__, "dataset_id", dataset_id)
73
+ pulumi.set(__self__, "filter_predicate", filter_predicate)
74
+ pulumi.set(__self__, "policy_id", policy_id)
75
+ pulumi.set(__self__, "table_id", table_id)
76
+ if grantees is not None:
77
+ pulumi.set(__self__, "grantees", grantees)
78
+ if project is not None:
79
+ pulumi.set(__self__, "project", project)
80
+
81
+ @property
82
+ @pulumi.getter(name="datasetId")
83
+ def dataset_id(self) -> pulumi.Input[builtins.str]:
84
+ """
85
+ The ID of the dataset containing this row access policy.
86
+ """
87
+ return pulumi.get(self, "dataset_id")
88
+
89
+ @dataset_id.setter
90
+ def dataset_id(self, value: pulumi.Input[builtins.str]):
91
+ pulumi.set(self, "dataset_id", value)
92
+
93
+ @property
94
+ @pulumi.getter(name="filterPredicate")
95
+ def filter_predicate(self) -> pulumi.Input[builtins.str]:
96
+ """
97
+ A SQL boolean expression that represents the rows defined by this row
98
+ access policy, similar to the boolean expression in a WHERE clause of a
99
+ SELECT query on a table.
100
+ References to other tables, routines, and temporary functions are not
101
+ supported.
102
+ Examples: region="EU"
103
+ date_field = CAST('2019-9-27' as DATE)
104
+ nullable_field is not NULL
105
+ numeric_field BETWEEN 1.0 AND 5.0
106
+
107
+
108
+ - - -
109
+ """
110
+ return pulumi.get(self, "filter_predicate")
111
+
112
+ @filter_predicate.setter
113
+ def filter_predicate(self, value: pulumi.Input[builtins.str]):
114
+ pulumi.set(self, "filter_predicate", value)
115
+
116
+ @property
117
+ @pulumi.getter(name="policyId")
118
+ def policy_id(self) -> pulumi.Input[builtins.str]:
119
+ """
120
+ The ID of the row access policy. The ID must contain only
121
+ letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum
122
+ length is 256 characters.
123
+ """
124
+ return pulumi.get(self, "policy_id")
125
+
126
+ @policy_id.setter
127
+ def policy_id(self, value: pulumi.Input[builtins.str]):
128
+ pulumi.set(self, "policy_id", value)
129
+
130
+ @property
131
+ @pulumi.getter(name="tableId")
132
+ def table_id(self) -> pulumi.Input[builtins.str]:
133
+ """
134
+ The ID of the table containing this row access policy.
135
+ """
136
+ return pulumi.get(self, "table_id")
137
+
138
+ @table_id.setter
139
+ def table_id(self, value: pulumi.Input[builtins.str]):
140
+ pulumi.set(self, "table_id", value)
141
+
142
+ @property
143
+ @pulumi.getter
144
+ def grantees(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]:
145
+ """
146
+ Input only. The optional list of iam_member users or groups that specifies the initial
147
+ members that the row-level access policy should be created with.
148
+ grantees types:
149
+ - "user:alice@example.com": An email address that represents a specific
150
+ Google account.
151
+ - "serviceAccount:my-other-app@appspot.gserviceaccount.com": An email
152
+ address that represents a service account.
153
+ - "group:admins@example.com": An email address that represents a Google
154
+ group.
155
+ - "domain:example.com":The Google Workspace domain (primary) that
156
+ represents all the users of that domain.
157
+ - "allAuthenticatedUsers": A special identifier that represents all service
158
+ accounts and all users on the internet who have authenticated with a Google
159
+ Account. This identifier includes accounts that aren't connected to a
160
+ Google Workspace or Cloud Identity domain, such as personal Gmail accounts.
161
+ Users who aren't authenticated, such as anonymous visitors, aren't
162
+ included.
163
+ - "allUsers":A special identifier that represents anyone who is on
164
+ the internet, including authenticated and unauthenticated users. Because
165
+ BigQuery requires authentication before a user can access the service,
166
+ allUsers includes only authenticated users.
167
+ """
168
+ return pulumi.get(self, "grantees")
169
+
170
+ @grantees.setter
171
+ def grantees(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]):
172
+ pulumi.set(self, "grantees", value)
173
+
174
+ @property
175
+ @pulumi.getter
176
+ def project(self) -> Optional[pulumi.Input[builtins.str]]:
177
+ """
178
+ The ID of the project in which the resource belongs.
179
+ If it is not provided, the provider project is used.
180
+ """
181
+ return pulumi.get(self, "project")
182
+
183
+ @project.setter
184
+ def project(self, value: Optional[pulumi.Input[builtins.str]]):
185
+ pulumi.set(self, "project", value)
186
+
187
+
188
+ @pulumi.input_type
189
+ class _RowAccessPolicyState:
190
+ def __init__(__self__, *,
191
+ creation_time: Optional[pulumi.Input[builtins.str]] = None,
192
+ dataset_id: Optional[pulumi.Input[builtins.str]] = None,
193
+ filter_predicate: Optional[pulumi.Input[builtins.str]] = None,
194
+ grantees: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
195
+ last_modified_time: Optional[pulumi.Input[builtins.str]] = None,
196
+ policy_id: Optional[pulumi.Input[builtins.str]] = None,
197
+ project: Optional[pulumi.Input[builtins.str]] = None,
198
+ table_id: Optional[pulumi.Input[builtins.str]] = None):
199
+ """
200
+ Input properties used for looking up and filtering RowAccessPolicy resources.
201
+ :param pulumi.Input[builtins.str] creation_time: The time when this row access policy was created, in milliseconds since
202
+ the epoch.
203
+ :param pulumi.Input[builtins.str] dataset_id: The ID of the dataset containing this row access policy.
204
+ :param pulumi.Input[builtins.str] filter_predicate: A SQL boolean expression that represents the rows defined by this row
205
+ access policy, similar to the boolean expression in a WHERE clause of a
206
+ SELECT query on a table.
207
+ References to other tables, routines, and temporary functions are not
208
+ supported.
209
+ Examples: region="EU"
210
+ date_field = CAST('2019-9-27' as DATE)
211
+ nullable_field is not NULL
212
+ numeric_field BETWEEN 1.0 AND 5.0
213
+
214
+
215
+ - - -
216
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] grantees: Input only. The optional list of iam_member users or groups that specifies the initial
217
+ members that the row-level access policy should be created with.
218
+ grantees types:
219
+ - "user:alice@example.com": An email address that represents a specific
220
+ Google account.
221
+ - "serviceAccount:my-other-app@appspot.gserviceaccount.com": An email
222
+ address that represents a service account.
223
+ - "group:admins@example.com": An email address that represents a Google
224
+ group.
225
+ - "domain:example.com":The Google Workspace domain (primary) that
226
+ represents all the users of that domain.
227
+ - "allAuthenticatedUsers": A special identifier that represents all service
228
+ accounts and all users on the internet who have authenticated with a Google
229
+ Account. This identifier includes accounts that aren't connected to a
230
+ Google Workspace or Cloud Identity domain, such as personal Gmail accounts.
231
+ Users who aren't authenticated, such as anonymous visitors, aren't
232
+ included.
233
+ - "allUsers":A special identifier that represents anyone who is on
234
+ the internet, including authenticated and unauthenticated users. Because
235
+ BigQuery requires authentication before a user can access the service,
236
+ allUsers includes only authenticated users.
237
+ :param pulumi.Input[builtins.str] last_modified_time: The time when this row access policy was last modified, in milliseconds
238
+ since the epoch.
239
+ :param pulumi.Input[builtins.str] policy_id: The ID of the row access policy. The ID must contain only
240
+ letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum
241
+ length is 256 characters.
242
+ :param pulumi.Input[builtins.str] project: The ID of the project in which the resource belongs.
243
+ If it is not provided, the provider project is used.
244
+ :param pulumi.Input[builtins.str] table_id: The ID of the table containing this row access policy.
245
+ """
246
+ if creation_time is not None:
247
+ pulumi.set(__self__, "creation_time", creation_time)
248
+ if dataset_id is not None:
249
+ pulumi.set(__self__, "dataset_id", dataset_id)
250
+ if filter_predicate is not None:
251
+ pulumi.set(__self__, "filter_predicate", filter_predicate)
252
+ if grantees is not None:
253
+ pulumi.set(__self__, "grantees", grantees)
254
+ if last_modified_time is not None:
255
+ pulumi.set(__self__, "last_modified_time", last_modified_time)
256
+ if policy_id is not None:
257
+ pulumi.set(__self__, "policy_id", policy_id)
258
+ if project is not None:
259
+ pulumi.set(__self__, "project", project)
260
+ if table_id is not None:
261
+ pulumi.set(__self__, "table_id", table_id)
262
+
263
+ @property
264
+ @pulumi.getter(name="creationTime")
265
+ def creation_time(self) -> Optional[pulumi.Input[builtins.str]]:
266
+ """
267
+ The time when this row access policy was created, in milliseconds since
268
+ the epoch.
269
+ """
270
+ return pulumi.get(self, "creation_time")
271
+
272
+ @creation_time.setter
273
+ def creation_time(self, value: Optional[pulumi.Input[builtins.str]]):
274
+ pulumi.set(self, "creation_time", value)
275
+
276
+ @property
277
+ @pulumi.getter(name="datasetId")
278
+ def dataset_id(self) -> Optional[pulumi.Input[builtins.str]]:
279
+ """
280
+ The ID of the dataset containing this row access policy.
281
+ """
282
+ return pulumi.get(self, "dataset_id")
283
+
284
+ @dataset_id.setter
285
+ def dataset_id(self, value: Optional[pulumi.Input[builtins.str]]):
286
+ pulumi.set(self, "dataset_id", value)
287
+
288
+ @property
289
+ @pulumi.getter(name="filterPredicate")
290
+ def filter_predicate(self) -> Optional[pulumi.Input[builtins.str]]:
291
+ """
292
+ A SQL boolean expression that represents the rows defined by this row
293
+ access policy, similar to the boolean expression in a WHERE clause of a
294
+ SELECT query on a table.
295
+ References to other tables, routines, and temporary functions are not
296
+ supported.
297
+ Examples: region="EU"
298
+ date_field = CAST('2019-9-27' as DATE)
299
+ nullable_field is not NULL
300
+ numeric_field BETWEEN 1.0 AND 5.0
301
+
302
+
303
+ - - -
304
+ """
305
+ return pulumi.get(self, "filter_predicate")
306
+
307
+ @filter_predicate.setter
308
+ def filter_predicate(self, value: Optional[pulumi.Input[builtins.str]]):
309
+ pulumi.set(self, "filter_predicate", value)
310
+
311
+ @property
312
+ @pulumi.getter
313
+ def grantees(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]:
314
+ """
315
+ Input only. The optional list of iam_member users or groups that specifies the initial
316
+ members that the row-level access policy should be created with.
317
+ grantees types:
318
+ - "user:alice@example.com": An email address that represents a specific
319
+ Google account.
320
+ - "serviceAccount:my-other-app@appspot.gserviceaccount.com": An email
321
+ address that represents a service account.
322
+ - "group:admins@example.com": An email address that represents a Google
323
+ group.
324
+ - "domain:example.com":The Google Workspace domain (primary) that
325
+ represents all the users of that domain.
326
+ - "allAuthenticatedUsers": A special identifier that represents all service
327
+ accounts and all users on the internet who have authenticated with a Google
328
+ Account. This identifier includes accounts that aren't connected to a
329
+ Google Workspace or Cloud Identity domain, such as personal Gmail accounts.
330
+ Users who aren't authenticated, such as anonymous visitors, aren't
331
+ included.
332
+ - "allUsers":A special identifier that represents anyone who is on
333
+ the internet, including authenticated and unauthenticated users. Because
334
+ BigQuery requires authentication before a user can access the service,
335
+ allUsers includes only authenticated users.
336
+ """
337
+ return pulumi.get(self, "grantees")
338
+
339
+ @grantees.setter
340
+ def grantees(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]):
341
+ pulumi.set(self, "grantees", value)
342
+
343
+ @property
344
+ @pulumi.getter(name="lastModifiedTime")
345
+ def last_modified_time(self) -> Optional[pulumi.Input[builtins.str]]:
346
+ """
347
+ The time when this row access policy was last modified, in milliseconds
348
+ since the epoch.
349
+ """
350
+ return pulumi.get(self, "last_modified_time")
351
+
352
+ @last_modified_time.setter
353
+ def last_modified_time(self, value: Optional[pulumi.Input[builtins.str]]):
354
+ pulumi.set(self, "last_modified_time", value)
355
+
356
+ @property
357
+ @pulumi.getter(name="policyId")
358
+ def policy_id(self) -> Optional[pulumi.Input[builtins.str]]:
359
+ """
360
+ The ID of the row access policy. The ID must contain only
361
+ letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum
362
+ length is 256 characters.
363
+ """
364
+ return pulumi.get(self, "policy_id")
365
+
366
+ @policy_id.setter
367
+ def policy_id(self, value: Optional[pulumi.Input[builtins.str]]):
368
+ pulumi.set(self, "policy_id", value)
369
+
370
+ @property
371
+ @pulumi.getter
372
+ def project(self) -> Optional[pulumi.Input[builtins.str]]:
373
+ """
374
+ The ID of the project in which the resource belongs.
375
+ If it is not provided, the provider project is used.
376
+ """
377
+ return pulumi.get(self, "project")
378
+
379
+ @project.setter
380
+ def project(self, value: Optional[pulumi.Input[builtins.str]]):
381
+ pulumi.set(self, "project", value)
382
+
383
+ @property
384
+ @pulumi.getter(name="tableId")
385
+ def table_id(self) -> Optional[pulumi.Input[builtins.str]]:
386
+ """
387
+ The ID of the table containing this row access policy.
388
+ """
389
+ return pulumi.get(self, "table_id")
390
+
391
+ @table_id.setter
392
+ def table_id(self, value: Optional[pulumi.Input[builtins.str]]):
393
+ pulumi.set(self, "table_id", value)
394
+
395
+
396
+ @pulumi.type_token("gcp:bigquery/rowAccessPolicy:RowAccessPolicy")
397
+ class RowAccessPolicy(pulumi.CustomResource):
398
+ @overload
399
+ def __init__(__self__,
400
+ resource_name: str,
401
+ opts: Optional[pulumi.ResourceOptions] = None,
402
+ dataset_id: Optional[pulumi.Input[builtins.str]] = None,
403
+ filter_predicate: Optional[pulumi.Input[builtins.str]] = None,
404
+ grantees: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
405
+ policy_id: Optional[pulumi.Input[builtins.str]] = None,
406
+ project: Optional[pulumi.Input[builtins.str]] = None,
407
+ table_id: Optional[pulumi.Input[builtins.str]] = None,
408
+ __props__=None):
409
+ """
410
+ Represents access on a subset of rows on the specified table, defined by its filter predicate. Access to the subset of rows is controlled by its IAM policy.
411
+
412
+ ## Example Usage
413
+
414
+ ### Bigquery Row Access Policy Basic
415
+
416
+ ```python
417
+ import pulumi
418
+ import pulumi_gcp as gcp
419
+
420
+ example = gcp.bigquery.Dataset("example",
421
+ dataset_id="dataset_id",
422
+ location="US")
423
+ example_table = gcp.bigquery.Table("example",
424
+ deletion_protection=False,
425
+ dataset_id=example.dataset_id,
426
+ table_id="table_id")
427
+ example_row_access_policy = gcp.bigquery.RowAccessPolicy("example",
428
+ dataset_id=example.dataset_id,
429
+ table_id=example_table.table_id,
430
+ policy_id="policy_id",
431
+ filter_predicate="nullable_field is not NULL",
432
+ grantees=["domain:google.com"])
433
+ ```
434
+
435
+ ## Import
436
+
437
+ RowAccessPolicy can be imported using any of these accepted formats:
438
+
439
+ * `projects/{{project}}/datasets/{{dataset_id}}/tables/{{table_id}}/rowAccessPolicies/{{policy_id}}`
440
+
441
+ * `{{project}}/{{dataset_id}}/{{table_id}}/{{policy_id}}`
442
+
443
+ * `{{dataset_id}}/{{table_id}}/{{policy_id}}`
444
+
445
+ When using the `pulumi import` command, RowAccessPolicy can be imported using one of the formats above. For example:
446
+
447
+ ```sh
448
+ $ pulumi import gcp:bigquery/rowAccessPolicy:RowAccessPolicy default projects/{{project}}/datasets/{{dataset_id}}/tables/{{table_id}}/rowAccessPolicies/{{policy_id}}
449
+ ```
450
+
451
+ ```sh
452
+ $ pulumi import gcp:bigquery/rowAccessPolicy:RowAccessPolicy default {{project}}/{{dataset_id}}/{{table_id}}/{{policy_id}}
453
+ ```
454
+
455
+ ```sh
456
+ $ pulumi import gcp:bigquery/rowAccessPolicy:RowAccessPolicy default {{dataset_id}}/{{table_id}}/{{policy_id}}
457
+ ```
458
+
459
+ :param str resource_name: The name of the resource.
460
+ :param pulumi.ResourceOptions opts: Options for the resource.
461
+ :param pulumi.Input[builtins.str] dataset_id: The ID of the dataset containing this row access policy.
462
+ :param pulumi.Input[builtins.str] filter_predicate: A SQL boolean expression that represents the rows defined by this row
463
+ access policy, similar to the boolean expression in a WHERE clause of a
464
+ SELECT query on a table.
465
+ References to other tables, routines, and temporary functions are not
466
+ supported.
467
+ Examples: region="EU"
468
+ date_field = CAST('2019-9-27' as DATE)
469
+ nullable_field is not NULL
470
+ numeric_field BETWEEN 1.0 AND 5.0
471
+
472
+
473
+ - - -
474
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] grantees: Input only. The optional list of iam_member users or groups that specifies the initial
475
+ members that the row-level access policy should be created with.
476
+ grantees types:
477
+ - "user:alice@example.com": An email address that represents a specific
478
+ Google account.
479
+ - "serviceAccount:my-other-app@appspot.gserviceaccount.com": An email
480
+ address that represents a service account.
481
+ - "group:admins@example.com": An email address that represents a Google
482
+ group.
483
+ - "domain:example.com":The Google Workspace domain (primary) that
484
+ represents all the users of that domain.
485
+ - "allAuthenticatedUsers": A special identifier that represents all service
486
+ accounts and all users on the internet who have authenticated with a Google
487
+ Account. This identifier includes accounts that aren't connected to a
488
+ Google Workspace or Cloud Identity domain, such as personal Gmail accounts.
489
+ Users who aren't authenticated, such as anonymous visitors, aren't
490
+ included.
491
+ - "allUsers":A special identifier that represents anyone who is on
492
+ the internet, including authenticated and unauthenticated users. Because
493
+ BigQuery requires authentication before a user can access the service,
494
+ allUsers includes only authenticated users.
495
+ :param pulumi.Input[builtins.str] policy_id: The ID of the row access policy. The ID must contain only
496
+ letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum
497
+ length is 256 characters.
498
+ :param pulumi.Input[builtins.str] project: The ID of the project in which the resource belongs.
499
+ If it is not provided, the provider project is used.
500
+ :param pulumi.Input[builtins.str] table_id: The ID of the table containing this row access policy.
501
+ """
502
+ ...
503
+ @overload
504
+ def __init__(__self__,
505
+ resource_name: str,
506
+ args: RowAccessPolicyArgs,
507
+ opts: Optional[pulumi.ResourceOptions] = None):
508
+ """
509
+ Represents access on a subset of rows on the specified table, defined by its filter predicate. Access to the subset of rows is controlled by its IAM policy.
510
+
511
+ ## Example Usage
512
+
513
+ ### Bigquery Row Access Policy Basic
514
+
515
+ ```python
516
+ import pulumi
517
+ import pulumi_gcp as gcp
518
+
519
+ example = gcp.bigquery.Dataset("example",
520
+ dataset_id="dataset_id",
521
+ location="US")
522
+ example_table = gcp.bigquery.Table("example",
523
+ deletion_protection=False,
524
+ dataset_id=example.dataset_id,
525
+ table_id="table_id")
526
+ example_row_access_policy = gcp.bigquery.RowAccessPolicy("example",
527
+ dataset_id=example.dataset_id,
528
+ table_id=example_table.table_id,
529
+ policy_id="policy_id",
530
+ filter_predicate="nullable_field is not NULL",
531
+ grantees=["domain:google.com"])
532
+ ```
533
+
534
+ ## Import
535
+
536
+ RowAccessPolicy can be imported using any of these accepted formats:
537
+
538
+ * `projects/{{project}}/datasets/{{dataset_id}}/tables/{{table_id}}/rowAccessPolicies/{{policy_id}}`
539
+
540
+ * `{{project}}/{{dataset_id}}/{{table_id}}/{{policy_id}}`
541
+
542
+ * `{{dataset_id}}/{{table_id}}/{{policy_id}}`
543
+
544
+ When using the `pulumi import` command, RowAccessPolicy can be imported using one of the formats above. For example:
545
+
546
+ ```sh
547
+ $ pulumi import gcp:bigquery/rowAccessPolicy:RowAccessPolicy default projects/{{project}}/datasets/{{dataset_id}}/tables/{{table_id}}/rowAccessPolicies/{{policy_id}}
548
+ ```
549
+
550
+ ```sh
551
+ $ pulumi import gcp:bigquery/rowAccessPolicy:RowAccessPolicy default {{project}}/{{dataset_id}}/{{table_id}}/{{policy_id}}
552
+ ```
553
+
554
+ ```sh
555
+ $ pulumi import gcp:bigquery/rowAccessPolicy:RowAccessPolicy default {{dataset_id}}/{{table_id}}/{{policy_id}}
556
+ ```
557
+
558
+ :param str resource_name: The name of the resource.
559
+ :param RowAccessPolicyArgs args: The arguments to use to populate this resource's properties.
560
+ :param pulumi.ResourceOptions opts: Options for the resource.
561
+ """
562
+ ...
563
+ def __init__(__self__, resource_name: str, *args, **kwargs):
564
+ resource_args, opts = _utilities.get_resource_args_opts(RowAccessPolicyArgs, pulumi.ResourceOptions, *args, **kwargs)
565
+ if resource_args is not None:
566
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
567
+ else:
568
+ __self__._internal_init(resource_name, *args, **kwargs)
569
+
570
+ def _internal_init(__self__,
571
+ resource_name: str,
572
+ opts: Optional[pulumi.ResourceOptions] = None,
573
+ dataset_id: Optional[pulumi.Input[builtins.str]] = None,
574
+ filter_predicate: Optional[pulumi.Input[builtins.str]] = None,
575
+ grantees: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
576
+ policy_id: Optional[pulumi.Input[builtins.str]] = None,
577
+ project: Optional[pulumi.Input[builtins.str]] = None,
578
+ table_id: Optional[pulumi.Input[builtins.str]] = None,
579
+ __props__=None):
580
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
581
+ if not isinstance(opts, pulumi.ResourceOptions):
582
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
583
+ if opts.id is None:
584
+ if __props__ is not None:
585
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
586
+ __props__ = RowAccessPolicyArgs.__new__(RowAccessPolicyArgs)
587
+
588
+ if dataset_id is None and not opts.urn:
589
+ raise TypeError("Missing required property 'dataset_id'")
590
+ __props__.__dict__["dataset_id"] = dataset_id
591
+ if filter_predicate is None and not opts.urn:
592
+ raise TypeError("Missing required property 'filter_predicate'")
593
+ __props__.__dict__["filter_predicate"] = filter_predicate
594
+ __props__.__dict__["grantees"] = grantees
595
+ if policy_id is None and not opts.urn:
596
+ raise TypeError("Missing required property 'policy_id'")
597
+ __props__.__dict__["policy_id"] = policy_id
598
+ __props__.__dict__["project"] = project
599
+ if table_id is None and not opts.urn:
600
+ raise TypeError("Missing required property 'table_id'")
601
+ __props__.__dict__["table_id"] = table_id
602
+ __props__.__dict__["creation_time"] = None
603
+ __props__.__dict__["last_modified_time"] = None
604
+ super(RowAccessPolicy, __self__).__init__(
605
+ 'gcp:bigquery/rowAccessPolicy:RowAccessPolicy',
606
+ resource_name,
607
+ __props__,
608
+ opts)
609
+
610
+ @staticmethod
611
+ def get(resource_name: str,
612
+ id: pulumi.Input[str],
613
+ opts: Optional[pulumi.ResourceOptions] = None,
614
+ creation_time: Optional[pulumi.Input[builtins.str]] = None,
615
+ dataset_id: Optional[pulumi.Input[builtins.str]] = None,
616
+ filter_predicate: Optional[pulumi.Input[builtins.str]] = None,
617
+ grantees: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
618
+ last_modified_time: Optional[pulumi.Input[builtins.str]] = None,
619
+ policy_id: Optional[pulumi.Input[builtins.str]] = None,
620
+ project: Optional[pulumi.Input[builtins.str]] = None,
621
+ table_id: Optional[pulumi.Input[builtins.str]] = None) -> 'RowAccessPolicy':
622
+ """
623
+ Get an existing RowAccessPolicy resource's state with the given name, id, and optional extra
624
+ properties used to qualify the lookup.
625
+
626
+ :param str resource_name: The unique name of the resulting resource.
627
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
628
+ :param pulumi.ResourceOptions opts: Options for the resource.
629
+ :param pulumi.Input[builtins.str] creation_time: The time when this row access policy was created, in milliseconds since
630
+ the epoch.
631
+ :param pulumi.Input[builtins.str] dataset_id: The ID of the dataset containing this row access policy.
632
+ :param pulumi.Input[builtins.str] filter_predicate: A SQL boolean expression that represents the rows defined by this row
633
+ access policy, similar to the boolean expression in a WHERE clause of a
634
+ SELECT query on a table.
635
+ References to other tables, routines, and temporary functions are not
636
+ supported.
637
+ Examples: region="EU"
638
+ date_field = CAST('2019-9-27' as DATE)
639
+ nullable_field is not NULL
640
+ numeric_field BETWEEN 1.0 AND 5.0
641
+
642
+
643
+ - - -
644
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] grantees: Input only. The optional list of iam_member users or groups that specifies the initial
645
+ members that the row-level access policy should be created with.
646
+ grantees types:
647
+ - "user:alice@example.com": An email address that represents a specific
648
+ Google account.
649
+ - "serviceAccount:my-other-app@appspot.gserviceaccount.com": An email
650
+ address that represents a service account.
651
+ - "group:admins@example.com": An email address that represents a Google
652
+ group.
653
+ - "domain:example.com":The Google Workspace domain (primary) that
654
+ represents all the users of that domain.
655
+ - "allAuthenticatedUsers": A special identifier that represents all service
656
+ accounts and all users on the internet who have authenticated with a Google
657
+ Account. This identifier includes accounts that aren't connected to a
658
+ Google Workspace or Cloud Identity domain, such as personal Gmail accounts.
659
+ Users who aren't authenticated, such as anonymous visitors, aren't
660
+ included.
661
+ - "allUsers":A special identifier that represents anyone who is on
662
+ the internet, including authenticated and unauthenticated users. Because
663
+ BigQuery requires authentication before a user can access the service,
664
+ allUsers includes only authenticated users.
665
+ :param pulumi.Input[builtins.str] last_modified_time: The time when this row access policy was last modified, in milliseconds
666
+ since the epoch.
667
+ :param pulumi.Input[builtins.str] policy_id: The ID of the row access policy. The ID must contain only
668
+ letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum
669
+ length is 256 characters.
670
+ :param pulumi.Input[builtins.str] project: The ID of the project in which the resource belongs.
671
+ If it is not provided, the provider project is used.
672
+ :param pulumi.Input[builtins.str] table_id: The ID of the table containing this row access policy.
673
+ """
674
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
675
+
676
+ __props__ = _RowAccessPolicyState.__new__(_RowAccessPolicyState)
677
+
678
+ __props__.__dict__["creation_time"] = creation_time
679
+ __props__.__dict__["dataset_id"] = dataset_id
680
+ __props__.__dict__["filter_predicate"] = filter_predicate
681
+ __props__.__dict__["grantees"] = grantees
682
+ __props__.__dict__["last_modified_time"] = last_modified_time
683
+ __props__.__dict__["policy_id"] = policy_id
684
+ __props__.__dict__["project"] = project
685
+ __props__.__dict__["table_id"] = table_id
686
+ return RowAccessPolicy(resource_name, opts=opts, __props__=__props__)
687
+
688
+ @property
689
+ @pulumi.getter(name="creationTime")
690
+ def creation_time(self) -> pulumi.Output[builtins.str]:
691
+ """
692
+ The time when this row access policy was created, in milliseconds since
693
+ the epoch.
694
+ """
695
+ return pulumi.get(self, "creation_time")
696
+
697
+ @property
698
+ @pulumi.getter(name="datasetId")
699
+ def dataset_id(self) -> pulumi.Output[builtins.str]:
700
+ """
701
+ The ID of the dataset containing this row access policy.
702
+ """
703
+ return pulumi.get(self, "dataset_id")
704
+
705
+ @property
706
+ @pulumi.getter(name="filterPredicate")
707
+ def filter_predicate(self) -> pulumi.Output[builtins.str]:
708
+ """
709
+ A SQL boolean expression that represents the rows defined by this row
710
+ access policy, similar to the boolean expression in a WHERE clause of a
711
+ SELECT query on a table.
712
+ References to other tables, routines, and temporary functions are not
713
+ supported.
714
+ Examples: region="EU"
715
+ date_field = CAST('2019-9-27' as DATE)
716
+ nullable_field is not NULL
717
+ numeric_field BETWEEN 1.0 AND 5.0
718
+
719
+
720
+ - - -
721
+ """
722
+ return pulumi.get(self, "filter_predicate")
723
+
724
+ @property
725
+ @pulumi.getter
726
+ def grantees(self) -> pulumi.Output[Optional[Sequence[builtins.str]]]:
727
+ """
728
+ Input only. The optional list of iam_member users or groups that specifies the initial
729
+ members that the row-level access policy should be created with.
730
+ grantees types:
731
+ - "user:alice@example.com": An email address that represents a specific
732
+ Google account.
733
+ - "serviceAccount:my-other-app@appspot.gserviceaccount.com": An email
734
+ address that represents a service account.
735
+ - "group:admins@example.com": An email address that represents a Google
736
+ group.
737
+ - "domain:example.com":The Google Workspace domain (primary) that
738
+ represents all the users of that domain.
739
+ - "allAuthenticatedUsers": A special identifier that represents all service
740
+ accounts and all users on the internet who have authenticated with a Google
741
+ Account. This identifier includes accounts that aren't connected to a
742
+ Google Workspace or Cloud Identity domain, such as personal Gmail accounts.
743
+ Users who aren't authenticated, such as anonymous visitors, aren't
744
+ included.
745
+ - "allUsers":A special identifier that represents anyone who is on
746
+ the internet, including authenticated and unauthenticated users. Because
747
+ BigQuery requires authentication before a user can access the service,
748
+ allUsers includes only authenticated users.
749
+ """
750
+ return pulumi.get(self, "grantees")
751
+
752
+ @property
753
+ @pulumi.getter(name="lastModifiedTime")
754
+ def last_modified_time(self) -> pulumi.Output[builtins.str]:
755
+ """
756
+ The time when this row access policy was last modified, in milliseconds
757
+ since the epoch.
758
+ """
759
+ return pulumi.get(self, "last_modified_time")
760
+
761
+ @property
762
+ @pulumi.getter(name="policyId")
763
+ def policy_id(self) -> pulumi.Output[builtins.str]:
764
+ """
765
+ The ID of the row access policy. The ID must contain only
766
+ letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum
767
+ length is 256 characters.
768
+ """
769
+ return pulumi.get(self, "policy_id")
770
+
771
+ @property
772
+ @pulumi.getter
773
+ def project(self) -> pulumi.Output[builtins.str]:
774
+ """
775
+ The ID of the project in which the resource belongs.
776
+ If it is not provided, the provider project is used.
777
+ """
778
+ return pulumi.get(self, "project")
779
+
780
+ @property
781
+ @pulumi.getter(name="tableId")
782
+ def table_id(self) -> pulumi.Output[builtins.str]:
783
+ """
784
+ The ID of the table containing this row access policy.
785
+ """
786
+ return pulumi.get(self, "table_id")
787
+