databricks-sdk 0.55.0__py3-none-any.whl → 0.57.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 +41 -24
  2. databricks/sdk/service/aibuilder.py +505 -0
  3. databricks/sdk/service/apps.py +14 -42
  4. databricks/sdk/service/billing.py +167 -220
  5. databricks/sdk/service/catalog.py +462 -1235
  6. databricks/sdk/service/cleanrooms.py +26 -43
  7. databricks/sdk/service/compute.py +75 -211
  8. databricks/sdk/service/dashboards.py +77 -511
  9. databricks/sdk/service/database.py +1271 -0
  10. databricks/sdk/service/files.py +20 -54
  11. databricks/sdk/service/iam.py +61 -171
  12. databricks/sdk/service/jobs.py +453 -68
  13. databricks/sdk/service/marketplace.py +46 -146
  14. databricks/sdk/service/ml.py +453 -477
  15. databricks/sdk/service/oauth2.py +17 -45
  16. databricks/sdk/service/pipelines.py +125 -40
  17. databricks/sdk/service/provisioning.py +30 -93
  18. databricks/sdk/service/qualitymonitorv2.py +265 -0
  19. databricks/sdk/service/serving.py +106 -46
  20. databricks/sdk/service/settings.py +1062 -390
  21. databricks/sdk/service/sharing.py +33 -88
  22. databricks/sdk/service/sql.py +292 -185
  23. databricks/sdk/service/vectorsearch.py +13 -43
  24. databricks/sdk/service/workspace.py +35 -105
  25. databricks/sdk/version.py +1 -1
  26. {databricks_sdk-0.55.0.dist-info → databricks_sdk-0.57.0.dist-info}/METADATA +1 -1
  27. {databricks_sdk-0.55.0.dist-info → databricks_sdk-0.57.0.dist-info}/RECORD +31 -28
  28. {databricks_sdk-0.55.0.dist-info → databricks_sdk-0.57.0.dist-info}/WHEEL +0 -0
  29. {databricks_sdk-0.55.0.dist-info → databricks_sdk-0.57.0.dist-info}/licenses/LICENSE +0 -0
  30. {databricks_sdk-0.55.0.dist-info → databricks_sdk-0.57.0.dist-info}/licenses/NOTICE +0 -0
  31. {databricks_sdk-0.55.0.dist-info → databricks_sdk-0.57.0.dist-info}/top_level.txt +0 -0
@@ -717,14 +717,12 @@ class CreateBudgetPolicyRequest:
717
717
 
718
718
  @dataclass
719
719
  class CreateLogDeliveryConfigurationParams:
720
+ """* Log Delivery Configuration"""
721
+
720
722
  log_type: LogType
721
- """Log delivery type. Supported values are:
722
-
723
- * `BILLABLE_USAGE` — Configure [billable usage log delivery]. For the CSV schema, see the
724
- [View billable usage].
725
-
726
- * `AUDIT_LOGS` — Configure [audit log delivery]. For the JSON schema, see [Configure audit
727
- logging]
723
+ """Log delivery type. Supported values are: * `BILLABLE_USAGE` — Configure [billable usage log
724
+ delivery]. For the CSV schema, see the [View billable usage]. * `AUDIT_LOGS` — Configure
725
+ [audit log delivery]. For the JSON schema, see [Configure audit logging]
728
726
 
729
727
  [Configure audit logging]: https://docs.databricks.com/administration-guide/account-settings/audit-logs.html
730
728
  [View billable usage]: https://docs.databricks.com/administration-guide/account-settings/usage.html
@@ -732,12 +730,11 @@ class CreateLogDeliveryConfigurationParams:
732
730
  [billable usage log delivery]: https://docs.databricks.com/administration-guide/account-settings/billable-usage-delivery.html"""
733
731
 
734
732
  output_format: OutputFormat
735
- """The file type of log delivery.
736
-
737
- * If `log_type` is `BILLABLE_USAGE`, this value must be `CSV`. Only the CSV (comma-separated
738
- values) format is supported. For the schema, see the [View billable usage] * If `log_type` is
739
- `AUDIT_LOGS`, this value must be `JSON`. Only the JSON (JavaScript Object Notation) format is
740
- supported. For the schema, see the [Configuring audit logs].
733
+ """The file type of log delivery. * If `log_type` is `BILLABLE_USAGE`, this value must be `CSV`.
734
+ Only the CSV (comma-separated values) format is supported. For the schema, see the [View
735
+ billable usage] * If `log_type` is `AUDIT_LOGS`, this value must be `JSON`. Only the JSON
736
+ (JavaScript Object Notation) format is supported. For the schema, see the [Configuring audit
737
+ logs].
741
738
 
742
739
  [Configuring audit logs]: https://docs.databricks.com/administration-guide/account-settings/audit-logs.html
743
740
  [View billable usage]: https://docs.databricks.com/administration-guide/account-settings/usage.html"""
@@ -764,9 +761,9 @@ class CreateLogDeliveryConfigurationParams:
764
761
  start or end with a slash character."""
765
762
 
766
763
  delivery_start_time: Optional[str] = None
767
- """This field applies only if `log_type` is `BILLABLE_USAGE`. This is the optional start month and
768
- year for delivery, specified in `YYYY-MM` format. Defaults to current year and month.
769
- `BILLABLE_USAGE` logs are not available for usage before March 2019 (`2019-03`)."""
764
+ """This field applies only if log_type is BILLABLE_USAGE. This is the optional start month and year
765
+ for delivery, specified in YYYY-MM format. Defaults to current year and month. BILLABLE_USAGE
766
+ logs are not available for usage before March 2019 (2019-03)."""
770
767
 
771
768
  status: Optional[LogDeliveryConfigStatus] = None
772
769
  """Status of log delivery configuration. Set to `ENABLED` (enabled) or `DISABLED` (disabled).
