databricks-sdk 0.57.0__py3-none-any.whl → 0.59.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 +38 -9
- databricks/sdk/service/aibuilder.py +0 -163
- databricks/sdk/service/apps.py +53 -49
- databricks/sdk/service/billing.py +62 -223
- databricks/sdk/service/catalog.py +3052 -3707
- databricks/sdk/service/cleanrooms.py +5 -54
- databricks/sdk/service/compute.py +579 -2715
- databricks/sdk/service/dashboards.py +108 -317
- databricks/sdk/service/database.py +603 -122
- databricks/sdk/service/files.py +2 -218
- databricks/sdk/service/iam.py +19 -298
- databricks/sdk/service/jobs.py +77 -1263
- databricks/sdk/service/marketplace.py +3 -575
- databricks/sdk/service/ml.py +816 -2734
- databricks/sdk/service/oauth2.py +122 -238
- databricks/sdk/service/pipelines.py +133 -724
- databricks/sdk/service/provisioning.py +36 -757
- databricks/sdk/service/qualitymonitorv2.py +0 -18
- databricks/sdk/service/serving.py +37 -583
- databricks/sdk/service/settings.py +282 -1768
- databricks/sdk/service/sharing.py +6 -478
- databricks/sdk/service/sql.py +129 -1696
- databricks/sdk/service/vectorsearch.py +0 -410
- databricks/sdk/service/workspace.py +252 -727
- databricks/sdk/version.py +1 -1
- {databricks_sdk-0.57.0.dist-info → databricks_sdk-0.59.0.dist-info}/METADATA +1 -1
- {databricks_sdk-0.57.0.dist-info → databricks_sdk-0.59.0.dist-info}/RECORD +31 -31
- {databricks_sdk-0.57.0.dist-info → databricks_sdk-0.59.0.dist-info}/WHEEL +0 -0
- {databricks_sdk-0.57.0.dist-info → databricks_sdk-0.59.0.dist-info}/licenses/LICENSE +0 -0
- {databricks_sdk-0.57.0.dist-info → databricks_sdk-0.59.0.dist-info}/licenses/NOTICE +0 -0
- {databricks_sdk-0.57.0.dist-info → databricks_sdk-0.59.0.dist-info}/top_level.txt +0 -0
|
@@ -133,7 +133,6 @@ class CloudResourceContainer:
|
|
|
133
133
|
"""The general workspace configurations that are specific to cloud providers."""
|
|
134
134
|
|
|
135
135
|
gcp: Optional[CustomerFacingGcpCloudResourceContainer] = None
|
|
136
|
-
"""The general workspace configurations that are specific to Google Cloud."""
|
|
137
136
|
|
|
138
137
|
def as_dict(self) -> dict:
|
|
139
138
|
"""Serializes the CloudResourceContainer into a dictionary suitable for use as a JSON request body."""
|
|
@@ -225,40 +224,6 @@ class CreateCredentialAwsCredentials:
|
|
|
225
224
|
return cls(sts_role=_from_dict(d, "sts_role", CreateCredentialStsRole))
|
|
226
225
|
|
|
227
226
|
|
|
228
|
-
@dataclass
|
|
229
|
-
class CreateCredentialRequest:
|
|
230
|
-
credentials_name: str
|
|
231
|
-
"""The human-readable name of the credential configuration object."""
|
|
232
|
-
|
|
233
|
-
aws_credentials: CreateCredentialAwsCredentials
|
|
234
|
-
|
|
235
|
-
def as_dict(self) -> dict:
|
|
236
|
-
"""Serializes the CreateCredentialRequest into a dictionary suitable for use as a JSON request body."""
|
|
237
|
-
body = {}
|
|
238
|
-
if self.aws_credentials:
|
|
239
|
-
body["aws_credentials"] = self.aws_credentials.as_dict()
|
|
240
|
-
if self.credentials_name is not None:
|
|
241
|
-
body["credentials_name"] = self.credentials_name
|
|
242
|
-
return body
|
|
243
|
-
|
|
244
|
-
def as_shallow_dict(self) -> dict:
|
|
245
|
-
"""Serializes the CreateCredentialRequest into a shallow dictionary of its immediate attributes."""
|
|
246
|
-
body = {}
|
|
247
|
-
if self.aws_credentials:
|
|
248
|
-
body["aws_credentials"] = self.aws_credentials
|
|
249
|
-
if self.credentials_name is not None:
|
|
250
|
-
body["credentials_name"] = self.credentials_name
|
|
251
|
-
return body
|
|
252
|
-
|
|
253
|
-
@classmethod
|
|
254
|
-
def from_dict(cls, d: Dict[str, Any]) -> CreateCredentialRequest:
|
|
255
|
-
"""Deserializes the CreateCredentialRequest from a dictionary."""
|
|
256
|
-
return cls(
|
|
257
|
-
aws_credentials=_from_dict(d, "aws_credentials", CreateCredentialAwsCredentials),
|
|
258
|
-
credentials_name=d.get("credentials_name", None),
|
|
259
|
-
)
|
|
260
|
-
|
|
261
|
-
|
|
262
227
|
@dataclass
|
|
263
228
|
class CreateCredentialStsRole:
|
|
264
229
|
role_arn: Optional[str] = None
|
|
@@ -275,450 +240,38 @@ class CreateCredentialStsRole:
|
|
|
275
240
|
"""Serializes the CreateCredentialStsRole into a shallow dictionary of its immediate attributes."""
|
|
276
241
|
body = {}
|
|
277
242
|
if self.role_arn is not None:
|
|
278
|
-
body["role_arn"] = self.role_arn
|
|
279
|
-
return body
|
|
280
|
-
|
|
281
|
-
@classmethod
|
|
282
|
-
def from_dict(cls, d: Dict[str, Any]) -> CreateCredentialStsRole:
|
|
283
|
-
"""Deserializes the CreateCredentialStsRole from a dictionary."""
|
|
284
|
-
return cls(role_arn=d.get("role_arn", None))
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
@dataclass
|
|
288
|
-
class CreateCustomerManagedKeyRequest:
|
|
289
|
-
use_cases: List[KeyUseCase]
|
|
290
|
-
"""The cases that the key can be used for."""
|
|
291
|
-
|
|
292
|
-
aws_key_info: Optional[CreateAwsKeyInfo] = None
|
|
293
|
-
|
|
294
|
-
gcp_key_info: Optional[CreateGcpKeyInfo] = None
|
|
295
|
-
|
|
296
|
-
def as_dict(self) -> dict:
|
|
297
|
-
"""Serializes the CreateCustomerManagedKeyRequest into a dictionary suitable for use as a JSON request body."""
|
|
298
|
-
body = {}
|
|
299
|
-
if self.aws_key_info:
|
|
300
|
-
body["aws_key_info"] = self.aws_key_info.as_dict()
|
|
301
|
-
if self.gcp_key_info:
|
|
302
|
-
body["gcp_key_info"] = self.gcp_key_info.as_dict()
|
|
303
|
-
if self.use_cases:
|
|
304
|
-
body["use_cases"] = [v.value for v in self.use_cases]
|
|
305
|
-
return body
|
|
306
|
-
|
|
307
|
-
def as_shallow_dict(self) -> dict:
|
|
308
|
-
"""Serializes the CreateCustomerManagedKeyRequest into a shallow dictionary of its immediate attributes."""
|
|
309
|
-
body = {}
|
|
310
|
-
if self.aws_key_info:
|
|
311
|
-
body["aws_key_info"] = self.aws_key_info
|
|
312
|
-
if self.gcp_key_info:
|
|
313
|
-
body["gcp_key_info"] = self.gcp_key_info
|
|
314
|
-
if self.use_cases:
|
|
315
|
-
body["use_cases"] = self.use_cases
|
|
316
|
-
return body
|
|
317
|
-
|
|
318
|
-
@classmethod
|
|
319
|
-
def from_dict(cls, d: Dict[str, Any]) -> CreateCustomerManagedKeyRequest:
|
|
320
|
-
"""Deserializes the CreateCustomerManagedKeyRequest from a dictionary."""
|
|
321
|
-
return cls(
|
|
322
|
-
aws_key_info=_from_dict(d, "aws_key_info", CreateAwsKeyInfo),
|
|
323
|
-
gcp_key_info=_from_dict(d, "gcp_key_info", CreateGcpKeyInfo),
|
|
324
|
-
use_cases=_repeated_enum(d, "use_cases", KeyUseCase),
|
|
325
|
-
)
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
@dataclass
|
|
329
|
-
class CreateGcpKeyInfo:
|
|
330
|
-
kms_key_id: str
|
|
331
|
-
"""The GCP KMS key's resource name"""
|
|
332
|
-
|
|
333
|
-
def as_dict(self) -> dict:
|
|
334
|
-
"""Serializes the CreateGcpKeyInfo into a dictionary suitable for use as a JSON request body."""
|
|
335
|
-
body = {}
|
|
336
|
-
if self.kms_key_id is not None:
|
|
337
|
-
body["kms_key_id"] = self.kms_key_id
|
|
338
|
-
return body
|
|
339
|
-
|
|
340
|
-
def as_shallow_dict(self) -> dict:
|
|
341
|
-
"""Serializes the CreateGcpKeyInfo into a shallow dictionary of its immediate attributes."""
|
|
342
|
-
body = {}
|
|
343
|
-
if self.kms_key_id is not None:
|
|
344
|
-
body["kms_key_id"] = self.kms_key_id
|
|
345
|
-
return body
|
|
346
|
-
|
|
347
|
-
@classmethod
|
|
348
|
-
def from_dict(cls, d: Dict[str, Any]) -> CreateGcpKeyInfo:
|
|
349
|
-
"""Deserializes the CreateGcpKeyInfo from a dictionary."""
|
|
350
|
-
return cls(kms_key_id=d.get("kms_key_id", None))
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
@dataclass
|
|
354
|
-
class CreateNetworkRequest:
|
|
355
|
-
network_name: str
|
|
356
|
-
"""The human-readable name of the network configuration."""
|
|
357
|
-
|
|
358
|
-
gcp_network_info: Optional[GcpNetworkInfo] = None
|
|
359
|
-
"""The Google Cloud specific information for this network (for example, the VPC ID, subnet ID, and
|
|
360
|
-
secondary IP ranges)."""
|
|
361
|
-
|
|
362
|
-
security_group_ids: Optional[List[str]] = None
|
|
363
|
-
"""IDs of one to five security groups associated with this network. Security group IDs **cannot**
|
|
364
|
-
be used in multiple network configurations."""
|
|
365
|
-
|
|
366
|
-
subnet_ids: Optional[List[str]] = None
|
|
367
|
-
"""IDs of at least two subnets associated with this network. Subnet IDs **cannot** be used in
|
|
368
|
-
multiple network configurations."""
|
|
369
|
-
|
|
370
|
-
vpc_endpoints: Optional[NetworkVpcEndpoints] = None
|
|
371
|
-
"""If specified, contains the VPC endpoints used to allow cluster communication from this VPC over
|
|
372
|
-
[AWS PrivateLink].
|
|
373
|
-
|
|
374
|
-
[AWS PrivateLink]: https://aws.amazon.com/privatelink/"""
|
|
375
|
-
|
|
376
|
-
vpc_id: Optional[str] = None
|
|
377
|
-
"""The ID of the VPC associated with this network. VPC IDs can be used in multiple network
|
|
378
|
-
configurations."""
|
|
379
|
-
|
|
380
|
-
def as_dict(self) -> dict:
|
|
381
|
-
"""Serializes the CreateNetworkRequest into a dictionary suitable for use as a JSON request body."""
|
|
382
|
-
body = {}
|
|
383
|
-
if self.gcp_network_info:
|
|
384
|
-
body["gcp_network_info"] = self.gcp_network_info.as_dict()
|
|
385
|
-
if self.network_name is not None:
|
|
386
|
-
body["network_name"] = self.network_name
|
|
387
|
-
if self.security_group_ids:
|
|
388
|
-
body["security_group_ids"] = [v for v in self.security_group_ids]
|
|
389
|
-
if self.subnet_ids:
|
|
390
|
-
body["subnet_ids"] = [v for v in self.subnet_ids]
|
|
391
|
-
if self.vpc_endpoints:
|
|
392
|
-
body["vpc_endpoints"] = self.vpc_endpoints.as_dict()
|
|
393
|
-
if self.vpc_id is not None:
|
|
394
|
-
body["vpc_id"] = self.vpc_id
|
|
395
|
-
return body
|
|
396
|
-
|
|
397
|
-
def as_shallow_dict(self) -> dict:
|
|
398
|
-
"""Serializes the CreateNetworkRequest into a shallow dictionary of its immediate attributes."""
|
|
399
|
-
body = {}
|
|
400
|
-
if self.gcp_network_info:
|
|
401
|
-
body["gcp_network_info"] = self.gcp_network_info
|
|
402
|
-
if self.network_name is not None:
|
|
403
|
-
body["network_name"] = self.network_name
|
|
404
|
-
if self.security_group_ids:
|
|
405
|
-
body["security_group_ids"] = self.security_group_ids
|
|
406
|
-
if self.subnet_ids:
|
|
407
|
-
body["subnet_ids"] = self.subnet_ids
|
|
408
|
-
if self.vpc_endpoints:
|
|
409
|
-
body["vpc_endpoints"] = self.vpc_endpoints
|
|
410
|
-
if self.vpc_id is not None:
|
|
411
|
-
body["vpc_id"] = self.vpc_id
|
|
412
|
-
return body
|
|
413
|
-
|
|
414
|
-
@classmethod
|
|
415
|
-
def from_dict(cls, d: Dict[str, Any]) -> CreateNetworkRequest:
|
|
416
|
-
"""Deserializes the CreateNetworkRequest from a dictionary."""
|
|
417
|
-
return cls(
|
|
418
|
-
gcp_network_info=_from_dict(d, "gcp_network_info", GcpNetworkInfo),
|
|
419
|
-
network_name=d.get("network_name", None),
|
|
420
|
-
security_group_ids=d.get("security_group_ids", None),
|
|
421
|
-
subnet_ids=d.get("subnet_ids", None),
|
|
422
|
-
vpc_endpoints=_from_dict(d, "vpc_endpoints", NetworkVpcEndpoints),
|
|
423
|
-
vpc_id=d.get("vpc_id", None),
|
|
424
|
-
)
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
@dataclass
|
|
428
|
-
class CreateStorageConfigurationRequest:
|
|
429
|
-
storage_configuration_name: str
|
|
430
|
-
"""The human-readable name of the storage configuration."""
|
|
431
|
-
|
|
432
|
-
root_bucket_info: RootBucketInfo
|
|
433
|
-
"""Root S3 bucket information."""
|
|
434
|
-
|
|
435
|
-
def as_dict(self) -> dict:
|
|
436
|
-
"""Serializes the CreateStorageConfigurationRequest into a dictionary suitable for use as a JSON request body."""
|
|
437
|
-
body = {}
|
|
438
|
-
if self.root_bucket_info:
|
|
439
|
-
body["root_bucket_info"] = self.root_bucket_info.as_dict()
|
|
440
|
-
if self.storage_configuration_name is not None:
|
|
441
|
-
body["storage_configuration_name"] = self.storage_configuration_name
|
|
442
|
-
return body
|
|
443
|
-
|
|
444
|
-
def as_shallow_dict(self) -> dict:
|
|
445
|
-
"""Serializes the CreateStorageConfigurationRequest into a shallow dictionary of its immediate attributes."""
|
|
446
|
-
body = {}
|
|
447
|
-
if self.root_bucket_info:
|
|
448
|
-
body["root_bucket_info"] = self.root_bucket_info
|
|
449
|
-
if self.storage_configuration_name is not None:
|
|
450
|
-
body["storage_configuration_name"] = self.storage_configuration_name
|
|
451
|
-
return body
|
|
452
|
-
|
|
453
|
-
@classmethod
|
|
454
|
-
def from_dict(cls, d: Dict[str, Any]) -> CreateStorageConfigurationRequest:
|
|
455
|
-
"""Deserializes the CreateStorageConfigurationRequest from a dictionary."""
|
|
456
|
-
return cls(
|
|
457
|
-
root_bucket_info=_from_dict(d, "root_bucket_info", RootBucketInfo),
|
|
458
|
-
storage_configuration_name=d.get("storage_configuration_name", None),
|
|
459
|
-
)
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
@dataclass
|
|
463
|
-
class CreateVpcEndpointRequest:
|
|
464
|
-
vpc_endpoint_name: str
|
|
465
|
-
"""The human-readable name of the storage configuration."""
|
|
466
|
-
|
|
467
|
-
aws_vpc_endpoint_id: Optional[str] = None
|
|
468
|
-
"""The ID of the VPC endpoint object in AWS."""
|
|
469
|
-
|
|
470
|
-
gcp_vpc_endpoint_info: Optional[GcpVpcEndpointInfo] = None
|
|
471
|
-
"""The Google Cloud specific information for this Private Service Connect endpoint."""
|
|
472
|
-
|
|
473
|
-
region: Optional[str] = None
|
|
474
|
-
"""The AWS region in which this VPC endpoint object exists."""
|
|
475
|
-
|
|
476
|
-
def as_dict(self) -> dict:
|
|
477
|
-
"""Serializes the CreateVpcEndpointRequest into a dictionary suitable for use as a JSON request body."""
|
|
478
|
-
body = {}
|
|
479
|
-
if self.aws_vpc_endpoint_id is not None:
|
|
480
|
-
body["aws_vpc_endpoint_id"] = self.aws_vpc_endpoint_id
|
|
481
|
-
if self.gcp_vpc_endpoint_info:
|
|
482
|
-
body["gcp_vpc_endpoint_info"] = self.gcp_vpc_endpoint_info.as_dict()
|
|
483
|
-
if self.region is not None:
|
|
484
|
-
body["region"] = self.region
|
|
485
|
-
if self.vpc_endpoint_name is not None:
|
|
486
|
-
body["vpc_endpoint_name"] = self.vpc_endpoint_name
|
|
487
|
-
return body
|
|
488
|
-
|
|
489
|
-
def as_shallow_dict(self) -> dict:
|
|
490
|
-
"""Serializes the CreateVpcEndpointRequest into a shallow dictionary of its immediate attributes."""
|
|
491
|
-
body = {}
|
|
492
|
-
if self.aws_vpc_endpoint_id is not None:
|
|
493
|
-
body["aws_vpc_endpoint_id"] = self.aws_vpc_endpoint_id
|
|
494
|
-
if self.gcp_vpc_endpoint_info:
|
|
495
|
-
body["gcp_vpc_endpoint_info"] = self.gcp_vpc_endpoint_info
|
|
496
|
-
if self.region is not None:
|
|
497
|
-
body["region"] = self.region
|
|
498
|
-
if self.vpc_endpoint_name is not None:
|
|
499
|
-
body["vpc_endpoint_name"] = self.vpc_endpoint_name
|
|
500
|
-
return body
|
|
501
|
-
|
|
502
|
-
@classmethod
|
|
503
|
-
def from_dict(cls, d: Dict[str, Any]) -> CreateVpcEndpointRequest:
|
|
504
|
-
"""Deserializes the CreateVpcEndpointRequest from a dictionary."""
|
|
505
|
-
return cls(
|
|
506
|
-
aws_vpc_endpoint_id=d.get("aws_vpc_endpoint_id", None),
|
|
507
|
-
gcp_vpc_endpoint_info=_from_dict(d, "gcp_vpc_endpoint_info", GcpVpcEndpointInfo),
|
|
508
|
-
region=d.get("region", None),
|
|
509
|
-
vpc_endpoint_name=d.get("vpc_endpoint_name", None),
|
|
510
|
-
)
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
@dataclass
|
|
514
|
-
class CreateWorkspaceRequest:
|
|
515
|
-
workspace_name: str
|
|
516
|
-
"""The workspace's human-readable name."""
|
|
517
|
-
|
|
518
|
-
aws_region: Optional[str] = None
|
|
519
|
-
"""The AWS region of the workspace's data plane."""
|
|
520
|
-
|
|
521
|
-
cloud: Optional[str] = None
|
|
522
|
-
"""The cloud provider which the workspace uses. For Google Cloud workspaces, always set this field
|
|
523
|
-
to `gcp`."""
|
|
524
|
-
|
|
525
|
-
cloud_resource_container: Optional[CloudResourceContainer] = None
|
|
526
|
-
"""The general workspace configurations that are specific to cloud providers."""
|
|
527
|
-
|
|
528
|
-
credentials_id: Optional[str] = None
|
|
529
|
-
"""ID of the workspace's credential configuration object."""
|
|
530
|
-
|
|
531
|
-
custom_tags: Optional[Dict[str, str]] = None
|
|
532
|
-
"""The custom tags key-value pairing that is attached to this workspace. The key-value pair is a
|
|
533
|
-
string of utf-8 characters. The value can be an empty string, with maximum length of 255
|
|
534
|
-
characters. The key can be of maximum length of 127 characters, and cannot be empty."""
|
|
535
|
-
|
|
536
|
-
deployment_name: Optional[str] = None
|
|
537
|
-
"""The deployment name defines part of the subdomain for the workspace. The workspace URL for the
|
|
538
|
-
web application and REST APIs is `<workspace-deployment-name>.cloud.databricks.com`. For
|
|
539
|
-
example, if the deployment name is `abcsales`, your workspace URL will be
|
|
540
|
-
`https://abcsales.cloud.databricks.com`. Hyphens are allowed. This property supports only the
|
|
541
|
-
set of characters that are allowed in a subdomain.
|
|
542
|
-
|
|
543
|
-
To set this value, you must have a deployment name prefix. Contact your Databricks account team
|
|
544
|
-
to add an account deployment name prefix to your account.
|
|
545
|
-
|
|
546
|
-
Workspace deployment names follow the account prefix and a hyphen. For example, if your
|
|
547
|
-
account's deployment prefix is `acme` and the workspace deployment name is `workspace-1`, the
|
|
548
|
-
JSON response for the `deployment_name` field becomes `acme-workspace-1`. The workspace URL
|
|
549
|
-
would be `acme-workspace-1.cloud.databricks.com`.
|
|
550
|
-
|
|
551
|
-
You can also set the `deployment_name` to the reserved keyword `EMPTY` if you want the
|
|
552
|
-
deployment name to only include the deployment prefix. For example, if your account's deployment
|
|
553
|
-
prefix is `acme` and the workspace deployment name is `EMPTY`, the `deployment_name` becomes
|
|
554
|
-
`acme` only and the workspace URL is `acme.cloud.databricks.com`.
|
|
555
|
-
|
|
556
|
-
This value must be unique across all non-deleted deployments across all AWS regions.
|
|
557
|
-
|
|
558
|
-
If a new workspace omits this property, the server generates a unique deployment name for you
|
|
559
|
-
with the pattern `dbc-xxxxxxxx-xxxx`."""
|
|
560
|
-
|
|
561
|
-
gcp_managed_network_config: Optional[GcpManagedNetworkConfig] = None
|
|
562
|
-
"""The network settings for the workspace. The configurations are only for Databricks-managed VPCs.
|
|
563
|
-
It is ignored if you specify a customer-managed VPC in the `network_id` field.", All the IP
|
|
564
|
-
range configurations must be mutually exclusive. An attempt to create a workspace fails if
|
|
565
|
-
Databricks detects an IP range overlap.
|
|
566
|
-
|
|
567
|
-
Specify custom IP ranges in CIDR format. The IP ranges for these fields must not overlap, and
|
|
568
|
-
all IP addresses must be entirely within the following ranges: `10.0.0.0/8`, `100.64.0.0/10`,
|
|
569
|
-
`172.16.0.0/12`, `192.168.0.0/16`, and `240.0.0.0/4`.
|
|
570
|
-
|
|
571
|
-
The sizes of these IP ranges affect the maximum number of nodes for the workspace.
|
|
572
|
-
|
|
573
|
-
**Important**: Confirm the IP ranges used by your Databricks workspace before creating the
|
|
574
|
-
workspace. You cannot change them after your workspace is deployed. If the IP address ranges for
|
|
575
|
-
your Databricks are too small, IP exhaustion can occur, causing your Databricks jobs to fail. To
|
|
576
|
-
determine the address range sizes that you need, Databricks provides a calculator as a Microsoft
|
|
577
|
-
Excel spreadsheet. See [calculate subnet sizes for a new workspace].
|
|
578
|
-
|
|
579
|
-
[calculate subnet sizes for a new workspace]: https://docs.gcp.databricks.com/administration-guide/cloud-configurations/gcp/network-sizing.html"""
|
|
580
|
-
|
|
581
|
-
gke_config: Optional[GkeConfig] = None
|
|
582
|
-
"""The configurations for the GKE cluster of a Databricks workspace."""
|
|
583
|
-
|
|
584
|
-
is_no_public_ip_enabled: Optional[bool] = None
|
|
585
|
-
"""Whether no public IP is enabled for the workspace."""
|
|
586
|
-
|
|
587
|
-
location: Optional[str] = None
|
|
588
|
-
"""The Google Cloud region of the workspace data plane in your Google account. For example,
|
|
589
|
-
`us-east4`."""
|
|
590
|
-
|
|
591
|
-
managed_services_customer_managed_key_id: Optional[str] = None
|
|
592
|
-
"""The ID of the workspace's managed services encryption key configuration object. This is used to
|
|
593
|
-
help protect and control access to the workspace's notebooks, secrets, Databricks SQL queries,
|
|
594
|
-
and query history. The provided key configuration object property `use_cases` must contain
|
|
595
|
-
`MANAGED_SERVICES`."""
|
|
596
|
-
|
|
597
|
-
network_id: Optional[str] = None
|
|
598
|
-
|
|
599
|
-
pricing_tier: Optional[PricingTier] = None
|
|
600
|
-
"""The pricing tier of the workspace. For pricing tier information, see [AWS Pricing].
|
|
601
|
-
|
|
602
|
-
[AWS Pricing]: https://databricks.com/product/aws-pricing"""
|
|
603
|
-
|
|
604
|
-
private_access_settings_id: Optional[str] = None
|
|
605
|
-
"""ID of the workspace's private access settings object. Only used for PrivateLink. This ID must be
|
|
606
|
-
specified for customers using [AWS PrivateLink] for either front-end (user-to-workspace
|
|
607
|
-
connection), back-end (data plane to control plane connection), or both connection types.
|
|
608
|
-
|
|
609
|
-
Before configuring PrivateLink, read the [Databricks article about PrivateLink].",
|
|
610
|
-
|
|
611
|
-
[AWS PrivateLink]: https://aws.amazon.com/privatelink/
|
|
612
|
-
[Databricks article about PrivateLink]: https://docs.databricks.com/administration-guide/cloud-configurations/aws/privatelink.html"""
|
|
613
|
-
|
|
614
|
-
storage_configuration_id: Optional[str] = None
|
|
615
|
-
"""The ID of the workspace's storage configuration object."""
|
|
616
|
-
|
|
617
|
-
storage_customer_managed_key_id: Optional[str] = None
|
|
618
|
-
"""The ID of the workspace's storage encryption key configuration object. This is used to encrypt
|
|
619
|
-
the workspace's root S3 bucket (root DBFS and system data) and, optionally, cluster EBS volumes.
|
|
620
|
-
The provided key configuration object property `use_cases` must contain `STORAGE`."""
|
|
621
|
-
|
|
622
|
-
def as_dict(self) -> dict:
|
|
623
|
-
"""Serializes the CreateWorkspaceRequest into a dictionary suitable for use as a JSON request body."""
|
|
624
|
-
body = {}
|
|
625
|
-
if self.aws_region is not None:
|
|
626
|
-
body["aws_region"] = self.aws_region
|
|
627
|
-
if self.cloud is not None:
|
|
628
|
-
body["cloud"] = self.cloud
|
|
629
|
-
if self.cloud_resource_container:
|
|
630
|
-
body["cloud_resource_container"] = self.cloud_resource_container.as_dict()
|
|
631
|
-
if self.credentials_id is not None:
|
|
632
|
-
body["credentials_id"] = self.credentials_id
|
|
633
|
-
if self.custom_tags:
|
|
634
|
-
body["custom_tags"] = self.custom_tags
|
|
635
|
-
if self.deployment_name is not None:
|
|
636
|
-
body["deployment_name"] = self.deployment_name
|
|
637
|
-
if self.gcp_managed_network_config:
|
|
638
|
-
body["gcp_managed_network_config"] = self.gcp_managed_network_config.as_dict()
|
|
639
|
-
if self.gke_config:
|
|
640
|
-
body["gke_config"] = self.gke_config.as_dict()
|
|
641
|
-
if self.is_no_public_ip_enabled is not None:
|
|
642
|
-
body["is_no_public_ip_enabled"] = self.is_no_public_ip_enabled
|
|
643
|
-
if self.location is not None:
|
|
644
|
-
body["location"] = self.location
|
|
645
|
-
if self.managed_services_customer_managed_key_id is not None:
|
|
646
|
-
body["managed_services_customer_managed_key_id"] = self.managed_services_customer_managed_key_id
|
|
647
|
-
if self.network_id is not None:
|
|
648
|
-
body["network_id"] = self.network_id
|
|
649
|
-
if self.pricing_tier is not None:
|
|
650
|
-
body["pricing_tier"] = self.pricing_tier.value
|
|
651
|
-
if self.private_access_settings_id is not None:
|
|
652
|
-
body["private_access_settings_id"] = self.private_access_settings_id
|
|
653
|
-
if self.storage_configuration_id is not None:
|
|
654
|
-
body["storage_configuration_id"] = self.storage_configuration_id
|
|
655
|
-
if self.storage_customer_managed_key_id is not None:
|
|
656
|
-
body["storage_customer_managed_key_id"] = self.storage_customer_managed_key_id
|
|
657
|
-
if self.workspace_name is not None:
|
|
658
|
-
body["workspace_name"] = self.workspace_name
|
|
659
|
-
return body
|
|
660
|
-
|
|
661
|
-
def as_shallow_dict(self) -> dict:
|
|
662
|
-
"""Serializes the CreateWorkspaceRequest into a shallow dictionary of its immediate attributes."""
|
|
663
|
-
body = {}
|
|
664
|
-
if self.aws_region is not None:
|
|
665
|
-
body["aws_region"] = self.aws_region
|
|
666
|
-
if self.cloud is not None:
|
|
667
|
-
body["cloud"] = self.cloud
|
|
668
|
-
if self.cloud_resource_container:
|
|
669
|
-
body["cloud_resource_container"] = self.cloud_resource_container
|
|
670
|
-
if self.credentials_id is not None:
|
|
671
|
-
body["credentials_id"] = self.credentials_id
|
|
672
|
-
if self.custom_tags:
|
|
673
|
-
body["custom_tags"] = self.custom_tags
|
|
674
|
-
if self.deployment_name is not None:
|
|
675
|
-
body["deployment_name"] = self.deployment_name
|
|
676
|
-
if self.gcp_managed_network_config:
|
|
677
|
-
body["gcp_managed_network_config"] = self.gcp_managed_network_config
|
|
678
|
-
if self.gke_config:
|
|
679
|
-
body["gke_config"] = self.gke_config
|
|
680
|
-
if self.is_no_public_ip_enabled is not None:
|
|
681
|
-
body["is_no_public_ip_enabled"] = self.is_no_public_ip_enabled
|
|
682
|
-
if self.location is not None:
|
|
683
|
-
body["location"] = self.location
|
|
684
|
-
if self.managed_services_customer_managed_key_id is not None:
|
|
685
|
-
body["managed_services_customer_managed_key_id"] = self.managed_services_customer_managed_key_id
|
|
686
|
-
if self.network_id is not None:
|
|
687
|
-
body["network_id"] = self.network_id
|
|
688
|
-
if self.pricing_tier is not None:
|
|
689
|
-
body["pricing_tier"] = self.pricing_tier
|
|
690
|
-
if self.private_access_settings_id is not None:
|
|
691
|
-
body["private_access_settings_id"] = self.private_access_settings_id
|
|
692
|
-
if self.storage_configuration_id is not None:
|
|
693
|
-
body["storage_configuration_id"] = self.storage_configuration_id
|
|
694
|
-
if self.storage_customer_managed_key_id is not None:
|
|
695
|
-
body["storage_customer_managed_key_id"] = self.storage_customer_managed_key_id
|
|
696
|
-
if self.workspace_name is not None:
|
|
697
|
-
body["workspace_name"] = self.workspace_name
|
|
243
|
+
body["role_arn"] = self.role_arn
|
|
698
244
|
return body
|
|
699
245
|
|
|
700
246
|
@classmethod
|
|
701
|
-
def from_dict(cls, d: Dict[str, Any]) ->
|
|
702
|
-
"""Deserializes the
|
|
703
|
-
return cls(
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
247
|
+
def from_dict(cls, d: Dict[str, Any]) -> CreateCredentialStsRole:
|
|
248
|
+
"""Deserializes the CreateCredentialStsRole from a dictionary."""
|
|
249
|
+
return cls(role_arn=d.get("role_arn", None))
|
|
250
|
+
|
|
251
|
+
|
|
252
|
+
@dataclass
|
|
253
|
+
class CreateGcpKeyInfo:
|
|
254
|
+
kms_key_id: str
|
|
255
|
+
"""The GCP KMS key's resource name"""
|
|
256
|
+
|
|
257
|
+
def as_dict(self) -> dict:
|
|
258
|
+
"""Serializes the CreateGcpKeyInfo into a dictionary suitable for use as a JSON request body."""
|
|
259
|
+
body = {}
|
|
260
|
+
if self.kms_key_id is not None:
|
|
261
|
+
body["kms_key_id"] = self.kms_key_id
|
|
262
|
+
return body
|
|
263
|
+
|
|
264
|
+
def as_shallow_dict(self) -> dict:
|
|
265
|
+
"""Serializes the CreateGcpKeyInfo into a shallow dictionary of its immediate attributes."""
|
|
266
|
+
body = {}
|
|
267
|
+
if self.kms_key_id is not None:
|
|
268
|
+
body["kms_key_id"] = self.kms_key_id
|
|
269
|
+
return body
|
|
270
|
+
|
|
271
|
+
@classmethod
|
|
272
|
+
def from_dict(cls, d: Dict[str, Any]) -> CreateGcpKeyInfo:
|
|
273
|
+
"""Deserializes the CreateGcpKeyInfo from a dictionary."""
|
|
274
|
+
return cls(kms_key_id=d.get("kms_key_id", None))
|
|
722
275
|
|
|
723
276
|
|
|
724
277
|
@dataclass
|
|
@@ -1259,8 +812,6 @@ class Network:
|
|
|
1259
812
|
"""Array of error messages about the network configuration."""
|
|
1260
813
|
|
|
1261
814
|
gcp_network_info: Optional[GcpNetworkInfo] = None
|
|
1262
|
-
"""The Google Cloud specific information for this network (for example, the VPC ID, subnet ID, and
|
|
1263
|
-
secondary IP ranges)."""
|
|
1264
815
|
|
|
1265
816
|
network_id: Optional[str] = None
|
|
1266
817
|
"""The Databricks network configuration ID."""
|
|
@@ -1273,18 +824,12 @@ class Network:
|
|
|
1273
824
|
subnet_ids: Optional[List[str]] = None
|
|
1274
825
|
|
|
1275
826
|
vpc_endpoints: Optional[NetworkVpcEndpoints] = None
|
|
1276
|
-
"""If specified, contains the VPC endpoints used to allow cluster communication from this VPC over
|
|
1277
|
-
[AWS PrivateLink].
|
|
1278
|
-
|
|
1279
|
-
[AWS PrivateLink]: https://aws.amazon.com/privatelink/"""
|
|
1280
827
|
|
|
1281
828
|
vpc_id: Optional[str] = None
|
|
1282
829
|
"""The ID of the VPC associated with this network configuration. VPC IDs can be used in multiple
|
|
1283
830
|
networks."""
|
|
1284
831
|
|
|
1285
832
|
vpc_status: Optional[VpcStatus] = None
|
|
1286
|
-
"""The status of this network configuration object in terms of its use in a workspace: *
|
|
1287
|
-
`UNATTACHED`: Unattached. * `VALID`: Valid. * `BROKEN`: Broken. * `WARNED`: Warned."""
|
|
1288
833
|
|
|
1289
834
|
warning_messages: Optional[List[NetworkWarning]] = None
|
|
1290
835
|
"""Array of warning messages about the network configuration."""
|
|
@@ -1380,8 +925,6 @@ class NetworkHealth:
|
|
|
1380
925
|
"""Details of the error."""
|
|
1381
926
|
|
|
1382
927
|
error_type: Optional[ErrorType] = None
|
|
1383
|
-
"""The AWS resource associated with this error: credentials, VPC, subnet, security group, or
|
|
1384
|
-
network ACL."""
|
|
1385
928
|
|
|
1386
929
|
def as_dict(self) -> dict:
|
|
1387
930
|
"""Serializes the NetworkHealth into a dictionary suitable for use as a JSON request body."""
|
|
@@ -1451,7 +994,6 @@ class NetworkWarning:
|
|
|
1451
994
|
"""Details of the warning."""
|
|
1452
995
|
|
|
1453
996
|
warning_type: Optional[WarningType] = None
|
|
1454
|
-
"""The AWS resource associated with this warning: a subnet or a security group."""
|
|
1455
997
|
|
|
1456
998
|
def as_dict(self) -> dict:
|
|
1457
999
|
"""Serializes the NetworkWarning into a dictionary suitable for use as a JSON request body."""
|
|
@@ -1510,11 +1052,6 @@ class PrivateAccessSettings:
|
|
|
1510
1052
|
"""An array of Databricks VPC endpoint IDs."""
|
|
1511
1053
|
|
|
1512
1054
|
private_access_level: Optional[PrivateAccessLevel] = None
|
|
1513
|
-
"""The private access level controls which VPC endpoints can connect to the UI or API of any
|
|
1514
|
-
workspace that attaches this private access settings object. * `ACCOUNT` level access (the
|
|
1515
|
-
default) allows only VPC endpoints that are registered in your Databricks account connect to
|
|
1516
|
-
your workspace. * `ENDPOINT` level access allows only specified VPC endpoints connect to your
|
|
1517
|
-
workspace. For details, see `allowed_vpc_endpoint_ids`."""
|
|
1518
1055
|
|
|
1519
1056
|
private_access_settings_id: Optional[str] = None
|
|
1520
1057
|
"""Databricks private access settings ID."""
|
|
@@ -1637,7 +1174,6 @@ class StorageConfiguration:
|
|
|
1637
1174
|
"""Time in epoch milliseconds when the storage configuration was created."""
|
|
1638
1175
|
|
|
1639
1176
|
root_bucket_info: Optional[RootBucketInfo] = None
|
|
1640
|
-
"""Root S3 bucket information."""
|
|
1641
1177
|
|
|
1642
1178
|
storage_configuration_id: Optional[str] = None
|
|
1643
1179
|
"""Databricks storage configuration ID."""
|
|
@@ -1738,199 +1274,6 @@ class UpdateResponse:
|
|
|
1738
1274
|
return cls()
|
|
1739
1275
|
|
|
1740
1276
|
|
|
1741
|
-
@dataclass
|
|
1742
|
-
class UpdateWorkspaceRequest:
|
|
1743
|
-
aws_region: Optional[str] = None
|
|
1744
|
-
"""The AWS region of the workspace's data plane (for example, `us-west-2`). This parameter is
|
|
1745
|
-
available only for updating failed workspaces."""
|
|
1746
|
-
|
|
1747
|
-
credentials_id: Optional[str] = None
|
|
1748
|
-
"""ID of the workspace's credential configuration object. This parameter is available for updating
|
|
1749
|
-
both failed and running workspaces."""
|
|
1750
|
-
|
|
1751
|
-
custom_tags: Optional[Dict[str, str]] = None
|
|
1752
|
-
"""The custom tags key-value pairing that is attached to this workspace. The key-value pair is a
|
|
1753
|
-
string of utf-8 characters. The value can be an empty string, with maximum length of 255
|
|
1754
|
-
characters. The key can be of maximum length of 127 characters, and cannot be empty."""
|
|
1755
|
-
|
|
1756
|
-
managed_services_customer_managed_key_id: Optional[str] = None
|
|
1757
|
-
"""The ID of the workspace's managed services encryption key configuration object. This parameter
|
|
1758
|
-
is available only for updating failed workspaces."""
|
|
1759
|
-
|
|
1760
|
-
network_connectivity_config_id: Optional[str] = None
|
|
1761
|
-
|
|
1762
|
-
network_id: Optional[str] = None
|
|
1763
|
-
"""The ID of the workspace's network configuration object. Used only if you already use a
|
|
1764
|
-
customer-managed VPC. For failed workspaces only, you can switch from a Databricks-managed VPC
|
|
1765
|
-
to a customer-managed VPC by updating the workspace to add a network configuration ID."""
|
|
1766
|
-
|
|
1767
|
-
private_access_settings_id: Optional[str] = None
|
|
1768
|
-
"""The ID of the workspace's private access settings configuration object. This parameter is
|
|
1769
|
-
available only for updating failed workspaces."""
|
|
1770
|
-
|
|
1771
|
-
storage_configuration_id: Optional[str] = None
|
|
1772
|
-
"""The ID of the workspace's storage configuration object. This parameter is available only for
|
|
1773
|
-
updating failed workspaces."""
|
|
1774
|
-
|
|
1775
|
-
storage_customer_managed_key_id: Optional[str] = None
|
|
1776
|
-
"""The ID of the key configuration object for workspace storage. This parameter is available for
|
|
1777
|
-
updating both failed and running workspaces."""
|
|
1778
|
-
|
|
1779
|
-
workspace_id: Optional[int] = None
|
|
1780
|
-
"""Workspace ID."""
|
|
1781
|
-
|
|
1782
|
-
def as_dict(self) -> dict:
|
|
1783
|
-
"""Serializes the UpdateWorkspaceRequest into a dictionary suitable for use as a JSON request body."""
|
|
1784
|
-
body = {}
|
|
1785
|
-
if self.aws_region is not None:
|
|
1786
|
-
body["aws_region"] = self.aws_region
|
|
1787
|
-
if self.credentials_id is not None:
|
|
1788
|
-
body["credentials_id"] = self.credentials_id
|
|
1789
|
-
if self.custom_tags:
|
|
1790
|
-
body["custom_tags"] = self.custom_tags
|
|
1791
|
-
if self.managed_services_customer_managed_key_id is not None:
|
|
1792
|
-
body["managed_services_customer_managed_key_id"] = self.managed_services_customer_managed_key_id
|
|
1793
|
-
if self.network_connectivity_config_id is not None:
|
|
1794
|
-
body["network_connectivity_config_id"] = self.network_connectivity_config_id
|
|
1795
|
-
if self.network_id is not None:
|
|
1796
|
-
body["network_id"] = self.network_id
|
|
1797
|
-
if self.private_access_settings_id is not None:
|
|
1798
|
-
body["private_access_settings_id"] = self.private_access_settings_id
|
|
1799
|
-
if self.storage_configuration_id is not None:
|
|
1800
|
-
body["storage_configuration_id"] = self.storage_configuration_id
|
|
1801
|
-
if self.storage_customer_managed_key_id is not None:
|
|
1802
|
-
body["storage_customer_managed_key_id"] = self.storage_customer_managed_key_id
|
|
1803
|
-
if self.workspace_id is not None:
|
|
1804
|
-
body["workspace_id"] = self.workspace_id
|
|
1805
|
-
return body
|
|
1806
|
-
|
|
1807
|
-
def as_shallow_dict(self) -> dict:
|
|
1808
|
-
"""Serializes the UpdateWorkspaceRequest into a shallow dictionary of its immediate attributes."""
|
|
1809
|
-
body = {}
|
|
1810
|
-
if self.aws_region is not None:
|
|
1811
|
-
body["aws_region"] = self.aws_region
|
|
1812
|
-
if self.credentials_id is not None:
|
|
1813
|
-
body["credentials_id"] = self.credentials_id
|
|
1814
|
-
if self.custom_tags:
|
|
1815
|
-
body["custom_tags"] = self.custom_tags
|
|
1816
|
-
if self.managed_services_customer_managed_key_id is not None:
|
|
1817
|
-
body["managed_services_customer_managed_key_id"] = self.managed_services_customer_managed_key_id
|
|
1818
|
-
if self.network_connectivity_config_id is not None:
|
|
1819
|
-
body["network_connectivity_config_id"] = self.network_connectivity_config_id
|
|
1820
|
-
if self.network_id is not None:
|
|
1821
|
-
body["network_id"] = self.network_id
|
|
1822
|
-
if self.private_access_settings_id is not None:
|
|
1823
|
-
body["private_access_settings_id"] = self.private_access_settings_id
|
|
1824
|
-
if self.storage_configuration_id is not None:
|
|
1825
|
-
body["storage_configuration_id"] = self.storage_configuration_id
|
|
1826
|
-
if self.storage_customer_managed_key_id is not None:
|
|
1827
|
-
body["storage_customer_managed_key_id"] = self.storage_customer_managed_key_id
|
|
1828
|
-
if self.workspace_id is not None:
|
|
1829
|
-
body["workspace_id"] = self.workspace_id
|
|
1830
|
-
return body
|
|
1831
|
-
|
|
1832
|
-
@classmethod
|
|
1833
|
-
def from_dict(cls, d: Dict[str, Any]) -> UpdateWorkspaceRequest:
|
|
1834
|
-
"""Deserializes the UpdateWorkspaceRequest from a dictionary."""
|
|
1835
|
-
return cls(
|
|
1836
|
-
aws_region=d.get("aws_region", None),
|
|
1837
|
-
credentials_id=d.get("credentials_id", None),
|
|
1838
|
-
custom_tags=d.get("custom_tags", None),
|
|
1839
|
-
managed_services_customer_managed_key_id=d.get("managed_services_customer_managed_key_id", None),
|
|
1840
|
-
network_connectivity_config_id=d.get("network_connectivity_config_id", None),
|
|
1841
|
-
network_id=d.get("network_id", None),
|
|
1842
|
-
private_access_settings_id=d.get("private_access_settings_id", None),
|
|
1843
|
-
storage_configuration_id=d.get("storage_configuration_id", None),
|
|
1844
|
-
storage_customer_managed_key_id=d.get("storage_customer_managed_key_id", None),
|
|
1845
|
-
workspace_id=d.get("workspace_id", None),
|
|
1846
|
-
)
|
|
1847
|
-
|
|
1848
|
-
|
|
1849
|
-
@dataclass
|
|
1850
|
-
class UpsertPrivateAccessSettingsRequest:
|
|
1851
|
-
private_access_settings_name: str
|
|
1852
|
-
"""The human-readable name of the private access settings object."""
|
|
1853
|
-
|
|
1854
|
-
region: str
|
|
1855
|
-
"""The cloud region for workspaces associated with this private access settings object."""
|
|
1856
|
-
|
|
1857
|
-
allowed_vpc_endpoint_ids: Optional[List[str]] = None
|
|
1858
|
-
"""An array of Databricks VPC endpoint IDs. This is the Databricks ID that is returned when
|
|
1859
|
-
registering the VPC endpoint configuration in your Databricks account. This is not the ID of the
|
|
1860
|
-
VPC endpoint in AWS.
|
|
1861
|
-
|
|
1862
|
-
Only used when `private_access_level` is set to `ENDPOINT`. This is an allow list of VPC
|
|
1863
|
-
endpoints that in your account that can connect to your workspace over AWS PrivateLink.
|
|
1864
|
-
|
|
1865
|
-
If hybrid access to your workspace is enabled by setting `public_access_enabled` to `true`, this
|
|
1866
|
-
control only works for PrivateLink connections. To control how your workspace is accessed via
|
|
1867
|
-
public internet, see [IP access lists].
|
|
1868
|
-
|
|
1869
|
-
[IP access lists]: https://docs.databricks.com/security/network/ip-access-list.html"""
|
|
1870
|
-
|
|
1871
|
-
private_access_level: Optional[PrivateAccessLevel] = None
|
|
1872
|
-
"""The private access level controls which VPC endpoints can connect to the UI or API of any
|
|
1873
|
-
workspace that attaches this private access settings object. * `ACCOUNT` level access (the
|
|
1874
|
-
default) allows only VPC endpoints that are registered in your Databricks account connect to
|
|
1875
|
-
your workspace. * `ENDPOINT` level access allows only specified VPC endpoints connect to your
|
|
1876
|
-
workspace. For details, see `allowed_vpc_endpoint_ids`."""
|
|
1877
|
-
|
|
1878
|
-
private_access_settings_id: Optional[str] = None
|
|
1879
|
-
"""Databricks Account API private access settings ID."""
|
|
1880
|
-
|
|
1881
|
-
public_access_enabled: Optional[bool] = None
|
|
1882
|
-
"""Determines if the workspace can be accessed over public internet. For fully private workspaces,
|
|
1883
|
-
you can optionally specify `false`, but only if you implement both the front-end and the
|
|
1884
|
-
back-end PrivateLink connections. Otherwise, specify `true`, which means that public access is
|
|
1885
|
-
enabled."""
|
|
1886
|
-
|
|
1887
|
-
def as_dict(self) -> dict:
|
|
1888
|
-
"""Serializes the UpsertPrivateAccessSettingsRequest into a dictionary suitable for use as a JSON request body."""
|
|
1889
|
-
body = {}
|
|
1890
|
-
if self.allowed_vpc_endpoint_ids:
|
|
1891
|
-
body["allowed_vpc_endpoint_ids"] = [v for v in self.allowed_vpc_endpoint_ids]
|
|
1892
|
-
if self.private_access_level is not None:
|
|
1893
|
-
body["private_access_level"] = self.private_access_level.value
|
|
1894
|
-
if self.private_access_settings_id is not None:
|
|
1895
|
-
body["private_access_settings_id"] = self.private_access_settings_id
|
|
1896
|
-
if self.private_access_settings_name is not None:
|
|
1897
|
-
body["private_access_settings_name"] = self.private_access_settings_name
|
|
1898
|
-
if self.public_access_enabled is not None:
|
|
1899
|
-
body["public_access_enabled"] = self.public_access_enabled
|
|
1900
|
-
if self.region is not None:
|
|
1901
|
-
body["region"] = self.region
|
|
1902
|
-
return body
|
|
1903
|
-
|
|
1904
|
-
def as_shallow_dict(self) -> dict:
|
|
1905
|
-
"""Serializes the UpsertPrivateAccessSettingsRequest into a shallow dictionary of its immediate attributes."""
|
|
1906
|
-
body = {}
|
|
1907
|
-
if self.allowed_vpc_endpoint_ids:
|
|
1908
|
-
body["allowed_vpc_endpoint_ids"] = self.allowed_vpc_endpoint_ids
|
|
1909
|
-
if self.private_access_level is not None:
|
|
1910
|
-
body["private_access_level"] = self.private_access_level
|
|
1911
|
-
if self.private_access_settings_id is not None:
|
|
1912
|
-
body["private_access_settings_id"] = self.private_access_settings_id
|
|
1913
|
-
if self.private_access_settings_name is not None:
|
|
1914
|
-
body["private_access_settings_name"] = self.private_access_settings_name
|
|
1915
|
-
if self.public_access_enabled is not None:
|
|
1916
|
-
body["public_access_enabled"] = self.public_access_enabled
|
|
1917
|
-
if self.region is not None:
|
|
1918
|
-
body["region"] = self.region
|
|
1919
|
-
return body
|
|
1920
|
-
|
|
1921
|
-
@classmethod
|
|
1922
|
-
def from_dict(cls, d: Dict[str, Any]) -> UpsertPrivateAccessSettingsRequest:
|
|
1923
|
-
"""Deserializes the UpsertPrivateAccessSettingsRequest from a dictionary."""
|
|
1924
|
-
return cls(
|
|
1925
|
-
allowed_vpc_endpoint_ids=d.get("allowed_vpc_endpoint_ids", None),
|
|
1926
|
-
private_access_level=_enum(d, "private_access_level", PrivateAccessLevel),
|
|
1927
|
-
private_access_settings_id=d.get("private_access_settings_id", None),
|
|
1928
|
-
private_access_settings_name=d.get("private_access_settings_name", None),
|
|
1929
|
-
public_access_enabled=d.get("public_access_enabled", None),
|
|
1930
|
-
region=d.get("region", None),
|
|
1931
|
-
)
|
|
1932
|
-
|
|
1933
|
-
|
|
1934
1277
|
@dataclass
|
|
1935
1278
|
class VpcEndpoint:
|
|
1936
1279
|
account_id: Optional[str] = None
|
|
@@ -1951,7 +1294,6 @@ class VpcEndpoint:
|
|
|
1951
1294
|
"""The ID of the VPC endpoint object in AWS."""
|
|
1952
1295
|
|
|
1953
1296
|
gcp_vpc_endpoint_info: Optional[GcpVpcEndpointInfo] = None
|
|
1954
|
-
"""The Google Cloud specific information for this Private Service Connect endpoint."""
|
|
1955
1297
|
|
|
1956
1298
|
region: Optional[str] = None
|
|
1957
1299
|
"""The AWS region in which this VPC endpoint object exists."""
|
|
@@ -1963,10 +1305,6 @@ class VpcEndpoint:
|
|
|
1963
1305
|
[AWS DescribeVpcEndpoint documentation]: https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpc-endpoints.html"""
|
|
1964
1306
|
|
|
1965
1307
|
use_case: Optional[EndpointUseCase] = None
|
|
1966
|
-
"""This enumeration represents the type of Databricks VPC [endpoint service] that was used when
|
|
1967
|
-
creating this VPC endpoint.
|
|
1968
|
-
|
|
1969
|
-
[endpoint service]: https://docs.aws.amazon.com/vpc/latest/privatelink/endpoint-service.html"""
|
|
1970
1308
|
|
|
1971
1309
|
vpc_endpoint_id: Optional[str] = None
|
|
1972
1310
|
"""Databricks VPC endpoint ID. This is the Databricks-specific name of the VPC endpoint. Do not
|
|
@@ -2073,7 +1411,6 @@ class Workspace:
|
|
|
2073
1411
|
"""The cloud name. This field always has the value `gcp`."""
|
|
2074
1412
|
|
|
2075
1413
|
cloud_resource_container: Optional[CloudResourceContainer] = None
|
|
2076
|
-
"""The general workspace configurations that are specific to cloud providers."""
|
|
2077
1414
|
|
|
2078
1415
|
creation_time: Optional[int] = None
|
|
2079
1416
|
"""Time in epoch milliseconds when the workspace was created."""
|
|
@@ -2097,27 +1434,8 @@ class Workspace:
|
|
|
2097
1434
|
workspace is not for a external customer, then external_customer_info is empty."""
|
|
2098
1435
|
|
|
2099
1436
|
gcp_managed_network_config: Optional[GcpManagedNetworkConfig] = None
|
|
2100
|
-
"""The network settings for the workspace. The configurations are only for Databricks-managed VPCs.
|
|
2101
|
-
It is ignored if you specify a customer-managed VPC in the `network_id` field.", All the IP
|
|
2102
|
-
range configurations must be mutually exclusive. An attempt to create a workspace fails if
|
|
2103
|
-
Databricks detects an IP range overlap.
|
|
2104
|
-
|
|
2105
|
-
Specify custom IP ranges in CIDR format. The IP ranges for these fields must not overlap, and
|
|
2106
|
-
all IP addresses must be entirely within the following ranges: `10.0.0.0/8`, `100.64.0.0/10`,
|
|
2107
|
-
`172.16.0.0/12`, `192.168.0.0/16`, and `240.0.0.0/4`.
|
|
2108
|
-
|
|
2109
|
-
The sizes of these IP ranges affect the maximum number of nodes for the workspace.
|
|
2110
|
-
|
|
2111
|
-
**Important**: Confirm the IP ranges used by your Databricks workspace before creating the
|
|
2112
|
-
workspace. You cannot change them after your workspace is deployed. If the IP address ranges for
|
|
2113
|
-
your Databricks are too small, IP exhaustion can occur, causing your Databricks jobs to fail. To
|
|
2114
|
-
determine the address range sizes that you need, Databricks provides a calculator as a Microsoft
|
|
2115
|
-
Excel spreadsheet. See [calculate subnet sizes for a new workspace].
|
|
2116
|
-
|
|
2117
|
-
[calculate subnet sizes for a new workspace]: https://docs.gcp.databricks.com/administration-guide/cloud-configurations/gcp/network-sizing.html"""
|
|
2118
1437
|
|
|
2119
1438
|
gke_config: Optional[GkeConfig] = None
|
|
2120
|
-
"""The configurations for the GKE cluster of a Databricks workspace."""
|
|
2121
1439
|
|
|
2122
1440
|
is_no_public_ip_enabled: Optional[bool] = None
|
|
2123
1441
|
"""Whether no public IP is enabled for the workspace."""
|
|
@@ -2134,9 +1452,6 @@ class Workspace:
|
|
|
2134
1452
|
the network is a customer-managed network."""
|
|
2135
1453
|
|
|
2136
1454
|
pricing_tier: Optional[PricingTier] = None
|
|
2137
|
-
"""The pricing tier of the workspace. For pricing tier information, see [AWS Pricing].
|
|
2138
|
-
|
|
2139
|
-
[AWS Pricing]: https://databricks.com/product/aws-pricing"""
|
|
2140
1455
|
|
|
2141
1456
|
private_access_settings_id: Optional[str] = None
|
|
2142
1457
|
"""ID of the workspace's private access settings object. Only used for PrivateLink. You must
|
|
@@ -2161,8 +1476,6 @@ class Workspace:
|
|
|
2161
1476
|
"""The human-readable name of the workspace."""
|
|
2162
1477
|
|
|
2163
1478
|
workspace_status: Optional[WorkspaceStatus] = None
|
|
2164
|
-
"""The status of the workspace. For workspace creation, usually it is set to `PROVISIONING`
|
|
2165
|
-
initially. Continue to check the status until the status is `RUNNING`."""
|
|
2166
1479
|
|
|
2167
1480
|
workspace_status_message: Optional[str] = None
|
|
2168
1481
|
"""Message describing the current workspace status."""
|
|
@@ -2397,6 +1710,7 @@ class CredentialsAPI:
|
|
|
2397
1710
|
def list(self) -> Iterator[Credential]:
|
|
2398
1711
|
"""Gets all Databricks credential configurations associated with an account specified by ID.
|
|
2399
1712
|
|
|
1713
|
+
|
|
2400
1714
|
:returns: Iterator over :class:`Credential`
|
|
2401
1715
|
"""
|
|
2402
1716
|
|
|
@@ -2534,6 +1848,7 @@ class EncryptionKeysAPI:
|
|
|
2534
1848
|
|
|
2535
1849
|
This operation is available only if your account is on the E2 version of the platform.
|
|
2536
1850
|
|
|
1851
|
+
|
|
2537
1852
|
:returns: Iterator over :class:`CustomerManagedKey`
|
|
2538
1853
|
"""
|
|
2539
1854
|
|
|
@@ -2568,8 +1883,6 @@ class NetworksAPI:
|
|
|
2568
1883
|
:param network_name: str
|
|
2569
1884
|
The human-readable name of the network configuration.
|
|
2570
1885
|
:param gcp_network_info: :class:`GcpNetworkInfo` (optional)
|
|
2571
|
-
The Google Cloud specific information for this network (for example, the VPC ID, subnet ID, and
|
|
2572
|
-
secondary IP ranges).
|
|
2573
1886
|
:param security_group_ids: List[str] (optional)
|
|
2574
1887
|
IDs of one to five security groups associated with this network. Security group IDs **cannot** be
|
|
2575
1888
|
used in multiple network configurations.
|
|
@@ -2577,10 +1890,6 @@ class NetworksAPI:
|
|
|
2577
1890
|
IDs of at least two subnets associated with this network. Subnet IDs **cannot** be used in multiple
|
|
2578
1891
|
network configurations.
|
|
2579
1892
|
:param vpc_endpoints: :class:`NetworkVpcEndpoints` (optional)
|
|
2580
|
-
If specified, contains the VPC endpoints used to allow cluster communication from this VPC over [AWS
|
|
2581
|
-
PrivateLink].
|
|
2582
|
-
|
|
2583
|
-
[AWS PrivateLink]: https://aws.amazon.com/privatelink/
|
|
2584
1893
|
:param vpc_id: str (optional)
|
|
2585
1894
|
The ID of the VPC associated with this network. VPC IDs can be used in multiple network
|
|
2586
1895
|
configurations.
|
|
@@ -2647,6 +1956,7 @@ class NetworksAPI:
|
|
|
2647
1956
|
|
|
2648
1957
|
This operation is available only if your account is on the E2 version of the platform.
|
|
2649
1958
|
|
|
1959
|
+
|
|
2650
1960
|
:returns: Iterator over :class:`Network`
|
|
2651
1961
|
"""
|
|
2652
1962
|
|
|
@@ -2704,11 +2014,6 @@ class PrivateAccessAPI:
|
|
|
2704
2014
|
|
|
2705
2015
|
[IP access lists]: https://docs.databricks.com/security/network/ip-access-list.html
|
|
2706
2016
|
:param private_access_level: :class:`PrivateAccessLevel` (optional)
|
|
2707
|
-
The private access level controls which VPC endpoints can connect to the UI or API of any workspace
|
|
2708
|
-
that attaches this private access settings object. * `ACCOUNT` level access (the default) allows
|
|
2709
|
-
only VPC endpoints that are registered in your Databricks account connect to your workspace. *
|
|
2710
|
-
`ENDPOINT` level access allows only specified VPC endpoints connect to your workspace. For details,
|
|
2711
|
-
see `allowed_vpc_endpoint_ids`.
|
|
2712
2017
|
:param public_access_enabled: bool (optional)
|
|
2713
2018
|
Determines if the workspace can be accessed over public internet. For fully private workspaces, you
|
|
2714
2019
|
can optionally specify `false`, but only if you implement both the front-end and the back-end
|
|
@@ -2791,6 +2096,7 @@ class PrivateAccessAPI:
|
|
|
2791
2096
|
def list(self) -> Iterator[PrivateAccessSettings]:
|
|
2792
2097
|
"""Gets a list of all private access settings objects for an account, specified by ID.
|
|
2793
2098
|
|
|
2099
|
+
|
|
2794
2100
|
:returns: Iterator over :class:`PrivateAccessSettings`
|
|
2795
2101
|
"""
|
|
2796
2102
|
|
|
@@ -2849,11 +2155,6 @@ class PrivateAccessAPI:
|
|
|
2849
2155
|
|
|
2850
2156
|
[IP access lists]: https://docs.databricks.com/security/network/ip-access-list.html
|
|
2851
2157
|
:param private_access_level: :class:`PrivateAccessLevel` (optional)
|
|
2852
|
-
The private access level controls which VPC endpoints can connect to the UI or API of any workspace
|
|
2853
|
-
that attaches this private access settings object. * `ACCOUNT` level access (the default) allows
|
|
2854
|
-
only VPC endpoints that are registered in your Databricks account connect to your workspace. *
|
|
2855
|
-
`ENDPOINT` level access allows only specified VPC endpoints connect to your workspace. For details,
|
|
2856
|
-
see `allowed_vpc_endpoint_ids`.
|
|
2857
2158
|
:param public_access_enabled: bool (optional)
|
|
2858
2159
|
Determines if the workspace can be accessed over public internet. For fully private workspaces, you
|
|
2859
2160
|
can optionally specify `false`, but only if you implement both the front-end and the back-end
|
|
@@ -2908,7 +2209,6 @@ class StorageAPI:
|
|
|
2908
2209
|
:param storage_configuration_name: str
|
|
2909
2210
|
The human-readable name of the storage configuration.
|
|
2910
2211
|
:param root_bucket_info: :class:`RootBucketInfo`
|
|
2911
|
-
Root S3 bucket information.
|
|
2912
2212
|
|
|
2913
2213
|
:returns: :class:`StorageConfiguration`
|
|
2914
2214
|
"""
|
|
@@ -2970,6 +2270,7 @@ class StorageAPI:
|
|
|
2970
2270
|
def list(self) -> Iterator[StorageConfiguration]:
|
|
2971
2271
|
"""Gets a list of all Databricks storage configurations for your account, specified by ID.
|
|
2972
2272
|
|
|
2273
|
+
|
|
2973
2274
|
:returns: Iterator over :class:`StorageConfiguration`
|
|
2974
2275
|
"""
|
|
2975
2276
|
|
|
@@ -3013,7 +2314,6 @@ class VpcEndpointsAPI:
|
|
|
3013
2314
|
:param aws_vpc_endpoint_id: str (optional)
|
|
3014
2315
|
The ID of the VPC endpoint object in AWS.
|
|
3015
2316
|
:param gcp_vpc_endpoint_info: :class:`GcpVpcEndpointInfo` (optional)
|
|
3016
|
-
The Google Cloud specific information for this Private Service Connect endpoint.
|
|
3017
2317
|
:param region: str (optional)
|
|
3018
2318
|
The AWS region in which this VPC endpoint object exists.
|
|
3019
2319
|
|
|
@@ -3091,6 +2391,7 @@ class VpcEndpointsAPI:
|
|
|
3091
2391
|
|
|
3092
2392
|
[Databricks article about PrivateLink]: https://docs.databricks.com/administration-guide/cloud-configurations/aws/privatelink.html
|
|
3093
2393
|
|
|
2394
|
+
|
|
3094
2395
|
:returns: Iterator over :class:`VpcEndpoint`
|
|
3095
2396
|
"""
|
|
3096
2397
|
|
|
@@ -3183,7 +2484,6 @@ class WorkspacesAPI:
|
|
|
3183
2484
|
The cloud provider which the workspace uses. For Google Cloud workspaces, always set this field to
|
|
3184
2485
|
`gcp`.
|
|
3185
2486
|
:param cloud_resource_container: :class:`CloudResourceContainer` (optional)
|
|
3186
|
-
The general workspace configurations that are specific to cloud providers.
|
|
3187
2487
|
:param credentials_id: str (optional)
|
|
3188
2488
|
ID of the workspace's credential configuration object.
|
|
3189
2489
|
:param custom_tags: Dict[str,str] (optional)
|
|
@@ -3215,26 +2515,7 @@ class WorkspacesAPI:
|
|
|
3215
2515
|
If a new workspace omits this property, the server generates a unique deployment name for you with
|
|
3216
2516
|
the pattern `dbc-xxxxxxxx-xxxx`.
|
|
3217
2517
|
:param gcp_managed_network_config: :class:`GcpManagedNetworkConfig` (optional)
|
|
3218
|
-
The network settings for the workspace. The configurations are only for Databricks-managed VPCs. It
|
|
3219
|
-
is ignored if you specify a customer-managed VPC in the `network_id` field.", All the IP range
|
|
3220
|
-
configurations must be mutually exclusive. An attempt to create a workspace fails if Databricks
|
|
3221
|
-
detects an IP range overlap.
|
|
3222
|
-
|
|
3223
|
-
Specify custom IP ranges in CIDR format. The IP ranges for these fields must not overlap, and all IP
|
|
3224
|
-
addresses must be entirely within the following ranges: `10.0.0.0/8`, `100.64.0.0/10`,
|
|
3225
|
-
`172.16.0.0/12`, `192.168.0.0/16`, and `240.0.0.0/4`.
|
|
3226
|
-
|
|
3227
|
-
The sizes of these IP ranges affect the maximum number of nodes for the workspace.
|
|
3228
|
-
|
|
3229
|
-
**Important**: Confirm the IP ranges used by your Databricks workspace before creating the
|
|
3230
|
-
workspace. You cannot change them after your workspace is deployed. If the IP address ranges for
|
|
3231
|
-
your Databricks are too small, IP exhaustion can occur, causing your Databricks jobs to fail. To
|
|
3232
|
-
determine the address range sizes that you need, Databricks provides a calculator as a Microsoft
|
|
3233
|
-
Excel spreadsheet. See [calculate subnet sizes for a new workspace].
|
|
3234
|
-
|
|
3235
|
-
[calculate subnet sizes for a new workspace]: https://docs.gcp.databricks.com/administration-guide/cloud-configurations/gcp/network-sizing.html
|
|
3236
2518
|
:param gke_config: :class:`GkeConfig` (optional)
|
|
3237
|
-
The configurations for the GKE cluster of a Databricks workspace.
|
|
3238
2519
|
:param is_no_public_ip_enabled: bool (optional)
|
|
3239
2520
|
Whether no public IP is enabled for the workspace.
|
|
3240
2521
|
:param location: str (optional)
|
|
@@ -3245,9 +2526,6 @@ class WorkspacesAPI:
|
|
|
3245
2526
|
history. The provided key configuration object property `use_cases` must contain `MANAGED_SERVICES`.
|
|
3246
2527
|
:param network_id: str (optional)
|
|
3247
2528
|
:param pricing_tier: :class:`PricingTier` (optional)
|
|
3248
|
-
The pricing tier of the workspace. For pricing tier information, see [AWS Pricing].
|
|
3249
|
-
|
|
3250
|
-
[AWS Pricing]: https://databricks.com/product/aws-pricing
|
|
3251
2529
|
:param private_access_settings_id: str (optional)
|
|
3252
2530
|
ID of the workspace's private access settings object. Only used for PrivateLink. This ID must be
|
|
3253
2531
|
specified for customers using [AWS PrivateLink] for either front-end (user-to-workspace connection),
|
|
@@ -3414,6 +2692,7 @@ class WorkspacesAPI:
|
|
|
3414
2692
|
This operation is available only if your account is on the E2 version of the platform or on a select
|
|
3415
2693
|
custom plan that allows multiple workspaces per account.
|
|
3416
2694
|
|
|
2695
|
+
|
|
3417
2696
|
:returns: Iterator over :class:`Workspace`
|
|
3418
2697
|
"""
|
|
3419
2698
|
|