pulumi-databricks 1.78.0a1762407761__py3-none-any.whl → 1.79.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 (86) hide show
  1. pulumi_databricks/__init__.py +23 -0
  2. pulumi_databricks/_inputs.py +1630 -181
  3. pulumi_databricks/access_control_rule_set.py +81 -0
  4. pulumi_databricks/account_federation_policy.py +24 -0
  5. pulumi_databricks/account_network_policy.py +50 -0
  6. pulumi_databricks/account_setting_v2.py +181 -12
  7. pulumi_databricks/alert_v2.py +74 -2
  8. pulumi_databricks/app.py +71 -7
  9. pulumi_databricks/apps_settings_custom_template.py +102 -0
  10. pulumi_databricks/catalog.py +8 -8
  11. pulumi_databricks/cluster_policy.py +120 -0
  12. pulumi_databricks/config/__init__.pyi +4 -0
  13. pulumi_databricks/config/vars.py +8 -0
  14. pulumi_databricks/credential.py +7 -7
  15. pulumi_databricks/dashboard.py +94 -0
  16. pulumi_databricks/data_quality_monitor.py +2 -2
  17. pulumi_databricks/data_quality_refresh.py +78 -2
  18. pulumi_databricks/database_synced_database_table.py +212 -0
  19. pulumi_databricks/external_location.py +131 -7
  20. pulumi_databricks/feature_engineering_feature.py +52 -19
  21. pulumi_databricks/feature_engineering_kafka_config.py +463 -0
  22. pulumi_databricks/feature_engineering_materialized_feature.py +47 -0
  23. pulumi_databricks/file.py +2 -2
  24. pulumi_databricks/get_account_setting_v2.py +16 -16
  25. pulumi_databricks/get_alert_v2.py +2 -2
  26. pulumi_databricks/get_alerts_v2.py +2 -2
  27. pulumi_databricks/get_aws_assume_role_policy.py +14 -14
  28. pulumi_databricks/get_aws_bucket_policy.py +10 -10
  29. pulumi_databricks/get_aws_unity_catalog_assume_role_policy.py +10 -10
  30. pulumi_databricks/get_aws_unity_catalog_policy.py +10 -10
  31. pulumi_databricks/get_cluster.py +54 -0
  32. pulumi_databricks/get_current_config.py +4 -4
  33. pulumi_databricks/get_dashboards.py +32 -0
  34. pulumi_databricks/get_data_quality_monitor.py +2 -2
  35. pulumi_databricks/get_data_quality_monitors.py +2 -2
  36. pulumi_databricks/get_data_quality_refresh.py +2 -2
  37. pulumi_databricks/get_data_quality_refreshes.py +2 -2
  38. pulumi_databricks/get_feature_engineering_feature.py +12 -1
  39. pulumi_databricks/get_feature_engineering_kafka_config.py +182 -0
  40. pulumi_databricks/get_feature_engineering_kafka_configs.py +103 -0
  41. pulumi_databricks/get_feature_engineering_materialized_feature.py +16 -2
  42. pulumi_databricks/get_metastore.py +6 -6
  43. pulumi_databricks/get_notebook.py +20 -1
  44. pulumi_databricks/get_policy_info.py +36 -2
  45. pulumi_databricks/get_policy_infos.py +34 -2
  46. pulumi_databricks/get_service_principals.py +93 -7
  47. pulumi_databricks/get_spark_version.py +2 -2
  48. pulumi_databricks/get_tag_policies.py +2 -2
  49. pulumi_databricks/get_tag_policy.py +2 -2
  50. pulumi_databricks/get_users.py +194 -0
  51. pulumi_databricks/get_workspace_entity_tag_assignment.py +180 -0
  52. pulumi_databricks/get_workspace_entity_tag_assignments.py +171 -0
  53. pulumi_databricks/get_workspace_setting_v2.py +16 -16
  54. pulumi_databricks/instance_profile.py +0 -182
  55. pulumi_databricks/lakehouse_monitor.py +2 -2
  56. pulumi_databricks/metastore.py +81 -7
  57. pulumi_databricks/metastore_data_access.py +48 -0
  58. pulumi_databricks/mlflow_webhook.py +4 -4
  59. pulumi_databricks/mws_credentials.py +10 -10
  60. pulumi_databricks/mws_customer_managed_keys.py +0 -288
  61. pulumi_databricks/mws_log_delivery.py +146 -0
  62. pulumi_databricks/mws_storage_configurations.py +16 -16
  63. pulumi_databricks/mws_vpc_endpoint.py +56 -56
  64. pulumi_databricks/mws_workspaces.py +115 -55
  65. pulumi_databricks/notebook.py +49 -0
  66. pulumi_databricks/outputs.py +2017 -240
  67. pulumi_databricks/permission_assignment.py +49 -0
  68. pulumi_databricks/permissions.py +6 -6
  69. pulumi_databricks/pipeline.py +7 -7
  70. pulumi_databricks/policy_info.py +122 -2
  71. pulumi_databricks/provider.py +36 -1
  72. pulumi_databricks/pulumi-plugin.json +1 -1
  73. pulumi_databricks/recipient.py +74 -0
  74. pulumi_databricks/registered_model.py +7 -7
  75. pulumi_databricks/rfa_access_request_destinations.py +86 -19
  76. pulumi_databricks/schema.py +7 -7
  77. pulumi_databricks/service_principal_federation_policy.py +28 -0
  78. pulumi_databricks/sql_table.py +7 -7
  79. pulumi_databricks/tag_policy.py +2 -2
  80. pulumi_databricks/volume.py +7 -7
  81. pulumi_databricks/workspace_entity_tag_assignment.py +375 -0
  82. pulumi_databricks/workspace_setting_v2.py +181 -12
  83. {pulumi_databricks-1.78.0a1762407761.dist-info → pulumi_databricks-1.79.0.dist-info}/METADATA +1 -1
  84. {pulumi_databricks-1.78.0a1762407761.dist-info → pulumi_databricks-1.79.0.dist-info}/RECORD +86 -79
  85. {pulumi_databricks-1.78.0a1762407761.dist-info → pulumi_databricks-1.79.0.dist-info}/WHEEL +0 -0
  86. {pulumi_databricks-1.78.0a1762407761.dist-info → pulumi_databricks-1.79.0.dist-info}/top_level.txt +0 -0