@@ -885,12 +882,12 @@ class DeleteResponse:
885
882
 
886
883
 
887
884
  class DeliveryStatus(Enum):
888
- """The status string for log delivery. Possible values are: * `CREATED`: There were no log delivery
889
- attempts since the config was created. * `SUCCEEDED`: The latest attempt of log delivery has
890
- succeeded completely. * `USER_FAILURE`: The latest attempt of log delivery failed because of
891
- misconfiguration of customer provided permissions on role or storage. * `SYSTEM_FAILURE`: The
885
+ """* The status string for log delivery. Possible values are: `CREATED`: There were no log delivery
886
+ attempts since the config was created. `SUCCEEDED`: The latest attempt of log delivery has
887
+ succeeded completely. `USER_FAILURE`: The latest attempt of log delivery failed because of
888
+ misconfiguration of customer provided permissions on role or storage. `SYSTEM_FAILURE`: The
892
889
  latest attempt of log delivery failed because of an Databricks internal error. Contact support
893
- if it doesn't go away soon. * `NOT_FOUND`: The log delivery status as the configuration has been
890
+ if it doesn't go away soon. `NOT_FOUND`: The log delivery status as the configuration has been
894
891
  disabled since the release of this feature or there are no workspaces in the account."""
895
892
 
896
893
  CREATED = "CREATED"
@@ -1026,6 +1023,31 @@ class GetBudgetConfigurationResponse:
1026
1023
  return cls(budget=_from_dict(d, "budget", BudgetConfiguration))
1027
1024
 
1028
1025
 
1026
+ @dataclass
1027
+ class GetLogDeliveryConfigurationResponse:
1028
+ log_delivery_configuration: Optional[LogDeliveryConfiguration] = None
1029
+ """The fetched log delivery configuration"""
1030
+
1031
+ def as_dict(self) -> dict:
1032
+ """Serializes the GetLogDeliveryConfigurationResponse into a dictionary suitable for use as a JSON request body."""
1033
+ body = {}
1034
+ if self.log_delivery_configuration:
1035
+ body["log_delivery_configuration"] = self.log_delivery_configuration.as_dict()
1036
+ return body
1037
+
1038
+ def as_shallow_dict(self) -> dict:
1039
+ """Serializes the GetLogDeliveryConfigurationResponse into a shallow dictionary of its immediate attributes."""
1040
+ body = {}
1041
+ if self.log_delivery_configuration:
1042
+ body["log_delivery_configuration"] = self.log_delivery_configuration
1043
+ return body
1044
+
1045
+ @classmethod
1046
+ def from_dict(cls, d: Dict[str, Any]) -> GetLogDeliveryConfigurationResponse:
1047
+ """Deserializes the GetLogDeliveryConfigurationResponse from a dictionary."""
1048
+ return cls(log_delivery_configuration=_from_dict(d, "log_delivery_configuration", LogDeliveryConfiguration))
1049
+
1050
+
1029
1051
  @dataclass
1030
1052
  class LimitConfig:
1031
1053
  """The limit configuration of the policy. Limit configuration provide a budget policy level cost
@@ -1128,10 +1150,10 @@ class ListBudgetPoliciesResponse:
1128
1150
 
1129
1151
 
1130
1152
  class LogDeliveryConfigStatus(Enum):
1131
- """Status of log delivery configuration. Set to `ENABLED` (enabled) or `DISABLED` (disabled).
1132
- Defaults to `ENABLED`. You can [enable or disable the
1133
- configuration](#operation/patch-log-delivery-config-status) later. Deletion of a configuration
1134
- is not supported, so disable a log delivery configuration that is no longer needed."""
1153
+ """* Log Delivery Status
1154
+
1155
+ `ENABLED`: All dependencies have executed and succeeded `DISABLED`: At least one dependency has
1156
+ succeeded"""
1135
1157
 
1136
1158
  DISABLED = "DISABLED"
1137
1159
  ENABLED = "ENABLED"
@@ -1139,62 +1161,65 @@ class LogDeliveryConfigStatus(Enum):
1139
1161
 
1140
1162
  @dataclass
1141
1163
  class LogDeliveryConfiguration:
1142
- account_id: Optional[str] = None
1143
- """The Databricks account ID that hosts the log delivery configuration."""
1164
+ """* Log Delivery Configuration"""
1144
1165
 
1145
- config_id: Optional[str] = None
1146
- """Databricks log delivery configuration ID."""
1166
+ log_type: LogType
1167
+ """Log delivery type. Supported values are: * `BILLABLE_USAGE` — Configure [billable usage log
1168
+ delivery]. For the CSV schema, see the [View billable usage]. * `AUDIT_LOGS` — Configure
1169
+ [audit log delivery]. For the JSON schema, see [Configure audit logging]
1170
+
1171
+ [Configure audit logging]: https://docs.databricks.com/administration-guide/account-settings/audit-logs.html
1172
+ [View billable usage]: https://docs.databricks.com/administration-guide/account-settings/usage.html
1173
+ [audit log delivery]: https://docs.databricks.com/administration-guide/account-settings/audit-logs.html
1174
+ [billable usage log delivery]: https://docs.databricks.com/administration-guide/account-settings/billable-usage-delivery.html"""
1147
1175
 
