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
@@ -2,8 +2,7 @@
2
2
  # *** WARNING: this file was generated by pulumi-language-python. ***
3
3
  # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
4
 
5
- import builtins
6
- import copy
5
+ import builtins as _builtins
7
6
  import warnings
8
7
  import sys
9
8
  import pulumi
@@ -22,160 +21,211 @@ __all__ = ['AlertV2Args', 'AlertV2']
22
21
  @pulumi.input_type
23
22
  class AlertV2Args:
24
23
  def __init__(__self__, *,
25
- custom_description: Optional[pulumi.Input[builtins.str]] = None,
26
- custom_summary: Optional[pulumi.Input[builtins.str]] = None,
27
- display_name: Optional[pulumi.Input[builtins.str]] = None,
28
- evaluation: Optional[pulumi.Input['AlertV2EvaluationArgs']] = None,
29
- parent_path: Optional[pulumi.Input[builtins.str]] = None,
30
- query_text: Optional[pulumi.Input[builtins.str]] = None,
31
- schedule: Optional[pulumi.Input['AlertV2ScheduleArgs']] = None,
32
- warehouse_id: Optional[pulumi.Input[builtins.str]] = None):
24
+ display_name: pulumi.Input[_builtins.str],
25
+ evaluation: pulumi.Input['AlertV2EvaluationArgs'],
26
+ query_text: pulumi.Input[_builtins.str],
27
+ schedule: pulumi.Input['AlertV2ScheduleArgs'],
28
+ warehouse_id: pulumi.Input[_builtins.str],
29
+ custom_description: Optional[pulumi.Input[_builtins.str]] = None,
30
+ custom_summary: Optional[pulumi.Input[_builtins.str]] = None,
31
+ parent_path: Optional[pulumi.Input[_builtins.str]] = None,
32
+ run_as: Optional[pulumi.Input['AlertV2RunAsArgs']] = None,
33
+ run_as_user_name: Optional[pulumi.Input[_builtins.str]] = None):
33
34
  """
34
35
  The set of arguments for constructing a AlertV2 resource.
35
- :param pulumi.Input[builtins.str] custom_description: Custom description for the alert. support mustache template
36
- :param pulumi.Input[builtins.str] custom_summary: Custom summary for the alert. support mustache template
37
- :param pulumi.Input[builtins.str] display_name: The display name of the alert
38
- :param pulumi.Input[builtins.str] parent_path: The workspace path of the folder containing the alert. Can only be set on create, and cannot be updated
39
- :param pulumi.Input[builtins.str] query_text: Text of the query to be run
40
- :param pulumi.Input[builtins.str] warehouse_id: ID of the SQL warehouse attached to the alert
41
- """
36
+ :param pulumi.Input[_builtins.str] display_name: The display name of the alert
37
+ :param pulumi.Input[_builtins.str] query_text: Text of the query to be run
38
+ :param pulumi.Input[_builtins.str] warehouse_id: ID of the SQL warehouse attached to the alert
39
+ :param pulumi.Input[_builtins.str] custom_description: Custom description for the alert. support mustache template
40
+ :param pulumi.Input[_builtins.str] custom_summary: Custom summary for the alert. support mustache template
41
+ :param pulumi.Input[_builtins.str] parent_path: The workspace path of the folder containing the alert. Can only be set on create, and cannot be updated
42
+ :param pulumi.Input['AlertV2RunAsArgs'] run_as: Specifies the identity that will be used to run the alert.
43
+ This field allows you to configure alerts to run as a specific user or service principal.
44
+ - For user identity: Set `user_name` to the email of an active workspace user. Users can only set this to their own email.
45
+ - For service principal: Set `service_principal_name` to the application ID. Requires the `servicePrincipal/user` role.
46
+ If not specified, the alert will run as the request user
47
+ :param pulumi.Input[_builtins.str] run_as_user_name: The run as username or application ID of service principal.
48
+ On Create and Update, this field can be set to application ID of an active service principal. Setting this field requires the servicePrincipal/user role.
49
+ Deprecated: Use `run_as` field instead. This field will be removed in a future release
50
+ """
51
+ pulumi.set(__self__, "display_name", display_name)
52
+ pulumi.set(__self__, "evaluation", evaluation)
53
+ pulumi.set(__self__, "query_text", query_text)
54
+ pulumi.set(__self__, "schedule", schedule)
55
+ pulumi.set(__self__, "warehouse_id", warehouse_id)
42
56
  if custom_description is not None:
43
57
  pulumi.set(__self__, "custom_description", custom_description)
44
58
  if custom_summary is not None:
45
59
  pulumi.set(__self__, "custom_summary", custom_summary)
46
- if display_name is not None:
47
- pulumi.set(__self__, "display_name", display_name)
48
- if evaluation is not None:
49
- pulumi.set(__self__, "evaluation", evaluation)
50
60
  if parent_path is not None:
51
61
  pulumi.set(__self__, "parent_path", parent_path)
52
- if query_text is not None:
53
- pulumi.set(__self__, "query_text", query_text)
54
- if schedule is not None:
55
- pulumi.set(__self__, "schedule", schedule)
56
- if warehouse_id is not None:
57
- pulumi.set(__self__, "warehouse_id", warehouse_id)
58
-
59
- @property
60
- @pulumi.getter(name="customDescription")
61
- def custom_description(self) -> Optional[pulumi.Input[builtins.str]]:
62
- """
63
- Custom description for the alert. support mustache template
64
- """
65
- return pulumi.get(self, "custom_description")
66
-
67
- @custom_description.setter
68
- def custom_description(self, value: Optional[pulumi.Input[builtins.str]]):
69
- pulumi.set(self, "custom_description", value)
70
-
71
- @property
72
- @pulumi.getter(name="customSummary")
73
- def custom_summary(self) -> Optional[pulumi.Input[builtins.str]]:
74
- """
75
- Custom summary for the alert. support mustache template
76
- """
77
- return pulumi.get(self, "custom_summary")
78
-
79
- @custom_summary.setter
80
- def custom_summary(self, value: Optional[pulumi.Input[builtins.str]]):
81
- pulumi.set(self, "custom_summary", value)
62
+ if run_as is not None:
63
+ pulumi.set(__self__, "run_as", run_as)
64
+ if run_as_user_name is not None:
65
+ pulumi.set(__self__, "run_as_user_name", run_as_user_name)
82
66
 
83
- @property
67
+ @_builtins.property
84
68
  @pulumi.getter(name="displayName")
85
- def display_name(self) -> Optional[pulumi.Input[builtins.str]]:
69
+ def display_name(self) -> pulumi.Input[_builtins.str]:
86
70
  """
87
71
  The display name of the alert
