databricks-sdk 0.57.0__py3-none-any.whl → 0.58.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 +25 -4
- databricks/sdk/service/aibuilder.py +0 -36
- databricks/sdk/service/apps.py +1 -3
- databricks/sdk/service/billing.py +53 -23
- databricks/sdk/service/catalog.py +1692 -150
- databricks/sdk/service/cleanrooms.py +3 -22
- databricks/sdk/service/compute.py +245 -322
- databricks/sdk/service/dashboards.py +129 -162
- databricks/sdk/service/database.py +612 -97
- databricks/sdk/service/iam.py +3 -3
- databricks/sdk/service/jobs.py +6 -129
- databricks/sdk/service/marketplace.py +3 -2
- databricks/sdk/service/ml.py +713 -262
- databricks/sdk/service/oauth2.py +0 -1
- databricks/sdk/service/pipelines.py +12 -29
- databricks/sdk/service/provisioning.py +7 -125
- databricks/sdk/service/qualitymonitorv2.py +0 -18
- databricks/sdk/service/serving.py +39 -13
- databricks/sdk/service/settings.py +11 -128
- databricks/sdk/service/sharing.py +3 -9
- databricks/sdk/service/sql.py +94 -74
- databricks/sdk/service/vectorsearch.py +0 -19
- databricks/sdk/service/workspace.py +2 -6
- databricks/sdk/version.py +1 -1
- {databricks_sdk-0.57.0.dist-info → databricks_sdk-0.58.0.dist-info}/METADATA +1 -1
- {databricks_sdk-0.57.0.dist-info → databricks_sdk-0.58.0.dist-info}/RECORD +30 -30
- {databricks_sdk-0.57.0.dist-info → databricks_sdk-0.58.0.dist-info}/WHEEL +0 -0
- {databricks_sdk-0.57.0.dist-info → databricks_sdk-0.58.0.dist-info}/licenses/LICENSE +0 -0
- {databricks_sdk-0.57.0.dist-info → databricks_sdk-0.58.0.dist-info}/licenses/NOTICE +0 -0
- {databricks_sdk-0.57.0.dist-info → databricks_sdk-0.58.0.dist-info}/top_level.txt +0 -0
|
@@ -168,9 +168,6 @@ class AwsAttributes:
|
|
|
168
168
|
"""Attributes set during cluster creation which are related to Amazon Web Services."""
|
|
169
169
|
|
|
170
170
|
availability: Optional[AwsAvailability] = None
|
|
171
|
-
"""Availability type used for all subsequent nodes past the `first_on_demand` ones.
|
|
172
|
-
|
|
173
|
-
Note: If `first_on_demand` is zero, this availability type will be used for the entire cluster."""
|
|
174
171
|
|
|
175
172
|
ebs_volume_count: Optional[int] = None
|
|
176
173
|
"""The number of volumes launched for each instance. Users can choose up to 10 volumes. This
|
|
@@ -593,7 +590,6 @@ class ClusterAccessControlRequest:
|
|
|
593
590
|
"""name of the group"""
|
|
594
591
|
|
|
595
592
|
permission_level: Optional[ClusterPermissionLevel] = None
|
|
596
|
-
"""Permission level"""
|
|
597
593
|
|
|
598
594
|
service_principal_name: Optional[str] = None
|
|
599
595
|
"""application ID of a service principal"""
|
|
@@ -742,30 +738,6 @@ class ClusterAttributes:
|
|
|
742
738
|
tags"""
|
|
743
739
|
|
|
744
740
|
data_security_mode: Optional[DataSecurityMode] = None
|
|
745
|
-
"""Data security mode decides what data governance model to use when accessing data from a cluster.
|
|
746
|
-
|
|
747
|
-
The following modes can only be used when `kind = CLASSIC_PREVIEW`. * `DATA_SECURITY_MODE_AUTO`:
|
|
748
|
-
Databricks will choose the most appropriate access mode depending on your compute configuration.
|
|
749
|
-
* `DATA_SECURITY_MODE_STANDARD`: Alias for `USER_ISOLATION`. * `DATA_SECURITY_MODE_DEDICATED`:
|
|
750
|
-
Alias for `SINGLE_USER`.
|
|
751
|
-
|
|
752
|
-
The following modes can be used regardless of `kind`. * `NONE`: No security isolation for
|
|
753
|
-
multiple users sharing the cluster. Data governance features are not available in this mode. *
|
|
754
|
-
`SINGLE_USER`: A secure cluster that can only be exclusively used by a single user specified in
|
|
755
|
-
`single_user_name`. Most programming languages, cluster features and data governance features
|
|
756
|
-
are available in this mode. * `USER_ISOLATION`: A secure cluster that can be shared by multiple
|
|
757
|
-
users. Cluster users are fully isolated so that they cannot see each other's data and
|
|
758
|
-
credentials. Most data governance features are supported in this mode. But programming languages
|
|
759
|
-
and cluster features might be limited.
|
|
760
|
-
|
|
761
|
-
The following modes are deprecated starting with Databricks Runtime 15.0 and will be removed for
|
|
762
|
-
future Databricks Runtime versions:
|
|
763
|
-
|
|
764
|
-
* `LEGACY_TABLE_ACL`: This mode is for users migrating from legacy Table ACL clusters. *
|
|
765
|
-
`LEGACY_PASSTHROUGH`: This mode is for users migrating from legacy Passthrough on high
|
|
766
|
-
concurrency clusters. * `LEGACY_SINGLE_USER`: This mode is for users migrating from legacy
|
|
767
|
-
Passthrough on standard clusters. * `LEGACY_SINGLE_USER_STANDARD`: This mode provides a way that
|
|
768
|
-
doesn’t have UC nor passthrough enabled."""
|
|
769
741
|
|
|
770
742
|
docker_image: Optional[DockerImage] = None
|
|
771
743
|
"""Custom docker image BYOC"""
|
|
@@ -809,19 +781,6 @@ class ClusterAttributes:
|
|
|
809
781
|
`spark_conf`, and `num_workers`"""
|
|
810
782
|
|
|
811
783
|
kind: Optional[Kind] = None
|
|
812
|
-
"""The kind of compute described by this compute specification.
|
|
813
|
-
|
|
814
|
-
Depending on `kind`, different validations and default values will be applied.
|
|
815
|
-
|
|
816
|
-
Clusters with `kind = CLASSIC_PREVIEW` support the following fields, whereas clusters with no
|
|
817
|
-
specified `kind` do not. * [is_single_node](/api/workspace/clusters/create#is_single_node) *
|
|
818
|
-
[use_ml_runtime](/api/workspace/clusters/create#use_ml_runtime) *
|
|
819
|
-
[data_security_mode](/api/workspace/clusters/create#data_security_mode) set to
|
|
820
|
-
`DATA_SECURITY_MODE_AUTO`, `DATA_SECURITY_MODE_DEDICATED`, or `DATA_SECURITY_MODE_STANDARD`
|
|
821
|
-
|
|
822
|
-
By using the [simple form], your clusters are automatically using `kind = CLASSIC_PREVIEW`.
|
|
823
|
-
|
|
824
|
-
[simple form]: https://docs.databricks.com/compute/simple-form.html"""
|
|
825
784
|
|
|
826
785
|
node_type_id: Optional[str] = None
|
|
827
786
|
"""This field encodes, through a single value, the resources available to each of the Spark nodes
|
|
@@ -832,6 +791,10 @@ class ClusterAttributes:
|
|
|
832
791
|
policy_id: Optional[str] = None
|
|
833
792
|
"""The ID of the cluster policy used to create the cluster if applicable."""
|
|
834
793
|
|
|
794
|
+
remote_disk_throughput: Optional[int] = None
|
|
795
|
+
"""If set, what the configurable throughput (in Mb/s) for the remote disk is. Currently only
|
|
796
|
+
supported for GCP HYPERDISK_BALANCED disks."""
|
|
797
|
+
|
|
835
798
|
runtime_engine: Optional[RuntimeEngine] = None
|
|
836
799
|
"""Determines the cluster's runtime engine, either standard or Photon.
|
|
837
800
|
|
|
@@ -867,6 +830,10 @@ class ClusterAttributes:
|
|
|
867
830
|
private keys can be used to login with the user name `ubuntu` on port `2200`. Up to 10 keys can
|
|
868
831
|
be specified."""
|
|
869
832
|
|
|
833
|
+
total_initial_remote_disk_size: Optional[int] = None
|
|
834
|
+
"""If set, what the total initial volume size (in GB) of the remote disks should be. Currently only
|
|
835
|
+
supported for GCP HYPERDISK_BALANCED disks."""
|
|
836
|
+
|
|
870
837
|
use_ml_runtime: Optional[bool] = None
|
|
871
838
|
"""This field can only be used when `kind = CLASSIC_PREVIEW`.
|
|
872
839
|
|
|
@@ -874,7 +841,6 @@ class ClusterAttributes:
|
|
|
874
841
|
`use_ml_runtime`, and whether `node_type_id` is gpu node or not."""
|
|
875
842
|
|
|
876
843
|
workload_type: Optional[WorkloadType] = None
|
|
877
|
-
"""Cluster Attributes showing for clusters workload types."""
|
|
878
844
|
|
|
879
845
|
def as_dict(self) -> dict:
|
|
880
846
|
"""Serializes the ClusterAttributes into a dictionary suitable for use as a JSON request body."""
|
|
@@ -917,6 +883,8 @@ class ClusterAttributes:
|
|
|
917
883
|
body["node_type_id"] = self.node_type_id
|
|
918
884
|
if self.policy_id is not None:
|
|
919
885
|
body["policy_id"] = self.policy_id
|
|
886
|
+
if self.remote_disk_throughput is not None:
|
|
887
|
+
body["remote_disk_throughput"] = self.remote_disk_throughput
|
|
920
888
|
if self.runtime_engine is not None:
|
|
921
889
|
body["runtime_engine"] = self.runtime_engine.value
|
|
922
890
|
if self.single_user_name is not None:
|
|
@@ -929,6 +897,8 @@ class ClusterAttributes:
|
|
|
929
897
|
body["spark_version"] = self.spark_version
|
|
930
898
|
if self.ssh_public_keys:
|
|
931
899
|
body["ssh_public_keys"] = [v for v in self.ssh_public_keys]
|
|
900
|
+
if self.total_initial_remote_disk_size is not None:
|
|
901
|
+
body["total_initial_remote_disk_size"] = self.total_initial_remote_disk_size
|
|
932
902
|
if self.use_ml_runtime is not None:
|
|
933
903
|
body["use_ml_runtime"] = self.use_ml_runtime
|
|
934
904
|
if self.workload_type:
|
|
@@ -976,6 +946,8 @@ class ClusterAttributes:
|
|
|
976
946
|
body["node_type_id"] = self.node_type_id
|
|
977
947
|
if self.policy_id is not None:
|
|
978
948
|
body["policy_id"] = self.policy_id
|
|
949
|
+
if self.remote_disk_throughput is not None:
|
|
950
|
+
body["remote_disk_throughput"] = self.remote_disk_throughput
|
|
979
951
|
if self.runtime_engine is not None:
|
|
980
952
|
body["runtime_engine"] = self.runtime_engine
|
|
981
953
|
if self.single_user_name is not None:
|
|
@@ -988,6 +960,8 @@ class ClusterAttributes:
|
|
|
988
960
|
body["spark_version"] = self.spark_version
|
|
989
961
|
if self.ssh_public_keys:
|
|
990
962
|
body["ssh_public_keys"] = self.ssh_public_keys
|
|
963
|
+
if self.total_initial_remote_disk_size is not None:
|
|
964
|
+
body["total_initial_remote_disk_size"] = self.total_initial_remote_disk_size
|
|
991
965
|
if self.use_ml_runtime is not None:
|
|
992
966
|
body["use_ml_runtime"] = self.use_ml_runtime
|
|
993
967
|
if self.workload_type:
|
|
@@ -1017,12 +991,14 @@ class ClusterAttributes:
|
|
|
1017
991
|
kind=_enum(d, "kind", Kind),
|
|
1018
992
|
node_type_id=d.get("node_type_id", None),
|
|
1019
993
|
policy_id=d.get("policy_id", None),
|
|
994
|
+
remote_disk_throughput=d.get("remote_disk_throughput", None),
|
|
1020
995
|
runtime_engine=_enum(d, "runtime_engine", RuntimeEngine),
|
|
1021
996
|
single_user_name=d.get("single_user_name", None),
|
|
1022
997
|
spark_conf=d.get("spark_conf", None),
|
|
1023
998
|
spark_env_vars=d.get("spark_env_vars", None),
|
|
1024
999
|
spark_version=d.get("spark_version", None),
|
|
1025
1000
|
ssh_public_keys=d.get("ssh_public_keys", None),
|
|
1001
|
+
total_initial_remote_disk_size=d.get("total_initial_remote_disk_size", None),
|
|
1026
1002
|
use_ml_runtime=d.get("use_ml_runtime", None),
|
|
1027
1003
|
workload_type=_from_dict(d, "workload_type", WorkloadType),
|
|
1028
1004
|
)
|
|
@@ -1140,30 +1116,6 @@ class ClusterDetails:
|
|
|
1140
1116
|
tags"""
|
|
1141
1117
|
|
|
1142
1118
|
data_security_mode: Optional[DataSecurityMode] = None
|
|
1143
|
-
"""Data security mode decides what data governance model to use when accessing data from a cluster.
|
|
1144
|
-
|
|
1145
|
-
The following modes can only be used when `kind = CLASSIC_PREVIEW`. * `DATA_SECURITY_MODE_AUTO`:
|
|
1146
|
-
Databricks will choose the most appropriate access mode depending on your compute configuration.
|
|
1147
|
-
* `DATA_SECURITY_MODE_STANDARD`: Alias for `USER_ISOLATION`. * `DATA_SECURITY_MODE_DEDICATED`:
|
|
1148
|
-
Alias for `SINGLE_USER`.
|
|
1149
|
-
|
|
1150
|
-
The following modes can be used regardless of `kind`. * `NONE`: No security isolation for
|
|
1151
|
-
multiple users sharing the cluster. Data governance features are not available in this mode. *
|
|
1152
|
-
`SINGLE_USER`: A secure cluster that can only be exclusively used by a single user specified in
|
|
1153
|
-
`single_user_name`. Most programming languages, cluster features and data governance features
|
|
1154
|
-
are available in this mode. * `USER_ISOLATION`: A secure cluster that can be shared by multiple
|
|
1155
|
-
users. Cluster users are fully isolated so that they cannot see each other's data and
|
|
1156
|
-
credentials. Most data governance features are supported in this mode. But programming languages
|
|
1157
|
-
and cluster features might be limited.
|
|
1158
|
-
|
|
1159
|
-
The following modes are deprecated starting with Databricks Runtime 15.0 and will be removed for
|
|
1160
|
-
future Databricks Runtime versions:
|
|
1161
|
-
|
|
1162
|
-
* `LEGACY_TABLE_ACL`: This mode is for users migrating from legacy Table ACL clusters. *
|
|
1163
|
-
`LEGACY_PASSTHROUGH`: This mode is for users migrating from legacy Passthrough on high
|
|
1164
|
-
concurrency clusters. * `LEGACY_SINGLE_USER`: This mode is for users migrating from legacy
|
|
1165
|
-
Passthrough on standard clusters. * `LEGACY_SINGLE_USER_STANDARD`: This mode provides a way that
|
|
1166
|
-
doesn’t have UC nor passthrough enabled."""
|
|
1167
1119
|
|
|
1168
1120
|
default_tags: Optional[Dict[str, str]] = None
|
|
1169
1121
|
"""Tags that are added by Databricks regardless of any `custom_tags`, including:
|
|
@@ -1231,19 +1183,6 @@ class ClusterDetails:
|
|
|
1231
1183
|
on this port in executor nodes."""
|
|
1232
1184
|
|
|
1233
1185
|
kind: Optional[Kind] = None
|
|
1234
|
-
"""The kind of compute described by this compute specification.
|
|
1235
|
-
|
|
1236
|
-
Depending on `kind`, different validations and default values will be applied.
|
|
1237
|
-
|
|
1238
|
-
Clusters with `kind = CLASSIC_PREVIEW` support the following fields, whereas clusters with no
|
|
1239
|
-
specified `kind` do not. * [is_single_node](/api/workspace/clusters/create#is_single_node) *
|
|
1240
|
-
[use_ml_runtime](/api/workspace/clusters/create#use_ml_runtime) *
|
|
1241
|
-
[data_security_mode](/api/workspace/clusters/create#data_security_mode) set to
|
|
1242
|
-
`DATA_SECURITY_MODE_AUTO`, `DATA_SECURITY_MODE_DEDICATED`, or `DATA_SECURITY_MODE_STANDARD`
|
|
1243
|
-
|
|
1244
|
-
By using the [simple form], your clusters are automatically using `kind = CLASSIC_PREVIEW`.
|
|
1245
|
-
|
|
1246
|
-
[simple form]: https://docs.databricks.com/compute/simple-form.html"""
|
|
1247
1186
|
|
|
1248
1187
|
last_restarted_time: Optional[int] = None
|
|
1249
1188
|
"""the timestamp that the cluster was started/restarted"""
|
|
@@ -1270,6 +1209,10 @@ class ClusterDetails:
|
|
|
1270
1209
|
policy_id: Optional[str] = None
|
|
1271
1210
|
"""The ID of the cluster policy used to create the cluster if applicable."""
|
|
1272
1211
|
|
|
1212
|
+
remote_disk_throughput: Optional[int] = None
|
|
1213
|
+
"""If set, what the configurable throughput (in Mb/s) for the remote disk is. Currently only
|
|
1214
|
+
supported for GCP HYPERDISK_BALANCED disks."""
|
|
1215
|
+
|
|
1273
1216
|
runtime_engine: Optional[RuntimeEngine] = None
|
|
1274
1217
|
"""Determines the cluster's runtime engine, either standard or Photon.
|
|
1275
1218
|
|
|
@@ -1336,6 +1279,10 @@ class ClusterDetails:
|
|
|
1336
1279
|
"""Information about why the cluster was terminated. This field only appears when the cluster is in
|
|
1337
1280
|
a `TERMINATING` or `TERMINATED` state."""
|
|
1338
1281
|
|
|
1282
|
+
total_initial_remote_disk_size: Optional[int] = None
|
|
1283
|
+
"""If set, what the total initial volume size (in GB) of the remote disks should be. Currently only
|
|
1284
|
+
supported for GCP HYPERDISK_BALANCED disks."""
|
|
1285
|
+
|
|
1339
1286
|
use_ml_runtime: Optional[bool] = None
|
|
1340
1287
|
"""This field can only be used when `kind = CLASSIC_PREVIEW`.
|
|
1341
1288
|
|
|
@@ -1343,7 +1290,6 @@ class ClusterDetails:
|
|
|
1343
1290
|
`use_ml_runtime`, and whether `node_type_id` is gpu node or not."""
|
|
1344
1291
|
|
|
1345
1292
|
workload_type: Optional[WorkloadType] = None
|
|
1346
|
-
"""Cluster Attributes showing for clusters workload types."""
|
|
1347
1293
|
|
|
1348
1294
|
def as_dict(self) -> dict:
|
|
1349
1295
|
"""Serializes the ClusterDetails into a dictionary suitable for use as a JSON request body."""
|
|
@@ -1414,6 +1360,8 @@ class ClusterDetails:
|
|
|
1414
1360
|
body["num_workers"] = self.num_workers
|
|
1415
1361
|
if self.policy_id is not None:
|
|
1416
1362
|
body["policy_id"] = self.policy_id
|
|
1363
|
+
if self.remote_disk_throughput is not None:
|
|
1364
|
+
body["remote_disk_throughput"] = self.remote_disk_throughput
|
|
1417
1365
|
if self.runtime_engine is not None:
|
|
1418
1366
|
body["runtime_engine"] = self.runtime_engine.value
|
|
1419
1367
|
if self.single_user_name is not None:
|
|
@@ -1440,6 +1388,8 @@ class ClusterDetails:
|
|
|
1440
1388
|
body["terminated_time"] = self.terminated_time
|
|
1441
1389
|
if self.termination_reason:
|
|
1442
1390
|
body["termination_reason"] = self.termination_reason.as_dict()
|
|
1391
|
+
if self.total_initial_remote_disk_size is not None:
|
|
1392
|
+
body["total_initial_remote_disk_size"] = self.total_initial_remote_disk_size
|
|
1443
1393
|
if self.use_ml_runtime is not None:
|
|
1444
1394
|
body["use_ml_runtime"] = self.use_ml_runtime
|
|
1445
1395
|
if self.workload_type:
|
|
@@ -1515,6 +1465,8 @@ class ClusterDetails:
|
|
|
1515
1465
|
body["num_workers"] = self.num_workers
|
|
1516
1466
|
if self.policy_id is not None:
|
|
1517
1467
|
body["policy_id"] = self.policy_id
|
|
1468
|
+
if self.remote_disk_throughput is not None:
|
|
1469
|
+
body["remote_disk_throughput"] = self.remote_disk_throughput
|
|
1518
1470
|
if self.runtime_engine is not None:
|
|
1519
1471
|
body["runtime_engine"] = self.runtime_engine
|
|
1520
1472
|
if self.single_user_name is not None:
|
|
@@ -1541,6 +1493,8 @@ class ClusterDetails:
|
|
|
1541
1493
|
body["terminated_time"] = self.terminated_time
|
|
1542
1494
|
if self.termination_reason:
|
|
1543
1495
|
body["termination_reason"] = self.termination_reason
|
|
1496
|
+
if self.total_initial_remote_disk_size is not None:
|
|
1497
|
+
body["total_initial_remote_disk_size"] = self.total_initial_remote_disk_size
|
|
1544
1498
|
if self.use_ml_runtime is not None:
|
|
1545
1499
|
body["use_ml_runtime"] = self.use_ml_runtime
|
|
1546
1500
|
if self.workload_type:
|
|
@@ -1584,6 +1538,7 @@ class ClusterDetails:
|
|
|
1584
1538
|
node_type_id=d.get("node_type_id", None),
|
|
1585
1539
|
num_workers=d.get("num_workers", None),
|
|
1586
1540
|
policy_id=d.get("policy_id", None),
|
|
1541
|
+
remote_disk_throughput=d.get("remote_disk_throughput", None),
|
|
1587
1542
|
runtime_engine=_enum(d, "runtime_engine", RuntimeEngine),
|
|
1588
1543
|
single_user_name=d.get("single_user_name", None),
|
|
1589
1544
|
spark_conf=d.get("spark_conf", None),
|
|
@@ -1597,6 +1552,7 @@ class ClusterDetails:
|
|
|
1597
1552
|
state_message=d.get("state_message", None),
|
|
1598
1553
|
terminated_time=d.get("terminated_time", None),
|
|
1599
1554
|
termination_reason=_from_dict(d, "termination_reason", TerminationReason),
|
|
1555
|
+
total_initial_remote_disk_size=d.get("total_initial_remote_disk_size", None),
|
|
1600
1556
|
use_ml_runtime=d.get("use_ml_runtime", None),
|
|
1601
1557
|
workload_type=_from_dict(d, "workload_type", WorkloadType),
|
|
1602
1558
|
)
|
|
@@ -1750,7 +1706,6 @@ class ClusterPermission:
|
|
|
1750
1706
|
inherited_from_object: Optional[List[str]] = None
|
|
1751
1707
|
|
|
1752
1708
|
permission_level: Optional[ClusterPermissionLevel] = None
|
|
1753
|
-
"""Permission level"""
|
|
1754
1709
|
|
|
1755
1710
|
def as_dict(self) -> dict:
|
|
1756
1711
|
"""Serializes the ClusterPermission into a dictionary suitable for use as a JSON request body."""
|
|
@@ -1837,7 +1792,6 @@ class ClusterPermissionsDescription:
|
|
|
1837
1792
|
description: Optional[str] = None
|
|
1838
1793
|
|
|
1839
1794
|
permission_level: Optional[ClusterPermissionLevel] = None
|
|
1840
|
-
"""Permission level"""
|
|
1841
1795
|
|
|
1842
1796
|
def as_dict(self) -> dict:
|
|
1843
1797
|
"""Serializes the ClusterPermissionsDescription into a dictionary suitable for use as a JSON request body."""
|
|
@@ -1906,7 +1860,6 @@ class ClusterPolicyAccessControlRequest:
|
|
|
1906
1860
|
"""name of the group"""
|
|
1907
1861
|
|
|
1908
1862
|
permission_level: Optional[ClusterPolicyPermissionLevel] = None
|
|
1909
|
-
"""Permission level"""
|
|
1910
1863
|
|
|
1911
1864
|
service_principal_name: Optional[str] = None
|
|
1912
1865
|
"""application ID of a service principal"""
|
|
@@ -2017,7 +1970,6 @@ class ClusterPolicyPermission:
|
|
|
2017
1970
|
inherited_from_object: Optional[List[str]] = None
|
|
2018
1971
|
|
|
2019
1972
|
permission_level: Optional[ClusterPolicyPermissionLevel] = None
|
|
2020
|
-
"""Permission level"""
|
|
2021
1973
|
|
|
2022
1974
|
def as_dict(self) -> dict:
|
|
2023
1975
|
"""Serializes the ClusterPolicyPermission into a dictionary suitable for use as a JSON request body."""
|
|
@@ -2102,7 +2054,6 @@ class ClusterPolicyPermissionsDescription:
|
|
|
2102
2054
|
description: Optional[str] = None
|
|
2103
2055
|
|
|
2104
2056
|
permission_level: Optional[ClusterPolicyPermissionLevel] = None
|
|
2105
|
-
"""Permission level"""
|
|
2106
2057
|
|
|
2107
2058
|
def as_dict(self) -> dict:
|
|
2108
2059
|
"""Serializes the ClusterPolicyPermissionsDescription into a dictionary suitable for use as a JSON request body."""
|
|
@@ -2315,30 +2266,6 @@ class ClusterSpec:
|
|
|
2315
2266
|
tags"""
|
|
2316
2267
|
|
|
2317
2268
|
data_security_mode: Optional[DataSecurityMode] = None
|
|
2318
|
-
"""Data security mode decides what data governance model to use when accessing data from a cluster.
|
|
2319
|
-
|
|
2320
|
-
The following modes can only be used when `kind = CLASSIC_PREVIEW`. * `DATA_SECURITY_MODE_AUTO`:
|
|
2321
|
-
Databricks will choose the most appropriate access mode depending on your compute configuration.
|
|
2322
|
-
* `DATA_SECURITY_MODE_STANDARD`: Alias for `USER_ISOLATION`. * `DATA_SECURITY_MODE_DEDICATED`:
|
|
2323
|
-
Alias for `SINGLE_USER`.
|
|
2324
|
-
|
|
2325
|
-
The following modes can be used regardless of `kind`. * `NONE`: No security isolation for
|
|
2326
|
-
multiple users sharing the cluster. Data governance features are not available in this mode. *
|
|
2327
|
-
`SINGLE_USER`: A secure cluster that can only be exclusively used by a single user specified in
|
|
2328
|
-
`single_user_name`. Most programming languages, cluster features and data governance features
|
|
2329
|
-
are available in this mode. * `USER_ISOLATION`: A secure cluster that can be shared by multiple
|
|
2330
|
-
users. Cluster users are fully isolated so that they cannot see each other's data and
|
|
2331
|
-
credentials. Most data governance features are supported in this mode. But programming languages
|
|
2332
|
-
and cluster features might be limited.
|
|
2333
|
-
|
|
2334
|
-
The following modes are deprecated starting with Databricks Runtime 15.0 and will be removed for
|
|
2335
|
-
future Databricks Runtime versions:
|
|
2336
|
-
|
|
2337
|
-
* `LEGACY_TABLE_ACL`: This mode is for users migrating from legacy Table ACL clusters. *
|
|
2338
|
-
`LEGACY_PASSTHROUGH`: This mode is for users migrating from legacy Passthrough on high
|
|
2339
|
-
concurrency clusters. * `LEGACY_SINGLE_USER`: This mode is for users migrating from legacy
|
|
2340
|
-
Passthrough on standard clusters. * `LEGACY_SINGLE_USER_STANDARD`: This mode provides a way that
|
|
2341
|
-
doesn’t have UC nor passthrough enabled."""
|
|
2342
2269
|
|
|
2343
2270
|
docker_image: Optional[DockerImage] = None
|
|
2344
2271
|
"""Custom docker image BYOC"""
|
|
@@ -2382,19 +2309,6 @@ class ClusterSpec:
|
|
|
2382
2309
|
`spark_conf`, and `num_workers`"""
|
|
2383
2310
|
|
|
2384
2311
|
kind: Optional[Kind] = None
|
|
2385
|
-
"""The kind of compute described by this compute specification.
|
|
2386
|
-
|
|
2387
|
-
Depending on `kind`, different validations and default values will be applied.
|
|
2388
|
-
|
|
2389
|
-
Clusters with `kind = CLASSIC_PREVIEW` support the following fields, whereas clusters with no
|
|
2390
|
-
specified `kind` do not. * [is_single_node](/api/workspace/clusters/create#is_single_node) *
|
|
2391
|
-
[use_ml_runtime](/api/workspace/clusters/create#use_ml_runtime) *
|
|
2392
|
-
[data_security_mode](/api/workspace/clusters/create#data_security_mode) set to
|
|
2393
|
-
`DATA_SECURITY_MODE_AUTO`, `DATA_SECURITY_MODE_DEDICATED`, or `DATA_SECURITY_MODE_STANDARD`
|
|
2394
|
-
|
|
2395
|
-
By using the [simple form], your clusters are automatically using `kind = CLASSIC_PREVIEW`.
|
|
2396
|
-
|
|
2397
|
-
[simple form]: https://docs.databricks.com/compute/simple-form.html"""
|
|
2398
2312
|
|
|
2399
2313
|
node_type_id: Optional[str] = None
|
|
2400
2314
|
"""This field encodes, through a single value, the resources available to each of the Spark nodes
|
|
@@ -2415,6 +2329,10 @@ class ClusterSpec:
|
|
|
2415
2329
|
policy_id: Optional[str] = None
|
|
2416
2330
|
"""The ID of the cluster policy used to create the cluster if applicable."""
|
|
2417
2331
|
|
|
2332
|
+
remote_disk_throughput: Optional[int] = None
|
|
2333
|
+
"""If set, what the configurable throughput (in Mb/s) for the remote disk is. Currently only
|
|
2334
|
+
supported for GCP HYPERDISK_BALANCED disks."""
|
|
2335
|
+
|
|
2418
2336
|
runtime_engine: Optional[RuntimeEngine] = None
|
|
2419
2337
|
"""Determines the cluster's runtime engine, either standard or Photon.
|
|
2420
2338
|
|
|
@@ -2454,6 +2372,10 @@ class ClusterSpec:
|
|
|
2454
2372
|
private keys can be used to login with the user name `ubuntu` on port `2200`. Up to 10 keys can
|
|
2455
2373
|
be specified."""
|
|
2456
2374
|
|
|
2375
|
+
total_initial_remote_disk_size: Optional[int] = None
|
|
2376
|
+
"""If set, what the total initial volume size (in GB) of the remote disks should be. Currently only
|
|
2377
|
+
supported for GCP HYPERDISK_BALANCED disks."""
|
|
2378
|
+
|
|
2457
2379
|
use_ml_runtime: Optional[bool] = None
|
|
2458
2380
|
"""This field can only be used when `kind = CLASSIC_PREVIEW`.
|
|
2459
2381
|
|
|
@@ -2461,7 +2383,6 @@ class ClusterSpec:
|
|
|
2461
2383
|
`use_ml_runtime`, and whether `node_type_id` is gpu node or not."""
|
|
2462
2384
|
|
|
2463
2385
|
workload_type: Optional[WorkloadType] = None
|
|
2464
|
-
"""Cluster Attributes showing for clusters workload types."""
|
|
2465
2386
|
|
|
2466
2387
|
def as_dict(self) -> dict:
|
|
2467
2388
|
"""Serializes the ClusterSpec into a dictionary suitable for use as a JSON request body."""
|
|
@@ -2510,6 +2431,8 @@ class ClusterSpec:
|
|
|
2510
2431
|
body["num_workers"] = self.num_workers
|
|
2511
2432
|
if self.policy_id is not None:
|
|
2512
2433
|
body["policy_id"] = self.policy_id
|
|
2434
|
+
if self.remote_disk_throughput is not None:
|
|
2435
|
+
body["remote_disk_throughput"] = self.remote_disk_throughput
|
|
2513
2436
|
if self.runtime_engine is not None:
|
|
2514
2437
|
body["runtime_engine"] = self.runtime_engine.value
|
|
2515
2438
|
if self.single_user_name is not None:
|
|
@@ -2522,6 +2445,8 @@ class ClusterSpec:
|
|
|
2522
2445
|
body["spark_version"] = self.spark_version
|
|
2523
2446
|
if self.ssh_public_keys:
|
|
2524
2447
|
body["ssh_public_keys"] = [v for v in self.ssh_public_keys]
|
|
2448
|
+
if self.total_initial_remote_disk_size is not None:
|
|
2449
|
+
body["total_initial_remote_disk_size"] = self.total_initial_remote_disk_size
|
|
2525
2450
|
if self.use_ml_runtime is not None:
|
|
2526
2451
|
body["use_ml_runtime"] = self.use_ml_runtime
|
|
2527
2452
|
if self.workload_type:
|
|
@@ -2575,6 +2500,8 @@ class ClusterSpec:
|
|
|
2575
2500
|
body["num_workers"] = self.num_workers
|
|
2576
2501
|
if self.policy_id is not None:
|
|
2577
2502
|
body["policy_id"] = self.policy_id
|
|
2503
|
+
if self.remote_disk_throughput is not None:
|
|
2504
|
+
body["remote_disk_throughput"] = self.remote_disk_throughput
|
|
2578
2505
|
if self.runtime_engine is not None:
|
|
2579
2506
|
body["runtime_engine"] = self.runtime_engine
|
|
2580
2507
|
if self.single_user_name is not None:
|
|
@@ -2587,6 +2514,8 @@ class ClusterSpec:
|
|
|
2587
2514
|
body["spark_version"] = self.spark_version
|
|
2588
2515
|
if self.ssh_public_keys:
|
|
2589
2516
|
body["ssh_public_keys"] = self.ssh_public_keys
|
|
2517
|
+
if self.total_initial_remote_disk_size is not None:
|
|
2518
|
+
body["total_initial_remote_disk_size"] = self.total_initial_remote_disk_size
|
|
2590
2519
|
if self.use_ml_runtime is not None:
|
|
2591
2520
|
body["use_ml_runtime"] = self.use_ml_runtime
|
|
2592
2521
|
if self.workload_type:
|
|
@@ -2619,12 +2548,14 @@ class ClusterSpec:
|
|
|
2619
2548
|
node_type_id=d.get("node_type_id", None),
|
|
2620
2549
|
num_workers=d.get("num_workers", None),
|
|
2621
2550
|
policy_id=d.get("policy_id", None),
|
|
2551
|
+
remote_disk_throughput=d.get("remote_disk_throughput", None),
|
|
2622
2552
|
runtime_engine=_enum(d, "runtime_engine", RuntimeEngine),
|
|
2623
2553
|
single_user_name=d.get("single_user_name", None),
|
|
2624
2554
|
spark_conf=d.get("spark_conf", None),
|
|
2625
2555
|
spark_env_vars=d.get("spark_env_vars", None),
|
|
2626
2556
|
spark_version=d.get("spark_version", None),
|
|
2627
2557
|
ssh_public_keys=d.get("ssh_public_keys", None),
|
|
2558
|
+
total_initial_remote_disk_size=d.get("total_initial_remote_disk_size", None),
|
|
2628
2559
|
use_ml_runtime=d.get("use_ml_runtime", None),
|
|
2629
2560
|
workload_type=_from_dict(d, "workload_type", WorkloadType),
|
|
2630
2561
|
)
|
|
@@ -2819,30 +2750,6 @@ class CreateCluster:
|
|
|
2819
2750
|
tags"""
|
|
2820
2751
|
|
|
2821
2752
|
data_security_mode: Optional[DataSecurityMode] = None
|
|
2822
|
-
"""Data security mode decides what data governance model to use when accessing data from a cluster.
|
|
2823
|
-
|
|
2824
|
-
The following modes can only be used when `kind = CLASSIC_PREVIEW`. * `DATA_SECURITY_MODE_AUTO`:
|
|
2825
|
-
Databricks will choose the most appropriate access mode depending on your compute configuration.
|
|
2826
|
-
* `DATA_SECURITY_MODE_STANDARD`: Alias for `USER_ISOLATION`. * `DATA_SECURITY_MODE_DEDICATED`:
|
|
2827
|
-
Alias for `SINGLE_USER`.
|
|
2828
|
-
|
|
2829
|
-
The following modes can be used regardless of `kind`. * `NONE`: No security isolation for
|
|
2830
|
-
multiple users sharing the cluster. Data governance features are not available in this mode. *
|
|
2831
|
-
`SINGLE_USER`: A secure cluster that can only be exclusively used by a single user specified in
|
|
2832
|
-
`single_user_name`. Most programming languages, cluster features and data governance features
|
|
2833
|
-
are available in this mode. * `USER_ISOLATION`: A secure cluster that can be shared by multiple
|
|
2834
|
-
users. Cluster users are fully isolated so that they cannot see each other's data and
|
|
2835
|
-
credentials. Most data governance features are supported in this mode. But programming languages
|
|
2836
|
-
and cluster features might be limited.
|
|
2837
|
-
|
|
2838
|
-
The following modes are deprecated starting with Databricks Runtime 15.0 and will be removed for
|
|
2839
|
-
future Databricks Runtime versions:
|
|
2840
|
-
|
|
2841
|
-
* `LEGACY_TABLE_ACL`: This mode is for users migrating from legacy Table ACL clusters. *
|
|
2842
|
-
`LEGACY_PASSTHROUGH`: This mode is for users migrating from legacy Passthrough on high
|
|
2843
|
-
concurrency clusters. * `LEGACY_SINGLE_USER`: This mode is for users migrating from legacy
|
|
2844
|
-
Passthrough on standard clusters. * `LEGACY_SINGLE_USER_STANDARD`: This mode provides a way that
|
|
2845
|
-
doesn’t have UC nor passthrough enabled."""
|
|
2846
2753
|
|
|
2847
2754
|
docker_image: Optional[DockerImage] = None
|
|
2848
2755
|
"""Custom docker image BYOC"""
|
|
@@ -2886,19 +2793,6 @@ class CreateCluster:
|
|
|
2886
2793
|
`spark_conf`, and `num_workers`"""
|
|
2887
2794
|
|
|
2888
2795
|
kind: Optional[Kind] = None
|
|
2889
|
-
"""The kind of compute described by this compute specification.
|
|
2890
|
-
|
|
2891
|
-
Depending on `kind`, different validations and default values will be applied.
|
|
2892
|
-
|
|
2893
|
-
Clusters with `kind = CLASSIC_PREVIEW` support the following fields, whereas clusters with no
|
|
2894
|
-
specified `kind` do not. * [is_single_node](/api/workspace/clusters/create#is_single_node) *
|
|
2895
|
-
[use_ml_runtime](/api/workspace/clusters/create#use_ml_runtime) *
|
|
2896
|
-
[data_security_mode](/api/workspace/clusters/create#data_security_mode) set to
|
|
2897
|
-
`DATA_SECURITY_MODE_AUTO`, `DATA_SECURITY_MODE_DEDICATED`, or `DATA_SECURITY_MODE_STANDARD`
|
|
2898
|
-
|
|
2899
|
-
By using the [simple form], your clusters are automatically using `kind = CLASSIC_PREVIEW`.
|
|
2900
|
-
|
|
2901
|
-
[simple form]: https://docs.databricks.com/compute/simple-form.html"""
|
|
2902
2796
|
|
|
2903
2797
|
node_type_id: Optional[str] = None
|
|
2904
2798
|
"""This field encodes, through a single value, the resources available to each of the Spark nodes
|
|
@@ -2919,6 +2813,10 @@ class CreateCluster:
|
|
|
2919
2813
|
policy_id: Optional[str] = None
|
|
2920
2814
|
"""The ID of the cluster policy used to create the cluster if applicable."""
|
|
2921
2815
|
|
|
2816
|
+
remote_disk_throughput: Optional[int] = None
|
|
2817
|
+
"""If set, what the configurable throughput (in Mb/s) for the remote disk is. Currently only
|
|
2818
|
+
supported for GCP HYPERDISK_BALANCED disks."""
|
|
2819
|
+
|
|
2922
2820
|
runtime_engine: Optional[RuntimeEngine] = None
|
|
2923
2821
|
"""Determines the cluster's runtime engine, either standard or Photon.
|
|
2924
2822
|
|
|
@@ -2954,6 +2852,10 @@ class CreateCluster:
|
|
|
2954
2852
|
private keys can be used to login with the user name `ubuntu` on port `2200`. Up to 10 keys can
|
|
2955
2853
|
be specified."""
|
|
2956
2854
|
|
|
2855
|
+
total_initial_remote_disk_size: Optional[int] = None
|
|
2856
|
+
"""If set, what the total initial volume size (in GB) of the remote disks should be. Currently only
|
|
2857
|
+
supported for GCP HYPERDISK_BALANCED disks."""
|
|
2858
|
+
|
|
2957
2859
|
use_ml_runtime: Optional[bool] = None
|
|
2958
2860
|
"""This field can only be used when `kind = CLASSIC_PREVIEW`.
|
|
2959
2861
|
|
|
@@ -2961,7 +2863,6 @@ class CreateCluster:
|
|
|
2961
2863
|
`use_ml_runtime`, and whether `node_type_id` is gpu node or not."""
|
|
2962
2864
|
|
|
2963
2865
|
workload_type: Optional[WorkloadType] = None
|
|
2964
|
-
"""Cluster Attributes showing for clusters workload types."""
|
|
2965
2866
|
|
|
2966
2867
|
def as_dict(self) -> dict:
|
|
2967
2868
|
"""Serializes the CreateCluster into a dictionary suitable for use as a JSON request body."""
|
|
@@ -3012,6 +2913,8 @@ class CreateCluster:
|
|
|
3012
2913
|
body["num_workers"] = self.num_workers
|
|
3013
2914
|
if self.policy_id is not None:
|
|
3014
2915
|
body["policy_id"] = self.policy_id
|
|
2916
|
+
if self.remote_disk_throughput is not None:
|
|
2917
|
+
body["remote_disk_throughput"] = self.remote_disk_throughput
|
|
3015
2918
|
if self.runtime_engine is not None:
|
|
3016
2919
|
body["runtime_engine"] = self.runtime_engine.value
|
|
3017
2920
|
if self.single_user_name is not None:
|
|
@@ -3024,6 +2927,8 @@ class CreateCluster:
|
|
|
3024
2927
|
body["spark_version"] = self.spark_version
|
|
3025
2928
|
if self.ssh_public_keys:
|
|
3026
2929
|
body["ssh_public_keys"] = [v for v in self.ssh_public_keys]
|
|
2930
|
+
if self.total_initial_remote_disk_size is not None:
|
|
2931
|
+
body["total_initial_remote_disk_size"] = self.total_initial_remote_disk_size
|
|
3027
2932
|
if self.use_ml_runtime is not None:
|
|
3028
2933
|
body["use_ml_runtime"] = self.use_ml_runtime
|
|
3029
2934
|
if self.workload_type:
|
|
@@ -3079,6 +2984,8 @@ class CreateCluster:
|
|
|
3079
2984
|
body["num_workers"] = self.num_workers
|
|
3080
2985
|
if self.policy_id is not None:
|
|
3081
2986
|
body["policy_id"] = self.policy_id
|
|
2987
|
+
if self.remote_disk_throughput is not None:
|
|
2988
|
+
body["remote_disk_throughput"] = self.remote_disk_throughput
|
|
3082
2989
|
if self.runtime_engine is not None:
|
|
3083
2990
|
body["runtime_engine"] = self.runtime_engine
|
|
3084
2991
|
if self.single_user_name is not None:
|
|
@@ -3091,6 +2998,8 @@ class CreateCluster:
|
|
|
3091
2998
|
body["spark_version"] = self.spark_version
|
|
3092
2999
|
if self.ssh_public_keys:
|
|
3093
3000
|
body["ssh_public_keys"] = self.ssh_public_keys
|
|
3001
|
+
if self.total_initial_remote_disk_size is not None:
|
|
3002
|
+
body["total_initial_remote_disk_size"] = self.total_initial_remote_disk_size
|
|
3094
3003
|
if self.use_ml_runtime is not None:
|
|
3095
3004
|
body["use_ml_runtime"] = self.use_ml_runtime
|
|
3096
3005
|
if self.workload_type:
|
|
@@ -3124,12 +3033,14 @@ class CreateCluster:
|
|
|
3124
3033
|
node_type_id=d.get("node_type_id", None),
|
|
3125
3034
|
num_workers=d.get("num_workers", None),
|
|
3126
3035
|
policy_id=d.get("policy_id", None),
|
|
3036
|
+
remote_disk_throughput=d.get("remote_disk_throughput", None),
|
|
3127
3037
|
runtime_engine=_enum(d, "runtime_engine", RuntimeEngine),
|
|
3128
3038
|
single_user_name=d.get("single_user_name", None),
|
|
3129
3039
|
spark_conf=d.get("spark_conf", None),
|
|
3130
3040
|
spark_env_vars=d.get("spark_env_vars", None),
|
|
3131
3041
|
spark_version=d.get("spark_version", None),
|
|
3132
3042
|
ssh_public_keys=d.get("ssh_public_keys", None),
|
|
3043
|
+
total_initial_remote_disk_size=d.get("total_initial_remote_disk_size", None),
|
|
3133
3044
|
use_ml_runtime=d.get("use_ml_runtime", None),
|
|
3134
3045
|
workload_type=_from_dict(d, "workload_type", WorkloadType),
|
|
3135
3046
|
)
|
|
@@ -3252,6 +3163,14 @@ class CreateInstancePool:
|
|
|
3252
3163
|
started with the preloaded Spark version will start faster. A list of available Spark versions
|
|
3253
3164
|
can be retrieved by using the :method:clusters/sparkVersions API call."""
|
|
3254
3165
|
|
|
3166
|
+
remote_disk_throughput: Optional[int] = None
|
|
3167
|
+
"""If set, what the configurable throughput (in Mb/s) for the remote disk is. Currently only
|
|
3168
|
+
supported for GCP HYPERDISK_BALANCED types."""
|
|
3169
|
+
|
|
3170
|
+
total_initial_remote_disk_size: Optional[int] = None
|
|
3171
|
+
"""If set, what the total initial volume size (in GB) of the remote disks should be. Currently only
|
|
3172
|
+
supported for GCP HYPERDISK_BALANCED types."""
|
|
3173
|
+
|
|
3255
3174
|
def as_dict(self) -> dict:
|
|
3256
3175
|
"""Serializes the CreateInstancePool into a dictionary suitable for use as a JSON request body."""
|
|
3257
3176
|
body = {}
|
|
@@ -3281,6 +3200,10 @@ class CreateInstancePool:
|
|
|
3281
3200
|
body["preloaded_docker_images"] = [v.as_dict() for v in self.preloaded_docker_images]
|
|
3282
3201
|
if self.preloaded_spark_versions:
|
|
3283
3202
|
body["preloaded_spark_versions"] = [v for v in self.preloaded_spark_versions]
|
|
3203
|
+
if self.remote_disk_throughput is not None:
|
|
3204
|
+
body["remote_disk_throughput"] = self.remote_disk_throughput
|
|
3205
|
+
if self.total_initial_remote_disk_size is not None:
|
|
3206
|
+
body["total_initial_remote_disk_size"] = self.total_initial_remote_disk_size
|
|
3284
3207
|
return body
|
|
3285
3208
|
|
|
3286
3209
|
def as_shallow_dict(self) -> dict:
|
|
@@ -3312,6 +3235,10 @@ class CreateInstancePool:
|
|
|
3312
3235
|
body["preloaded_docker_images"] = self.preloaded_docker_images
|
|
3313
3236
|
if self.preloaded_spark_versions:
|
|
3314
3237
|
body["preloaded_spark_versions"] = self.preloaded_spark_versions
|
|
3238
|
+
if self.remote_disk_throughput is not None:
|
|
3239
|
+
body["remote_disk_throughput"] = self.remote_disk_throughput
|
|
3240
|
+
if self.total_initial_remote_disk_size is not None:
|
|
3241
|
+
body["total_initial_remote_disk_size"] = self.total_initial_remote_disk_size
|
|
3315
3242
|
return body
|
|
3316
3243
|
|
|
3317
3244
|
@classmethod
|
|
@@ -3331,6 +3258,8 @@ class CreateInstancePool:
|
|
|
3331
3258
|
node_type_id=d.get("node_type_id", None),
|
|
3332
3259
|
preloaded_docker_images=_repeated_dict(d, "preloaded_docker_images", DockerImage),
|
|
3333
3260
|
preloaded_spark_versions=d.get("preloaded_spark_versions", None),
|
|
3261
|
+
remote_disk_throughput=d.get("remote_disk_throughput", None),
|
|
3262
|
+
total_initial_remote_disk_size=d.get("total_initial_remote_disk_size", None),
|
|
3334
3263
|
)
|
|
3335
3264
|
|
|
3336
3265
|
|
|
@@ -3953,12 +3882,8 @@ class DiskType:
|
|
|
3953
3882
|
"""Describes the disk type."""
|
|
3954
3883
|
|
|
3955
3884
|
azure_disk_volume_type: Optional[DiskTypeAzureDiskVolumeType] = None
|
|
3956
|
-
"""All Azure Disk types that Databricks supports. See
|
|
3957
|
-
https://docs.microsoft.com/en-us/azure/storage/storage-about-disks-and-vhds-linux#types-of-disks"""
|
|
3958
3885
|
|
|
3959
3886
|
ebs_volume_type: Optional[DiskTypeEbsVolumeType] = None
|
|
3960
|
-
"""All EBS volume types that Databricks supports. See https://aws.amazon.com/ebs/details/ for
|
|
3961
|
-
details."""
|
|
3962
3887
|
|
|
3963
3888
|
def as_dict(self) -> dict:
|
|
3964
3889
|
"""Serializes the DiskType into a dictionary suitable for use as a JSON request body."""
|
|
@@ -4128,30 +4053,6 @@ class EditCluster:
|
|
|
4128
4053
|
tags"""
|
|
4129
4054
|
|
|
4130
4055
|
data_security_mode: Optional[DataSecurityMode] = None
|
|
4131
|
-
"""Data security mode decides what data governance model to use when accessing data from a cluster.
|
|
4132
|
-
|
|
4133
|
-
The following modes can only be used when `kind = CLASSIC_PREVIEW`. * `DATA_SECURITY_MODE_AUTO`:
|
|
4134
|
-
Databricks will choose the most appropriate access mode depending on your compute configuration.
|
|
4135
|
-
* `DATA_SECURITY_MODE_STANDARD`: Alias for `USER_ISOLATION`. * `DATA_SECURITY_MODE_DEDICATED`:
|
|
4136
|
-
Alias for `SINGLE_USER`.
|
|
4137
|
-
|
|
4138
|
-
The following modes can be used regardless of `kind`. * `NONE`: No security isolation for
|
|
4139
|
-
multiple users sharing the cluster. Data governance features are not available in this mode. *
|
|
4140
|
-
`SINGLE_USER`: A secure cluster that can only be exclusively used by a single user specified in
|
|
4141
|
-
`single_user_name`. Most programming languages, cluster features and data governance features
|
|
4142
|
-
are available in this mode. * `USER_ISOLATION`: A secure cluster that can be shared by multiple
|
|
4143
|
-
users. Cluster users are fully isolated so that they cannot see each other's data and
|
|
4144
|
-
credentials. Most data governance features are supported in this mode. But programming languages
|
|
4145
|
-
and cluster features might be limited.
|
|
4146
|
-
|
|
4147
|
-
The following modes are deprecated starting with Databricks Runtime 15.0 and will be removed for
|
|
4148
|
-
future Databricks Runtime versions:
|
|
4149
|
-
|
|
4150
|
-
* `LEGACY_TABLE_ACL`: This mode is for users migrating from legacy Table ACL clusters. *
|
|
4151
|
-
`LEGACY_PASSTHROUGH`: This mode is for users migrating from legacy Passthrough on high
|
|
4152
|
-
concurrency clusters. * `LEGACY_SINGLE_USER`: This mode is for users migrating from legacy
|
|
4153
|
-
Passthrough on standard clusters. * `LEGACY_SINGLE_USER_STANDARD`: This mode provides a way that
|
|
4154
|
-
doesn’t have UC nor passthrough enabled."""
|
|
4155
4056
|
|
|
4156
4057
|
docker_image: Optional[DockerImage] = None
|
|
4157
4058
|
"""Custom docker image BYOC"""
|
|
@@ -4195,19 +4096,6 @@ class EditCluster:
|
|
|
4195
4096
|
`spark_conf`, and `num_workers`"""
|
|
4196
4097
|
|
|
4197
4098
|
kind: Optional[Kind] = None
|
|
4198
|
-
"""The kind of compute described by this compute specification.
|
|
4199
|
-
|
|
4200
|
-
Depending on `kind`, different validations and default values will be applied.
|
|
4201
|
-
|
|
4202
|
-
Clusters with `kind = CLASSIC_PREVIEW` support the following fields, whereas clusters with no
|
|
4203
|
-
specified `kind` do not. * [is_single_node](/api/workspace/clusters/create#is_single_node) *
|
|
4204
|
-
[use_ml_runtime](/api/workspace/clusters/create#use_ml_runtime) *
|
|
4205
|
-
[data_security_mode](/api/workspace/clusters/create#data_security_mode) set to
|
|
4206
|
-
`DATA_SECURITY_MODE_AUTO`, `DATA_SECURITY_MODE_DEDICATED`, or `DATA_SECURITY_MODE_STANDARD`
|
|
4207
|
-
|
|
4208
|
-
By using the [simple form], your clusters are automatically using `kind = CLASSIC_PREVIEW`.
|
|
4209
|
-
|
|
4210
|
-
[simple form]: https://docs.databricks.com/compute/simple-form.html"""
|
|
4211
4099
|
|
|
4212
4100
|
node_type_id: Optional[str] = None
|
|
4213
4101
|
"""This field encodes, through a single value, the resources available to each of the Spark nodes
|
|
@@ -4228,6 +4116,10 @@ class EditCluster:
|
|
|
4228
4116
|
policy_id: Optional[str] = None
|
|
4229
4117
|
"""The ID of the cluster policy used to create the cluster if applicable."""
|
|
4230
4118
|
|
|
4119
|
+
remote_disk_throughput: Optional[int] = None
|
|
4120
|
+
"""If set, what the configurable throughput (in Mb/s) for the remote disk is. Currently only
|
|
4121
|
+
supported for GCP HYPERDISK_BALANCED disks."""
|
|
4122
|
+
|
|
4231
4123
|
runtime_engine: Optional[RuntimeEngine] = None
|
|
4232
4124
|
"""Determines the cluster's runtime engine, either standard or Photon.
|
|
4233
4125
|
|
|
@@ -4263,6 +4155,10 @@ class EditCluster:
|
|
|
4263
4155
|
private keys can be used to login with the user name `ubuntu` on port `2200`. Up to 10 keys can
|
|
4264
4156
|
be specified."""
|
|
4265
4157
|
|
|
4158
|
+
total_initial_remote_disk_size: Optional[int] = None
|
|
4159
|
+
"""If set, what the total initial volume size (in GB) of the remote disks should be. Currently only
|
|
4160
|
+
supported for GCP HYPERDISK_BALANCED disks."""
|
|
4161
|
+
|
|
4266
4162
|
use_ml_runtime: Optional[bool] = None
|
|
4267
4163
|
"""This field can only be used when `kind = CLASSIC_PREVIEW`.
|
|
4268
4164
|
|
|
@@ -4270,7 +4166,6 @@ class EditCluster:
|
|
|
4270
4166
|
`use_ml_runtime`, and whether `node_type_id` is gpu node or not."""
|
|
4271
4167
|
|
|
4272
4168
|
workload_type: Optional[WorkloadType] = None
|
|
4273
|
-
"""Cluster Attributes showing for clusters workload types."""
|
|
4274
4169
|
|
|
4275
4170
|
def as_dict(self) -> dict:
|
|
4276
4171
|
"""Serializes the EditCluster into a dictionary suitable for use as a JSON request body."""
|
|
@@ -4321,6 +4216,8 @@ class EditCluster:
|
|
|
4321
4216
|
body["num_workers"] = self.num_workers
|
|
4322
4217
|
if self.policy_id is not None:
|
|
4323
4218
|
body["policy_id"] = self.policy_id
|
|
4219
|
+
if self.remote_disk_throughput is not None:
|
|
4220
|
+
body["remote_disk_throughput"] = self.remote_disk_throughput
|
|
4324
4221
|
if self.runtime_engine is not None:
|
|
4325
4222
|
body["runtime_engine"] = self.runtime_engine.value
|
|
4326
4223
|
if self.single_user_name is not None:
|
|
@@ -4333,6 +4230,8 @@ class EditCluster:
|
|
|
4333
4230
|
body["spark_version"] = self.spark_version
|
|
4334
4231
|
if self.ssh_public_keys:
|
|
4335
4232
|
body["ssh_public_keys"] = [v for v in self.ssh_public_keys]
|
|
4233
|
+
if self.total_initial_remote_disk_size is not None:
|
|
4234
|
+
body["total_initial_remote_disk_size"] = self.total_initial_remote_disk_size
|
|
4336
4235
|
if self.use_ml_runtime is not None:
|
|
4337
4236
|
body["use_ml_runtime"] = self.use_ml_runtime
|
|
4338
4237
|
if self.workload_type:
|
|
@@ -4388,6 +4287,8 @@ class EditCluster:
|
|
|
4388
4287
|
body["num_workers"] = self.num_workers
|
|
4389
4288
|
if self.policy_id is not None:
|
|
4390
4289
|
body["policy_id"] = self.policy_id
|
|
4290
|
+
if self.remote_disk_throughput is not None:
|
|
4291
|
+
body["remote_disk_throughput"] = self.remote_disk_throughput
|
|
4391
4292
|
if self.runtime_engine is not None:
|
|
4392
4293
|
body["runtime_engine"] = self.runtime_engine
|
|
4393
4294
|
if self.single_user_name is not None:
|
|
@@ -4400,6 +4301,8 @@ class EditCluster:
|
|
|
4400
4301
|
body["spark_version"] = self.spark_version
|
|
4401
4302
|
if self.ssh_public_keys:
|
|
4402
4303
|
body["ssh_public_keys"] = self.ssh_public_keys
|
|
4304
|
+
if self.total_initial_remote_disk_size is not None:
|
|
4305
|
+
body["total_initial_remote_disk_size"] = self.total_initial_remote_disk_size
|
|
4403
4306
|
if self.use_ml_runtime is not None:
|
|
4404
4307
|
body["use_ml_runtime"] = self.use_ml_runtime
|
|
4405
4308
|
if self.workload_type:
|
|
@@ -4433,12 +4336,14 @@ class EditCluster:
|
|
|
4433
4336
|
node_type_id=d.get("node_type_id", None),
|
|
4434
4337
|
num_workers=d.get("num_workers", None),
|
|
4435
4338
|
policy_id=d.get("policy_id", None),
|
|
4339
|
+
remote_disk_throughput=d.get("remote_disk_throughput", None),
|
|
4436
4340
|
runtime_engine=_enum(d, "runtime_engine", RuntimeEngine),
|
|
4437
4341
|
single_user_name=d.get("single_user_name", None),
|
|
4438
4342
|
spark_conf=d.get("spark_conf", None),
|
|
4439
4343
|
spark_env_vars=d.get("spark_env_vars", None),
|
|
4440
4344
|
spark_version=d.get("spark_version", None),
|
|
4441
4345
|
ssh_public_keys=d.get("ssh_public_keys", None),
|
|
4346
|
+
total_initial_remote_disk_size=d.get("total_initial_remote_disk_size", None),
|
|
4442
4347
|
use_ml_runtime=d.get("use_ml_runtime", None),
|
|
4443
4348
|
workload_type=_from_dict(d, "workload_type", WorkloadType),
|
|
4444
4349
|
)
|
|
@@ -4498,6 +4403,14 @@ class EditInstancePool:
|
|
|
4498
4403
|
min_idle_instances: Optional[int] = None
|
|
4499
4404
|
"""Minimum number of idle instances to keep in the instance pool"""
|
|
4500
4405
|
|
|
4406
|
+
remote_disk_throughput: Optional[int] = None
|
|
4407
|
+
"""If set, what the configurable throughput (in Mb/s) for the remote disk is. Currently only
|
|
4408
|
+
supported for GCP HYPERDISK_BALANCED types."""
|
|
4409
|
+
|
|
4410
|
+
total_initial_remote_disk_size: Optional[int] = None
|
|
4411
|
+
"""If set, what the total initial volume size (in GB) of the remote disks should be. Currently only
|
|
4412
|
+
supported for GCP HYPERDISK_BALANCED types."""
|
|
4413
|
+
|
|
4501
4414
|
def as_dict(self) -> dict:
|
|
4502
4415
|
"""Serializes the EditInstancePool into a dictionary suitable for use as a JSON request body."""
|
|
4503
4416
|
body = {}
|
|
@@ -4515,6 +4428,10 @@ class EditInstancePool:
|
|
|
4515
4428
|
body["min_idle_instances"] = self.min_idle_instances
|
|
4516
4429
|
if self.node_type_id is not None:
|
|
4517
4430
|
body["node_type_id"] = self.node_type_id
|
|
4431
|
+
if self.remote_disk_throughput is not None:
|
|
4432
|
+
body["remote_disk_throughput"] = self.remote_disk_throughput
|
|
4433
|
+
if self.total_initial_remote_disk_size is not None:
|
|
4434
|
+
body["total_initial_remote_disk_size"] = self.total_initial_remote_disk_size
|
|
4518
4435
|
return body
|
|
4519
4436
|
|
|
4520
4437
|
def as_shallow_dict(self) -> dict:
|
|
@@ -4534,6 +4451,10 @@ class EditInstancePool:
|
|
|
4534
4451
|
body["min_idle_instances"] = self.min_idle_instances
|
|
4535
4452
|
if self.node_type_id is not None:
|
|
4536
4453
|
body["node_type_id"] = self.node_type_id
|
|
4454
|
+
if self.remote_disk_throughput is not None:
|
|
4455
|
+
body["remote_disk_throughput"] = self.remote_disk_throughput
|
|
4456
|
+
if self.total_initial_remote_disk_size is not None:
|
|
4457
|
+
body["total_initial_remote_disk_size"] = self.total_initial_remote_disk_size
|
|
4537
4458
|
return body
|
|
4538
4459
|
|
|
4539
4460
|
@classmethod
|
|
@@ -4547,6 +4468,8 @@ class EditInstancePool:
|
|
|
4547
4468
|
max_capacity=d.get("max_capacity", None),
|
|
4548
4469
|
min_idle_instances=d.get("min_idle_instances", None),
|
|
4549
4470
|
node_type_id=d.get("node_type_id", None),
|
|
4471
|
+
remote_disk_throughput=d.get("remote_disk_throughput", None),
|
|
4472
|
+
total_initial_remote_disk_size=d.get("total_initial_remote_disk_size", None),
|
|
4550
4473
|
)
|
|
4551
4474
|
|
|
4552
4475
|
|
|
@@ -5506,6 +5429,10 @@ class GetInstancePool:
|
|
|
5506
5429
|
started with the preloaded Spark version will start faster. A list of available Spark versions
|
|
5507
5430
|
can be retrieved by using the :method:clusters/sparkVersions API call."""
|
|
5508
5431
|
|
|
5432
|
+
remote_disk_throughput: Optional[int] = None
|
|
5433
|
+
"""If set, what the configurable throughput (in Mb/s) for the remote disk is. Currently only
|
|
5434
|
+
supported for GCP HYPERDISK_BALANCED types."""
|
|
5435
|
+
|
|
5509
5436
|
state: Optional[InstancePoolState] = None
|
|
5510
5437
|
"""Current state of the instance pool."""
|
|
5511
5438
|
|
|
@@ -5515,6 +5442,10 @@ class GetInstancePool:
|
|
|
5515
5442
|
status: Optional[InstancePoolStatus] = None
|
|
5516
5443
|
"""Status of failed pending instances in the pool."""
|
|
5517
5444
|
|
|
5445
|
+
total_initial_remote_disk_size: Optional[int] = None
|
|
5446
|
+
"""If set, what the total initial volume size (in GB) of the remote disks should be. Currently only
|
|
5447
|
+
supported for GCP HYPERDISK_BALANCED types."""
|
|
5448
|
+
|
|
5518
5449
|
def as_dict(self) -> dict:
|
|
5519
5450
|
"""Serializes the GetInstancePool into a dictionary suitable for use as a JSON request body."""
|
|
5520
5451
|
body = {}
|
|
@@ -5548,12 +5479,16 @@ class GetInstancePool:
|
|
|
5548
5479
|
body["preloaded_docker_images"] = [v.as_dict() for v in self.preloaded_docker_images]
|
|
5549
5480
|
if self.preloaded_spark_versions:
|
|
5550
5481
|
body["preloaded_spark_versions"] = [v for v in self.preloaded_spark_versions]
|
|
5482
|
+
if self.remote_disk_throughput is not None:
|
|
5483
|
+
body["remote_disk_throughput"] = self.remote_disk_throughput
|
|
5551
5484
|
if self.state is not None:
|
|
5552
5485
|
body["state"] = self.state.value
|
|
5553
5486
|
if self.stats:
|
|
5554
5487
|
body["stats"] = self.stats.as_dict()
|
|
5555
5488
|
if self.status:
|
|
5556
5489
|
body["status"] = self.status.as_dict()
|
|
5490
|
+
if self.total_initial_remote_disk_size is not None:
|
|
5491
|
+
body["total_initial_remote_disk_size"] = self.total_initial_remote_disk_size
|
|
5557
5492
|
return body
|
|
5558
5493
|
|
|
5559
5494
|
def as_shallow_dict(self) -> dict:
|
|
@@ -5589,12 +5524,16 @@ class GetInstancePool:
|
|
|
5589
5524
|
body["preloaded_docker_images"] = self.preloaded_docker_images
|
|
5590
5525
|
if self.preloaded_spark_versions:
|
|
5591
5526
|
body["preloaded_spark_versions"] = self.preloaded_spark_versions
|
|
5527
|
+
if self.remote_disk_throughput is not None:
|
|
5528
|
+
body["remote_disk_throughput"] = self.remote_disk_throughput
|
|
5592
5529
|
if self.state is not None:
|
|
5593
5530
|
body["state"] = self.state
|
|
5594
5531
|
if self.stats:
|
|
5595
5532
|
body["stats"] = self.stats
|
|
5596
5533
|
if self.status:
|
|
5597
5534
|
body["status"] = self.status
|
|
5535
|
+
if self.total_initial_remote_disk_size is not None:
|
|
5536
|
+
body["total_initial_remote_disk_size"] = self.total_initial_remote_disk_size
|
|
5598
5537
|
return body
|
|
5599
5538
|
|
|
5600
5539
|
@classmethod
|
|
@@ -5616,9 +5555,11 @@ class GetInstancePool:
|
|
|
5616
5555
|
node_type_id=d.get("node_type_id", None),
|
|
5617
5556
|
preloaded_docker_images=_repeated_dict(d, "preloaded_docker_images", DockerImage),
|
|
5618
5557
|
preloaded_spark_versions=d.get("preloaded_spark_versions", None),
|
|
5558
|
+
remote_disk_throughput=d.get("remote_disk_throughput", None),
|
|
5619
5559
|
state=_enum(d, "state", InstancePoolState),
|
|
5620
5560
|
stats=_from_dict(d, "stats", InstancePoolStats),
|
|
5621
5561
|
status=_from_dict(d, "status", InstancePoolStatus),
|
|
5562
|
+
total_initial_remote_disk_size=d.get("total_initial_remote_disk_size", None),
|
|
5622
5563
|
)
|
|
5623
5564
|
|
|
5624
5565
|
|
|
@@ -6281,7 +6222,6 @@ class InstancePoolAccessControlRequest:
|
|
|
6281
6222
|
"""name of the group"""
|
|
6282
6223
|
|
|
6283
6224
|
permission_level: Optional[InstancePoolPermissionLevel] = None
|
|
6284
|
-
"""Permission level"""
|
|
6285
6225
|
|
|
6286
6226
|
service_principal_name: Optional[str] = None
|
|
6287
6227
|
"""application ID of a service principal"""
|
|
@@ -6461,6 +6401,10 @@ class InstancePoolAndStats:
|
|
|
6461
6401
|
started with the preloaded Spark version will start faster. A list of available Spark versions
|
|
6462
6402
|
can be retrieved by using the :method:clusters/sparkVersions API call."""
|
|
6463
6403
|
|
|
6404
|
+
remote_disk_throughput: Optional[int] = None
|
|
6405
|
+
"""If set, what the configurable throughput (in Mb/s) for the remote disk is. Currently only
|
|
6406
|
+
supported for GCP HYPERDISK_BALANCED types."""
|
|
6407
|
+
|
|
6464
6408
|
state: Optional[InstancePoolState] = None
|
|
6465
6409
|
"""Current state of the instance pool."""
|
|
6466
6410
|
|
|
@@ -6470,6 +6414,10 @@ class InstancePoolAndStats:
|
|
|
6470
6414
|
status: Optional[InstancePoolStatus] = None
|
|
6471
6415
|
"""Status of failed pending instances in the pool."""
|
|
6472
6416
|
|
|
6417
|
+
total_initial_remote_disk_size: Optional[int] = None
|
|
6418
|
+
"""If set, what the total initial volume size (in GB) of the remote disks should be. Currently only
|
|
6419
|
+
supported for GCP HYPERDISK_BALANCED types."""
|
|
6420
|
+
|
|
6473
6421
|
def as_dict(self) -> dict:
|
|
6474
6422
|
"""Serializes the InstancePoolAndStats into a dictionary suitable for use as a JSON request body."""
|
|
6475
6423
|
body = {}
|
|
@@ -6503,12 +6451,16 @@ class InstancePoolAndStats:
|
|
|
6503
6451
|
body["preloaded_docker_images"] = [v.as_dict() for v in self.preloaded_docker_images]
|
|
6504
6452
|
if self.preloaded_spark_versions:
|
|
6505
6453
|
body["preloaded_spark_versions"] = [v for v in self.preloaded_spark_versions]
|
|
6454
|
+
if self.remote_disk_throughput is not None:
|
|
6455
|
+
body["remote_disk_throughput"] = self.remote_disk_throughput
|
|
6506
6456
|
if self.state is not None:
|
|
6507
6457
|
body["state"] = self.state.value
|
|
6508
6458
|
if self.stats:
|
|
6509
6459
|
body["stats"] = self.stats.as_dict()
|
|
6510
6460
|
if self.status:
|
|
6511
6461
|
body["status"] = self.status.as_dict()
|
|
6462
|
+
if self.total_initial_remote_disk_size is not None:
|
|
6463
|
+
body["total_initial_remote_disk_size"] = self.total_initial_remote_disk_size
|
|
6512
6464
|
return body
|
|
6513
6465
|
|
|
6514
6466
|
def as_shallow_dict(self) -> dict:
|
|
@@ -6544,12 +6496,16 @@ class InstancePoolAndStats:
|
|
|
6544
6496
|
body["preloaded_docker_images"] = self.preloaded_docker_images
|
|
6545
6497
|
if self.preloaded_spark_versions:
|
|
6546
6498
|
body["preloaded_spark_versions"] = self.preloaded_spark_versions
|
|
6499
|
+
if self.remote_disk_throughput is not None:
|
|
6500
|
+
body["remote_disk_throughput"] = self.remote_disk_throughput
|
|
6547
6501
|
if self.state is not None:
|
|
6548
6502
|
body["state"] = self.state
|
|
6549
6503
|
if self.stats:
|
|
6550
6504
|
body["stats"] = self.stats
|
|
6551
6505
|
if self.status:
|
|
6552
6506
|
body["status"] = self.status
|
|
6507
|
+
if self.total_initial_remote_disk_size is not None:
|
|
6508
|
+
body["total_initial_remote_disk_size"] = self.total_initial_remote_disk_size
|
|
6553
6509
|
return body
|
|
6554
6510
|
|
|
6555
6511
|
@classmethod
|
|
@@ -6571,9 +6527,11 @@ class InstancePoolAndStats:
|
|
|
6571
6527
|
node_type_id=d.get("node_type_id", None),
|
|
6572
6528
|
preloaded_docker_images=_repeated_dict(d, "preloaded_docker_images", DockerImage),
|
|
6573
6529
|
preloaded_spark_versions=d.get("preloaded_spark_versions", None),
|
|
6530
|
+
remote_disk_throughput=d.get("remote_disk_throughput", None),
|
|
6574
6531
|
state=_enum(d, "state", InstancePoolState),
|
|
6575
6532
|
stats=_from_dict(d, "stats", InstancePoolStats),
|
|
6576
6533
|
status=_from_dict(d, "status", InstancePoolStatus),
|
|
6534
|
+
total_initial_remote_disk_size=d.get("total_initial_remote_disk_size", None),
|
|
6577
6535
|
)
|
|
6578
6536
|
|
|
6579
6537
|
|
|
@@ -6692,8 +6650,6 @@ class InstancePoolGcpAttributes:
|
|
|
6692
6650
|
"""Attributes set during instance pool creation which are related to GCP."""
|
|
6693
6651
|
|
|
6694
6652
|
gcp_availability: Optional[GcpAvailability] = None
|
|
6695
|
-
"""This field determines whether the instance pool will contain preemptible VMs, on-demand VMs, or
|
|
6696
|
-
preemptible VMs with a fallback to on-demand VMs if the former is unavailable."""
|
|
6697
6653
|
|
|
6698
6654
|
local_ssd_count: Optional[int] = None
|
|
6699
6655
|
"""If provided, each node in the instance pool will have this number of local SSDs attached. Each
|
|
@@ -6755,7 +6711,6 @@ class InstancePoolPermission:
|
|
|
6755
6711
|
inherited_from_object: Optional[List[str]] = None
|
|
6756
6712
|
|
|
6757
6713
|
permission_level: Optional[InstancePoolPermissionLevel] = None
|
|
6758
|
-
"""Permission level"""
|
|
6759
6714
|
|
|
6760
6715
|
def as_dict(self) -> dict:
|
|
6761
6716
|
"""Serializes the InstancePoolPermission into a dictionary suitable for use as a JSON request body."""
|
|
@@ -6841,7 +6796,6 @@ class InstancePoolPermissionsDescription:
|
|
|
6841
6796
|
description: Optional[str] = None
|
|
6842
6797
|
|
|
6843
6798
|
permission_level: Optional[InstancePoolPermissionLevel] = None
|
|
6844
|
-
"""Permission level"""
|
|
6845
6799
|
|
|
6846
6800
|
def as_dict(self) -> dict:
|
|
6847
6801
|
"""Serializes the InstancePoolPermissionsDescription into a dictionary suitable for use as a JSON request body."""
|
|
@@ -7066,6 +7020,7 @@ class Kind(Enum):
|
|
|
7066
7020
|
class Language(Enum):
|
|
7067
7021
|
|
|
7068
7022
|
PYTHON = "python"
|
|
7023
|
+
R = "r"
|
|
7069
7024
|
SCALA = "scala"
|
|
7070
7025
|
SQL = "sql"
|
|
7071
7026
|
|
|
@@ -9143,6 +9098,7 @@ class TerminationReasonCode(Enum):
|
|
|
9143
9098
|
SECRET_CREATION_FAILURE = "SECRET_CREATION_FAILURE"
|
|
9144
9099
|
SECRET_PERMISSION_DENIED = "SECRET_PERMISSION_DENIED"
|
|
9145
9100
|
SECRET_RESOLUTION_ERROR = "SECRET_RESOLUTION_ERROR"
|
|
9101
|
+
SECURITY_AGENTS_FAILED_INITIAL_VERIFICATION = "SECURITY_AGENTS_FAILED_INITIAL_VERIFICATION"
|
|
9146
9102
|
SECURITY_DAEMON_REGISTRATION_EXCEPTION = "SECURITY_DAEMON_REGISTRATION_EXCEPTION"
|
|
9147
9103
|
SELF_BOOTSTRAP_FAILURE = "SELF_BOOTSTRAP_FAILURE"
|
|
9148
9104
|
SERVERLESS_LONG_RUNNING_TERMINATED = "SERVERLESS_LONG_RUNNING_TERMINATED"
|
|
@@ -9373,30 +9329,6 @@ class UpdateClusterResource:
|
|
|
9373
9329
|
tags"""
|
|
9374
9330
|
|
|
9375
9331
|
data_security_mode: Optional[DataSecurityMode] = None
|
|
9376
|
-
"""Data security mode decides what data governance model to use when accessing data from a cluster.
|
|
9377
|
-
|
|
9378
|
-
The following modes can only be used when `kind = CLASSIC_PREVIEW`. * `DATA_SECURITY_MODE_AUTO`:
|
|
9379
|
-
Databricks will choose the most appropriate access mode depending on your compute configuration.
|
|
9380
|
-
* `DATA_SECURITY_MODE_STANDARD`: Alias for `USER_ISOLATION`. * `DATA_SECURITY_MODE_DEDICATED`:
|
|
9381
|
-
Alias for `SINGLE_USER`.
|
|
9382
|
-
|
|
9383
|
-
The following modes can be used regardless of `kind`. * `NONE`: No security isolation for
|
|
9384
|
-
multiple users sharing the cluster. Data governance features are not available in this mode. *
|
|
9385
|
-
`SINGLE_USER`: A secure cluster that can only be exclusively used by a single user specified in
|
|
9386
|
-
`single_user_name`. Most programming languages, cluster features and data governance features
|
|
9387
|
-
are available in this mode. * `USER_ISOLATION`: A secure cluster that can be shared by multiple
|
|
9388
|
-
users. Cluster users are fully isolated so that they cannot see each other's data and
|
|
9389
|
-
credentials. Most data governance features are supported in this mode. But programming languages
|
|
9390
|
-
and cluster features might be limited.
|
|
9391
|
-
|
|
9392
|
-
The following modes are deprecated starting with Databricks Runtime 15.0 and will be removed for
|
|
9393
|
-
future Databricks Runtime versions:
|
|
9394
|
-
|
|
9395
|
-
* `LEGACY_TABLE_ACL`: This mode is for users migrating from legacy Table ACL clusters. *
|
|
9396
|
-
`LEGACY_PASSTHROUGH`: This mode is for users migrating from legacy Passthrough on high
|
|
9397
|
-
concurrency clusters. * `LEGACY_SINGLE_USER`: This mode is for users migrating from legacy
|
|
9398
|
-
Passthrough on standard clusters. * `LEGACY_SINGLE_USER_STANDARD`: This mode provides a way that
|
|
9399
|
-
doesn’t have UC nor passthrough enabled."""
|
|
9400
9332
|
|
|
9401
9333
|
docker_image: Optional[DockerImage] = None
|
|
9402
9334
|
"""Custom docker image BYOC"""
|
|
@@ -9440,19 +9372,6 @@ class UpdateClusterResource:
|
|
|
9440
9372
|
`spark_conf`, and `num_workers`"""
|
|
9441
9373
|
|
|
9442
9374
|
kind: Optional[Kind] = None
|
|
9443
|
-
"""The kind of compute described by this compute specification.
|
|
9444
|
-
|
|
9445
|
-
Depending on `kind`, different validations and default values will be applied.
|
|
9446
|
-
|
|
9447
|
-
Clusters with `kind = CLASSIC_PREVIEW` support the following fields, whereas clusters with no
|
|
9448
|
-
specified `kind` do not. * [is_single_node](/api/workspace/clusters/create#is_single_node) *
|
|
9449
|
-
[use_ml_runtime](/api/workspace/clusters/create#use_ml_runtime) *
|
|
9450
|
-
[data_security_mode](/api/workspace/clusters/create#data_security_mode) set to
|
|
9451
|
-
`DATA_SECURITY_MODE_AUTO`, `DATA_SECURITY_MODE_DEDICATED`, or `DATA_SECURITY_MODE_STANDARD`
|
|
9452
|
-
|
|
9453
|
-
By using the [simple form], your clusters are automatically using `kind = CLASSIC_PREVIEW`.
|
|
9454
|
-
|
|
9455
|
-
[simple form]: https://docs.databricks.com/compute/simple-form.html"""
|
|
9456
9375
|
|
|
9457
9376
|
node_type_id: Optional[str] = None
|
|
9458
9377
|
"""This field encodes, through a single value, the resources available to each of the Spark nodes
|
|
@@ -9473,6 +9392,10 @@ class UpdateClusterResource:
|
|
|
9473
9392
|
policy_id: Optional[str] = None
|
|
9474
9393
|
"""The ID of the cluster policy used to create the cluster if applicable."""
|
|
9475
9394
|
|
|
9395
|
+
remote_disk_throughput: Optional[int] = None
|
|
9396
|
+
"""If set, what the configurable throughput (in Mb/s) for the remote disk is. Currently only
|
|
9397
|
+
supported for GCP HYPERDISK_BALANCED disks."""
|
|
9398
|
+
|
|
9476
9399
|
runtime_engine: Optional[RuntimeEngine] = None
|
|
9477
9400
|
"""Determines the cluster's runtime engine, either standard or Photon.
|
|
9478
9401
|
|
|
@@ -9512,6 +9435,10 @@ class UpdateClusterResource:
|
|
|
9512
9435
|
private keys can be used to login with the user name `ubuntu` on port `2200`. Up to 10 keys can
|
|
9513
9436
|
be specified."""
|
|
9514
9437
|
|
|
9438
|
+
total_initial_remote_disk_size: Optional[int] = None
|
|
9439
|
+
"""If set, what the total initial volume size (in GB) of the remote disks should be. Currently only
|
|
9440
|
+
supported for GCP HYPERDISK_BALANCED disks."""
|
|
9441
|
+
|
|
9515
9442
|
use_ml_runtime: Optional[bool] = None
|
|
9516
9443
|
"""This field can only be used when `kind = CLASSIC_PREVIEW`.
|
|
9517
9444
|
|
|
@@ -9519,7 +9446,6 @@ class UpdateClusterResource:
|
|
|
9519
9446
|
`use_ml_runtime`, and whether `node_type_id` is gpu node or not."""
|
|
9520
9447
|
|
|
9521
9448
|
workload_type: Optional[WorkloadType] = None
|
|
9522
|
-
"""Cluster Attributes showing for clusters workload types."""
|
|
9523
9449
|
|
|
9524
9450
|
def as_dict(self) -> dict:
|
|
9525
9451
|
"""Serializes the UpdateClusterResource into a dictionary suitable for use as a JSON request body."""
|
|
@@ -9566,6 +9492,8 @@ class UpdateClusterResource:
|
|
|
9566
9492
|
body["num_workers"] = self.num_workers
|
|
9567
9493
|
if self.policy_id is not None:
|
|
9568
9494
|
body["policy_id"] = self.policy_id
|
|
9495
|
+
if self.remote_disk_throughput is not None:
|
|
9496
|
+
body["remote_disk_throughput"] = self.remote_disk_throughput
|
|
9569
9497
|
if self.runtime_engine is not None:
|
|
9570
9498
|
body["runtime_engine"] = self.runtime_engine.value
|
|
9571
9499
|
if self.single_user_name is not None:
|
|
@@ -9578,6 +9506,8 @@ class UpdateClusterResource:
|
|
|
9578
9506
|
body["spark_version"] = self.spark_version
|
|
9579
9507
|
if self.ssh_public_keys:
|
|
9580
9508
|
body["ssh_public_keys"] = [v for v in self.ssh_public_keys]
|
|
9509
|
+
if self.total_initial_remote_disk_size is not None:
|
|
9510
|
+
body["total_initial_remote_disk_size"] = self.total_initial_remote_disk_size
|
|
9581
9511
|
if self.use_ml_runtime is not None:
|
|
9582
9512
|
body["use_ml_runtime"] = self.use_ml_runtime
|
|
9583
9513
|
if self.workload_type:
|
|
@@ -9629,6 +9559,8 @@ class UpdateClusterResource:
|
|
|
9629
9559
|
body["num_workers"] = self.num_workers
|
|
9630
9560
|
if self.policy_id is not None:
|
|
9631
9561
|
body["policy_id"] = self.policy_id
|
|
9562
|
+
if self.remote_disk_throughput is not None:
|
|
9563
|
+
body["remote_disk_throughput"] = self.remote_disk_throughput
|
|
9632
9564
|
if self.runtime_engine is not None:
|
|
9633
9565
|
body["runtime_engine"] = self.runtime_engine
|
|
9634
9566
|
if self.single_user_name is not None:
|
|
@@ -9641,6 +9573,8 @@ class UpdateClusterResource:
|
|
|
9641
9573
|
body["spark_version"] = self.spark_version
|
|
9642
9574
|
if self.ssh_public_keys:
|
|
9643
9575
|
body["ssh_public_keys"] = self.ssh_public_keys
|
|
9576
|
+
if self.total_initial_remote_disk_size is not None:
|
|
9577
|
+
body["total_initial_remote_disk_size"] = self.total_initial_remote_disk_size
|
|
9644
9578
|
if self.use_ml_runtime is not None:
|
|
9645
9579
|
body["use_ml_runtime"] = self.use_ml_runtime
|
|
9646
9580
|
if self.workload_type:
|
|
@@ -9672,12 +9606,14 @@ class UpdateClusterResource:
|
|
|
9672
9606
|
node_type_id=d.get("node_type_id", None),
|
|
9673
9607
|
num_workers=d.get("num_workers", None),
|
|
9674
9608
|
policy_id=d.get("policy_id", None),
|
|
9609
|
+
remote_disk_throughput=d.get("remote_disk_throughput", None),
|
|
9675
9610
|
runtime_engine=_enum(d, "runtime_engine", RuntimeEngine),
|
|
9676
9611
|
single_user_name=d.get("single_user_name", None),
|
|
9677
9612
|
spark_conf=d.get("spark_conf", None),
|
|
9678
9613
|
spark_env_vars=d.get("spark_env_vars", None),
|
|
9679
9614
|
spark_version=d.get("spark_version", None),
|
|
9680
9615
|
ssh_public_keys=d.get("ssh_public_keys", None),
|
|
9616
|
+
total_initial_remote_disk_size=d.get("total_initial_remote_disk_size", None),
|
|
9681
9617
|
use_ml_runtime=d.get("use_ml_runtime", None),
|
|
9682
9618
|
workload_type=_from_dict(d, "workload_type", WorkloadType),
|
|
9683
9619
|
)
|
|
@@ -10257,11 +10193,13 @@ class ClustersAPI:
|
|
|
10257
10193
|
node_type_id: Optional[str] = None,
|
|
10258
10194
|
num_workers: Optional[int] = None,
|
|
10259
10195
|
policy_id: Optional[str] = None,
|
|
10196
|
+
remote_disk_throughput: Optional[int] = None,
|
|
10260
10197
|
runtime_engine: Optional[RuntimeEngine] = None,
|
|
10261
10198
|
single_user_name: Optional[str] = None,
|
|
10262
10199
|
spark_conf: Optional[Dict[str, str]] = None,
|
|
10263
10200
|
spark_env_vars: Optional[Dict[str, str]] = None,
|
|
10264
10201
|
ssh_public_keys: Optional[List[str]] = None,
|
|
10202
|
+
total_initial_remote_disk_size: Optional[int] = None,
|
|
10265
10203
|
use_ml_runtime: Optional[bool] = None,
|
|
10266
10204
|
workload_type: Optional[WorkloadType] = None,
|
|
10267
10205
|
) -> Wait[ClusterDetails]:
|
|
@@ -10319,30 +10257,6 @@ class ClustersAPI:
|
|
|
10319
10257
|
|
|
10320
10258
|
- Clusters can only reuse cloud resources if the resources' tags are a subset of the cluster tags
|
|
10321
10259
|
:param data_security_mode: :class:`DataSecurityMode` (optional)
|
|
10322
|
-
Data security mode decides what data governance model to use when accessing data from a cluster.
|
|
10323
|
-
|
|
10324
|
-
The following modes can only be used when `kind = CLASSIC_PREVIEW`. * `DATA_SECURITY_MODE_AUTO`:
|
|
10325
|
-
Databricks will choose the most appropriate access mode depending on your compute configuration. *
|
|
10326
|
-
`DATA_SECURITY_MODE_STANDARD`: Alias for `USER_ISOLATION`. * `DATA_SECURITY_MODE_DEDICATED`: Alias
|
|
10327
|
-
for `SINGLE_USER`.
|
|
10328
|
-
|
|
10329
|
-
The following modes can be used regardless of `kind`. * `NONE`: No security isolation for multiple
|
|
10330
|
-
users sharing the cluster. Data governance features are not available in this mode. * `SINGLE_USER`:
|
|
10331
|
-
A secure cluster that can only be exclusively used by a single user specified in `single_user_name`.
|
|
10332
|
-
Most programming languages, cluster features and data governance features are available in this
|
|
10333
|
-
mode. * `USER_ISOLATION`: A secure cluster that can be shared by multiple users. Cluster users are
|
|
10334
|
-
fully isolated so that they cannot see each other's data and credentials. Most data governance
|
|
10335
|
-
features are supported in this mode. But programming languages and cluster features might be
|
|
10336
|
-
limited.
|
|
10337
|
-
|
|
10338
|
-
The following modes are deprecated starting with Databricks Runtime 15.0 and will be removed for
|
|
10339
|
-
future Databricks Runtime versions:
|
|
10340
|
-
|
|
10341
|
-
* `LEGACY_TABLE_ACL`: This mode is for users migrating from legacy Table ACL clusters. *
|
|
10342
|
-
`LEGACY_PASSTHROUGH`: This mode is for users migrating from legacy Passthrough on high concurrency
|
|
10343
|
-
clusters. * `LEGACY_SINGLE_USER`: This mode is for users migrating from legacy Passthrough on
|
|
10344
|
-
standard clusters. * `LEGACY_SINGLE_USER_STANDARD`: This mode provides a way that doesn’t have UC
|
|
10345
|
-
nor passthrough enabled.
|
|
10346
10260
|
:param docker_image: :class:`DockerImage` (optional)
|
|
10347
10261
|
Custom docker image BYOC
|
|
10348
10262
|
:param driver_instance_pool_id: str (optional)
|
|
@@ -10376,19 +10290,6 @@ class ClustersAPI:
|
|
|
10376
10290
|
When set to true, Databricks will automatically set single node related `custom_tags`, `spark_conf`,
|
|
10377
10291
|
and `num_workers`
|
|
10378
10292
|
:param kind: :class:`Kind` (optional)
|
|
10379
|
-
The kind of compute described by this compute specification.
|
|
10380
|
-
|
|
10381
|
-
Depending on `kind`, different validations and default values will be applied.
|
|
10382
|
-
|
|
10383
|
-
Clusters with `kind = CLASSIC_PREVIEW` support the following fields, whereas clusters with no
|
|
10384
|
-
specified `kind` do not. * [is_single_node](/api/workspace/clusters/create#is_single_node) *
|
|
10385
|
-
[use_ml_runtime](/api/workspace/clusters/create#use_ml_runtime) *
|
|
10386
|
-
[data_security_mode](/api/workspace/clusters/create#data_security_mode) set to
|
|
10387
|
-
`DATA_SECURITY_MODE_AUTO`, `DATA_SECURITY_MODE_DEDICATED`, or `DATA_SECURITY_MODE_STANDARD`
|
|
10388
|
-
|
|
10389
|
-
By using the [simple form], your clusters are automatically using `kind = CLASSIC_PREVIEW`.
|
|
10390
|
-
|
|
10391
|
-
[simple form]: https://docs.databricks.com/compute/simple-form.html
|
|
10392
10293
|
:param node_type_id: str (optional)
|
|
10393
10294
|
This field encodes, through a single value, the resources available to each of the Spark nodes in
|
|
10394
10295
|
this cluster. For example, the Spark nodes can be provisioned and optimized for memory or compute
|
|
@@ -10405,6 +10306,9 @@ class ClustersAPI:
|
|
|
10405
10306
|
provisioned.
|
|
10406
10307
|
:param policy_id: str (optional)
|
|
10407
10308
|
The ID of the cluster policy used to create the cluster if applicable.
|
|
10309
|
+
:param remote_disk_throughput: int (optional)
|
|
10310
|
+
If set, what the configurable throughput (in Mb/s) for the remote disk is. Currently only supported
|
|
10311
|
+
for GCP HYPERDISK_BALANCED disks.
|
|
10408
10312
|
:param runtime_engine: :class:`RuntimeEngine` (optional)
|
|
10409
10313
|
Determines the cluster's runtime engine, either standard or Photon.
|
|
10410
10314
|
|
|
@@ -10435,13 +10339,15 @@ class ClustersAPI:
|
|
|
10435
10339
|
SSH public key contents that will be added to each Spark node in this cluster. The corresponding
|
|
10436
10340
|
private keys can be used to login with the user name `ubuntu` on port `2200`. Up to 10 keys can be
|
|
10437
10341
|
specified.
|
|
10342
|
+
:param total_initial_remote_disk_size: int (optional)
|
|
10343
|
+
If set, what the total initial volume size (in GB) of the remote disks should be. Currently only
|
|
10344
|
+
supported for GCP HYPERDISK_BALANCED disks.
|
|
10438
10345
|
:param use_ml_runtime: bool (optional)
|
|
10439
10346
|
This field can only be used when `kind = CLASSIC_PREVIEW`.
|
|
10440
10347
|
|
|
10441
10348
|
`effective_spark_version` is determined by `spark_version` (DBR release), this field
|
|
10442
10349
|
`use_ml_runtime`, and whether `node_type_id` is gpu node or not.
|
|
10443
10350
|
:param workload_type: :class:`WorkloadType` (optional)
|
|
10444
|
-
Cluster Attributes showing for clusters workload types.
|
|
10445
10351
|
|
|
10446
10352
|
:returns:
|
|
10447
10353
|
Long-running operation waiter for :class:`ClusterDetails`.
|
|
@@ -10494,6 +10400,8 @@ class ClustersAPI:
|
|
|
10494
10400
|
body["num_workers"] = num_workers
|
|
10495
10401
|
if policy_id is not None:
|
|
10496
10402
|
body["policy_id"] = policy_id
|
|
10403
|
+
if remote_disk_throughput is not None:
|
|
10404
|
+
body["remote_disk_throughput"] = remote_disk_throughput
|
|
10497
10405
|
if runtime_engine is not None:
|
|
10498
10406
|
body["runtime_engine"] = runtime_engine.value
|
|
10499
10407
|
if single_user_name is not None:
|
|
@@ -10506,6 +10414,8 @@ class ClustersAPI:
|
|
|
10506
10414
|
body["spark_version"] = spark_version
|
|
10507
10415
|
if ssh_public_keys is not None:
|
|
10508
10416
|
body["ssh_public_keys"] = [v for v in ssh_public_keys]
|
|
10417
|
+
if total_initial_remote_disk_size is not None:
|
|
10418
|
+
body["total_initial_remote_disk_size"] = total_initial_remote_disk_size
|
|
10509
10419
|
if use_ml_runtime is not None:
|
|
10510
10420
|
body["use_ml_runtime"] = use_ml_runtime
|
|
10511
10421
|
if workload_type is not None:
|
|
@@ -10549,11 +10459,13 @@ class ClustersAPI:
|
|
|
10549
10459
|
node_type_id: Optional[str] = None,
|
|
10550
10460
|
num_workers: Optional[int] = None,
|
|
10551
10461
|
policy_id: Optional[str] = None,
|
|
10462
|
+
remote_disk_throughput: Optional[int] = None,
|
|
10552
10463
|
runtime_engine: Optional[RuntimeEngine] = None,
|
|
10553
10464
|
single_user_name: Optional[str] = None,
|
|
10554
10465
|
spark_conf: Optional[Dict[str, str]] = None,
|
|
10555
10466
|
spark_env_vars: Optional[Dict[str, str]] = None,
|
|
10556
10467
|
ssh_public_keys: Optional[List[str]] = None,
|
|
10468
|
+
total_initial_remote_disk_size: Optional[int] = None,
|
|
10557
10469
|
use_ml_runtime: Optional[bool] = None,
|
|
10558
10470
|
workload_type: Optional[WorkloadType] = None,
|
|
10559
10471
|
timeout=timedelta(minutes=20),
|
|
@@ -10582,12 +10494,14 @@ class ClustersAPI:
|
|
|
10582
10494
|
node_type_id=node_type_id,
|
|
10583
10495
|
num_workers=num_workers,
|
|
10584
10496
|
policy_id=policy_id,
|
|
10497
|
+
remote_disk_throughput=remote_disk_throughput,
|
|
10585
10498
|
runtime_engine=runtime_engine,
|
|
10586
10499
|
single_user_name=single_user_name,
|
|
10587
10500
|
spark_conf=spark_conf,
|
|
10588
10501
|
spark_env_vars=spark_env_vars,
|
|
10589
10502
|
spark_version=spark_version,
|
|
10590
10503
|
ssh_public_keys=ssh_public_keys,
|
|
10504
|
+
total_initial_remote_disk_size=total_initial_remote_disk_size,
|
|
10591
10505
|
use_ml_runtime=use_ml_runtime,
|
|
10592
10506
|
workload_type=workload_type,
|
|
10593
10507
|
).result(timeout=timeout)
|
|
@@ -10649,11 +10563,13 @@ class ClustersAPI:
|
|
|
10649
10563
|
node_type_id: Optional[str] = None,
|
|
10650
10564
|
num_workers: Optional[int] = None,
|
|
10651
10565
|
policy_id: Optional[str] = None,
|
|
10566
|
+
remote_disk_throughput: Optional[int] = None,
|
|
10652
10567
|
runtime_engine: Optional[RuntimeEngine] = None,
|
|
10653
10568
|
single_user_name: Optional[str] = None,
|
|
10654
10569
|
spark_conf: Optional[Dict[str, str]] = None,
|
|
10655
10570
|
spark_env_vars: Optional[Dict[str, str]] = None,
|
|
10656
10571
|
ssh_public_keys: Optional[List[str]] = None,
|
|
10572
|
+
total_initial_remote_disk_size: Optional[int] = None,
|
|
10657
10573
|
use_ml_runtime: Optional[bool] = None,
|
|
10658
10574
|
workload_type: Optional[WorkloadType] = None,
|
|
10659
10575
|
) -> Wait[ClusterDetails]:
|
|
@@ -10708,30 +10624,6 @@ class ClustersAPI:
|
|
|
10708
10624
|
|
|
10709
10625
|
- Clusters can only reuse cloud resources if the resources' tags are a subset of the cluster tags
|
|
10710
10626
|
:param data_security_mode: :class:`DataSecurityMode` (optional)
|
|
10711
|
-
Data security mode decides what data governance model to use when accessing data from a cluster.
|
|
10712
|
-
|
|
10713
|
-
The following modes can only be used when `kind = CLASSIC_PREVIEW`. * `DATA_SECURITY_MODE_AUTO`:
|
|
10714
|
-
Databricks will choose the most appropriate access mode depending on your compute configuration. *
|
|
10715
|
-
`DATA_SECURITY_MODE_STANDARD`: Alias for `USER_ISOLATION`. * `DATA_SECURITY_MODE_DEDICATED`: Alias
|
|
10716
|
-
for `SINGLE_USER`.
|
|
10717
|
-
|
|
10718
|
-
The following modes can be used regardless of `kind`. * `NONE`: No security isolation for multiple
|
|
10719
|
-
users sharing the cluster. Data governance features are not available in this mode. * `SINGLE_USER`:
|
|
10720
|
-
A secure cluster that can only be exclusively used by a single user specified in `single_user_name`.
|
|
10721
|
-
Most programming languages, cluster features and data governance features are available in this
|
|
10722
|
-
mode. * `USER_ISOLATION`: A secure cluster that can be shared by multiple users. Cluster users are
|
|
10723
|
-
fully isolated so that they cannot see each other's data and credentials. Most data governance
|
|
10724
|
-
features are supported in this mode. But programming languages and cluster features might be
|
|
10725
|
-
limited.
|
|
10726
|
-
|
|
10727
|
-
The following modes are deprecated starting with Databricks Runtime 15.0 and will be removed for
|
|
10728
|
-
future Databricks Runtime versions:
|
|
10729
|
-
|
|
10730
|
-
* `LEGACY_TABLE_ACL`: This mode is for users migrating from legacy Table ACL clusters. *
|
|
10731
|
-
`LEGACY_PASSTHROUGH`: This mode is for users migrating from legacy Passthrough on high concurrency
|
|
10732
|
-
clusters. * `LEGACY_SINGLE_USER`: This mode is for users migrating from legacy Passthrough on
|
|
10733
|
-
standard clusters. * `LEGACY_SINGLE_USER_STANDARD`: This mode provides a way that doesn’t have UC
|
|
10734
|
-
nor passthrough enabled.
|
|
10735
10627
|
:param docker_image: :class:`DockerImage` (optional)
|
|
10736
10628
|
Custom docker image BYOC
|
|
10737
10629
|
:param driver_instance_pool_id: str (optional)
|
|
@@ -10765,19 +10657,6 @@ class ClustersAPI:
|
|
|
10765
10657
|
When set to true, Databricks will automatically set single node related `custom_tags`, `spark_conf`,
|
|
10766
10658
|
and `num_workers`
|
|
10767
10659
|
:param kind: :class:`Kind` (optional)
|
|
10768
|
-
The kind of compute described by this compute specification.
|
|
10769
|
-
|
|
10770
|
-
Depending on `kind`, different validations and default values will be applied.
|
|
10771
|
-
|
|
10772
|
-
Clusters with `kind = CLASSIC_PREVIEW` support the following fields, whereas clusters with no
|
|
10773
|
-
specified `kind` do not. * [is_single_node](/api/workspace/clusters/create#is_single_node) *
|
|
10774
|
-
[use_ml_runtime](/api/workspace/clusters/create#use_ml_runtime) *
|
|
10775
|
-
[data_security_mode](/api/workspace/clusters/create#data_security_mode) set to
|
|
10776
|
-
`DATA_SECURITY_MODE_AUTO`, `DATA_SECURITY_MODE_DEDICATED`, or `DATA_SECURITY_MODE_STANDARD`
|
|
10777
|
-
|
|
10778
|
-
By using the [simple form], your clusters are automatically using `kind = CLASSIC_PREVIEW`.
|
|
10779
|
-
|
|
10780
|
-
[simple form]: https://docs.databricks.com/compute/simple-form.html
|
|
10781
10660
|
:param node_type_id: str (optional)
|
|
10782
10661
|
This field encodes, through a single value, the resources available to each of the Spark nodes in
|
|
10783
10662
|
this cluster. For example, the Spark nodes can be provisioned and optimized for memory or compute
|
|
@@ -10794,6 +10673,9 @@ class ClustersAPI:
|
|
|
10794
10673
|
provisioned.
|
|
10795
10674
|
:param policy_id: str (optional)
|
|
10796
10675
|
The ID of the cluster policy used to create the cluster if applicable.
|
|
10676
|
+
:param remote_disk_throughput: int (optional)
|
|
10677
|
+
If set, what the configurable throughput (in Mb/s) for the remote disk is. Currently only supported
|
|
10678
|
+
for GCP HYPERDISK_BALANCED disks.
|
|
10797
10679
|
:param runtime_engine: :class:`RuntimeEngine` (optional)
|
|
10798
10680
|
Determines the cluster's runtime engine, either standard or Photon.
|
|
10799
10681
|
|
|
@@ -10824,13 +10706,15 @@ class ClustersAPI:
|
|
|
10824
10706
|
SSH public key contents that will be added to each Spark node in this cluster. The corresponding
|
|
10825
10707
|
private keys can be used to login with the user name `ubuntu` on port `2200`. Up to 10 keys can be
|
|
10826
10708
|
specified.
|
|
10709
|
+
:param total_initial_remote_disk_size: int (optional)
|
|
10710
|
+
If set, what the total initial volume size (in GB) of the remote disks should be. Currently only
|
|
10711
|
+
supported for GCP HYPERDISK_BALANCED disks.
|
|
10827
10712
|
:param use_ml_runtime: bool (optional)
|
|
10828
10713
|
This field can only be used when `kind = CLASSIC_PREVIEW`.
|
|
10829
10714
|
|
|
10830
10715
|
`effective_spark_version` is determined by `spark_version` (DBR release), this field
|
|
10831
10716
|
`use_ml_runtime`, and whether `node_type_id` is gpu node or not.
|
|
10832
10717
|
:param workload_type: :class:`WorkloadType` (optional)
|
|
10833
|
-
Cluster Attributes showing for clusters workload types.
|
|
10834
10718
|
|
|
10835
10719
|
:returns:
|
|
10836
10720
|
Long-running operation waiter for :class:`ClusterDetails`.
|
|
@@ -10883,6 +10767,8 @@ class ClustersAPI:
|
|
|
10883
10767
|
body["num_workers"] = num_workers
|
|
10884
10768
|
if policy_id is not None:
|
|
10885
10769
|
body["policy_id"] = policy_id
|
|
10770
|
+
if remote_disk_throughput is not None:
|
|
10771
|
+
body["remote_disk_throughput"] = remote_disk_throughput
|
|
10886
10772
|
if runtime_engine is not None:
|
|
10887
10773
|
body["runtime_engine"] = runtime_engine.value
|
|
10888
10774
|
if single_user_name is not None:
|
|
@@ -10895,6 +10781,8 @@ class ClustersAPI:
|
|
|
10895
10781
|
body["spark_version"] = spark_version
|
|
10896
10782
|
if ssh_public_keys is not None:
|
|
10897
10783
|
body["ssh_public_keys"] = [v for v in ssh_public_keys]
|
|
10784
|
+
if total_initial_remote_disk_size is not None:
|
|
10785
|
+
body["total_initial_remote_disk_size"] = total_initial_remote_disk_size
|
|
10898
10786
|
if use_ml_runtime is not None:
|
|
10899
10787
|
body["use_ml_runtime"] = use_ml_runtime
|
|
10900
10788
|
if workload_type is not None:
|
|
@@ -10936,11 +10824,13 @@ class ClustersAPI:
|
|
|
10936
10824
|
node_type_id: Optional[str] = None,
|
|
10937
10825
|
num_workers: Optional[int] = None,
|
|
10938
10826
|
policy_id: Optional[str] = None,
|
|
10827
|
+
remote_disk_throughput: Optional[int] = None,
|
|
10939
10828
|
runtime_engine: Optional[RuntimeEngine] = None,
|
|
10940
10829
|
single_user_name: Optional[str] = None,
|
|
10941
10830
|
spark_conf: Optional[Dict[str, str]] = None,
|
|
10942
10831
|
spark_env_vars: Optional[Dict[str, str]] = None,
|
|
10943
10832
|
ssh_public_keys: Optional[List[str]] = None,
|
|
10833
|
+
total_initial_remote_disk_size: Optional[int] = None,
|
|
10944
10834
|
use_ml_runtime: Optional[bool] = None,
|
|
10945
10835
|
workload_type: Optional[WorkloadType] = None,
|
|
10946
10836
|
timeout=timedelta(minutes=20),
|
|
@@ -10969,12 +10859,14 @@ class ClustersAPI:
|
|
|
10969
10859
|
node_type_id=node_type_id,
|
|
10970
10860
|
num_workers=num_workers,
|
|
10971
10861
|
policy_id=policy_id,
|
|
10862
|
+
remote_disk_throughput=remote_disk_throughput,
|
|
10972
10863
|
runtime_engine=runtime_engine,
|
|
10973
10864
|
single_user_name=single_user_name,
|
|
10974
10865
|
spark_conf=spark_conf,
|
|
10975
10866
|
spark_env_vars=spark_env_vars,
|
|
10976
10867
|
spark_version=spark_version,
|
|
10977
10868
|
ssh_public_keys=ssh_public_keys,
|
|
10869
|
+
total_initial_remote_disk_size=total_initial_remote_disk_size,
|
|
10978
10870
|
use_ml_runtime=use_ml_runtime,
|
|
10979
10871
|
workload_type=workload_type,
|
|
10980
10872
|
).result(timeout=timeout)
|
|
@@ -11161,6 +11053,7 @@ class ClustersAPI:
|
|
|
11161
11053
|
def list_node_types(self) -> ListNodeTypesResponse:
|
|
11162
11054
|
"""Returns a list of supported Spark node types. These node types can be used to launch a cluster.
|
|
11163
11055
|
|
|
11056
|
+
|
|
11164
11057
|
:returns: :class:`ListNodeTypesResponse`
|
|
11165
11058
|
"""
|
|
11166
11059
|
|
|
@@ -11175,6 +11068,7 @@ class ClustersAPI:
|
|
|
11175
11068
|
"""Returns a list of availability zones where clusters can be created in (For example, us-west-2a). These
|
|
11176
11069
|
zones can be used to launch a cluster.
|
|
11177
11070
|
|
|
11071
|
+
|
|
11178
11072
|
:returns: :class:`ListAvailableZonesResponse`
|
|
11179
11073
|
"""
|
|
11180
11074
|
|
|
@@ -11335,6 +11229,7 @@ class ClustersAPI:
|
|
|
11335
11229
|
def spark_versions(self) -> GetSparkVersionsResponse:
|
|
11336
11230
|
"""Returns the list of available Spark versions. These versions can be used to launch a cluster.
|
|
11337
11231
|
|
|
11232
|
+
|
|
11338
11233
|
:returns: :class:`GetSparkVersionsResponse`
|
|
11339
11234
|
"""
|
|
11340
11235
|
|
|
@@ -11895,6 +11790,7 @@ class GlobalInitScriptsAPI:
|
|
|
11895
11790
|
but **not** the script contents. To retrieve the contents of a script, use the [get a global init
|
|
11896
11791
|
script](:method:globalinitscripts/get) operation.
|
|
11897
11792
|
|
|
11793
|
+
|
|
11898
11794
|
:returns: Iterator over :class:`GlobalInitScriptDetails`
|
|
11899
11795
|
"""
|
|
11900
11796
|
|
|
@@ -11985,6 +11881,8 @@ class InstancePoolsAPI:
|
|
|
11985
11881
|
min_idle_instances: Optional[int] = None,
|
|
11986
11882
|
preloaded_docker_images: Optional[List[DockerImage]] = None,
|
|
11987
11883
|
preloaded_spark_versions: Optional[List[str]] = None,
|
|
11884
|
+
remote_disk_throughput: Optional[int] = None,
|
|
11885
|
+
total_initial_remote_disk_size: Optional[int] = None,
|
|
11988
11886
|
) -> CreateInstancePoolResponse:
|
|
11989
11887
|
"""Creates a new instance pool using idle and ready-to-use cloud instances.
|
|
11990
11888
|
|
|
@@ -12034,6 +11932,12 @@ class InstancePoolsAPI:
|
|
|
12034
11932
|
A list containing at most one preloaded Spark image version for the pool. Pool-backed clusters
|
|
12035
11933
|
started with the preloaded Spark version will start faster. A list of available Spark versions can
|
|
12036
11934
|
be retrieved by using the :method:clusters/sparkVersions API call.
|
|
11935
|
+
:param remote_disk_throughput: int (optional)
|
|
11936
|
+
If set, what the configurable throughput (in Mb/s) for the remote disk is. Currently only supported
|
|
11937
|
+
for GCP HYPERDISK_BALANCED types.
|
|
11938
|
+
:param total_initial_remote_disk_size: int (optional)
|
|
11939
|
+
If set, what the total initial volume size (in GB) of the remote disks should be. Currently only
|
|
11940
|
+
supported for GCP HYPERDISK_BALANCED types.
|
|
12037
11941
|
|
|
12038
11942
|
:returns: :class:`CreateInstancePoolResponse`
|
|
12039
11943
|
"""
|
|
@@ -12064,6 +11968,10 @@ class InstancePoolsAPI:
|
|
|
12064
11968
|
body["preloaded_docker_images"] = [v.as_dict() for v in preloaded_docker_images]
|
|
12065
11969
|
if preloaded_spark_versions is not None:
|
|
12066
11970
|
body["preloaded_spark_versions"] = [v for v in preloaded_spark_versions]
|
|
11971
|
+
if remote_disk_throughput is not None:
|
|
11972
|
+
body["remote_disk_throughput"] = remote_disk_throughput
|
|
11973
|
+
if total_initial_remote_disk_size is not None:
|
|
11974
|
+
body["total_initial_remote_disk_size"] = total_initial_remote_disk_size
|
|
12067
11975
|
headers = {
|
|
12068
11976
|
"Accept": "application/json",
|
|
12069
11977
|
"Content-Type": "application/json",
|
|
@@ -12100,6 +12008,8 @@ class InstancePoolsAPI:
|
|
|
12100
12008
|
idle_instance_autotermination_minutes: Optional[int] = None,
|
|
12101
12009
|
max_capacity: Optional[int] = None,
|
|
12102
12010
|
min_idle_instances: Optional[int] = None,
|
|
12011
|
+
remote_disk_throughput: Optional[int] = None,
|
|
12012
|
+
total_initial_remote_disk_size: Optional[int] = None,
|
|
12103
12013
|
):
|
|
12104
12014
|
"""Modifies the configuration of an existing instance pool.
|
|
12105
12015
|
|
|
@@ -12130,6 +12040,12 @@ class InstancePoolsAPI:
|
|
|
12130
12040
|
upsize requests.
|
|
12131
12041
|
:param min_idle_instances: int (optional)
|
|
12132
12042
|
Minimum number of idle instances to keep in the instance pool
|
|
12043
|
+
:param remote_disk_throughput: int (optional)
|
|
12044
|
+
If set, what the configurable throughput (in Mb/s) for the remote disk is. Currently only supported
|
|
12045
|
+
for GCP HYPERDISK_BALANCED types.
|
|
12046
|
+
:param total_initial_remote_disk_size: int (optional)
|
|
12047
|
+
If set, what the total initial volume size (in GB) of the remote disks should be. Currently only
|
|
12048
|
+
supported for GCP HYPERDISK_BALANCED types.
|
|
12133
12049
|
|
|
12134
12050
|
|
|
12135
12051
|
"""
|
|
@@ -12148,6 +12064,10 @@ class InstancePoolsAPI:
|
|
|
12148
12064
|
body["min_idle_instances"] = min_idle_instances
|
|
12149
12065
|
if node_type_id is not None:
|
|
12150
12066
|
body["node_type_id"] = node_type_id
|
|
12067
|
+
if remote_disk_throughput is not None:
|
|
12068
|
+
body["remote_disk_throughput"] = remote_disk_throughput
|
|
12069
|
+
if total_initial_remote_disk_size is not None:
|
|
12070
|
+
body["total_initial_remote_disk_size"] = total_initial_remote_disk_size
|
|
12151
12071
|
headers = {
|
|
12152
12072
|
"Accept": "application/json",
|
|
12153
12073
|
"Content-Type": "application/json",
|
|
@@ -12212,6 +12132,7 @@ class InstancePoolsAPI:
|
|
|
12212
12132
|
def list(self) -> Iterator[InstancePoolAndStats]:
|
|
12213
12133
|
"""Gets a list of instance pools with their statistics.
|
|
12214
12134
|
|
|
12135
|
+
|
|
12215
12136
|
:returns: Iterator over :class:`InstancePoolAndStats`
|
|
12216
12137
|
"""
|
|
12217
12138
|
|
|
@@ -12393,6 +12314,7 @@ class InstanceProfilesAPI:
|
|
|
12393
12314
|
|
|
12394
12315
|
This API is available to all users.
|
|
12395
12316
|
|
|
12317
|
+
|
|
12396
12318
|
:returns: Iterator over :class:`InstanceProfile`
|
|
12397
12319
|
"""
|
|
12398
12320
|
|
|
@@ -12448,6 +12370,7 @@ class LibrariesAPI:
|
|
|
12448
12370
|
"""Get the status of all libraries on all clusters. A status is returned for all libraries installed on
|
|
12449
12371
|
this cluster via the API or the libraries UI.
|
|
12450
12372
|
|
|
12373
|
+
|
|
12451
12374
|
:returns: Iterator over :class:`ClusterLibraryStatuses`
|
|
12452
12375
|
"""
|
|
12453
12376
|
|