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.

Files changed (31) hide show
  1. databricks/sdk/__init__.py +38 -9
  2. databricks/sdk/service/aibuilder.py +0 -163
  3. databricks/sdk/service/apps.py +53 -49
  4. databricks/sdk/service/billing.py +62 -223
  5. databricks/sdk/service/catalog.py +3052 -3707
  6. databricks/sdk/service/cleanrooms.py +5 -54
  7. databricks/sdk/service/compute.py +579 -2715
  8. databricks/sdk/service/dashboards.py +108 -317
  9. databricks/sdk/service/database.py +603 -122
  10. databricks/sdk/service/files.py +2 -218
  11. databricks/sdk/service/iam.py +19 -298
  12. databricks/sdk/service/jobs.py +77 -1263
  13. databricks/sdk/service/marketplace.py +3 -575
  14. databricks/sdk/service/ml.py +816 -2734
  15. databricks/sdk/service/oauth2.py +122 -238
  16. databricks/sdk/service/pipelines.py +133 -724
  17. databricks/sdk/service/provisioning.py +36 -757
  18. databricks/sdk/service/qualitymonitorv2.py +0 -18
  19. databricks/sdk/service/serving.py +37 -583
  20. databricks/sdk/service/settings.py +282 -1768
  21. databricks/sdk/service/sharing.py +6 -478
  22. databricks/sdk/service/sql.py +129 -1696
  23. databricks/sdk/service/vectorsearch.py +0 -410
  24. databricks/sdk/service/workspace.py +252 -727
  25. databricks/sdk/version.py +1 -1
  26. {databricks_sdk-0.57.0.dist-info → databricks_sdk-0.59.0.dist-info}/METADATA +1 -1
  27. {databricks_sdk-0.57.0.dist-info → databricks_sdk-0.59.0.dist-info}/RECORD +31 -31
  28. {databricks_sdk-0.57.0.dist-info → databricks_sdk-0.59.0.dist-info}/WHEEL +0 -0
  29. {databricks_sdk-0.57.0.dist-info → databricks_sdk-0.59.0.dist-info}/licenses/LICENSE +0 -0
  30. {databricks_sdk-0.57.0.dist-info → databricks_sdk-0.59.0.dist-info}/licenses/NOTICE +0 -0
  31. {databricks_sdk-0.57.0.dist-info → databricks_sdk-0.59.0.dist-info}/top_level.txt +0 -0
@@ -416,41 +416,6 @@ class BudgetPolicy:
416
416
  )
417
417
 
418
418
 
419
- @dataclass
420
- class CreateBillingUsageDashboardRequest:
421
- dashboard_type: Optional[UsageDashboardType] = None
422
- """Workspace level usage dashboard shows usage data for the specified workspace ID. Global level
423
- usage dashboard shows usage data for all workspaces in the account."""
424
-
425
- workspace_id: Optional[int] = None
426
- """The workspace ID of the workspace in which the usage dashboard is created."""
427
-
428
- def as_dict(self) -> dict:
429
- """Serializes the CreateBillingUsageDashboardRequest into a dictionary suitable for use as a JSON request body."""
430
- body = {}
431
- if self.dashboard_type is not None:
432
- body["dashboard_type"] = self.dashboard_type.value
433
- if self.workspace_id is not None:
434
- body["workspace_id"] = self.workspace_id
435
- return body
436
-
437
- def as_shallow_dict(self) -> dict:
438
- """Serializes the CreateBillingUsageDashboardRequest into a shallow dictionary of its immediate attributes."""
439
- body = {}
440
- if self.dashboard_type is not None:
441
- body["dashboard_type"] = self.dashboard_type
442
- if self.workspace_id is not None:
443
- body["workspace_id"] = self.workspace_id
444
- return body
445
-
446
- @classmethod
447
- def from_dict(cls, d: Dict[str, Any]) -> CreateBillingUsageDashboardRequest:
448
- """Deserializes the CreateBillingUsageDashboardRequest from a dictionary."""
449
- return cls(
450
- dashboard_type=_enum(d, "dashboard_type", UsageDashboardType), workspace_id=d.get("workspace_id", None)
451
- )
452
-
453
-
454
419
  @dataclass
455
420
  class CreateBillingUsageDashboardResponse:
456
421
  dashboard_id: Optional[str] = None
@@ -628,31 +593,6 @@ class CreateBudgetConfigurationBudgetAlertConfigurations:
628
593
  )
629
594
 