88
72
  """
89
73
  return pulumi.get(self, "display_name")
90
74
 
91
75
  @display_name.setter
92
- def display_name(self, value: Optional[pulumi.Input[builtins.str]]):
76
+ def display_name(self, value: pulumi.Input[_builtins.str]):
93
77
  pulumi.set(self, "display_name", value)
94
78
 
95
- @property
79
+ @_builtins.property
96
80
  @pulumi.getter
97
- def evaluation(self) -> Optional[pulumi.Input['AlertV2EvaluationArgs']]:
81
+ def evaluation(self) -> pulumi.Input['AlertV2EvaluationArgs']:
98
82
  return pulumi.get(self, "evaluation")
99
83
 
100
84
  @evaluation.setter
101
- def evaluation(self, value: Optional[pulumi.Input['AlertV2EvaluationArgs']]):
85
+ def evaluation(self, value: pulumi.Input['AlertV2EvaluationArgs']):
102
86
  pulumi.set(self, "evaluation", value)
103
87
 
104
- @property
105
- @pulumi.getter(name="parentPath")
106
- def parent_path(self) -> Optional[pulumi.Input[builtins.str]]:
107
- """
108
- The workspace path of the folder containing the alert. Can only be set on create, and cannot be updated
109
- """
110
- return pulumi.get(self, "parent_path")
111
-
112
- @parent_path.setter
113
- def parent_path(self, value: Optional[pulumi.Input[builtins.str]]):
114
- pulumi.set(self, "parent_path", value)
115
-
116
- @property
88
+ @_builtins.property
117
89
  @pulumi.getter(name="queryText")
118
- def query_text(self) -> Optional[pulumi.Input[builtins.str]]:
90
+ def query_text(self) -> pulumi.Input[_builtins.str]:
119
91
  """
120
92
  Text of the query to be run
121
93
  """
122
94
  return pulumi.get(self, "query_text")
123
95
 
124
96
  @query_text.setter
125
- def query_text(self, value: Optional[pulumi.Input[builtins.str]]):
97
+ def query_text(self, value: pulumi.Input[_builtins.str]):
126
98
  pulumi.set(self, "query_text", value)
127
99
 
128
- @property
100
+ @_builtins.property
129
101
  @pulumi.getter
130
- def schedule(self) -> Optional[pulumi.Input['AlertV2ScheduleArgs']]:
102
+ def schedule(self) -> pulumi.Input['AlertV2ScheduleArgs']:
131
103
  return pulumi.get(self, "schedule")
132
104
 
133
105
  @schedule.setter
134
- def schedule(self, value: Optional[pulumi.Input['AlertV2ScheduleArgs']]):
106
+ def schedule(self, value: pulumi.Input['AlertV2ScheduleArgs']):
135
107
  pulumi.set(self, "schedule", value)
136
108
 
137
- @property
109
+ @_builtins.property
138
110
  @pulumi.getter(name="warehouseId")
139
- def warehouse_id(self) -> Optional[pulumi.Input[builtins.str]]:
111
+ def warehouse_id(self) -> pulumi.Input[_builtins.str]:
140
112
  """
141
113
  ID of the SQL warehouse attached to the alert
142
114
  """
143
115
  return pulumi.get(self, "warehouse_id")
144
116
 
145
117
  @warehouse_id.setter
146
- def warehouse_id(self, value: Optional[pulumi.Input[builtins.str]]):
118
+ def warehouse_id(self, value: pulumi.Input[_builtins.str]):
147
119
  pulumi.set(self, "warehouse_id", value)
148
120
 
121
+ @_builtins.property
122
+ @pulumi.getter(name="customDescription")
123
+ def custom_description(self) -> Optional[pulumi.Input[_builtins.str]]:
124
+ """
125
+ Custom description for the alert. support mustache template
126
+ """
127
+ return pulumi.get(self, "custom_description")
128
+
129
+ @custom_description.setter
130
+ def custom_description(self, value: Optional[pulumi.Input[_builtins.str]]):
131
+ pulumi.set(self, "custom_description", value)
132
+
133
+ @_builtins.property
134
+ @pulumi.getter(name="customSummary")
135
+ def custom_summary(self) -> Optional[pulumi.Input[_builtins.str]]:
136
+ """
137
+ Custom summary for the alert. support mustache template
138
+ """
139
+ return pulumi.get(self, "custom_summary")
140
+
141
+ @custom_summary.setter
142
+ def custom_summary(self, value: Optional[pulumi.Input[_builtins.str]]):
143
+ pulumi.set(self, "custom_summary", value)
144
+
145
+ @_builtins.property
146
+ @pulumi.getter(name="parentPath")
147
+ def parent_path(self) -> Optional[pulumi.Input[_builtins.str]]:
148
+ """
149
+ The workspace path of the folder containing the alert. Can only be set on create, and cannot be updated
150
+ """
151
+ return pulumi.get(self, "parent_path")
152
+
153
+ @parent_path.setter
154
+ def parent_path(self, value: Optional[pulumi.Input[_builtins.str]]):
155
+ pulumi.set(self, "parent_path", value)
156
+
157
+ @_builtins.property
158
+ @pulumi.getter(name="runAs")
159
+ def run_as(self) -> Optional[pulumi.Input['AlertV2RunAsArgs']]:
160
+ """
161
+ Specifies the identity that will be used to run the alert.
162
+ This field allows you to configure alerts to run as a specific user or service principal.
163
+ - For user identity: Set `user_name` to the email of an active workspace user. Users can only set this to their own email.
164
+ - For service principal: Set `service_principal_name` to the application ID. Requires the `servicePrincipal/user` role.
165
+ If not specified, the alert will run as the request user
166
+ """
167
+ return pulumi.get(self, "run_as")
168
+
169
+ @run_as.setter
170
+ def run_as(self, value: Optional[pulumi.Input['AlertV2RunAsArgs']]):
171
+ pulumi.set(self, "run_as", value)
172
+
173
+ @_builtins.property
174
+ @pulumi.getter(name="runAsUserName")
175
+ def run_as_user_name(self) -> Optional[pulumi.Input[_builtins.str]]:
176
+ """
177
+ The run as username or application ID of service principal.
178
+ On Create and Update, this field can be set to application ID of an active service principal. Setting this field requires the servicePrincipal/user role.
179
+ Deprecated: Use `run_as` field instead. This field will be removed in a future release
180
+ """
181
+ return pulumi.get(self, "run_as_user_name")
182
+
183
+ @run_as_user_name.setter
184
+ def run_as_user_name(self, value: Optional[pulumi.Input[_builtins.str]]):
185
+ pulumi.set(self, "run_as_user_name", value)
186
+
149
187
 
150
188
  @pulumi.input_type
151
189
  class _AlertV2State:
152
190
  def __init__(__self__, *,
153
- create_time: Optional[pulumi.Input[builtins.str]] = None,
154
- custom_description: Optional[pulumi.Input[builtins.str]] = None,
155
- custom_summary: Optional[pulumi.Input[builtins.str]] = None,
156
- display_name: Optional[pulumi.Input[builtins.str]] = None,
191
+ create_time: Optional[pulumi.Input[_builtins.str]] = None,
192
+ custom_description: Optional[pulumi.Input[_builtins.str]] = None,
193
+ custom_summary: Optional[pulumi.Input[_builtins.str]] = None,
194
+ display_name: Optional[pulumi.Input[_builtins.str]] = None,
195
+ effective_run_as: Optional[pulumi.Input['AlertV2EffectiveRunAsArgs']] = None,
157
196
  evaluation: Optional[pulumi.Input['AlertV2EvaluationArgs']] = None,
158
- lifecycle_state: Optional[pulumi.Input[builtins.str]] = None,
159
- owner_user_name: Optional[pulumi.Input[builtins.str]] = None,
160
- parent_path: Optional[pulumi.Input[builtins.str]] = None,
161
- query_text: Optional[pulumi.Input[builtins.str]] = None,
162
- run_as_user_name: Optional[pulumi.Input[builtins.str]] = None,
197
+ lifecycle_state: Optional[pulumi.Input[_builtins.str]] = None,
198
+ owner_user_name: Optional[pulumi.Input[_builtins.str]] = None,
199
+ parent_path: Optional[pulumi.Input[_builtins.str]] = None,
200
+ query_text: Optional[pulumi.Input[_builtins.str]] = None,
201
+ run_as: Optional[pulumi.Input['AlertV2RunAsArgs']] = None,
202
+ run_as_user_name: Optional[pulumi.Input[_builtins.str]] = None,
163
203
  schedule: Optional[pulumi.Input['AlertV2ScheduleArgs']] = None,
164
- update_time: Optional[pulumi.Input[builtins.str]] = None,
165
- warehouse_id: Optional[pulumi.Input[builtins.str]] = None):
204
+ update_time: Optional[pulumi.Input[_builtins.str]] = None,
205
+ warehouse_id: Optional[pulumi.Input[_builtins.str]] = None):
166
206
  """
