databricks-sdk 0.53.0__py3-none-any.whl → 0.55.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.

@@ -385,7 +385,10 @@ class GrantRule:
385
385
  """Role that is assigned to the list of principals."""
386
386
 
387
387
  principals: Optional[List[str]] = None
388
- """Principals this grant rule applies to."""
388
+ """Principals this grant rule applies to. A principal can be a user (for end users), a service
389
+ principal (for applications and compute workloads), or an account group. Each principal has its
390
+ own identifier format: * users/<USERNAME> * groups/<GROUP_NAME> *
391
+ servicePrincipals/<SERVICE_PRINCIPAL_APPLICATION_ID>"""
389
392
 
390
393
  def as_dict(self) -> dict:
391
394
  """Serializes the GrantRule into a dictionary suitable for use as a JSON request body."""
@@ -1327,6 +1330,7 @@ class PermissionLevel(Enum):
1327
1330
 
1328
1331
  CAN_ATTACH_TO = "CAN_ATTACH_TO"
1329
1332
  CAN_BIND = "CAN_BIND"
1333
+ CAN_CREATE = "CAN_CREATE"
1330
1334
  CAN_EDIT = "CAN_EDIT"
1331
1335
  CAN_EDIT_METADATA = "CAN_EDIT_METADATA"
1332
1336
  CAN_MANAGE = "CAN_MANAGE"
@@ -1334,6 +1338,7 @@ class PermissionLevel(Enum):
1334
1338
  CAN_MANAGE_RUN = "CAN_MANAGE_RUN"
1335
1339
  CAN_MANAGE_STAGING_VERSIONS = "CAN_MANAGE_STAGING_VERSIONS"
1336
1340
  CAN_MONITOR = "CAN_MONITOR"
1341
+ CAN_MONITOR_ONLY = "CAN_MONITOR_ONLY"
1337
1342
  CAN_QUERY = "CAN_QUERY"
1338
1343
  CAN_READ = "CAN_READ"
1339
1344
  CAN_RESTART = "CAN_RESTART"
@@ -1410,50 +1415,6 @@ class PermissionsDescription:
1410
1415
  )
1411
1416
 
1412
1417
 
1413
- @dataclass
1414
- class PermissionsRequest:
1415
- access_control_list: Optional[List[AccessControlRequest]] = None
1416
-
1417
- request_object_id: Optional[str] = None
1418
- """The id of the request object."""
1419
-
1420
- request_object_type: Optional[str] = None
1421
- """The type of the request object. Can be one of the following: alerts, authorization, clusters,
1422
- cluster-policies, dashboards, dbsql-dashboards, directories, experiments, files, instance-pools,
1423
- jobs, notebooks, pipelines, queries, registered-models, repos, serving-endpoints, or warehouses."""
1424
-
1425
- def as_dict(self) -> dict:
1426
- """Serializes the PermissionsRequest into a dictionary suitable for use as a JSON request body."""
1427
- body = {}
1428
- if self.access_control_list:
1429
- body["access_control_list"] = [v.as_dict() for v in self.access_control_list]
1430
- if self.request_object_id is not None:
1431
- body["request_object_id"] = self.request_object_id
1432
- if self.request_object_type is not None:
1433
- body["request_object_type"] = self.request_object_type
1434
- return body
1435
-
1436
- def as_shallow_dict(self) -> dict:
1437
- """Serializes the PermissionsRequest into a shallow dictionary of its immediate attributes."""
1438
- body = {}
1439
- if self.access_control_list:
1440
- body["access_control_list"] = self.access_control_list
1441
- if self.request_object_id is not None:
1442
- body["request_object_id"] = self.request_object_id
1443
- if self.request_object_type is not None:
1444
- body["request_object_type"] = self.request_object_type
1445
- return body
1446
-
1447
- @classmethod
1448
- def from_dict(cls, d: Dict[str, Any]) -> PermissionsRequest:
1449
- """Deserializes the PermissionsRequest from a dictionary."""
1450
- return cls(
1451
- access_control_list=_repeated_dict(d, "access_control_list", AccessControlRequest),
1452
- request_object_id=d.get("request_object_id", None),
1453
- request_object_type=d.get("request_object_type", None),
1454
- )
1455
-
1456
-
1457
1418
  @dataclass
1458
1419
  class PrincipalOutput:
1459
1420
  """Information about the principal assigned to the workspace."""
@@ -1619,13 +1580,19 @@ class Role:
1619
1580
 
1620
1581
  @dataclass
