databricks-sdk 0.54.0__py3-none-any.whl → 0.56.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 +304 -278
- databricks/sdk/config.py +15 -4
- databricks/sdk/credentials_provider.py +101 -55
- databricks/sdk/oauth.py +0 -5
- databricks/sdk/oidc.py +206 -0
- databricks/sdk/service/aibuilder.py +364 -0
- databricks/sdk/service/billing.py +150 -169
- databricks/sdk/service/catalog.py +263 -835
- databricks/sdk/service/cleanrooms.py +15 -10
- databricks/sdk/service/compute.py +12 -22
- databricks/sdk/service/dashboards.py +59 -451
- databricks/sdk/service/database.py +1256 -0
- databricks/sdk/service/files.py +2 -0
- databricks/sdk/service/iam.py +6 -6
- databricks/sdk/service/jobs.py +238 -0
- databricks/sdk/service/ml.py +8 -271
- databricks/sdk/service/pipelines.py +45 -1
- databricks/sdk/service/provisioning.py +0 -3
- databricks/sdk/service/qualitymonitorv2.py +275 -0
- databricks/sdk/service/serving.py +76 -4
- databricks/sdk/service/settings.py +982 -99
- databricks/sdk/service/sharing.py +3 -2
- databricks/sdk/service/sql.py +218 -1
- databricks/sdk/version.py +1 -1
- {databricks_sdk-0.54.0.dist-info → databricks_sdk-0.56.0.dist-info}/METADATA +1 -1
- {databricks_sdk-0.54.0.dist-info → databricks_sdk-0.56.0.dist-info}/RECORD +30 -26
- {databricks_sdk-0.54.0.dist-info → databricks_sdk-0.56.0.dist-info}/WHEEL +1 -1
- {databricks_sdk-0.54.0.dist-info → databricks_sdk-0.56.0.dist-info}/licenses/LICENSE +0 -0
- {databricks_sdk-0.54.0.dist-info → databricks_sdk-0.56.0.dist-info}/licenses/NOTICE +0 -0
- {databricks_sdk-0.54.0.dist-info → databricks_sdk-0.56.0.dist-info}/top_level.txt +0 -0
databricks/sdk/service/files.py
CHANGED
|
@@ -1049,6 +1049,8 @@ class FilesAPI:
|
|
|
1049
1049
|
`enable_experimental_files_api_client = True` in your configuration profile or use the environment
|
|
1050
1050
|
variable `DATABRICKS_ENABLE_EXPERIMENTAL_FILES_API_CLIENT=True`.
|
|
1051
1051
|
|
|
1052
|
+
Use of Files API may incur Databricks data transfer charges.
|
|
1053
|
+
|
|
1052
1054
|
[Unity Catalog volumes]: https://docs.databricks.com/en/connect/unity-catalog/volumes.html"""
|
|
1053
1055
|
|
|
1054
1056
|
def __init__(self, api_client):
|
databricks/sdk/service/iam.py
CHANGED
|
@@ -2547,7 +2547,7 @@ class AccountGroupsAPI:
|
|
|
2547
2547
|
seen = set()
|
|
2548
2548
|
query["startIndex"] = 1
|
|
2549
2549
|
if "count" not in query:
|
|
2550
|
-
query["count"] =
|
|
2550
|
+
query["count"] = 10000
|
|
2551
2551
|
while True:
|
|
2552
2552
|
json = self._api.do(
|
|
2553
2553
|
"GET", f"/api/2.0/accounts/{self._api.account_id}/scim/v2/Groups", query=query, headers=headers
|
|
@@ -2827,7 +2827,7 @@ class AccountServicePrincipalsAPI:
|
|
|
2827
2827
|
seen = set()
|
|
2828
2828
|
query["startIndex"] = 1
|
|
2829
2829
|
if "count" not in query:
|
|
2830
|
-
query["count"] =
|
|
2830
|
+
query["count"] = 10000
|
|
2831
2831
|
while True:
|
|
2832
2832
|
json = self._api.do(
|
|
2833
2833
|
"GET",
|
|
@@ -3185,7 +3185,7 @@ class AccountUsersAPI:
|
|
|
3185
3185
|
seen = set()
|
|
3186
3186
|
query["startIndex"] = 1
|
|
3187
3187
|
if "count" not in query:
|
|
3188
|
-
query["count"] =
|
|
3188
|
+
query["count"] = 10000
|
|
3189
3189
|
while True:
|
|
3190
3190
|
json = self._api.do(
|
|
3191
3191
|
"GET", f"/api/2.0/accounts/{self._api.account_id}/scim/v2/Users", query=query, headers=headers
|
|
@@ -3495,7 +3495,7 @@ class GroupsAPI:
|
|
|
3495
3495
|
seen = set()
|
|
3496
3496
|
query["startIndex"] = 1
|
|
3497
3497
|
if "count" not in query:
|
|
3498
|
-
query["count"] =
|
|
3498
|
+
query["count"] = 10000
|
|
3499
3499
|
while True:
|
|
3500
3500
|
json = self._api.do("GET", "/api/2.0/preview/scim/v2/Groups", query=query, headers=headers)
|
|
3501
3501
|
if "Resources" in json:
|
|
@@ -3955,7 +3955,7 @@ class ServicePrincipalsAPI:
|
|
|
3955
3955
|
seen = set()
|
|
3956
3956
|
query["startIndex"] = 1
|
|
3957
3957
|
if "count" not in query:
|
|
3958
|
-
query["count"] =
|
|
3958
|
+
query["count"] = 10000
|
|
3959
3959
|
while True:
|
|
3960
3960
|
json = self._api.do("GET", "/api/2.0/preview/scim/v2/ServicePrincipals", query=query, headers=headers)
|
|
3961
3961
|
if "Resources" in json:
|
|
@@ -4324,7 +4324,7 @@ class UsersAPI:
|
|
|
4324
4324
|
seen = set()
|
|
4325
4325
|
query["startIndex"] = 1
|
|
4326
4326
|
if "count" not in query:
|
|
4327
|
-
query["count"] =
|
|
4327
|
+
query["count"] = 10000
|
|
4328
4328
|
while True:
|
|
4329
4329
|
json = self._api.do("GET", "/api/2.0/preview/scim/v2/Users", query=query, headers=headers)
|
|
4330
4330
|
if "Resources" in json:
|
databricks/sdk/service/jobs.py
CHANGED
|
@@ -54,6 +54,9 @@ class BaseJob:
|
|
|
54
54
|
"""Settings for this job and all of its runs. These settings can be updated using the `resetJob`
|
|
55
55
|
method."""
|
|
56
56
|
|
|
57
|
+
trigger_state: Optional[TriggerStateProto] = None
|
|
58
|
+
"""State of the trigger associated with the job."""
|
|
59
|
+
|
|
57
60
|
def as_dict(self) -> dict:
|
|
58
61
|
"""Serializes the BaseJob into a dictionary suitable for use as a JSON request body."""
|
|
59
62
|
body = {}
|
|
@@ -69,6 +72,8 @@ class BaseJob:
|
|
|
69
72
|
body["job_id"] = self.job_id
|
|
70
73
|
if self.settings:
|
|
71
74
|
body["settings"] = self.settings.as_dict()
|
|
75
|
+
if self.trigger_state:
|
|
76
|
+
body["trigger_state"] = self.trigger_state.as_dict()
|
|
72
77
|
return body
|
|
73
78
|
|
|
74
79
|
def as_shallow_dict(self) -> dict:
|
|
@@ -86,6 +91,8 @@ class BaseJob:
|
|
|
86
91
|
body["job_id"] = self.job_id
|
|
87
92
|
if self.settings:
|
|
88
93
|
body["settings"] = self.settings
|
|
94
|
+
if self.trigger_state:
|
|
95
|
+
body["trigger_state"] = self.trigger_state
|
|
89
96
|
return body
|
|
90
97
|
|
|
91
98
|
@classmethod
|
|
@@ -98,6 +105,7 @@ class BaseJob:
|
|
|
98
105
|
has_more=d.get("has_more", None),
|
|
99
106
|
job_id=d.get("job_id", None),
|
|
100
107
|
settings=_from_dict(d, "settings", JobSettings),
|
|
108
|
+
trigger_state=_from_dict(d, "trigger_state", TriggerStateProto),
|
|
101
109
|
)
|
|
102
110
|
|
|
103
111
|
|
|
@@ -1389,6 +1397,148 @@ class DashboardTaskOutput:
|
|
|
1389
1397
|
return cls(page_snapshots=_repeated_dict(d, "page_snapshots", DashboardPageSnapshot))
|
|
1390
1398
|
|
|
1391
1399
|
|
|
1400
|
+
@dataclass
|
|
1401
|
+
class DbtCloudJobRunStep:
|
|
1402
|
+
"""Format of response retrieved from dbt Cloud, for inclusion in output"""
|
|
1403
|
+
|
|
1404
|
+
index: Optional[int] = None
|
|
1405
|
+
"""Orders the steps in the job"""
|
|
1406
|
+
|
|
1407
|
+
logs: Optional[str] = None
|
|
1408
|
+
"""Output of the step"""
|
|
1409
|
+
|
|
1410
|
+
name: Optional[str] = None
|
|
1411
|
+
"""Name of the step in the job"""
|
|
1412
|
+
|
|
1413
|
+
status: Optional[DbtCloudRunStatus] = None
|
|
1414
|
+
"""State of the step"""
|
|
1415
|
+
|
|
1416
|
+
def as_dict(self) -> dict:
|
|
1417
|
+
"""Serializes the DbtCloudJobRunStep into a dictionary suitable for use as a JSON request body."""
|
|
1418
|
+
body = {}
|
|
1419
|
+
if self.index is not None:
|
|
1420
|
+
body["index"] = self.index
|
|
1421
|
+
if self.logs is not None:
|
|
1422
|
+
body["logs"] = self.logs
|
|
1423
|
+
if self.name is not None:
|
|
1424
|
+
body["name"] = self.name
|
|
1425
|
+
if self.status is not None:
|
|
1426
|
+
body["status"] = self.status.value
|
|
1427
|
+
return body
|
|
1428
|
+
|
|
1429
|
+
def as_shallow_dict(self) -> dict:
|
|
1430
|
+
"""Serializes the DbtCloudJobRunStep into a shallow dictionary of its immediate attributes."""
|
|
1431
|
+
body = {}
|
|
1432
|
+
if self.index is not None:
|
|
1433
|
+
body["index"] = self.index
|
|
1434
|
+
if self.logs is not None:
|
|
1435
|
+
body["logs"] = self.logs
|
|
1436
|
+
if self.name is not None:
|
|
1437
|
+
body["name"] = self.name
|
|
1438
|
+
if self.status is not None:
|
|
1439
|
+
body["status"] = self.status
|
|
1440
|
+
return body
|
|
1441
|
+
|
|
1442
|
+
@classmethod
|
|
1443
|
+
def from_dict(cls, d: Dict[str, Any]) -> DbtCloudJobRunStep:
|
|
1444
|
+
"""Deserializes the DbtCloudJobRunStep from a dictionary."""
|
|
1445
|
+
return cls(
|
|
1446
|
+
index=d.get("index", None),
|
|
1447
|
+
logs=d.get("logs", None),
|
|
1448
|
+
name=d.get("name", None),
|
|
1449
|
+
status=_enum(d, "status", DbtCloudRunStatus),
|
|
1450
|
+
)
|
|
1451
|
+
|
|
1452
|
+
|
|
1453
|
+
class DbtCloudRunStatus(Enum):
|
|
1454
|
+
"""Response enumeration from calling the dbt Cloud API, for inclusion in output"""
|
|
1455
|
+
|
|
1456
|
+
CANCELLED = "CANCELLED"
|
|
1457
|
+
ERROR = "ERROR"
|
|
1458
|
+
QUEUED = "QUEUED"
|
|
1459
|
+
RUNNING = "RUNNING"
|
|
1460
|
+
STARTING = "STARTING"
|
|
1461
|
+
SUCCESS = "SUCCESS"
|
|
1462
|
+
|
|
1463
|
+
|
|
1464
|
+
@dataclass
|
|
1465
|
+
class DbtCloudTask:
|
|
1466
|
+
connection_resource_name: Optional[str] = None
|
|
1467
|
+
"""The resource name of the UC connection that authenticates the dbt Cloud for this task"""
|
|
1468
|
+
|
|
1469
|
+
dbt_cloud_job_id: Optional[int] = None
|
|
1470
|
+
"""Id of the dbt Cloud job to be triggered"""
|
|
1471
|
+
|
|
1472
|
+
def as_dict(self) -> dict:
|
|
1473
|
+
"""Serializes the DbtCloudTask into a dictionary suitable for use as a JSON request body."""
|
|
1474
|
+
body = {}
|
|
1475
|
+
if self.connection_resource_name is not None:
|
|
1476
|
+
body["connection_resource_name"] = self.connection_resource_name
|
|
1477
|
+
if self.dbt_cloud_job_id is not None:
|
|
1478
|
+
body["dbt_cloud_job_id"] = self.dbt_cloud_job_id
|
|
1479
|
+
return body
|
|
1480
|
+
|
|
1481
|
+
def as_shallow_dict(self) -> dict:
|
|
1482
|
+
"""Serializes the DbtCloudTask into a shallow dictionary of its immediate attributes."""
|
|
1483
|
+
body = {}
|
|
1484
|
+
if self.connection_resource_name is not None:
|
|
1485
|
+
body["connection_resource_name"] = self.connection_resource_name
|
|
1486
|
+
if self.dbt_cloud_job_id is not None:
|
|
1487
|
+
body["dbt_cloud_job_id"] = self.dbt_cloud_job_id
|
|
1488
|
+
return body
|
|
1489
|
+
|
|
1490
|
+
@classmethod
|
|
1491
|
+
def from_dict(cls, d: Dict[str, Any]) -> DbtCloudTask:
|
|
1492
|
+
"""Deserializes the DbtCloudTask from a dictionary."""
|
|
1493
|
+
return cls(
|
|
1494
|
+
connection_resource_name=d.get("connection_resource_name", None),
|
|
1495
|
+
dbt_cloud_job_id=d.get("dbt_cloud_job_id", None),
|
|
1496
|
+
)
|
|
1497
|
+
|
|
1498
|
+
|
|
1499
|
+
@dataclass
|
|
1500
|
+
class DbtCloudTaskOutput:
|
|
1501
|
+
dbt_cloud_job_run_id: Optional[int] = None
|
|
1502
|
+
"""Id of the job run in dbt Cloud"""
|
|
1503
|
+
|
|
1504
|
+
dbt_cloud_job_run_output: Optional[List[DbtCloudJobRunStep]] = None
|
|
1505
|
+
"""Steps of the job run as received from dbt Cloud"""
|
|
1506
|
+
|
|
1507
|
+
dbt_cloud_job_run_url: Optional[str] = None
|
|
1508
|
+
"""Url where full run details can be viewed"""
|
|
1509
|
+
|
|
1510
|
+
def as_dict(self) -> dict:
|
|
1511
|
+
"""Serializes the DbtCloudTaskOutput into a dictionary suitable for use as a JSON request body."""
|
|
1512
|
+
body = {}
|
|
1513
|
+
if self.dbt_cloud_job_run_id is not None:
|
|
1514
|
+
body["dbt_cloud_job_run_id"] = self.dbt_cloud_job_run_id
|
|
1515
|
+
if self.dbt_cloud_job_run_output:
|
|
1516
|
+
body["dbt_cloud_job_run_output"] = [v.as_dict() for v in self.dbt_cloud_job_run_output]
|
|
1517
|
+
if self.dbt_cloud_job_run_url is not None:
|
|
1518
|
+
body["dbt_cloud_job_run_url"] = self.dbt_cloud_job_run_url
|
|
1519
|
+
return body
|
|
1520
|
+
|
|
1521
|
+
def as_shallow_dict(self) -> dict:
|
|
1522
|
+
"""Serializes the DbtCloudTaskOutput into a shallow dictionary of its immediate attributes."""
|
|
1523
|
+
body = {}
|
|
1524
|
+
if self.dbt_cloud_job_run_id is not None:
|
|
1525
|
+
body["dbt_cloud_job_run_id"] = self.dbt_cloud_job_run_id
|
|
1526
|
+
if self.dbt_cloud_job_run_output:
|
|
1527
|
+
body["dbt_cloud_job_run_output"] = self.dbt_cloud_job_run_output
|
|
1528
|
+
if self.dbt_cloud_job_run_url is not None:
|
|
1529
|
+
body["dbt_cloud_job_run_url"] = self.dbt_cloud_job_run_url
|
|
1530
|
+
return body
|
|
1531
|
+
|
|
1532
|
+
@classmethod
|
|
1533
|
+
def from_dict(cls, d: Dict[str, Any]) -> DbtCloudTaskOutput:
|
|
1534
|
+
"""Deserializes the DbtCloudTaskOutput from a dictionary."""
|
|
1535
|
+
return cls(
|
|
1536
|
+
dbt_cloud_job_run_id=d.get("dbt_cloud_job_run_id", None),
|
|
1537
|
+
dbt_cloud_job_run_output=_repeated_dict(d, "dbt_cloud_job_run_output", DbtCloudJobRunStep),
|
|
1538
|
+
dbt_cloud_job_run_url=d.get("dbt_cloud_job_run_url", None),
|
|
1539
|
+
)
|
|
1540
|
+
|
|
1541
|
+
|
|
1392
1542
|
@dataclass
|
|
1393
1543
|
class DbtOutput:
|
|
1394
1544
|
artifacts_headers: Optional[Dict[str, str]] = None
|
|
@@ -1804,6 +1954,31 @@ class FileArrivalTriggerConfiguration:
|
|
|
1804
1954
|
)
|
|
1805
1955
|
|
|
1806
1956
|
|
|
1957
|
+
@dataclass
|
|
1958
|
+
class FileArrivalTriggerState:
|
|
1959
|
+
using_file_events: Optional[bool] = None
|
|
1960
|
+
"""Indicates whether the trigger leverages file events to detect file arrivals."""
|
|
1961
|
+
|
|
1962
|
+
def as_dict(self) -> dict:
|
|
1963
|
+
"""Serializes the FileArrivalTriggerState into a dictionary suitable for use as a JSON request body."""
|
|
1964
|
+
body = {}
|
|
1965
|
+
if self.using_file_events is not None:
|
|
1966
|
+
body["using_file_events"] = self.using_file_events
|
|
1967
|
+
return body
|
|
1968
|
+
|
|
1969
|
+
def as_shallow_dict(self) -> dict:
|
|
1970
|
+
"""Serializes the FileArrivalTriggerState into a shallow dictionary of its immediate attributes."""
|
|
1971
|
+
body = {}
|
|
1972
|
+
if self.using_file_events is not None:
|
|
1973
|
+
body["using_file_events"] = self.using_file_events
|
|
1974
|
+
return body
|
|
1975
|
+
|
|
1976
|
+
@classmethod
|
|
1977
|
+
def from_dict(cls, d: Dict[str, Any]) -> FileArrivalTriggerState:
|
|
1978
|
+
"""Deserializes the FileArrivalTriggerState from a dictionary."""
|
|
1979
|
+
return cls(using_file_events=d.get("using_file_events", None))
|
|
1980
|
+
|
|
1981
|
+
|
|
1807
1982
|
@dataclass
|
|
1808
1983
|
class ForEachStats:
|
|
1809
1984
|
error_message_stats: Optional[List[ForEachTaskErrorMessageStats]] = None
|
|
@@ -2321,6 +2496,9 @@ class Job:
|
|
|
2321
2496
|
"""Settings for this job and all of its runs. These settings can be updated using the `resetJob`
|
|
2322
2497
|
method."""
|
|
2323
2498
|
|
|
2499
|
+
trigger_state: Optional[TriggerStateProto] = None
|
|
2500
|
+
"""State of the trigger associated with the job."""
|
|
2501
|
+
|
|
2324
2502
|
def as_dict(self) -> dict:
|
|
2325
2503
|
"""Serializes the Job into a dictionary suitable for use as a JSON request body."""
|
|
2326
2504
|
body = {}
|
|
@@ -2340,6 +2518,8 @@ class Job:
|
|
|
2340
2518
|
body["run_as_user_name"] = self.run_as_user_name
|
|
2341
2519
|
if self.settings:
|
|
2342
2520
|
body["settings"] = self.settings.as_dict()
|
|
2521
|
+
if self.trigger_state:
|
|
2522
|
+
body["trigger_state"] = self.trigger_state.as_dict()
|
|
2343
2523
|
return body
|
|
2344
2524
|
|
|
2345
2525
|
def as_shallow_dict(self) -> dict:
|
|
@@ -2361,6 +2541,8 @@ class Job:
|
|
|
2361
2541
|
body["run_as_user_name"] = self.run_as_user_name
|
|
2362
2542
|
if self.settings:
|
|
2363
2543
|
body["settings"] = self.settings
|
|
2544
|
+
if self.trigger_state:
|
|
2545
|
+
body["trigger_state"] = self.trigger_state
|
|
2364
2546
|
return body
|
|
2365
2547
|
|
|
2366
2548
|
@classmethod
|
|
@@ -2375,6 +2557,7 @@ class Job:
|
|
|
2375
2557
|
next_page_token=d.get("next_page_token", None),
|
|
2376
2558
|
run_as_user_name=d.get("run_as_user_name", None),
|
|
2377
2559
|
settings=_from_dict(d, "settings", JobSettings),
|
|
2560
|
+
trigger_state=_from_dict(d, "trigger_state", TriggerStateProto),
|
|
2378
2561
|
)
|
|
2379
2562
|
|
|
2380
2563
|
|
|
@@ -5771,6 +5954,8 @@ class RunOutput:
|
|
|
5771
5954
|
dashboard_output: Optional[DashboardTaskOutput] = None
|
|
5772
5955
|
"""The output of a dashboard task, if available"""
|
|
5773
5956
|
|
|
5957
|
+
dbt_cloud_output: Optional[DbtCloudTaskOutput] = None
|
|
5958
|
+
|
|
5774
5959
|
dbt_output: Optional[DbtOutput] = None
|
|
5775
5960
|
"""The output of a dbt task, if available."""
|
|
5776
5961
|
|
|
@@ -5819,6 +6004,8 @@ class RunOutput:
|
|
|
5819
6004
|
body["clean_rooms_notebook_output"] = self.clean_rooms_notebook_output.as_dict()
|
|
5820
6005
|
if self.dashboard_output:
|
|
5821
6006
|
body["dashboard_output"] = self.dashboard_output.as_dict()
|
|
6007
|
+
if self.dbt_cloud_output:
|
|
6008
|
+
body["dbt_cloud_output"] = self.dbt_cloud_output.as_dict()
|
|
5822
6009
|
if self.dbt_output:
|
|
5823
6010
|
body["dbt_output"] = self.dbt_output.as_dict()
|
|
5824
6011
|
if self.error is not None:
|
|
@@ -5848,6 +6035,8 @@ class RunOutput:
|
|
|
5848
6035
|
body["clean_rooms_notebook_output"] = self.clean_rooms_notebook_output
|
|
5849
6036
|
if self.dashboard_output:
|
|
5850
6037
|
body["dashboard_output"] = self.dashboard_output
|
|
6038
|
+
if self.dbt_cloud_output:
|
|
6039
|
+
body["dbt_cloud_output"] = self.dbt_cloud_output
|
|
5851
6040
|
if self.dbt_output:
|
|
5852
6041
|
body["dbt_output"] = self.dbt_output
|
|
5853
6042
|
if self.error is not None:
|
|
@@ -5878,6 +6067,7 @@ class RunOutput:
|
|
|
5878
6067
|
d, "clean_rooms_notebook_output", CleanRoomsNotebookTaskCleanRoomsNotebookTaskOutput
|
|
5879
6068
|
),
|
|
5880
6069
|
dashboard_output=_from_dict(d, "dashboard_output", DashboardTaskOutput),
|
|
6070
|
+
dbt_cloud_output=_from_dict(d, "dbt_cloud_output", DbtCloudTaskOutput),
|
|
5881
6071
|
dbt_output=_from_dict(d, "dbt_output", DbtOutput),
|
|
5882
6072
|
error=d.get("error", None),
|
|
5883
6073
|
error_trace=d.get("error_trace", None),
|
|
@@ -6197,6 +6387,9 @@ class RunTask:
|
|
|
6197
6387
|
dashboard_task: Optional[DashboardTask] = None
|
|
6198
6388
|
"""The task refreshes a dashboard and sends a snapshot to subscribers."""
|
|
6199
6389
|
|
|
6390
|
+
dbt_cloud_task: Optional[DbtCloudTask] = None
|
|
6391
|
+
"""Task type for dbt cloud"""
|
|
6392
|
+
|
|
6200
6393
|
dbt_task: Optional[DbtTask] = None
|
|
6201
6394
|
"""The task runs one or more dbt commands when the `dbt_task` field is present. The dbt task
|
|
6202
6395
|
requires both Databricks SQL and the ability to use a serverless or a pro SQL warehouse."""
|
|
@@ -6377,6 +6570,8 @@ class RunTask:
|
|
|
6377
6570
|
body["condition_task"] = self.condition_task.as_dict()
|
|
6378
6571
|
if self.dashboard_task:
|
|
6379
6572
|
body["dashboard_task"] = self.dashboard_task.as_dict()
|
|
6573
|
+
if self.dbt_cloud_task:
|
|
6574
|
+
body["dbt_cloud_task"] = self.dbt_cloud_task.as_dict()
|
|
6380
6575
|
if self.dbt_task:
|
|
6381
6576
|
body["dbt_task"] = self.dbt_task.as_dict()
|
|
6382
6577
|
if self.depends_on:
|
|
@@ -6472,6 +6667,8 @@ class RunTask:
|
|
|
6472
6667
|
body["condition_task"] = self.condition_task
|
|
6473
6668
|
if self.dashboard_task:
|
|
6474
6669
|
body["dashboard_task"] = self.dashboard_task
|
|
6670
|
+
if self.dbt_cloud_task:
|
|
6671
|
+
body["dbt_cloud_task"] = self.dbt_cloud_task
|
|
6475
6672
|
if self.dbt_task:
|
|
6476
6673
|
body["dbt_task"] = self.dbt_task
|
|
6477
6674
|
if self.depends_on:
|
|
@@ -6562,6 +6759,7 @@ class RunTask:
|
|
|
6562
6759
|
cluster_instance=_from_dict(d, "cluster_instance", ClusterInstance),
|
|
6563
6760
|
condition_task=_from_dict(d, "condition_task", RunConditionTask),
|
|
6564
6761
|
dashboard_task=_from_dict(d, "dashboard_task", DashboardTask),
|
|
6762
|
+
dbt_cloud_task=_from_dict(d, "dbt_cloud_task", DbtCloudTask),
|
|
6565
6763
|
dbt_task=_from_dict(d, "dbt_task", DbtTask),
|
|
6566
6764
|
depends_on=_repeated_dict(d, "depends_on", TaskDependency),
|
|
6567
6765
|
description=d.get("description", None),
|
|
@@ -7585,6 +7783,9 @@ class SubmitTask:
|
|
|
7585
7783
|
dashboard_task: Optional[DashboardTask] = None
|
|
7586
7784
|
"""The task refreshes a dashboard and sends a snapshot to subscribers."""
|
|
7587
7785
|
|
|
7786
|
+
dbt_cloud_task: Optional[DbtCloudTask] = None
|
|
7787
|
+
"""Task type for dbt cloud"""
|
|
7788
|
+
|
|
7588
7789
|
dbt_task: Optional[DbtTask] = None
|
|
7589
7790
|
"""The task runs one or more dbt commands when the `dbt_task` field is present. The dbt task
|
|
7590
7791
|
requires both Databricks SQL and the ability to use a serverless or a pro SQL warehouse."""
|
|
@@ -7695,6 +7896,8 @@ class SubmitTask:
|
|
|
7695
7896
|
body["condition_task"] = self.condition_task.as_dict()
|
|
7696
7897
|
if self.dashboard_task:
|
|
7697
7898
|
body["dashboard_task"] = self.dashboard_task.as_dict()
|
|
7899
|
+
if self.dbt_cloud_task:
|
|
7900
|
+
body["dbt_cloud_task"] = self.dbt_cloud_task.as_dict()
|
|
7698
7901
|
if self.dbt_task:
|
|
7699
7902
|
body["dbt_task"] = self.dbt_task.as_dict()
|
|
7700
7903
|
if self.depends_on:
|
|
@@ -7756,6 +7959,8 @@ class SubmitTask:
|
|
|
7756
7959
|
body["condition_task"] = self.condition_task
|
|
7757
7960
|
if self.dashboard_task:
|
|
7758
7961
|
body["dashboard_task"] = self.dashboard_task
|
|
7962
|
+
if self.dbt_cloud_task:
|
|
7963
|
+
body["dbt_cloud_task"] = self.dbt_cloud_task
|
|
7759
7964
|
if self.dbt_task:
|
|
7760
7965
|
body["dbt_task"] = self.dbt_task
|
|
7761
7966
|
if self.depends_on:
|
|
@@ -7815,6 +8020,7 @@ class SubmitTask:
|
|
|
7815
8020
|
clean_rooms_notebook_task=_from_dict(d, "clean_rooms_notebook_task", CleanRoomsNotebookTask),
|
|
7816
8021
|
condition_task=_from_dict(d, "condition_task", ConditionTask),
|
|
7817
8022
|
dashboard_task=_from_dict(d, "dashboard_task", DashboardTask),
|
|
8023
|
+
dbt_cloud_task=_from_dict(d, "dbt_cloud_task", DbtCloudTask),
|
|
7818
8024
|
dbt_task=_from_dict(d, "dbt_task", DbtTask),
|
|
7819
8025
|
depends_on=_repeated_dict(d, "depends_on", TaskDependency),
|
|
7820
8026
|
description=d.get("description", None),
|
|
@@ -7995,6 +8201,9 @@ class Task:
|
|
|
7995
8201
|
dashboard_task: Optional[DashboardTask] = None
|
|
7996
8202
|
"""The task refreshes a dashboard and sends a snapshot to subscribers."""
|
|
7997
8203
|
|
|
8204
|
+
dbt_cloud_task: Optional[DbtCloudTask] = None
|
|
8205
|
+
"""Task type for dbt cloud"""
|
|
8206
|
+
|
|
7998
8207
|
dbt_task: Optional[DbtTask] = None
|
|
7999
8208
|
"""The task runs one or more dbt commands when the `dbt_task` field is present. The dbt task
|
|
8000
8209
|
requires both Databricks SQL and the ability to use a serverless or a pro SQL warehouse."""
|
|
@@ -8130,6 +8339,8 @@ class Task:
|
|
|
8130
8339
|
body["condition_task"] = self.condition_task.as_dict()
|
|
8131
8340
|
if self.dashboard_task:
|
|
8132
8341
|
body["dashboard_task"] = self.dashboard_task.as_dict()
|
|
8342
|
+
if self.dbt_cloud_task:
|
|
8343
|
+
body["dbt_cloud_task"] = self.dbt_cloud_task.as_dict()
|
|
8133
8344
|
if self.dbt_task:
|
|
8134
8345
|
body["dbt_task"] = self.dbt_task.as_dict()
|
|
8135
8346
|
if self.depends_on:
|
|
@@ -8201,6 +8412,8 @@ class Task:
|
|
|
8201
8412
|
body["condition_task"] = self.condition_task
|
|
8202
8413
|
if self.dashboard_task:
|
|
8203
8414
|
body["dashboard_task"] = self.dashboard_task
|
|
8415
|
+
if self.dbt_cloud_task:
|
|
8416
|
+
body["dbt_cloud_task"] = self.dbt_cloud_task
|
|
8204
8417
|
if self.dbt_task:
|
|
8205
8418
|
body["dbt_task"] = self.dbt_task
|
|
8206
8419
|
if self.depends_on:
|
|
@@ -8270,6 +8483,7 @@ class Task:
|
|
|
8270
8483
|
clean_rooms_notebook_task=_from_dict(d, "clean_rooms_notebook_task", CleanRoomsNotebookTask),
|
|
8271
8484
|
condition_task=_from_dict(d, "condition_task", ConditionTask),
|
|
8272
8485
|
dashboard_task=_from_dict(d, "dashboard_task", DashboardTask),
|
|
8486
|
+
dbt_cloud_task=_from_dict(d, "dbt_cloud_task", DbtCloudTask),
|
|
8273
8487
|
dbt_task=_from_dict(d, "dbt_task", DbtTask),
|
|
8274
8488
|
depends_on=_repeated_dict(d, "depends_on", TaskDependency),
|
|
8275
8489
|
description=d.get("description", None),
|
|
@@ -8715,6 +8929,30 @@ class TriggerSettings:
|
|
|
8715
8929
|
)
|
|
8716
8930
|
|
|
8717
8931
|
|
|
8932
|
+
@dataclass
|
|
8933
|
+
class TriggerStateProto:
|
|
8934
|
+
file_arrival: Optional[FileArrivalTriggerState] = None
|
|
8935
|
+
|
|
8936
|
+
def as_dict(self) -> dict:
|
|
8937
|
+
"""Serializes the TriggerStateProto into a dictionary suitable for use as a JSON request body."""
|
|
8938
|
+
body = {}
|
|
8939
|
+
if self.file_arrival:
|
|
8940
|
+
body["file_arrival"] = self.file_arrival.as_dict()
|
|
8941
|
+
return body
|
|
8942
|
+
|
|
8943
|
+
def as_shallow_dict(self) -> dict:
|
|
8944
|
+
"""Serializes the TriggerStateProto into a shallow dictionary of its immediate attributes."""
|
|
8945
|
+
body = {}
|
|
8946
|
+
if self.file_arrival:
|
|
8947
|
+
body["file_arrival"] = self.file_arrival
|
|
8948
|
+
return body
|
|
8949
|
+
|
|
8950
|
+
@classmethod
|
|
8951
|
+
def from_dict(cls, d: Dict[str, Any]) -> TriggerStateProto:
|
|
8952
|
+
"""Deserializes the TriggerStateProto from a dictionary."""
|
|
8953
|
+
return cls(file_arrival=_from_dict(d, "file_arrival", FileArrivalTriggerState))
|
|
8954
|
+
|
|
8955
|
+
|
|
8718
8956
|
class TriggerType(Enum):
|
|
8719
8957
|
"""The type of trigger that fired this run.
|
|
8720
8958
|
|