167
207
  Input properties used for looking up and filtering AlertV2 resources.
168
- :param pulumi.Input[builtins.str] create_time: (string) - The timestamp indicating when the alert was created
169
- :param pulumi.Input[builtins.str] custom_description: Custom description for the alert. support mustache template
170
- :param pulumi.Input[builtins.str] custom_summary: Custom summary for the alert. support mustache template
171
- :param pulumi.Input[builtins.str] display_name: The display name of the alert
172
- :param pulumi.Input[builtins.str] lifecycle_state: (string) - Indicates whether the query is trashed. Possible values are: `ACTIVE`, `TRASHED`
173
- :param pulumi.Input[builtins.str] owner_user_name: (string) - The owner's username. This field is set to "Unavailable" if the user has been deleted
174
- :param pulumi.Input[builtins.str] parent_path: The workspace path of the folder containing the alert. Can only be set on create, and cannot be updated
175
- :param pulumi.Input[builtins.str] query_text: Text of the query to be run
176
- :param pulumi.Input[builtins.str] run_as_user_name: (string) - The run as username. This field is set to "Unavailable" if the user has been deleted
177
- :param pulumi.Input[builtins.str] update_time: (string) - The timestamp indicating when the alert was updated
178
- :param pulumi.Input[builtins.str] warehouse_id: ID of the SQL warehouse attached to the alert
208
+ :param pulumi.Input[_builtins.str] create_time: (string) - The timestamp indicating when the alert was created
209
+ :param pulumi.Input[_builtins.str] custom_description: Custom description for the alert. support mustache template
210
+ :param pulumi.Input[_builtins.str] custom_summary: Custom summary for the alert. support mustache template
211
+ :param pulumi.Input[_builtins.str] display_name: The display name of the alert
212
+ :param pulumi.Input['AlertV2EffectiveRunAsArgs'] effective_run_as: (AlertV2RunAs) - The actual identity that will be used to execute the alert.
213
+ This is an output-only field that shows the resolved run-as identity after applying
214
+ permissions and defaults
215
+ :param pulumi.Input[_builtins.str] lifecycle_state: (string) - Indicates whether the query is trashed. Possible values are: `ACTIVE`, `DELETED`
216
+ :param pulumi.Input[_builtins.str] owner_user_name: (string) - The owner's username. This field is set to "Unavailable" if the user has been deleted
217
+ :param pulumi.Input[_builtins.str] parent_path: The workspace path of the folder containing the alert. Can only be set on create, and cannot be updated
218
+ :param pulumi.Input[_builtins.str] query_text: Text of the query to be run
219
+ :param pulumi.Input['AlertV2RunAsArgs'] run_as: Specifies the identity that will be used to run the alert.
220
+ This field allows you to configure alerts to run as a specific user or service principal.
221
+ - For user identity: Set `user_name` to the email of an active workspace user. Users can only set this to their own email.
222
+ - For service principal: Set `service_principal_name` to the application ID. Requires the `servicePrincipal/user` role.
223
+ If not specified, the alert will run as the request user
224
+ :param pulumi.Input[_builtins.str] run_as_user_name: The run as username or application ID of service principal.
225
+ On Create and Update, this field can be set to application ID of an active service principal. Setting this field requires the servicePrincipal/user role.
226
+ Deprecated: Use `run_as` field instead. This field will be removed in a future release
227
+ :param pulumi.Input[_builtins.str] update_time: (string) - The timestamp indicating when the alert was updated
228
+ :param pulumi.Input[_builtins.str] warehouse_id: ID of the SQL warehouse attached to the alert
179
229
  """
180
230
  if create_time is not None:
181
231
  pulumi.set(__self__, "create_time", create_time)
@@ -185,6 +235,8 @@ class _AlertV2State:
185
235
  pulumi.set(__self__, "custom_summary", custom_summary)
186
236
  if display_name is not None:
187
237
  pulumi.set(__self__, "display_name", display_name)
238
+ if effective_run_as is not None:
239
+ pulumi.set(__self__, "effective_run_as", effective_run_as)
188
240
  if evaluation is not None:
189
241
  pulumi.set(__self__, "evaluation", evaluation)
190
242
  if lifecycle_state is not None:
@@ -195,6 +247,8 @@ class _AlertV2State:
195
247
  pulumi.set(__self__, "parent_path", parent_path)
196
248
  if query_text is not None:
197
249
  pulumi.set(__self__, "query_text", query_text)
250
+ if run_as is not None:
251
+ pulumi.set(__self__, "run_as", run_as)
198
252
  if run_as_user_name is not None:
199
253
  pulumi.set(__self__, "run_as_user_name", run_as_user_name)
200
254
  if schedule is not None:
@@ -204,55 +258,69 @@ class _AlertV2State:
204
258
  if warehouse_id is not None:
205
259
  pulumi.set(__self__, "warehouse_id", warehouse_id)
206
260
 
207
- @property
261
+ @_builtins.property
208
262
  @pulumi.getter(name="createTime")
209
- def create_time(self) -> Optional[pulumi.Input[builtins.str]]:
263
+ def create_time(self) -> Optional[pulumi.Input[_builtins.str]]:
210
264
  """
211
265
  (string) - The timestamp indicating when the alert was created
212
266
  """
213
267
  return pulumi.get(self, "create_time")
214
268
 
215
269
  @create_time.setter
216
- def create_time(self, value: Optional[pulumi.Input[builtins.str]]):
270
+ def create_time(self, value: Optional[pulumi.Input[_builtins.str]]):
217
271
  pulumi.set(self, "create_time", value)
218
272
 
219
- @property
273
+ @_builtins.property
220
274
  @pulumi.getter(name="customDescription")
221
- def custom_description(self) -> Optional[pulumi.Input[builtins.str]]:
275
+ def custom_description(self) -> Optional[pulumi.Input[_builtins.str]]:
222
276
  """