1621
1582
  class RuleSetResponse:
1622
- etag: Optional[str] = None
1623
- """Identifies the version of the rule set returned."""
1583
+ name: str
1584
+ """Name of the rule set."""
1624
1585
 
1625
- grant_rules: Optional[List[GrantRule]] = None
1586
+ etag: str
1587
+ """Identifies the version of the rule set returned. Etag used for versioning. The response is at
1588
+ least as fresh as the eTag provided. Etag is used for optimistic concurrency control as a way to
1589
+ help prevent simultaneous updates of a rule set from overwriting each other. It is strongly
1590
+ suggested that systems make use of the etag in the read -> modify -> write pattern to perform
1591
+ rule set updates in order to avoid race conditions that is get an etag from a GET rule set
1592
+ request, and pass it with the PUT update request to identify the rule set version you are
1593
+ updating."""
1626
1594
 
1627
- name: Optional[str] = None
1628
- """Name of the rule set."""
1595
+ grant_rules: Optional[List[GrantRule]] = None
1629
1596
 
1630
1597
  def as_dict(self) -> dict:
1631
1598
  """Serializes the RuleSetResponse into a dictionary suitable for use as a JSON request body."""
@@ -1663,8 +1630,13 @@ class RuleSetUpdateRequest:
1663
1630
  """Name of the rule set."""
1664
1631
 
1665
1632
  etag: str
1666
- """The expected etag of the rule set to update. The update will fail if the value does not match
1667
- the value that is stored in account access control service."""
1633
+ """Identifies the version of the rule set returned. Etag used for versioning. The response is at
1634
+ least as fresh as the eTag provided. Etag is used for optimistic concurrency control as a way to
1635
+ help prevent simultaneous updates of a rule set from overwriting each other. It is strongly
1636
+ suggested that systems make use of the etag in the read -> modify -> write pattern to perform
1637
+ rule set updates in order to avoid race conditions that is get an etag from a GET rule set
1638
+ request, and pass it with the PUT update request to identify the rule set version you are
1639
+ updating."""
1668
1640
 
1669
1641
  grant_rules: Optional[List[GrantRule]] = None
1670
1642
 
@@ -1795,6 +1767,94 @@ class ServicePrincipalSchema(Enum):
1795
1767
  URN_IETF_PARAMS_SCIM_SCHEMAS_CORE_2_0_SERVICE_PRINCIPAL = "urn:ietf:params:scim:schemas:core:2.0:ServicePrincipal"
1796
1768
 
1797
1769
 