1148
- config_name: Optional[str] = None
1149
- """The optional human-readable name of the log delivery configuration. Defaults to empty."""
1176
+ output_format: OutputFormat
1177
+ """The file type of log delivery. * If `log_type` is `BILLABLE_USAGE`, this value must be `CSV`.
1178
+ Only the CSV (comma-separated values) format is supported. For the schema, see the [View
1179
+ billable usage] * If `log_type` is `AUDIT_LOGS`, this value must be `JSON`. Only the JSON
1180
+ (JavaScript Object Notation) format is supported. For the schema, see the [Configuring audit
1181
+ logs].
1182
+
1183
+ [Configuring audit logs]: https://docs.databricks.com/administration-guide/account-settings/audit-logs.html
1184
+ [View billable usage]: https://docs.databricks.com/administration-guide/account-settings/usage.html"""
1150
1185
 
1151
- creation_time: Optional[int] = None
1152
- """Time in epoch milliseconds when the log delivery configuration was created."""
1186
+ account_id: str
1187
+ """Databricks account ID."""
1153
1188
 
1154
- credentials_id: Optional[str] = None
1189
+ credentials_id: str
1155
1190
  """The ID for a method:credentials/create that represents the AWS IAM role with policy and trust
1156
1191
  relationship as described in the main billable usage documentation page. See [Configure billable
1157
1192
  usage delivery].
1158
1193
 
1159
1194
  [Configure billable usage delivery]: https://docs.databricks.com/administration-guide/account-settings/billable-usage-delivery.html"""
1160
1195
 
1196
+ storage_configuration_id: str
1197
+ """The ID for a method:storage/create that represents the S3 bucket with bucket policy as described
1198
+ in the main billable usage documentation page. See [Configure billable usage delivery].
1199
+
1200
+ [Configure billable usage delivery]: https://docs.databricks.com/administration-guide/account-settings/billable-usage-delivery.html"""
1201
+
1202
+ config_id: Optional[str] = None
1203
+ """The unique UUID of log delivery configuration"""
1204
+
1205
+ config_name: Optional[str] = None
1206
+ """The optional human-readable name of the log delivery configuration. Defaults to empty."""
1207
+
1208
+ creation_time: Optional[int] = None
1209
+ """Time in epoch milliseconds when the log delivery configuration was created."""
1210
+
1161
1211
  delivery_path_prefix: Optional[str] = None
1162
1212
  """The optional delivery path prefix within Amazon S3 storage. Defaults to empty, which means that
1163
1213
  logs are delivered to the root of the bucket. This must be a valid S3 object key. This must not
1164
1214
  start or end with a slash character."""
1165
1215
 
1166
1216
  delivery_start_time: Optional[str] = None
1167
- """This field applies only if `log_type` is `BILLABLE_USAGE`. This is the optional start month and
1168
- year for delivery, specified in `YYYY-MM` format. Defaults to current year and month.
1169
- `BILLABLE_USAGE` logs are not available for usage before March 2019 (`2019-03`)."""
1217
+ """This field applies only if log_type is BILLABLE_USAGE. This is the optional start month and year
1218
+ for delivery, specified in YYYY-MM format. Defaults to current year and month. BILLABLE_USAGE
1219
+ logs are not available for usage before March 2019 (2019-03)."""
1170
1220
 
1171
1221
  log_delivery_status: Optional[LogDeliveryStatus] = None
1172
- """Databricks log delivery status."""
1173
-
1174
- log_type: Optional[LogType] = None
1175
- """Log delivery type. Supported values are:
1176
-
1177
- * `BILLABLE_USAGE` — Configure [billable usage log delivery]. For the CSV schema, see the
1178
- [View billable usage].
1179
-
1180
- * `AUDIT_LOGS` — Configure [audit log delivery]. For the JSON schema, see [Configure audit
1181
- logging]
1182
-
1183
- [Configure audit logging]: https://docs.databricks.com/administration-guide/account-settings/audit-logs.html
1184
- [View billable usage]: https://docs.databricks.com/administration-guide/account-settings/usage.html
1185
- [audit log delivery]: https://docs.databricks.com/administration-guide/account-settings/audit-logs.html
1186
- [billable usage log delivery]: https://docs.databricks.com/administration-guide/account-settings/billable-usage-delivery.html"""
1187
-
1188
- output_format: Optional[OutputFormat] = None
1189
- """The file type of log delivery.
1190
-
1191
- * If `log_type` is `BILLABLE_USAGE`, this value must be `CSV`. Only the CSV (comma-separated
1192
- values) format is supported. For the schema, see the [View billable usage] * If `log_type` is
1193
- `AUDIT_LOGS`, this value must be `JSON`. Only the JSON (JavaScript Object Notation) format is
1194
- supported. For the schema, see the [Configuring audit logs].
1195
-
1196
- [Configuring audit logs]: https://docs.databricks.com/administration-guide/account-settings/audit-logs.html
1197
- [View billable usage]: https://docs.databricks.com/administration-guide/account-settings/usage.html"""
1222
+ """The LogDeliveryStatus of this log delivery configuration"""
1198
1223
 
1199
1224
  status: Optional[LogDeliveryConfigStatus] = None
1200
1225
  """Status of log delivery configuration. Set to `ENABLED` (enabled) or `DISABLED` (disabled).
@@ -1202,12 +1227,6 @@ class LogDeliveryConfiguration:
1202
1227
  configuration](#operation/patch-log-delivery-config-status) later. Deletion of a configuration
1203
1228
  is not supported, so disable a log delivery configuration that is no longer needed."""
1204
1229
 
1205
- storage_configuration_id: Optional[str] = None
1206
- """The ID for a method:storage/create that represents the S3 bucket with bucket policy as described
1207
- in the main billable usage documentation page. See [Configure billable usage delivery].
1208
-
1209
- [Configure billable usage delivery]: https://docs.databricks.com/administration-guide/account-settings/billable-usage-delivery.html"""
1210
-
1211
1230
  update_time: Optional[int] = None