630
595
 
631
- @dataclass
632
- class CreateBudgetConfigurationRequest:
633
- budget: CreateBudgetConfigurationBudget
634
- """Properties of the new budget configuration."""
635
-
636
- def as_dict(self) -> dict:
637
- """Serializes the CreateBudgetConfigurationRequest into a dictionary suitable for use as a JSON request body."""
638
- body = {}
639
- if self.budget:
640
- body["budget"] = self.budget.as_dict()
641
- return body
642
-
643
- def as_shallow_dict(self) -> dict:
644
- """Serializes the CreateBudgetConfigurationRequest into a shallow dictionary of its immediate attributes."""
645
- body = {}
646
- if self.budget:
647
- body["budget"] = self.budget
648
- return body
649
-
650
- @classmethod
651
- def from_dict(cls, d: Dict[str, Any]) -> CreateBudgetConfigurationRequest:
652
- """Deserializes the CreateBudgetConfigurationRequest from a dictionary."""
653
- return cls(budget=_from_dict(d, "budget", CreateBudgetConfigurationBudget))
654
-
655
-
656
596
  @dataclass
657
597
  class CreateBudgetConfigurationResponse:
658
598
  budget: Optional[BudgetConfiguration] = None
@@ -678,43 +618,6 @@ class CreateBudgetConfigurationResponse:
678
618
  return cls(budget=_from_dict(d, "budget", BudgetConfiguration))
679
619
 
680
620
 
681
- @dataclass
682
- class CreateBudgetPolicyRequest:
683
- """A request to create a BudgetPolicy."""
684
-
685
- policy: Optional[BudgetPolicy] = None
686
- """The policy to create. `policy_id` needs to be empty as it will be generated `policy_name` must
687
- be provided, custom_tags may need to be provided depending on the cloud provider. All other
688
- fields are optional."""
689
-
690
- request_id: Optional[str] = None
691
- """A unique identifier for this request. Restricted to 36 ASCII characters. A random UUID is
692
- recommended. This request is only idempotent if a `request_id` is provided."""
693
-
694
- def as_dict(self) -> dict:
695
- """Serializes the CreateBudgetPolicyRequest into a dictionary suitable for use as a JSON request body."""
696
- body = {}
697
- if self.policy:
698
- body["policy"] = self.policy.as_dict()
699
- if self.request_id is not None:
700
- body["request_id"] = self.request_id
701
- return body
702
-
703
- def as_shallow_dict(self) -> dict:
704
- """Serializes the CreateBudgetPolicyRequest into a shallow dictionary of its immediate attributes."""
705
- body = {}
706
- if self.policy:
707
- body["policy"] = self.policy
708
- if self.request_id is not None:
709
- body["request_id"] = self.request_id
710
- return body
711
-
712
- @classmethod
713
- def from_dict(cls, d: Dict[str, Any]) -> CreateBudgetPolicyRequest:
714
- """Deserializes the CreateBudgetPolicyRequest from a dictionary."""
715
- return cls(policy=_from_dict(d, "policy", BudgetPolicy), request_id=d.get("request_id", None))
716
-
717
-
718
621
  @dataclass
719
622
  class CreateLogDeliveryConfigurationParams:
720
623
  """* Log Delivery Configuration"""
@@ -863,24 +766,6 @@ class DeleteBudgetConfigurationResponse:
863
766
  return cls()
864
767
 
865
768
 
866
- @dataclass
867
- class DeleteResponse:
868
- def as_dict(self) -> dict:
869
- """Serializes the DeleteResponse into a dictionary suitable for use as a JSON request body."""
870
- body = {}
871
- return body
872
-
873
- def as_shallow_dict(self) -> dict:
874
- """Serializes the DeleteResponse into a shallow dictionary of its immediate attributes."""
875
- body = {}
876
- return body
877
-
878
- @classmethod
879
- def from_dict(cls, d: Dict[str, Any]) -> DeleteResponse:
880
- """Deserializes the DeleteResponse from a dictionary."""
881
- return cls()
882
-
883
-
884
769
  class DeliveryStatus(Enum):