1770
+ @dataclass
1771
+ class SetObjectPermissions:
1772
+ access_control_list: Optional[List[AccessControlRequest]] = None
1773
+
1774
+ request_object_id: Optional[str] = None
1775
+ """The id of the request object."""
1776
+
1777
+ request_object_type: Optional[str] = None
1778
+ """The type of the request object. Can be one of the following: alerts, authorization, clusters,
1779
+ cluster-policies, dashboards, dbsql-dashboards, directories, experiments, files, instance-pools,
1780
+ jobs, notebooks, pipelines, queries, registered-models, repos, serving-endpoints, or warehouses."""
1781
+
1782
+ def as_dict(self) -> dict:
1783
+ """Serializes the SetObjectPermissions into a dictionary suitable for use as a JSON request body."""
1784
+ body = {}
1785
+ if self.access_control_list:
1786
+ body["access_control_list"] = [v.as_dict() for v in self.access_control_list]
1787
+ if self.request_object_id is not None:
1788
+ body["request_object_id"] = self.request_object_id
1789
+ if self.request_object_type is not None:
1790
+ body["request_object_type"] = self.request_object_type
1791
+ return body
1792
+
1793
+ def as_shallow_dict(self) -> dict:
1794
+ """Serializes the SetObjectPermissions into a shallow dictionary of its immediate attributes."""
1795
+ body = {}
1796
+ if self.access_control_list:
1797
+ body["access_control_list"] = self.access_control_list
1798
+ if self.request_object_id is not None:
1799
+ body["request_object_id"] = self.request_object_id
1800
+ if self.request_object_type is not None:
1801
+ body["request_object_type"] = self.request_object_type
1802
+ return body
1803
+
1804
+ @classmethod
1805
+ def from_dict(cls, d: Dict[str, Any]) -> SetObjectPermissions:
1806
+ """Deserializes the SetObjectPermissions from a dictionary."""
1807
+ return cls(
1808
+ access_control_list=_repeated_dict(d, "access_control_list", AccessControlRequest),
1809
+ request_object_id=d.get("request_object_id", None),
1810
+ request_object_type=d.get("request_object_type", None),
1811
+ )
1812
+
1813
+
1814
+ @dataclass
1815
+ class UpdateObjectPermissions:
1816
+ access_control_list: Optional[List[AccessControlRequest]] = None
1817
+
1818
+ request_object_id: Optional[str] = None
1819
+ """The id of the request object."""
1820
+
1821
+ request_object_type: Optional[str] = None
1822
+ """The type of the request object. Can be one of the following: alerts, authorization, clusters,
1823
+ cluster-policies, dashboards, dbsql-dashboards, directories, experiments, files, instance-pools,
1824
+ jobs, notebooks, pipelines, queries, registered-models, repos, serving-endpoints, or warehouses."""
1825
+
1826
+ def as_dict(self) -> dict:
1827
+ """Serializes the UpdateObjectPermissions into a dictionary suitable for use as a JSON request body."""
1828
+ body = {}
1829
+ if self.access_control_list:
1830
+ body["access_control_list"] = [v.as_dict() for v in self.access_control_list]
1831
+ if self.request_object_id is not None:
1832
+ body["request_object_id"] = self.request_object_id
1833
+ if self.request_object_type is not None:
1834
+ body["request_object_type"] = self.request_object_type
1835
+ return body
1836
+
1837
+ def as_shallow_dict(self) -> dict:
1838
+ """Serializes the UpdateObjectPermissions into a shallow dictionary of its immediate attributes."""
1839
+ body = {}
1840
+ if self.access_control_list:
1841
+ body["access_control_list"] = self.access_control_list
1842
+ if self.request_object_id is not None:
1843
+ body["request_object_id"] = self.request_object_id
1844
+ if self.request_object_type is not None:
1845
+ body["request_object_type"] = self.request_object_type
1846
+ return body
1847
+
1848
+ @classmethod
1849
+ def from_dict(cls, d: Dict[str, Any]) -> UpdateObjectPermissions:
1850
+ """Deserializes the UpdateObjectPermissions from a dictionary."""
1851
+ return cls(
1852
+ access_control_list=_repeated_dict(d, "access_control_list", AccessControlRequest),
1853
+ request_object_id=d.get("request_object_id", None),
1854
+ request_object_type=d.get("request_object_type", None),
1855
+ )
1856
+
1857
+
1798
1858
  @dataclass
1799
1859
  class UpdateResponse:
1800
1860
  def as_dict(self) -> dict:
@@ -2111,6 +2171,11 @@ class AccountAccessControlAPI:
2111
2171
  :param resource: str
2112
2172
  The resource name for which assignable roles will be listed.
2113
2173
 
2174
+ Examples | Summary :--- | :--- `resource=accounts/<ACCOUNT_ID>` | A resource name for the account.
2175
+ `resource=accounts/<ACCOUNT_ID>/groups/<GROUP_ID>` | A resource name for the group.
2176
+ `resource=accounts/<ACCOUNT_ID>/servicePrincipals/<SP_ID>` | A resource name for the service
2177
+ principal.
2178
+
2114
2179
  :returns: :class:`GetAssignableRolesForResourceResponse`
2115
2180
  """
2116
2181
 
@@ -2137,6 +2202,12 @@ class AccountAccessControlAPI:
2137
2202
 
2138
2203
  :param name: str
2139
2204
  The ruleset name associated with the request.
2205
+
2206
+ Examples | Summary :--- | :--- `name=accounts/<ACCOUNT_ID>/ruleSets/default` | A name for a rule set
2207
+ on the account. `name=accounts/<ACCOUNT_ID>/groups/<GROUP_ID>/ruleSets/default` | A name for a rule
2208
+ set on the group.
2209
+ `name=accounts/<ACCOUNT_ID>/servicePrincipals/<SERVICE_PRINCIPAL_APPLICATION_ID>/ruleSets/default` |
2210
+ A name for a rule set on the service principal.
2140
2211
  :param etag: str
2141
2212
  Etag used for versioning. The response is at least as fresh as the eTag provided. Etag is used for
2142
2213
  optimistic concurrency control as a way to help prevent simultaneous updates of a rule set from
@@ -2145,6 +2216,10 @@ class AccountAccessControlAPI:
2145
2216
  etag from a GET rule set request, and pass it with the PUT update request to identify the rule set
2146
2217
  version you are updating.
2147
2218
 
2219
+ Examples | Summary :--- | :--- `etag=` | An empty etag can only be used in GET to indicate no
2220
+ freshness requirements. `etag=RENUAAABhSweA4NvVmmUYdiU717H3Tgy0UJdor3gE4a+mq/oj9NjAf8ZsQ==` | An
2221
+ etag encoded a specific version of the rule set to get or to be updated.
2222
+
2148
2223
  :returns: :class:`RuleSetResponse`
2149
2224
  """