1212
1231
  """Time in epoch milliseconds when the log delivery configuration was updated."""
1213
1232
 
@@ -1312,20 +1331,8 @@ class LogDeliveryConfiguration:
1312
1331
 
1313
1332
  @dataclass
1314
1333
  class LogDeliveryStatus:
1315
- """Databricks log delivery status."""
1316
-
1317
- last_attempt_time: Optional[str] = None
1318
- """The UTC time for the latest log delivery attempt."""
1319
-
1320
- last_successful_attempt_time: Optional[str] = None
1321
- """The UTC time for the latest successful log delivery."""
1322
-
1323
- message: Optional[str] = None
1324
- """Informative message about the latest log delivery attempt. If the log delivery fails with
1325
- USER_FAILURE, error details will be provided for fixing misconfigurations in cloud permissions."""
1326
-
1327
- status: Optional[DeliveryStatus] = None
1328
- """The status string for log delivery. Possible values are: * `CREATED`: There were no log delivery
1334
+ status: DeliveryStatus
1335
+ """Enum that describes the status. Possible values are: * `CREATED`: There were no log delivery
1329
1336
  attempts since the config was created. * `SUCCEEDED`: The latest attempt of log delivery has
1330
1337
  succeeded completely. * `USER_FAILURE`: The latest attempt of log delivery failed because of
1331
1338
  misconfiguration of customer provided permissions on role or storage. * `SYSTEM_FAILURE`: The
@@ -1333,6 +1340,16 @@ class LogDeliveryStatus:
1333
1340
  if it doesn't go away soon. * `NOT_FOUND`: The log delivery status as the configuration has been
1334
1341
  disabled since the release of this feature or there are no workspaces in the account."""
1335
1342
 
1343
+ message: str
1344
+ """Informative message about the latest log delivery attempt. If the log delivery fails with
1345
+ USER_FAILURE, error details will be provided for fixing misconfigurations in cloud permissions."""
1346
+
1347
+ last_attempt_time: Optional[str] = None
1348
+ """The UTC time for the latest log delivery attempt."""
1349
+
1350
+ last_successful_attempt_time: Optional[str] = None
1351
+ """The UTC time for the latest successful log delivery."""
1352
+
1336
1353
  def as_dict(self) -> dict:
1337
1354
  """Serializes the LogDeliveryStatus into a dictionary suitable for use as a JSON request body."""
1338
1355
  body = {}
@@ -1371,34 +1388,14 @@ class LogDeliveryStatus:
1371
1388
 
1372
1389
 
1373
1390
  class LogType(Enum):
1374
- """Log delivery type. Supported values are:
1375
-
1376
- * `BILLABLE_USAGE` — Configure [billable usage log delivery]. For the CSV schema, see the
1377
- [View billable usage].
1378
-
1379
- * `AUDIT_LOGS` — Configure [audit log delivery]. For the JSON schema, see [Configure audit
1380
- logging]
1381
-
1382
- [Configure audit logging]: https://docs.databricks.com/administration-guide/account-settings/audit-logs.html
1383
- [View billable usage]: https://docs.databricks.com/administration-guide/account-settings/usage.html
1384
- [audit log delivery]: https://docs.databricks.com/administration-guide/account-settings/audit-logs.html
1385
- [billable usage log delivery]: https://docs.databricks.com/administration-guide/account-settings/billable-usage-delivery.html
1386
- """
1391
+ """* Log Delivery Type"""
1387
1392
 
1388
1393
  AUDIT_LOGS = "AUDIT_LOGS"
1389
1394
  BILLABLE_USAGE = "BILLABLE_USAGE"
1390
1395
 
1391
1396
 
1392
1397
  class OutputFormat(Enum):
1393
- """The file type of log delivery.
1394
-
1395
- * If `log_type` is `BILLABLE_USAGE`, this value must be `CSV`. Only the CSV (comma-separated
1396
- values) format is supported. For the schema, see the [View billable usage] * If `log_type` is
1397
- `AUDIT_LOGS`, this value must be `JSON`. Only the JSON (JavaScript Object Notation) format is
1398
- supported. For the schema, see the [Configuring audit logs].
1399
-
1400
- [Configuring audit logs]: https://docs.databricks.com/administration-guide/account-settings/audit-logs.html
1401
- [View billable usage]: https://docs.databricks.com/administration-guide/account-settings/usage.html"""
1398
+ """* Log Delivery Output Format"""
1402
1399
 
1403
1400
  CSV = "CSV"
1404
1401
  JSON = "JSON"
@@ -1580,6 +1577,8 @@ class UpdateBudgetConfigurationResponse:
1580
1577
 
1581
1578
  @dataclass
1582
1579
  class UpdateLogDeliveryConfigurationStatusRequest:
1580
+ """* Update Log Delivery Configuration"""
1581
+
1583
1582
  status: LogDeliveryConfigStatus
1584
1583
  """Status of log delivery configuration. Set to `ENABLED` (enabled) or `DISABLED` (disabled).
1585
1584
  Defaults to `ENABLED`. You can [enable or disable the
@@ -1587,7 +1586,7 @@ class UpdateLogDeliveryConfigurationStatusRequest:
1587
1586
  is not supported, so disable a log delivery configuration that is no longer needed."""
1588
1587
 
1589
1588
  log_delivery_configuration_id: Optional[str] = None
1590
- """Databricks log delivery configuration ID"""
1589
+ """The log delivery configuration id of customer"""
1591
1590
 
1592
1591
  def as_dict(self) -> dict:
1593
1592
  """Serializes the UpdateLogDeliveryConfigurationStatusRequest into a dictionary suitable for use as a JSON request body."""
@@ -1624,7 +1623,10 @@ class UsageDashboardType(Enum):
1624
1623
 
1625
1624
  @dataclass
1626
1625
  class WrappedCreateLogDeliveryConfiguration:
1627
- log_delivery_configuration: Optional[CreateLogDeliveryConfigurationParams] = None
1626
+ """* Properties of the new log delivery configuration."""
1627
+
1628
+ log_delivery_configuration: CreateLogDeliveryConfigurationParams
1629
+ """* Log Delivery Configuration"""
1628
1630
 
1629
1631
  def as_dict(self) -> dict:
1630
1632
  """Serializes the WrappedCreateLogDeliveryConfiguration into a dictionary suitable for use as a JSON request body."""
@@ -1651,6 +1653,7 @@ class WrappedCreateLogDeliveryConfiguration:
1651
1653
  @dataclass
1652
1654
  class WrappedLogDeliveryConfiguration:
1653
1655
  log_delivery_configuration: Optional[LogDeliveryConfiguration] = None
1656
+ """The created log delivery configuration"""
1654
1657
 
1655
1658
  def as_dict(self) -> dict:
1656
1659
  """Serializes the WrappedLogDeliveryConfiguration into a dictionary suitable for use as a JSON request body."""
@@ -1675,12 +1678,19 @@ class WrappedLogDeliveryConfiguration:
1675
1678
  @dataclass
1676
1679
  class WrappedLogDeliveryConfigurations:
1677
1680
  log_delivery_configurations: Optional[List[LogDeliveryConfiguration]] = None
1681
+ """Log delivery configurations were returned successfully."""
1682
+
1683
+ next_page_token: Optional[str] = None
1684
+ """Token which can be sent as `page_token` to retrieve the next page of results. If this field is
1685
+ omitted, there are no subsequent budgets."""
1678
1686
 
1679
1687
  def as_dict(self) -> dict:
1680
1688
  """Serializes the WrappedLogDeliveryConfigurations into a dictionary suitable for use as a JSON request body."""
1681
1689
  body = {}
1682
1690
  if self.log_delivery_configurations:
1683
1691
  body["log_delivery_configurations"] = [v.as_dict() for v in self.log_delivery_configurations]
1692
+ if self.next_page_token is not None:
1693
+ body["next_page_token"] = self.next_page_token
1684
1694
  return body
1685
1695
 
1686
1696
  def as_shallow_dict(self) -> dict:
@@ -1688,13 +1698,16 @@ class WrappedLogDeliveryConfigurations:
1688
1698
  body = {}
1689
1699
  if self.log_delivery_configurations:
1690
1700
  body["log_delivery_configurations"] = self.log_delivery_configurations
1701
+ if self.next_page_token is not None:
1702
+ body["next_page_token"] = self.next_page_token
1691
1703
  return body
1692
1704
 
1693
1705
  @classmethod
1694
1706
  def from_dict(cls, d: Dict[str, Any]) -> WrappedLogDeliveryConfigurations:
1695
1707
  """Deserializes the WrappedLogDeliveryConfigurations from a dictionary."""
1696
1708
  return cls(
1697
- log_delivery_configurations=_repeated_dict(d, "log_delivery_configurations", LogDeliveryConfiguration)
1709
+ log_delivery_configurations=_repeated_dict(d, "log_delivery_configurations", LogDeliveryConfiguration),
1710
+ next_page_token=d.get("next_page_token", None),
1698
1711
  )
1699
1712
 
1700
1713
 
@@ -1706,9 +1719,7 @@ class BillableUsageAPI:
1706
1719
  self._api = api_client
1707
1720
 
1708
1721
  def download(self, start_month: str, end_month: str, *, personal_data: Optional[bool] = None) -> DownloadResponse:
1709
- """Return billable usage logs.
1710
-
1711
- Returns billable usage logs in CSV format for the specified account and date range. For the data
1722
+ """Returns billable usage logs in CSV format for the specified account and date range. For the data
1712
1723
  schema, see [CSV file schema]. Note that this method might take multiple minutes to complete.
1713
1724
 
1714
1725
  **Warning**: Depending on the queried date range, the number of workspaces in the account, the size of
@@ -1753,9 +1764,7 @@ class BudgetPolicyAPI:
1753
1764
  self._api = api_client
1754
1765
 
1755
1766
  def create(self, *, policy: Optional[BudgetPolicy] = None, request_id: Optional[str] = None) -> BudgetPolicy:
1756
- """Create a budget policy.
1757
-
1758
- Creates a new policy.
1767
+ """Creates a new policy.
1759
1768
 
1760
1769
  :param policy: :class:`BudgetPolicy` (optional)
1761
1770
  The policy to create. `policy_id` needs to be empty as it will be generated `policy_name` must be
@@ -1783,9 +1792,7 @@ class BudgetPolicyAPI:
1783
1792
  return BudgetPolicy.from_dict(res)
1784
1793
 
1785
1794
  def delete(self, policy_id: str):
1786
- """Delete a budget policy.
1787
-
1788
- Deletes a policy
1795
+ """Deletes a policy
1789
1796
 
1790
1797
  :param policy_id: str
1791
1798
  The Id of the policy.
@@ -1800,9 +1807,7 @@ class BudgetPolicyAPI:
1800
1807
  self._api.do("DELETE", f"/api/2.1/accounts/{self._api.account_id}/budget-policies/{policy_id}", headers=headers)
1801
1808
 
1802
1809
  def get(self, policy_id: str) -> BudgetPolicy:
