databricks-sdk 0.32.2__py3-none-any.whl → 0.33.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.

Potentially problematic release.


This version of databricks-sdk might be problematic. Click here for more details.

@@ -25,6 +25,9 @@ class CreatePipeline:
25
25
  allow_duplicate_names: Optional[bool] = None
26
26
  """If false, deployment will fail if name conflicts with that of another pipeline."""
27
27
 
28
+ budget_policy_id: Optional[str] = None
29
+ """Budget policy of this pipeline."""
30
+
28
31
  catalog: Optional[str] = None
29
32
  """A catalog in Unity Catalog to publish data from this pipeline to. If `target` is specified,
30
33
  tables in this pipeline are published to a `target` schema inside `catalog` (for example,
@@ -79,6 +82,10 @@ class CreatePipeline:
79
82
  photon: Optional[bool] = None
80
83
  """Whether Photon is enabled for this pipeline."""
81
84
 
85
+ schema: Optional[str] = None
86
+ """The default schema (database) where tables are read from or published to. The presence of this
87
+ field implies that the pipeline is in direct publishing mode."""
88
+
82
89
  serverless: Optional[bool] = None
83
90
  """Whether serverless compute is enabled for this pipeline."""
84
91
 
@@ -97,6 +104,7 @@ class CreatePipeline:
97
104
  """Serializes the CreatePipeline into a dictionary suitable for use as a JSON request body."""
98
105
  body = {}
99
106
  if self.allow_duplicate_names is not None: body['allow_duplicate_names'] = self.allow_duplicate_names
107
+ if self.budget_policy_id is not None: body['budget_policy_id'] = self.budget_policy_id
100
108
  if self.catalog is not None: body['catalog'] = self.catalog
101
109
  if self.channel is not None: body['channel'] = self.channel
102
110
  if self.clusters: body['clusters'] = [v.as_dict() for v in self.clusters]
@@ -114,6 +122,7 @@ class CreatePipeline:
114
122
  if self.name is not None: body['name'] = self.name
115
123
  if self.notifications: body['notifications'] = [v.as_dict() for v in self.notifications]
116
124
  if self.photon is not None: body['photon'] = self.photon
125
+ if self.schema is not None: body['schema'] = self.schema
117
126
  if self.serverless is not None: body['serverless'] = self.serverless
118
127
  if self.storage is not None: body['storage'] = self.storage
119
128
  if self.target is not None: body['target'] = self.target
@@ -124,6 +133,7 @@ class CreatePipeline:
124
133
  def from_dict(cls, d: Dict[str, any]) -> CreatePipeline:
125
134
  """Deserializes the CreatePipeline from a dictionary."""
126
135
  return cls(allow_duplicate_names=d.get('allow_duplicate_names', None),
136
+ budget_policy_id=d.get('budget_policy_id', None),
127
137
  catalog=d.get('catalog', None),
128
138
  channel=d.get('channel', None),
129
139
  clusters=_repeated_dict(d, 'clusters', PipelineCluster),
@@ -141,6 +151,7 @@ class CreatePipeline:
141
151
  name=d.get('name', None),
142
152
  notifications=_repeated_dict(d, 'notifications', Notifications),
143
153
  photon=d.get('photon', None),
154
+ schema=d.get('schema', None),
144
155
  serverless=d.get('serverless', None),
145
156
  storage=d.get('storage', None),
146
157
  target=d.get('target', None),
@@ -236,6 +247,9 @@ class EditPipeline:
236
247
  allow_duplicate_names: Optional[bool] = None
237
248
  """If false, deployment will fail if name has changed and conflicts the name of another pipeline."""
238
249
 
250
+ budget_policy_id: Optional[str] = None
251
+ """Budget policy of this pipeline."""
252
+
239
253
  catalog: Optional[str] = None
240
254
  """A catalog in Unity Catalog to publish data from this pipeline to. If `target` is specified,