@@ -87,7 +87,7 @@ class GetAccountSettingV2Result:
87
87
  @pulumi.getter(name="aibiDashboardEmbeddingAccessPolicy")
88
88
  def aibi_dashboard_embedding_access_policy(self) -> 'outputs.GetAccountSettingV2AibiDashboardEmbeddingAccessPolicyResult':
89
89
  """
90
- (AibiDashboardEmbeddingAccessPolicy)
90
+ (AibiDashboardEmbeddingAccessPolicy) - Setting value for aibi_dashboard_embedding_access_policy setting. This is the setting value set by consumers, check effective_aibi_dashboard_embedding_access_policy for final setting value
91
91
  """
92
92
  return pulumi.get(self, "aibi_dashboard_embedding_access_policy")
93
93
 
@@ -95,7 +95,7 @@ class GetAccountSettingV2Result:
95
95
  @pulumi.getter(name="aibiDashboardEmbeddingApprovedDomains")
96
96
  def aibi_dashboard_embedding_approved_domains(self) -> 'outputs.GetAccountSettingV2AibiDashboardEmbeddingApprovedDomainsResult':
97
97
  """
98
- (AibiDashboardEmbeddingApprovedDomains)
98
+ (AibiDashboardEmbeddingApprovedDomains) - Setting value for aibi_dashboard_embedding_approved_domains setting. This is the setting value set by consumers, check effective_aibi_dashboard_embedding_approved_domains for final setting value
99
99
  """
100
100
  return pulumi.get(self, "aibi_dashboard_embedding_approved_domains")
101
101
 
@@ -103,7 +103,7 @@ class GetAccountSettingV2Result:
103
103
  @pulumi.getter(name="automaticClusterUpdateWorkspace")
104
104
  def automatic_cluster_update_workspace(self) -> 'outputs.GetAccountSettingV2AutomaticClusterUpdateWorkspaceResult':
105
105
  """
106
- (ClusterAutoRestartMessage)
106
+ (ClusterAutoRestartMessage) - Setting value for automatic_cluster_update_workspace setting. This is the setting value set by consumers, check effective_automatic_cluster_update_workspace for final setting value
107
107
  """
108
108
  return pulumi.get(self, "automatic_cluster_update_workspace")
109
109
 
@@ -111,7 +111,7 @@ class GetAccountSettingV2Result:
111
111
  @pulumi.getter(name="booleanVal")
112
112
  def boolean_val(self) -> 'outputs.GetAccountSettingV2BooleanValResult':
113
113
  """
114
- (BooleanMessage)
114
+ (BooleanMessage) - Setting value for boolean type setting. This is the setting value set by consumers, check effective_boolean_val for final setting value
115
115
  """
116
116
  return pulumi.get(self, "boolean_val")
117
117
 
@@ -119,7 +119,7 @@ class GetAccountSettingV2Result:
119
119
  @pulumi.getter(name="effectiveAibiDashboardEmbeddingAccessPolicy")
120
120
  def effective_aibi_dashboard_embedding_access_policy(self) -> 'outputs.GetAccountSettingV2EffectiveAibiDashboardEmbeddingAccessPolicyResult':
121
121
  """
122
- (AibiDashboardEmbeddingAccessPolicy)
122
+ (AibiDashboardEmbeddingAccessPolicy) - Effective setting value for aibi_dashboard_embedding_access_policy setting. This is the final effective value of setting. To set a value use aibi_dashboard_embedding_access_policy
123
123
  """
124
124
  return pulumi.get(self, "effective_aibi_dashboard_embedding_access_policy")
125
125
 
@@ -127,7 +127,7 @@ class GetAccountSettingV2Result:
127
127
  @pulumi.getter(name="effectiveAibiDashboardEmbeddingApprovedDomains")
128
128
  def effective_aibi_dashboard_embedding_approved_domains(self) -> 'outputs.GetAccountSettingV2EffectiveAibiDashboardEmbeddingApprovedDomainsResult':
129
129
  """
130
- (AibiDashboardEmbeddingApprovedDomains)
130
+ (AibiDashboardEmbeddingApprovedDomains) - Effective setting value for aibi_dashboard_embedding_approved_domains setting. This is the final effective value of setting. To set a value use aibi_dashboard_embedding_approved_domains
131
131
  """
132
132
  return pulumi.get(self, "effective_aibi_dashboard_embedding_approved_domains")
133
133
 
@@ -135,7 +135,7 @@ class GetAccountSettingV2Result:
135
135
  @pulumi.getter(name="effectiveAutomaticClusterUpdateWorkspace")
136
136
  def effective_automatic_cluster_update_workspace(self) -> 'outputs.GetAccountSettingV2EffectiveAutomaticClusterUpdateWorkspaceResult':
137
137
  """
138
- (ClusterAutoRestartMessage)
138
+ (ClusterAutoRestartMessage) - Effective setting value for automatic_cluster_update_workspace setting. This is the final effective value of setting. To set a value use automatic_cluster_update_workspace
139
139
  """
140
140
  return pulumi.get(self, "effective_automatic_cluster_update_workspace")
141
141
 
@@ -143,7 +143,7 @@ class GetAccountSettingV2Result:
143
143
  @pulumi.getter(name="effectiveBooleanVal")
144
144
  def effective_boolean_val(self) -> 'outputs.GetAccountSettingV2EffectiveBooleanValResult':
145
145
  """
146
- (BooleanMessage)
146
+ (BooleanMessage) - Effective setting value for boolean type setting. This is the final effective value of setting. To set a value use boolean_val
147
147
  """
148
148
  return pulumi.get(self, "effective_boolean_val")
149
149
 
@@ -151,7 +151,7 @@ class GetAccountSettingV2Result:
151
151
  @pulumi.getter(name="effectiveIntegerVal")