885
770
  """* The status string for log delivery. Possible values are: `CREATED`: There were no log delivery
886
771
  attempts since the config was created. `SUCCEEDED`: The latest attempt of log delivery has
@@ -1518,38 +1403,6 @@ class UpdateBudgetConfigurationBudget:
1518
1403
  )
1519
1404
 
1520
1405
 
1521
- @dataclass
1522
- class UpdateBudgetConfigurationRequest:
1523
- budget: UpdateBudgetConfigurationBudget
1524
- """The updated budget. This will overwrite the budget specified by the budget ID."""
1525
-
1526
- budget_id: Optional[str] = None
1527
- """The Databricks budget configuration ID."""
1528
-
1529
- def as_dict(self) -> dict:
1530
- """Serializes the UpdateBudgetConfigurationRequest into a dictionary suitable for use as a JSON request body."""
1531
- body = {}
1532
- if self.budget:
1533
- body["budget"] = self.budget.as_dict()
1534
- if self.budget_id is not None:
1535
- body["budget_id"] = self.budget_id
1536
- return body
1537
-
1538
- def as_shallow_dict(self) -> dict:
1539
- """Serializes the UpdateBudgetConfigurationRequest into a shallow dictionary of its immediate attributes."""
1540
- body = {}
1541
- if self.budget:
1542
- body["budget"] = self.budget
1543
- if self.budget_id is not None:
1544
- body["budget_id"] = self.budget_id
1545
- return body
1546
-
1547
- @classmethod
1548
- def from_dict(cls, d: Dict[str, Any]) -> UpdateBudgetConfigurationRequest:
1549
- """Deserializes the UpdateBudgetConfigurationRequest from a dictionary."""
1550
- return cls(budget=_from_dict(d, "budget", UpdateBudgetConfigurationBudget), budget_id=d.get("budget_id", None))
1551
-
1552
-
1553
1406
  @dataclass
1554
1407
  class UpdateBudgetConfigurationResponse:
1555
1408
  budget: Optional[BudgetConfiguration] = None
@@ -1575,81 +1428,12 @@ class UpdateBudgetConfigurationResponse:
1575
1428
  return cls(budget=_from_dict(d, "budget", BudgetConfiguration))
1576
1429
 
1577
1430
 
1578
- @dataclass
1579
- class UpdateLogDeliveryConfigurationStatusRequest:
1580
- """* Update Log Delivery Configuration"""
1581
-
1582
- status: LogDeliveryConfigStatus
1583
- """Status of log delivery configuration. Set to `ENABLED` (enabled) or `DISABLED` (disabled).
1584
- Defaults to `ENABLED`. You can [enable or disable the
1585
- configuration](#operation/patch-log-delivery-config-status) later. Deletion of a configuration
1586
- is not supported, so disable a log delivery configuration that is no longer needed."""
1587
-
1588
- log_delivery_configuration_id: Optional[str] = None
1589
- """The log delivery configuration id of customer"""
1590
-
1591
- def as_dict(self) -> dict:
1592
- """Serializes the UpdateLogDeliveryConfigurationStatusRequest into a dictionary suitable for use as a JSON request body."""
1593
- body = {}
1594
- if self.log_delivery_configuration_id is not None:
1595
- body["log_delivery_configuration_id"] = self.log_delivery_configuration_id
1596
- if self.status is not None:
1597
- body["status"] = self.status.value
1598
- return body
1599
-
1600
- def as_shallow_dict(self) -> dict:
1601
- """Serializes the UpdateLogDeliveryConfigurationStatusRequest into a shallow dictionary of its immediate attributes."""
1602
- body = {}
1603
- if self.log_delivery_configuration_id is not None:
1604
- body["log_delivery_configuration_id"] = self.log_delivery_configuration_id
1605
- if self.status is not None:
1606
- body["status"] = self.status
1607
- return body
1608
-
1609
- @classmethod
1610
- def from_dict(cls, d: Dict[str, Any]) -> UpdateLogDeliveryConfigurationStatusRequest:
1611
- """Deserializes the UpdateLogDeliveryConfigurationStatusRequest from a dictionary."""
1612
- return cls(
1613
- log_delivery_configuration_id=d.get("log_delivery_configuration_id", None),
1614
- status=_enum(d, "status", LogDeliveryConfigStatus),
1615
- )
1616
-
1617
-
1618
1431
  class UsageDashboardType(Enum):
1619
1432
 
1620
1433
  USAGE_DASHBOARD_TYPE_GLOBAL = "USAGE_DASHBOARD_TYPE_GLOBAL"
1621
1434
  USAGE_DASHBOARD_TYPE_WORKSPACE = "USAGE_DASHBOARD_TYPE_WORKSPACE"
1622
1435
 
1623
1436
 
1624
- @dataclass
1625
- class WrappedCreateLogDeliveryConfiguration:
1626
- """* Properties of the new log delivery configuration."""
1627
-
1628
- log_delivery_configuration: CreateLogDeliveryConfigurationParams
1629
- """* Log Delivery Configuration"""
1630
-
1631
- def as_dict(self) -> dict:
1632
- """Serializes the WrappedCreateLogDeliveryConfiguration into a dictionary suitable for use as a JSON request body."""
1633
- body = {}
1634
- if self.log_delivery_configuration:
1635
- body["log_delivery_configuration"] = self.log_delivery_configuration.as_dict()
1636
- return body
1637
-
1638
- def as_shallow_dict(self) -> dict:
1639
- """Serializes the WrappedCreateLogDeliveryConfiguration into a shallow dictionary of its immediate attributes."""
1640
- body = {}
1641
- if self.log_delivery_configuration:
1642
- body["log_delivery_configuration"] = self.log_delivery_configuration
1643
- return body
1644
-
1645
- @classmethod
1646
- def from_dict(cls, d: Dict[str, Any]) -> WrappedCreateLogDeliveryConfiguration:
1647
- """Deserializes the WrappedCreateLogDeliveryConfiguration from a dictionary."""
1648
- return cls(
1649
- log_delivery_configuration=_from_dict(d, "log_delivery_configuration", CreateLogDeliveryConfigurationParams)
1650
- )
1651
-
1652
-
1653
1437
  @dataclass
1654
1438
  class WrappedLogDeliveryConfiguration:
1655
1439
  log_delivery_configuration: Optional[LogDeliveryConfiguration] = None
@@ -1720,16 +1504,22 @@ class BillableUsageAPI:
1720
1504
 
1721
1505
  def download(self, start_month: str, end_month: str, *, personal_data: Optional[bool] = None) -> DownloadResponse:
1722
1506
  """Returns billable usage logs in CSV format for the specified account and date range. For the data
1723
- schema, see [CSV file schema]. Note that this method might take multiple minutes to complete.
1507
+ schema, see:
1508
+
1509
+ - AWS: [CSV file schema]. - GCP: [CSV file schema].
1510
+
1511
+ Note that this method might take multiple minutes to complete.
1724
1512
 
1725
1513
  **Warning**: Depending on the queried date range, the number of workspaces in the account, the size of
1726
1514
  the response and the internet speed of the caller, this API may hit a timeout after a few minutes. If
1727
1515
  you experience this, try to mitigate by calling the API with narrower date ranges.
1728
1516
 
1729
- [CSV file schema]: https://docs.databricks.com/administration-guide/account-settings/usage-analysis.html#schema
1517
+ [CSV file schema]: https://docs.gcp.databricks.com/administration-guide/account-settings/usage-analysis.html#csv-file-schema
1730
1518
 
1731
1519
  :param start_month: str
1732
- Format: `YYYY-MM`. First month to return billable usage logs for. This field is required.
1520
+ Format specification for month in the format `YYYY-MM`. This is used to specify billable usage
1521
+ `start_month` and `end_month` properties. **Note**: Billable usage logs are unavailable before March
1522
+ 2019 (`2019-03`).
1733
1523
  :param end_month: str
1734
1524
  Format: `YYYY-MM`. Last month to return billable usage logs for. This field is required.
1735
1525
  :param personal_data: bool (optional)
@@ -1883,7 +1673,8 @@ class BudgetPolicyAPI:
1883
1673
  :param policy_id: str
1884
1674
  The Id of the policy. This field is generated by Databricks and globally unique.
1885
1675
  :param policy: :class:`BudgetPolicy`
1886
- Contains the BudgetPolicy details.
1676
+ The policy to update. `creator_user_id` cannot be specified in the request. All other fields must be
1677
+ specified even if not changed. The `policy_id` is used to identify the policy to update.
1887
1678
  :param limit_config: :class:`LimitConfig` (optional)
1888
1679
  DEPRECATED. This is redundant field as LimitConfig is part of the BudgetPolicy
1889
1680
 
@@ -2022,8 +1813,57 @@ class BudgetsAPI:
2022
1813
 
2023
1814
 
2024
1815
  class LogDeliveryAPI:
2025
- """These APIs manage Log delivery configurations for this account. Log delivery configs enable you to
2026
- configure the delivery of the specified type of logs to your storage account."""
1816
+ """These APIs manage log delivery configurations for this account. The two supported log types for this API
1817
+ are _billable usage logs_ and _audit logs_. This feature is in Public Preview. This feature works with all
1818
+ account ID types.
1819
+
1820
+ Log delivery works with all account types. However, if your account is on the E2 version of the platform
1821
+ or on a select custom plan that allows multiple workspaces per account, you can optionally configure
1822
+ different storage destinations for each workspace. Log delivery status is also provided to know the latest
1823
+ status of log delivery attempts.
1824
+
1825
+ The high-level flow of billable usage delivery:
1826
+
1827
+ 1. **Create storage**: In AWS, [create a new AWS S3 bucket] with a specific bucket policy. Using
1828
+ Databricks APIs, call the Account API to create a [storage configuration object](:method:Storage/Create)
1829
+ that uses the bucket name.
1830
+
1831
+ 2. **Create credentials**: In AWS, create the appropriate AWS IAM role. For full details, including the
1832
+ required IAM role policies and trust relationship, see [Billable usage log delivery]. Using Databricks
1833
+ APIs, call the Account API to create a [credential configuration object](:method:Credentials/Create) that
1834
+ uses the IAM role's ARN.
1835
+
1836
+ 3. **Create log delivery configuration**: Using Databricks APIs, call the Account API to [create a log
1837
+ delivery configuration](:method:LogDelivery/Create) that uses the credential and storage configuration
1838
+ objects from previous steps. You can specify if the logs should include all events of that log type in
1839
+ your account (_Account level_ delivery) or only events for a specific set of workspaces (_workspace level_
1840
+ delivery). Account level log delivery applies to all current and future workspaces plus account level
1841
+ logs, while workspace level log delivery solely delivers logs related to the specified workspaces. You can
1842
+ create multiple types of delivery configurations per account.
1843
+
1844
+ For billable usage delivery: * For more information about billable usage logs, see [Billable usage log
1845
+ delivery]. For the CSV schema, see the [Usage page]. * The delivery location is
1846
+ `<bucket-name>/<prefix>/billable-usage/csv/`, where `<prefix>` is the name of the optional delivery path
1847
+ prefix you set up during log delivery configuration. Files are named
1848
+ `workspaceId=<workspace-id>-usageMonth=<month>.csv`. * All billable usage logs apply to specific
1849
+ workspaces (_workspace level_ logs). You can aggregate usage for your entire account by creating an
1850
+ _account level_ delivery configuration that delivers logs for all current and future workspaces in your
1851
+ account. * The files are delivered daily by overwriting the month's CSV file for each workspace.
1852
+
1853
+ For audit log delivery: * For more information about about audit log delivery, see [Audit log delivery],
1854
+ which includes information about the used JSON schema. * The delivery location is
1855
+ `<bucket-name>/<delivery-path-prefix>/workspaceId=<workspaceId>/date=<yyyy-mm-dd>/auditlogs_<internal-id>.json`.
1856
+ Files may get overwritten with the same content multiple times to achieve exactly-once delivery. * If the
1857
+ audit log delivery configuration included specific workspace IDs, only _workspace-level_ audit logs for
1858
+ those workspaces are delivered. If the log delivery configuration applies to the entire account (_account
1859
+ level_ delivery configuration), the audit log delivery includes workspace-level audit logs for all
1860
+ workspaces in the account as well as account-level audit logs. See [Audit log delivery] for details. *
1861
+ Auditable events are typically available in logs within 15 minutes.
1862
+
1863
+ [Audit log delivery]: https://docs.databricks.com/administration-guide/account-settings/audit-logs.html
1864
+ [Billable usage log delivery]: https://docs.databricks.com/administration-guide/account-settings/billable-usage-delivery.html
1865
+ [Usage page]: https://docs.databricks.com/administration-guide/account-settings/usage.html
1866
+ [create a new AWS S3 bucket]: https://docs.databricks.com/administration-guide/account-api/aws-storage.html"""
2027
1867
 
2028
1868
  def __init__(self, api_client):
2029
1869
  self._api = api_client
@@ -2053,7 +1893,6 @@ class LogDeliveryAPI:
2053
1893
  [Deliver and access billable usage logs]: https://docs.databricks.com/administration-guide/account-settings/billable-usage-delivery.html
2054
1894
 
2055
1895
  :param log_delivery_configuration: :class:`CreateLogDeliveryConfigurationParams`
2056
- * Log Delivery Configuration
2057
1896
 
2058
1897
  :returns: :class:`WrappedLogDeliveryConfiguration`
2059
1898
  """