1803
- """Get a budget policy.
1804
-
1805
- Retrieves a policy by it's ID.
1810
+ """Retrieves a policy by it's ID.
1806
1811
 
1807
1812
  :param policy_id: str
1808
1813
  The Id of the policy.
@@ -1827,9 +1832,7 @@ class BudgetPolicyAPI:
1827
1832
  page_token: Optional[str] = None,
1828
1833
  sort_spec: Optional[SortSpec] = None,
1829
1834
  ) -> Iterator[BudgetPolicy]:
1830
- """List policies.
1831
-
1832
- Lists all policies. Policies are returned in the alphabetically ascending order of their names.
1835
+ """Lists all policies. Policies are returned in the alphabetically ascending order of their names.
1833
1836
 
1834
1837
  :param filter_by: :class:`Filter` (optional)
1835
1838
  A filter to apply to the list of policies.
@@ -1875,9 +1878,7 @@ class BudgetPolicyAPI:
1875
1878
  def update(
1876
1879
  self, policy_id: str, policy: BudgetPolicy, *, limit_config: Optional[LimitConfig] = None
1877
1880
  ) -> BudgetPolicy:
1878
- """Update a budget policy.
1879
-
1880
- Updates a policy
1881
+ """Updates a policy
1881
1882
 
1882
1883
  :param policy_id: str
1883
1884
  The Id of the policy. This field is generated by Databricks and globally unique.
@@ -1916,9 +1917,7 @@ class BudgetsAPI:
1916
1917
  self._api = api_client
1917
1918
 
1918
1919
  def create(self, budget: CreateBudgetConfigurationBudget) -> CreateBudgetConfigurationResponse:
1919
- """Create new budget.
1920
-
1921
- Create a new budget configuration for an account. For full details, see
1920
+ """Create a new budget configuration for an account. For full details, see
1922
1921
  https://docs.databricks.com/en/admin/account-settings/budgets.html.
1923
1922
 
1924
1923
  :param budget: :class:`CreateBudgetConfigurationBudget`
@@ -1938,9 +1937,7 @@ class BudgetsAPI:
1938
1937
  return CreateBudgetConfigurationResponse.from_dict(res)
1939
1938
 
1940
1939
  def delete(self, budget_id: str):
1941
- """Delete budget.
1942
-
1943
- Deletes a budget configuration for an account. Both account and budget configuration are specified by
1940
+ """Deletes a budget configuration for an account. Both account and budget configuration are specified by
1944
1941
  ID. This cannot be undone.
1945
1942
 
1946
1943
  :param budget_id: str
@@ -1956,9 +1953,7 @@ class BudgetsAPI:
1956
1953
  self._api.do("DELETE", f"/api/2.1/accounts/{self._api.account_id}/budgets/{budget_id}", headers=headers)
1957
1954
 
1958
1955
  def get(self, budget_id: str) -> GetBudgetConfigurationResponse:
1959
- """Get budget.
1960
-
1961
- Gets a budget configuration for an account. Both account and budget configuration are specified by ID.
1956
+ """Gets a budget configuration for an account. Both account and budget configuration are specified by ID.
1962
1957
 
1963
1958
  :param budget_id: str
1964
1959
  The budget configuration ID
@@ -1974,9 +1969,7 @@ class BudgetsAPI:
1974
1969
  return GetBudgetConfigurationResponse.from_dict(res)
1975
1970
 
1976
1971
  def list(self, *, page_token: Optional[str] = None) -> Iterator[BudgetConfiguration]:
1977
- """Get all budgets.
1978
-
1979
- Gets all budgets associated with this account.
1972
+ """Gets all budgets associated with this account.
1980
1973
 
1981
1974
  :param page_token: str (optional)
1982
1975
  A page token received from a previous get all budget configurations call. This token can be used to
@@ -2004,9 +1997,7 @@ class BudgetsAPI:
2004
1997
  query["page_token"] = json["next_page_token"]
2005
1998
 
2006
1999
  def update(self, budget_id: str, budget: UpdateBudgetConfigurationBudget) -> UpdateBudgetConfigurationResponse:
2007
- """Modify budget.
2008
-
2009
- Updates a budget configuration for an account. Both account and budget configuration are specified by
2000
+ """Updates a budget configuration for an account. Both account and budget configuration are specified by
2010
2001
  ID.
2011
2002
 
2012
2003
  :param budget_id: str
@@ -2031,62 +2022,16 @@ class BudgetsAPI:
2031
2022
 
2032
2023
 
2033
2024
  class LogDeliveryAPI:
2034
- """These APIs manage log delivery configurations for this account. The two supported log types for this API
2035
- are _billable usage logs_ and _audit logs_. This feature is in Public Preview. This feature works with all
2036
- account ID types.
2037
-
2038
- Log delivery works with all account types. However, if your account is on the E2 version of the platform
2039
- or on a select custom plan that allows multiple workspaces per account, you can optionally configure
2040
- different storage destinations for each workspace. Log delivery status is also provided to know the latest
2041
- status of log delivery attempts. The high-level flow of billable usage delivery:
2042
-
2043
- 1. **Create storage**: In AWS, [create a new AWS S3 bucket] with a specific bucket policy. Using
2044
- Databricks APIs, call the Account API to create a [storage configuration object](:method:Storage/Create)
2045
- that uses the bucket name. 2. **Create credentials**: In AWS, create the appropriate AWS IAM role. For
2046
- full details, including the required IAM role policies and trust relationship, see [Billable usage log
2047
- delivery]. Using Databricks APIs, call the Account API to create a [credential configuration
2048
- object](:method:Credentials/Create) that uses the IAM role"s ARN. 3. **Create log delivery
2049
- configuration**: Using Databricks APIs, call the Account API to [create a log delivery
2050
- configuration](:method:LogDelivery/Create) that uses the credential and storage configuration objects from
2051
- previous steps. You can specify if the logs should include all events of that log type in your account
2052
- (_Account level_ delivery) or only events for a specific set of workspaces (_workspace level_ delivery).
2053
- Account level log delivery applies to all current and future workspaces plus account level logs, while
2054
- workspace level log delivery solely delivers logs related to the specified workspaces. You can create
2055
- multiple types of delivery configurations per account.
2056
-
2057
- For billable usage delivery: * For more information about billable usage logs, see [Billable usage log
2058
- delivery]. For the CSV schema, see the [Usage page]. * The delivery location is
2059
- `<bucket-name>/<prefix>/billable-usage/csv/`, where `<prefix>` is the name of the optional delivery path
2060
- prefix you set up during log delivery configuration. Files are named
2061
- `workspaceId=<workspace-id>-usageMonth=<month>.csv`. * All billable usage logs apply to specific
2062
- workspaces (_workspace level_ logs). You can aggregate usage for your entire account by creating an
2063
- _account level_ delivery configuration that delivers logs for all current and future workspaces in your
2064
- account. * The files are delivered daily by overwriting the month's CSV file for each workspace.
2065
-
2066
- For audit log delivery: * For more information about about audit log delivery, see [Audit log delivery],
2067
- which includes information about the used JSON schema. * The delivery location is
2068
- `<bucket-name>/<delivery-path-prefix>/workspaceId=<workspaceId>/date=<yyyy-mm-dd>/auditlogs_<internal-id>.json`.
2069
- Files may get overwritten with the same content multiple times to achieve exactly-once delivery. * If the
2070
- audit log delivery configuration included specific workspace IDs, only _workspace-level_ audit logs for
2071
- those workspaces are delivered. If the log delivery configuration applies to the entire account (_account
2072
- level_ delivery configuration), the audit log delivery includes workspace-level audit logs for all
2073
- workspaces in the account as well as account-level audit logs. See [Audit log delivery] for details. *
2074
- Auditable events are typically available in logs within 15 minutes.
2075
-
2076
- [Audit log delivery]: https://docs.databricks.com/administration-guide/account-settings/audit-logs.html
2077
- [Billable usage log delivery]: https://docs.databricks.com/administration-guide/account-settings/billable-usage-delivery.html
2078
- [Usage page]: https://docs.databricks.com/administration-guide/account-settings/usage.html
2079
- [create a new AWS S3 bucket]: https://docs.databricks.com/administration-guide/account-api/aws-storage.html"""
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."""
2080
2027
 
2081
2028
  def __init__(self, api_client):
2082
2029
  self._api = api_client
2083
2030
 
2084
2031
  def create(
2085
- self, *, log_delivery_configuration: Optional[CreateLogDeliveryConfigurationParams] = None
2032
+ self, log_delivery_configuration: CreateLogDeliveryConfigurationParams
2086
2033
  ) -> WrappedLogDeliveryConfiguration:
2087
- """Create a new log delivery configuration.
2088
-
2089
- Creates a new Databricks log delivery configuration to enable delivery of the specified type of logs
2034
+ """Creates a new Databricks log delivery configuration to enable delivery of the specified type of logs
2090
2035
  to your storage location. This requires that you already created a [credential
2091
2036
  object](:method:Credentials/Create) (which encapsulates a cross-account service IAM role) and a
2092
2037
  [storage configuration object](:method:Storage/Create) (which encapsulates an S3 bucket).
@@ -2107,7 +2052,8 @@ class LogDeliveryAPI:
2107
2052
  [Configure audit logging]: https://docs.databricks.com/administration-guide/account-settings/audit-logs.html
2108
2053
  [Deliver and access billable usage logs]: https://docs.databricks.com/administration-guide/account-settings/billable-usage-delivery.html
2109
2054
 
2110
- :param log_delivery_configuration: :class:`CreateLogDeliveryConfigurationParams` (optional)
2055
+ :param log_delivery_configuration: :class:`CreateLogDeliveryConfigurationParams`
2056
+ * Log Delivery Configuration
2111
2057
 
2112
2058
  :returns: :class:`WrappedLogDeliveryConfiguration`
2113
2059
  """
@@ -2122,15 +2068,13 @@ class LogDeliveryAPI:
2122
2068
  res = self._api.do("POST", f"/api/2.0/accounts/{self._api.account_id}/log-delivery", body=body, headers=headers)
2123
2069
  return WrappedLogDeliveryConfiguration.from_dict(res)
2124
2070
 
2125
- def get(self, log_delivery_configuration_id: str) -> WrappedLogDeliveryConfiguration:
2126
- """Get log delivery configuration.
2127
-
2128
- Gets a Databricks log delivery configuration object for an account, both specified by ID.
2071
+ def get(self, log_delivery_configuration_id: str) -> GetLogDeliveryConfigurationResponse:
2072
+ """Gets a Databricks log delivery configuration object for an account, both specified by ID.
2129
2073
 
2130
2074
  :param log_delivery_configuration_id: str
2131
- Databricks log delivery configuration ID
2075
+ The log delivery configuration id of customer
2132
2076
 
