databricks-sdk 0.29.0__py3-none-any.whl → 0.30.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.
- databricks/sdk/__init__.py +67 -19
- databricks/sdk/config.py +61 -75
- databricks/sdk/core.py +16 -9
- databricks/sdk/credentials_provider.py +15 -15
- databricks/sdk/data_plane.py +65 -0
- databricks/sdk/mixins/files.py +12 -4
- databricks/sdk/service/apps.py +977 -0
- databricks/sdk/service/billing.py +602 -218
- databricks/sdk/service/catalog.py +131 -34
- databricks/sdk/service/compute.py +494 -81
- databricks/sdk/service/dashboards.py +608 -5
- databricks/sdk/service/iam.py +99 -88
- databricks/sdk/service/jobs.py +34 -15
- databricks/sdk/service/marketplace.py +2 -122
- databricks/sdk/service/oauth2.py +127 -70
- databricks/sdk/service/pipelines.py +72 -52
- databricks/sdk/service/serving.py +303 -750
- databricks/sdk/service/settings.py +423 -4
- databricks/sdk/service/sharing.py +235 -25
- databricks/sdk/service/sql.py +2417 -566
- databricks/sdk/useragent.py +144 -0
- databricks/sdk/version.py +1 -1
- {databricks_sdk-0.29.0.dist-info → databricks_sdk-0.30.0.dist-info}/METADATA +36 -16
- {databricks_sdk-0.29.0.dist-info → databricks_sdk-0.30.0.dist-info}/RECORD +28 -25
- {databricks_sdk-0.29.0.dist-info → databricks_sdk-0.30.0.dist-info}/WHEEL +1 -1
- {databricks_sdk-0.29.0.dist-info → databricks_sdk-0.30.0.dist-info}/LICENSE +0 -0
- {databricks_sdk-0.29.0.dist-info → databricks_sdk-0.30.0.dist-info}/NOTICE +0 -0
- {databricks_sdk-0.29.0.dist-info → databricks_sdk-0.30.0.dist-info}/top_level.txt +0 -0
|
@@ -63,7 +63,7 @@ class CreatePipeline:
|
|
|
63
63
|
id: Optional[str] = None
|
|
64
64
|
"""Unique identifier for this pipeline."""
|
|
65
65
|
|
|
66
|
-
ingestion_definition: Optional[
|
|
66
|
+
ingestion_definition: Optional[IngestionPipelineDefinition] = None
|
|
67
67
|
"""The configuration for a managed ingestion pipeline. These settings cannot be used with the
|
|
68
68
|
'libraries', 'target' or 'catalog' settings."""
|
|
69
69
|
|
|
@@ -136,8 +136,7 @@ class CreatePipeline:
|
|
|
136
136
|
filters=_from_dict(d, 'filters', Filters),
|
|
137
137
|
gateway_definition=_from_dict(d, 'gateway_definition', IngestionGatewayPipelineDefinition),
|
|
138
138
|
id=d.get('id', None),
|
|
139
|
-
ingestion_definition=_from_dict(d, 'ingestion_definition',
|
|
140
|
-
ManagedIngestionPipelineDefinition),
|
|
139
|
+
ingestion_definition=_from_dict(d, 'ingestion_definition', IngestionPipelineDefinition),
|
|
141
140
|
libraries=_repeated_dict(d, 'libraries', PipelineLibrary),
|
|
142
141
|
name=d.get('name', None),
|
|
143
142
|
notifications=_repeated_dict(d, 'notifications', Notifications),
|
|
@@ -277,7 +276,7 @@ class EditPipeline:
|
|
|
277
276
|
id: Optional[str] = None
|
|
278
277
|
"""Unique identifier for this pipeline."""
|
|
279
278
|
|
|
280
|
-
ingestion_definition: Optional[
|
|
279
|
+
ingestion_definition: Optional[IngestionPipelineDefinition] = None
|
|
281
280
|
"""The configuration for a managed ingestion pipeline. These settings cannot be used with the
|
|
282
281
|
'libraries', 'target' or 'catalog' settings."""
|
|
283
282
|
|
|
@@ -355,8 +354,7 @@ class EditPipeline:
|
|
|
355
354
|
filters=_from_dict(d, 'filters', Filters),
|
|
356
355
|
gateway_definition=_from_dict(d, 'gateway_definition', IngestionGatewayPipelineDefinition),
|
|
357
356
|
id=d.get('id', None),
|
|
358
|
-
ingestion_definition=_from_dict(d, 'ingestion_definition',
|
|
359
|
-
ManagedIngestionPipelineDefinition),
|
|
357
|
+
ingestion_definition=_from_dict(d, 'ingestion_definition', IngestionPipelineDefinition),
|
|
360
358
|
libraries=_repeated_dict(d, 'libraries', PipelineLibrary),
|
|
361
359
|
name=d.get('name', None),
|
|
362
360
|
notifications=_repeated_dict(d, 'notifications', Notifications),
|
|
@@ -590,7 +588,7 @@ class IngestionGatewayPipelineDefinition:
|
|
|
590
588
|
"""Required, Immutable. The name of the catalog for the gateway pipeline's storage location."""
|
|
591
589
|
|
|
592
590
|
gateway_storage_name: Optional[str] = None
|
|
593
|
-
"""
|
|
591
|
+
"""Optional. The Unity Catalog-compatible name for the gateway storage location. This is the
|
|
594
592
|
destination to use for the data that is extracted by the gateway. Delta Live Tables system will
|
|
595
593
|
automatically create the storage location under the catalog and schema."""
|
|
596
594
|
|
|
@@ -617,6 +615,41 @@ class IngestionGatewayPipelineDefinition:
|
|
|
617
615
|
gateway_storage_schema=d.get('gateway_storage_schema', None))
|
|
618
616
|
|
|
619
617
|
|
|
618
|
+
@dataclass
|
|
619
|
+
class IngestionPipelineDefinition:
|
|
620
|
+
connection_name: Optional[str] = None
|
|
621
|
+
"""Immutable. The Unity Catalog connection this ingestion pipeline uses to communicate with the
|
|
622
|
+
source. Specify either ingestion_gateway_id or connection_name."""
|
|
623
|
+
|
|
624
|
+
ingestion_gateway_id: Optional[str] = None
|
|
625
|
+
"""Immutable. Identifier for the ingestion gateway used by this ingestion pipeline to communicate
|
|
626
|
+
with the source. Specify either ingestion_gateway_id or connection_name."""
|
|
627
|
+
|
|
628
|
+
objects: Optional[List[IngestionConfig]] = None
|
|
629
|
+
"""Required. Settings specifying tables to replicate and the destination for the replicated tables."""
|
|
630
|
+
|
|
631
|
+
table_configuration: Optional[TableSpecificConfig] = None
|
|
632
|
+
"""Configuration settings to control the ingestion of tables. These settings are applied to all
|
|
633
|
+
tables in the pipeline."""
|
|
634
|
+
|
|
635
|
+
def as_dict(self) -> dict:
|
|
636
|
+
"""Serializes the IngestionPipelineDefinition into a dictionary suitable for use as a JSON request body."""
|
|
637
|
+
body = {}
|
|
638
|
+
if self.connection_name is not None: body['connection_name'] = self.connection_name
|
|
639
|
+
if self.ingestion_gateway_id is not None: body['ingestion_gateway_id'] = self.ingestion_gateway_id
|
|
640
|
+
if self.objects: body['objects'] = [v.as_dict() for v in self.objects]
|
|
641
|
+
if self.table_configuration: body['table_configuration'] = self.table_configuration.as_dict()
|
|
642
|
+
return body
|
|
643
|
+
|
|
644
|
+
@classmethod
|
|
645
|
+
def from_dict(cls, d: Dict[str, any]) -> IngestionPipelineDefinition:
|
|
646
|
+
"""Deserializes the IngestionPipelineDefinition from a dictionary."""
|
|
647
|
+
return cls(connection_name=d.get('connection_name', None),
|
|
648
|
+
ingestion_gateway_id=d.get('ingestion_gateway_id', None),
|
|
649
|
+
objects=_repeated_dict(d, 'objects', IngestionConfig),
|
|
650
|
+
table_configuration=_from_dict(d, 'table_configuration', TableSpecificConfig))
|
|
651
|
+
|
|
652
|
+
|
|
620
653
|
@dataclass
|
|
621
654
|
class ListPipelineEventsResponse:
|
|
622
655
|
events: Optional[List[PipelineEvent]] = None
|
|
@@ -693,41 +726,6 @@ class ListUpdatesResponse:
|
|
|
693
726
|
updates=_repeated_dict(d, 'updates', UpdateInfo))
|
|
694
727
|
|
|
695
728
|
|
|
696
|
-
@dataclass
|
|
697
|
-
class ManagedIngestionPipelineDefinition:
|
|
698
|
-
connection_name: Optional[str] = None
|
|
699
|
-
"""Immutable. The Unity Catalog connection this ingestion pipeline uses to communicate with the
|
|
700
|
-
source. Specify either ingestion_gateway_id or connection_name."""
|
|
701
|
-
|
|
702
|
-
ingestion_gateway_id: Optional[str] = None
|
|
703
|
-
"""Immutable. Identifier for the ingestion gateway used by this ingestion pipeline to communicate
|
|
704
|
-
with the source. Specify either ingestion_gateway_id or connection_name."""
|
|
705
|
-
|
|
706
|
-
objects: Optional[List[IngestionConfig]] = None
|
|
707
|
-
"""Required. Settings specifying tables to replicate and the destination for the replicated tables."""
|
|
708
|
-
|
|
709
|
-
table_configuration: Optional[TableSpecificConfig] = None
|
|
710
|
-
"""Configuration settings to control the ingestion of tables. These settings are applied to all
|
|
711
|
-
tables in the pipeline."""
|
|
712
|
-
|
|
713
|
-
def as_dict(self) -> dict:
|
|
714
|
-
"""Serializes the ManagedIngestionPipelineDefinition into a dictionary suitable for use as a JSON request body."""
|
|
715
|
-
body = {}
|
|
716
|
-
if self.connection_name is not None: body['connection_name'] = self.connection_name
|
|
717
|
-
if self.ingestion_gateway_id is not None: body['ingestion_gateway_id'] = self.ingestion_gateway_id
|
|
718
|
-
if self.objects: body['objects'] = [v.as_dict() for v in self.objects]
|
|
719
|
-
if self.table_configuration: body['table_configuration'] = self.table_configuration.as_dict()
|
|
720
|
-
return body
|
|
721
|
-
|
|
722
|
-
@classmethod
|
|
723
|
-
def from_dict(cls, d: Dict[str, any]) -> ManagedIngestionPipelineDefinition:
|
|
724
|
-
"""Deserializes the ManagedIngestionPipelineDefinition from a dictionary."""
|
|
725
|
-
return cls(connection_name=d.get('connection_name', None),
|
|
726
|
-
ingestion_gateway_id=d.get('ingestion_gateway_id', None),
|
|
727
|
-
objects=_repeated_dict(d, 'objects', IngestionConfig),
|
|
728
|
-
table_configuration=_from_dict(d, 'table_configuration', TableSpecificConfig))
|
|
729
|
-
|
|
730
|
-
|
|
731
729
|
@dataclass
|
|
732
730
|
class ManualTrigger:
|
|
733
731
|
|
|
@@ -1003,6 +1001,9 @@ class PipelineCluster:
|
|
|
1003
1001
|
"""The node type of the Spark driver. Note that this field is optional; if unset, the driver node
|
|
1004
1002
|
type will be set as the same value as `node_type_id` defined above."""
|
|
1005
1003
|
|
|
1004
|
+
enable_local_disk_encryption: Optional[bool] = None
|
|
1005
|
+
"""Whether to enable local disk encryption for the cluster."""
|
|
1006
|
+
|
|
1006
1007
|
gcp_attributes: Optional[compute.GcpAttributes] = None
|
|
1007
1008
|
"""Attributes related to clusters running on Google Cloud Platform. If not specified at cluster
|
|
1008
1009
|
creation, a set of default values will be used."""
|
|
@@ -1074,6 +1075,8 @@ class PipelineCluster:
|
|
|
1074
1075
|
if self.driver_instance_pool_id is not None:
|
|
1075
1076
|
body['driver_instance_pool_id'] = self.driver_instance_pool_id
|
|
1076
1077
|
if self.driver_node_type_id is not None: body['driver_node_type_id'] = self.driver_node_type_id
|
|
1078
|
+
if self.enable_local_disk_encryption is not None:
|
|
1079
|
+
body['enable_local_disk_encryption'] = self.enable_local_disk_encryption
|
|
1077
1080
|
if self.gcp_attributes: body['gcp_attributes'] = self.gcp_attributes.as_dict()
|
|
1078
1081
|
if self.init_scripts: body['init_scripts'] = [v.as_dict() for v in self.init_scripts]
|
|
1079
1082
|
if self.instance_pool_id is not None: body['instance_pool_id'] = self.instance_pool_id
|
|
@@ -1097,6 +1100,7 @@ class PipelineCluster:
|
|
|
1097
1100
|
custom_tags=d.get('custom_tags', None),
|
|
1098
1101
|
driver_instance_pool_id=d.get('driver_instance_pool_id', None),
|
|
1099
1102
|
driver_node_type_id=d.get('driver_node_type_id', None),
|
|
1103
|
+
enable_local_disk_encryption=d.get('enable_local_disk_encryption', None),
|
|
1100
1104
|
gcp_attributes=_from_dict(d, 'gcp_attributes', compute.GcpAttributes),
|
|
1101
1105
|
init_scripts=_repeated_dict(d, 'init_scripts', compute.InitScriptInfo),
|
|
1102
1106
|
instance_pool_id=d.get('instance_pool_id', None),
|
|
@@ -1244,6 +1248,9 @@ class PipelineLibrary:
|
|
|
1244
1248
|
notebook: Optional[NotebookLibrary] = None
|
|
1245
1249
|
"""The path to a notebook that defines a pipeline and is stored in the Databricks workspace."""
|
|
1246
1250
|
|
|
1251
|
+
whl: Optional[str] = None
|
|
1252
|
+
"""URI of the whl to be installed."""
|
|
1253
|
+
|
|
1247
1254
|
def as_dict(self) -> dict:
|
|
1248
1255
|
"""Serializes the PipelineLibrary into a dictionary suitable for use as a JSON request body."""
|
|
1249
1256
|
body = {}
|
|
@@ -1251,6 +1258,7 @@ class PipelineLibrary:
|
|
|
1251
1258
|
if self.jar is not None: body['jar'] = self.jar
|
|
1252
1259
|
if self.maven: body['maven'] = self.maven.as_dict()
|
|
1253
1260
|
if self.notebook: body['notebook'] = self.notebook.as_dict()
|
|
1261
|
+
if self.whl is not None: body['whl'] = self.whl
|
|
1254
1262
|
return body
|
|
1255
1263
|
|
|
1256
1264
|
@classmethod
|
|
@@ -1259,7 +1267,8 @@ class PipelineLibrary:
|
|
|
1259
1267
|
return cls(file=_from_dict(d, 'file', FileLibrary),
|
|
1260
1268
|
jar=d.get('jar', None),
|
|
1261
1269
|
maven=_from_dict(d, 'maven', compute.MavenLibrary),
|
|
1262
|
-
notebook=_from_dict(d, 'notebook', NotebookLibrary)
|
|
1270
|
+
notebook=_from_dict(d, 'notebook', NotebookLibrary),
|
|
1271
|
+
whl=d.get('whl', None))
|
|
1263
1272
|
|
|
1264
1273
|
|
|
1265
1274
|
@dataclass
|
|
@@ -1403,7 +1412,7 @@ class PipelineSpec:
|
|
|
1403
1412
|
id: Optional[str] = None
|
|
1404
1413
|
"""Unique identifier for this pipeline."""
|
|
1405
1414
|
|
|
1406
|
-
ingestion_definition: Optional[
|
|
1415
|
+
ingestion_definition: Optional[IngestionPipelineDefinition] = None
|
|
1407
1416
|
"""The configuration for a managed ingestion pipeline. These settings cannot be used with the
|
|
1408
1417
|
'libraries', 'target' or 'catalog' settings."""
|
|
1409
1418
|
|
|
@@ -1472,8 +1481,7 @@ class PipelineSpec:
|
|
|
1472
1481
|
filters=_from_dict(d, 'filters', Filters),
|
|
1473
1482
|
gateway_definition=_from_dict(d, 'gateway_definition', IngestionGatewayPipelineDefinition),
|
|
1474
1483
|
id=d.get('id', None),
|
|
1475
|
-
ingestion_definition=_from_dict(d, 'ingestion_definition',
|
|
1476
|
-
ManagedIngestionPipelineDefinition),
|
|
1484
|
+
ingestion_definition=_from_dict(d, 'ingestion_definition', IngestionPipelineDefinition),
|
|
1477
1485
|
libraries=_repeated_dict(d, 'libraries', PipelineLibrary),
|
|
1478
1486
|
name=d.get('name', None),
|
|
1479
1487
|
notifications=_repeated_dict(d, 'notifications', Notifications),
|
|
@@ -1506,6 +1514,9 @@ class PipelineStateInfo:
|
|
|
1506
1514
|
creator_user_name: Optional[str] = None
|
|
1507
1515
|
"""The username of the pipeline creator."""
|
|
1508
1516
|
|
|
1517
|
+
health: Optional[PipelineStateInfoHealth] = None
|
|
1518
|
+
"""The health of a pipeline."""
|
|
1519
|
+
|
|
1509
1520
|
latest_updates: Optional[List[UpdateStateInfo]] = None
|
|
1510
1521
|
"""Status of the latest updates for the pipeline. Ordered with the newest update first."""
|
|
1511
1522
|
|
|
@@ -1527,6 +1538,7 @@ class PipelineStateInfo:
|
|
|
1527
1538
|
body = {}
|
|
1528
1539
|
if self.cluster_id is not None: body['cluster_id'] = self.cluster_id
|
|
1529
1540
|
if self.creator_user_name is not None: body['creator_user_name'] = self.creator_user_name
|
|
1541
|
+
if self.health is not None: body['health'] = self.health.value
|
|
1530
1542
|
if self.latest_updates: body['latest_updates'] = [v.as_dict() for v in self.latest_updates]
|
|
1531
1543
|
if self.name is not None: body['name'] = self.name
|
|
1532
1544
|
if self.pipeline_id is not None: body['pipeline_id'] = self.pipeline_id
|
|
@@ -1539,6 +1551,7 @@ class PipelineStateInfo:
|
|
|
1539
1551
|
"""Deserializes the PipelineStateInfo from a dictionary."""
|
|
1540
1552
|
return cls(cluster_id=d.get('cluster_id', None),
|
|
1541
1553
|
creator_user_name=d.get('creator_user_name', None),
|
|
1554
|
+
health=_enum(d, 'health', PipelineStateInfoHealth),
|
|
1542
1555
|
latest_updates=_repeated_dict(d, 'latest_updates', UpdateStateInfo),
|
|
1543
1556
|
name=d.get('name', None),
|
|
1544
1557
|
pipeline_id=d.get('pipeline_id', None),
|
|
@@ -1546,6 +1559,13 @@ class PipelineStateInfo:
|
|
|
1546
1559
|
state=_enum(d, 'state', PipelineState))
|
|
1547
1560
|
|
|
1548
1561
|
|
|
1562
|
+
class PipelineStateInfoHealth(Enum):
|
|
1563
|
+
"""The health of a pipeline."""
|
|
1564
|
+
|
|
1565
|
+
HEALTHY = 'HEALTHY'
|
|
1566
|
+
UNHEALTHY = 'UNHEALTHY'
|
|
1567
|
+
|
|
1568
|
+
|
|
1549
1569
|
@dataclass
|
|
1550
1570
|
class PipelineTrigger:
|
|
1551
1571
|
cron: Optional[CronTrigger] = None
|
|
@@ -1584,7 +1604,7 @@ class SchemaSpec:
|
|
|
1584
1604
|
table_configuration: Optional[TableSpecificConfig] = None
|
|
1585
1605
|
"""Configuration settings to control the ingestion of tables. These settings are applied to all
|
|
1586
1606
|
tables in this schema and override the table_configuration defined in the
|
|
1587
|
-
|
|
1607
|
+
IngestionPipelineDefinition object."""
|
|
1588
1608
|
|
|
1589
1609
|
def as_dict(self) -> dict:
|
|
1590
1610
|
"""Serializes the SchemaSpec into a dictionary suitable for use as a JSON request body."""
|
|
@@ -1796,7 +1816,7 @@ class TableSpec:
|
|
|
1796
1816
|
|
|
1797
1817
|
table_configuration: Optional[TableSpecificConfig] = None
|
|
1798
1818
|
"""Configuration settings to control the ingestion of tables. These settings override the
|
|
1799
|
-
table_configuration defined in the
|
|
1819
|
+
table_configuration defined in the IngestionPipelineDefinition object and the SchemaSpec."""
|
|
1800
1820
|
|
|
1801
1821
|
def as_dict(self) -> dict:
|
|
1802
1822
|
"""Serializes the TableSpec into a dictionary suitable for use as a JSON request body."""
|
|
@@ -2090,7 +2110,7 @@ class PipelinesAPI:
|
|
|
2090
2110
|
filters: Optional[Filters] = None,
|
|
2091
2111
|
gateway_definition: Optional[IngestionGatewayPipelineDefinition] = None,
|
|
2092
2112
|
id: Optional[str] = None,
|
|
2093
|
-
ingestion_definition: Optional[
|
|
2113
|
+
ingestion_definition: Optional[IngestionPipelineDefinition] = None,
|
|
2094
2114
|
libraries: Optional[List[PipelineLibrary]] = None,
|
|
2095
2115
|
name: Optional[str] = None,
|
|
2096
2116
|
notifications: Optional[List[Notifications]] = None,
|
|
@@ -2131,7 +2151,7 @@ class PipelinesAPI:
|
|
|
2131
2151
|
The definition of a gateway pipeline to support CDC.
|
|
2132
2152
|
:param id: str (optional)
|
|
2133
2153
|
Unique identifier for this pipeline.
|
|
2134
|
-
:param ingestion_definition: :class:`
|
|
2154
|
+
:param ingestion_definition: :class:`IngestionPipelineDefinition` (optional)
|
|
2135
2155
|
The configuration for a managed ingestion pipeline. These settings cannot be used with the
|
|
2136
2156
|
'libraries', 'target' or 'catalog' settings.
|
|
2137
2157
|
:param libraries: List[:class:`PipelineLibrary`] (optional)
|
|
@@ -2498,7 +2518,7 @@ class PipelinesAPI:
|
|
|
2498
2518
|
filters: Optional[Filters] = None,
|
|
2499
2519
|
gateway_definition: Optional[IngestionGatewayPipelineDefinition] = None,
|
|
2500
2520
|
id: Optional[str] = None,
|
|
2501
|
-
ingestion_definition: Optional[
|
|
2521
|
+
ingestion_definition: Optional[IngestionPipelineDefinition] = None,
|
|
2502
2522
|
libraries: Optional[List[PipelineLibrary]] = None,
|
|
2503
2523
|
name: Optional[str] = None,
|
|
2504
2524
|
notifications: Optional[List[Notifications]] = None,
|
|
@@ -2542,7 +2562,7 @@ class PipelinesAPI:
|
|
|
2542
2562
|
The definition of a gateway pipeline to support CDC.
|
|
2543
2563
|
:param id: str (optional)
|
|
2544
2564
|
Unique identifier for this pipeline.
|
|
2545
|
-
:param ingestion_definition: :class:`
|
|
2565
|
+
:param ingestion_definition: :class:`IngestionPipelineDefinition` (optional)
|
|
2546
2566
|
The configuration for a managed ingestion pipeline. These settings cannot be used with the
|
|
2547
2567
|
'libraries', 'target' or 'catalog' settings.
|
|
2548
2568
|
:param libraries: List[:class:`PipelineLibrary`] (optional)
|