152
152
  def effective_integer_val(self) -> 'outputs.GetAccountSettingV2EffectiveIntegerValResult':
153
153
  """
154
- (IntegerMessage)
154
+ (IntegerMessage) - Effective setting value for integer type setting. This is the final effective value of setting. To set a value use integer_val
155
155
  """
156
156
  return pulumi.get(self, "effective_integer_val")
157
157
 
@@ -159,7 +159,7 @@ class GetAccountSettingV2Result:
159
159
  @pulumi.getter(name="effectivePersonalCompute")
160
160
  def effective_personal_compute(self) -> 'outputs.GetAccountSettingV2EffectivePersonalComputeResult':
161
161
  """
162
- (PersonalComputeMessage)
162
+ (PersonalComputeMessage) - Effective setting value for personal_compute setting. This is the final effective value of setting. To set a value use personal_compute
163
163
  """
164
164
  return pulumi.get(self, "effective_personal_compute")
165
165
 
@@ -167,7 +167,7 @@ class GetAccountSettingV2Result:
167
167
  @pulumi.getter(name="effectiveRestrictWorkspaceAdmins")
168
168
  def effective_restrict_workspace_admins(self) -> 'outputs.GetAccountSettingV2EffectiveRestrictWorkspaceAdminsResult':
169
169
  """
170
- (RestrictWorkspaceAdminsMessage)
170
+ (RestrictWorkspaceAdminsMessage) - Effective setting value for restrict_workspace_admins setting. This is the final effective value of setting. To set a value use restrict_workspace_admins
171
171
  """
172
172
  return pulumi.get(self, "effective_restrict_workspace_admins")
173
173
 
@@ -175,7 +175,7 @@ class GetAccountSettingV2Result:
175
175
  @pulumi.getter(name="effectiveStringVal")
176
176
  def effective_string_val(self) -> 'outputs.GetAccountSettingV2EffectiveStringValResult':
177
177
  """
178
- (StringMessage)
178
+ (StringMessage) - Effective setting value for string type setting. This is the final effective value of setting. To set a value use string_val
179
179
  """
180
180
  return pulumi.get(self, "effective_string_val")
181
181
 
@@ -191,7 +191,7 @@ class GetAccountSettingV2Result:
191
191
  @pulumi.getter(name="integerVal")
192
192
  def integer_val(self) -> 'outputs.GetAccountSettingV2IntegerValResult':
193
193
  """
194
- (IntegerMessage)
194
+ (IntegerMessage) - Setting value for integer type setting. This is the setting value set by consumers, check effective_integer_val for final setting value
195
195
  """
196
196
  return pulumi.get(self, "integer_val")
197
197
 
@@ -207,7 +207,7 @@ class GetAccountSettingV2Result:
207
207
  @pulumi.getter(name="personalCompute")
208
208
  def personal_compute(self) -> 'outputs.GetAccountSettingV2PersonalComputeResult':
209
209
  """
210
- (PersonalComputeMessage)
210
+ (PersonalComputeMessage) - Setting value for personal_compute setting. This is the setting value set by consumers, check effective_personal_compute for final setting value
211
211
  """
212
212
  return pulumi.get(self, "personal_compute")
213
213
 
@@ -215,7 +215,7 @@ class GetAccountSettingV2Result:
215
215
  @pulumi.getter(name="restrictWorkspaceAdmins")
216
216
  def restrict_workspace_admins(self) -> 'outputs.GetAccountSettingV2RestrictWorkspaceAdminsResult':
217
217
  """
218
- (RestrictWorkspaceAdminsMessage)
218
+ (RestrictWorkspaceAdminsMessage) - Setting value for restrict_workspace_admins setting. This is the setting value set by consumers, check effective_restrict_workspace_admins for final setting value
219
219
  """
220
220
  return pulumi.get(self, "restrict_workspace_admins")
221
221
 
@@ -223,7 +223,7 @@ class GetAccountSettingV2Result:
223
223
  @pulumi.getter(name="stringVal")
224
224
  def string_val(self) -> 'outputs.GetAccountSettingV2StringValResult':
225
225
  """
226
- (StringMessage)
226
+ (StringMessage) - Setting value for string type setting. This is the setting value set by consumers, check effective_string_val for final setting value
227
227
  """
228
228
  return pulumi.get(self, "string_val")
229
229
 