2133
- :returns: :class:`WrappedLogDeliveryConfiguration`
2077
+ :returns: :class:`GetLogDeliveryConfigurationResponse`
2134
2078
  """
2135
2079
 
2136
2080
  headers = {
@@ -2142,25 +2086,27 @@ class LogDeliveryAPI:
2142
2086
  f"/api/2.0/accounts/{self._api.account_id}/log-delivery/{log_delivery_configuration_id}",
2143
2087
  headers=headers,
2144
2088
  )
2145
- return WrappedLogDeliveryConfiguration.from_dict(res)
2089
+ return GetLogDeliveryConfigurationResponse.from_dict(res)
2146
2090
 
2147
2091
  def list(
2148
2092
  self,
2149
2093
  *,
2150
2094
  credentials_id: Optional[str] = None,
2095
+ page_token: Optional[str] = None,
2151
2096
  status: Optional[LogDeliveryConfigStatus] = None,
2152
2097
  storage_configuration_id: Optional[str] = None,
2153
2098
  ) -> Iterator[LogDeliveryConfiguration]:
2154
- """Get all log delivery configurations.
2155
-
2156
- Gets all Databricks log delivery configurations associated with an account specified by ID.
2099
+ """Gets all Databricks log delivery configurations associated with an account specified by ID.
2157
2100
 
2158
2101
  :param credentials_id: str (optional)
2159
- Filter by credential configuration ID.
2102
+ The Credentials id to filter the search results with
2103
+ :param page_token: str (optional)
2104
+ A page token received from a previous get all budget configurations call. This token can be used to
2105
+ retrieve the subsequent page. Requests first page if absent.
2160
2106
  :param status: :class:`LogDeliveryConfigStatus` (optional)
2161
- Filter by status `ENABLED` or `DISABLED`.
2107
+ The log delivery status to filter the search results with
2162
2108
  :param storage_configuration_id: str (optional)
2163
- Filter by storage configuration ID.
2109
+ The Storage Configuration id to filter the search results with
2164
2110
 
2165
2111
  :returns: Iterator over :class:`LogDeliveryConfiguration`
2166
2112
  """
@@ -2168,6 +2114,8 @@ class LogDeliveryAPI:
2168
2114
  query = {}
2169
2115
  if credentials_id is not None:
2170
2116
  query["credentials_id"] = credentials_id
2117
+ if page_token is not None:
2118
+ query["page_token"] = page_token
2171
2119
  if status is not None:
2172
2120
  query["status"] = status.value
2173
2121
  if storage_configuration_id is not None:
@@ -2176,22 +2124,25 @@ class LogDeliveryAPI:
2176
2124
  "Accept": "application/json",
2177
2125
  }
2178
2126
 
2179
- json = self._api.do(
2180
- "GET", f"/api/2.0/accounts/{self._api.account_id}/log-delivery", query=query, headers=headers
2181
- )
2182
- parsed = WrappedLogDeliveryConfigurations.from_dict(json).log_delivery_configurations
2183
- return parsed if parsed is not None else []
2127
+ while True:
2128
+ json = self._api.do(
2129
+ "GET", f"/api/2.0/accounts/{self._api.account_id}/log-delivery", query=query, headers=headers
2130
+ )
2131
+ if "log_delivery_configurations" in json:
2132
+ for v in json["log_delivery_configurations"]:
2133
+ yield LogDeliveryConfiguration.from_dict(v)
2134
+ if "next_page_token" not in json or not json["next_page_token"]:
2135
+ return
2136
+ query["page_token"] = json["next_page_token"]
2184
2137
 
2185
2138
  def patch_status(self, log_delivery_configuration_id: str, status: LogDeliveryConfigStatus):
2186
- """Enable or disable log delivery configuration.
2187
-
2188
- Enables or disables a log delivery configuration. Deletion of delivery configurations is not
2139
+ """Enables or disables a log delivery configuration. Deletion of delivery configurations is not
2189
2140
  supported, so disable log delivery configurations that are no longer needed. Note that you can't
2190
2141
  re-enable a delivery configuration if this would violate the delivery configuration limits described
2191
2142
  under [Create log delivery](:method:LogDelivery/Create).
2192
2143
 
2193
2144
  :param log_delivery_configuration_id: str
2194
- Databricks log delivery configuration ID
2145
+ The log delivery configuration id of customer
2195
2146
  :param status: :class:`LogDeliveryConfigStatus`
2196
2147
  Status of log delivery configuration. Set to `ENABLED` (enabled) or `DISABLED` (disabled). Defaults
2197
2148
  to `ENABLED`. You can [enable or disable the
@@ -2227,9 +2178,7 @@ class UsageDashboardsAPI:
2227
2178
  def create(
2228
2179
  self, *, dashboard_type: Optional[UsageDashboardType] = None, workspace_id: Optional[int] = None
2229
2180
  ) -> CreateBillingUsageDashboardResponse:
2230
- """Create new usage dashboard.
2231
-
2232
- Create a usage dashboard specified by workspaceId, accountId, and dashboard type.
2181
+ """Create a usage dashboard specified by workspaceId, accountId, and dashboard type.
2233
2182
 
2234
2183
  :param dashboard_type: :class:`UsageDashboardType` (optional)
2235
2184
  Workspace level usage dashboard shows usage data for the specified workspace ID. Global level usage
@@ -2255,9 +2204,7 @@ class UsageDashboardsAPI:
2255
2204
  def get(
2256
2205
  self, *, dashboard_type: Optional[UsageDashboardType] = None, workspace_id: Optional[int] = None
2257
2206
  ) -> GetBillingUsageDashboardResponse:
2258
- """Get usage dashboard.
2259
-
2260
- Get a usage dashboard specified by workspaceId, accountId, and dashboard type.
2207
+ """Get a usage dashboard specified by workspaceId, accountId, and dashboard type.
2261
2208
 
2262
2209
  :param dashboard_type: :class:`UsageDashboardType` (optional)
2263
2210
  Workspace level usage dashboard shows usage data for the specified workspace ID. Global level usage