2150
2225
 
@@ -2199,7 +2274,7 @@ class AccountAccessControlAPI:
2199
2274
  class AccountAccessControlProxyAPI:
2200
2275
  """These APIs manage access rules on resources in an account. Currently, only grant rules are supported. A
2201
2276
  grant rule specifies a role assigned to a set of principals. A list of rules attached to a resource is
2202
- called a rule set. A workspace must belong to an account for these APIs to work."""
2277
+ called a rule set. A workspace must belong to an account for these APIs to work"""
2203
2278
 
2204
2279
  def __init__(self, api_client):
2205
2280
  self._api = api_client
@@ -2207,12 +2282,17 @@ class AccountAccessControlProxyAPI:
2207
2282
  def get_assignable_roles_for_resource(self, resource: str) -> GetAssignableRolesForResourceResponse:
2208
2283
  """Get assignable roles for a resource.
2209
2284
 
2210
- Gets all the roles that can be granted on an account-level resource. A role is grantable if the rule
2285
+ Gets all the roles that can be granted on an account level resource. A role is grantable if the rule
2211
2286
  set on the resource can contain an access rule of the role.
2212
2287
 
2213
2288
  :param resource: str
2214
2289
  The resource name for which assignable roles will be listed.
2215
2290
 
2291
+ Examples | Summary :--- | :--- `resource=accounts/<ACCOUNT_ID>` | A resource name for the account.
2292
+ `resource=accounts/<ACCOUNT_ID>/groups/<GROUP_ID>` | A resource name for the group.
2293
+ `resource=accounts/<ACCOUNT_ID>/servicePrincipals/<SP_ID>` | A resource name for the service
2294
+ principal.
2295
+
2216
2296
  :returns: :class:`GetAssignableRolesForResourceResponse`
2217
2297
  """
2218
2298
 
@@ -2236,6 +2316,12 @@ class AccountAccessControlProxyAPI:
2236
2316
 
2237
2317
  :param name: str
2238
2318
  The ruleset name associated with the request.
2319
+
2320
+ Examples | Summary :--- | :--- `name=accounts/<ACCOUNT_ID>/ruleSets/default` | A name for a rule set
2321
+ on the account. `name=accounts/<ACCOUNT_ID>/groups/<GROUP_ID>/ruleSets/default` | A name for a rule
2322
+ set on the group.
2323
+ `name=accounts/<ACCOUNT_ID>/servicePrincipals/<SERVICE_PRINCIPAL_APPLICATION_ID>/ruleSets/default` |
2324
+ A name for a rule set on the service principal.
2239
2325
  :param etag: str
2240
2326
  Etag used for versioning. The response is at least as fresh as the eTag provided. Etag is used for
2241
2327
  optimistic concurrency control as a way to help prevent simultaneous updates of a rule set from
@@ -2244,6 +2330,10 @@ class AccountAccessControlProxyAPI:
2244
2330
  etag from a GET rule set request, and pass it with the PUT update request to identify the rule set
2245
2331
  version you are updating.
2246
2332
 
2333
+ Examples | Summary :--- | :--- `etag=` | An empty etag can only be used in GET to indicate no
2334
+ freshness requirements. `etag=RENUAAABhSweA4NvVmmUYdiU717H3Tgy0UJdor3gE4a+mq/oj9NjAf8ZsQ==` | An
2335
+ etag encoded a specific version of the rule set to get or to be updated.
2336
+
2247
2337
  :returns: :class:`RuleSetResponse`
2248
2338
  """
2249
2339
 
@@ -2262,8 +2352,8 @@ class AccountAccessControlProxyAPI:
2262
2352
  def update_rule_set(self, name: str, rule_set: RuleSetUpdateRequest) -> RuleSetResponse:
