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
@@ -0,0 +1,463 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import builtins as _builtins
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from . import _utilities
16
+ from . import outputs
17
+ from ._inputs import *
18
+
19
+ __all__ = ['FeatureEngineeringKafkaConfigArgs', 'FeatureEngineeringKafkaConfig']
20
+
21
+ @pulumi.input_type
22
+ class FeatureEngineeringKafkaConfigArgs:
23
+ def __init__(__self__, *,
24
+ auth_config: pulumi.Input['FeatureEngineeringKafkaConfigAuthConfigArgs'],
25
+ bootstrap_servers: pulumi.Input[_builtins.str],
26
+ subscription_mode: pulumi.Input['FeatureEngineeringKafkaConfigSubscriptionModeArgs'],
27
+ extra_options: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
28
+ key_schema: Optional[pulumi.Input['FeatureEngineeringKafkaConfigKeySchemaArgs']] = None,
29
+ value_schema: Optional[pulumi.Input['FeatureEngineeringKafkaConfigValueSchemaArgs']] = None):
30
+ """
31
+ The set of arguments for constructing a FeatureEngineeringKafkaConfig resource.
32
+ :param pulumi.Input['FeatureEngineeringKafkaConfigAuthConfigArgs'] auth_config: Authentication configuration for connection to topics
33
+ :param pulumi.Input[_builtins.str] bootstrap_servers: A comma-separated list of host/port pairs pointing to Kafka cluster
34
+ :param pulumi.Input['FeatureEngineeringKafkaConfigSubscriptionModeArgs'] subscription_mode: Options to configure which Kafka topics to pull data from
35
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] extra_options: Catch-all for miscellaneous options. Keys should be source options or Kafka consumer options (kafka.*)
36
+ :param pulumi.Input['FeatureEngineeringKafkaConfigKeySchemaArgs'] key_schema: Schema configuration for extracting message keys from topics. At least one of key_schema and value_schema must be provided
37
+ :param pulumi.Input['FeatureEngineeringKafkaConfigValueSchemaArgs'] value_schema: Schema configuration for extracting message values from topics. At least one of key_schema and value_schema must be provided
38
+ """
39
+ pulumi.set(__self__, "auth_config", auth_config)
40
+ pulumi.set(__self__, "bootstrap_servers", bootstrap_servers)
41
+ pulumi.set(__self__, "subscription_mode", subscription_mode)
42
+ if extra_options is not None:
43
+ pulumi.set(__self__, "extra_options", extra_options)
44
+ if key_schema is not None:
45
+ pulumi.set(__self__, "key_schema", key_schema)
46
+ if value_schema is not None:
47
+ pulumi.set(__self__, "value_schema", value_schema)
48
+
49
+ @_builtins.property
50
+ @pulumi.getter(name="authConfig")
51
+ def auth_config(self) -> pulumi.Input['FeatureEngineeringKafkaConfigAuthConfigArgs']:
52
+ """
53
+ Authentication configuration for connection to topics
54
+ """
55
+ return pulumi.get(self, "auth_config")
56
+
57
+ @auth_config.setter
58
+ def auth_config(self, value: pulumi.Input['FeatureEngineeringKafkaConfigAuthConfigArgs']):
59
+ pulumi.set(self, "auth_config", value)
60
+
61
+ @_builtins.property
62
+ @pulumi.getter(name="bootstrapServers")
63
+ def bootstrap_servers(self) -> pulumi.Input[_builtins.str]:
64
+ """
65
+ A comma-separated list of host/port pairs pointing to Kafka cluster
66
+ """
67
+ return pulumi.get(self, "bootstrap_servers")
68
+
69
+ @bootstrap_servers.setter
70
+ def bootstrap_servers(self, value: pulumi.Input[_builtins.str]):
71
+ pulumi.set(self, "bootstrap_servers", value)
72
+
73
+ @_builtins.property
74
+ @pulumi.getter(name="subscriptionMode")
75
+ def subscription_mode(self) -> pulumi.Input['FeatureEngineeringKafkaConfigSubscriptionModeArgs']:
76
+ """
77
+ Options to configure which Kafka topics to pull data from
78
+ """
79
+ return pulumi.get(self, "subscription_mode")
80
+
81
+ @subscription_mode.setter
82
+ def subscription_mode(self, value: pulumi.Input['FeatureEngineeringKafkaConfigSubscriptionModeArgs']):
83
+ pulumi.set(self, "subscription_mode", value)
84
+
85
+ @_builtins.property
86
+ @pulumi.getter(name="extraOptions")
87
+ def extra_options(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
88
+ """
89
+ Catch-all for miscellaneous options. Keys should be source options or Kafka consumer options (kafka.*)
90
+ """
91
+ return pulumi.get(self, "extra_options")
92
+
93
+ @extra_options.setter
94
+ def extra_options(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
95
+ pulumi.set(self, "extra_options", value)
96
+
97
+ @_builtins.property
98
+ @pulumi.getter(name="keySchema")
99
+ def key_schema(self) -> Optional[pulumi.Input['FeatureEngineeringKafkaConfigKeySchemaArgs']]:
100
+ """
101
+ Schema configuration for extracting message keys from topics. At least one of key_schema and value_schema must be provided
102
+ """
103
+ return pulumi.get(self, "key_schema")
104
+
105
+ @key_schema.setter
106
+ def key_schema(self, value: Optional[pulumi.Input['FeatureEngineeringKafkaConfigKeySchemaArgs']]):
107
+ pulumi.set(self, "key_schema", value)
108
+
109
+ @_builtins.property
110
+ @pulumi.getter(name="valueSchema")
111
+ def value_schema(self) -> Optional[pulumi.Input['FeatureEngineeringKafkaConfigValueSchemaArgs']]:
112
+ """
113
+ Schema configuration for extracting message values from topics. At least one of key_schema and value_schema must be provided
114
+ """
115
+ return pulumi.get(self, "value_schema")
116
+
117
+ @value_schema.setter
118
+ def value_schema(self, value: Optional[pulumi.Input['FeatureEngineeringKafkaConfigValueSchemaArgs']]):
119
+ pulumi.set(self, "value_schema", value)
120
+
121
+
122
+ @pulumi.input_type
123
+ class _FeatureEngineeringKafkaConfigState:
124
+ def __init__(__self__, *,
125
+ auth_config: Optional[pulumi.Input['FeatureEngineeringKafkaConfigAuthConfigArgs']] = None,
126
+ bootstrap_servers: Optional[pulumi.Input[_builtins.str]] = None,
127
+ extra_options: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
128
+ key_schema: Optional[pulumi.Input['FeatureEngineeringKafkaConfigKeySchemaArgs']] = None,
129
+ name: Optional[pulumi.Input[_builtins.str]] = None,
130
+ subscription_mode: Optional[pulumi.Input['FeatureEngineeringKafkaConfigSubscriptionModeArgs']] = None,
131
+ value_schema: Optional[pulumi.Input['FeatureEngineeringKafkaConfigValueSchemaArgs']] = None):
132
+ """
133
+ Input properties used for looking up and filtering FeatureEngineeringKafkaConfig resources.
134
+ :param pulumi.Input['FeatureEngineeringKafkaConfigAuthConfigArgs'] auth_config: Authentication configuration for connection to topics
135
+ :param pulumi.Input[_builtins.str] bootstrap_servers: A comma-separated list of host/port pairs pointing to Kafka cluster
136
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] extra_options: Catch-all for miscellaneous options. Keys should be source options or Kafka consumer options (kafka.*)
137
+ :param pulumi.Input['FeatureEngineeringKafkaConfigKeySchemaArgs'] key_schema: Schema configuration for extracting message keys from topics. At least one of key_schema and value_schema must be provided
138
+ :param pulumi.Input[_builtins.str] name: (string) - Name that uniquely identifies this Kafka config within the metastore. This will be the identifier used from the Feature object to reference these configs for a feature.
139
+ Can be distinct from topic name
140
+ :param pulumi.Input['FeatureEngineeringKafkaConfigSubscriptionModeArgs'] subscription_mode: Options to configure which Kafka topics to pull data from
141
+ :param pulumi.Input['FeatureEngineeringKafkaConfigValueSchemaArgs'] value_schema: Schema configuration for extracting message values from topics. At least one of key_schema and value_schema must be provided
142
+ """
143
+ if auth_config is not None:
144
+ pulumi.set(__self__, "auth_config", auth_config)
145
+ if bootstrap_servers is not None:
146
+ pulumi.set(__self__, "bootstrap_servers", bootstrap_servers)
147
+ if extra_options is not None:
148
+ pulumi.set(__self__, "extra_options", extra_options)
149
+ if key_schema is not None:
150
+ pulumi.set(__self__, "key_schema", key_schema)
151
+ if name is not None:
152
+ pulumi.set(__self__, "name", name)
153
+ if subscription_mode is not None:
154
+ pulumi.set(__self__, "subscription_mode", subscription_mode)
155
+ if value_schema is not None:
156
+ pulumi.set(__self__, "value_schema", value_schema)
157
+
158
+ @_builtins.property
159
+ @pulumi.getter(name="authConfig")
160
+ def auth_config(self) -> Optional[pulumi.Input['FeatureEngineeringKafkaConfigAuthConfigArgs']]:
161
+ """
162
+ Authentication configuration for connection to topics
163
+ """
164
+ return pulumi.get(self, "auth_config")
165
+
166
+ @auth_config.setter
167
+ def auth_config(self, value: Optional[pulumi.Input['FeatureEngineeringKafkaConfigAuthConfigArgs']]):
168
+ pulumi.set(self, "auth_config", value)
169
+
170
+ @_builtins.property
171
+ @pulumi.getter(name="bootstrapServers")
172
+ def bootstrap_servers(self) -> Optional[pulumi.Input[_builtins.str]]:
173
+ """
174
+ A comma-separated list of host/port pairs pointing to Kafka cluster
175
+ """
176
+ return pulumi.get(self, "bootstrap_servers")
177
+
178
+ @bootstrap_servers.setter
179
+ def bootstrap_servers(self, value: Optional[pulumi.Input[_builtins.str]]):
180
+ pulumi.set(self, "bootstrap_servers", value)
181
+
182
+ @_builtins.property
183
+ @pulumi.getter(name="extraOptions")
184
+ def extra_options(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
185
+ """
186
+ Catch-all for miscellaneous options. Keys should be source options or Kafka consumer options (kafka.*)
187
+ """
188
+ return pulumi.get(self, "extra_options")
189
+
190
+ @extra_options.setter
191
+ def extra_options(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
192
+ pulumi.set(self, "extra_options", value)
193
+
194
+ @_builtins.property
195
+ @pulumi.getter(name="keySchema")
196
+ def key_schema(self) -> Optional[pulumi.Input['FeatureEngineeringKafkaConfigKeySchemaArgs']]:
197
+ """
198
+ Schema configuration for extracting message keys from topics. At least one of key_schema and value_schema must be provided
199
+ """
200
+ return pulumi.get(self, "key_schema")
201
+
202
+ @key_schema.setter
203
+ def key_schema(self, value: Optional[pulumi.Input['FeatureEngineeringKafkaConfigKeySchemaArgs']]):
204
+ pulumi.set(self, "key_schema", value)
205
+
206
+ @_builtins.property
207
+ @pulumi.getter
208
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
209
+ """
210
+ (string) - Name that uniquely identifies this Kafka config within the metastore. This will be the identifier used from the Feature object to reference these configs for a feature.
211
+ Can be distinct from topic name
212
+ """
213
+ return pulumi.get(self, "name")
214
+
215
+ @name.setter
216
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
217
+ pulumi.set(self, "name", value)
218
+
219
+ @_builtins.property
220
+ @pulumi.getter(name="subscriptionMode")
221
+ def subscription_mode(self) -> Optional[pulumi.Input['FeatureEngineeringKafkaConfigSubscriptionModeArgs']]:
222
+ """
223
+ Options to configure which Kafka topics to pull data from
224
+ """
225
+ return pulumi.get(self, "subscription_mode")
226
+
227
+ @subscription_mode.setter
228
+ def subscription_mode(self, value: Optional[pulumi.Input['FeatureEngineeringKafkaConfigSubscriptionModeArgs']]):
229
+ pulumi.set(self, "subscription_mode", value)
230
+
231
+ @_builtins.property
232
+ @pulumi.getter(name="valueSchema")
233
+ def value_schema(self) -> Optional[pulumi.Input['FeatureEngineeringKafkaConfigValueSchemaArgs']]:
234
+ """
235
+ Schema configuration for extracting message values from topics. At least one of key_schema and value_schema must be provided
236
+ """
237
+ return pulumi.get(self, "value_schema")
238
+
239
+ @value_schema.setter
240
+ def value_schema(self, value: Optional[pulumi.Input['FeatureEngineeringKafkaConfigValueSchemaArgs']]):
241
+ pulumi.set(self, "value_schema", value)
242
+
243
+
244
+ @pulumi.type_token("databricks:index/featureEngineeringKafkaConfig:FeatureEngineeringKafkaConfig")
245
+ class FeatureEngineeringKafkaConfig(pulumi.CustomResource):
246
+ @overload
247
+ def __init__(__self__,
248
+ resource_name: str,
249
+ opts: Optional[pulumi.ResourceOptions] = None,
250
+ auth_config: Optional[pulumi.Input[Union['FeatureEngineeringKafkaConfigAuthConfigArgs', 'FeatureEngineeringKafkaConfigAuthConfigArgsDict']]] = None,
251
+ bootstrap_servers: Optional[pulumi.Input[_builtins.str]] = None,
252
+ extra_options: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
253
+ key_schema: Optional[pulumi.Input[Union['FeatureEngineeringKafkaConfigKeySchemaArgs', 'FeatureEngineeringKafkaConfigKeySchemaArgsDict']]] = None,
254
+ subscription_mode: Optional[pulumi.Input[Union['FeatureEngineeringKafkaConfigSubscriptionModeArgs', 'FeatureEngineeringKafkaConfigSubscriptionModeArgsDict']]] = None,
255
+ value_schema: Optional[pulumi.Input[Union['FeatureEngineeringKafkaConfigValueSchemaArgs', 'FeatureEngineeringKafkaConfigValueSchemaArgsDict']]] = None,
256
+ __props__=None):
257
+ """
258
+ [![Private Preview](https://img.shields.io/badge/Release_Stage-Private_Preview-blueviolet)](https://docs.databricks.com/aws/en/release-notes/release-types)
259
+
260
+ ## Import
261
+
262
+ As of Pulumi v1.5, resources can be imported through configuration.
263
+
264
+ hcl
265
+
266
+ import {
267
+
268
+ id = "name"
269
+
270
+ to = databricks_feature_engineering_kafka_config.this
271
+
272
+ }
273
+
274
+ If you are using an older version of Pulumi, import the resource using the `pulumi import` command as follows:
275
+
276
+ ```sh
277
+ $ pulumi import databricks:index/featureEngineeringKafkaConfig:FeatureEngineeringKafkaConfig this "name"
278
+ ```
279
+
280
+ :param str resource_name: The name of the resource.
281
+ :param pulumi.ResourceOptions opts: Options for the resource.
282
+ :param pulumi.Input[Union['FeatureEngineeringKafkaConfigAuthConfigArgs', 'FeatureEngineeringKafkaConfigAuthConfigArgsDict']] auth_config: Authentication configuration for connection to topics
283
+ :param pulumi.Input[_builtins.str] bootstrap_servers: A comma-separated list of host/port pairs pointing to Kafka cluster
284
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] extra_options: Catch-all for miscellaneous options. Keys should be source options or Kafka consumer options (kafka.*)
285
+ :param pulumi.Input[Union['FeatureEngineeringKafkaConfigKeySchemaArgs', 'FeatureEngineeringKafkaConfigKeySchemaArgsDict']] key_schema: Schema configuration for extracting message keys from topics. At least one of key_schema and value_schema must be provided
286
+ :param pulumi.Input[Union['FeatureEngineeringKafkaConfigSubscriptionModeArgs', 'FeatureEngineeringKafkaConfigSubscriptionModeArgsDict']] subscription_mode: Options to configure which Kafka topics to pull data from
287
+ :param pulumi.Input[Union['FeatureEngineeringKafkaConfigValueSchemaArgs', 'FeatureEngineeringKafkaConfigValueSchemaArgsDict']] value_schema: Schema configuration for extracting message values from topics. At least one of key_schema and value_schema must be provided
288
+ """
289
+ ...
290
+ @overload
291
+ def __init__(__self__,
292
+ resource_name: str,
293
+ args: FeatureEngineeringKafkaConfigArgs,
294
+ opts: Optional[pulumi.ResourceOptions] = None):
295
+ """
296
+ [![Private Preview](https://img.shields.io/badge/Release_Stage-Private_Preview-blueviolet)](https://docs.databricks.com/aws/en/release-notes/release-types)
297
+
298
+ ## Import
299
+
300
+ As of Pulumi v1.5, resources can be imported through configuration.
301
+
302
+ hcl
303
+
304
+ import {
305
+
306
+ id = "name"
307
+
308
+ to = databricks_feature_engineering_kafka_config.this
309
+
310
+ }
311
+
312
+ If you are using an older version of Pulumi, import the resource using the `pulumi import` command as follows:
313
+
314
+ ```sh
315
+ $ pulumi import databricks:index/featureEngineeringKafkaConfig:FeatureEngineeringKafkaConfig this "name"
316
+ ```
317
+
318
+ :param str resource_name: The name of the resource.
319
+ :param FeatureEngineeringKafkaConfigArgs args: The arguments to use to populate this resource's properties.
320
+ :param pulumi.ResourceOptions opts: Options for the resource.
321
+ """
322
+ ...
323
+ def __init__(__self__, resource_name: str, *args, **kwargs):
324
+ resource_args, opts = _utilities.get_resource_args_opts(FeatureEngineeringKafkaConfigArgs, pulumi.ResourceOptions, *args, **kwargs)
325
+ if resource_args is not None:
326
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
327
+ else:
328
+ __self__._internal_init(resource_name, *args, **kwargs)
329
+
330
+ def _internal_init(__self__,
331
+ resource_name: str,
332
+ opts: Optional[pulumi.ResourceOptions] = None,
333
+ auth_config: Optional[pulumi.Input[Union['FeatureEngineeringKafkaConfigAuthConfigArgs', 'FeatureEngineeringKafkaConfigAuthConfigArgsDict']]] = None,
334
+ bootstrap_servers: Optional[pulumi.Input[_builtins.str]] = None,
335
+ extra_options: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
336
+ key_schema: Optional[pulumi.Input[Union['FeatureEngineeringKafkaConfigKeySchemaArgs', 'FeatureEngineeringKafkaConfigKeySchemaArgsDict']]] = None,
337
+ subscription_mode: Optional[pulumi.Input[Union['FeatureEngineeringKafkaConfigSubscriptionModeArgs', 'FeatureEngineeringKafkaConfigSubscriptionModeArgsDict']]] = None,
338
+ value_schema: Optional[pulumi.Input[Union['FeatureEngineeringKafkaConfigValueSchemaArgs', 'FeatureEngineeringKafkaConfigValueSchemaArgsDict']]] = None,
339
+ __props__=None):
340
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
341
+ if not isinstance(opts, pulumi.ResourceOptions):
342
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
343
+ if opts.id is None:
344
+ if __props__ is not None:
345
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
346
+ __props__ = FeatureEngineeringKafkaConfigArgs.__new__(FeatureEngineeringKafkaConfigArgs)
347
+
348
+ if auth_config is None and not opts.urn:
349
+ raise TypeError("Missing required property 'auth_config'")
350
+ __props__.__dict__["auth_config"] = auth_config
351
+ if bootstrap_servers is None and not opts.urn:
352
+ raise TypeError("Missing required property 'bootstrap_servers'")
353
+ __props__.__dict__["bootstrap_servers"] = bootstrap_servers
354
+ __props__.__dict__["extra_options"] = extra_options
355
+ __props__.__dict__["key_schema"] = key_schema
356
+ if subscription_mode is None and not opts.urn:
357
+ raise TypeError("Missing required property 'subscription_mode'")
358
+ __props__.__dict__["subscription_mode"] = subscription_mode
359
+ __props__.__dict__["value_schema"] = value_schema
360
+ __props__.__dict__["name"] = None
361
+ super(FeatureEngineeringKafkaConfig, __self__).__init__(
362
+ 'databricks:index/featureEngineeringKafkaConfig:FeatureEngineeringKafkaConfig',
363
+ resource_name,
364
+ __props__,
365
+ opts)
366
+
367
+ @staticmethod
368
+ def get(resource_name: str,
369
+ id: pulumi.Input[str],
370
+ opts: Optional[pulumi.ResourceOptions] = None,
371
+ auth_config: Optional[pulumi.Input[Union['FeatureEngineeringKafkaConfigAuthConfigArgs', 'FeatureEngineeringKafkaConfigAuthConfigArgsDict']]] = None,
372
+ bootstrap_servers: Optional[pulumi.Input[_builtins.str]] = None,
373
+ extra_options: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
374
+ key_schema: Optional[pulumi.Input[Union['FeatureEngineeringKafkaConfigKeySchemaArgs', 'FeatureEngineeringKafkaConfigKeySchemaArgsDict']]] = None,
375
+ name: Optional[pulumi.Input[_builtins.str]] = None,
376
+ subscription_mode: Optional[pulumi.Input[Union['FeatureEngineeringKafkaConfigSubscriptionModeArgs', 'FeatureEngineeringKafkaConfigSubscriptionModeArgsDict']]] = None,
377
+ value_schema: Optional[pulumi.Input[Union['FeatureEngineeringKafkaConfigValueSchemaArgs', 'FeatureEngineeringKafkaConfigValueSchemaArgsDict']]] = None) -> 'FeatureEngineeringKafkaConfig':
378
+ """
379
+ Get an existing FeatureEngineeringKafkaConfig resource's state with the given name, id, and optional extra
380
+ properties used to qualify the lookup.
381
+
382
+ :param str resource_name: The unique name of the resulting resource.
383
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
384
+ :param pulumi.ResourceOptions opts: Options for the resource.
385
+ :param pulumi.Input[Union['FeatureEngineeringKafkaConfigAuthConfigArgs', 'FeatureEngineeringKafkaConfigAuthConfigArgsDict']] auth_config: Authentication configuration for connection to topics
386
+ :param pulumi.Input[_builtins.str] bootstrap_servers: A comma-separated list of host/port pairs pointing to Kafka cluster
387
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] extra_options: Catch-all for miscellaneous options. Keys should be source options or Kafka consumer options (kafka.*)
388
+ :param pulumi.Input[Union['FeatureEngineeringKafkaConfigKeySchemaArgs', 'FeatureEngineeringKafkaConfigKeySchemaArgsDict']] key_schema: Schema configuration for extracting message keys from topics. At least one of key_schema and value_schema must be provided
389
+ :param pulumi.Input[_builtins.str] name: (string) - Name that uniquely identifies this Kafka config within the metastore. This will be the identifier used from the Feature object to reference these configs for a feature.
390
+ Can be distinct from topic name
391
+ :param pulumi.Input[Union['FeatureEngineeringKafkaConfigSubscriptionModeArgs', 'FeatureEngineeringKafkaConfigSubscriptionModeArgsDict']] subscription_mode: Options to configure which Kafka topics to pull data from
392
+ :param pulumi.Input[Union['FeatureEngineeringKafkaConfigValueSchemaArgs', 'FeatureEngineeringKafkaConfigValueSchemaArgsDict']] value_schema: Schema configuration for extracting message values from topics. At least one of key_schema and value_schema must be provided
393
+ """
394
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
395
+
396
+ __props__ = _FeatureEngineeringKafkaConfigState.__new__(_FeatureEngineeringKafkaConfigState)
397
+
398
+ __props__.__dict__["auth_config"] = auth_config
399
+ __props__.__dict__["bootstrap_servers"] = bootstrap_servers
400
+ __props__.__dict__["extra_options"] = extra_options
401
+ __props__.__dict__["key_schema"] = key_schema
402
+ __props__.__dict__["name"] = name
403
+ __props__.__dict__["subscription_mode"] = subscription_mode
404
+ __props__.__dict__["value_schema"] = value_schema
405
+ return FeatureEngineeringKafkaConfig(resource_name, opts=opts, __props__=__props__)
406
+
407
+ @_builtins.property
408
+ @pulumi.getter(name="authConfig")
409
+ def auth_config(self) -> pulumi.Output['outputs.FeatureEngineeringKafkaConfigAuthConfig']:
410
+ """
411
+ Authentication configuration for connection to topics
412
+ """
413
+ return pulumi.get(self, "auth_config")
414
+
415
+ @_builtins.property
416
+ @pulumi.getter(name="bootstrapServers")
417
+ def bootstrap_servers(self) -> pulumi.Output[_builtins.str]:
418
+ """
419
+ A comma-separated list of host/port pairs pointing to Kafka cluster
420
+ """
421
+ return pulumi.get(self, "bootstrap_servers")
422
+
423
+ @_builtins.property
424
+ @pulumi.getter(name="extraOptions")
425
+ def extra_options(self) -> pulumi.Output[Optional[Mapping[str, _builtins.str]]]:
426
+ """
427
+ Catch-all for miscellaneous options. Keys should be source options or Kafka consumer options (kafka.*)
428
+ """
429
+ return pulumi.get(self, "extra_options")
430
+
431
+ @_builtins.property
432
+ @pulumi.getter(name="keySchema")
433
+ def key_schema(self) -> pulumi.Output[Optional['outputs.FeatureEngineeringKafkaConfigKeySchema']]:
434
+ """
435
+ Schema configuration for extracting message keys from topics. At least one of key_schema and value_schema must be provided
436
+ """
437
+ return pulumi.get(self, "key_schema")
438
+
439
+ @_builtins.property
440
+ @pulumi.getter
441
+ def name(self) -> pulumi.Output[_builtins.str]:
442
+ """
443
+ (string) - Name that uniquely identifies this Kafka config within the metastore. This will be the identifier used from the Feature object to reference these configs for a feature.
444
+ Can be distinct from topic name
445
+ """
446
+ return pulumi.get(self, "name")
447
+
448
+ @_builtins.property
449
+ @pulumi.getter(name="subscriptionMode")
450
+ def subscription_mode(self) -> pulumi.Output['outputs.FeatureEngineeringKafkaConfigSubscriptionMode']:
451
+ """
452
+ Options to configure which Kafka topics to pull data from
453
+ """
454
+ return pulumi.get(self, "subscription_mode")
455
+
456
+ @_builtins.property
457
+ @pulumi.getter(name="valueSchema")
458
+ def value_schema(self) -> pulumi.Output[Optional['outputs.FeatureEngineeringKafkaConfigValueSchema']]:
459
+ """
460
+ Schema configuration for extracting message values from topics. At least one of key_schema and value_schema must be provided
461
+ """
462
+ return pulumi.get(self, "value_schema")
463
+
@@ -22,15 +22,19 @@ __all__ = ['FeatureEngineeringMaterializedFeatureArgs', 'FeatureEngineeringMater
22
22
  class FeatureEngineeringMaterializedFeatureArgs:
23
23
  def __init__(__self__, *,
24
24
  feature_name: pulumi.Input[_builtins.str],
25
+ cron_schedule: Optional[pulumi.Input[_builtins.str]] = None,
25
26
  offline_store_config: Optional[pulumi.Input['FeatureEngineeringMaterializedFeatureOfflineStoreConfigArgs']] = None,
26
27
  online_store_config: Optional[pulumi.Input['FeatureEngineeringMaterializedFeatureOnlineStoreConfigArgs']] = None,
27
28
  pipeline_schedule_state: Optional[pulumi.Input[_builtins.str]] = None):
28
29
  """
29
30
  The set of arguments for constructing a FeatureEngineeringMaterializedFeature resource.
30
31
  :param pulumi.Input[_builtins.str] feature_name: The full name of the feature in Unity Catalog
32
+ :param pulumi.Input[_builtins.str] cron_schedule: The quartz cron expression that defines the schedule of the materialization pipeline. The schedule is evaluated in the UTC timezone
31
33
  :param pulumi.Input[_builtins.str] pipeline_schedule_state: The schedule state of the materialization pipeline. Possible values are: `ACTIVE`, `PAUSED`, `SNAPSHOT`
32
34
  """
33
35
  pulumi.set(__self__, "feature_name", feature_name)
36
+ if cron_schedule is not None:
37
+ pulumi.set(__self__, "cron_schedule", cron_schedule)
34
38
  if offline_store_config is not None:
35
39
  pulumi.set(__self__, "offline_store_config", offline_store_config)
36
40
  if online_store_config is not None:
@@ -50,6 +54,18 @@ class FeatureEngineeringMaterializedFeatureArgs:
50
54
  def feature_name(self, value: pulumi.Input[_builtins.str]):
51
55
  pulumi.set(self, "feature_name", value)
52
56
 
57
+ @_builtins.property
58
+ @pulumi.getter(name="cronSchedule")
59
+ def cron_schedule(self) -> Optional[pulumi.Input[_builtins.str]]:
60
+ """
61
+ The quartz cron expression that defines the schedule of the materialization pipeline. The schedule is evaluated in the UTC timezone
62
+ """
63
+ return pulumi.get(self, "cron_schedule")
64
+
65
+ @cron_schedule.setter
66
+ def cron_schedule(self, value: Optional[pulumi.Input[_builtins.str]]):
67
+ pulumi.set(self, "cron_schedule", value)
68
+
53
69
  @_builtins.property
54
70
  @pulumi.getter(name="offlineStoreConfig")
55
71
  def offline_store_config(self) -> Optional[pulumi.Input['FeatureEngineeringMaterializedFeatureOfflineStoreConfigArgs']]:
@@ -84,6 +100,7 @@ class FeatureEngineeringMaterializedFeatureArgs:
84
100
  @pulumi.input_type
85
101
  class _FeatureEngineeringMaterializedFeatureState:
86
102
  def __init__(__self__, *,
103
+ cron_schedule: Optional[pulumi.Input[_builtins.str]] = None,
87
104
  feature_name: Optional[pulumi.Input[_builtins.str]] = None,
88
105
  last_materialization_time: Optional[pulumi.Input[_builtins.str]] = None,
89
106
  materialized_feature_id: Optional[pulumi.Input[_builtins.str]] = None,
@@ -93,6 +110,7 @@ class _FeatureEngineeringMaterializedFeatureState:
93
110
  table_name: Optional[pulumi.Input[_builtins.str]] = None):
94
111
  """
95
112
  Input properties used for looking up and filtering FeatureEngineeringMaterializedFeature resources.
113
+ :param pulumi.Input[_builtins.str] cron_schedule: The quartz cron expression that defines the schedule of the materialization pipeline. The schedule is evaluated in the UTC timezone
96
114
  :param pulumi.Input[_builtins.str] feature_name: The full name of the feature in Unity Catalog
97
115
  :param pulumi.Input[_builtins.str] last_materialization_time: (string) - The timestamp when the pipeline last ran and updated the materialized feature values.
98
116
  If the pipeline has not run yet, this field will be null
@@ -100,6 +118,8 @@ class _FeatureEngineeringMaterializedFeatureState:
100
118
  :param pulumi.Input[_builtins.str] pipeline_schedule_state: The schedule state of the materialization pipeline. Possible values are: `ACTIVE`, `PAUSED`, `SNAPSHOT`
101
119
  :param pulumi.Input[_builtins.str] table_name: (string) - The fully qualified Unity Catalog path to the table containing the materialized feature (Delta table or Lakebase table). Output only
102
120
  """
121
+ if cron_schedule is not None:
122
+ pulumi.set(__self__, "cron_schedule", cron_schedule)
103
123
  if feature_name is not None:
104
124
  pulumi.set(__self__, "feature_name", feature_name)
105
125
  if last_materialization_time is not None:
@@ -115,6 +135,18 @@ class _FeatureEngineeringMaterializedFeatureState:
115
135
  if table_name is not None:
116
136
  pulumi.set(__self__, "table_name", table_name)
117
137
 
138
+ @_builtins.property
139
+ @pulumi.getter(name="cronSchedule")
140
+ def cron_schedule(self) -> Optional[pulumi.Input[_builtins.str]]:
141
+ """
142
+ The quartz cron expression that defines the schedule of the materialization pipeline. The schedule is evaluated in the UTC timezone
143
+ """
144
+ return pulumi.get(self, "cron_schedule")
145
+
146
+ @cron_schedule.setter
147
+ def cron_schedule(self, value: Optional[pulumi.Input[_builtins.str]]):
148
+ pulumi.set(self, "cron_schedule", value)
149
+
118
150
  @_builtins.property
119
151
  @pulumi.getter(name="featureName")
120
152
  def feature_name(self) -> Optional[pulumi.Input[_builtins.str]]:
@@ -201,6 +233,7 @@ class FeatureEngineeringMaterializedFeature(pulumi.CustomResource):
201
233
  def __init__(__self__,
202
234
  resource_name: str,
203
235
  opts: Optional[pulumi.ResourceOptions] = None,
236
+ cron_schedule: Optional[pulumi.Input[_builtins.str]] = None,
204
237
  feature_name: Optional[pulumi.Input[_builtins.str]] = None,
205
238
  offline_store_config: Optional[pulumi.Input[Union['FeatureEngineeringMaterializedFeatureOfflineStoreConfigArgs', 'FeatureEngineeringMaterializedFeatureOfflineStoreConfigArgsDict']]] = None,
206
239
  online_store_config: Optional[pulumi.Input[Union['FeatureEngineeringMaterializedFeatureOnlineStoreConfigArgs', 'FeatureEngineeringMaterializedFeatureOnlineStoreConfigArgsDict']]] = None,
@@ -231,6 +264,7 @@ class FeatureEngineeringMaterializedFeature(pulumi.CustomResource):
231
264
 
232
265
  :param str resource_name: The name of the resource.
233
266
  :param pulumi.ResourceOptions opts: Options for the resource.
267
+ :param pulumi.Input[_builtins.str] cron_schedule: The quartz cron expression that defines the schedule of the materialization pipeline. The schedule is evaluated in the UTC timezone
234
268
  :param pulumi.Input[_builtins.str] feature_name: The full name of the feature in Unity Catalog
235
269
  :param pulumi.Input[_builtins.str] pipeline_schedule_state: The schedule state of the materialization pipeline. Possible values are: `ACTIVE`, `PAUSED`, `SNAPSHOT`
236
270
  """
@@ -278,6 +312,7 @@ class FeatureEngineeringMaterializedFeature(pulumi.CustomResource):
278
312
  def _internal_init(__self__,
279
313
  resource_name: str,
280
314
  opts: Optional[pulumi.ResourceOptions] = None,
315
+ cron_schedule: Optional[pulumi.Input[_builtins.str]] = None,
281
316
  feature_name: Optional[pulumi.Input[_builtins.str]] = None,
282
317
  offline_store_config: Optional[pulumi.Input[Union['FeatureEngineeringMaterializedFeatureOfflineStoreConfigArgs', 'FeatureEngineeringMaterializedFeatureOfflineStoreConfigArgsDict']]] = None,
283
318
  online_store_config: Optional[pulumi.Input[Union['FeatureEngineeringMaterializedFeatureOnlineStoreConfigArgs', 'FeatureEngineeringMaterializedFeatureOnlineStoreConfigArgsDict']]] = None,
@@ -291,6 +326,7 @@ class FeatureEngineeringMaterializedFeature(pulumi.CustomResource):
291
326
  raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
292
327
  __props__ = FeatureEngineeringMaterializedFeatureArgs.__new__(FeatureEngineeringMaterializedFeatureArgs)
293
328
 
329
+ __props__.__dict__["cron_schedule"] = cron_schedule
294
330
  if feature_name is None and not opts.urn:
295
331
  raise TypeError("Missing required property 'feature_name'")
296
332
  __props__.__dict__["feature_name"] = feature_name
@@ -310,6 +346,7 @@ class FeatureEngineeringMaterializedFeature(pulumi.CustomResource):
310
346
  def get(resource_name: str,
311
347
  id: pulumi.Input[str],
312
348
  opts: Optional[pulumi.ResourceOptions] = None,
349
+ cron_schedule: Optional[pulumi.Input[_builtins.str]] = None,
313
350
  feature_name: Optional[pulumi.Input[_builtins.str]] = None,
314
351
  last_materialization_time: Optional[pulumi.Input[_builtins.str]] = None,
315
352
  materialized_feature_id: Optional[pulumi.Input[_builtins.str]] = None,
@@ -324,6 +361,7 @@ class FeatureEngineeringMaterializedFeature(pulumi.CustomResource):
324
361
  :param str resource_name: The unique name of the resulting resource.
325
362
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
326
363
  :param pulumi.ResourceOptions opts: Options for the resource.
364
+ :param pulumi.Input[_builtins.str] cron_schedule: The quartz cron expression that defines the schedule of the materialization pipeline. The schedule is evaluated in the UTC timezone
327
365
  :param pulumi.Input[_builtins.str] feature_name: The full name of the feature in Unity Catalog
328
366
  :param pulumi.Input[_builtins.str] last_materialization_time: (string) - The timestamp when the pipeline last ran and updated the materialized feature values.
329
367
  If the pipeline has not run yet, this field will be null
@@ -335,6 +373,7 @@ class FeatureEngineeringMaterializedFeature(pulumi.CustomResource):
335
373
 
336
374
  __props__ = _FeatureEngineeringMaterializedFeatureState.__new__(_FeatureEngineeringMaterializedFeatureState)
337
375
 
376
+ __props__.__dict__["cron_schedule"] = cron_schedule
338
377
  __props__.__dict__["feature_name"] = feature_name
339
378
  __props__.__dict__["last_materialization_time"] = last_materialization_time
340
379
  __props__.__dict__["materialized_feature_id"] = materialized_feature_id
@@ -344,6 +383,14 @@ class FeatureEngineeringMaterializedFeature(pulumi.CustomResource):
344
383
  __props__.__dict__["table_name"] = table_name
345
384
  return FeatureEngineeringMaterializedFeature(resource_name, opts=opts, __props__=__props__)
346
385
 
386
+ @_builtins.property
387
+ @pulumi.getter(name="cronSchedule")
388
+ def cron_schedule(self) -> pulumi.Output[Optional[_builtins.str]]:
389
+ """
390
+ The quartz cron expression that defines the schedule of the materialization pipeline. The schedule is evaluated in the UTC timezone
391
+ """
392
+ return pulumi.get(self, "cron_schedule")
393
+
347
394
  @_builtins.property
348
395
  @pulumi.getter(name="featureName")
349
396
  def feature_name(self) -> pulumi.Output[_builtins.str]:
pulumi_databricks/file.py CHANGED
@@ -270,7 +270,7 @@ class File(pulumi.CustomResource):
270
270
 
271
271
  init_script = databricks.File("init_script",
272
272
  content_base64=std.base64encode(input=\"\"\"#!/bin/bash
273
- echo "Hello World"
273
+ echo \\"Hello World\\"
274
274
  \"\"\").result,
275
275
  path=f"{this['volumePath']}/fileName")
276
276
  ```
@@ -368,7 +368,7 @@ class File(pulumi.CustomResource):
368
368
 
369
369
  init_script = databricks.File("init_script",
370
370
  content_base64=std.base64encode(input=\"\"\"#!/bin/bash
371
- echo "Hello World"
371
+ echo \\"Hello World\\"
372
372
  \"\"\").result,
373
373
  path=f"{this['volumePath']}/fileName")
374
374
  ```