@@ -241,7 +241,7 @@ class AwaitableGetAlertV2Result(GetAlertV2Result):
241
241
  def get_alert_v2(id: Optional[_builtins.str] = None,
242
242
  opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetAlertV2Result:
243
243
  """
244
- [![Public Beta](https://img.shields.io/badge/Release_Stage-Public_Beta-orange)](https://docs.databricks.com/aws/en/release-notes/release-types)
244
+ [![Public Preview](https://img.shields.io/badge/Release_Stage-Public_Preview-yellowgreen)](https://docs.databricks.com/aws/en/release-notes/release-types)
245
245
 
246
246
  The SQL Alert v2 data source allows you to retrieve detailed information about a specific alert in Databricks SQL. This data source provides access to all alert properties, including its configuration, evaluation criteria, notification settings, and schedule.
247
247
 
@@ -291,7 +291,7 @@ def get_alert_v2(id: Optional[_builtins.str] = None,
291
291
  def get_alert_v2_output(id: Optional[pulumi.Input[_builtins.str]] = None,
292
292
  opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetAlertV2Result]:
293
293
  """
294
- [![Public Beta](https://img.shields.io/badge/Release_Stage-Public_Beta-orange)](https://docs.databricks.com/aws/en/release-notes/release-types)
294
+ [![Public Preview](https://img.shields.io/badge/Release_Stage-Public_Preview-yellowgreen)](https://docs.databricks.com/aws/en/release-notes/release-types)
295
295
 
296
296
  The SQL Alert v2 data source allows you to retrieve detailed information about a specific alert in Databricks SQL. This data source provides access to all alert properties, including its configuration, evaluation criteria, notification settings, and schedule.
297
297
 
@@ -71,7 +71,7 @@ class AwaitableGetAlertsV2Result(GetAlertsV2Result):
71
71
  def get_alerts_v2(page_size: Optional[_builtins.int] = None,
72
72
  opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetAlertsV2Result:
73
73
  """
74
- [![Public Beta](https://img.shields.io/badge/Release_Stage-Public_Beta-orange)](https://docs.databricks.com/aws/en/release-notes/release-types)
74
+ [![Public Preview](https://img.shields.io/badge/Release_Stage-Public_Preview-yellowgreen)](https://docs.databricks.com/aws/en/release-notes/release-types)
75
75
 
76
76
  The SQL Alerts v2 data source allows you to retrieve a list of alerts in Databricks SQL that are accessible to the current user. This data source returns alerts ordered by their creation time.
77
77
 
@@ -103,7 +103,7 @@ def get_alerts_v2(page_size: Optional[_builtins.int] = None,
103
103
  def get_alerts_v2_output(page_size: Optional[pulumi.Input[Optional[_builtins.int]]] = None,
104
104
  opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetAlertsV2Result]:
105
105
  """
106
- [![Public Beta](https://img.shields.io/badge/Release_Stage-Public_Beta-orange)](https://docs.databricks.com/aws/en/release-notes/release-types)
106
+ [![Public Preview](https://img.shields.io/badge/Release_Stage-Public_Preview-yellowgreen)](https://docs.databricks.com/aws/en/release-notes/release-types)
107
107
 
108
108
  The SQL Alerts v2 data source allows you to retrieve a list of alerts in Databricks SQL that are accessible to the current user. This data source returns alerts ordered by their creation time.
109
109
 
@@ -121,22 +121,22 @@ def get_aws_assume_role_policy(aws_partition: Optional[_builtins.str] = None,
121
121
  # Account Id that could be found in the top right corner of https://accounts.cloud.databricks.com/
122
122
  databricks_account_id = config.require_object("databricksAccountId")
123
123
  this = databricks.get_aws_cross_account_policy()
124
- cross_account_policy = aws.iam.Policy("cross_account_policy",
125
- name=f"{prefix}-crossaccount-iam-policy",
124
+ cross_account_policy = aws.index.IamPolicy("cross_account_policy",
125
+ name=f{prefix}-crossaccount-iam-policy,
126
126
  policy=this.json)
127
127
  this_get_aws_assume_role_policy = databricks.get_aws_assume_role_policy(external_id=databricks_account_id)
128
- cross_account = aws.iam.Role("cross_account",
129
- name=f"{prefix}-crossaccount-iam-role",
128
+ cross_account = aws.index.IamRole("cross_account",
129
+ name=f{prefix}-crossaccount-iam-role,
130
130
  assume_role_policy=this_get_aws_assume_role_policy.json,
131
- description="Grants Databricks full access to VPC resources")
132
- cross_account_role_policy_attachment = aws.iam.RolePolicyAttachment("cross_account",
131
+ description=Grants Databricks full access to VPC resources)
132
+ cross_account_iam_role_policy_attachment = aws.index.IamRolePolicyAttachment("cross_account",
133
133
  policy_arn=cross_account_policy.arn,
134
134
  role=cross_account.name)
135
135
  # required only in case of multi-workspace setup
136
136
  this_mws_credentials = databricks.MwsCredentials("this",
137
137
  account_id=databricks_account_id,
138
138
  credentials_name=f"{prefix}-creds",
139
- role_arn=cross_account.arn)
139
+ role_arn=cross_account["arn"])
140
140
  ```
141
141
 
142
142
  ## Related Resources
@@ -190,22 +190,22 @@ def get_aws_assume_role_policy_output(aws_partition: Optional[pulumi.Input[Optio
190
190
  # Account Id that could be found in the top right corner of https://accounts.cloud.databricks.com/
191
191
  databricks_account_id = config.require_object("databricksAccountId")
192
192
  this = databricks.get_aws_cross_account_policy()
193
- cross_account_policy = aws.iam.Policy("cross_account_policy",
194
- name=f"{prefix}-crossaccount-iam-policy",
193
+ cross_account_policy = aws.index.IamPolicy("cross_account_policy",
194
+ name=f{prefix}-crossaccount-iam-policy,
195
195
  policy=this.json)
196
196
  this_get_aws_assume_role_policy = databricks.get_aws_assume_role_policy(external_id=databricks_account_id)
197
- cross_account = aws.iam.Role("cross_account",
198
- name=f"{prefix}-crossaccount-iam-role",
197
+ cross_account = aws.index.IamRole("cross_account",
198
+ name=f{prefix}-crossaccount-iam-role,
199
199
  assume_role_policy=this_get_aws_assume_role_policy.json,
200
- description="Grants Databricks full access to VPC resources")
201
- cross_account_role_policy_attachment = aws.iam.RolePolicyAttachment("cross_account",
200
+ description=Grants Databricks full access to VPC resources)
201
+ cross_account_iam_role_policy_attachment = aws.index.IamRolePolicyAttachment("cross_account",
202
202
  policy_arn=cross_account_policy.arn,
203
203
  role=cross_account.name)
204
204
  # required only in case of multi-workspace setup
205
205
  this_mws_credentials = databricks.MwsCredentials("this",
206
206
  account_id=databricks_account_id,
207
207
  credentials_name=f"{prefix}-creds",
208
- role_arn=cross_account.arn)
208
+ role_arn=cross_account["arn"])
209
209
  ```
210
210
 
211
211
  ## Related Resources
@@ -125,12 +125,12 @@ def get_aws_bucket_policy(aws_partition: Optional[_builtins.str] = None,
125
125
  import pulumi_aws as aws
126
126
  import pulumi_databricks as databricks
127
127
 
128
- this_bucket = aws.s3.Bucket("this",
129
- bucket="<unique_bucket_name>",
128
+ this_s3_bucket = aws.index.S3Bucket("this",
129
+ bucket=<unique_bucket_name>,
130
130
  force_destroy=True)
131
- this = databricks.get_aws_bucket_policy_output(bucket=this_bucket.bucket)
132
- this_bucket_policy = aws.s3.BucketPolicy("this",
133
- bucket=this_bucket.id,
131
+ this = databricks.get_aws_bucket_policy(bucket=this_s3_bucket["bucket"])
132
+ this_s3_bucket_policy = aws.index.S3BucketPolicy("this",
133
+ bucket=this_s3_bucket.id,
134
134
  policy=this.json)
135
135
  ```
136
136
 
@@ -177,12 +177,12 @@ def get_aws_bucket_policy_output(aws_partition: Optional[pulumi.Input[Optional[_
177
177
  import pulumi_aws as aws
178
178
  import pulumi_databricks as databricks
179
179
 
180
- this_bucket = aws.s3.Bucket("this",
181
- bucket="<unique_bucket_name>",
180
+ this_s3_bucket = aws.index.S3Bucket("this",
181
+ bucket=<unique_bucket_name>,
182
182
  force_destroy=True)
183
- this = databricks.get_aws_bucket_policy_output(bucket=this_bucket.bucket)
184
- this_bucket_policy = aws.s3.BucketPolicy("this",
185
- bucket=this_bucket.id,
183
+ this = databricks.get_aws_bucket_policy(bucket=this_s3_bucket["bucket"])
184
+ this_s3_bucket_policy = aws.index.S3BucketPolicy("this",
185
+ bucket=this_s3_bucket.id,
186
186
  policy=this.json)
187
187
  ```
188
188
 
@@ -130,13 +130,13 @@ def get_aws_unity_catalog_assume_role_policy(aws_account_id: Optional[_builtins.
130
130
  this_get_aws_unity_catalog_assume_role_policy = databricks.get_aws_unity_catalog_assume_role_policy(aws_account_id=aws_account_id,
131
131
  role_name=f"{prefix}-uc-access",
132
132
  external_id="12345")
133
- unity_metastore = aws.iam.Policy("unity_metastore",
134
- name=f"{prefix}-unity-catalog-metastore-access-iam-policy",
133
+ unity_metastore = aws.index.IamPolicy("unity_metastore",
134
+ name=f{prefix}-unity-catalog-metastore-access-iam-policy,
135
135
  policy=this.json)
136
- metastore_data_access = aws.iam.Role("metastore_data_access",
137
- name=f"{prefix}-uc-access",
136
+ metastore_data_access = aws.index.IamRole("metastore_data_access",
137
+ name=f{prefix}-uc-access,
138
138
  assume_role_policy=this_get_aws_unity_catalog_assume_role_policy.json)
139
- metastore_data_access_role_policy_attachment = aws.iam.RolePolicyAttachment("metastore_data_access",
139
+ metastore_data_access_iam_role_policy_attachment = aws.index.IamRolePolicyAttachment("metastore_data_access",
140
140
  role=metastore_data_access.name,
141
141
  policy_arn=unity_metastore.arn)
142
142
  ```
@@ -192,13 +192,13 @@ def get_aws_unity_catalog_assume_role_policy_output(aws_account_id: Optional[pul
192
192
  this_get_aws_unity_catalog_assume_role_policy = databricks.get_aws_unity_catalog_assume_role_policy(aws_account_id=aws_account_id,
193
193
  role_name=f"{prefix}-uc-access",
194
194
  external_id="12345")
195
- unity_metastore = aws.iam.Policy("unity_metastore",
196
- name=f"{prefix}-unity-catalog-metastore-access-iam-policy",
195
+ unity_metastore = aws.index.IamPolicy("unity_metastore",
196
+ name=f{prefix}-unity-catalog-metastore-access-iam-policy,
197
197
  policy=this.json)
198
- metastore_data_access = aws.iam.Role("metastore_data_access",
199
- name=f"{prefix}-uc-access",
198
+ metastore_data_access = aws.index.IamRole("metastore_data_access",
199
+ name=f{prefix}-uc-access,
200
200
  assume_role_policy=this_get_aws_unity_catalog_assume_role_policy.json)
201
- metastore_data_access_role_policy_attachment = aws.iam.RolePolicyAttachment("metastore_data_access",
201
+ metastore_data_access_iam_role_policy_attachment = aws.index.IamRolePolicyAttachment("metastore_data_access",
202
202
  role=metastore_data_access.name,
203
203
  policy_arn=unity_metastore.arn)
204
204
  ```
@@ -133,13 +133,13 @@ def get_aws_unity_catalog_policy(aws_account_id: Optional[_builtins.str] = None,
133
133
  this_get_aws_unity_catalog_assume_role_policy = databricks.get_aws_unity_catalog_assume_role_policy(aws_account_id=aws_account_id,
134
134
  role_name=f"{prefix}-uc-access",
135
135
  external_id="12345")
136
- unity_metastore = aws.iam.Policy("unity_metastore",
137
- name=f"{prefix}-unity-catalog-metastore-access-iam-policy",
136
+ unity_metastore = aws.index.IamPolicy("unity_metastore",
137
+ name=f{prefix}-unity-catalog-metastore-access-iam-policy,
138
138
  policy=this.json)
139
- metastore_data_access = aws.iam.Role("metastore_data_access",
140
- name=f"{prefix}-uc-access",
139
+ metastore_data_access = aws.index.IamRole("metastore_data_access",
140
+ name=f{prefix}-uc-access,
141
141
  assume_role_policy=this_get_aws_unity_catalog_assume_role_policy.json)
142
- metastore_data_access_role_policy_attachment = aws.iam.RolePolicyAttachment("metastore_data_access",
142
+ metastore_data_access_iam_role_policy_attachment = aws.index.IamRolePolicyAttachment("metastore_data_access",
143
143
  role=metastore_data_access.name,
144
144
  policy_arn=unity_metastore.arn)
145
145
  ```
@@ -195,13 +195,13 @@ def get_aws_unity_catalog_policy_output(aws_account_id: Optional[pulumi.Input[_b
195
195
  this_get_aws_unity_catalog_assume_role_policy = databricks.get_aws_unity_catalog_assume_role_policy(aws_account_id=aws_account_id,
196
196
  role_name=f"{prefix}-uc-access",
197
197
  external_id="12345")
198
- unity_metastore = aws.iam.Policy("unity_metastore",
199
- name=f"{prefix}-unity-catalog-metastore-access-iam-policy",
198
+ unity_metastore = aws.index.IamPolicy("unity_metastore",
199
+ name=f{prefix}-unity-catalog-metastore-access-iam-policy,
200
200
  policy=this.json)
201
- metastore_data_access = aws.iam.Role("metastore_data_access",
202
- name=f"{prefix}-uc-access",
201
+ metastore_data_access = aws.index.IamRole("metastore_data_access",
202
+ name=f{prefix}-uc-access,
203
203
  assume_role_policy=this_get_aws_unity_catalog_assume_role_policy.json)
204
- metastore_data_access_role_policy_attachment = aws.iam.RolePolicyAttachment("metastore_data_access",
204
+ metastore_data_access_iam_role_policy_attachment = aws.index.IamRolePolicyAttachment("metastore_data_access",
205
205
  role=metastore_data_access.name,
206
206
  policy_arn=unity_metastore.arn)
207
207
  ```
@@ -116,6 +116,33 @@ def get_cluster(cluster_id: Optional[_builtins.str] = None,
116
116
  all_get_cluster = {__key: databricks.get_cluster(cluster_id=__value) for __key, __value in all.ids}
117
117
  ```
118
118
 
119
+ ### Multiple clusters with the same name
120
+
121
+ When fetching a cluster whose name is not unique (including terminated but not permanently deleted clusters), you must use the `cluster_id` argument to uniquely identify the cluster. Combine this data source with `get_clusters` to get the `cluster_id` of the cluster you want to fetch.
122
+
123
+ ```python
124
+ import pulumi
125
+ import pulumi_databricks as databricks
126
+
127
+ my_cluster = databricks.get_clusters(cluster_name_contains="my-cluster",
128
+ filter_by={
129
+ "cluster_states": ["RUNNING"],
130
+ })
131
+ my_cluster_get_cluster = databricks.get_cluster(cluster_id=my_cluster.ids[0])
132
+ ```
133
+
134
+ ## Related Resources
135
+
136
+ The following resources are often used in the same context:
137
+
138
+ * End to end workspace management guide.
139
+ * Cluster to create [Databricks Clusters](https://docs.databricks.com/clusters/index.html).
140
+ * ClusterPolicy to create a Cluster policy, which limits the ability to create clusters based on a set of rules.
141
+ * InstancePool to manage [instance pools](https://docs.databricks.com/clusters/instance-pools/index.html) to reduce cluster start and auto-scaling times by maintaining a set of idle, ready-to-use instances.
142
+ * Job to manage [Databricks Jobs](https://docs.databricks.com/jobs.html) to run non-interactive code in a databricks_cluster.
143
+ * Library to install a [library](https://docs.databricks.com/libraries/index.html) on databricks_cluster.
144
+ * Pipeline to deploy [Lakeflow Declarative Pipelines](https://docs.databricks.com/aws/en/dlt).
145
+
119
146
 
120
147
  :param _builtins.str cluster_id: The id of the cluster.
121
148
  :param Union['GetClusterClusterInfoArgs', 'GetClusterClusterInfoArgsDict'] cluster_info: block, consisting of following fields:
@@ -161,6 +188,33 @@ def get_cluster_output(cluster_id: Optional[pulumi.Input[Optional[_builtins.str]
161
188
  all_get_cluster = {__key: databricks.get_cluster(cluster_id=__value) for __key, __value in all.ids}
162
189
  ```
163
190
 
191
+ ### Multiple clusters with the same name
192
+
193
+ When fetching a cluster whose name is not unique (including terminated but not permanently deleted clusters), you must use the `cluster_id` argument to uniquely identify the cluster. Combine this data source with `get_clusters` to get the `cluster_id` of the cluster you want to fetch.
194
+
195
+ ```python
196
+ import pulumi
197
+ import pulumi_databricks as databricks
198
+
199
+ my_cluster = databricks.get_clusters(cluster_name_contains="my-cluster",
200
+ filter_by={
201
+ "cluster_states": ["RUNNING"],
202
+ })
203
+ my_cluster_get_cluster = databricks.get_cluster(cluster_id=my_cluster.ids[0])
204
+ ```
205
+
206
+ ## Related Resources
207
+
208
+ The following resources are often used in the same context:
209
+
210
+ * End to end workspace management guide.
211
+ * Cluster to create [Databricks Clusters](https://docs.databricks.com/clusters/index.html).
212
+ * ClusterPolicy to create a Cluster policy, which limits the ability to create clusters based on a set of rules.
213
+ * InstancePool to manage [instance pools](https://docs.databricks.com/clusters/instance-pools/index.html) to reduce cluster start and auto-scaling times by maintaining a set of idle, ready-to-use instances.
214
+ * Job to manage [Databricks Jobs](https://docs.databricks.com/jobs.html) to run non-interactive code in a databricks_cluster.
215
+ * Library to install a [library](https://docs.databricks.com/libraries/index.html) on databricks_cluster.
216
+ * Pipeline to deploy [Lakeflow Declarative Pipelines](https://docs.databricks.com/aws/en/dlt).
217
+
164
218
 
165
219
  :param _builtins.str cluster_id: The id of the cluster.
166
220
  :param Union['GetClusterClusterInfoArgs', 'GetClusterClusterInfoArgsDict'] cluster_info: block, consisting of following fields:
@@ -130,10 +130,10 @@ def get_current_config(account_id: Optional[_builtins.str] = None,
130
130
  "azure": True,
131
131
  }].apply(lambda entries: [{
132
132
  "accessConnectorId": cloud_credential_id,
133
- } for entry in entries])),
133
+ } for entry2 in entries])),
134
134
  databricks_gcp_service_account=single_or_none([{"key": k, "value": v} for k, v in {} if this.cloud_type == "gcp" else {
135
135
  "gcp": True,
136
- }].apply(lambda entries: [{} for entry in entries])),
136
+ }].apply(lambda entries: [{} for entry3 in entries])),
137
137
  name="storage_cred",
138
138
  comment="Managed by TF")
139
139
  ```
@@ -209,10 +209,10 @@ def get_current_config_output(account_id: Optional[pulumi.Input[Optional[_builti
209
209
  "azure": True,
210
210
  }].apply(lambda entries: [{
211
211
  "accessConnectorId": cloud_credential_id,
212
- } for entry in entries])),
212
+ } for entry2 in entries])),
213
213
  databricks_gcp_service_account=single_or_none([{"key": k, "value": v} for k, v in {} if this.cloud_type == "gcp" else {
214
214
  "gcp": True,
215
- }].apply(lambda entries: [{} for entry in entries])),
215
+ }].apply(lambda entries: [{} for entry3 in entries])),
216
216
  name="storage_cred",
217
217
  comment="Managed by TF")
218
218
  ```
@@ -91,6 +91,22 @@ def get_dashboards(dashboard_name_contains: Optional[_builtins.str] = None,
91
91
 
92
92
  ## Example Usage
93
93
 
94
+ ```python
95
+ import pulumi
96
+ import pulumi_databricks as databricks
97
+
98
+ all = databricks.get_dashboards()
99
+ dashboards_permissions = []
100
+ for range in [{"key": k, "value": v} for [k, v] in enumerate([__item.dashboard_id for __item in all.dashboards])]:
101
+ dashboards_permissions.append(databricks.Permissions(f"dashboards_permissions-{range['key']}",
102
+ depends=[all],
103
+ dashboard_id=range["value"],
104
+ access_controls=[{
105
+ "group_name": "Example Group",
106
+ "permission_level": "CAN_MANAGE",
107
+ }]))
108
+ ```
109
+
94
110
 
95
111
  :param _builtins.str dashboard_name_contains: A **case-insensitive** substring to filter Dashboards by their name.
96
112
  """
@@ -115,6 +131,22 @@ def get_dashboards_output(dashboard_name_contains: Optional[pulumi.Input[Optiona
115
131
 
116
132
  ## Example Usage
117
133
 
134
+ ```python
135
+ import pulumi
136
+ import pulumi_databricks as databricks
137
+
138
+ all = databricks.get_dashboards()
139
+ dashboards_permissions = []
140
+ for range in [{"key": k, "value": v} for [k, v] in enumerate([__item.dashboard_id for __item in all.dashboards])]:
141
+ dashboards_permissions.append(databricks.Permissions(f"dashboards_permissions-{range['key']}",
142
+ depends=[all],
143
+ dashboard_id=range["value"],
144
+ access_controls=[{
145
+ "group_name": "Example Group",
146
+ "permission_level": "CAN_MANAGE",
147
+ }]))
148
+ ```
149
+
118
150
 
119
151
  :param _builtins.str dashboard_name_contains: A **case-insensitive** substring to filter Dashboards by their name.
120
152
  """
@@ -103,7 +103,7 @@ def get_data_quality_monitor(object_id: Optional[_builtins.str] = None,
103
103
  object_type: Optional[_builtins.str] = None,
104
104
  opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetDataQualityMonitorResult:
105
105
  """
106
- [![Public Beta](https://img.shields.io/badge/Release_Stage-Public_Beta-orange)](https://docs.databricks.com/aws/en/release-notes/release-types)
106
+ [![Public Preview](https://img.shields.io/badge/Release_Stage-Public_Preview-yellowgreen)](https://docs.databricks.com/aws/en/release-notes/release-types)
107
107
 
108
108
  This data source can be used to fetch a data quality monitor.
109
109
 
@@ -158,7 +158,7 @@ def get_data_quality_monitor_output(object_id: Optional[pulumi.Input[_builtins.s
158
158
  object_type: Optional[pulumi.Input[_builtins.str]] = None,
159
159
  opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetDataQualityMonitorResult]:
160
160
  """
161
- [![Public Beta](https://img.shields.io/badge/Release_Stage-Public_Beta-orange)](https://docs.databricks.com/aws/en/release-notes/release-types)
161
+ [![Public Preview](https://img.shields.io/badge/Release_Stage-Public_Preview-yellowgreen)](https://docs.databricks.com/aws/en/release-notes/release-types)
162
162
 
163
163
  This data source can be used to fetch a data quality monitor.
164
164
 
@@ -71,7 +71,7 @@ class AwaitableGetDataQualityMonitorsResult(GetDataQualityMonitorsResult):
71
71
  def get_data_quality_monitors(page_size: Optional[_builtins.int] = None,
72
72
  opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetDataQualityMonitorsResult:
73
73
  """
74
- [![Public Beta](https://img.shields.io/badge/Release_Stage-Public_Beta-orange)](https://docs.databricks.com/aws/en/release-notes/release-types)
74
+ [![Public Preview](https://img.shields.io/badge/Release_Stage-Public_Preview-yellowgreen)](https://docs.databricks.com/aws/en/release-notes/release-types)
75
75
 
76
76
  This data source can be used to fetch the list of data quality monitors.
77
77
 
@@ -108,7 +108,7 @@ def get_data_quality_monitors(page_size: Optional[_builtins.int] = None,
108
108
  def get_data_quality_monitors_output(page_size: Optional[pulumi.Input[Optional[_builtins.int]]] = None,
109
109
  opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetDataQualityMonitorsResult]:
110
110
  """
111
- [![Public Beta](https://img.shields.io/badge/Release_Stage-Public_Beta-orange)](https://docs.databricks.com/aws/en/release-notes/release-types)
111
+ [![Public Preview](https://img.shields.io/badge/Release_Stage-Public_Preview-yellowgreen)](https://docs.databricks.com/aws/en/release-notes/release-types)
112
112
 
113
113
  This data source can be used to fetch the list of data quality monitors.
114
114
 
@@ -150,7 +150,7 @@ def get_data_quality_refresh(object_id: Optional[_builtins.str] = None,
150
150
  refresh_id: Optional[_builtins.int] = None,
151
151
  opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetDataQualityRefreshResult:
152
152
  """
153
- [![Public Beta](https://img.shields.io/badge/Release_Stage-Public_Beta-orange)](https://docs.databricks.com/aws/en/release-notes/release-types)
153
+ [![Public Preview](https://img.shields.io/badge/Release_Stage-Public_Preview-yellowgreen)](https://docs.databricks.com/aws/en/release-notes/release-types)
154
154
 
155
155
  This data source can be used to fetch a data quality refresh on a Unity Catalog table.
156
156
 
@@ -212,7 +212,7 @@ def get_data_quality_refresh_output(object_id: Optional[pulumi.Input[_builtins.s
212
212
  refresh_id: Optional[pulumi.Input[_builtins.int]] = None,
213
213
  opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetDataQualityRefreshResult]:
214
214
  """
215
- [![Public Beta](https://img.shields.io/badge/Release_Stage-Public_Beta-orange)](https://docs.databricks.com/aws/en/release-notes/release-types)
215
+ [![Public Preview](https://img.shields.io/badge/Release_Stage-Public_Preview-yellowgreen)](https://docs.databricks.com/aws/en/release-notes/release-types)
216
216
 
217
217
  This data source can be used to fetch a data quality refresh on a Unity Catalog table.
218
218
 
@@ -97,7 +97,7 @@ def get_data_quality_refreshes(object_id: Optional[_builtins.str] = None,
97
97
  page_size: Optional[_builtins.int] = None,
98
98
  opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetDataQualityRefreshesResult:
99
99
  """
100
- [![Public Beta](https://img.shields.io/badge/Release_Stage-Public_Beta-orange)](https://docs.databricks.com/aws/en/release-notes/release-types)
100
+ [![Public Preview](https://img.shields.io/badge/Release_Stage-Public_Preview-yellowgreen)](https://docs.databricks.com/aws/en/release-notes/release-types)
101
101
 
102
102
  This data source can be used to fetch the list of data quality refreshes on a Unity Catalog table.
103
103
 
@@ -154,7 +154,7 @@ def get_data_quality_refreshes_output(object_id: Optional[pulumi.Input[_builtins
154
154
  page_size: Optional[pulumi.Input[Optional[_builtins.int]]] = None,
155
155
  opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetDataQualityRefreshesResult]:
156
156
  """
157
- [![Public Beta](https://img.shields.io/badge/Release_Stage-Public_Beta-orange)](https://docs.databricks.com/aws/en/release-notes/release-types)
157
+ [![Public Preview](https://img.shields.io/badge/Release_Stage-Public_Preview-yellowgreen)](https://docs.databricks.com/aws/en/release-notes/release-types)
158
158
 
159
159
  This data source can be used to fetch the list of data quality refreshes on a Unity Catalog table.
160
160
 
@@ -27,7 +27,7 @@ class GetFeatureEngineeringFeatureResult:
27
27
  """
28
28
  A collection of values returned by getFeatureEngineeringFeature.
29
29
  """
30
- def __init__(__self__, description=None, filter_condition=None, full_name=None, function=None, id=None, inputs=None, source=None, time_window=None):
30
+ def __init__(__self__, description=None, filter_condition=None, full_name=None, function=None, id=None, inputs=None, lineage_context=None, source=None, time_window=None):
31
31
  if description and not isinstance(description, str):
32
32
  raise TypeError("Expected argument 'description' to be a str")
33
33
  pulumi.set(__self__, "description", description)
@@ -46,6 +46,9 @@ class GetFeatureEngineeringFeatureResult:
46
46
  if inputs and not isinstance(inputs, list):
47
47
  raise TypeError("Expected argument 'inputs' to be a list")
48
48
  pulumi.set(__self__, "inputs", inputs)
49
+ if lineage_context and not isinstance(lineage_context, dict):
50
+ raise TypeError("Expected argument 'lineage_context' to be a dict")
51
+ pulumi.set(__self__, "lineage_context", lineage_context)
49
52
  if source and not isinstance(source, dict):
50
53
  raise TypeError("Expected argument 'source' to be a dict")
51
54
  pulumi.set(__self__, "source", source)
@@ -101,6 +104,11 @@ class GetFeatureEngineeringFeatureResult:
101
104
  """
102
105
  return pulumi.get(self, "inputs")
103
106
 
107
+ @_builtins.property
108
+ @pulumi.getter(name="lineageContext")
109
+ def lineage_context(self) -> 'outputs.GetFeatureEngineeringFeatureLineageContextResult':
110
+ return pulumi.get(self, "lineage_context")
111
+
104
112
  @_builtins.property
105
113
  @pulumi.getter
106
114
  def source(self) -> 'outputs.GetFeatureEngineeringFeatureSourceResult':
@@ -130,6 +138,7 @@ class AwaitableGetFeatureEngineeringFeatureResult(GetFeatureEngineeringFeatureRe
130
138
  function=self.function,
131
139
  id=self.id,
132
140
  inputs=self.inputs,
141
+ lineage_context=self.lineage_context,
133
142
  source=self.source,
134
143
  time_window=self.time_window)
135
144
 
@@ -154,6 +163,7 @@ def get_feature_engineering_feature(full_name: Optional[_builtins.str] = None,
154
163
  function=pulumi.get(__ret__, 'function'),
155
164
  id=pulumi.get(__ret__, 'id'),
156
165
  inputs=pulumi.get(__ret__, 'inputs'),
166
+ lineage_context=pulumi.get(__ret__, 'lineage_context'),
157
167
  source=pulumi.get(__ret__, 'source'),
158
168
  time_window=pulumi.get(__ret__, 'time_window'))
159
169
  def get_feature_engineering_feature_output(full_name: Optional[pulumi.Input[_builtins.str]] = None,
@@ -175,5 +185,6 @@ def get_feature_engineering_feature_output(full_name: Optional[pulumi.Input[_bui
175
185
  function=pulumi.get(__response__, 'function'),
176
186
  id=pulumi.get(__response__, 'id'),
177
187
  inputs=pulumi.get(__response__, 'inputs'),
188
+ lineage_context=pulumi.get(__response__, 'lineage_context'),
178
189
  source=pulumi.get(__response__, 'source'),
179
190
  time_window=pulumi.get(__response__, 'time_window')))