241
255
  tables in this pipeline are published to a `target` schema inside `catalog` (for example,
@@ -295,6 +309,10 @@ class EditPipeline:
295
309
  pipeline_id: Optional[str] = None
296
310
  """Unique identifier for this pipeline."""
297
311
 
312
+ schema: Optional[str] = None
313
+ """The default schema (database) where tables are read from or published to. The presence of this
314
+ field implies that the pipeline is in direct publishing mode."""
315
+
298
316
  serverless: Optional[bool] = None
299
317
  """Whether serverless compute is enabled for this pipeline."""
300
318
 
@@ -313,6 +331,7 @@ class EditPipeline:
313
331
  """Serializes the EditPipeline into a dictionary suitable for use as a JSON request body."""
314
332
  body = {}
315
333
  if self.allow_duplicate_names is not None: body['allow_duplicate_names'] = self.allow_duplicate_names
334
+ if self.budget_policy_id is not None: body['budget_policy_id'] = self.budget_policy_id
316
335
  if self.catalog is not None: body['catalog'] = self.catalog
317
336
  if self.channel is not None: body['channel'] = self.channel
318
337
  if self.clusters: body['clusters'] = [v.as_dict() for v in self.clusters]
@@ -332,6 +351,7 @@ class EditPipeline:
332
351
  if self.notifications: body['notifications'] = [v.as_dict() for v in self.notifications]
333
352
  if self.photon is not None: body['photon'] = self.photon
334
353
  if self.pipeline_id is not None: body['pipeline_id'] = self.pipeline_id
354
+ if self.schema is not None: body['schema'] = self.schema
335
355
  if self.serverless is not None: body['serverless'] = self.serverless
336
356
  if self.storage is not None: body['storage'] = self.storage
337
357
  if self.target is not None: body['target'] = self.target
@@ -342,6 +362,7 @@ class EditPipeline:
342
362
  def from_dict(cls, d: Dict[str, any]) -> EditPipeline:
343
363
  """Deserializes the EditPipeline from a dictionary."""
344
364
  return cls(allow_duplicate_names=d.get('allow_duplicate_names', None),
365
+ budget_policy_id=d.get('budget_policy_id', None),
345
366
  catalog=d.get('catalog', None),
346
367
  channel=d.get('channel', None),
347
368
  clusters=_repeated_dict(d, 'clusters', PipelineCluster),
@@ -360,6 +381,7 @@ class EditPipeline:
360
381
  notifications=_repeated_dict(d, 'notifications', Notifications),
361
382
  photon=d.get('photon', None),
362
383
  pipeline_id=d.get('pipeline_id', None),
384
+ schema=d.get('schema', None),
363
385
  serverless=d.get('serverless', None),
364
386
  storage=d.get('storage', None),
365
387
  target=d.get('target', None),
@@ -477,6 +499,9 @@ class GetPipelineResponse:
477
499
  creator_user_name: Optional[str] = None
478
500
  """The username of the pipeline creator."""
479
501
 
502
+ effective_budget_policy_id: Optional[str] = None
503
+ """Serverless budget policy ID of this pipeline."""
504
+
480
505
  health: Optional[GetPipelineResponseHealth] = None
481
506
  """The health of a pipeline."""
482
507
 
@@ -507,6 +532,8 @@ class GetPipelineResponse:
507
532
  if self.cause is not None: body['cause'] = self.cause
508
533
  if self.cluster_id is not None: body['cluster_id'] = self.cluster_id
509
534
  if self.creator_user_name is not None: body['creator_user_name'] = self.creator_user_name
535
+ if self.effective_budget_policy_id is not None:
536
+ body['effective_budget_policy_id'] = self.effective_budget_policy_id
510
537
  if self.health is not None: body['health'] = self.health.value
511
538
  if self.last_modified is not None: body['last_modified'] = self.last_modified
512
539
  if self.latest_updates: body['latest_updates'] = [v.as_dict() for v in self.latest_updates]
@@ -523,6 +550,7 @@ class GetPipelineResponse:
523
550
  return cls(cause=d.get('cause', None),
524
551
  cluster_id=d.get('cluster_id', None),
525
552
  creator_user_name=d.get('creator_user_name', None),
553
+ effective_budget_policy_id=d.get('effective_budget_policy_id', None),
526
554
  health=_enum(d, 'health', GetPipelineResponseHealth),
527
555
  last_modified=d.get('last_modified', None),
528
556
  latest_updates=_repeated_dict(d, 'latest_updates', UpdateStateInfo),
@@ -1376,6 +1404,9 @@ class PipelinePermissionsRequest:
1376
1404
 
1377
1405
  @dataclass
1378
1406
  class PipelineSpec:
1407
+ budget_policy_id: Optional[str] = None
1408
+ """Budget policy of this pipeline."""
1409
+
1379
1410
  catalog: Optional[str] = None
1380
1411
  """A catalog in Unity Catalog to publish data from this pipeline to. If `target` is specified,
1381
1412
  tables in this pipeline are published to a `target` schema inside `catalog` (for example,
@@ -1428,6 +1459,10 @@ class PipelineSpec:
1428
1459
  photon: Optional[bool] = None
1429
1460
  """Whether Photon is enabled for this pipeline."""
1430
1461
 
1462
+ schema: Optional[str] = None
1463
+ """The default schema (database) where tables are read from or published to. The presence of this
1464
+ field implies that the pipeline is in direct publishing mode."""
1465
+
1431
1466
  serverless: Optional[bool] = None
1432
1467
  """Whether serverless compute is enabled for this pipeline."""
1433
1468
 
@@ -1445,6 +1480,7 @@ class PipelineSpec:
1445
1480
  def as_dict(self) -> dict:
1446
1481
  """Serializes the PipelineSpec into a dictionary suitable for use as a JSON request body."""
1447
1482
  body = {}
1483
+ if self.budget_policy_id is not None: body['budget_policy_id'] = self.budget_policy_id
1448
1484
  if self.catalog is not None: body['catalog'] = self.catalog
1449
1485
  if self.channel is not None: body['channel'] = self.channel
1450
1486
  if self.clusters: body['clusters'] = [v.as_dict() for v in self.clusters]
@@ -1461,6 +1497,7 @@ class PipelineSpec:
1461
1497
  if self.name is not None: body['name'] = self.name
1462
1498
  if self.notifications: body['notifications'] = [v.as_dict() for v in self.notifications]
1463
1499
  if self.photon is not None: body['photon'] = self.photon
1500
+ if self.schema is not None: body['schema'] = self.schema
1464
1501
  if self.serverless is not None: body['serverless'] = self.serverless
1465
1502
  if self.storage is not None: body['storage'] = self.storage
1466
1503
  if self.target is not None: body['target'] = self.target
@@ -1470,7 +1507,8 @@ class PipelineSpec:
1470
1507
  @classmethod
1471
1508
  def from_dict(cls, d: Dict[str, any]) -> PipelineSpec:
1472
1509
  """Deserializes the PipelineSpec from a dictionary."""
1473
- return cls(catalog=d.get('catalog', None),
1510
+ return cls(budget_policy_id=d.get('budget_policy_id', None),
1511
+ catalog=d.get('catalog', None),
1474
1512
  channel=d.get('channel', None),
1475
1513
  clusters=_repeated_dict(d, 'clusters', PipelineCluster),
1476
1514
  configuration=d.get('configuration', None),
@@ -1486,6 +1524,7 @@ class PipelineSpec:
1486
1524
  name=d.get('name', None),
1487
1525
  notifications=_repeated_dict(d, 'notifications', Notifications),
1488
1526
  photon=d.get('photon', None),
1527
+ schema=d.get('schema', None),
1489
1528
  serverless=d.get('serverless', None),
1490
1529
  storage=d.get('storage', None),
1491
1530
  target=d.get('target', None),
@@ -2098,6 +2137,7 @@ class PipelinesAPI:
2098
2137
  def create(self,
2099
2138
  *,
2100
2139
  allow_duplicate_names: Optional[bool] = None,
2140
+ budget_policy_id: Optional[str] = None,
2101
2141
  catalog: Optional[str] = None,
2102
2142
  channel: Optional[str] = None,
2103
2143
  clusters: Optional[List[PipelineCluster]] = None,
@@ -2115,6 +2155,7 @@ class PipelinesAPI:
2115
2155
  name: Optional[str] = None,
2116
2156
  notifications: Optional[List[Notifications]] = None,
2117
2157
  photon: Optional[bool] = None,
2158
+ schema: Optional[str] = None,
2118
2159
  serverless: Optional[bool] = None,
2119
2160
  storage: Optional[str] = None,
2120
2161
  target: Optional[str] = None,
@@ -2126,6 +2167,8 @@ class PipelinesAPI:
2126
2167
 
2127
2168
  :param allow_duplicate_names: bool (optional)
2128
2169
  If false, deployment will fail if name conflicts with that of another pipeline.
2170
+ :param budget_policy_id: str (optional)
2171
+ Budget policy of this pipeline.
2129
2172
  :param catalog: str (optional)
2130
2173
  A catalog in Unity Catalog to publish data from this pipeline to. If `target` is specified, tables
2131
2174
  in this pipeline are published to a `target` schema inside `catalog` (for example,
@@ -2162,6 +2205,9 @@ class PipelinesAPI:
2162
2205
  List of notification settings for this pipeline.
2163
2206
  :param photon: bool (optional)
2164
2207
  Whether Photon is enabled for this pipeline.
2208
+ :param schema: str (optional)
2209
+ The default schema (database) where tables are read from or published to. The presence of this field
2210
+ implies that the pipeline is in direct publishing mode.
2165
2211
  :param serverless: bool (optional)
2166
2212
  Whether serverless compute is enabled for this pipeline.
2167
2213
  :param storage: str (optional)
@@ -2176,6 +2222,7 @@ class PipelinesAPI:
2176
2222
  """
2177
2223
  body = {}
2178
2224
  if allow_duplicate_names is not None: body['allow_duplicate_names'] = allow_duplicate_names
2225
+ if budget_policy_id is not None: body['budget_policy_id'] = budget_policy_id
2179
2226
  if catalog is not None: body['catalog'] = catalog
2180
2227
  if channel is not None: body['channel'] = channel
2181
2228
  if clusters is not None: body['clusters'] = [v.as_dict() for v in clusters]
@@ -2193,6 +2240,7 @@ class PipelinesAPI:
2193
2240
  if name is not None: body['name'] = name
2194
2241
  if notifications is not None: body['notifications'] = [v.as_dict() for v in notifications]
2195
2242
  if photon is not None: body['photon'] = photon
2243
+ if schema is not None: body['schema'] = schema
2196
2244
  if serverless is not None: body['serverless'] = serverless
2197
2245
  if storage is not None: body['storage'] = storage
2198
2246
  if target is not None: body['target'] = target
@@ -2506,6 +2554,7 @@ class PipelinesAPI:
2506
2554
  pipeline_id: str,
2507
2555
  *,
2508
2556
  allow_duplicate_names: Optional[bool] = None,
2557
+ budget_policy_id: Optional[str] = None,
2509
2558
  catalog: Optional[str] = None,
2510
2559
  channel: Optional[str] = None,
2511
2560
  clusters: Optional[List[PipelineCluster]] = None,
@@ -2523,6 +2572,7 @@ class PipelinesAPI:
2523
2572
  name: Optional[str] = None,
2524
2573
  notifications: Optional[List[Notifications]] = None,
2525
2574
  photon: Optional[bool] = None,
2575
+ schema: Optional[str] = None,
2526
2576
  serverless: Optional[bool] = None,
2527
2577
  storage: Optional[str] = None,
2528
2578
  target: Optional[str] = None,
@@ -2535,6 +2585,8 @@ class PipelinesAPI:
2535
2585
  Unique identifier for this pipeline.
2536
2586
  :param allow_duplicate_names: bool (optional)
2537
2587
  If false, deployment will fail if name has changed and conflicts the name of another pipeline.
2588
+ :param budget_policy_id: str (optional)
2589
+ Budget policy of this pipeline.
2538
2590
  :param catalog: str (optional)
2539
2591
  A catalog in Unity Catalog to publish data from this pipeline to. If `target` is specified, tables
2540
2592
  in this pipeline are published to a `target` schema inside `catalog` (for example,
@@ -2573,6 +2625,9 @@ class PipelinesAPI:
2573
2625
  List of notification settings for this pipeline.
2574
2626
  :param photon: bool (optional)
2575
2627
  Whether Photon is enabled for this pipeline.
2628
+ :param schema: str (optional)
2629
+ The default schema (database) where tables are read from or published to. The presence of this field
2630
+ implies that the pipeline is in direct publishing mode.
2576
2631
  :param serverless: bool (optional)
2577
2632
  Whether serverless compute is enabled for this pipeline.
2578
2633
  :param storage: str (optional)
@@ -2587,6 +2642,7 @@ class PipelinesAPI:
2587
2642
  """
2588
2643
  body = {}
2589
2644
  if allow_duplicate_names is not None: body['allow_duplicate_names'] = allow_duplicate_names
2645
+ if budget_policy_id is not None: body['budget_policy_id'] = budget_policy_id
2590
2646
  if catalog is not None: body['catalog'] = catalog
2591
2647
  if channel is not None: body['channel'] = channel
2592
2648
  if clusters is not None: body['clusters'] = [v.as_dict() for v in clusters]
@@ -2604,6 +2660,7 @@ class PipelinesAPI:
2604
2660
  if name is not None: body['name'] = name
2605
2661
  if notifications is not None: body['notifications'] = [v.as_dict() for v in notifications]
2606
2662
  if photon is not None: body['photon'] = photon
2663
+ if schema is not None: body['schema'] = schema
2607
2664
  if serverless is not None: body['serverless'] = serverless
2608
2665
  if storage is not None: body['storage'] = storage
2609
2666
  if target is not None: body['target'] = target