pulumi-databricks 1.74.0a1753335781__py3-none-any.whl → 1.77.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (252) hide show
  1. pulumi_databricks/__init__.py +185 -12
  2. pulumi_databricks/_inputs.py +30467 -20225
  3. pulumi_databricks/access_control_rule_set.py +28 -29
  4. pulumi_databricks/account_federation_policy.py +473 -0
  5. pulumi_databricks/account_network_policy.py +74 -43
  6. pulumi_databricks/account_setting_v2.py +759 -0
  7. pulumi_databricks/aibi_dashboard_embedding_access_policy_setting.py +30 -31
  8. pulumi_databricks/aibi_dashboard_embedding_approved_domains_setting.py +30 -31
  9. pulumi_databricks/alert.py +185 -186
  10. pulumi_databricks/alert_v2.py +369 -211
  11. pulumi_databricks/app.py +315 -209
  12. pulumi_databricks/apps_settings_custom_template.py +531 -0
  13. pulumi_databricks/artifact_allowlist.py +72 -73
  14. pulumi_databricks/automatic_cluster_update_workspace_setting.py +30 -31
  15. pulumi_databricks/budget.py +84 -85
  16. pulumi_databricks/budget_policy.py +75 -53
  17. pulumi_databricks/catalog.py +544 -225
  18. pulumi_databricks/catalog_workspace_binding.py +82 -83
  19. pulumi_databricks/cluster.py +561 -683
  20. pulumi_databricks/cluster_policy.py +115 -116
  21. pulumi_databricks/compliance_security_profile_workspace_setting.py +30 -31
  22. pulumi_databricks/config/__init__.py +1 -1
  23. pulumi_databricks/config/__init__.pyi +3 -2
  24. pulumi_databricks/config/vars.py +40 -37
  25. pulumi_databricks/connection.py +346 -211
  26. pulumi_databricks/credential.py +262 -263
  27. pulumi_databricks/custom_app_integration.py +175 -176
  28. pulumi_databricks/dashboard.py +207 -208
  29. pulumi_databricks/data_quality_monitor.py +453 -0
  30. pulumi_databricks/data_quality_refresh.py +492 -0
  31. pulumi_databricks/database_database_catalog.py +437 -0
  32. pulumi_databricks/database_instance.py +938 -137
  33. pulumi_databricks/database_synced_database_table.py +589 -0
  34. pulumi_databricks/dbfs_file.py +87 -84
  35. pulumi_databricks/default_namespace_setting.py +30 -31
  36. pulumi_databricks/directory.py +61 -62
  37. pulumi_databricks/disable_legacy_access_setting.py +109 -33
  38. pulumi_databricks/disable_legacy_dbfs_setting.py +58 -39
  39. pulumi_databricks/disable_legacy_features_setting.py +62 -37
  40. pulumi_databricks/enhanced_security_monitoring_workspace_setting.py +30 -31
  41. pulumi_databricks/entitlements.py +148 -149
  42. pulumi_databricks/entity_tag_assignment.py +409 -0
  43. pulumi_databricks/external_location.py +276 -290
  44. pulumi_databricks/external_metadata.py +726 -0
  45. pulumi_databricks/feature_engineering_feature.py +480 -0
  46. pulumi_databricks/feature_engineering_materialized_feature.py +397 -0
  47. pulumi_databricks/file.py +96 -97
  48. pulumi_databricks/get_account_federation_policies.py +127 -0
  49. pulumi_databricks/get_account_federation_policy.py +214 -0
  50. pulumi_databricks/get_account_network_policies.py +36 -7
  51. pulumi_databricks/get_account_network_policy.py +33 -29
  52. pulumi_databricks/get_account_setting_v2.py +331 -0
  53. pulumi_databricks/get_alert_v2.py +100 -84
  54. pulumi_databricks/get_alerts_v2.py +35 -17
  55. pulumi_databricks/get_app.py +31 -20
  56. pulumi_databricks/get_apps.py +26 -15
  57. pulumi_databricks/get_apps_settings_custom_template.py +207 -0
  58. pulumi_databricks/get_apps_settings_custom_templates.py +133 -0
  59. pulumi_databricks/get_aws_assume_role_policy.py +27 -28
  60. pulumi_databricks/get_aws_bucket_policy.py +39 -40
  61. pulumi_databricks/get_aws_cross_account_policy.py +47 -48
  62. pulumi_databricks/get_aws_unity_catalog_assume_role_policy.py +35 -36
  63. pulumi_databricks/get_aws_unity_catalog_policy.py +35 -36
  64. pulumi_databricks/get_budget_policies.py +74 -11
  65. pulumi_databricks/get_budget_policy.py +43 -39
  66. pulumi_databricks/get_catalog.py +35 -19
  67. pulumi_databricks/get_catalogs.py +32 -14
  68. pulumi_databricks/get_cluster.py +41 -25
  69. pulumi_databricks/get_cluster_policy.py +72 -54
  70. pulumi_databricks/get_clusters.py +41 -25
  71. pulumi_databricks/get_current_config.py +23 -24
  72. pulumi_databricks/get_current_metastore.py +29 -13
  73. pulumi_databricks/get_current_user.py +17 -18
  74. pulumi_databricks/get_dashboards.py +34 -15
  75. pulumi_databricks/get_data_quality_monitor.py +210 -0
  76. pulumi_databricks/get_data_quality_monitors.py +143 -0
  77. pulumi_databricks/get_data_quality_refresh.py +270 -0
  78. pulumi_databricks/get_data_quality_refreshes.py +207 -0
  79. pulumi_databricks/get_database_database_catalog.py +176 -0
  80. pulumi_databricks/get_database_database_catalogs.py +120 -0
  81. pulumi_databricks/get_database_instance.py +274 -50
  82. pulumi_databricks/get_database_instances.py +35 -11
  83. pulumi_databricks/get_database_synced_database_table.py +225 -0
  84. pulumi_databricks/get_database_synced_database_tables.py +120 -0
  85. pulumi_databricks/get_dbfs_file.py +19 -20
  86. pulumi_databricks/get_dbfs_file_paths.py +16 -17
  87. pulumi_databricks/get_directory.py +43 -25
  88. pulumi_databricks/get_entity_tag_assignment.py +202 -0
  89. pulumi_databricks/get_entity_tag_assignments.py +187 -0
  90. pulumi_databricks/get_external_location.py +35 -19
  91. pulumi_databricks/get_external_locations.py +32 -14
  92. pulumi_databricks/get_external_metadata.py +292 -0
  93. pulumi_databricks/get_external_metadatas.py +135 -0
  94. pulumi_databricks/get_feature_engineering_feature.py +179 -0
  95. pulumi_databricks/get_feature_engineering_features.py +103 -0
  96. pulumi_databricks/get_feature_engineering_materialized_feature.py +180 -0
  97. pulumi_databricks/get_feature_engineering_materialized_features.py +123 -0
  98. pulumi_databricks/get_functions.py +38 -24
  99. pulumi_databricks/get_group.py +85 -86
  100. pulumi_databricks/get_instance_pool.py +10 -11
  101. pulumi_databricks/get_instance_profiles.py +25 -9
  102. pulumi_databricks/get_job.py +22 -23
  103. pulumi_databricks/get_jobs.py +44 -26
  104. pulumi_databricks/get_materialized_features_feature_tag.py +102 -0
  105. pulumi_databricks/get_materialized_features_feature_tags.py +133 -0
  106. pulumi_databricks/get_metastore.py +28 -29
  107. pulumi_databricks/get_metastores.py +9 -10
  108. pulumi_databricks/get_mlflow_experiment.py +62 -46
  109. pulumi_databricks/get_mlflow_model.py +47 -31
  110. pulumi_databricks/get_mlflow_models.py +32 -14
  111. pulumi_databricks/get_mws_credentials.py +9 -10
  112. pulumi_databricks/get_mws_network_connectivity_config.py +40 -41
  113. pulumi_databricks/get_mws_network_connectivity_configs.py +15 -16
  114. pulumi_databricks/get_mws_workspaces.py +5 -6
  115. pulumi_databricks/get_node_type.py +123 -87
  116. pulumi_databricks/get_notebook.py +37 -38
  117. pulumi_databricks/get_notebook_paths.py +16 -17
  118. pulumi_databricks/get_notification_destinations.py +33 -18
  119. pulumi_databricks/get_online_store.py +36 -27
  120. pulumi_databricks/get_online_stores.py +33 -13
  121. pulumi_databricks/get_pipelines.py +49 -31
  122. pulumi_databricks/get_policy_info.py +338 -0
  123. pulumi_databricks/get_policy_infos.py +169 -0
  124. pulumi_databricks/get_quality_monitor_v2.py +21 -18
  125. pulumi_databricks/get_quality_monitors_v2.py +26 -8
  126. pulumi_databricks/get_registered_model.py +41 -27
  127. pulumi_databricks/get_registered_model_versions.py +29 -15
  128. pulumi_databricks/get_rfa_access_request_destinations.py +126 -0
  129. pulumi_databricks/get_schema.py +32 -16
  130. pulumi_databricks/get_schemas.py +38 -20
  131. pulumi_databricks/get_service_principal.py +80 -58
  132. pulumi_databricks/get_service_principal_federation_policies.py +151 -0
  133. pulumi_databricks/get_service_principal_federation_policy.py +220 -0
  134. pulumi_databricks/get_service_principals.py +16 -17
  135. pulumi_databricks/get_serving_endpoints.py +23 -9
  136. pulumi_databricks/get_share.py +130 -32
  137. pulumi_databricks/get_shares.py +29 -11
  138. pulumi_databricks/get_spark_version.py +87 -69
  139. pulumi_databricks/get_sql_warehouse.py +124 -110
  140. pulumi_databricks/get_sql_warehouses.py +37 -19
  141. pulumi_databricks/get_storage_credential.py +32 -16
  142. pulumi_databricks/get_storage_credentials.py +32 -14
  143. pulumi_databricks/get_table.py +30 -14
  144. pulumi_databricks/get_tables.py +41 -23
  145. pulumi_databricks/get_tag_policies.py +139 -0
  146. pulumi_databricks/get_tag_policy.py +175 -0
  147. pulumi_databricks/get_user.py +33 -34
  148. pulumi_databricks/get_views.py +41 -23
  149. pulumi_databricks/get_volume.py +32 -16
  150. pulumi_databricks/get_volumes.py +41 -23
  151. pulumi_databricks/get_workspace_network_option.py +45 -26
  152. pulumi_databricks/get_workspace_setting_v2.py +331 -0
  153. pulumi_databricks/get_zones.py +39 -21
  154. pulumi_databricks/git_credential.py +242 -76
  155. pulumi_databricks/global_init_script.py +99 -100
  156. pulumi_databricks/grant.py +215 -212
  157. pulumi_databricks/grants.py +200 -211
  158. pulumi_databricks/group.py +176 -177
  159. pulumi_databricks/group_instance_profile.py +37 -38
  160. pulumi_databricks/group_member.py +37 -38
  161. pulumi_databricks/group_role.py +37 -38
  162. pulumi_databricks/instance_pool.py +168 -169
  163. pulumi_databricks/instance_profile.py +69 -70
  164. pulumi_databricks/ip_access_list.py +71 -72
  165. pulumi_databricks/job.py +426 -346
  166. pulumi_databricks/lakehouse_monitor.py +199 -200
  167. pulumi_databricks/library.py +264 -99
  168. pulumi_databricks/materialized_features_feature_tag.py +213 -0
  169. pulumi_databricks/metastore.py +254 -255
  170. pulumi_databricks/metastore_assignment.py +52 -53
  171. pulumi_databricks/metastore_data_access.py +153 -154
  172. pulumi_databricks/metastore_provider.py +69 -70
  173. pulumi_databricks/mlflow_experiment.py +108 -109
  174. pulumi_databricks/mlflow_model.py +45 -46
  175. pulumi_databricks/mlflow_webhook.py +75 -76
  176. pulumi_databricks/model_serving.py +195 -74
  177. pulumi_databricks/model_serving_provisioned_throughput.py +100 -54
  178. pulumi_databricks/mount.py +103 -104
  179. pulumi_databricks/mws_credentials.py +99 -100
  180. pulumi_databricks/mws_customer_managed_keys.py +75 -76
  181. pulumi_databricks/mws_log_delivery.py +188 -189
  182. pulumi_databricks/mws_ncc_binding.py +35 -36
  183. pulumi_databricks/mws_ncc_private_endpoint_rule.py +312 -289
  184. pulumi_databricks/mws_network_connectivity_config.py +136 -98
  185. pulumi_databricks/mws_networks.py +159 -160
  186. pulumi_databricks/mws_permission_assignment.py +70 -71
  187. pulumi_databricks/mws_private_access_settings.py +116 -117
  188. pulumi_databricks/mws_storage_configurations.py +74 -75
  189. pulumi_databricks/mws_vpc_endpoint.py +149 -150
  190. pulumi_databricks/mws_workspaces.py +464 -418
  191. pulumi_databricks/notebook.py +143 -144
  192. pulumi_databricks/notification_destination.py +38 -39
  193. pulumi_databricks/obo_token.py +63 -64
  194. pulumi_databricks/online_store.py +121 -70
  195. pulumi_databricks/online_table.py +41 -42
  196. pulumi_databricks/outputs.py +47821 -30802
  197. pulumi_databricks/permission_assignment.py +298 -57
  198. pulumi_databricks/permissions.py +523 -362
  199. pulumi_databricks/pipeline.py +515 -480
  200. pulumi_databricks/policy_info.py +916 -0
  201. pulumi_databricks/provider.py +283 -269
  202. pulumi_databricks/pulumi-plugin.json +1 -1
  203. pulumi_databricks/quality_monitor.py +263 -217
  204. pulumi_databricks/quality_monitor_v2.py +49 -46
  205. pulumi_databricks/query.py +227 -228
  206. pulumi_databricks/recipient.py +208 -209
  207. pulumi_databricks/registered_model.py +393 -122
  208. pulumi_databricks/repo.py +117 -118
  209. pulumi_databricks/restrict_workspace_admins_setting.py +30 -31
  210. pulumi_databricks/rfa_access_request_destinations.py +286 -0
  211. pulumi_databricks/schema.py +159 -160
  212. pulumi_databricks/secret.py +72 -73
  213. pulumi_databricks/secret_acl.py +52 -53
  214. pulumi_databricks/secret_scope.py +55 -56
  215. pulumi_databricks/service_principal.py +279 -278
  216. pulumi_databricks/service_principal_federation_policy.py +469 -0
  217. pulumi_databricks/service_principal_role.py +35 -36
  218. pulumi_databricks/service_principal_secret.py +156 -157
  219. pulumi_databricks/share.py +186 -187
  220. pulumi_databricks/sql_alert.py +98 -99
  221. pulumi_databricks/sql_dashboard.py +94 -95
  222. pulumi_databricks/sql_endpoint.py +298 -266
  223. pulumi_databricks/sql_global_config.py +103 -104
  224. pulumi_databricks/sql_permissions.py +121 -122
  225. pulumi_databricks/sql_query.py +150 -151
  226. pulumi_databricks/sql_table.py +310 -283
  227. pulumi_databricks/sql_visualization.py +92 -93
  228. pulumi_databricks/sql_widget.py +91 -88
  229. pulumi_databricks/storage_credential.py +236 -184
  230. pulumi_databricks/system_schema.py +50 -51
  231. pulumi_databricks/table.py +147 -148
  232. pulumi_databricks/tag_policy.py +357 -0
  233. pulumi_databricks/token.py +83 -84
  234. pulumi_databricks/user.py +284 -285
  235. pulumi_databricks/user_instance_profile.py +35 -36
  236. pulumi_databricks/user_role.py +35 -36
  237. pulumi_databricks/vector_search_endpoint.py +117 -118
  238. pulumi_databricks/vector_search_index.py +86 -87
  239. pulumi_databricks/volume.py +129 -130
  240. pulumi_databricks/workspace_binding.py +82 -131
  241. pulumi_databricks/workspace_conf.py +18 -19
  242. pulumi_databricks/workspace_file.py +100 -101
  243. pulumi_databricks/workspace_network_option.py +89 -40
  244. pulumi_databricks/workspace_setting_v2.py +759 -0
  245. {pulumi_databricks-1.74.0a1753335781.dist-info → pulumi_databricks-1.77.0.dist-info}/METADATA +1 -1
  246. pulumi_databricks-1.77.0.dist-info/RECORD +250 -0
  247. pulumi_databricks/get_recipient_federation_policies.py +0 -83
  248. pulumi_databricks/get_recipient_federation_policy.py +0 -166
  249. pulumi_databricks/recipient_federation_policy.py +0 -347
  250. pulumi_databricks-1.74.0a1753335781.dist-info/RECORD +0 -205
  251. {pulumi_databricks-1.74.0a1753335781.dist-info → pulumi_databricks-1.77.0.dist-info}/WHEEL +0 -0
  252. {pulumi_databricks-1.74.0a1753335781.dist-info → pulumi_databricks-1.77.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,916 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import builtins as _builtins
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from . import _utilities
16
+ from . import outputs
17
+ from ._inputs import *
18
+
19
+ __all__ = ['PolicyInfoArgs', 'PolicyInfo']
20
+
21
+ @pulumi.input_type
22
+ class PolicyInfoArgs:
23
+ def __init__(__self__, *,
24
+ for_securable_type: pulumi.Input[_builtins.str],
25
+ policy_type: pulumi.Input[_builtins.str],
26
+ to_principals: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]],
27
+ column_mask: Optional[pulumi.Input['PolicyInfoColumnMaskArgs']] = None,
28
+ comment: Optional[pulumi.Input[_builtins.str]] = None,
29
+ except_principals: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
30
+ match_columns: Optional[pulumi.Input[Sequence[pulumi.Input['PolicyInfoMatchColumnArgs']]]] = None,
31
+ name: Optional[pulumi.Input[_builtins.str]] = None,
32
+ on_securable_fullname: Optional[pulumi.Input[_builtins.str]] = None,
33
+ on_securable_type: Optional[pulumi.Input[_builtins.str]] = None,
34
+ row_filter: Optional[pulumi.Input['PolicyInfoRowFilterArgs']] = None,
35
+ when_condition: Optional[pulumi.Input[_builtins.str]] = None):
36
+ """
37
+ The set of arguments for constructing a PolicyInfo resource.
38
+ :param pulumi.Input[_builtins.str] for_securable_type: Type of securables that the policy should take effect on.
39
+ Only `TABLE` is supported at this moment.
40
+ Required on create and optional on update. Possible values are: `CATALOG`, `CLEAN_ROOM`, `CONNECTION`, `CREDENTIAL`, `EXTERNAL_LOCATION`, `EXTERNAL_METADATA`, `FUNCTION`, `METASTORE`, `PIPELINE`, `PROVIDER`, `RECIPIENT`, `SCHEMA`, `SHARE`, `STAGING_TABLE`, `STORAGE_CREDENTIAL`, `TABLE`, `VOLUME`
41
+ :param pulumi.Input[_builtins.str] policy_type: Type of the policy. Required on create and ignored on update. Possible values are: `POLICY_TYPE_COLUMN_MASK`, `POLICY_TYPE_ROW_FILTER`
42
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] to_principals: List of user or group names that the policy applies to.
43
+ Required on create and optional on update
44
+ :param pulumi.Input['PolicyInfoColumnMaskArgs'] column_mask: Options for column mask policies. Valid only if `policy_type` is `POLICY_TYPE_COLUMN_MASK`.
45
+ Required on create and optional on update. When specified on update,
46
+ the new options will replace the existing options as a whole
47
+ :param pulumi.Input[_builtins.str] comment: Optional description of the policy
48
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] except_principals: Optional list of user or group names that should be excluded from the policy
49
+ :param pulumi.Input[Sequence[pulumi.Input['PolicyInfoMatchColumnArgs']]] match_columns: Optional list of condition expressions used to match table columns.
50
+ Only valid when `for_securable_type` is `TABLE`.
51
+ When specified, the policy only applies to tables whose columns satisfy all match conditions
52
+ :param pulumi.Input[_builtins.str] name: Name of the policy. Required on create and optional on update.
53
+ To rename the policy, set `name` to a different value on update
54
+ :param pulumi.Input[_builtins.str] on_securable_fullname: Full name of the securable on which the policy is defined.
55
+ Required on create and ignored on update
56
+ :param pulumi.Input[_builtins.str] on_securable_type: Type of the securable on which the policy is defined.
57
+ Only `CATALOG`, `SCHEMA` and `TABLE` are supported at this moment.
58
+ Required on create and ignored on update. Possible values are: `CATALOG`, `CLEAN_ROOM`, `CONNECTION`, `CREDENTIAL`, `EXTERNAL_LOCATION`, `EXTERNAL_METADATA`, `FUNCTION`, `METASTORE`, `PIPELINE`, `PROVIDER`, `RECIPIENT`, `SCHEMA`, `SHARE`, `STAGING_TABLE`, `STORAGE_CREDENTIAL`, `TABLE`, `VOLUME`
59
+ :param pulumi.Input['PolicyInfoRowFilterArgs'] row_filter: Options for row filter policies. Valid only if `policy_type` is `POLICY_TYPE_ROW_FILTER`.
60
+ Required on create and optional on update. When specified on update,
61
+ the new options will replace the existing options as a whole
62
+ :param pulumi.Input[_builtins.str] when_condition: Optional condition when the policy should take effect
63
+ """
64
+ pulumi.set(__self__, "for_securable_type", for_securable_type)
65
+ pulumi.set(__self__, "policy_type", policy_type)
66
+ pulumi.set(__self__, "to_principals", to_principals)
67
+ if column_mask is not None:
68
+ pulumi.set(__self__, "column_mask", column_mask)
69
+ if comment is not None:
70
+ pulumi.set(__self__, "comment", comment)
71
+ if except_principals is not None:
72
+ pulumi.set(__self__, "except_principals", except_principals)
73
+ if match_columns is not None:
74
+ pulumi.set(__self__, "match_columns", match_columns)
75
+ if name is not None:
76
+ pulumi.set(__self__, "name", name)
77
+ if on_securable_fullname is not None:
78
+ pulumi.set(__self__, "on_securable_fullname", on_securable_fullname)
79
+ if on_securable_type is not None:
80
+ pulumi.set(__self__, "on_securable_type", on_securable_type)
81
+ if row_filter is not None:
82
+ pulumi.set(__self__, "row_filter", row_filter)
83
+ if when_condition is not None:
84
+ pulumi.set(__self__, "when_condition", when_condition)
85
+
86
+ @_builtins.property
87
+ @pulumi.getter(name="forSecurableType")
88
+ def for_securable_type(self) -> pulumi.Input[_builtins.str]:
89
+ """
90
+ Type of securables that the policy should take effect on.
91
+ Only `TABLE` is supported at this moment.
92
+ Required on create and optional on update. Possible values are: `CATALOG`, `CLEAN_ROOM`, `CONNECTION`, `CREDENTIAL`, `EXTERNAL_LOCATION`, `EXTERNAL_METADATA`, `FUNCTION`, `METASTORE`, `PIPELINE`, `PROVIDER`, `RECIPIENT`, `SCHEMA`, `SHARE`, `STAGING_TABLE`, `STORAGE_CREDENTIAL`, `TABLE`, `VOLUME`
93
+ """
94
+ return pulumi.get(self, "for_securable_type")
95
+
96
+ @for_securable_type.setter
97
+ def for_securable_type(self, value: pulumi.Input[_builtins.str]):
98
+ pulumi.set(self, "for_securable_type", value)
99
+
100
+ @_builtins.property
101
+ @pulumi.getter(name="policyType")
102
+ def policy_type(self) -> pulumi.Input[_builtins.str]:
103
+ """
104
+ Type of the policy. Required on create and ignored on update. Possible values are: `POLICY_TYPE_COLUMN_MASK`, `POLICY_TYPE_ROW_FILTER`
105
+ """
106
+ return pulumi.get(self, "policy_type")
107
+
108
+ @policy_type.setter
109
+ def policy_type(self, value: pulumi.Input[_builtins.str]):
110
+ pulumi.set(self, "policy_type", value)
111
+
112
+ @_builtins.property
113
+ @pulumi.getter(name="toPrincipals")
114
+ def to_principals(self) -> pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]:
115
+ """
116
+ List of user or group names that the policy applies to.
117
+ Required on create and optional on update
118
+ """
119
+ return pulumi.get(self, "to_principals")
120
+
121
+ @to_principals.setter
122
+ def to_principals(self, value: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]):
123
+ pulumi.set(self, "to_principals", value)
124
+
125
+ @_builtins.property
126
+ @pulumi.getter(name="columnMask")
127
+ def column_mask(self) -> Optional[pulumi.Input['PolicyInfoColumnMaskArgs']]:
128
+ """
129
+ Options for column mask policies. Valid only if `policy_type` is `POLICY_TYPE_COLUMN_MASK`.
130
+ Required on create and optional on update. When specified on update,
131
+ the new options will replace the existing options as a whole
132
+ """
133
+ return pulumi.get(self, "column_mask")
134
+
135
+ @column_mask.setter
136
+ def column_mask(self, value: Optional[pulumi.Input['PolicyInfoColumnMaskArgs']]):
137
+ pulumi.set(self, "column_mask", value)
138
+
139
+ @_builtins.property
140
+ @pulumi.getter
141
+ def comment(self) -> Optional[pulumi.Input[_builtins.str]]:
142
+ """
143
+ Optional description of the policy
144
+ """
145
+ return pulumi.get(self, "comment")
146
+
147
+ @comment.setter
148
+ def comment(self, value: Optional[pulumi.Input[_builtins.str]]):
149
+ pulumi.set(self, "comment", value)
150
+
151
+ @_builtins.property
152
+ @pulumi.getter(name="exceptPrincipals")
153
+ def except_principals(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
154
+ """
155
+ Optional list of user or group names that should be excluded from the policy
156
+ """
157
+ return pulumi.get(self, "except_principals")
158
+
159
+ @except_principals.setter
160
+ def except_principals(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
161
+ pulumi.set(self, "except_principals", value)
162
+
163
+ @_builtins.property
164
+ @pulumi.getter(name="matchColumns")
165
+ def match_columns(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['PolicyInfoMatchColumnArgs']]]]:
166
+ """
167
+ Optional list of condition expressions used to match table columns.
168
+ Only valid when `for_securable_type` is `TABLE`.
169
+ When specified, the policy only applies to tables whose columns satisfy all match conditions
170
+ """
171
+ return pulumi.get(self, "match_columns")
172
+
173
+ @match_columns.setter
174
+ def match_columns(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['PolicyInfoMatchColumnArgs']]]]):
175
+ pulumi.set(self, "match_columns", value)
176
+
177
+ @_builtins.property
178
+ @pulumi.getter
179
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
180
+ """
181
+ Name of the policy. Required on create and optional on update.
182
+ To rename the policy, set `name` to a different value on update
183
+ """
184
+ return pulumi.get(self, "name")
185
+
186
+ @name.setter
187
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
188
+ pulumi.set(self, "name", value)
189
+
190
+ @_builtins.property
191
+ @pulumi.getter(name="onSecurableFullname")
192
+ def on_securable_fullname(self) -> Optional[pulumi.Input[_builtins.str]]:
193
+ """
194
+ Full name of the securable on which the policy is defined.
195
+ Required on create and ignored on update
196
+ """
197
+ return pulumi.get(self, "on_securable_fullname")
198
+
199
+ @on_securable_fullname.setter
200
+ def on_securable_fullname(self, value: Optional[pulumi.Input[_builtins.str]]):
201
+ pulumi.set(self, "on_securable_fullname", value)
202
+
203
+ @_builtins.property
204
+ @pulumi.getter(name="onSecurableType")
205
+ def on_securable_type(self) -> Optional[pulumi.Input[_builtins.str]]:
206
+ """
207
+ Type of the securable on which the policy is defined.
208
+ Only `CATALOG`, `SCHEMA` and `TABLE` are supported at this moment.
209
+ Required on create and ignored on update. Possible values are: `CATALOG`, `CLEAN_ROOM`, `CONNECTION`, `CREDENTIAL`, `EXTERNAL_LOCATION`, `EXTERNAL_METADATA`, `FUNCTION`, `METASTORE`, `PIPELINE`, `PROVIDER`, `RECIPIENT`, `SCHEMA`, `SHARE`, `STAGING_TABLE`, `STORAGE_CREDENTIAL`, `TABLE`, `VOLUME`
210
+ """
211
+ return pulumi.get(self, "on_securable_type")
212
+
213
+ @on_securable_type.setter
214
+ def on_securable_type(self, value: Optional[pulumi.Input[_builtins.str]]):
215
+ pulumi.set(self, "on_securable_type", value)
216
+
217
+ @_builtins.property
218
+ @pulumi.getter(name="rowFilter")
219
+ def row_filter(self) -> Optional[pulumi.Input['PolicyInfoRowFilterArgs']]:
220
+ """
221
+ Options for row filter policies. Valid only if `policy_type` is `POLICY_TYPE_ROW_FILTER`.
222
+ Required on create and optional on update. When specified on update,
223
+ the new options will replace the existing options as a whole
224
+ """
225
+ return pulumi.get(self, "row_filter")
226
+
227
+ @row_filter.setter
228
+ def row_filter(self, value: Optional[pulumi.Input['PolicyInfoRowFilterArgs']]):
229
+ pulumi.set(self, "row_filter", value)
230
+
231
+ @_builtins.property
232
+ @pulumi.getter(name="whenCondition")
233
+ def when_condition(self) -> Optional[pulumi.Input[_builtins.str]]:
234
+ """
235
+ Optional condition when the policy should take effect
236
+ """
237
+ return pulumi.get(self, "when_condition")
238
+
239
+ @when_condition.setter
240
+ def when_condition(self, value: Optional[pulumi.Input[_builtins.str]]):
241
+ pulumi.set(self, "when_condition", value)
242
+
243
+
244
+ @pulumi.input_type
245
+ class _PolicyInfoState:
246
+ def __init__(__self__, *,
247
+ column_mask: Optional[pulumi.Input['PolicyInfoColumnMaskArgs']] = None,
248
+ comment: Optional[pulumi.Input[_builtins.str]] = None,
249
+ created_at: Optional[pulumi.Input[_builtins.int]] = None,
250
+ created_by: Optional[pulumi.Input[_builtins.str]] = None,
251
+ except_principals: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
252
+ for_securable_type: Optional[pulumi.Input[_builtins.str]] = None,
253
+ match_columns: Optional[pulumi.Input[Sequence[pulumi.Input['PolicyInfoMatchColumnArgs']]]] = None,
254
+ name: Optional[pulumi.Input[_builtins.str]] = None,
255
+ on_securable_fullname: Optional[pulumi.Input[_builtins.str]] = None,
256
+ on_securable_type: Optional[pulumi.Input[_builtins.str]] = None,
257
+ policy_type: Optional[pulumi.Input[_builtins.str]] = None,
258
+ row_filter: Optional[pulumi.Input['PolicyInfoRowFilterArgs']] = None,
259
+ to_principals: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
260
+ updated_at: Optional[pulumi.Input[_builtins.int]] = None,
261
+ updated_by: Optional[pulumi.Input[_builtins.str]] = None,
262
+ when_condition: Optional[pulumi.Input[_builtins.str]] = None):
263
+ """
264
+ Input properties used for looking up and filtering PolicyInfo resources.
265
+ :param pulumi.Input['PolicyInfoColumnMaskArgs'] column_mask: Options for column mask policies. Valid only if `policy_type` is `POLICY_TYPE_COLUMN_MASK`.
266
+ Required on create and optional on update. When specified on update,
267
+ the new options will replace the existing options as a whole
268
+ :param pulumi.Input[_builtins.str] comment: Optional description of the policy
269
+ :param pulumi.Input[_builtins.int] created_at: (integer) - Time at which the policy was created, in epoch milliseconds. Output only
270
+ :param pulumi.Input[_builtins.str] created_by: (string) - Username of the user who created the policy. Output only
271
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] except_principals: Optional list of user or group names that should be excluded from the policy
272
+ :param pulumi.Input[_builtins.str] for_securable_type: Type of securables that the policy should take effect on.
273
+ Only `TABLE` is supported at this moment.
274
+ Required on create and optional on update. Possible values are: `CATALOG`, `CLEAN_ROOM`, `CONNECTION`, `CREDENTIAL`, `EXTERNAL_LOCATION`, `EXTERNAL_METADATA`, `FUNCTION`, `METASTORE`, `PIPELINE`, `PROVIDER`, `RECIPIENT`, `SCHEMA`, `SHARE`, `STAGING_TABLE`, `STORAGE_CREDENTIAL`, `TABLE`, `VOLUME`
275
+ :param pulumi.Input[Sequence[pulumi.Input['PolicyInfoMatchColumnArgs']]] match_columns: Optional list of condition expressions used to match table columns.
276
+ Only valid when `for_securable_type` is `TABLE`.
277
+ When specified, the policy only applies to tables whose columns satisfy all match conditions
278
+ :param pulumi.Input[_builtins.str] name: Name of the policy. Required on create and optional on update.
279
+ To rename the policy, set `name` to a different value on update
280
+ :param pulumi.Input[_builtins.str] on_securable_fullname: Full name of the securable on which the policy is defined.
281
+ Required on create and ignored on update
282
+ :param pulumi.Input[_builtins.str] on_securable_type: Type of the securable on which the policy is defined.
283
+ Only `CATALOG`, `SCHEMA` and `TABLE` are supported at this moment.
284
+ Required on create and ignored on update. Possible values are: `CATALOG`, `CLEAN_ROOM`, `CONNECTION`, `CREDENTIAL`, `EXTERNAL_LOCATION`, `EXTERNAL_METADATA`, `FUNCTION`, `METASTORE`, `PIPELINE`, `PROVIDER`, `RECIPIENT`, `SCHEMA`, `SHARE`, `STAGING_TABLE`, `STORAGE_CREDENTIAL`, `TABLE`, `VOLUME`
285
+ :param pulumi.Input[_builtins.str] policy_type: Type of the policy. Required on create and ignored on update. Possible values are: `POLICY_TYPE_COLUMN_MASK`, `POLICY_TYPE_ROW_FILTER`
286
+ :param pulumi.Input['PolicyInfoRowFilterArgs'] row_filter: Options for row filter policies. Valid only if `policy_type` is `POLICY_TYPE_ROW_FILTER`.
287
+ Required on create and optional on update. When specified on update,
288
+ the new options will replace the existing options as a whole
289
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] to_principals: List of user or group names that the policy applies to.
290
+ Required on create and optional on update
291
+ :param pulumi.Input[_builtins.int] updated_at: (integer) - Time at which the policy was last modified, in epoch milliseconds. Output only
292
+ :param pulumi.Input[_builtins.str] updated_by: (string) - Username of the user who last modified the policy. Output only
293
+ :param pulumi.Input[_builtins.str] when_condition: Optional condition when the policy should take effect
294
+ """
295
+ if column_mask is not None:
296
+ pulumi.set(__self__, "column_mask", column_mask)
297
+ if comment is not None:
298
+ pulumi.set(__self__, "comment", comment)
299
+ if created_at is not None:
300
+ pulumi.set(__self__, "created_at", created_at)
301
+ if created_by is not None:
302
+ pulumi.set(__self__, "created_by", created_by)
303
+ if except_principals is not None:
304
+ pulumi.set(__self__, "except_principals", except_principals)
305
+ if for_securable_type is not None:
306
+ pulumi.set(__self__, "for_securable_type", for_securable_type)
307
+ if match_columns is not None:
308
+ pulumi.set(__self__, "match_columns", match_columns)
309
+ if name is not None:
310
+ pulumi.set(__self__, "name", name)
311
+ if on_securable_fullname is not None:
312
+ pulumi.set(__self__, "on_securable_fullname", on_securable_fullname)
313
+ if on_securable_type is not None:
314
+ pulumi.set(__self__, "on_securable_type", on_securable_type)
315
+ if policy_type is not None:
316
+ pulumi.set(__self__, "policy_type", policy_type)
317
+ if row_filter is not None:
318
+ pulumi.set(__self__, "row_filter", row_filter)
319
+ if to_principals is not None:
320
+ pulumi.set(__self__, "to_principals", to_principals)
321
+ if updated_at is not None:
322
+ pulumi.set(__self__, "updated_at", updated_at)
323
+ if updated_by is not None:
324
+ pulumi.set(__self__, "updated_by", updated_by)
325
+ if when_condition is not None:
326
+ pulumi.set(__self__, "when_condition", when_condition)
327
+
328
+ @_builtins.property
329
+ @pulumi.getter(name="columnMask")
330
+ def column_mask(self) -> Optional[pulumi.Input['PolicyInfoColumnMaskArgs']]:
331
+ """
332
+ Options for column mask policies. Valid only if `policy_type` is `POLICY_TYPE_COLUMN_MASK`.
333
+ Required on create and optional on update. When specified on update,
334
+ the new options will replace the existing options as a whole
335
+ """
336
+ return pulumi.get(self, "column_mask")
337
+
338
+ @column_mask.setter
339
+ def column_mask(self, value: Optional[pulumi.Input['PolicyInfoColumnMaskArgs']]):
340
+ pulumi.set(self, "column_mask", value)
341
+
342
+ @_builtins.property
343
+ @pulumi.getter
344
+ def comment(self) -> Optional[pulumi.Input[_builtins.str]]:
345
+ """
346
+ Optional description of the policy
347
+ """
348
+ return pulumi.get(self, "comment")
349
+
350
+ @comment.setter
351
+ def comment(self, value: Optional[pulumi.Input[_builtins.str]]):
352
+ pulumi.set(self, "comment", value)
353
+
354
+ @_builtins.property
355
+ @pulumi.getter(name="createdAt")
356
+ def created_at(self) -> Optional[pulumi.Input[_builtins.int]]:
357
+ """
358
+ (integer) - Time at which the policy was created, in epoch milliseconds. Output only
359
+ """
360
+ return pulumi.get(self, "created_at")
361
+
362
+ @created_at.setter
363
+ def created_at(self, value: Optional[pulumi.Input[_builtins.int]]):
364
+ pulumi.set(self, "created_at", value)
365
+
366
+ @_builtins.property
367
+ @pulumi.getter(name="createdBy")
368
+ def created_by(self) -> Optional[pulumi.Input[_builtins.str]]:
369
+ """
370
+ (string) - Username of the user who created the policy. Output only
371
+ """
372
+ return pulumi.get(self, "created_by")
373
+
374
+ @created_by.setter
375
+ def created_by(self, value: Optional[pulumi.Input[_builtins.str]]):
376
+ pulumi.set(self, "created_by", value)
377
+
378
+ @_builtins.property
379
+ @pulumi.getter(name="exceptPrincipals")
380
+ def except_principals(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
381
+ """
382
+ Optional list of user or group names that should be excluded from the policy
383
+ """
384
+ return pulumi.get(self, "except_principals")
385
+
386
+ @except_principals.setter
387
+ def except_principals(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
388
+ pulumi.set(self, "except_principals", value)
389
+
390
+ @_builtins.property
391
+ @pulumi.getter(name="forSecurableType")
392
+ def for_securable_type(self) -> Optional[pulumi.Input[_builtins.str]]:
393
+ """
394
+ Type of securables that the policy should take effect on.
395
+ Only `TABLE` is supported at this moment.
396
+ Required on create and optional on update. Possible values are: `CATALOG`, `CLEAN_ROOM`, `CONNECTION`, `CREDENTIAL`, `EXTERNAL_LOCATION`, `EXTERNAL_METADATA`, `FUNCTION`, `METASTORE`, `PIPELINE`, `PROVIDER`, `RECIPIENT`, `SCHEMA`, `SHARE`, `STAGING_TABLE`, `STORAGE_CREDENTIAL`, `TABLE`, `VOLUME`
397
+ """
398
+ return pulumi.get(self, "for_securable_type")
399
+
400
+ @for_securable_type.setter
401
+ def for_securable_type(self, value: Optional[pulumi.Input[_builtins.str]]):
402
+ pulumi.set(self, "for_securable_type", value)
403
+
404
+ @_builtins.property
405
+ @pulumi.getter(name="matchColumns")
406
+ def match_columns(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['PolicyInfoMatchColumnArgs']]]]:
407
+ """
408
+ Optional list of condition expressions used to match table columns.
409
+ Only valid when `for_securable_type` is `TABLE`.
410
+ When specified, the policy only applies to tables whose columns satisfy all match conditions
411
+ """
412
+ return pulumi.get(self, "match_columns")
413
+
414
+ @match_columns.setter
415
+ def match_columns(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['PolicyInfoMatchColumnArgs']]]]):
416
+ pulumi.set(self, "match_columns", value)
417
+
418
+ @_builtins.property
419
+ @pulumi.getter
420
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
421
+ """
422
+ Name of the policy. Required on create and optional on update.
423
+ To rename the policy, set `name` to a different value on update
424
+ """
425
+ return pulumi.get(self, "name")
426
+
427
+ @name.setter
428
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
429
+ pulumi.set(self, "name", value)
430
+
431
+ @_builtins.property
432
+ @pulumi.getter(name="onSecurableFullname")
433
+ def on_securable_fullname(self) -> Optional[pulumi.Input[_builtins.str]]:
434
+ """
435
+ Full name of the securable on which the policy is defined.
436
+ Required on create and ignored on update
437
+ """
438
+ return pulumi.get(self, "on_securable_fullname")
439
+
440
+ @on_securable_fullname.setter
441
+ def on_securable_fullname(self, value: Optional[pulumi.Input[_builtins.str]]):
442
+ pulumi.set(self, "on_securable_fullname", value)
443
+
444
+ @_builtins.property
445
+ @pulumi.getter(name="onSecurableType")
446
+ def on_securable_type(self) -> Optional[pulumi.Input[_builtins.str]]:
447
+ """
448
+ Type of the securable on which the policy is defined.
449
+ Only `CATALOG`, `SCHEMA` and `TABLE` are supported at this moment.
450
+ Required on create and ignored on update. Possible values are: `CATALOG`, `CLEAN_ROOM`, `CONNECTION`, `CREDENTIAL`, `EXTERNAL_LOCATION`, `EXTERNAL_METADATA`, `FUNCTION`, `METASTORE`, `PIPELINE`, `PROVIDER`, `RECIPIENT`, `SCHEMA`, `SHARE`, `STAGING_TABLE`, `STORAGE_CREDENTIAL`, `TABLE`, `VOLUME`
451
+ """
452
+ return pulumi.get(self, "on_securable_type")
453
+
454
+ @on_securable_type.setter
455
+ def on_securable_type(self, value: Optional[pulumi.Input[_builtins.str]]):
456
+ pulumi.set(self, "on_securable_type", value)
457
+
458
+ @_builtins.property
459
+ @pulumi.getter(name="policyType")
460
+ def policy_type(self) -> Optional[pulumi.Input[_builtins.str]]:
461
+ """
462
+ Type of the policy. Required on create and ignored on update. Possible values are: `POLICY_TYPE_COLUMN_MASK`, `POLICY_TYPE_ROW_FILTER`
463
+ """
464
+ return pulumi.get(self, "policy_type")
465
+
466
+ @policy_type.setter
467
+ def policy_type(self, value: Optional[pulumi.Input[_builtins.str]]):
468
+ pulumi.set(self, "policy_type", value)
469
+
470
+ @_builtins.property
471
+ @pulumi.getter(name="rowFilter")
472
+ def row_filter(self) -> Optional[pulumi.Input['PolicyInfoRowFilterArgs']]:
473
+ """
474
+ Options for row filter policies. Valid only if `policy_type` is `POLICY_TYPE_ROW_FILTER`.
475
+ Required on create and optional on update. When specified on update,
476
+ the new options will replace the existing options as a whole
477
+ """
478
+ return pulumi.get(self, "row_filter")
479
+
480
+ @row_filter.setter
481
+ def row_filter(self, value: Optional[pulumi.Input['PolicyInfoRowFilterArgs']]):
482
+ pulumi.set(self, "row_filter", value)
483
+
484
+ @_builtins.property
485
+ @pulumi.getter(name="toPrincipals")
486
+ def to_principals(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
487
+ """
488
+ List of user or group names that the policy applies to.
489
+ Required on create and optional on update
490
+ """
491
+ return pulumi.get(self, "to_principals")
492
+
493
+ @to_principals.setter
494
+ def to_principals(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
495
+ pulumi.set(self, "to_principals", value)
496
+
497
+ @_builtins.property
498
+ @pulumi.getter(name="updatedAt")
499
+ def updated_at(self) -> Optional[pulumi.Input[_builtins.int]]:
500
+ """
501
+ (integer) - Time at which the policy was last modified, in epoch milliseconds. Output only
502
+ """
503
+ return pulumi.get(self, "updated_at")
504
+
505
+ @updated_at.setter
506
+ def updated_at(self, value: Optional[pulumi.Input[_builtins.int]]):
507
+ pulumi.set(self, "updated_at", value)
508
+
509
+ @_builtins.property
510
+ @pulumi.getter(name="updatedBy")
511
+ def updated_by(self) -> Optional[pulumi.Input[_builtins.str]]:
512
+ """
513
+ (string) - Username of the user who last modified the policy. Output only
514
+ """
515
+ return pulumi.get(self, "updated_by")
516
+
517
+ @updated_by.setter
518
+ def updated_by(self, value: Optional[pulumi.Input[_builtins.str]]):
519
+ pulumi.set(self, "updated_by", value)
520
+
521
+ @_builtins.property
522
+ @pulumi.getter(name="whenCondition")
523
+ def when_condition(self) -> Optional[pulumi.Input[_builtins.str]]:
524
+ """
525
+ Optional condition when the policy should take effect
526
+ """
527
+ return pulumi.get(self, "when_condition")
528
+
529
+ @when_condition.setter
530
+ def when_condition(self, value: Optional[pulumi.Input[_builtins.str]]):
531
+ pulumi.set(self, "when_condition", value)
532
+
533
+
534
+ @pulumi.type_token("databricks:index/policyInfo:PolicyInfo")
535
+ class PolicyInfo(pulumi.CustomResource):
536
+ @overload
537
+ def __init__(__self__,
538
+ resource_name: str,
539
+ opts: Optional[pulumi.ResourceOptions] = None,
540
+ column_mask: Optional[pulumi.Input[Union['PolicyInfoColumnMaskArgs', 'PolicyInfoColumnMaskArgsDict']]] = None,
541
+ comment: Optional[pulumi.Input[_builtins.str]] = None,
542
+ except_principals: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
543
+ for_securable_type: Optional[pulumi.Input[_builtins.str]] = None,
544
+ match_columns: Optional[pulumi.Input[Sequence[pulumi.Input[Union['PolicyInfoMatchColumnArgs', 'PolicyInfoMatchColumnArgsDict']]]]] = None,
545
+ name: Optional[pulumi.Input[_builtins.str]] = None,
546
+ on_securable_fullname: Optional[pulumi.Input[_builtins.str]] = None,
547
+ on_securable_type: Optional[pulumi.Input[_builtins.str]] = None,
548
+ policy_type: Optional[pulumi.Input[_builtins.str]] = None,
549
+ row_filter: Optional[pulumi.Input[Union['PolicyInfoRowFilterArgs', 'PolicyInfoRowFilterArgsDict']]] = None,
550
+ to_principals: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
551
+ when_condition: Optional[pulumi.Input[_builtins.str]] = None,
552
+ __props__=None):
553
+ """
554
+ [![Public Beta](https://img.shields.io/badge/Release_Stage-Public_Beta-orange)](https://docs.databricks.com/aws/en/release-notes/release-types)
555
+
556
+ ## Import
557
+
558
+ As of Pulumi v1.5, resources can be imported through configuration.
559
+
560
+ hcl
561
+
562
+ import {
563
+
564
+ id = "on_securable_type,on_securable_fullname,name"
565
+
566
+ to = databricks_policy_info.this
567
+
568
+ }
569
+
570
+ If you are using an older version of Pulumi, import the resource using the `pulumi import` command as follows:
571
+
572
+ ```sh
573
+ $ pulumi import databricks:index/policyInfo:PolicyInfo this "on_securable_type,on_securable_fullname,name"
574
+ ```
575
+
576
+ :param str resource_name: The name of the resource.
577
+ :param pulumi.ResourceOptions opts: Options for the resource.
578
+ :param pulumi.Input[Union['PolicyInfoColumnMaskArgs', 'PolicyInfoColumnMaskArgsDict']] column_mask: Options for column mask policies. Valid only if `policy_type` is `POLICY_TYPE_COLUMN_MASK`.
579
+ Required on create and optional on update. When specified on update,
580
+ the new options will replace the existing options as a whole
581
+ :param pulumi.Input[_builtins.str] comment: Optional description of the policy
582
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] except_principals: Optional list of user or group names that should be excluded from the policy
583
+ :param pulumi.Input[_builtins.str] for_securable_type: Type of securables that the policy should take effect on.
584
+ Only `TABLE` is supported at this moment.
585
+ Required on create and optional on update. Possible values are: `CATALOG`, `CLEAN_ROOM`, `CONNECTION`, `CREDENTIAL`, `EXTERNAL_LOCATION`, `EXTERNAL_METADATA`, `FUNCTION`, `METASTORE`, `PIPELINE`, `PROVIDER`, `RECIPIENT`, `SCHEMA`, `SHARE`, `STAGING_TABLE`, `STORAGE_CREDENTIAL`, `TABLE`, `VOLUME`
586
+ :param pulumi.Input[Sequence[pulumi.Input[Union['PolicyInfoMatchColumnArgs', 'PolicyInfoMatchColumnArgsDict']]]] match_columns: Optional list of condition expressions used to match table columns.
587
+ Only valid when `for_securable_type` is `TABLE`.
588
+ When specified, the policy only applies to tables whose columns satisfy all match conditions
589
+ :param pulumi.Input[_builtins.str] name: Name of the policy. Required on create and optional on update.
590
+ To rename the policy, set `name` to a different value on update
591
+ :param pulumi.Input[_builtins.str] on_securable_fullname: Full name of the securable on which the policy is defined.
592
+ Required on create and ignored on update
593
+ :param pulumi.Input[_builtins.str] on_securable_type: Type of the securable on which the policy is defined.
594
+ Only `CATALOG`, `SCHEMA` and `TABLE` are supported at this moment.
595
+ Required on create and ignored on update. Possible values are: `CATALOG`, `CLEAN_ROOM`, `CONNECTION`, `CREDENTIAL`, `EXTERNAL_LOCATION`, `EXTERNAL_METADATA`, `FUNCTION`, `METASTORE`, `PIPELINE`, `PROVIDER`, `RECIPIENT`, `SCHEMA`, `SHARE`, `STAGING_TABLE`, `STORAGE_CREDENTIAL`, `TABLE`, `VOLUME`
596
+ :param pulumi.Input[_builtins.str] policy_type: Type of the policy. Required on create and ignored on update. Possible values are: `POLICY_TYPE_COLUMN_MASK`, `POLICY_TYPE_ROW_FILTER`
597
+ :param pulumi.Input[Union['PolicyInfoRowFilterArgs', 'PolicyInfoRowFilterArgsDict']] row_filter: Options for row filter policies. Valid only if `policy_type` is `POLICY_TYPE_ROW_FILTER`.
598
+ Required on create and optional on update. When specified on update,
599
+ the new options will replace the existing options as a whole
600
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] to_principals: List of user or group names that the policy applies to.
601
+ Required on create and optional on update
602
+ :param pulumi.Input[_builtins.str] when_condition: Optional condition when the policy should take effect
603
+ """
604
+ ...
605
+ @overload
606
+ def __init__(__self__,
607
+ resource_name: str,
608
+ args: PolicyInfoArgs,
609
+ opts: Optional[pulumi.ResourceOptions] = None):
610
+ """
611
+ [![Public Beta](https://img.shields.io/badge/Release_Stage-Public_Beta-orange)](https://docs.databricks.com/aws/en/release-notes/release-types)
612
+
613
+ ## Import
614
+
615
+ As of Pulumi v1.5, resources can be imported through configuration.
616
+
617
+ hcl
618
+
619
+ import {
620
+
621
+ id = "on_securable_type,on_securable_fullname,name"
622
+
623
+ to = databricks_policy_info.this
624
+
625
+ }
626
+
627
+ If you are using an older version of Pulumi, import the resource using the `pulumi import` command as follows:
628
+
629
+ ```sh
630
+ $ pulumi import databricks:index/policyInfo:PolicyInfo this "on_securable_type,on_securable_fullname,name"
631
+ ```
632
+
633
+ :param str resource_name: The name of the resource.
634
+ :param PolicyInfoArgs args: The arguments to use to populate this resource's properties.
635
+ :param pulumi.ResourceOptions opts: Options for the resource.
636
+ """
637
+ ...
638
+ def __init__(__self__, resource_name: str, *args, **kwargs):
639
+ resource_args, opts = _utilities.get_resource_args_opts(PolicyInfoArgs, pulumi.ResourceOptions, *args, **kwargs)
640
+ if resource_args is not None:
641
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
642
+ else:
643
+ __self__._internal_init(resource_name, *args, **kwargs)
644
+
645
+ def _internal_init(__self__,
646
+ resource_name: str,
647
+ opts: Optional[pulumi.ResourceOptions] = None,
648
+ column_mask: Optional[pulumi.Input[Union['PolicyInfoColumnMaskArgs', 'PolicyInfoColumnMaskArgsDict']]] = None,
649
+ comment: Optional[pulumi.Input[_builtins.str]] = None,
650
+ except_principals: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
651
+ for_securable_type: Optional[pulumi.Input[_builtins.str]] = None,
652
+ match_columns: Optional[pulumi.Input[Sequence[pulumi.Input[Union['PolicyInfoMatchColumnArgs', 'PolicyInfoMatchColumnArgsDict']]]]] = None,
653
+ name: Optional[pulumi.Input[_builtins.str]] = None,
654
+ on_securable_fullname: Optional[pulumi.Input[_builtins.str]] = None,
655
+ on_securable_type: Optional[pulumi.Input[_builtins.str]] = None,
656
+ policy_type: Optional[pulumi.Input[_builtins.str]] = None,
657
+ row_filter: Optional[pulumi.Input[Union['PolicyInfoRowFilterArgs', 'PolicyInfoRowFilterArgsDict']]] = None,
658
+ to_principals: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
659
+ when_condition: Optional[pulumi.Input[_builtins.str]] = None,
660
+ __props__=None):
661
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
662
+ if not isinstance(opts, pulumi.ResourceOptions):
663
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
664
+ if opts.id is None:
665
+ if __props__ is not None:
666
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
667
+ __props__ = PolicyInfoArgs.__new__(PolicyInfoArgs)
668
+
669
+ __props__.__dict__["column_mask"] = column_mask
670
+ __props__.__dict__["comment"] = comment
671
+ __props__.__dict__["except_principals"] = except_principals
672
+ if for_securable_type is None and not opts.urn:
673
+ raise TypeError("Missing required property 'for_securable_type'")
674
+ __props__.__dict__["for_securable_type"] = for_securable_type
675
+ __props__.__dict__["match_columns"] = match_columns
676
+ __props__.__dict__["name"] = name
677
+ __props__.__dict__["on_securable_fullname"] = on_securable_fullname
678
+ __props__.__dict__["on_securable_type"] = on_securable_type
679
+ if policy_type is None and not opts.urn:
680
+ raise TypeError("Missing required property 'policy_type'")
681
+ __props__.__dict__["policy_type"] = policy_type
682
+ __props__.__dict__["row_filter"] = row_filter
683
+ if to_principals is None and not opts.urn:
684
+ raise TypeError("Missing required property 'to_principals'")
685
+ __props__.__dict__["to_principals"] = to_principals
686
+ __props__.__dict__["when_condition"] = when_condition
687
+ __props__.__dict__["created_at"] = None
688
+ __props__.__dict__["created_by"] = None
689
+ __props__.__dict__["updated_at"] = None
690
+ __props__.__dict__["updated_by"] = None
691
+ super(PolicyInfo, __self__).__init__(
692
+ 'databricks:index/policyInfo:PolicyInfo',
693
+ resource_name,
694
+ __props__,
695
+ opts)
696
+
697
+ @staticmethod
698
+ def get(resource_name: str,
699
+ id: pulumi.Input[str],
700
+ opts: Optional[pulumi.ResourceOptions] = None,
701
+ column_mask: Optional[pulumi.Input[Union['PolicyInfoColumnMaskArgs', 'PolicyInfoColumnMaskArgsDict']]] = None,
702
+ comment: Optional[pulumi.Input[_builtins.str]] = None,
703
+ created_at: Optional[pulumi.Input[_builtins.int]] = None,
704
+ created_by: Optional[pulumi.Input[_builtins.str]] = None,
705
+ except_principals: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
706
+ for_securable_type: Optional[pulumi.Input[_builtins.str]] = None,
707
+ match_columns: Optional[pulumi.Input[Sequence[pulumi.Input[Union['PolicyInfoMatchColumnArgs', 'PolicyInfoMatchColumnArgsDict']]]]] = None,
708
+ name: Optional[pulumi.Input[_builtins.str]] = None,
709
+ on_securable_fullname: Optional[pulumi.Input[_builtins.str]] = None,
710
+ on_securable_type: Optional[pulumi.Input[_builtins.str]] = None,
711
+ policy_type: Optional[pulumi.Input[_builtins.str]] = None,
712
+ row_filter: Optional[pulumi.Input[Union['PolicyInfoRowFilterArgs', 'PolicyInfoRowFilterArgsDict']]] = None,
713
+ to_principals: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
714
+ updated_at: Optional[pulumi.Input[_builtins.int]] = None,
715
+ updated_by: Optional[pulumi.Input[_builtins.str]] = None,
716
+ when_condition: Optional[pulumi.Input[_builtins.str]] = None) -> 'PolicyInfo':
717
+ """
718
+ Get an existing PolicyInfo resource's state with the given name, id, and optional extra
719
+ properties used to qualify the lookup.
720
+
721
+ :param str resource_name: The unique name of the resulting resource.
722
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
723
+ :param pulumi.ResourceOptions opts: Options for the resource.
724
+ :param pulumi.Input[Union['PolicyInfoColumnMaskArgs', 'PolicyInfoColumnMaskArgsDict']] column_mask: Options for column mask policies. Valid only if `policy_type` is `POLICY_TYPE_COLUMN_MASK`.
725
+ Required on create and optional on update. When specified on update,
726
+ the new options will replace the existing options as a whole
727
+ :param pulumi.Input[_builtins.str] comment: Optional description of the policy
728
+ :param pulumi.Input[_builtins.int] created_at: (integer) - Time at which the policy was created, in epoch milliseconds. Output only
729
+ :param pulumi.Input[_builtins.str] created_by: (string) - Username of the user who created the policy. Output only
730
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] except_principals: Optional list of user or group names that should be excluded from the policy
731
+ :param pulumi.Input[_builtins.str] for_securable_type: Type of securables that the policy should take effect on.
732
+ Only `TABLE` is supported at this moment.
733
+ Required on create and optional on update. Possible values are: `CATALOG`, `CLEAN_ROOM`, `CONNECTION`, `CREDENTIAL`, `EXTERNAL_LOCATION`, `EXTERNAL_METADATA`, `FUNCTION`, `METASTORE`, `PIPELINE`, `PROVIDER`, `RECIPIENT`, `SCHEMA`, `SHARE`, `STAGING_TABLE`, `STORAGE_CREDENTIAL`, `TABLE`, `VOLUME`
734
+ :param pulumi.Input[Sequence[pulumi.Input[Union['PolicyInfoMatchColumnArgs', 'PolicyInfoMatchColumnArgsDict']]]] match_columns: Optional list of condition expressions used to match table columns.
735
+ Only valid when `for_securable_type` is `TABLE`.
736
+ When specified, the policy only applies to tables whose columns satisfy all match conditions
737
+ :param pulumi.Input[_builtins.str] name: Name of the policy. Required on create and optional on update.
738
+ To rename the policy, set `name` to a different value on update
739
+ :param pulumi.Input[_builtins.str] on_securable_fullname: Full name of the securable on which the policy is defined.
740
+ Required on create and ignored on update
741
+ :param pulumi.Input[_builtins.str] on_securable_type: Type of the securable on which the policy is defined.
742
+ Only `CATALOG`, `SCHEMA` and `TABLE` are supported at this moment.
743
+ Required on create and ignored on update. Possible values are: `CATALOG`, `CLEAN_ROOM`, `CONNECTION`, `CREDENTIAL`, `EXTERNAL_LOCATION`, `EXTERNAL_METADATA`, `FUNCTION`, `METASTORE`, `PIPELINE`, `PROVIDER`, `RECIPIENT`, `SCHEMA`, `SHARE`, `STAGING_TABLE`, `STORAGE_CREDENTIAL`, `TABLE`, `VOLUME`
744
+ :param pulumi.Input[_builtins.str] policy_type: Type of the policy. Required on create and ignored on update. Possible values are: `POLICY_TYPE_COLUMN_MASK`, `POLICY_TYPE_ROW_FILTER`
745
+ :param pulumi.Input[Union['PolicyInfoRowFilterArgs', 'PolicyInfoRowFilterArgsDict']] row_filter: Options for row filter policies. Valid only if `policy_type` is `POLICY_TYPE_ROW_FILTER`.
746
+ Required on create and optional on update. When specified on update,
747
+ the new options will replace the existing options as a whole
748
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] to_principals: List of user or group names that the policy applies to.
749
+ Required on create and optional on update
750
+ :param pulumi.Input[_builtins.int] updated_at: (integer) - Time at which the policy was last modified, in epoch milliseconds. Output only
751
+ :param pulumi.Input[_builtins.str] updated_by: (string) - Username of the user who last modified the policy. Output only
752
+ :param pulumi.Input[_builtins.str] when_condition: Optional condition when the policy should take effect
753
+ """
754
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
755
+
756
+ __props__ = _PolicyInfoState.__new__(_PolicyInfoState)
757
+
758
+ __props__.__dict__["column_mask"] = column_mask
759
+ __props__.__dict__["comment"] = comment
760
+ __props__.__dict__["created_at"] = created_at
761
+ __props__.__dict__["created_by"] = created_by
762
+ __props__.__dict__["except_principals"] = except_principals
763
+ __props__.__dict__["for_securable_type"] = for_securable_type
764
+ __props__.__dict__["match_columns"] = match_columns
765
+ __props__.__dict__["name"] = name
766
+ __props__.__dict__["on_securable_fullname"] = on_securable_fullname
767
+ __props__.__dict__["on_securable_type"] = on_securable_type
768
+ __props__.__dict__["policy_type"] = policy_type
769
+ __props__.__dict__["row_filter"] = row_filter
770
+ __props__.__dict__["to_principals"] = to_principals
771
+ __props__.__dict__["updated_at"] = updated_at
772
+ __props__.__dict__["updated_by"] = updated_by
773
+ __props__.__dict__["when_condition"] = when_condition
774
+ return PolicyInfo(resource_name, opts=opts, __props__=__props__)
775
+
776
+ @_builtins.property
777
+ @pulumi.getter(name="columnMask")
778
+ def column_mask(self) -> pulumi.Output[Optional['outputs.PolicyInfoColumnMask']]:
779
+ """
780
+ Options for column mask policies. Valid only if `policy_type` is `POLICY_TYPE_COLUMN_MASK`.
781
+ Required on create and optional on update. When specified on update,
782
+ the new options will replace the existing options as a whole
783
+ """
784
+ return pulumi.get(self, "column_mask")
785
+
786
+ @_builtins.property
787
+ @pulumi.getter
788
+ def comment(self) -> pulumi.Output[Optional[_builtins.str]]:
789
+ """
790
+ Optional description of the policy
791
+ """
792
+ return pulumi.get(self, "comment")
793
+
794
+ @_builtins.property
795
+ @pulumi.getter(name="createdAt")
796
+ def created_at(self) -> pulumi.Output[_builtins.int]:
797
+ """
798
+ (integer) - Time at which the policy was created, in epoch milliseconds. Output only
799
+ """
800
+ return pulumi.get(self, "created_at")
801
+
802
+ @_builtins.property
803
+ @pulumi.getter(name="createdBy")
804
+ def created_by(self) -> pulumi.Output[_builtins.str]:
805
+ """
806
+ (string) - Username of the user who created the policy. Output only
807
+ """
808
+ return pulumi.get(self, "created_by")
809
+
810
+ @_builtins.property
811
+ @pulumi.getter(name="exceptPrincipals")
812
+ def except_principals(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
813
+ """
814
+ Optional list of user or group names that should be excluded from the policy
815
+ """
816
+ return pulumi.get(self, "except_principals")
817
+
818
+ @_builtins.property
819
+ @pulumi.getter(name="forSecurableType")
820
+ def for_securable_type(self) -> pulumi.Output[_builtins.str]:
821
+ """
822
+ Type of securables that the policy should take effect on.
823
+ Only `TABLE` is supported at this moment.
824
+ Required on create and optional on update. Possible values are: `CATALOG`, `CLEAN_ROOM`, `CONNECTION`, `CREDENTIAL`, `EXTERNAL_LOCATION`, `EXTERNAL_METADATA`, `FUNCTION`, `METASTORE`, `PIPELINE`, `PROVIDER`, `RECIPIENT`, `SCHEMA`, `SHARE`, `STAGING_TABLE`, `STORAGE_CREDENTIAL`, `TABLE`, `VOLUME`
825
+ """
826
+ return pulumi.get(self, "for_securable_type")
827
+
828
+ @_builtins.property
829
+ @pulumi.getter(name="matchColumns")
830
+ def match_columns(self) -> pulumi.Output[Optional[Sequence['outputs.PolicyInfoMatchColumn']]]:
831
+ """
832
+ Optional list of condition expressions used to match table columns.
833
+ Only valid when `for_securable_type` is `TABLE`.
834
+ When specified, the policy only applies to tables whose columns satisfy all match conditions
835
+ """
836
+ return pulumi.get(self, "match_columns")
837
+
838
+ @_builtins.property
839
+ @pulumi.getter
840
+ def name(self) -> pulumi.Output[_builtins.str]:
841
+ """
842
+ Name of the policy. Required on create and optional on update.
843
+ To rename the policy, set `name` to a different value on update
844
+ """
845
+ return pulumi.get(self, "name")
846
+
847
+ @_builtins.property
848
+ @pulumi.getter(name="onSecurableFullname")
849
+ def on_securable_fullname(self) -> pulumi.Output[Optional[_builtins.str]]:
850
+ """
851
+ Full name of the securable on which the policy is defined.
852
+ Required on create and ignored on update
853
+ """
854
+ return pulumi.get(self, "on_securable_fullname")
855
+
856
+ @_builtins.property
857
+ @pulumi.getter(name="onSecurableType")
858
+ def on_securable_type(self) -> pulumi.Output[Optional[_builtins.str]]:
859
+ """
860
+ Type of the securable on which the policy is defined.
861
+ Only `CATALOG`, `SCHEMA` and `TABLE` are supported at this moment.
862
+ Required on create and ignored on update. Possible values are: `CATALOG`, `CLEAN_ROOM`, `CONNECTION`, `CREDENTIAL`, `EXTERNAL_LOCATION`, `EXTERNAL_METADATA`, `FUNCTION`, `METASTORE`, `PIPELINE`, `PROVIDER`, `RECIPIENT`, `SCHEMA`, `SHARE`, `STAGING_TABLE`, `STORAGE_CREDENTIAL`, `TABLE`, `VOLUME`
863
+ """
864
+ return pulumi.get(self, "on_securable_type")
865
+
866
+ @_builtins.property
867
+ @pulumi.getter(name="policyType")
868
+ def policy_type(self) -> pulumi.Output[_builtins.str]:
869
+ """
870
+ Type of the policy. Required on create and ignored on update. Possible values are: `POLICY_TYPE_COLUMN_MASK`, `POLICY_TYPE_ROW_FILTER`
871
+ """
872
+ return pulumi.get(self, "policy_type")
873
+
874
+ @_builtins.property
875
+ @pulumi.getter(name="rowFilter")
876
+ def row_filter(self) -> pulumi.Output[Optional['outputs.PolicyInfoRowFilter']]:
877
+ """
878
+ Options for row filter policies. Valid only if `policy_type` is `POLICY_TYPE_ROW_FILTER`.
879
+ Required on create and optional on update. When specified on update,
880
+ the new options will replace the existing options as a whole
881
+ """
882
+ return pulumi.get(self, "row_filter")
883
+
884
+ @_builtins.property
885
+ @pulumi.getter(name="toPrincipals")
886
+ def to_principals(self) -> pulumi.Output[Sequence[_builtins.str]]:
887
+ """
888
+ List of user or group names that the policy applies to.
889
+ Required on create and optional on update
890
+ """
891
+ return pulumi.get(self, "to_principals")
892
+
893
+ @_builtins.property
894
+ @pulumi.getter(name="updatedAt")
895
+ def updated_at(self) -> pulumi.Output[_builtins.int]:
896
+ """
897
+ (integer) - Time at which the policy was last modified, in epoch milliseconds. Output only
898
+ """
899
+ return pulumi.get(self, "updated_at")
900
+
901
+ @_builtins.property
902
+ @pulumi.getter(name="updatedBy")
903
+ def updated_by(self) -> pulumi.Output[_builtins.str]:
904
+ """
905
+ (string) - Username of the user who last modified the policy. Output only
906
+ """
907
+ return pulumi.get(self, "updated_by")
908
+
909
+ @_builtins.property
910
+ @pulumi.getter(name="whenCondition")
911
+ def when_condition(self) -> pulumi.Output[Optional[_builtins.str]]:
912
+ """
913
+ Optional condition when the policy should take effect
914
+ """
915
+ return pulumi.get(self, "when_condition")
916
+