223
277
  Custom description for the alert. support mustache template
224
278
  """
225
279
  return pulumi.get(self, "custom_description")
226
280
 
227
281
  @custom_description.setter
228
- def custom_description(self, value: Optional[pulumi.Input[builtins.str]]):
282
+ def custom_description(self, value: Optional[pulumi.Input[_builtins.str]]):
229
283
  pulumi.set(self, "custom_description", value)
230
284
 
231
- @property
285
+ @_builtins.property
232
286
  @pulumi.getter(name="customSummary")
233
- def custom_summary(self) -> Optional[pulumi.Input[builtins.str]]:
287
+ def custom_summary(self) -> Optional[pulumi.Input[_builtins.str]]:
234
288
  """
235
289
  Custom summary for the alert. support mustache template
236
290
  """
237
291
  return pulumi.get(self, "custom_summary")
238
292
 
239
293
  @custom_summary.setter
240
- def custom_summary(self, value: Optional[pulumi.Input[builtins.str]]):
294
+ def custom_summary(self, value: Optional[pulumi.Input[_builtins.str]]):
241
295
  pulumi.set(self, "custom_summary", value)
242
296
 
243
- @property
297
+ @_builtins.property
244
298
  @pulumi.getter(name="displayName")
245
- def display_name(self) -> Optional[pulumi.Input[builtins.str]]:
299
+ def display_name(self) -> Optional[pulumi.Input[_builtins.str]]:
246
300
  """
247
301
  The display name of the alert
248
302
  """
249
303
  return pulumi.get(self, "display_name")
250
304
 
251
305
  @display_name.setter
252
- def display_name(self, value: Optional[pulumi.Input[builtins.str]]):
306
+ def display_name(self, value: Optional[pulumi.Input[_builtins.str]]):
253
307
  pulumi.set(self, "display_name", value)
254
308
 
255
- @property
309
+ @_builtins.property
310
+ @pulumi.getter(name="effectiveRunAs")
311
+ def effective_run_as(self) -> Optional[pulumi.Input['AlertV2EffectiveRunAsArgs']]:
312
+ """
313
+ (AlertV2RunAs) - The actual identity that will be used to execute the alert.
314
+ This is an output-only field that shows the resolved run-as identity after applying
315
+ permissions and defaults
316
+ """
317
+ return pulumi.get(self, "effective_run_as")
318
+
319
+ @effective_run_as.setter
320
+ def effective_run_as(self, value: Optional[pulumi.Input['AlertV2EffectiveRunAsArgs']]):
321
+ pulumi.set(self, "effective_run_as", value)
322
+
323
+ @_builtins.property
256
324
  @pulumi.getter
257
325
  def evaluation(self) -> Optional[pulumi.Input['AlertV2EvaluationArgs']]:
258
326
  return pulumi.get(self, "evaluation")
@@ -261,67 +329,85 @@ class _AlertV2State:
261
329
  def evaluation(self, value: Optional[pulumi.Input['AlertV2EvaluationArgs']]):
262
330
  pulumi.set(self, "evaluation", value)
263
331
 
264
- @property
332
+ @_builtins.property
265
333
  @pulumi.getter(name="lifecycleState")
266
- def lifecycle_state(self) -> Optional[pulumi.Input[builtins.str]]:
334
+ def lifecycle_state(self) -> Optional[pulumi.Input[_builtins.str]]:
267
335
  """
268
- (string) - Indicates whether the query is trashed. Possible values are: `ACTIVE`, `TRASHED`
336
+ (string) - Indicates whether the query is trashed. Possible values are: `ACTIVE`, `DELETED`
269
337
  """
270
338
  return pulumi.get(self, "lifecycle_state")
271
339
 
272
340
  @lifecycle_state.setter
273
- def lifecycle_state(self, value: Optional[pulumi.Input[builtins.str]]):
341
+ def lifecycle_state(self, value: Optional[pulumi.Input[_builtins.str]]):
274
342
  pulumi.set(self, "lifecycle_state", value)
275
343
 
276
- @property
344
+ @_builtins.property
277
345
  @pulumi.getter(name="ownerUserName")
278
- def owner_user_name(self) -> Optional[pulumi.Input[builtins.str]]:
346
+ def owner_user_name(self) -> Optional[pulumi.Input[_builtins.str]]:
279
347
  """
280
348
  (string) - The owner's username. This field is set to "Unavailable" if the user has been deleted
281
349
  """
282
350
  return pulumi.get(self, "owner_user_name")
283
351
 
284
352
  @owner_user_name.setter
285
- def owner_user_name(self, value: Optional[pulumi.Input[builtins.str]]):
353
+ def owner_user_name(self, value: Optional[pulumi.Input[_builtins.str]]):
286
354
  pulumi.set(self, "owner_user_name", value)
287
355
 
288
- @property
356
+ @_builtins.property
289
357
  @pulumi.getter(name="parentPath")
290
- def parent_path(self) -> Optional[pulumi.Input[builtins.str]]:
358
+ def parent_path(self) -> Optional[pulumi.Input[_builtins.str]]:
291
359
  """
292
360
  The workspace path of the folder containing the alert. Can only be set on create, and cannot be updated
293
361
  """
294
362
  return pulumi.get(self, "parent_path")
295
363
 
296
364
  @parent_path.setter
297
- def parent_path(self, value: Optional[pulumi.Input[builtins.str]]):
365
+ def parent_path(self, value: Optional[pulumi.Input[_builtins.str]]):
298
366
  pulumi.set(self, "parent_path", value)
299
367
 
300
- @property
368
+ @_builtins.property
301
369
  @pulumi.getter(name="queryText")
302
- def query_text(self) -> Optional[pulumi.Input[builtins.str]]:
370
+ def query_text(self) -> Optional[pulumi.Input[_builtins.str]]:
303
371
  """
304
372
  Text of the query to be run
305
373
  """
306
374
  return pulumi.get(self, "query_text")
307
375
 
308
376
  @query_text.setter
309
- def query_text(self, value: Optional[pulumi.Input[builtins.str]]):
377
+ def query_text(self, value: Optional[pulumi.Input[_builtins.str]]):
310
378
  pulumi.set(self, "query_text", value)
311
379
 
312
- @property
380
+ @_builtins.property
381
+ @pulumi.getter(name="runAs")
382
+ def run_as(self) -> Optional[pulumi.Input['AlertV2RunAsArgs']]:
383
+ """
384
+ Specifies the identity that will be used to run the alert.
385
+ This field allows you to configure alerts to run as a specific user or service principal.
386
+ - For user identity: Set `user_name` to the email of an active workspace user. Users can only set this to their own email.
387
+ - For service principal: Set `service_principal_name` to the application ID. Requires the `servicePrincipal/user` role.
388
+ If not specified, the alert will run as the request user
389
+ """
390
+ return pulumi.get(self, "run_as")
391
+
392
+ @run_as.setter
393
+ def run_as(self, value: Optional[pulumi.Input['AlertV2RunAsArgs']]):
394
+ pulumi.set(self, "run_as", value)
395
+
396
+ @_builtins.property
313
397
  @pulumi.getter(name="runAsUserName")
314
- def run_as_user_name(self) -> Optional[pulumi.Input[builtins.str]]:
398
+ def run_as_user_name(self) -> Optional[pulumi.Input[_builtins.str]]:
315
399
  """
