databricks-sdk 0.65.0__py3-none-any.whl → 0.67.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 +86 -26
- databricks/sdk/credentials_provider.py +6 -5
- databricks/sdk/mixins/sharing.py +44 -0
- databricks/sdk/service/catalog.py +25 -12
- databricks/sdk/service/compute.py +11 -0
- databricks/sdk/service/dashboards.py +132 -16
- databricks/sdk/service/database.py +120 -44
- databricks/sdk/service/iam.py +2559 -494
- databricks/sdk/service/iamv2.py +643 -0
- databricks/sdk/service/jobs.py +22 -59
- databricks/sdk/service/ml.py +392 -0
- databricks/sdk/service/oauth2.py +3 -3
- databricks/sdk/service/pipelines.py +105 -0
- databricks/sdk/service/serving.py +56 -0
- databricks/sdk/service/settingsv2.py +13 -65
- databricks/sdk/service/sharing.py +13 -1
- databricks/sdk/service/sql.py +15 -3
- databricks/sdk/service/tags.py +25 -6
- databricks/sdk/version.py +1 -1
- {databricks_sdk-0.65.0.dist-info → databricks_sdk-0.67.0.dist-info}/METADATA +1 -1
- {databricks_sdk-0.65.0.dist-info → databricks_sdk-0.67.0.dist-info}/RECORD +25 -23
- {databricks_sdk-0.65.0.dist-info → databricks_sdk-0.67.0.dist-info}/WHEEL +0 -0
- {databricks_sdk-0.65.0.dist-info → databricks_sdk-0.67.0.dist-info}/licenses/LICENSE +0 -0
- {databricks_sdk-0.65.0.dist-info → databricks_sdk-0.67.0.dist-info}/licenses/NOTICE +0 -0
- {databricks_sdk-0.65.0.dist-info → databricks_sdk-0.67.0.dist-info}/top_level.txt +0 -0
databricks/sdk/__init__.py
CHANGED
|
@@ -23,6 +23,7 @@ from databricks.sdk.service import dashboards as pkg_dashboards
|
|
|
23
23
|
from databricks.sdk.service import database as pkg_database
|
|
24
24
|
from databricks.sdk.service import files as pkg_files
|
|
25
25
|
from databricks.sdk.service import iam as pkg_iam
|
|
26
|
+
from databricks.sdk.service import iamv2 as pkg_iamv2
|
|
26
27
|
from databricks.sdk.service import jobs as pkg_jobs
|
|
27
28
|
from databricks.sdk.service import marketplace as pkg_marketplace
|
|
28
29
|
from databricks.sdk.service import ml as pkg_ml
|
|
@@ -82,12 +83,16 @@ from databricks.sdk.service.files import DbfsAPI, FilesAPI
|
|
|
82
83
|
from databricks.sdk.service.iam import (AccessControlAPI,
|
|
83
84
|
AccountAccessControlAPI,
|
|
84
85
|
AccountAccessControlProxyAPI,
|
|
85
|
-
AccountGroupsAPI,
|
|
86
|
+
AccountGroupsAPI, AccountGroupsV2API,
|
|
86
87
|
AccountServicePrincipalsAPI,
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
88
|
+
AccountServicePrincipalsV2API,
|
|
89
|
+
AccountUsersAPI, AccountUsersV2API,
|
|
90
|
+
CurrentUserAPI, GroupsAPI, GroupsV2API,
|
|
91
|
+
PermissionMigrationAPI, PermissionsAPI,
|
|
92
|
+
ServicePrincipalsAPI,
|
|
93
|
+
ServicePrincipalsV2API, UsersAPI,
|
|
94
|
+
UsersV2API, WorkspaceAssignmentAPI)
|
|
95
|
+
from databricks.sdk.service.iamv2 import AccountIamV2API, WorkspaceIamV2API
|
|
91
96
|
from databricks.sdk.service.jobs import JobsAPI, PolicyComplianceForJobsAPI
|
|
92
97
|
from databricks.sdk.service.marketplace import (
|
|
93
98
|
ConsumerFulfillmentsAPI, ConsumerInstallationsAPI, ConsumerListingsAPI,
|
|
@@ -95,8 +100,9 @@ from databricks.sdk.service.marketplace import (
|
|
|
95
100
|
ProviderExchangeFiltersAPI, ProviderExchangesAPI, ProviderFilesAPI,
|
|
96
101
|
ProviderListingsAPI, ProviderPersonalizationRequestsAPI,
|
|
97
102
|
ProviderProviderAnalyticsDashboardsAPI, ProviderProvidersAPI)
|
|
98
|
-
from databricks.sdk.service.ml import (ExperimentsAPI,
|
|
99
|
-
|
|
103
|
+
from databricks.sdk.service.ml import (ExperimentsAPI, FeatureEngineeringAPI,
|
|
104
|
+
FeatureStoreAPI, ForecastingAPI,
|
|
105
|
+
MaterializedFeaturesAPI,
|
|
100
106
|
ModelRegistryAPI)
|
|
101
107
|
from databricks.sdk.service.oauth2 import (AccountFederationPolicyAPI,
|
|
102
108
|
CustomAppIntegrationAPI,
|
|
@@ -285,6 +291,7 @@ class WorkspaceClient:
|
|
|
285
291
|
self._external_lineage = pkg_catalog.ExternalLineageAPI(self._api_client)
|
|
286
292
|
self._external_locations = pkg_catalog.ExternalLocationsAPI(self._api_client)
|
|
287
293
|
self._external_metadata = pkg_catalog.ExternalMetadataAPI(self._api_client)
|
|
294
|
+
self._feature_engineering = pkg_ml.FeatureEngineeringAPI(self._api_client)
|
|
288
295
|
self._feature_store = pkg_ml.FeatureStoreAPI(self._api_client)
|
|
289
296
|
self._files = _make_files_client(self._api_client, self._config)
|
|
290
297
|
self._functions = pkg_catalog.FunctionsAPI(self._api_client)
|
|
@@ -292,7 +299,7 @@ class WorkspaceClient:
|
|
|
292
299
|
self._git_credentials = pkg_workspace.GitCredentialsAPI(self._api_client)
|
|
293
300
|
self._global_init_scripts = pkg_compute.GlobalInitScriptsAPI(self._api_client)
|
|
294
301
|
self._grants = pkg_catalog.GrantsAPI(self._api_client)
|
|
295
|
-
self.
|
|
302
|
+
self._groups_v2 = pkg_iam.GroupsV2API(self._api_client)
|
|
296
303
|
self._instance_pools = pkg_compute.InstancePoolsAPI(self._api_client)
|
|
297
304
|
self._instance_profiles = pkg_compute.InstanceProfilesAPI(self._api_client)
|
|
298
305
|
self._ip_access_lists = pkg_settings.IpAccessListsAPI(self._api_client)
|
|
@@ -341,7 +348,7 @@ class WorkspaceClient:
|
|
|
341
348
|
self._schemas = pkg_catalog.SchemasAPI(self._api_client)
|
|
342
349
|
self._secrets = pkg_workspace.SecretsAPI(self._api_client)
|
|
343
350
|
self._service_principal_secrets_proxy = pkg_oauth2.ServicePrincipalSecretsProxyAPI(self._api_client)
|
|
344
|
-
self.
|
|
351
|
+
self._service_principals_v2 = pkg_iam.ServicePrincipalsV2API(self._api_client)
|
|
345
352
|
self._serving_endpoints = serving_endpoints
|
|
346
353
|
serving_endpoints_data_plane_token_source = DataPlaneTokenSource(
|
|
347
354
|
self._config.host, self._config.oauth_token, self._config.disable_async_token_refresh
|
|
@@ -361,7 +368,7 @@ class WorkspaceClient:
|
|
|
361
368
|
self._temporary_table_credentials = pkg_catalog.TemporaryTableCredentialsAPI(self._api_client)
|
|
362
369
|
self._token_management = pkg_settings.TokenManagementAPI(self._api_client)
|
|
363
370
|
self._tokens = pkg_settings.TokensAPI(self._api_client)
|
|
364
|
-
self.
|
|
371
|
+
self._users_v2 = pkg_iam.UsersV2API(self._api_client)
|
|
365
372
|
self._vector_search_endpoints = pkg_vectorsearch.VectorSearchEndpointsAPI(self._api_client)
|
|
366
373
|
self._vector_search_indexes = pkg_vectorsearch.VectorSearchIndexesAPI(self._api_client)
|
|
367
374
|
self._volumes = pkg_catalog.VolumesAPI(self._api_client)
|
|
@@ -371,6 +378,10 @@ class WorkspaceClient:
|
|
|
371
378
|
self._workspace_conf = pkg_settings.WorkspaceConfAPI(self._api_client)
|
|
372
379
|
self._workspace_settings_v2 = pkg_settingsv2.WorkspaceSettingsV2API(self._api_client)
|
|
373
380
|
self._forecasting = pkg_ml.ForecastingAPI(self._api_client)
|
|
381
|
+
self._workspace_iam_v2 = pkg_iamv2.WorkspaceIamV2API(self._api_client)
|
|
382
|
+
self._groups = pkg_iam.GroupsAPI(self._api_client)
|
|
383
|
+
self._service_principals = pkg_iam.ServicePrincipalsAPI(self._api_client)
|
|
384
|
+
self._users = pkg_iam.UsersAPI(self._api_client)
|
|
374
385
|
|
|
375
386
|
@property
|
|
376
387
|
def config(self) -> client.Config:
|
|
@@ -574,6 +585,11 @@ class WorkspaceClient:
|
|
|
574
585
|
"""External Metadata objects enable customers to register and manage metadata about external systems within Unity Catalog."""
|
|
575
586
|
return self._external_metadata
|
|
576
587
|
|
|
588
|
+
@property
|
|
589
|
+
def feature_engineering(self) -> pkg_ml.FeatureEngineeringAPI:
|
|
590
|
+
"""[description]."""
|
|
591
|
+
return self._feature_engineering
|
|
592
|
+
|
|
577
593
|
@property
|
|
578
594
|
def feature_store(self) -> pkg_ml.FeatureStoreAPI:
|
|
579
595
|
"""A feature store is a centralized repository that enables data scientists to find and share features."""
|
|
@@ -610,9 +626,9 @@ class WorkspaceClient:
|
|
|
610
626
|
return self._grants
|
|
611
627
|
|
|
612
628
|
@property
|
|
613
|
-
def
|
|
629
|
+
def groups_v2(self) -> pkg_iam.GroupsV2API:
|
|
614
630
|
"""Groups simplify identity management, making it easier to assign access to Databricks workspace, data, and other securable objects."""
|
|
615
|
-
return self.
|
|
631
|
+
return self._groups_v2
|
|
616
632
|
|
|
617
633
|
@property
|
|
618
634
|
def instance_pools(self) -> pkg_compute.InstancePoolsAPI:
|
|
@@ -845,9 +861,9 @@ class WorkspaceClient:
|
|
|
845
861
|
return self._service_principal_secrets_proxy
|
|
846
862
|
|
|
847
863
|
@property
|
|
848
|
-
def
|
|
864
|
+
def service_principals_v2(self) -> pkg_iam.ServicePrincipalsV2API:
|
|
849
865
|
"""Identities for use with jobs, automated tools, and systems such as scripts, apps, and CI/CD platforms."""
|
|
850
|
-
return self.
|
|
866
|
+
return self._service_principals_v2
|
|
851
867
|
|
|
852
868
|
@property
|
|
853
869
|
def serving_endpoints(self) -> ServingEndpointsExt:
|
|
@@ -896,7 +912,7 @@ class WorkspaceClient:
|
|
|
896
912
|
|
|
897
913
|
@property
|
|
898
914
|
def tag_policies(self) -> pkg_tags.TagPoliciesAPI:
|
|
899
|
-
"""The Tag Policy API allows you to manage
|
|
915
|
+
"""The Tag Policy API allows you to manage policies for governed tags in Databricks."""
|
|
900
916
|
return self._tag_policies
|
|
901
917
|
|
|
902
918
|
@property
|
|
@@ -920,9 +936,9 @@ class WorkspaceClient:
|
|
|
920
936
|
return self._tokens
|
|
921
937
|
|
|
922
938
|
@property
|
|
923
|
-
def
|
|
939
|
+
def users_v2(self) -> pkg_iam.UsersV2API:
|
|
924
940
|
"""User identities recognized by Databricks and represented by email addresses."""
|
|
925
|
-
return self.
|
|
941
|
+
return self._users_v2
|
|
926
942
|
|
|
927
943
|
@property
|
|
928
944
|
def vector_search_endpoints(self) -> pkg_vectorsearch.VectorSearchEndpointsAPI:
|
|
@@ -969,6 +985,26 @@ class WorkspaceClient:
|
|
|
969
985
|
"""The Forecasting API allows you to create and get serverless forecasting experiments."""
|
|
970
986
|
return self._forecasting
|
|
971
987
|
|
|
988
|
+
@property
|
|
989
|
+
def workspace_iam_v2(self) -> pkg_iamv2.WorkspaceIamV2API:
|
|
990
|
+
"""These APIs are used to manage identities and the workspace access of these identities in <Databricks>."""
|
|
991
|
+
return self._workspace_iam_v2
|
|
992
|
+
|
|
993
|
+
@property
|
|
994
|
+
def groups(self) -> pkg_iam.GroupsAPI:
|
|
995
|
+
"""Groups simplify identity management, making it easier to assign access to Databricks workspace, data, and other securable objects."""
|
|
996
|
+
return self._groups
|
|
997
|
+
|
|
998
|
+
@property
|
|
999
|
+
def service_principals(self) -> pkg_iam.ServicePrincipalsAPI:
|
|
1000
|
+
"""Identities for use with jobs, automated tools, and systems such as scripts, apps, and CI/CD platforms."""
|
|
1001
|
+
return self._service_principals
|
|
1002
|
+
|
|
1003
|
+
@property
|
|
1004
|
+
def users(self) -> pkg_iam.UsersAPI:
|
|
1005
|
+
"""User identities recognized by Databricks and represented by email addresses."""
|
|
1006
|
+
return self._users
|
|
1007
|
+
|
|
972
1008
|
def get_workspace_id(self) -> int:
|
|
973
1009
|
"""Get the workspace ID of the workspace that this client is connected to."""
|
|
974
1010
|
response = self._api_client.do("GET", "/api/2.0/preview/scim/v2/Me", response_headers=["X-Databricks-Org-Id"])
|
|
@@ -1050,7 +1086,7 @@ class AccountClient:
|
|
|
1050
1086
|
self._custom_app_integration = pkg_oauth2.CustomAppIntegrationAPI(self._api_client)
|
|
1051
1087
|
self._encryption_keys = pkg_provisioning.EncryptionKeysAPI(self._api_client)
|
|
1052
1088
|
self._federation_policy = pkg_oauth2.AccountFederationPolicyAPI(self._api_client)
|
|
1053
|
-
self.
|
|
1089
|
+
self._groups_v2 = pkg_iam.AccountGroupsV2API(self._api_client)
|
|
1054
1090
|
self._ip_access_lists = pkg_settings.AccountIpAccessListsAPI(self._api_client)
|
|
1055
1091
|
self._log_delivery = pkg_billing.LogDeliveryAPI(self._api_client)
|
|
1056
1092
|
self._metastore_assignments = pkg_catalog.AccountMetastoreAssignmentsAPI(self._api_client)
|
|
@@ -1063,18 +1099,22 @@ class AccountClient:
|
|
|
1063
1099
|
self._published_app_integration = pkg_oauth2.PublishedAppIntegrationAPI(self._api_client)
|
|
1064
1100
|
self._service_principal_federation_policy = pkg_oauth2.ServicePrincipalFederationPolicyAPI(self._api_client)
|
|
1065
1101
|
self._service_principal_secrets = pkg_oauth2.ServicePrincipalSecretsAPI(self._api_client)
|
|
1066
|
-
self.
|
|
1102
|
+
self._service_principals_v2 = pkg_iam.AccountServicePrincipalsV2API(self._api_client)
|
|
1067
1103
|
self._settings = pkg_settings.AccountSettingsAPI(self._api_client)
|
|
1068
1104
|
self._settings_v2 = pkg_settingsv2.AccountSettingsV2API(self._api_client)
|
|
1069
1105
|
self._storage = pkg_provisioning.StorageAPI(self._api_client)
|
|
1070
1106
|
self._storage_credentials = pkg_catalog.AccountStorageCredentialsAPI(self._api_client)
|
|
1071
1107
|
self._usage_dashboards = pkg_billing.UsageDashboardsAPI(self._api_client)
|
|
1072
|
-
self.
|
|
1108
|
+
self._users_v2 = pkg_iam.AccountUsersV2API(self._api_client)
|
|
1073
1109
|
self._vpc_endpoints = pkg_provisioning.VpcEndpointsAPI(self._api_client)
|
|
1074
1110
|
self._workspace_assignment = pkg_iam.WorkspaceAssignmentAPI(self._api_client)
|
|
1075
1111
|
self._workspace_network_configuration = pkg_settings.WorkspaceNetworkConfigurationAPI(self._api_client)
|
|
1076
1112
|
self._workspaces = pkg_provisioning.WorkspacesAPI(self._api_client)
|
|
1113
|
+
self._iam_v2 = pkg_iamv2.AccountIamV2API(self._api_client)
|
|
1077
1114
|
self._budgets = pkg_billing.BudgetsAPI(self._api_client)
|
|
1115
|
+
self._groups = pkg_iam.AccountGroupsAPI(self._api_client)
|
|
1116
|
+
self._service_principals = pkg_iam.AccountServicePrincipalsAPI(self._api_client)
|
|
1117
|
+
self._users = pkg_iam.AccountUsersAPI(self._api_client)
|
|
1078
1118
|
|
|
1079
1119
|
@property
|
|
1080
1120
|
def config(self) -> client.Config:
|
|
@@ -1120,9 +1160,9 @@ class AccountClient:
|
|
|
1120
1160
|
return self._federation_policy
|
|
1121
1161
|
|
|
1122
1162
|
@property
|
|
1123
|
-
def
|
|
1163
|
+
def groups_v2(self) -> pkg_iam.AccountGroupsV2API:
|
|
1124
1164
|
"""Groups simplify identity management, making it easier to assign access to Databricks account, data, and other securable objects."""
|
|
1125
|
-
return self.
|
|
1165
|
+
return self._groups_v2
|
|
1126
1166
|
|
|
1127
1167
|
@property
|
|
1128
1168
|
def ip_access_lists(self) -> pkg_settings.AccountIpAccessListsAPI:
|
|
@@ -1185,9 +1225,9 @@ class AccountClient:
|
|
|
1185
1225
|
return self._service_principal_secrets
|
|
1186
1226
|
|
|
1187
1227
|
@property
|
|
1188
|
-
def
|
|
1228
|
+
def service_principals_v2(self) -> pkg_iam.AccountServicePrincipalsV2API:
|
|
1189
1229
|
"""Identities for use with jobs, automated tools, and systems such as scripts, apps, and CI/CD platforms."""
|
|
1190
|
-
return self.
|
|
1230
|
+
return self._service_principals_v2
|
|
1191
1231
|
|
|
1192
1232
|
@property
|
|
1193
1233
|
def settings(self) -> pkg_settings.AccountSettingsAPI:
|
|
@@ -1215,9 +1255,9 @@ class AccountClient:
|
|
|
1215
1255
|
return self._usage_dashboards
|
|
1216
1256
|
|
|
1217
1257
|
@property
|
|
1218
|
-
def
|
|
1258
|
+
def users_v2(self) -> pkg_iam.AccountUsersV2API:
|
|
1219
1259
|
"""User identities recognized by Databricks and represented by email addresses."""
|
|
1220
|
-
return self.
|
|
1260
|
+
return self._users_v2
|
|
1221
1261
|
|
|
1222
1262
|
@property
|
|
1223
1263
|
def vpc_endpoints(self) -> pkg_provisioning.VpcEndpointsAPI:
|
|
@@ -1239,11 +1279,31 @@ class AccountClient:
|
|
|
1239
1279
|
"""These APIs manage workspaces for this account."""
|
|
1240
1280
|
return self._workspaces
|
|
1241
1281
|
|
|
1282
|
+
@property
|
|
1283
|
+
def iam_v2(self) -> pkg_iamv2.AccountIamV2API:
|
|
1284
|
+
"""These APIs are used to manage identities and the workspace access of these identities in <Databricks>."""
|
|
1285
|
+
return self._iam_v2
|
|
1286
|
+
|
|
1242
1287
|
@property
|
|
1243
1288
|
def budgets(self) -> pkg_billing.BudgetsAPI:
|
|
1244
1289
|
"""These APIs manage budget configurations for this account."""
|
|
1245
1290
|
return self._budgets
|
|
1246
1291
|
|
|
1292
|
+
@property
|
|
1293
|
+
def groups(self) -> pkg_iam.AccountGroupsAPI:
|
|
1294
|
+
"""Groups simplify identity management, making it easier to assign access to Databricks account, data, and other securable objects."""
|
|
1295
|
+
return self._groups
|
|
1296
|
+
|
|
1297
|
+
@property
|
|
1298
|
+
def service_principals(self) -> pkg_iam.AccountServicePrincipalsAPI:
|
|
1299
|
+
"""Identities for use with jobs, automated tools, and systems such as scripts, apps, and CI/CD platforms."""
|
|
1300
|
+
return self._service_principals
|
|
1301
|
+
|
|
1302
|
+
@property
|
|
1303
|
+
def users(self) -> pkg_iam.AccountUsersAPI:
|
|
1304
|
+
"""User identities recognized by Databricks and represented by email addresses."""
|
|
1305
|
+
return self._users
|
|
1306
|
+
|
|
1247
1307
|
def get_workspace_client(self, workspace: Workspace) -> WorkspaceClient:
|
|
1248
1308
|
"""Constructs a ``WorkspaceClient`` for the given workspace.
|
|
1249
1309
|
|
|
@@ -319,17 +319,18 @@ def env_oidc(cfg) -> Optional[CredentialsProvider]:
|
|
|
319
319
|
if cfg.oidc_token_env:
|
|
320
320
|
env_var = cfg.oidc_token_env
|
|
321
321
|
|
|
322
|
-
return
|
|
322
|
+
return oidc_credentials_provider(cfg, oidc.EnvIdTokenSource(env_var))
|
|
323
323
|
|
|
324
324
|
|
|
325
325
|
@credentials_strategy("file-oidc", ["host", "oidc_token_filepath"])
|
|
326
326
|
def file_oidc(cfg) -> Optional[CredentialsProvider]:
|
|
327
|
-
return
|
|
327
|
+
return oidc_credentials_provider(cfg, oidc.FileIdTokenSource(cfg.oidc_token_filepath))
|
|
328
328
|
|
|
329
329
|
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
330
|
+
def oidc_credentials_provider(cfg, id_token_source: oidc.IdTokenSource) -> Optional[CredentialsProvider]:
|
|
331
|
+
"""Creates a CredentialsProvider to sign requests with an OAuth token obtained
|
|
332
|
+
by automatically performing the token exchange using the given IdTokenSource."""
|
|
333
|
+
|
|
333
334
|
try:
|
|
334
335
|
id_token_source.id_token() # validate the id_token_source
|
|
335
336
|
except Exception as e:
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
from typing import Iterator, Optional
|
|
2
|
+
|
|
3
|
+
from databricks.sdk.service import sharing
|
|
4
|
+
from databricks.sdk.service.sharing import ShareInfo
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class SharesExt(sharing.SharesAPI):
|
|
8
|
+
def list(self, *, max_results: Optional[int] = None, page_token: Optional[str] = None) -> Iterator[ShareInfo]:
|
|
9
|
+
"""Gets an array of data object shares from the metastore. The caller must be a metastore admin or the
|
|
10
|
+
owner of the share. There is no guarantee of a specific ordering of the elements in the array.
|
|
11
|
+
|
|
12
|
+
:param max_results: int (optional)
|
|
13
|
+
Maximum number of shares to return. - when set to 0, the page length is set to a server configured
|
|
14
|
+
value (recommended); - when set to a value greater than 0, the page length is the minimum of this
|
|
15
|
+
value and a server configured value; - when set to a value less than 0, an invalid parameter error
|
|
16
|
+
is returned; - If not set, all valid shares are returned (not recommended). - Note: The number of
|
|
17
|
+
returned shares might be less than the specified max_results size, even zero. The only definitive
|
|
18
|
+
indication that no further shares can be fetched is when the next_page_token is unset from the
|
|
19
|
+
response.
|
|
20
|
+
:param page_token: str (optional)
|
|
21
|
+
Opaque pagination token to go to next page based on previous query.
|
|
22
|
+
|
|
23
|
+
:returns: Iterator over :class:`ShareInfo`
|
|
24
|
+
"""
|
|
25
|
+
|
|
26
|
+
query = {}
|
|
27
|
+
if max_results is not None:
|
|
28
|
+
query["max_results"] = max_results
|
|
29
|
+
if page_token is not None:
|
|
30
|
+
query["page_token"] = page_token
|
|
31
|
+
headers = {
|
|
32
|
+
"Accept": "application/json",
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
if "max_results" not in query:
|
|
36
|
+
query["max_results"] = 0
|
|
37
|
+
while True:
|
|
38
|
+
json = self._api.do("GET", "/api/2.1/unity-catalog/shares", query=query, headers=headers)
|
|
39
|
+
if "shares" in json:
|
|
40
|
+
for v in json["shares"]:
|
|
41
|
+
yield ShareInfo.from_dict(v)
|
|
42
|
+
if "next_page_token" not in json or not json["next_page_token"]:
|
|
43
|
+
return
|
|
44
|
+
query["page_token"] = json["next_page_token"]
|
|
@@ -1505,7 +1505,7 @@ class ConnectionInfo:
|
|
|
1505
1505
|
|
|
1506
1506
|
|
|
1507
1507
|
class ConnectionType(Enum):
|
|
1508
|
-
"""Next Id:
|
|
1508
|
+
"""Next Id: 38"""
|
|
1509
1509
|
|
|
1510
1510
|
BIGQUERY = "BIGQUERY"
|
|
1511
1511
|
DATABRICKS = "DATABRICKS"
|
|
@@ -1515,6 +1515,7 @@ class ConnectionType(Enum):
|
|
|
1515
1515
|
HTTP = "HTTP"
|
|
1516
1516
|
MYSQL = "MYSQL"
|
|
1517
1517
|
ORACLE = "ORACLE"
|
|
1518
|
+
PALANTIR = "PALANTIR"
|
|
1518
1519
|
POSTGRESQL = "POSTGRESQL"
|
|
1519
1520
|
POWER_BI = "POWER_BI"
|
|
1520
1521
|
REDSHIFT = "REDSHIFT"
|
|
@@ -2892,8 +2893,6 @@ class EffectivePredictiveOptimizationFlag:
|
|
|
2892
2893
|
|
|
2893
2894
|
|
|
2894
2895
|
class EffectivePredictiveOptimizationFlagInheritedFromType(Enum):
|
|
2895
|
-
"""The type of the object from which the flag was inherited. If there was no inheritance, this
|
|
2896
|
-
field is left blank."""
|
|
2897
2896
|
|
|
2898
2897
|
CATALOG = "CATALOG"
|
|
2899
2898
|
SCHEMA = "SCHEMA"
|
|
@@ -3652,7 +3651,8 @@ class ExternalLocationInfo:
|
|
|
3652
3651
|
sufficient."""
|
|
3653
3652
|
|
|
3654
3653
|
file_event_queue: Optional[FileEventQueue] = None
|
|
3655
|
-
"""File event queue settings.
|
|
3654
|
+
"""File event queue settings. If `enable_file_events` is `true`, must be defined and have exactly
|
|
3655
|
+
one of the documented properties."""
|
|
3656
3656
|
|
|
3657
3657
|
isolation_mode: Optional[IsolationMode] = None
|
|
3658
3658
|
|
|
@@ -7856,6 +7856,7 @@ class Privilege(Enum):
|
|
|
7856
7856
|
CREATE_VOLUME = "CREATE_VOLUME"
|
|
7857
7857
|
EXECUTE = "EXECUTE"
|
|
7858
7858
|
EXECUTE_CLEAN_ROOM_TASK = "EXECUTE_CLEAN_ROOM_TASK"
|
|
7859
|
+
EXTERNAL_USE_SCHEMA = "EXTERNAL_USE_SCHEMA"
|
|
7859
7860
|
MANAGE = "MANAGE"
|
|
7860
7861
|
MANAGE_ALLOWLIST = "MANAGE_ALLOWLIST"
|
|
7861
7862
|
MODIFY = "MODIFY"
|
|
@@ -8539,6 +8540,7 @@ class Securable:
|
|
|
8539
8540
|
|
|
8540
8541
|
|
|
8541
8542
|
class SecurableKind(Enum):
|
|
8543
|
+
"""Latest kind: CONNECTION_SHAREPOINT_OAUTH_M2M = 264; Next id:265"""
|
|
8542
8544
|
|
|
8543
8545
|
TABLE_DB_STORAGE = "TABLE_DB_STORAGE"
|
|
8544
8546
|
TABLE_DELTA = "TABLE_DELTA"
|
|
@@ -8549,6 +8551,7 @@ class SecurableKind(Enum):
|
|
|
8549
8551
|
TABLE_DELTA_ICEBERG_MANAGED = "TABLE_DELTA_ICEBERG_MANAGED"
|
|
8550
8552
|
TABLE_DELTA_UNIFORM_HUDI_EXTERNAL = "TABLE_DELTA_UNIFORM_HUDI_EXTERNAL"
|
|
8551
8553
|
TABLE_DELTA_UNIFORM_ICEBERG_EXTERNAL = "TABLE_DELTA_UNIFORM_ICEBERG_EXTERNAL"
|
|
8554
|
+
TABLE_DELTA_UNIFORM_ICEBERG_FOREIGN_DELTASHARING = "TABLE_DELTA_UNIFORM_ICEBERG_FOREIGN_DELTASHARING"
|
|
8552
8555
|
TABLE_DELTA_UNIFORM_ICEBERG_FOREIGN_HIVE_METASTORE_EXTERNAL = (
|
|
8553
8556
|
"TABLE_DELTA_UNIFORM_ICEBERG_FOREIGN_HIVE_METASTORE_EXTERNAL"
|
|
8554
8557
|
)
|
|
@@ -8579,6 +8582,7 @@ class SecurableKind(Enum):
|
|
|
8579
8582
|
TABLE_FOREIGN_MYSQL = "TABLE_FOREIGN_MYSQL"
|
|
8580
8583
|
TABLE_FOREIGN_NETSUITE = "TABLE_FOREIGN_NETSUITE"
|
|
8581
8584
|
TABLE_FOREIGN_ORACLE = "TABLE_FOREIGN_ORACLE"
|
|
8585
|
+
TABLE_FOREIGN_PALANTIR = "TABLE_FOREIGN_PALANTIR"
|
|
8582
8586
|
TABLE_FOREIGN_POSTGRESQL = "TABLE_FOREIGN_POSTGRESQL"
|
|
8583
8587
|
TABLE_FOREIGN_REDSHIFT = "TABLE_FOREIGN_REDSHIFT"
|
|
8584
8588
|
TABLE_FOREIGN_SALESFORCE = "TABLE_FOREIGN_SALESFORCE"
|
|
@@ -8596,6 +8600,7 @@ class SecurableKind(Enum):
|
|
|
8596
8600
|
TABLE_MATERIALIZED_VIEW = "TABLE_MATERIALIZED_VIEW"
|
|
8597
8601
|
TABLE_MATERIALIZED_VIEW_DELTASHARING = "TABLE_MATERIALIZED_VIEW_DELTASHARING"
|
|
8598
8602
|
TABLE_METRIC_VIEW = "TABLE_METRIC_VIEW"
|
|
8603
|
+
TABLE_METRIC_VIEW_DELTASHARING = "TABLE_METRIC_VIEW_DELTASHARING"
|
|
8599
8604
|
TABLE_ONLINE_VECTOR_INDEX_DIRECT = "TABLE_ONLINE_VECTOR_INDEX_DIRECT"
|
|
8600
8605
|
TABLE_ONLINE_VECTOR_INDEX_REPLICA = "TABLE_ONLINE_VECTOR_INDEX_REPLICA"
|
|
8601
8606
|
TABLE_ONLINE_VIEW = "TABLE_ONLINE_VIEW"
|
|
@@ -8999,6 +9004,7 @@ class SystemType(Enum):
|
|
|
8999
9004
|
SAP = "SAP"
|
|
9000
9005
|
SERVICENOW = "SERVICENOW"
|
|
9001
9006
|
SNOWFLAKE = "SNOWFLAKE"
|
|
9007
|
+
STREAM_NATIVE = "STREAM_NATIVE"
|
|
9002
9008
|
TABLEAU = "TABLEAU"
|
|
9003
9009
|
TERADATA = "TERADATA"
|
|
9004
9010
|
WORKDAY = "WORKDAY"
|
|
@@ -10245,6 +10251,11 @@ class VolumeInfo:
|
|
|
10245
10251
|
"""The unique identifier of the volume"""
|
|
10246
10252
|
|
|
10247
10253
|
volume_type: Optional[VolumeType] = None
|
|
10254
|
+
"""The type of the volume. An external volume is located in the specified external location. A
|
|
10255
|
+
managed volume is located in the default location which is specified by the parent schema, or
|
|
10256
|
+
the parent catalog, or the Metastore. [Learn more]
|
|
10257
|
+
|
|
10258
|
+
[Learn more]: https://docs.databricks.com/aws/en/volumes/managed-vs-external"""
|
|
10248
10259
|
|
|
10249
10260
|
def as_dict(self) -> dict:
|
|
10250
10261
|
"""Serializes the VolumeInfo into a dictionary suitable for use as a JSON request body."""
|
|
@@ -10349,11 +10360,6 @@ class VolumeInfo:
|
|
|
10349
10360
|
|
|
10350
10361
|
|
|
10351
10362
|
class VolumeType(Enum):
|
|
10352
|
-
"""The type of the volume. An external volume is located in the specified external location. A
|
|
10353
|
-
managed volume is located in the default location which is specified by the parent schema, or
|
|
10354
|
-
the parent catalog, or the Metastore. [Learn more]
|
|
10355
|
-
|
|
10356
|
-
[Learn more]: https://docs.databricks.com/aws/en/volumes/managed-vs-external"""
|
|
10357
10363
|
|
|
10358
10364
|
EXTERNAL = "EXTERNAL"
|
|
10359
10365
|
MANAGED = "MANAGED"
|
|
@@ -11945,7 +11951,8 @@ class ExternalLocationsAPI:
|
|
|
11945
11951
|
enabled, the access to the location falls back to cluster credentials if UC credentials are not
|
|
11946
11952
|
sufficient.
|
|
11947
11953
|
:param file_event_queue: :class:`FileEventQueue` (optional)
|
|
11948
|
-
File event queue settings.
|
|
11954
|
+
File event queue settings. If `enable_file_events` is `true`, must be defined and have exactly one
|
|
11955
|
+
of the documented properties.
|
|
11949
11956
|
:param read_only: bool (optional)
|
|
11950
11957
|
Indicates whether the external location is read-only.
|
|
11951
11958
|
:param skip_validation: bool (optional)
|
|
@@ -12107,7 +12114,8 @@ class ExternalLocationsAPI:
|
|
|
12107
12114
|
enabled, the access to the location falls back to cluster credentials if UC credentials are not
|
|
12108
12115
|
sufficient.
|
|
12109
12116
|
:param file_event_queue: :class:`FileEventQueue` (optional)
|
|
12110
|
-
File event queue settings.
|
|
12117
|
+
File event queue settings. If `enable_file_events` is `true`, must be defined and have exactly one
|
|
12118
|
+
of the documented properties.
|
|
12111
12119
|
:param force: bool (optional)
|
|
12112
12120
|
Force update even if changing url invalidates dependent external tables or mounts.
|
|
12113
12121
|
:param isolation_mode: :class:`IsolationMode` (optional)
|
|
@@ -15418,6 +15426,11 @@ class VolumesAPI:
|
|
|
15418
15426
|
:param name: str
|
|
15419
15427
|
The name of the volume
|
|
15420
15428
|
:param volume_type: :class:`VolumeType`
|
|
15429
|
+
The type of the volume. An external volume is located in the specified external location. A managed
|
|
15430
|
+
volume is located in the default location which is specified by the parent schema, or the parent
|
|
15431
|
+
catalog, or the Metastore. [Learn more]
|
|
15432
|
+
|
|
15433
|
+
[Learn more]: https://docs.databricks.com/aws/en/volumes/managed-vs-external
|
|
15421
15434
|
:param comment: str (optional)
|
|
15422
15435
|
The comment attached to the volume
|
|
15423
15436
|
:param storage_location: str (optional)
|
|
@@ -15476,7 +15489,7 @@ class VolumesAPI:
|
|
|
15476
15489
|
|
|
15477
15490
|
The returned volumes are filtered based on the privileges of the calling user. For example, the
|
|
15478
15491
|
metastore admin is able to list all the volumes. A regular user needs to be the owner or have the
|
|
15479
|
-
**READ VOLUME** privilege on the volume to
|
|
15492
|
+
**READ VOLUME** privilege on the volume to receive the volumes in the response. For the latter case,
|
|
15480
15493
|
the caller must also be the owner or have the **USE_CATALOG** privilege on the parent catalog and the
|
|
15481
15494
|
**USE_SCHEMA** privilege on the parent schema.
|
|
15482
15495
|
|
|
@@ -3136,6 +3136,9 @@ class Environment:
|
|
|
3136
3136
|
version and a set of Python packages. The version is a string, consisting of an integer."""
|
|
3137
3137
|
|
|
3138
3138
|
jar_dependencies: Optional[List[str]] = None
|
|
3139
|
+
"""Use `java_dependencies` instead."""
|
|
3140
|
+
|
|
3141
|
+
java_dependencies: Optional[List[str]] = None
|
|
3139
3142
|
"""List of jar dependencies, should be string representing volume paths. For example:
|
|
3140
3143
|
`/Volumes/path/to/test.jar`."""
|
|
3141
3144
|
|
|
@@ -3150,6 +3153,8 @@ class Environment:
|
|
|
3150
3153
|
body["environment_version"] = self.environment_version
|
|
3151
3154
|
if self.jar_dependencies:
|
|
3152
3155
|
body["jar_dependencies"] = [v for v in self.jar_dependencies]
|
|
3156
|
+
if self.java_dependencies:
|
|
3157
|
+
body["java_dependencies"] = [v for v in self.java_dependencies]
|
|
3153
3158
|
return body
|
|
3154
3159
|
|
|
3155
3160
|
def as_shallow_dict(self) -> dict:
|
|
@@ -3163,6 +3168,8 @@ class Environment:
|
|
|
3163
3168
|
body["environment_version"] = self.environment_version
|
|
3164
3169
|
if self.jar_dependencies:
|
|
3165
3170
|
body["jar_dependencies"] = self.jar_dependencies
|
|
3171
|
+
if self.java_dependencies:
|
|
3172
|
+
body["java_dependencies"] = self.java_dependencies
|
|
3166
3173
|
return body
|
|
3167
3174
|
|
|
3168
3175
|
@classmethod
|
|
@@ -3173,6 +3180,7 @@ class Environment:
|
|
|
3173
3180
|
dependencies=d.get("dependencies", None),
|
|
3174
3181
|
environment_version=d.get("environment_version", None),
|
|
3175
3182
|
jar_dependencies=d.get("jar_dependencies", None),
|
|
3183
|
+
java_dependencies=d.get("java_dependencies", None),
|
|
3176
3184
|
)
|
|
3177
3185
|
|
|
3178
3186
|
|
|
@@ -7151,6 +7159,8 @@ class TerminationReasonCode(Enum):
|
|
|
7151
7159
|
NETWORK_CHECK_STORAGE_FAILURE = "NETWORK_CHECK_STORAGE_FAILURE"
|
|
7152
7160
|
NETWORK_CONFIGURATION_FAILURE = "NETWORK_CONFIGURATION_FAILURE"
|
|
7153
7161
|
NFS_MOUNT_FAILURE = "NFS_MOUNT_FAILURE"
|
|
7162
|
+
NO_ACTIVATED_K8S = "NO_ACTIVATED_K8S"
|
|
7163
|
+
NO_ACTIVATED_K8S_TESTING_TAG = "NO_ACTIVATED_K8S_TESTING_TAG"
|
|
7154
7164
|
NO_MATCHED_K8S = "NO_MATCHED_K8S"
|
|
7155
7165
|
NO_MATCHED_K8S_TESTING_TAG = "NO_MATCHED_K8S_TESTING_TAG"
|
|
7156
7166
|
NPIP_TUNNEL_SETUP_FAILURE = "NPIP_TUNNEL_SETUP_FAILURE"
|
|
@@ -7189,6 +7199,7 @@ class TerminationReasonCode(Enum):
|
|
|
7189
7199
|
UNKNOWN = "UNKNOWN"
|
|
7190
7200
|
UNSUPPORTED_INSTANCE_TYPE = "UNSUPPORTED_INSTANCE_TYPE"
|
|
7191
7201
|
UPDATE_INSTANCE_PROFILE_FAILURE = "UPDATE_INSTANCE_PROFILE_FAILURE"
|
|
7202
|
+
USAGE_POLICY_ENTITLEMENT_DENIED = "USAGE_POLICY_ENTITLEMENT_DENIED"
|
|
7192
7203
|
USER_INITIATED_VM_TERMINATION = "USER_INITIATED_VM_TERMINATION"
|
|
7193
7204
|
USER_REQUEST = "USER_REQUEST"
|
|
7194
7205
|
WORKER_SETUP_FAILURE = "WORKER_SETUP_FAILURE"
|