2263
2353
  """Update a rule set.
2264
2354
 
2265
- Replace the rules of a rule set. First, use a GET rule set request to read the current version of the
2266
- rule set before modifying it. This pattern helps prevent conflicts between concurrent updates.
2355
+ Replace the rules of a rule set. First, use get to read the current version of the rule set before
2356
+ modifying it. This pattern helps prevent conflicts between concurrent updates.
2267
2357
 
2268
2358
  :param name: str
2269
2359
  Name of the rule set.
@@ -3552,51 +3642,24 @@ class PermissionMigrationAPI:
3552
3642
 
3553
3643
  class PermissionsAPI:
3554
3644
  """Permissions API are used to create read, write, edit, update and manage access for various users on
3555
- different objects and endpoints.
3556
-
3557
- * **[Apps permissions](:service:apps)** — Manage which users can manage or use apps.
3558
-
3559
- * **[Cluster permissions](:service:clusters)** — Manage which users can manage, restart, or attach to
3560
- clusters.
3561
-
3562
- * **[Cluster policy permissions](:service:clusterpolicies)** — Manage which users can use cluster
3563
- policies.
3564
-
3565
- * **[Delta Live Tables pipeline permissions](:service:pipelines)** — Manage which users can view,
3566
- manage, run, cancel, or own a Delta Live Tables pipeline.
3567
-
3568
- * **[Job permissions](:service:jobs)** — Manage which users can view, manage, trigger, cancel, or own a
3569
- job.
3570
-
3571
- * **[MLflow experiment permissions](:service:experiments)** Manage which users can read, edit, or
3572
- manage MLflow experiments.
3573
-
3574
- * **[MLflow registered model permissions](:service:modelregistry)** — Manage which users can read, edit,
3575
- or manage MLflow registered models.
3576
-
3577
- * **[Password permissions](:service:users)** — Manage which users can use password login when SSO is
3578
- enabled.
3579
-
3580
- * **[Instance Pool permissions](:service:instancepools)** — Manage which users can manage or attach to
3581
- pools.
3582
-
3583
- * **[Repo permissions](repos)** — Manage which users can read, run, edit, or manage a repo.
3584
-
3585
- * **[Serving endpoint permissions](:service:servingendpoints)** — Manage which users can view, query, or
3586
- manage a serving endpoint.
3587
-
3588
- * **[SQL warehouse permissions](:service:warehouses)** — Manage which users can use or manage SQL
3589
- warehouses.
3590
-
3591
- * **[Token permissions](:service:tokenmanagement)** — Manage which users can create or use tokens.
3592
-
3593
- * **[Workspace object permissions](:service:workspace)** — Manage which users can read, run, edit, or
3594
- manage alerts, dbsql-dashboards, directories, files, notebooks and queries.
3595
-
3596
- For the mapping of the required permissions for specific actions or abilities and other important
3597
- information, see [Access Control].
3598
-
3599
- Note that to manage access control on service principals, use **[Account Access Control
3645
+ different objects and endpoints. * **[Apps permissions](:service:apps)** — Manage which users can manage
3646
+ or use apps. * **[Cluster permissions](:service:clusters)** — Manage which users can manage, restart, or
3647
+ attach to clusters. * **[Cluster policy permissions](:service:clusterpolicies)** — Manage which users
3648
+ can use cluster policies. * **[Delta Live Tables pipeline permissions](:service:pipelines)** — Manage
3649
+ which users can view, manage, run, cancel, or own a Delta Live Tables pipeline. * **[Job
3650
+ permissions](:service:jobs)** — Manage which users can view, manage, trigger, cancel, or own a job. *
3651
+ **[MLflow experiment permissions](:service:experiments)** — Manage which users can read, edit, or manage
3652
+ MLflow experiments. * **[MLflow registered model permissions](:service:modelregistry)** — Manage which
3653
+ users can read, edit, or manage MLflow registered models. * **[Instance Pool
3654
+ permissions](:service:instancepools)** — Manage which users can manage or attach to pools. * **[Repo
3655
+ permissions](repos)** — Manage which users can read, run, edit, or manage a repo. * **[Serving endpoint
3656
+ permissions](:service:servingendpoints)** — Manage which users can view, query, or manage a serving
3657
+ endpoint. * **[SQL warehouse permissions](:service:warehouses)** — Manage which users can use or manage
3658
+ SQL warehouses. * **[Token permissions](:service:tokenmanagement)** — Manage which users can create or
3659
+ use tokens. * **[Workspace object permissions](:service:workspace)** — Manage which users can read, run,
3660
+ edit, or manage alerts, dbsql-dashboards, directories, files, notebooks and queries. For the mapping of
3661
+ the required permissions for specific actions or abilities and other important information, see [Access
3662
+ Control]. Note that to manage access control on service principals, use **[Account Access Control
3600
3663
  Proxy](:service:accountaccesscontrolproxy)**.
3601
3664
 
3602
3665
  [Access Control]: https://docs.databricks.com/security/auth-authz/access-control/index.html"""
@@ -3633,9 +3696,10 @@ class PermissionsAPI:
3633
3696
  Gets the permission levels that a user can have on an object.
3634
3697
 
3635
3698
  :param request_object_type: str
3636
- <needs content>
3699
+ The type of the request object. Can be one of the following: alerts, authorization, clusters,
3700
+ cluster-policies, dashboards, dbsql-dashboards, directories, experiments, files, instance-pools,
3701
+ jobs, notebooks, pipelines, queries, registered-models, repos, serving-endpoints, or warehouses.
3637
3702
  :param request_object_id: str
3638
- <needs content>
3639
3703
 
3640
3704
  :returns: :class:`GetPermissionLevelsResponse`
3641
3705
  """
@@ -807,7 +807,7 @@ class ComputeConfig:
807
807
  num_gpus: int
808
808
  """Number of GPUs."""
809
809
 
810
- gpu_node_pool_id: str
810
+ gpu_node_pool_id: Optional[str] = None
811
811
  """IDof the GPU pool to use."""
812
812
 
813
813
  gpu_type: Optional[str] = None
@@ -2708,9 +2708,7 @@ class JobEnvironment:
2708
2708
 
2709
2709
  spec: Optional[compute.Environment] = None
2710
2710
  """The environment entity used to preserve serverless environment side panel, jobs' environment for
2711
- non-notebook task, and DLT's environment for classic and serverless pipelines. (Note: DLT uses a
2712
- copied version of the Environment proto below, at
2713
- //spark/pipelines/api/protos/copied/libraries-environments-copy.proto) In this minimal
2711
+ non-notebook task, and DLT's environment for classic and serverless pipelines. In this minimal
2714
2712
  environment spec, only pip dependencies are supported."""
2715
2713
 
2716
2714
  def as_dict(self) -> dict:
@@ -8469,7 +8467,8 @@ class TaskNotificationSettings:
8469
8467
 
8470
8468
  class TerminationCodeCode(Enum):
8471
8469
  """The code indicates why the run was terminated. Additional codes might be introduced in future
8472
- releases. * `SUCCESS`: The run was completed successfully. * `USER_CANCELED`: The run was
8470
+ releases. * `SUCCESS`: The run was completed successfully. * `SUCCESS_WITH_FAILURES`: The run
8471
+ was completed successfully but some child runs failed. * `USER_CANCELED`: The run was
8473
8472
  successfully canceled during execution by a user. * `CANCELED`: The run was canceled during
8474
8473
  execution by the Databricks platform; for example, if the maximum run duration was exceeded. *
8475
8474
  `SKIPPED`: Run was never executed, for example, if the upstream task run failed, the dependency
@@ -8525,6 +8524,7 @@ class TerminationCodeCode(Enum):
8525
8524
  SKIPPED = "SKIPPED"
8526
8525
  STORAGE_ACCESS_ERROR = "STORAGE_ACCESS_ERROR"
8527
8526
  SUCCESS = "SUCCESS"
8527
+ SUCCESS_WITH_FAILURES = "SUCCESS_WITH_FAILURES"
8528
8528
  UNAUTHORIZED_ERROR = "UNAUTHORIZED_ERROR"
8529
8529
  USER_CANCELED = "USER_CANCELED"
8530
8530
  WORKSPACE_RUN_LIMIT_EXCEEDED = "WORKSPACE_RUN_LIMIT_EXCEEDED"
@@ -8534,7 +8534,8 @@ class TerminationCodeCode(Enum):
8534
8534
  class TerminationDetails:
8535
8535
  code: Optional[TerminationCodeCode] = None
8536
8536
  """The code indicates why the run was terminated. Additional codes might be introduced in future
8537
- releases. * `SUCCESS`: The run was completed successfully. * `USER_CANCELED`: The run was
8537
+ releases. * `SUCCESS`: The run was completed successfully. * `SUCCESS_WITH_FAILURES`: The run
8538
+ was completed successfully but some child runs failed. * `USER_CANCELED`: The run was
8538
8539
  successfully canceled during execution by a user. * `CANCELED`: The run was canceled during
8539
8540
  execution by the Databricks platform; for example, if the maximum run duration was exceeded. *
8540
8541
  `SKIPPED`: Run was never executed, for example, if the upstream task run failed, the dependency