316
- (string) - The run as username. This field is set to "Unavailable" if the user has been deleted
400
+ The run as username or application ID of service principal.
401
+ On Create and Update, this field can be set to application ID of an active service principal. Setting this field requires the servicePrincipal/user role.
402
+ Deprecated: Use `run_as` field instead. This field will be removed in a future release
317
403
  """
318
404
  return pulumi.get(self, "run_as_user_name")
319
405
 
320
406
  @run_as_user_name.setter
321
- def run_as_user_name(self, value: Optional[pulumi.Input[builtins.str]]):
407
+ def run_as_user_name(self, value: Optional[pulumi.Input[_builtins.str]]):
322
408
  pulumi.set(self, "run_as_user_name", value)
323
409
 
324
- @property
410
+ @_builtins.property
325
411
  @pulumi.getter
326
412
  def schedule(self) -> Optional[pulumi.Input['AlertV2ScheduleArgs']]:
327
413
  return pulumi.get(self, "schedule")
@@ -330,28 +416,28 @@ class _AlertV2State:
330
416
  def schedule(self, value: Optional[pulumi.Input['AlertV2ScheduleArgs']]):
331
417
  pulumi.set(self, "schedule", value)
332
418
 
333
- @property
419
+ @_builtins.property
334
420
  @pulumi.getter(name="updateTime")
335
- def update_time(self) -> Optional[pulumi.Input[builtins.str]]:
421
+ def update_time(self) -> Optional[pulumi.Input[_builtins.str]]:
336
422
  """
337
423
  (string) - The timestamp indicating when the alert was updated
338
424
  """
339
425
  return pulumi.get(self, "update_time")
340
426
 
341
427
  @update_time.setter
342
- def update_time(self, value: Optional[pulumi.Input[builtins.str]]):
428
+ def update_time(self, value: Optional[pulumi.Input[_builtins.str]]):
343
429
  pulumi.set(self, "update_time", value)
344
430
 
345
- @property
431
+ @_builtins.property
346
432
  @pulumi.getter(name="warehouseId")
347
- def warehouse_id(self) -> Optional[pulumi.Input[builtins.str]]:
433
+ def warehouse_id(self) -> Optional[pulumi.Input[_builtins.str]]:
348
434
  """
349
435
  ID of the SQL warehouse attached to the alert
350
436
  """
351
437
  return pulumi.get(self, "warehouse_id")
352
438
 
353
439
  @warehouse_id.setter
354
- def warehouse_id(self, value: Optional[pulumi.Input[builtins.str]]):
440
+ def warehouse_id(self, value: Optional[pulumi.Input[_builtins.str]]):
355
441
  pulumi.set(self, "warehouse_id", value)
356
442
 
357
443
 
@@ -361,22 +447,29 @@ class AlertV2(pulumi.CustomResource):
361
447
  def __init__(__self__,
362
448
  resource_name: str,
363
449
  opts: Optional[pulumi.ResourceOptions] = None,
364
- custom_description: Optional[pulumi.Input[builtins.str]] = None,
365
- custom_summary: Optional[pulumi.Input[builtins.str]] = None,
366
- display_name: Optional[pulumi.Input[builtins.str]] = None,
450
+ custom_description: Optional[pulumi.Input[_builtins.str]] = None,
451
+ custom_summary: Optional[pulumi.Input[_builtins.str]] = None,
452
+ display_name: Optional[pulumi.Input[_builtins.str]] = None,
367
453
  evaluation: Optional[pulumi.Input[Union['AlertV2EvaluationArgs', 'AlertV2EvaluationArgsDict']]] = None,
368
- parent_path: Optional[pulumi.Input[builtins.str]] = None,
369
- query_text: Optional[pulumi.Input[builtins.str]] = None,
454
+ parent_path: Optional[pulumi.Input[_builtins.str]] = None,
455
+ query_text: Optional[pulumi.Input[_builtins.str]] = None,
456
+ run_as: Optional[pulumi.Input[Union['AlertV2RunAsArgs', 'AlertV2RunAsArgsDict']]] = None,
457
+ run_as_user_name: Optional[pulumi.Input[_builtins.str]] = None,
370
458
  schedule: Optional[pulumi.Input[Union['AlertV2ScheduleArgs', 'AlertV2ScheduleArgsDict']]] = None,
371
- warehouse_id: Optional[pulumi.Input[builtins.str]] = None,
459
+ warehouse_id: Optional[pulumi.Input[_builtins.str]] = None,
372
460
  __props__=None):
373
461
  """
462
+ [![Public Beta](https://img.shields.io/badge/Release_Stage-Public_Beta-orange)](https://docs.databricks.com/aws/en/release-notes/release-types)
463
+
374
464
  The Alert v2 resource allows you to manage SQL alerts in Databricks SQL. Alerts monitor query results and notify you when specific conditions are met.
375
465
 
376
466
  Alerts run on a schedule and evaluate query results against defined thresholds. When an alert is triggered, notifications can be sent to specified users or destinations.
377
467
 
378
468
  ## Example Usage
379
469
 
470
+ ### Basic Alert Example
471
+ This example creates a basic alert that monitors a query and sends notifications to a user when the value exceeds a threshold:
472
+
380
473
  ## Import
381
474
 
382
475
  As of Pulumi v1.5, resources can be imported through configuration.
@@ -385,7 +478,7 @@ class AlertV2(pulumi.CustomResource):
385
478
 
386
479
  import {
387
480
 
388
- id = id
481
+ id = "id"
389
482
 
390
483
  to = databricks_alert_v2.this
391
484
 
@@ -394,31 +487,44 @@ class AlertV2(pulumi.CustomResource):
394
487
  If you are using an older version of Pulumi, import the resource using the `pulumi import` command as follows:
395
488
 
396
489
  ```sh
397
- $ pulumi import databricks:index/alertV2:AlertV2 databricks_alert_v2 id
490
+ $ pulumi import databricks:index/alertV2:AlertV2 this "id"
398
491
  ```
399
492
 
400
493
  :param str resource_name: The name of the resource.
401
494
  :param pulumi.ResourceOptions opts: Options for the resource.
402
- :param pulumi.Input[builtins.str] custom_description: Custom description for the alert. support mustache template
403
- :param pulumi.Input[builtins.str] custom_summary: Custom summary for the alert. support mustache template
404
- :param pulumi.Input[builtins.str] display_name: The display name of the alert
405
- :param pulumi.Input[builtins.str] parent_path: The workspace path of the folder containing the alert. Can only be set on create, and cannot be updated
406
- :param pulumi.Input[builtins.str] query_text: Text of the query to be run
407
- :param pulumi.Input[builtins.str] warehouse_id: ID of the SQL warehouse attached to the alert
495
+ :param pulumi.Input[_builtins.str] custom_description: Custom description for the alert. support mustache template
496
+ :param pulumi.Input[_builtins.str] custom_summary: Custom summary for the alert. support mustache template
497
+ :param pulumi.Input[_builtins.str] display_name: The display name of the alert
498
+ :param pulumi.Input[_builtins.str] parent_path: The workspace path of the folder containing the alert. Can only be set on create, and cannot be updated
499
+ :param pulumi.Input[_builtins.str] query_text: Text of the query to be run
500
+ :param pulumi.Input[Union['AlertV2RunAsArgs', 'AlertV2RunAsArgsDict']] run_as: Specifies the identity that will be used to run the alert.
501
+ This field allows you to configure alerts to run as a specific user or service principal.
502
+ - For user identity: Set `user_name` to the email of an active workspace user. Users can only set this to their own email.
503
+ - For service principal: Set `service_principal_name` to the application ID. Requires the `servicePrincipal/user` role.
504
+ If not specified, the alert will run as the request user
505
+ :param pulumi.Input[_builtins.str] run_as_user_name: The run as username or application ID of service principal.
506
+ On Create and Update, this field can be set to application ID of an active service principal. Setting this field requires the servicePrincipal/user role.
507
+ Deprecated: Use `run_as` field instead. This field will be removed in a future release
508
+ :param pulumi.Input[_builtins.str] warehouse_id: ID of the SQL warehouse attached to the alert
408
509
  """
409
510
  ...
410
511
  @overload
411
512
  def __init__(__self__,
412
513
  resource_name: str,
413
- args: Optional[AlertV2Args] = None,
514
+ args: AlertV2Args,
414
515
  opts: Optional[pulumi.ResourceOptions] = None):
415
516
  """
517
+ [![Public Beta](https://img.shields.io/badge/Release_Stage-Public_Beta-orange)](https://docs.databricks.com/aws/en/release-notes/release-types)
518
+
416
519
  The Alert v2 resource allows you to manage SQL alerts in Databricks SQL. Alerts monitor query results and notify you when specific conditions are met.
417
520
 
418
521
  Alerts run on a schedule and evaluate query results against defined thresholds. When an alert is triggered, notifications can be sent to specified users or destinations.
419
522
 
420
523
  ## Example Usage
421
524
 
525
+ ### Basic Alert Example
526
+ This example creates a basic alert that monitors a query and sends notifications to a user when the value exceeds a threshold:
527
+
422
528
  ## Import
423
529
 
424
530
  As of Pulumi v1.5, resources can be imported through configuration.
@@ -427,7 +533,7 @@ class AlertV2(pulumi.CustomResource):
427
533
 
428
534
  import {
429
535
 
430
- id = id
536
+ id = "id"
431
537
 
432
538
  to = databricks_alert_v2.this
433
539
 
@@ -436,7 +542,7 @@ class AlertV2(pulumi.CustomResource):
436
542
  If you are using an older version of Pulumi, import the resource using the `pulumi import` command as follows:
437
543
 
438
544
  ```sh
439
- $ pulumi import databricks:index/alertV2:AlertV2 databricks_alert_v2 id
545
+ $ pulumi import databricks:index/alertV2:AlertV2 this "id"
440
546
  ```
441
547
 
442
548
  :param str resource_name: The name of the resource.
@@ -454,14 +560,16 @@ class AlertV2(pulumi.CustomResource):
454
560
  def _internal_init(__self__,
455
561
  resource_name: str,
456
562
  opts: Optional[pulumi.ResourceOptions] = None,
457
- custom_description: Optional[pulumi.Input[builtins.str]] = None,
458
- custom_summary: Optional[pulumi.Input[builtins.str]] = None,
459
- display_name: Optional[pulumi.Input[builtins.str]] = None,
563
+ custom_description: Optional[pulumi.Input[_builtins.str]] = None,
564
+ custom_summary: Optional[pulumi.Input[_builtins.str]] = None,
565
+ display_name: Optional[pulumi.Input[_builtins.str]] = None,
460
566
  evaluation: Optional[pulumi.Input[Union['AlertV2EvaluationArgs', 'AlertV2EvaluationArgsDict']]] = None,
461
- parent_path: Optional[pulumi.Input[builtins.str]] = None,
462
- query_text: Optional[pulumi.Input[builtins.str]] = None,
567
+ parent_path: Optional[pulumi.Input[_builtins.str]] = None,
568
+ query_text: Optional[pulumi.Input[_builtins.str]] = None,
569
+ run_as: Optional[pulumi.Input[Union['AlertV2RunAsArgs', 'AlertV2RunAsArgsDict']]] = None,
570
+ run_as_user_name: Optional[pulumi.Input[_builtins.str]] = None,
463
571
  schedule: Optional[pulumi.Input[Union['AlertV2ScheduleArgs', 'AlertV2ScheduleArgsDict']]] = None,
464
- warehouse_id: Optional[pulumi.Input[builtins.str]] = None,
572
+ warehouse_id: Optional[pulumi.Input[_builtins.str]] = None,
465
573
  __props__=None):
466
574
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
467
575
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -473,16 +581,28 @@ class AlertV2(pulumi.CustomResource):
473
581
 
474
582
  __props__.__dict__["custom_description"] = custom_description
475
583
  __props__.__dict__["custom_summary"] = custom_summary
584
+ if display_name is None and not opts.urn:
585
+ raise TypeError("Missing required property 'display_name'")
476
586
  __props__.__dict__["display_name"] = display_name
587
+ if evaluation is None and not opts.urn:
588
+ raise TypeError("Missing required property 'evaluation'")
477
589
  __props__.__dict__["evaluation"] = evaluation
478
590
  __props__.__dict__["parent_path"] = parent_path
591
+ if query_text is None and not opts.urn:
592
+ raise TypeError("Missing required property 'query_text'")
479
593
  __props__.__dict__["query_text"] = query_text
594
+ __props__.__dict__["run_as"] = run_as
595
+ __props__.__dict__["run_as_user_name"] = run_as_user_name
596
+ if schedule is None and not opts.urn:
597
+ raise TypeError("Missing required property 'schedule'")
480
598
  __props__.__dict__["schedule"] = schedule
599
+ if warehouse_id is None and not opts.urn:
600
+ raise TypeError("Missing required property 'warehouse_id'")
481
601
  __props__.__dict__["warehouse_id"] = warehouse_id
482
602
  __props__.__dict__["create_time"] = None
603
+ __props__.__dict__["effective_run_as"] = None
483
604
  __props__.__dict__["lifecycle_state"] = None
484
605
  __props__.__dict__["owner_user_name"] = None
485
- __props__.__dict__["run_as_user_name"] = None
486
606
  __props__.__dict__["update_time"] = None
487
607
  super(AlertV2, __self__).__init__(
488
608
  'databricks:index/alertV2:AlertV2',
@@ -494,19 +614,21 @@ class AlertV2(pulumi.CustomResource):
494
614
  def get(resource_name: str,
495
615
  id: pulumi.Input[str],
496
616
  opts: Optional[pulumi.ResourceOptions] = None,
497
- create_time: Optional[pulumi.Input[builtins.str]] = None,
498
- custom_description: Optional[pulumi.Input[builtins.str]] = None,
499
- custom_summary: Optional[pulumi.Input[builtins.str]] = None,
500
- display_name: Optional[pulumi.Input[builtins.str]] = None,
617
+ create_time: Optional[pulumi.Input[_builtins.str]] = None,
618
+ custom_description: Optional[pulumi.Input[_builtins.str]] = None,
619
+ custom_summary: Optional[pulumi.Input[_builtins.str]] = None,
620
+ display_name: Optional[pulumi.Input[_builtins.str]] = None,
621
+ effective_run_as: Optional[pulumi.Input[Union['AlertV2EffectiveRunAsArgs', 'AlertV2EffectiveRunAsArgsDict']]] = None,
501
622
  evaluation: Optional[pulumi.Input[Union['AlertV2EvaluationArgs', 'AlertV2EvaluationArgsDict']]] = None,
502
- lifecycle_state: Optional[pulumi.Input[builtins.str]] = None,
503
- owner_user_name: Optional[pulumi.Input[builtins.str]] = None,
504
- parent_path: Optional[pulumi.Input[builtins.str]] = None,
505
- query_text: Optional[pulumi.Input[builtins.str]] = None,
506
- run_as_user_name: Optional[pulumi.Input[builtins.str]] = None,
623
+ lifecycle_state: Optional[pulumi.Input[_builtins.str]] = None,
624
+ owner_user_name: Optional[pulumi.Input[_builtins.str]] = None,
625
+ parent_path: Optional[pulumi.Input[_builtins.str]] = None,
626
+ query_text: Optional[pulumi.Input[_builtins.str]] = None,
627
+ run_as: Optional[pulumi.Input[Union['AlertV2RunAsArgs', 'AlertV2RunAsArgsDict']]] = None,
628
+ run_as_user_name: Optional[pulumi.Input[_builtins.str]] = None,
507
629
  schedule: Optional[pulumi.Input[Union['AlertV2ScheduleArgs', 'AlertV2ScheduleArgsDict']]] = None,
508
- update_time: Optional[pulumi.Input[builtins.str]] = None,
509
- warehouse_id: Optional[pulumi.Input[builtins.str]] = None) -> 'AlertV2':
630
+ update_time: Optional[pulumi.Input[_builtins.str]] = None,
631
+ warehouse_id: Optional[pulumi.Input[_builtins.str]] = None) -> 'AlertV2':
510
632
  """
511
633
  Get an existing AlertV2 resource's state with the given name, id, and optional extra
512
634
  properties used to qualify the lookup.
@@ -514,17 +636,27 @@ class AlertV2(pulumi.CustomResource):
514
636
  :param str resource_name: The unique name of the resulting resource.
515
637
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
516
638
  :param pulumi.ResourceOptions opts: Options for the resource.
517
- :param pulumi.Input[builtins.str] create_time: (string) - The timestamp indicating when the alert was created
518
- :param pulumi.Input[builtins.str] custom_description: Custom description for the alert. support mustache template
519
- :param pulumi.Input[builtins.str] custom_summary: Custom summary for the alert. support mustache template
520
- :param pulumi.Input[builtins.str] display_name: The display name of the alert
521
- :param pulumi.Input[builtins.str] lifecycle_state: (string) - Indicates whether the query is trashed. Possible values are: `ACTIVE`, `TRASHED`
522
- :param pulumi.Input[builtins.str] owner_user_name: (string) - The owner's username. This field is set to "Unavailable" if the user has been deleted
523
- :param pulumi.Input[builtins.str] parent_path: The workspace path of the folder containing the alert. Can only be set on create, and cannot be updated
524
- :param pulumi.Input[builtins.str] query_text: Text of the query to be run
525
- :param pulumi.Input[builtins.str] run_as_user_name: (string) - The run as username. This field is set to "Unavailable" if the user has been deleted
526
- :param pulumi.Input[builtins.str] update_time: (string) - The timestamp indicating when the alert was updated
527
- :param pulumi.Input[builtins.str] warehouse_id: ID of the SQL warehouse attached to the alert
639
+ :param pulumi.Input[_builtins.str] create_time: (string) - The timestamp indicating when the alert was created
640
+ :param pulumi.Input[_builtins.str] custom_description: Custom description for the alert. support mustache template
641
+ :param pulumi.Input[_builtins.str] custom_summary: Custom summary for the alert. support mustache template
642
+ :param pulumi.Input[_builtins.str] display_name: The display name of the alert
643
+ :param pulumi.Input[Union['AlertV2EffectiveRunAsArgs', 'AlertV2EffectiveRunAsArgsDict']] effective_run_as: (AlertV2RunAs) - The actual identity that will be used to execute the alert.
644
+ This is an output-only field that shows the resolved run-as identity after applying
645
+ permissions and defaults
646
+ :param pulumi.Input[_builtins.str] lifecycle_state: (string) - Indicates whether the query is trashed. Possible values are: `ACTIVE`, `DELETED`
647
+ :param pulumi.Input[_builtins.str] owner_user_name: (string) - The owner's username. This field is set to "Unavailable" if the user has been deleted
648
+ :param pulumi.Input[_builtins.str] parent_path: The workspace path of the folder containing the alert. Can only be set on create, and cannot be updated
649
+ :param pulumi.Input[_builtins.str] query_text: Text of the query to be run
650
+ :param pulumi.Input[Union['AlertV2RunAsArgs', 'AlertV2RunAsArgsDict']] run_as: Specifies the identity that will be used to run the alert.
651
+ This field allows you to configure alerts to run as a specific user or service principal.
652
+ - For user identity: Set `user_name` to the email of an active workspace user. Users can only set this to their own email.
653
+ - For service principal: Set `service_principal_name` to the application ID. Requires the `servicePrincipal/user` role.
654
+ If not specified, the alert will run as the request user
655
+ :param pulumi.Input[_builtins.str] run_as_user_name: The run as username or application ID of service principal.
656
+ On Create and Update, this field can be set to application ID of an active service principal. Setting this field requires the servicePrincipal/user role.
657
+ Deprecated: Use `run_as` field instead. This field will be removed in a future release
658
+ :param pulumi.Input[_builtins.str] update_time: (string) - The timestamp indicating when the alert was updated
659
+ :param pulumi.Input[_builtins.str] warehouse_id: ID of the SQL warehouse attached to the alert
528
660
  """
529
661
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
530
662
 
@@ -534,110 +666,136 @@ class AlertV2(pulumi.CustomResource):
534
666
  __props__.__dict__["custom_description"] = custom_description
535
667
  __props__.__dict__["custom_summary"] = custom_summary
536
668
  __props__.__dict__["display_name"] = display_name
669
+ __props__.__dict__["effective_run_as"] = effective_run_as
537
670
  __props__.__dict__["evaluation"] = evaluation
538
671
  __props__.__dict__["lifecycle_state"] = lifecycle_state
539
672
  __props__.__dict__["owner_user_name"] = owner_user_name
540
673
  __props__.__dict__["parent_path"] = parent_path
541
674
  __props__.__dict__["query_text"] = query_text
675
+ __props__.__dict__["run_as"] = run_as
542
676
  __props__.__dict__["run_as_user_name"] = run_as_user_name
543
677
  __props__.__dict__["schedule"] = schedule
544
678
  __props__.__dict__["update_time"] = update_time
545
679
  __props__.__dict__["warehouse_id"] = warehouse_id
546
680
  return AlertV2(resource_name, opts=opts, __props__=__props__)
547
681
 
548
- @property
682
+ @_builtins.property
549
683
  @pulumi.getter(name="createTime")
550
- def create_time(self) -> pulumi.Output[builtins.str]:
684
+ def create_time(self) -> pulumi.Output[_builtins.str]:
551
685
  """
552
686
  (string) - The timestamp indicating when the alert was created
553
687
  """
554
688
  return pulumi.get(self, "create_time")
555
689
 
556
- @property
690
+ @_builtins.property
557
691
  @pulumi.getter(name="customDescription")
558
- def custom_description(self) -> pulumi.Output[Optional[builtins.str]]:
692
+ def custom_description(self) -> pulumi.Output[Optional[_builtins.str]]:
559
693
  """
560
694
  Custom description for the alert. support mustache template
561
695
  """
562
696
  return pulumi.get(self, "custom_description")
563
697
 
564
- @property
698
+ @_builtins.property
565
699
  @pulumi.getter(name="customSummary")
566
- def custom_summary(self) -> pulumi.Output[Optional[builtins.str]]:
700
+ def custom_summary(self) -> pulumi.Output[Optional[_builtins.str]]:
567
701
  """
568
702
  Custom summary for the alert. support mustache template
569
703
  """
570
704
  return pulumi.get(self, "custom_summary")
571
705
 
572
- @property
706
+ @_builtins.property
573
707
  @pulumi.getter(name="displayName")
574
- def display_name(self) -> pulumi.Output[Optional[builtins.str]]:
708
+ def display_name(self) -> pulumi.Output[_builtins.str]:
575
709
  """
576
710
  The display name of the alert
577
711
  """
578
712
  return pulumi.get(self, "display_name")
579
713
 
580
- @property
714
+ @_builtins.property
715
+ @pulumi.getter(name="effectiveRunAs")
716
+ def effective_run_as(self) -> pulumi.Output['outputs.AlertV2EffectiveRunAs']:
717
+ """
718
+ (AlertV2RunAs) - The actual identity that will be used to execute the alert.
719
+ This is an output-only field that shows the resolved run-as identity after applying
720
+ permissions and defaults
721
+ """
722
+ return pulumi.get(self, "effective_run_as")
723
+
724
+ @_builtins.property
581
725
  @pulumi.getter
582
- def evaluation(self) -> pulumi.Output[Optional['outputs.AlertV2Evaluation']]:
726
+ def evaluation(self) -> pulumi.Output['outputs.AlertV2Evaluation']:
583
727
  return pulumi.get(self, "evaluation")
584
728
 
585
- @property
729
+ @_builtins.property
586
730
  @pulumi.getter(name="lifecycleState")
587
- def lifecycle_state(self) -> pulumi.Output[builtins.str]:
731
+ def lifecycle_state(self) -> pulumi.Output[_builtins.str]:
588
732
  """
589
- (string) - Indicates whether the query is trashed. Possible values are: `ACTIVE`, `TRASHED`
733
+ (string) - Indicates whether the query is trashed. Possible values are: `ACTIVE`, `DELETED`
590
734
  """
591
735
  return pulumi.get(self, "lifecycle_state")
592
736
 
593
- @property
737
+ @_builtins.property
594
738
  @pulumi.getter(name="ownerUserName")
595
- def owner_user_name(self) -> pulumi.Output[builtins.str]:
739
+ def owner_user_name(self) -> pulumi.Output[_builtins.str]:
596
740
  """
597
741
  (string) - The owner's username. This field is set to "Unavailable" if the user has been deleted
598
742
  """
599
743
  return pulumi.get(self, "owner_user_name")
600
744
 
601
- @property
745
+ @_builtins.property
602
746
  @pulumi.getter(name="parentPath")
603
- def parent_path(self) -> pulumi.Output[Optional[builtins.str]]:
747
+ def parent_path(self) -> pulumi.Output[Optional[_builtins.str]]:
604
748
  """
605
749
  The workspace path of the folder containing the alert. Can only be set on create, and cannot be updated
606
750
  """
607
751
  return pulumi.get(self, "parent_path")
608
752
 
609
- @property
753
+ @_builtins.property
610
754
  @pulumi.getter(name="queryText")
611
- def query_text(self) -> pulumi.Output[Optional[builtins.str]]:
755
+ def query_text(self) -> pulumi.Output[_builtins.str]:
612
756
  """
613
757
  Text of the query to be run
614
758
  """
615
759
  return pulumi.get(self, "query_text")
616
760
 
617
- @property
761
+ @_builtins.property
762
+ @pulumi.getter(name="runAs")
763
+ def run_as(self) -> pulumi.Output[Optional['outputs.AlertV2RunAs']]:
764
+ """
765
+ Specifies the identity that will be used to run the alert.
766
+ This field allows you to configure alerts to run as a specific user or service principal.
767
+ - For user identity: Set `user_name` to the email of an active workspace user. Users can only set this to their own email.
768
+ - For service principal: Set `service_principal_name` to the application ID. Requires the `servicePrincipal/user` role.
769
+ If not specified, the alert will run as the request user
770
+ """
771
+ return pulumi.get(self, "run_as")
772
+
773
+ @_builtins.property
618
774
  @pulumi.getter(name="runAsUserName")
619
- def run_as_user_name(self) -> pulumi.Output[builtins.str]:
775
+ def run_as_user_name(self) -> pulumi.Output[Optional[_builtins.str]]:
620
776
  """
621
- (string) - The run as username. This field is set to "Unavailable" if the user has been deleted
777
+ The run as username or application ID of service principal.
778
+ On Create and Update, this field can be set to application ID of an active service principal. Setting this field requires the servicePrincipal/user role.
779
+ Deprecated: Use `run_as` field instead. This field will be removed in a future release
622
780
  """
623
781
  return pulumi.get(self, "run_as_user_name")
624
782
 
625
- @property
783
+ @_builtins.property
626
784
  @pulumi.getter
627
- def schedule(self) -> pulumi.Output[Optional['outputs.AlertV2Schedule']]:
785
+ def schedule(self) -> pulumi.Output['outputs.AlertV2Schedule']:
628
786
  return pulumi.get(self, "schedule")
629
787
 
630
- @property
788
+ @_builtins.property
631
789
  @pulumi.getter(name="updateTime")
632
- def update_time(self) -> pulumi.Output[builtins.str]:
790
+ def update_time(self) -> pulumi.Output[_builtins.str]:
633
791
  """
634
792
  (string) - The timestamp indicating when the alert was updated
635
793
  """
636
794
  return pulumi.get(self, "update_time")
637
795
 
638
- @property
796
+ @_builtins.property
639
797
  @pulumi.getter(name="warehouseId")
640
- def warehouse_id(self) -> pulumi.Output[Optional[builtins.str]]:
798
+ def warehouse_id(self) -> pulumi.Output[_builtins.str]:
641
799
  """
642
800
  ID of the SQL warehouse attached to the alert
643
801
  """