databricks-sdk 0.37.0__py3-none-any.whl → 0.39.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 +24 -2
- databricks/sdk/_base_client.py +61 -14
- databricks/sdk/config.py +10 -9
- databricks/sdk/credentials_provider.py +6 -5
- databricks/sdk/mixins/jobs.py +49 -0
- databricks/sdk/mixins/open_ai_client.py +2 -2
- databricks/sdk/service/apps.py +185 -4
- databricks/sdk/service/billing.py +248 -1
- databricks/sdk/service/catalog.py +1943 -46
- databricks/sdk/service/cleanrooms.py +1281 -0
- databricks/sdk/service/compute.py +1486 -8
- databricks/sdk/service/dashboards.py +336 -11
- databricks/sdk/service/files.py +162 -2
- databricks/sdk/service/iam.py +353 -2
- databricks/sdk/service/jobs.py +1281 -16
- databricks/sdk/service/marketplace.py +688 -0
- databricks/sdk/service/ml.py +1038 -2
- databricks/sdk/service/oauth2.py +176 -0
- databricks/sdk/service/pipelines.py +602 -15
- databricks/sdk/service/provisioning.py +402 -0
- databricks/sdk/service/serving.py +615 -0
- databricks/sdk/service/settings.py +1190 -3
- databricks/sdk/service/sharing.py +328 -2
- databricks/sdk/service/sql.py +1186 -2
- databricks/sdk/service/vectorsearch.py +290 -0
- databricks/sdk/service/workspace.py +453 -1
- databricks/sdk/version.py +1 -1
- {databricks_sdk-0.37.0.dist-info → databricks_sdk-0.39.0.dist-info}/METADATA +26 -26
- {databricks_sdk-0.37.0.dist-info → databricks_sdk-0.39.0.dist-info}/RECORD +33 -31
- {databricks_sdk-0.37.0.dist-info → databricks_sdk-0.39.0.dist-info}/WHEEL +1 -1
- {databricks_sdk-0.37.0.dist-info → databricks_sdk-0.39.0.dist-info}/LICENSE +0 -0
- {databricks_sdk-0.37.0.dist-info → databricks_sdk-0.39.0.dist-info}/NOTICE +0 -0
- {databricks_sdk-0.37.0.dist-info → databricks_sdk-0.39.0.dist-info}/top_level.txt +0 -0
|
@@ -28,6 +28,12 @@ class AccountsCreateMetastore:
|
|
|
28
28
|
if self.metastore_info: body['metastore_info'] = self.metastore_info.as_dict()
|
|
29
29
|
return body
|
|
30
30
|
|
|
31
|
+
def as_shallow_dict(self) -> dict:
|
|
32
|
+
"""Serializes the AccountsCreateMetastore into a shallow dictionary of its immediate attributes."""
|
|
33
|
+
body = {}
|
|
34
|
+
if self.metastore_info: body['metastore_info'] = self.metastore_info
|
|
35
|
+
return body
|
|
36
|
+
|
|
31
37
|
@classmethod
|
|
32
38
|
def from_dict(cls, d: Dict[str, any]) -> AccountsCreateMetastore:
|
|
33
39
|
"""Deserializes the AccountsCreateMetastore from a dictionary."""
|
|
@@ -52,6 +58,14 @@ class AccountsCreateMetastoreAssignment:
|
|
|
52
58
|
if self.workspace_id is not None: body['workspace_id'] = self.workspace_id
|
|
53
59
|
return body
|
|
54
60
|
|
|
61
|
+
def as_shallow_dict(self) -> dict:
|
|
62
|
+
"""Serializes the AccountsCreateMetastoreAssignment into a shallow dictionary of its immediate attributes."""
|
|
63
|
+
body = {}
|
|
64
|
+
if self.metastore_assignment: body['metastore_assignment'] = self.metastore_assignment
|
|
65
|
+
if self.metastore_id is not None: body['metastore_id'] = self.metastore_id
|
|
66
|
+
if self.workspace_id is not None: body['workspace_id'] = self.workspace_id
|
|
67
|
+
return body
|
|
68
|
+
|
|
55
69
|
@classmethod
|
|
56
70
|
def from_dict(cls, d: Dict[str, any]) -> AccountsCreateMetastoreAssignment:
|
|
57
71
|
"""Deserializes the AccountsCreateMetastoreAssignment from a dictionary."""
|
|
@@ -74,6 +88,13 @@ class AccountsCreateStorageCredential:
|
|
|
74
88
|
if self.metastore_id is not None: body['metastore_id'] = self.metastore_id
|
|
75
89
|
return body
|
|
76
90
|
|
|
91
|
+
def as_shallow_dict(self) -> dict:
|
|
92
|
+
"""Serializes the AccountsCreateStorageCredential into a shallow dictionary of its immediate attributes."""
|
|
93
|
+
body = {}
|
|
94
|
+
if self.credential_info: body['credential_info'] = self.credential_info
|
|
95
|
+
if self.metastore_id is not None: body['metastore_id'] = self.metastore_id
|
|
96
|
+
return body
|
|
97
|
+
|
|
77
98
|
@classmethod
|
|
78
99
|
def from_dict(cls, d: Dict[str, any]) -> AccountsCreateStorageCredential:
|
|
79
100
|
"""Deserializes the AccountsCreateStorageCredential from a dictionary."""
|
|
@@ -91,6 +112,12 @@ class AccountsMetastoreAssignment:
|
|
|
91
112
|
if self.metastore_assignment: body['metastore_assignment'] = self.metastore_assignment.as_dict()
|
|
92
113
|
return body
|
|
93
114
|
|
|
115
|
+
def as_shallow_dict(self) -> dict:
|
|
116
|
+
"""Serializes the AccountsMetastoreAssignment into a shallow dictionary of its immediate attributes."""
|
|
117
|
+
body = {}
|
|
118
|
+
if self.metastore_assignment: body['metastore_assignment'] = self.metastore_assignment
|
|
119
|
+
return body
|
|
120
|
+
|
|
94
121
|
@classmethod
|
|
95
122
|
def from_dict(cls, d: Dict[str, any]) -> AccountsMetastoreAssignment:
|
|
96
123
|
"""Deserializes the AccountsMetastoreAssignment from a dictionary."""
|
|
@@ -107,6 +134,12 @@ class AccountsMetastoreInfo:
|
|
|
107
134
|
if self.metastore_info: body['metastore_info'] = self.metastore_info.as_dict()
|
|
108
135
|
return body
|
|
109
136
|
|
|
137
|
+
def as_shallow_dict(self) -> dict:
|
|
138
|
+
"""Serializes the AccountsMetastoreInfo into a shallow dictionary of its immediate attributes."""
|
|
139
|
+
body = {}
|
|
140
|
+
if self.metastore_info: body['metastore_info'] = self.metastore_info
|
|
141
|
+
return body
|
|
142
|
+
|
|
110
143
|
@classmethod
|
|
111
144
|
def from_dict(cls, d: Dict[str, any]) -> AccountsMetastoreInfo:
|
|
112
145
|
"""Deserializes the AccountsMetastoreInfo from a dictionary."""
|
|
@@ -123,6 +156,12 @@ class AccountsStorageCredentialInfo:
|
|
|
123
156
|
if self.credential_info: body['credential_info'] = self.credential_info.as_dict()
|
|
124
157
|
return body
|
|
125
158
|
|
|
159
|
+
def as_shallow_dict(self) -> dict:
|
|
160
|
+
"""Serializes the AccountsStorageCredentialInfo into a shallow dictionary of its immediate attributes."""
|
|
161
|
+
body = {}
|
|
162
|
+
if self.credential_info: body['credential_info'] = self.credential_info
|
|
163
|
+
return body
|
|
164
|
+
|
|
126
165
|
@classmethod
|
|
127
166
|
def from_dict(cls, d: Dict[str, any]) -> AccountsStorageCredentialInfo:
|
|
128
167
|
"""Deserializes the AccountsStorageCredentialInfo from a dictionary."""
|
|
@@ -143,6 +182,13 @@ class AccountsUpdateMetastore:
|
|
|
143
182
|
if self.metastore_info: body['metastore_info'] = self.metastore_info.as_dict()
|
|
144
183
|
return body
|
|
145
184
|
|
|
185
|
+
def as_shallow_dict(self) -> dict:
|
|
186
|
+
"""Serializes the AccountsUpdateMetastore into a shallow dictionary of its immediate attributes."""
|
|
187
|
+
body = {}
|
|
188
|
+
if self.metastore_id is not None: body['metastore_id'] = self.metastore_id
|
|
189
|
+
if self.metastore_info: body['metastore_info'] = self.metastore_info
|
|
190
|
+
return body
|
|
191
|
+
|
|
146
192
|
@classmethod
|
|
147
193
|
def from_dict(cls, d: Dict[str, any]) -> AccountsUpdateMetastore:
|
|
148
194
|
"""Deserializes the AccountsUpdateMetastore from a dictionary."""
|
|
@@ -168,6 +214,14 @@ class AccountsUpdateMetastoreAssignment:
|
|
|
168
214
|
if self.workspace_id is not None: body['workspace_id'] = self.workspace_id
|
|
169
215
|
return body
|
|
170
216
|
|
|
217
|
+
def as_shallow_dict(self) -> dict:
|
|
218
|
+
"""Serializes the AccountsUpdateMetastoreAssignment into a shallow dictionary of its immediate attributes."""
|
|
219
|
+
body = {}
|
|
220
|
+
if self.metastore_assignment: body['metastore_assignment'] = self.metastore_assignment
|
|
221
|
+
if self.metastore_id is not None: body['metastore_id'] = self.metastore_id
|
|
222
|
+
if self.workspace_id is not None: body['workspace_id'] = self.workspace_id
|
|
223
|
+
return body
|
|
224
|
+
|
|
171
225
|
@classmethod
|
|
172
226
|
def from_dict(cls, d: Dict[str, any]) -> AccountsUpdateMetastoreAssignment:
|
|
173
227
|
"""Deserializes the AccountsUpdateMetastoreAssignment from a dictionary."""
|
|
@@ -195,6 +249,15 @@ class AccountsUpdateStorageCredential:
|
|
|
195
249
|
body['storage_credential_name'] = self.storage_credential_name
|
|
196
250
|
return body
|
|
197
251
|
|
|
252
|
+
def as_shallow_dict(self) -> dict:
|
|
253
|
+
"""Serializes the AccountsUpdateStorageCredential into a shallow dictionary of its immediate attributes."""
|
|
254
|
+
body = {}
|
|
255
|
+
if self.credential_info: body['credential_info'] = self.credential_info
|
|
256
|
+
if self.metastore_id is not None: body['metastore_id'] = self.metastore_id
|
|
257
|
+
if self.storage_credential_name is not None:
|
|
258
|
+
body['storage_credential_name'] = self.storage_credential_name
|
|
259
|
+
return body
|
|
260
|
+
|
|
198
261
|
@classmethod
|
|
199
262
|
def from_dict(cls, d: Dict[str, any]) -> AccountsUpdateStorageCredential:
|
|
200
263
|
"""Deserializes the AccountsUpdateStorageCredential from a dictionary."""
|
|
@@ -226,6 +289,15 @@ class ArtifactAllowlistInfo:
|
|
|
226
289
|
if self.metastore_id is not None: body['metastore_id'] = self.metastore_id
|
|
227
290
|
return body
|
|
228
291
|
|
|
292
|
+
def as_shallow_dict(self) -> dict:
|
|
293
|
+
"""Serializes the ArtifactAllowlistInfo into a shallow dictionary of its immediate attributes."""
|
|
294
|
+
body = {}
|
|
295
|
+
if self.artifact_matchers: body['artifact_matchers'] = self.artifact_matchers
|
|
296
|
+
if self.created_at is not None: body['created_at'] = self.created_at
|
|
297
|
+
if self.created_by is not None: body['created_by'] = self.created_by
|
|
298
|
+
if self.metastore_id is not None: body['metastore_id'] = self.metastore_id
|
|
299
|
+
return body
|
|
300
|
+
|
|
229
301
|
@classmethod
|
|
230
302
|
def from_dict(cls, d: Dict[str, any]) -> ArtifactAllowlistInfo:
|
|
231
303
|
"""Deserializes the ArtifactAllowlistInfo from a dictionary."""
|
|
@@ -250,6 +322,13 @@ class ArtifactMatcher:
|
|
|
250
322
|
if self.match_type is not None: body['match_type'] = self.match_type.value
|
|
251
323
|
return body
|
|
252
324
|
|
|
325
|
+
def as_shallow_dict(self) -> dict:
|
|
326
|
+
"""Serializes the ArtifactMatcher into a shallow dictionary of its immediate attributes."""
|
|
327
|
+
body = {}
|
|
328
|
+
if self.artifact is not None: body['artifact'] = self.artifact
|
|
329
|
+
if self.match_type is not None: body['match_type'] = self.match_type
|
|
330
|
+
return body
|
|
331
|
+
|
|
253
332
|
@classmethod
|
|
254
333
|
def from_dict(cls, d: Dict[str, any]) -> ArtifactMatcher:
|
|
255
334
|
"""Deserializes the ArtifactMatcher from a dictionary."""
|
|
@@ -272,6 +351,11 @@ class AssignResponse:
|
|
|
272
351
|
body = {}
|
|
273
352
|
return body
|
|
274
353
|
|
|
354
|
+
def as_shallow_dict(self) -> dict:
|
|
355
|
+
"""Serializes the AssignResponse into a shallow dictionary of its immediate attributes."""
|
|
356
|
+
body = {}
|
|
357
|
+
return body
|
|
358
|
+
|
|
275
359
|
@classmethod
|
|
276
360
|
def from_dict(cls, d: Dict[str, any]) -> AssignResponse:
|
|
277
361
|
"""Deserializes the AssignResponse from a dictionary."""
|
|
@@ -305,6 +389,15 @@ class AwsCredentials:
|
|
|
305
389
|
if self.session_token is not None: body['session_token'] = self.session_token
|
|
306
390
|
return body
|
|
307
391
|
|
|
392
|
+
def as_shallow_dict(self) -> dict:
|
|
393
|
+
"""Serializes the AwsCredentials into a shallow dictionary of its immediate attributes."""
|
|
394
|
+
body = {}
|
|
395
|
+
if self.access_key_id is not None: body['access_key_id'] = self.access_key_id
|
|
396
|
+
if self.access_point is not None: body['access_point'] = self.access_point
|
|
397
|
+
if self.secret_access_key is not None: body['secret_access_key'] = self.secret_access_key
|
|
398
|
+
if self.session_token is not None: body['session_token'] = self.session_token
|
|
399
|
+
return body
|
|
400
|
+
|
|
308
401
|
@classmethod
|
|
309
402
|
def from_dict(cls, d: Dict[str, any]) -> AwsCredentials:
|
|
310
403
|
"""Deserializes the AwsCredentials from a dictionary."""
|
|
@@ -336,6 +429,14 @@ class AwsIamRole:
|
|
|
336
429
|
if self.unity_catalog_iam_arn is not None: body['unity_catalog_iam_arn'] = self.unity_catalog_iam_arn
|
|
337
430
|
return body
|
|
338
431
|
|
|
432
|
+
def as_shallow_dict(self) -> dict:
|
|
433
|
+
"""Serializes the AwsIamRole into a shallow dictionary of its immediate attributes."""
|
|
434
|
+
body = {}
|
|
435
|
+
if self.external_id is not None: body['external_id'] = self.external_id
|
|
436
|
+
if self.role_arn is not None: body['role_arn'] = self.role_arn
|
|
437
|
+
if self.unity_catalog_iam_arn is not None: body['unity_catalog_iam_arn'] = self.unity_catalog_iam_arn
|
|
438
|
+
return body
|
|
439
|
+
|
|
339
440
|
@classmethod
|
|
340
441
|
def from_dict(cls, d: Dict[str, any]) -> AwsIamRole:
|
|
341
442
|
"""Deserializes the AwsIamRole from a dictionary."""
|
|
@@ -355,6 +456,12 @@ class AwsIamRoleRequest:
|
|
|
355
456
|
if self.role_arn is not None: body['role_arn'] = self.role_arn
|
|
356
457
|
return body
|
|
357
458
|
|
|
459
|
+
def as_shallow_dict(self) -> dict:
|
|
460
|
+
"""Serializes the AwsIamRoleRequest into a shallow dictionary of its immediate attributes."""
|
|
461
|
+
body = {}
|
|
462
|
+
if self.role_arn is not None: body['role_arn'] = self.role_arn
|
|
463
|
+
return body
|
|
464
|
+
|
|
358
465
|
@classmethod
|
|
359
466
|
def from_dict(cls, d: Dict[str, any]) -> AwsIamRoleRequest:
|
|
360
467
|
"""Deserializes the AwsIamRoleRequest from a dictionary."""
|
|
@@ -381,6 +488,14 @@ class AwsIamRoleResponse:
|
|
|
381
488
|
if self.unity_catalog_iam_arn is not None: body['unity_catalog_iam_arn'] = self.unity_catalog_iam_arn
|
|
382
489
|
return body
|
|
383
490
|
|
|
491
|
+
def as_shallow_dict(self) -> dict:
|
|
492
|
+
"""Serializes the AwsIamRoleResponse into a shallow dictionary of its immediate attributes."""
|
|
493
|
+
body = {}
|
|
494
|
+
if self.external_id is not None: body['external_id'] = self.external_id
|
|
495
|
+
if self.role_arn is not None: body['role_arn'] = self.role_arn
|
|
496
|
+
if self.unity_catalog_iam_arn is not None: body['unity_catalog_iam_arn'] = self.unity_catalog_iam_arn
|
|
497
|
+
return body
|
|
498
|
+
|
|
384
499
|
@classmethod
|
|
385
500
|
def from_dict(cls, d: Dict[str, any]) -> AwsIamRoleResponse:
|
|
386
501
|
"""Deserializes the AwsIamRoleResponse from a dictionary."""
|
|
@@ -405,6 +520,12 @@ class AzureActiveDirectoryToken:
|
|
|
405
520
|
if self.aad_token is not None: body['aad_token'] = self.aad_token
|
|
406
521
|
return body
|
|
407
522
|
|
|
523
|
+
def as_shallow_dict(self) -> dict:
|
|
524
|
+
"""Serializes the AzureActiveDirectoryToken into a shallow dictionary of its immediate attributes."""
|
|
525
|
+
body = {}
|
|
526
|
+
if self.aad_token is not None: body['aad_token'] = self.aad_token
|
|
527
|
+
return body
|
|
528
|
+
|
|
408
529
|
@classmethod
|
|
409
530
|
def from_dict(cls, d: Dict[str, any]) -> AzureActiveDirectoryToken:
|
|
410
531
|
"""Deserializes the AzureActiveDirectoryToken from a dictionary."""
|
|
@@ -415,7 +536,7 @@ class AzureActiveDirectoryToken:
|
|
|
415
536
|
class AzureManagedIdentity:
|
|
416
537
|
"""The Azure managed identity configuration."""
|
|
417
538
|
|
|
418
|
-
access_connector_id:
|
|
539
|
+
access_connector_id: str
|
|
419
540
|
"""The Azure resource ID of the Azure Databricks Access Connector. Use the format
|
|
420
541
|
`/subscriptions/{guid}/resourceGroups/{rg-name}/providers/Microsoft.Databricks/accessConnectors/{connector-name}`."""
|
|
421
542
|
|
|
@@ -439,6 +560,14 @@ class AzureManagedIdentity:
|
|
|
439
560
|
if self.managed_identity_id is not None: body['managed_identity_id'] = self.managed_identity_id
|
|
440
561
|
return body
|
|
441
562
|
|
|
563
|
+
def as_shallow_dict(self) -> dict:
|
|
564
|
+
"""Serializes the AzureManagedIdentity into a shallow dictionary of its immediate attributes."""
|
|
565
|
+
body = {}
|
|
566
|
+
if self.access_connector_id is not None: body['access_connector_id'] = self.access_connector_id
|
|
567
|
+
if self.credential_id is not None: body['credential_id'] = self.credential_id
|
|
568
|
+
if self.managed_identity_id is not None: body['managed_identity_id'] = self.managed_identity_id
|
|
569
|
+
return body
|
|
570
|
+
|
|
442
571
|
@classmethod
|
|
443
572
|
def from_dict(cls, d: Dict[str, any]) -> AzureManagedIdentity:
|
|
444
573
|
"""Deserializes the AzureManagedIdentity from a dictionary."""
|
|
@@ -467,6 +596,13 @@ class AzureManagedIdentityRequest:
|
|
|
467
596
|
if self.managed_identity_id is not None: body['managed_identity_id'] = self.managed_identity_id
|
|
468
597
|
return body
|
|
469
598
|
|
|
599
|
+
def as_shallow_dict(self) -> dict:
|
|
600
|
+
"""Serializes the AzureManagedIdentityRequest into a shallow dictionary of its immediate attributes."""
|
|
601
|
+
body = {}
|
|
602
|
+
if self.access_connector_id is not None: body['access_connector_id'] = self.access_connector_id
|
|
603
|
+
if self.managed_identity_id is not None: body['managed_identity_id'] = self.managed_identity_id
|
|
604
|
+
return body
|
|
605
|
+
|
|
470
606
|
@classmethod
|
|
471
607
|
def from_dict(cls, d: Dict[str, any]) -> AzureManagedIdentityRequest:
|
|
472
608
|
"""Deserializes the AzureManagedIdentityRequest from a dictionary."""
|
|
@@ -498,6 +634,14 @@ class AzureManagedIdentityResponse:
|
|
|
498
634
|
if self.managed_identity_id is not None: body['managed_identity_id'] = self.managed_identity_id
|
|
499
635
|
return body
|
|
500
636
|
|
|
637
|
+
def as_shallow_dict(self) -> dict:
|
|
638
|
+
"""Serializes the AzureManagedIdentityResponse into a shallow dictionary of its immediate attributes."""
|
|
639
|
+
body = {}
|
|
640
|
+
if self.access_connector_id is not None: body['access_connector_id'] = self.access_connector_id
|
|
641
|
+
if self.credential_id is not None: body['credential_id'] = self.credential_id
|
|
642
|
+
if self.managed_identity_id is not None: body['managed_identity_id'] = self.managed_identity_id
|
|
643
|
+
return body
|
|
644
|
+
|
|
501
645
|
@classmethod
|
|
502
646
|
def from_dict(cls, d: Dict[str, any]) -> AzureManagedIdentityResponse:
|
|
503
647
|
"""Deserializes the AzureManagedIdentityResponse from a dictionary."""
|
|
@@ -508,6 +652,8 @@ class AzureManagedIdentityResponse:
|
|
|
508
652
|
|
|
509
653
|
@dataclass
|
|
510
654
|
class AzureServicePrincipal:
|
|
655
|
+
"""The Azure service principal configuration. Only applicable when purpose is **STORAGE**."""
|
|
656
|
+
|
|
511
657
|
directory_id: str
|
|
512
658
|
"""The directory ID corresponding to the Azure Active Directory (AAD) tenant of the application."""
|
|
513
659
|
|
|
@@ -525,6 +671,14 @@ class AzureServicePrincipal:
|
|
|
525
671
|
if self.directory_id is not None: body['directory_id'] = self.directory_id
|
|
526
672
|
return body
|
|
527
673
|
|
|
674
|
+
def as_shallow_dict(self) -> dict:
|
|
675
|
+
"""Serializes the AzureServicePrincipal into a shallow dictionary of its immediate attributes."""
|
|
676
|
+
body = {}
|
|
677
|
+
if self.application_id is not None: body['application_id'] = self.application_id
|
|
678
|
+
if self.client_secret is not None: body['client_secret'] = self.client_secret
|
|
679
|
+
if self.directory_id is not None: body['directory_id'] = self.directory_id
|
|
680
|
+
return body
|
|
681
|
+
|
|
528
682
|
@classmethod
|
|
529
683
|
def from_dict(cls, d: Dict[str, any]) -> AzureServicePrincipal:
|
|
530
684
|
"""Deserializes the AzureServicePrincipal from a dictionary."""
|
|
@@ -547,6 +701,12 @@ class AzureUserDelegationSas:
|
|
|
547
701
|
if self.sas_token is not None: body['sas_token'] = self.sas_token
|
|
548
702
|
return body
|
|
549
703
|
|
|
704
|
+
def as_shallow_dict(self) -> dict:
|
|
705
|
+
"""Serializes the AzureUserDelegationSas into a shallow dictionary of its immediate attributes."""
|
|
706
|
+
body = {}
|
|
707
|
+
if self.sas_token is not None: body['sas_token'] = self.sas_token
|
|
708
|
+
return body
|
|
709
|
+
|
|
550
710
|
@classmethod
|
|
551
711
|
def from_dict(cls, d: Dict[str, any]) -> AzureUserDelegationSas:
|
|
552
712
|
"""Deserializes the AzureUserDelegationSas from a dictionary."""
|
|
@@ -561,6 +721,11 @@ class CancelRefreshResponse:
|
|
|
561
721
|
body = {}
|
|
562
722
|
return body
|
|
563
723
|
|
|
724
|
+
def as_shallow_dict(self) -> dict:
|
|
725
|
+
"""Serializes the CancelRefreshResponse into a shallow dictionary of its immediate attributes."""
|
|
726
|
+
body = {}
|
|
727
|
+
return body
|
|
728
|
+
|
|
564
729
|
@classmethod
|
|
565
730
|
def from_dict(cls, d: Dict[str, any]) -> CancelRefreshResponse:
|
|
566
731
|
"""Deserializes the CancelRefreshResponse from a dictionary."""
|
|
@@ -675,6 +840,37 @@ class CatalogInfo:
|
|
|
675
840
|
if self.updated_by is not None: body['updated_by'] = self.updated_by
|
|
676
841
|
return body
|
|
677
842
|
|
|
843
|
+
def as_shallow_dict(self) -> dict:
|
|
844
|
+
"""Serializes the CatalogInfo into a shallow dictionary of its immediate attributes."""
|
|
845
|
+
body = {}
|
|
846
|
+
if self.browse_only is not None: body['browse_only'] = self.browse_only
|
|
847
|
+
if self.catalog_type is not None: body['catalog_type'] = self.catalog_type
|
|
848
|
+
if self.comment is not None: body['comment'] = self.comment
|
|
849
|
+
if self.connection_name is not None: body['connection_name'] = self.connection_name
|
|
850
|
+
if self.created_at is not None: body['created_at'] = self.created_at
|
|
851
|
+
if self.created_by is not None: body['created_by'] = self.created_by
|
|
852
|
+
if self.effective_predictive_optimization_flag:
|
|
853
|
+
body['effective_predictive_optimization_flag'] = self.effective_predictive_optimization_flag
|
|
854
|
+
if self.enable_predictive_optimization is not None:
|
|
855
|
+
body['enable_predictive_optimization'] = self.enable_predictive_optimization
|
|
856
|
+
if self.full_name is not None: body['full_name'] = self.full_name
|
|
857
|
+
if self.isolation_mode is not None: body['isolation_mode'] = self.isolation_mode
|
|
858
|
+
if self.metastore_id is not None: body['metastore_id'] = self.metastore_id
|
|
859
|
+
if self.name is not None: body['name'] = self.name
|
|
860
|
+
if self.options: body['options'] = self.options
|
|
861
|
+
if self.owner is not None: body['owner'] = self.owner
|
|
862
|
+
if self.properties: body['properties'] = self.properties
|
|
863
|
+
if self.provider_name is not None: body['provider_name'] = self.provider_name
|
|
864
|
+
if self.provisioning_info: body['provisioning_info'] = self.provisioning_info
|
|
865
|
+
if self.securable_kind is not None: body['securable_kind'] = self.securable_kind
|
|
866
|
+
if self.securable_type is not None: body['securable_type'] = self.securable_type
|
|
867
|
+
if self.share_name is not None: body['share_name'] = self.share_name
|
|
868
|
+
if self.storage_location is not None: body['storage_location'] = self.storage_location
|
|
869
|
+
if self.storage_root is not None: body['storage_root'] = self.storage_root
|
|
870
|
+
if self.updated_at is not None: body['updated_at'] = self.updated_at
|
|
871
|
+
if self.updated_by is not None: body['updated_by'] = self.updated_by
|
|
872
|
+
return body
|
|
873
|
+
|
|
678
874
|
@classmethod
|
|
679
875
|
def from_dict(cls, d: Dict[str, any]) -> CatalogInfo:
|
|
680
876
|
"""Deserializes the CatalogInfo from a dictionary."""
|
|
@@ -758,6 +954,14 @@ class CloudflareApiToken:
|
|
|
758
954
|
if self.secret_access_key is not None: body['secret_access_key'] = self.secret_access_key
|
|
759
955
|
return body
|
|
760
956
|
|
|
957
|
+
def as_shallow_dict(self) -> dict:
|
|
958
|
+
"""Serializes the CloudflareApiToken into a shallow dictionary of its immediate attributes."""
|
|
959
|
+
body = {}
|
|
960
|
+
if self.access_key_id is not None: body['access_key_id'] = self.access_key_id
|
|
961
|
+
if self.account_id is not None: body['account_id'] = self.account_id
|
|
962
|
+
if self.secret_access_key is not None: body['secret_access_key'] = self.secret_access_key
|
|
963
|
+
return body
|
|
964
|
+
|
|
761
965
|
@classmethod
|
|
762
966
|
def from_dict(cls, d: Dict[str, any]) -> CloudflareApiToken:
|
|
763
967
|
"""Deserializes the CloudflareApiToken from a dictionary."""
|
|
@@ -792,7 +996,6 @@ class ColumnInfo:
|
|
|
792
996
|
"""Full data type specification, JSON-serialized."""
|
|
793
997
|
|
|
794
998
|
type_name: Optional[ColumnTypeName] = None
|
|
795
|
-
"""Name of type (INT, STRUCT, MAP, etc.)."""
|
|
796
999
|
|
|
797
1000
|
type_precision: Optional[int] = None
|
|
798
1001
|
"""Digits of precision; required for DecimalTypes."""
|
|
@@ -820,6 +1023,23 @@ class ColumnInfo:
|
|
|
820
1023
|
if self.type_text is not None: body['type_text'] = self.type_text
|
|
821
1024
|
return body
|
|
822
1025
|
|
|
1026
|
+
def as_shallow_dict(self) -> dict:
|
|
1027
|
+
"""Serializes the ColumnInfo into a shallow dictionary of its immediate attributes."""
|
|
1028
|
+
body = {}
|
|
1029
|
+
if self.comment is not None: body['comment'] = self.comment
|
|
1030
|
+
if self.mask: body['mask'] = self.mask
|
|
1031
|
+
if self.name is not None: body['name'] = self.name
|
|
1032
|
+
if self.nullable is not None: body['nullable'] = self.nullable
|
|
1033
|
+
if self.partition_index is not None: body['partition_index'] = self.partition_index
|
|
1034
|
+
if self.position is not None: body['position'] = self.position
|
|
1035
|
+
if self.type_interval_type is not None: body['type_interval_type'] = self.type_interval_type
|
|
1036
|
+
if self.type_json is not None: body['type_json'] = self.type_json
|
|
1037
|
+
if self.type_name is not None: body['type_name'] = self.type_name
|
|
1038
|
+
if self.type_precision is not None: body['type_precision'] = self.type_precision
|
|
1039
|
+
if self.type_scale is not None: body['type_scale'] = self.type_scale
|
|
1040
|
+
if self.type_text is not None: body['type_text'] = self.type_text
|
|
1041
|
+
return body
|
|
1042
|
+
|
|
823
1043
|
@classmethod
|
|
824
1044
|
def from_dict(cls, d: Dict[str, any]) -> ColumnInfo:
|
|
825
1045
|
"""Deserializes the ColumnInfo from a dictionary."""
|
|
@@ -854,6 +1074,13 @@ class ColumnMask:
|
|
|
854
1074
|
if self.using_column_names: body['using_column_names'] = [v for v in self.using_column_names]
|
|
855
1075
|
return body
|
|
856
1076
|
|
|
1077
|
+
def as_shallow_dict(self) -> dict:
|
|
1078
|
+
"""Serializes the ColumnMask into a shallow dictionary of its immediate attributes."""
|
|
1079
|
+
body = {}
|
|
1080
|
+
if self.function_name is not None: body['function_name'] = self.function_name
|
|
1081
|
+
if self.using_column_names: body['using_column_names'] = self.using_column_names
|
|
1082
|
+
return body
|
|
1083
|
+
|
|
857
1084
|
@classmethod
|
|
858
1085
|
def from_dict(cls, d: Dict[str, any]) -> ColumnMask:
|
|
859
1086
|
"""Deserializes the ColumnMask from a dictionary."""
|
|
@@ -862,7 +1089,6 @@ class ColumnMask:
|
|
|
862
1089
|
|
|
863
1090
|
|
|
864
1091
|
class ColumnTypeName(Enum):
|
|
865
|
-
"""Name of type (INT, STRUCT, MAP, etc.)."""
|
|
866
1092
|
|
|
867
1093
|
ARRAY = 'ARRAY'
|
|
868
1094
|
BINARY = 'BINARY'
|
|
@@ -970,6 +1196,30 @@ class ConnectionInfo:
|
|
|
970
1196
|
if self.url is not None: body['url'] = self.url
|
|
971
1197
|
return body
|
|
972
1198
|
|
|
1199
|
+
def as_shallow_dict(self) -> dict:
|
|
1200
|
+
"""Serializes the ConnectionInfo into a shallow dictionary of its immediate attributes."""
|
|
1201
|
+
body = {}
|
|
1202
|
+
if self.comment is not None: body['comment'] = self.comment
|
|
1203
|
+
if self.connection_id is not None: body['connection_id'] = self.connection_id
|
|
1204
|
+
if self.connection_type is not None: body['connection_type'] = self.connection_type
|
|
1205
|
+
if self.created_at is not None: body['created_at'] = self.created_at
|
|
1206
|
+
if self.created_by is not None: body['created_by'] = self.created_by
|
|
1207
|
+
if self.credential_type is not None: body['credential_type'] = self.credential_type
|
|
1208
|
+
if self.full_name is not None: body['full_name'] = self.full_name
|
|
1209
|
+
if self.metastore_id is not None: body['metastore_id'] = self.metastore_id
|
|
1210
|
+
if self.name is not None: body['name'] = self.name
|
|
1211
|
+
if self.options: body['options'] = self.options
|
|
1212
|
+
if self.owner is not None: body['owner'] = self.owner
|
|
1213
|
+
if self.properties: body['properties'] = self.properties
|
|
1214
|
+
if self.provisioning_info: body['provisioning_info'] = self.provisioning_info
|
|
1215
|
+
if self.read_only is not None: body['read_only'] = self.read_only
|
|
1216
|
+
if self.securable_kind is not None: body['securable_kind'] = self.securable_kind
|
|
1217
|
+
if self.securable_type is not None: body['securable_type'] = self.securable_type
|
|
1218
|
+
if self.updated_at is not None: body['updated_at'] = self.updated_at
|
|
1219
|
+
if self.updated_by is not None: body['updated_by'] = self.updated_by
|
|
1220
|
+
if self.url is not None: body['url'] = self.url
|
|
1221
|
+
return body
|
|
1222
|
+
|
|
973
1223
|
@classmethod
|
|
974
1224
|
def from_dict(cls, d: Dict[str, any]) -> ConnectionInfo:
|
|
975
1225
|
"""Deserializes the ConnectionInfo from a dictionary."""
|
|
@@ -1054,6 +1304,16 @@ class ContinuousUpdateStatus:
|
|
|
1054
1304
|
if self.timestamp is not None: body['timestamp'] = self.timestamp
|
|
1055
1305
|
return body
|
|
1056
1306
|
|
|
1307
|
+
def as_shallow_dict(self) -> dict:
|
|
1308
|
+
"""Serializes the ContinuousUpdateStatus into a shallow dictionary of its immediate attributes."""
|
|
1309
|
+
body = {}
|
|
1310
|
+
if self.initial_pipeline_sync_progress:
|
|
1311
|
+
body['initial_pipeline_sync_progress'] = self.initial_pipeline_sync_progress
|
|
1312
|
+
if self.last_processed_commit_version is not None:
|
|
1313
|
+
body['last_processed_commit_version'] = self.last_processed_commit_version
|
|
1314
|
+
if self.timestamp is not None: body['timestamp'] = self.timestamp
|
|
1315
|
+
return body
|
|
1316
|
+
|
|
1057
1317
|
@classmethod
|
|
1058
1318
|
def from_dict(cls, d: Dict[str, any]) -> ContinuousUpdateStatus:
|
|
1059
1319
|
"""Deserializes the ContinuousUpdateStatus from a dictionary."""
|
|
@@ -1104,6 +1364,19 @@ class CreateCatalog:
|
|
|
1104
1364
|
if self.storage_root is not None: body['storage_root'] = self.storage_root
|
|
1105
1365
|
return body
|
|
1106
1366
|
|
|
1367
|
+
def as_shallow_dict(self) -> dict:
|
|
1368
|
+
"""Serializes the CreateCatalog into a shallow dictionary of its immediate attributes."""
|
|
1369
|
+
body = {}
|
|
1370
|
+
if self.comment is not None: body['comment'] = self.comment
|
|
1371
|
+
if self.connection_name is not None: body['connection_name'] = self.connection_name
|
|
1372
|
+
if self.name is not None: body['name'] = self.name
|
|
1373
|
+
if self.options: body['options'] = self.options
|
|
1374
|
+
if self.properties: body['properties'] = self.properties
|
|
1375
|
+
if self.provider_name is not None: body['provider_name'] = self.provider_name
|
|
1376
|
+
if self.share_name is not None: body['share_name'] = self.share_name
|
|
1377
|
+
if self.storage_root is not None: body['storage_root'] = self.storage_root
|
|
1378
|
+
return body
|
|
1379
|
+
|
|
1107
1380
|
@classmethod
|
|
1108
1381
|
def from_dict(cls, d: Dict[str, any]) -> CreateCatalog:
|
|
1109
1382
|
"""Deserializes the CreateCatalog from a dictionary."""
|
|
@@ -1148,6 +1421,17 @@ class CreateConnection:
|
|
|
1148
1421
|
if self.read_only is not None: body['read_only'] = self.read_only
|
|
1149
1422
|
return body
|
|
1150
1423
|
|
|
1424
|
+
def as_shallow_dict(self) -> dict:
|
|
1425
|
+
"""Serializes the CreateConnection into a shallow dictionary of its immediate attributes."""
|
|
1426
|
+
body = {}
|
|
1427
|
+
if self.comment is not None: body['comment'] = self.comment
|
|
1428
|
+
if self.connection_type is not None: body['connection_type'] = self.connection_type
|
|
1429
|
+
if self.name is not None: body['name'] = self.name
|
|
1430
|
+
if self.options: body['options'] = self.options
|
|
1431
|
+
if self.properties: body['properties'] = self.properties
|
|
1432
|
+
if self.read_only is not None: body['read_only'] = self.read_only
|
|
1433
|
+
return body
|
|
1434
|
+
|
|
1151
1435
|
@classmethod
|
|
1152
1436
|
def from_dict(cls, d: Dict[str, any]) -> CreateConnection:
|
|
1153
1437
|
"""Deserializes the CreateConnection from a dictionary."""
|
|
@@ -1161,22 +1445,32 @@ class CreateConnection:
|
|
|
1161
1445
|
|
|
1162
1446
|
@dataclass
|
|
1163
1447
|
class CreateCredentialRequest:
|
|
1448
|
+
name: str
|
|
1449
|
+
"""The credential name. The name must be unique among storage and service credentials within the
|
|
1450
|
+
metastore."""
|
|
1451
|
+
|
|
1164
1452
|
aws_iam_role: Optional[AwsIamRole] = None
|
|
1165
1453
|
"""The AWS IAM role configuration"""
|
|
1166
1454
|
|
|
1167
1455
|
azure_managed_identity: Optional[AzureManagedIdentity] = None
|
|
1168
1456
|
"""The Azure managed identity configuration."""
|
|
1169
1457
|
|
|
1458
|
+
azure_service_principal: Optional[AzureServicePrincipal] = None
|
|
1459
|
+
"""The Azure service principal configuration. Only applicable when purpose is **STORAGE**."""
|
|
1460
|
+
|
|
1170
1461
|
comment: Optional[str] = None
|
|
1171
1462
|
"""Comment associated with the credential."""
|
|
1172
1463
|
|
|
1173
|
-
|
|
1174
|
-
"""
|
|
1175
|
-
metastore."""
|
|
1464
|
+
databricks_gcp_service_account: Optional[DatabricksGcpServiceAccount] = None
|
|
1465
|
+
"""GCP long-lived credential. Databricks-created Google Cloud Storage service account."""
|
|
1176
1466
|
|
|
1177
1467
|
purpose: Optional[CredentialPurpose] = None
|
|
1178
1468
|
"""Indicates the purpose of the credential."""
|
|
1179
1469
|
|
|
1470
|
+
read_only: Optional[bool] = None
|
|
1471
|
+
"""Whether the credential is usable only for read operations. Only applicable when purpose is
|
|
1472
|
+
**STORAGE**."""
|
|
1473
|
+
|
|
1180
1474
|
skip_validation: Optional[bool] = None
|
|
1181
1475
|
"""Optional. Supplying true to this argument skips validation of the created set of credentials."""
|
|
1182
1476
|
|
|
@@ -1185,9 +1479,29 @@ class CreateCredentialRequest:
|
|
|
1185
1479
|
body = {}
|
|
1186
1480
|
if self.aws_iam_role: body['aws_iam_role'] = self.aws_iam_role.as_dict()
|
|
1187
1481
|
if self.azure_managed_identity: body['azure_managed_identity'] = self.azure_managed_identity.as_dict()
|
|
1482
|
+
if self.azure_service_principal:
|
|
1483
|
+
body['azure_service_principal'] = self.azure_service_principal.as_dict()
|
|
1188
1484
|
if self.comment is not None: body['comment'] = self.comment
|
|
1485
|
+
if self.databricks_gcp_service_account:
|
|
1486
|
+
body['databricks_gcp_service_account'] = self.databricks_gcp_service_account.as_dict()
|
|
1189
1487
|
if self.name is not None: body['name'] = self.name
|
|
1190
1488
|
if self.purpose is not None: body['purpose'] = self.purpose.value
|
|
1489
|
+
if self.read_only is not None: body['read_only'] = self.read_only
|
|
1490
|
+
if self.skip_validation is not None: body['skip_validation'] = self.skip_validation
|
|
1491
|
+
return body
|
|
1492
|
+
|
|
1493
|
+
def as_shallow_dict(self) -> dict:
|
|
1494
|
+
"""Serializes the CreateCredentialRequest into a shallow dictionary of its immediate attributes."""
|
|
1495
|
+
body = {}
|
|
1496
|
+
if self.aws_iam_role: body['aws_iam_role'] = self.aws_iam_role
|
|
1497
|
+
if self.azure_managed_identity: body['azure_managed_identity'] = self.azure_managed_identity
|
|
1498
|
+
if self.azure_service_principal: body['azure_service_principal'] = self.azure_service_principal
|
|
1499
|
+
if self.comment is not None: body['comment'] = self.comment
|
|
1500
|
+
if self.databricks_gcp_service_account:
|
|
1501
|
+
body['databricks_gcp_service_account'] = self.databricks_gcp_service_account
|
|
1502
|
+
if self.name is not None: body['name'] = self.name
|
|
1503
|
+
if self.purpose is not None: body['purpose'] = self.purpose
|
|
1504
|
+
if self.read_only is not None: body['read_only'] = self.read_only
|
|
1191
1505
|
if self.skip_validation is not None: body['skip_validation'] = self.skip_validation
|
|
1192
1506
|
return body
|
|
1193
1507
|
|
|
@@ -1196,9 +1510,13 @@ class CreateCredentialRequest:
|
|
|
1196
1510
|
"""Deserializes the CreateCredentialRequest from a dictionary."""
|
|
1197
1511
|
return cls(aws_iam_role=_from_dict(d, 'aws_iam_role', AwsIamRole),
|
|
1198
1512
|
azure_managed_identity=_from_dict(d, 'azure_managed_identity', AzureManagedIdentity),
|
|
1513
|
+
azure_service_principal=_from_dict(d, 'azure_service_principal', AzureServicePrincipal),
|
|
1199
1514
|
comment=d.get('comment', None),
|
|
1515
|
+
databricks_gcp_service_account=_from_dict(d, 'databricks_gcp_service_account',
|
|
1516
|
+
DatabricksGcpServiceAccount),
|
|
1200
1517
|
name=d.get('name', None),
|
|
1201
1518
|
purpose=_enum(d, 'purpose', CredentialPurpose),
|
|
1519
|
+
read_only=d.get('read_only', None),
|
|
1202
1520
|
skip_validation=d.get('skip_validation', None))
|
|
1203
1521
|
|
|
1204
1522
|
|
|
@@ -1247,6 +1565,20 @@ class CreateExternalLocation:
|
|
|
1247
1565
|
if self.url is not None: body['url'] = self.url
|
|
1248
1566
|
return body
|
|
1249
1567
|
|
|
1568
|
+
def as_shallow_dict(self) -> dict:
|
|
1569
|
+
"""Serializes the CreateExternalLocation into a shallow dictionary of its immediate attributes."""
|
|
1570
|
+
body = {}
|
|
1571
|
+
if self.access_point is not None: body['access_point'] = self.access_point
|
|
1572
|
+
if self.comment is not None: body['comment'] = self.comment
|
|
1573
|
+
if self.credential_name is not None: body['credential_name'] = self.credential_name
|
|
1574
|
+
if self.encryption_details: body['encryption_details'] = self.encryption_details
|
|
1575
|
+
if self.fallback is not None: body['fallback'] = self.fallback
|
|
1576
|
+
if self.name is not None: body['name'] = self.name
|
|
1577
|
+
if self.read_only is not None: body['read_only'] = self.read_only
|
|
1578
|
+
if self.skip_validation is not None: body['skip_validation'] = self.skip_validation
|
|
1579
|
+
if self.url is not None: body['url'] = self.url
|
|
1580
|
+
return body
|
|
1581
|
+
|
|
1250
1582
|
@classmethod
|
|
1251
1583
|
def from_dict(cls, d: Dict[str, any]) -> CreateExternalLocation:
|
|
1252
1584
|
"""Deserializes the CreateExternalLocation from a dictionary."""
|
|
@@ -1354,6 +1686,32 @@ class CreateFunction:
|
|
|
1354
1686
|
if self.sql_path is not None: body['sql_path'] = self.sql_path
|
|
1355
1687
|
return body
|
|
1356
1688
|
|
|
1689
|
+
def as_shallow_dict(self) -> dict:
|
|
1690
|
+
"""Serializes the CreateFunction into a shallow dictionary of its immediate attributes."""
|
|
1691
|
+
body = {}
|
|
1692
|
+
if self.catalog_name is not None: body['catalog_name'] = self.catalog_name
|
|
1693
|
+
if self.comment is not None: body['comment'] = self.comment
|
|
1694
|
+
if self.data_type is not None: body['data_type'] = self.data_type
|
|
1695
|
+
if self.external_language is not None: body['external_language'] = self.external_language
|
|
1696
|
+
if self.external_name is not None: body['external_name'] = self.external_name
|
|
1697
|
+
if self.full_data_type is not None: body['full_data_type'] = self.full_data_type
|
|
1698
|
+
if self.input_params: body['input_params'] = self.input_params
|
|
1699
|
+
if self.is_deterministic is not None: body['is_deterministic'] = self.is_deterministic
|
|
1700
|
+
if self.is_null_call is not None: body['is_null_call'] = self.is_null_call
|
|
1701
|
+
if self.name is not None: body['name'] = self.name
|
|
1702
|
+
if self.parameter_style is not None: body['parameter_style'] = self.parameter_style
|
|
1703
|
+
if self.properties is not None: body['properties'] = self.properties
|
|
1704
|
+
if self.return_params: body['return_params'] = self.return_params
|
|
1705
|
+
if self.routine_body is not None: body['routine_body'] = self.routine_body
|
|
1706
|
+
if self.routine_definition is not None: body['routine_definition'] = self.routine_definition
|
|
1707
|
+
if self.routine_dependencies: body['routine_dependencies'] = self.routine_dependencies
|
|
1708
|
+
if self.schema_name is not None: body['schema_name'] = self.schema_name
|
|
1709
|
+
if self.security_type is not None: body['security_type'] = self.security_type
|
|
1710
|
+
if self.specific_name is not None: body['specific_name'] = self.specific_name
|
|
1711
|
+
if self.sql_data_access is not None: body['sql_data_access'] = self.sql_data_access
|
|
1712
|
+
if self.sql_path is not None: body['sql_path'] = self.sql_path
|
|
1713
|
+
return body
|
|
1714
|
+
|
|
1357
1715
|
@classmethod
|
|
1358
1716
|
def from_dict(cls, d: Dict[str, any]) -> CreateFunction:
|
|
1359
1717
|
"""Deserializes the CreateFunction from a dictionary."""
|
|
@@ -1397,6 +1755,12 @@ class CreateFunctionRequest:
|
|
|
1397
1755
|
if self.function_info: body['function_info'] = self.function_info.as_dict()
|
|
1398
1756
|
return body
|
|
1399
1757
|
|
|
1758
|
+
def as_shallow_dict(self) -> dict:
|
|
1759
|
+
"""Serializes the CreateFunctionRequest into a shallow dictionary of its immediate attributes."""
|
|
1760
|
+
body = {}
|
|
1761
|
+
if self.function_info: body['function_info'] = self.function_info
|
|
1762
|
+
return body
|
|
1763
|
+
|
|
1400
1764
|
@classmethod
|
|
1401
1765
|
def from_dict(cls, d: Dict[str, any]) -> CreateFunctionRequest:
|
|
1402
1766
|
"""Deserializes the CreateFunctionRequest from a dictionary."""
|
|
@@ -1448,6 +1812,14 @@ class CreateMetastore:
|
|
|
1448
1812
|
if self.storage_root is not None: body['storage_root'] = self.storage_root
|
|
1449
1813
|
return body
|
|
1450
1814
|
|
|
1815
|
+
def as_shallow_dict(self) -> dict:
|
|
1816
|
+
"""Serializes the CreateMetastore into a shallow dictionary of its immediate attributes."""
|
|
1817
|
+
body = {}
|
|
1818
|
+
if self.name is not None: body['name'] = self.name
|
|
1819
|
+
if self.region is not None: body['region'] = self.region
|
|
1820
|
+
if self.storage_root is not None: body['storage_root'] = self.storage_root
|
|
1821
|
+
return body
|
|
1822
|
+
|
|
1451
1823
|
@classmethod
|
|
1452
1824
|
def from_dict(cls, d: Dict[str, any]) -> CreateMetastore:
|
|
1453
1825
|
"""Deserializes the CreateMetastore from a dictionary."""
|
|
@@ -1476,6 +1848,14 @@ class CreateMetastoreAssignment:
|
|
|
1476
1848
|
if self.workspace_id is not None: body['workspace_id'] = self.workspace_id
|
|
1477
1849
|
return body
|
|
1478
1850
|
|
|
1851
|
+
def as_shallow_dict(self) -> dict:
|
|
1852
|
+
"""Serializes the CreateMetastoreAssignment into a shallow dictionary of its immediate attributes."""
|
|
1853
|
+
body = {}
|
|
1854
|
+
if self.default_catalog_name is not None: body['default_catalog_name'] = self.default_catalog_name
|
|
1855
|
+
if self.metastore_id is not None: body['metastore_id'] = self.metastore_id
|
|
1856
|
+
if self.workspace_id is not None: body['workspace_id'] = self.workspace_id
|
|
1857
|
+
return body
|
|
1858
|
+
|
|
1479
1859
|
@classmethod
|
|
1480
1860
|
def from_dict(cls, d: Dict[str, any]) -> CreateMetastoreAssignment:
|
|
1481
1861
|
"""Deserializes the CreateMetastoreAssignment from a dictionary."""
|
|
@@ -1555,6 +1935,27 @@ class CreateMonitor:
|
|
|
1555
1935
|
if self.warehouse_id is not None: body['warehouse_id'] = self.warehouse_id
|
|
1556
1936
|
return body
|
|
1557
1937
|
|
|
1938
|
+
def as_shallow_dict(self) -> dict:
|
|
1939
|
+
"""Serializes the CreateMonitor into a shallow dictionary of its immediate attributes."""
|
|
1940
|
+
body = {}
|
|
1941
|
+
if self.assets_dir is not None: body['assets_dir'] = self.assets_dir
|
|
1942
|
+
if self.baseline_table_name is not None: body['baseline_table_name'] = self.baseline_table_name
|
|
1943
|
+
if self.custom_metrics: body['custom_metrics'] = self.custom_metrics
|
|
1944
|
+
if self.data_classification_config:
|
|
1945
|
+
body['data_classification_config'] = self.data_classification_config
|
|
1946
|
+
if self.inference_log: body['inference_log'] = self.inference_log
|
|
1947
|
+
if self.notifications: body['notifications'] = self.notifications
|
|
1948
|
+
if self.output_schema_name is not None: body['output_schema_name'] = self.output_schema_name
|
|
1949
|
+
if self.schedule: body['schedule'] = self.schedule
|
|
1950
|
+
if self.skip_builtin_dashboard is not None:
|
|
1951
|
+
body['skip_builtin_dashboard'] = self.skip_builtin_dashboard
|
|
1952
|
+
if self.slicing_exprs: body['slicing_exprs'] = self.slicing_exprs
|
|
1953
|
+
if self.snapshot: body['snapshot'] = self.snapshot
|
|
1954
|
+
if self.table_name is not None: body['table_name'] = self.table_name
|
|
1955
|
+
if self.time_series: body['time_series'] = self.time_series
|
|
1956
|
+
if self.warehouse_id is not None: body['warehouse_id'] = self.warehouse_id
|
|
1957
|
+
return body
|
|
1958
|
+
|
|
1558
1959
|
@classmethod
|
|
1559
1960
|
def from_dict(cls, d: Dict[str, any]) -> CreateMonitor:
|
|
1560
1961
|
"""Deserializes the CreateMonitor from a dictionary."""
|
|
@@ -1602,6 +2003,16 @@ class CreateRegisteredModelRequest:
|
|
|
1602
2003
|
if self.storage_location is not None: body['storage_location'] = self.storage_location
|
|
1603
2004
|
return body
|
|
1604
2005
|
|
|
2006
|
+
def as_shallow_dict(self) -> dict:
|
|
2007
|
+
"""Serializes the CreateRegisteredModelRequest into a shallow dictionary of its immediate attributes."""
|
|
2008
|
+
body = {}
|
|
2009
|
+
if self.catalog_name is not None: body['catalog_name'] = self.catalog_name
|
|
2010
|
+
if self.comment is not None: body['comment'] = self.comment
|
|
2011
|
+
if self.name is not None: body['name'] = self.name
|
|
2012
|
+
if self.schema_name is not None: body['schema_name'] = self.schema_name
|
|
2013
|
+
if self.storage_location is not None: body['storage_location'] = self.storage_location
|
|
2014
|
+
return body
|
|
2015
|
+
|
|
1605
2016
|
@classmethod
|
|
1606
2017
|
def from_dict(cls, d: Dict[str, any]) -> CreateRegisteredModelRequest:
|
|
1607
2018
|
"""Deserializes the CreateRegisteredModelRequest from a dictionary."""
|
|
@@ -1620,6 +2031,11 @@ class CreateResponse:
|
|
|
1620
2031
|
body = {}
|
|
1621
2032
|
return body
|
|
1622
2033
|
|
|
2034
|
+
def as_shallow_dict(self) -> dict:
|
|
2035
|
+
"""Serializes the CreateResponse into a shallow dictionary of its immediate attributes."""
|
|
2036
|
+
body = {}
|
|
2037
|
+
return body
|
|
2038
|
+
|
|
1623
2039
|
@classmethod
|
|
1624
2040
|
def from_dict(cls, d: Dict[str, any]) -> CreateResponse:
|
|
1625
2041
|
"""Deserializes the CreateResponse from a dictionary."""
|
|
@@ -1653,6 +2069,16 @@ class CreateSchema:
|
|
|
1653
2069
|
if self.storage_root is not None: body['storage_root'] = self.storage_root
|
|
1654
2070
|
return body
|
|
1655
2071
|
|
|
2072
|
+
def as_shallow_dict(self) -> dict:
|
|
2073
|
+
"""Serializes the CreateSchema into a shallow dictionary of its immediate attributes."""
|
|
2074
|
+
body = {}
|
|
2075
|
+
if self.catalog_name is not None: body['catalog_name'] = self.catalog_name
|
|
2076
|
+
if self.comment is not None: body['comment'] = self.comment
|
|
2077
|
+
if self.name is not None: body['name'] = self.name
|
|
2078
|
+
if self.properties: body['properties'] = self.properties
|
|
2079
|
+
if self.storage_root is not None: body['storage_root'] = self.storage_root
|
|
2080
|
+
return body
|
|
2081
|
+
|
|
1656
2082
|
@classmethod
|
|
1657
2083
|
def from_dict(cls, d: Dict[str, any]) -> CreateSchema:
|
|
1658
2084
|
"""Deserializes the CreateSchema from a dictionary."""
|
|
@@ -1708,6 +2134,21 @@ class CreateStorageCredential:
|
|
|
1708
2134
|
if self.skip_validation is not None: body['skip_validation'] = self.skip_validation
|
|
1709
2135
|
return body
|
|
1710
2136
|
|
|
2137
|
+
def as_shallow_dict(self) -> dict:
|
|
2138
|
+
"""Serializes the CreateStorageCredential into a shallow dictionary of its immediate attributes."""
|
|
2139
|
+
body = {}
|
|
2140
|
+
if self.aws_iam_role: body['aws_iam_role'] = self.aws_iam_role
|
|
2141
|
+
if self.azure_managed_identity: body['azure_managed_identity'] = self.azure_managed_identity
|
|
2142
|
+
if self.azure_service_principal: body['azure_service_principal'] = self.azure_service_principal
|
|
2143
|
+
if self.cloudflare_api_token: body['cloudflare_api_token'] = self.cloudflare_api_token
|
|
2144
|
+
if self.comment is not None: body['comment'] = self.comment
|
|
2145
|
+
if self.databricks_gcp_service_account:
|
|
2146
|
+
body['databricks_gcp_service_account'] = self.databricks_gcp_service_account
|
|
2147
|
+
if self.name is not None: body['name'] = self.name
|
|
2148
|
+
if self.read_only is not None: body['read_only'] = self.read_only
|
|
2149
|
+
if self.skip_validation is not None: body['skip_validation'] = self.skip_validation
|
|
2150
|
+
return body
|
|
2151
|
+
|
|
1711
2152
|
@classmethod
|
|
1712
2153
|
def from_dict(cls, d: Dict[str, any]) -> CreateStorageCredential:
|
|
1713
2154
|
"""Deserializes the CreateStorageCredential from a dictionary."""
|
|
@@ -1740,6 +2181,13 @@ class CreateTableConstraint:
|
|
|
1740
2181
|
if self.full_name_arg is not None: body['full_name_arg'] = self.full_name_arg
|
|
1741
2182
|
return body
|
|
1742
2183
|
|
|
2184
|
+
def as_shallow_dict(self) -> dict:
|
|
2185
|
+
"""Serializes the CreateTableConstraint into a shallow dictionary of its immediate attributes."""
|
|
2186
|
+
body = {}
|
|
2187
|
+
if self.constraint: body['constraint'] = self.constraint
|
|
2188
|
+
if self.full_name_arg is not None: body['full_name_arg'] = self.full_name_arg
|
|
2189
|
+
return body
|
|
2190
|
+
|
|
1743
2191
|
@classmethod
|
|
1744
2192
|
def from_dict(cls, d: Dict[str, any]) -> CreateTableConstraint:
|
|
1745
2193
|
"""Deserializes the CreateTableConstraint from a dictionary."""
|
|
@@ -1777,6 +2225,17 @@ class CreateVolumeRequestContent:
|
|
|
1777
2225
|
if self.volume_type is not None: body['volume_type'] = self.volume_type.value
|
|
1778
2226
|
return body
|
|
1779
2227
|
|
|
2228
|
+
def as_shallow_dict(self) -> dict:
|
|
2229
|
+
"""Serializes the CreateVolumeRequestContent into a shallow dictionary of its immediate attributes."""
|
|
2230
|
+
body = {}
|
|
2231
|
+
if self.catalog_name is not None: body['catalog_name'] = self.catalog_name
|
|
2232
|
+
if self.comment is not None: body['comment'] = self.comment
|
|
2233
|
+
if self.name is not None: body['name'] = self.name
|
|
2234
|
+
if self.schema_name is not None: body['schema_name'] = self.schema_name
|
|
2235
|
+
if self.storage_location is not None: body['storage_location'] = self.storage_location
|
|
2236
|
+
if self.volume_type is not None: body['volume_type'] = self.volume_type
|
|
2237
|
+
return body
|
|
2238
|
+
|
|
1780
2239
|
@classmethod
|
|
1781
2240
|
def from_dict(cls, d: Dict[str, any]) -> CreateVolumeRequestContent:
|
|
1782
2241
|
"""Deserializes the CreateVolumeRequestContent from a dictionary."""
|
|
@@ -1796,6 +2255,9 @@ class CredentialInfo:
|
|
|
1796
2255
|
azure_managed_identity: Optional[AzureManagedIdentity] = None
|
|
1797
2256
|
"""The Azure managed identity configuration."""
|
|
1798
2257
|
|
|
2258
|
+
azure_service_principal: Optional[AzureServicePrincipal] = None
|
|
2259
|
+
"""The Azure service principal configuration. Only applicable when purpose is **STORAGE**."""
|
|
2260
|
+
|
|
1799
2261
|
comment: Optional[str] = None
|
|
1800
2262
|
"""Comment associated with the credential."""
|
|
1801
2263
|
|
|
@@ -1805,6 +2267,9 @@ class CredentialInfo:
|
|
|
1805
2267
|
created_by: Optional[str] = None
|
|
1806
2268
|
"""Username of credential creator."""
|
|
1807
2269
|
|
|
2270
|
+
databricks_gcp_service_account: Optional[DatabricksGcpServiceAccount] = None
|
|
2271
|
+
"""GCP long-lived credential. Databricks-created Google Cloud Storage service account."""
|
|
2272
|
+
|
|
1808
2273
|
full_name: Optional[str] = None
|
|
1809
2274
|
"""The full name of the credential."""
|
|
1810
2275
|
|
|
@@ -1827,20 +2292,32 @@ class CredentialInfo:
|
|
|
1827
2292
|
purpose: Optional[CredentialPurpose] = None
|
|
1828
2293
|
"""Indicates the purpose of the credential."""
|
|
1829
2294
|
|
|
2295
|
+
read_only: Optional[bool] = None
|
|
2296
|
+
"""Whether the credential is usable only for read operations. Only applicable when purpose is
|
|
2297
|
+
**STORAGE**."""
|
|
2298
|
+
|
|
1830
2299
|
updated_at: Optional[int] = None
|
|
1831
2300
|
"""Time at which this credential was last modified, in epoch milliseconds."""
|
|
1832
2301
|
|
|
1833
2302
|
updated_by: Optional[str] = None
|
|
1834
2303
|
"""Username of user who last modified the credential."""
|
|
1835
2304
|
|
|
2305
|
+
used_for_managed_storage: Optional[bool] = None
|
|
2306
|
+
"""Whether this credential is the current metastore's root storage credential. Only applicable when
|
|
2307
|
+
purpose is **STORAGE**."""
|
|
2308
|
+
|
|
1836
2309
|
def as_dict(self) -> dict:
|
|
1837
2310
|
"""Serializes the CredentialInfo into a dictionary suitable for use as a JSON request body."""
|
|
1838
2311
|
body = {}
|
|
1839
2312
|
if self.aws_iam_role: body['aws_iam_role'] = self.aws_iam_role.as_dict()
|
|
1840
2313
|
if self.azure_managed_identity: body['azure_managed_identity'] = self.azure_managed_identity.as_dict()
|
|
2314
|
+
if self.azure_service_principal:
|
|
2315
|
+
body['azure_service_principal'] = self.azure_service_principal.as_dict()
|
|
1841
2316
|
if self.comment is not None: body['comment'] = self.comment
|
|
1842
2317
|
if self.created_at is not None: body['created_at'] = self.created_at
|
|
1843
2318
|
if self.created_by is not None: body['created_by'] = self.created_by
|
|
2319
|
+
if self.databricks_gcp_service_account:
|
|
2320
|
+
body['databricks_gcp_service_account'] = self.databricks_gcp_service_account.as_dict()
|
|
1844
2321
|
if self.full_name is not None: body['full_name'] = self.full_name
|
|
1845
2322
|
if self.id is not None: body['id'] = self.id
|
|
1846
2323
|
if self.isolation_mode is not None: body['isolation_mode'] = self.isolation_mode.value
|
|
@@ -1848,8 +2325,36 @@ class CredentialInfo:
|
|
|
1848
2325
|
if self.name is not None: body['name'] = self.name
|
|
1849
2326
|
if self.owner is not None: body['owner'] = self.owner
|
|
1850
2327
|
if self.purpose is not None: body['purpose'] = self.purpose.value
|
|
2328
|
+
if self.read_only is not None: body['read_only'] = self.read_only
|
|
1851
2329
|
if self.updated_at is not None: body['updated_at'] = self.updated_at
|
|
1852
2330
|
if self.updated_by is not None: body['updated_by'] = self.updated_by
|
|
2331
|
+
if self.used_for_managed_storage is not None:
|
|
2332
|
+
body['used_for_managed_storage'] = self.used_for_managed_storage
|
|
2333
|
+
return body
|
|
2334
|
+
|
|
2335
|
+
def as_shallow_dict(self) -> dict:
|
|
2336
|
+
"""Serializes the CredentialInfo into a shallow dictionary of its immediate attributes."""
|
|
2337
|
+
body = {}
|
|
2338
|
+
if self.aws_iam_role: body['aws_iam_role'] = self.aws_iam_role
|
|
2339
|
+
if self.azure_managed_identity: body['azure_managed_identity'] = self.azure_managed_identity
|
|
2340
|
+
if self.azure_service_principal: body['azure_service_principal'] = self.azure_service_principal
|
|
2341
|
+
if self.comment is not None: body['comment'] = self.comment
|
|
2342
|
+
if self.created_at is not None: body['created_at'] = self.created_at
|
|
2343
|
+
if self.created_by is not None: body['created_by'] = self.created_by
|
|
2344
|
+
if self.databricks_gcp_service_account:
|
|
2345
|
+
body['databricks_gcp_service_account'] = self.databricks_gcp_service_account
|
|
2346
|
+
if self.full_name is not None: body['full_name'] = self.full_name
|
|
2347
|
+
if self.id is not None: body['id'] = self.id
|
|
2348
|
+
if self.isolation_mode is not None: body['isolation_mode'] = self.isolation_mode
|
|
2349
|
+
if self.metastore_id is not None: body['metastore_id'] = self.metastore_id
|
|
2350
|
+
if self.name is not None: body['name'] = self.name
|
|
2351
|
+
if self.owner is not None: body['owner'] = self.owner
|
|
2352
|
+
if self.purpose is not None: body['purpose'] = self.purpose
|
|
2353
|
+
if self.read_only is not None: body['read_only'] = self.read_only
|
|
2354
|
+
if self.updated_at is not None: body['updated_at'] = self.updated_at
|
|
2355
|
+
if self.updated_by is not None: body['updated_by'] = self.updated_by
|
|
2356
|
+
if self.used_for_managed_storage is not None:
|
|
2357
|
+
body['used_for_managed_storage'] = self.used_for_managed_storage
|
|
1853
2358
|
return body
|
|
1854
2359
|
|
|
1855
2360
|
@classmethod
|
|
@@ -1857,9 +2362,12 @@ class CredentialInfo:
|
|
|
1857
2362
|
"""Deserializes the CredentialInfo from a dictionary."""
|
|
1858
2363
|
return cls(aws_iam_role=_from_dict(d, 'aws_iam_role', AwsIamRole),
|
|
1859
2364
|
azure_managed_identity=_from_dict(d, 'azure_managed_identity', AzureManagedIdentity),
|
|
2365
|
+
azure_service_principal=_from_dict(d, 'azure_service_principal', AzureServicePrincipal),
|
|
1860
2366
|
comment=d.get('comment', None),
|
|
1861
2367
|
created_at=d.get('created_at', None),
|
|
1862
2368
|
created_by=d.get('created_by', None),
|
|
2369
|
+
databricks_gcp_service_account=_from_dict(d, 'databricks_gcp_service_account',
|
|
2370
|
+
DatabricksGcpServiceAccount),
|
|
1863
2371
|
full_name=d.get('full_name', None),
|
|
1864
2372
|
id=d.get('id', None),
|
|
1865
2373
|
isolation_mode=_enum(d, 'isolation_mode', IsolationMode),
|
|
@@ -1867,13 +2375,16 @@ class CredentialInfo:
|
|
|
1867
2375
|
name=d.get('name', None),
|
|
1868
2376
|
owner=d.get('owner', None),
|
|
1869
2377
|
purpose=_enum(d, 'purpose', CredentialPurpose),
|
|
2378
|
+
read_only=d.get('read_only', None),
|
|
1870
2379
|
updated_at=d.get('updated_at', None),
|
|
1871
|
-
updated_by=d.get('updated_by', None)
|
|
2380
|
+
updated_by=d.get('updated_by', None),
|
|
2381
|
+
used_for_managed_storage=d.get('used_for_managed_storage', None))
|
|
1872
2382
|
|
|
1873
2383
|
|
|
1874
2384
|
class CredentialPurpose(Enum):
|
|
1875
2385
|
|
|
1876
2386
|
SERVICE = 'SERVICE'
|
|
2387
|
+
STORAGE = 'STORAGE'
|
|
1877
2388
|
|
|
1878
2389
|
|
|
1879
2390
|
class CredentialType(Enum):
|
|
@@ -1898,6 +2409,13 @@ class CredentialValidationResult:
|
|
|
1898
2409
|
if self.result is not None: body['result'] = self.result.value
|
|
1899
2410
|
return body
|
|
1900
2411
|
|
|
2412
|
+
def as_shallow_dict(self) -> dict:
|
|
2413
|
+
"""Serializes the CredentialValidationResult into a shallow dictionary of its immediate attributes."""
|
|
2414
|
+
body = {}
|
|
2415
|
+
if self.message is not None: body['message'] = self.message
|
|
2416
|
+
if self.result is not None: body['result'] = self.result
|
|
2417
|
+
return body
|
|
2418
|
+
|
|
1901
2419
|
@classmethod
|
|
1902
2420
|
def from_dict(cls, d: Dict[str, any]) -> CredentialValidationResult:
|
|
1903
2421
|
"""Deserializes the CredentialValidationResult from a dictionary."""
|
|
@@ -1917,6 +2435,12 @@ class CurrentWorkspaceBindings:
|
|
|
1917
2435
|
if self.workspaces: body['workspaces'] = [v for v in self.workspaces]
|
|
1918
2436
|
return body
|
|
1919
2437
|
|
|
2438
|
+
def as_shallow_dict(self) -> dict:
|
|
2439
|
+
"""Serializes the CurrentWorkspaceBindings into a shallow dictionary of its immediate attributes."""
|
|
2440
|
+
body = {}
|
|
2441
|
+
if self.workspaces: body['workspaces'] = self.workspaces
|
|
2442
|
+
return body
|
|
2443
|
+
|
|
1920
2444
|
@classmethod
|
|
1921
2445
|
def from_dict(cls, d: Dict[str, any]) -> CurrentWorkspaceBindings:
|
|
1922
2446
|
"""Deserializes the CurrentWorkspaceBindings from a dictionary."""
|
|
@@ -1951,6 +2475,45 @@ class DataSourceFormat(Enum):
|
|
|
1951
2475
|
WORKDAY_RAAS_FORMAT = 'WORKDAY_RAAS_FORMAT'
|
|
1952
2476
|
|
|
1953
2477
|
|
|
2478
|
+
@dataclass
|
|
2479
|
+
class DatabricksGcpServiceAccount:
|
|
2480
|
+
"""GCP long-lived credential. Databricks-created Google Cloud Storage service account."""
|
|
2481
|
+
|
|
2482
|
+
credential_id: Optional[str] = None
|
|
2483
|
+
"""The Databricks internal ID that represents this managed identity. This field is only used to
|
|
2484
|
+
persist the credential_id once it is fetched from the credentials manager - as we only use the
|
|
2485
|
+
protobuf serializer to store credentials, this ID gets persisted to the database"""
|
|
2486
|
+
|
|
2487
|
+
email: Optional[str] = None
|
|
2488
|
+
"""The email of the service account."""
|
|
2489
|
+
|
|
2490
|
+
private_key_id: Optional[str] = None
|
|
2491
|
+
"""The ID that represents the private key for this Service Account"""
|
|
2492
|
+
|
|
2493
|
+
def as_dict(self) -> dict:
|
|
2494
|
+
"""Serializes the DatabricksGcpServiceAccount into a dictionary suitable for use as a JSON request body."""
|
|
2495
|
+
body = {}
|
|
2496
|
+
if self.credential_id is not None: body['credential_id'] = self.credential_id
|
|
2497
|
+
if self.email is not None: body['email'] = self.email
|
|
2498
|
+
if self.private_key_id is not None: body['private_key_id'] = self.private_key_id
|
|
2499
|
+
return body
|
|
2500
|
+
|
|
2501
|
+
def as_shallow_dict(self) -> dict:
|
|
2502
|
+
"""Serializes the DatabricksGcpServiceAccount into a shallow dictionary of its immediate attributes."""
|
|
2503
|
+
body = {}
|
|
2504
|
+
if self.credential_id is not None: body['credential_id'] = self.credential_id
|
|
2505
|
+
if self.email is not None: body['email'] = self.email
|
|
2506
|
+
if self.private_key_id is not None: body['private_key_id'] = self.private_key_id
|
|
2507
|
+
return body
|
|
2508
|
+
|
|
2509
|
+
@classmethod
|
|
2510
|
+
def from_dict(cls, d: Dict[str, any]) -> DatabricksGcpServiceAccount:
|
|
2511
|
+
"""Deserializes the DatabricksGcpServiceAccount from a dictionary."""
|
|
2512
|
+
return cls(credential_id=d.get('credential_id', None),
|
|
2513
|
+
email=d.get('email', None),
|
|
2514
|
+
private_key_id=d.get('private_key_id', None))
|
|
2515
|
+
|
|
2516
|
+
|
|
1954
2517
|
@dataclass
|
|
1955
2518
|
class DatabricksGcpServiceAccountRequest:
|
|
1956
2519
|
|
|
@@ -1959,6 +2522,11 @@ class DatabricksGcpServiceAccountRequest:
|
|
|
1959
2522
|
body = {}
|
|
1960
2523
|
return body
|
|
1961
2524
|
|
|
2525
|
+
def as_shallow_dict(self) -> dict:
|
|
2526
|
+
"""Serializes the DatabricksGcpServiceAccountRequest into a shallow dictionary of its immediate attributes."""
|
|
2527
|
+
body = {}
|
|
2528
|
+
return body
|
|
2529
|
+
|
|
1962
2530
|
@classmethod
|
|
1963
2531
|
def from_dict(cls, d: Dict[str, any]) -> DatabricksGcpServiceAccountRequest:
|
|
1964
2532
|
"""Deserializes the DatabricksGcpServiceAccountRequest from a dictionary."""
|
|
@@ -1980,6 +2548,13 @@ class DatabricksGcpServiceAccountResponse:
|
|
|
1980
2548
|
if self.email is not None: body['email'] = self.email
|
|
1981
2549
|
return body
|
|
1982
2550
|
|
|
2551
|
+
def as_shallow_dict(self) -> dict:
|
|
2552
|
+
"""Serializes the DatabricksGcpServiceAccountResponse into a shallow dictionary of its immediate attributes."""
|
|
2553
|
+
body = {}
|
|
2554
|
+
if self.credential_id is not None: body['credential_id'] = self.credential_id
|
|
2555
|
+
if self.email is not None: body['email'] = self.email
|
|
2556
|
+
return body
|
|
2557
|
+
|
|
1983
2558
|
@classmethod
|
|
1984
2559
|
def from_dict(cls, d: Dict[str, any]) -> DatabricksGcpServiceAccountResponse:
|
|
1985
2560
|
"""Deserializes the DatabricksGcpServiceAccountResponse from a dictionary."""
|
|
@@ -1994,6 +2569,11 @@ class DeleteAliasResponse:
|
|
|
1994
2569
|
body = {}
|
|
1995
2570
|
return body
|
|
1996
2571
|
|
|
2572
|
+
def as_shallow_dict(self) -> dict:
|
|
2573
|
+
"""Serializes the DeleteAliasResponse into a shallow dictionary of its immediate attributes."""
|
|
2574
|
+
body = {}
|
|
2575
|
+
return body
|
|
2576
|
+
|
|
1997
2577
|
@classmethod
|
|
1998
2578
|
def from_dict(cls, d: Dict[str, any]) -> DeleteAliasResponse:
|
|
1999
2579
|
"""Deserializes the DeleteAliasResponse from a dictionary."""
|
|
@@ -2008,6 +2588,11 @@ class DeleteCredentialResponse:
|
|
|
2008
2588
|
body = {}
|
|
2009
2589
|
return body
|
|
2010
2590
|
|
|
2591
|
+
def as_shallow_dict(self) -> dict:
|
|
2592
|
+
"""Serializes the DeleteCredentialResponse into a shallow dictionary of its immediate attributes."""
|
|
2593
|
+
body = {}
|
|
2594
|
+
return body
|
|
2595
|
+
|
|
2011
2596
|
@classmethod
|
|
2012
2597
|
def from_dict(cls, d: Dict[str, any]) -> DeleteCredentialResponse:
|
|
2013
2598
|
"""Deserializes the DeleteCredentialResponse from a dictionary."""
|
|
@@ -2022,6 +2607,11 @@ class DeleteResponse:
|
|
|
2022
2607
|
body = {}
|
|
2023
2608
|
return body
|
|
2024
2609
|
|
|
2610
|
+
def as_shallow_dict(self) -> dict:
|
|
2611
|
+
"""Serializes the DeleteResponse into a shallow dictionary of its immediate attributes."""
|
|
2612
|
+
body = {}
|
|
2613
|
+
return body
|
|
2614
|
+
|
|
2025
2615
|
@classmethod
|
|
2026
2616
|
def from_dict(cls, d: Dict[str, any]) -> DeleteResponse:
|
|
2027
2617
|
"""Deserializes the DeleteResponse from a dictionary."""
|
|
@@ -2042,6 +2632,12 @@ class DeltaRuntimePropertiesKvPairs:
|
|
|
2042
2632
|
if self.delta_runtime_properties: body['delta_runtime_properties'] = self.delta_runtime_properties
|
|
2043
2633
|
return body
|
|
2044
2634
|
|
|
2635
|
+
def as_shallow_dict(self) -> dict:
|
|
2636
|
+
"""Serializes the DeltaRuntimePropertiesKvPairs into a shallow dictionary of its immediate attributes."""
|
|
2637
|
+
body = {}
|
|
2638
|
+
if self.delta_runtime_properties: body['delta_runtime_properties'] = self.delta_runtime_properties
|
|
2639
|
+
return body
|
|
2640
|
+
|
|
2045
2641
|
@classmethod
|
|
2046
2642
|
def from_dict(cls, d: Dict[str, any]) -> DeltaRuntimePropertiesKvPairs:
|
|
2047
2643
|
"""Deserializes the DeltaRuntimePropertiesKvPairs from a dictionary."""
|
|
@@ -2066,6 +2662,13 @@ class Dependency:
|
|
|
2066
2662
|
if self.table: body['table'] = self.table.as_dict()
|
|
2067
2663
|
return body
|
|
2068
2664
|
|
|
2665
|
+
def as_shallow_dict(self) -> dict:
|
|
2666
|
+
"""Serializes the Dependency into a shallow dictionary of its immediate attributes."""
|
|
2667
|
+
body = {}
|
|
2668
|
+
if self.function: body['function'] = self.function
|
|
2669
|
+
if self.table: body['table'] = self.table
|
|
2670
|
+
return body
|
|
2671
|
+
|
|
2069
2672
|
@classmethod
|
|
2070
2673
|
def from_dict(cls, d: Dict[str, any]) -> Dependency:
|
|
2071
2674
|
"""Deserializes the Dependency from a dictionary."""
|
|
@@ -2086,6 +2689,12 @@ class DependencyList:
|
|
|
2086
2689
|
if self.dependencies: body['dependencies'] = [v.as_dict() for v in self.dependencies]
|
|
2087
2690
|
return body
|
|
2088
2691
|
|
|
2692
|
+
def as_shallow_dict(self) -> dict:
|
|
2693
|
+
"""Serializes the DependencyList into a shallow dictionary of its immediate attributes."""
|
|
2694
|
+
body = {}
|
|
2695
|
+
if self.dependencies: body['dependencies'] = self.dependencies
|
|
2696
|
+
return body
|
|
2697
|
+
|
|
2089
2698
|
@classmethod
|
|
2090
2699
|
def from_dict(cls, d: Dict[str, any]) -> DependencyList:
|
|
2091
2700
|
"""Deserializes the DependencyList from a dictionary."""
|
|
@@ -2100,6 +2709,11 @@ class DisableResponse:
|
|
|
2100
2709
|
body = {}
|
|
2101
2710
|
return body
|
|
2102
2711
|
|
|
2712
|
+
def as_shallow_dict(self) -> dict:
|
|
2713
|
+
"""Serializes the DisableResponse into a shallow dictionary of its immediate attributes."""
|
|
2714
|
+
body = {}
|
|
2715
|
+
return body
|
|
2716
|
+
|
|
2103
2717
|
@classmethod
|
|
2104
2718
|
def from_dict(cls, d: Dict[str, any]) -> DisableResponse:
|
|
2105
2719
|
"""Deserializes the DisableResponse from a dictionary."""
|
|
@@ -2118,6 +2732,12 @@ class EffectivePermissionsList:
|
|
|
2118
2732
|
body['privilege_assignments'] = [v.as_dict() for v in self.privilege_assignments]
|
|
2119
2733
|
return body
|
|
2120
2734
|
|
|
2735
|
+
def as_shallow_dict(self) -> dict:
|
|
2736
|
+
"""Serializes the EffectivePermissionsList into a shallow dictionary of its immediate attributes."""
|
|
2737
|
+
body = {}
|
|
2738
|
+
if self.privilege_assignments: body['privilege_assignments'] = self.privilege_assignments
|
|
2739
|
+
return body
|
|
2740
|
+
|
|
2121
2741
|
@classmethod
|
|
2122
2742
|
def from_dict(cls, d: Dict[str, any]) -> EffectivePermissionsList:
|
|
2123
2743
|
"""Deserializes the EffectivePermissionsList from a dictionary."""
|
|
@@ -2146,6 +2766,14 @@ class EffectivePredictiveOptimizationFlag:
|
|
|
2146
2766
|
if self.value is not None: body['value'] = self.value.value
|
|
2147
2767
|
return body
|
|
2148
2768
|
|
|
2769
|
+
def as_shallow_dict(self) -> dict:
|
|
2770
|
+
"""Serializes the EffectivePredictiveOptimizationFlag into a shallow dictionary of its immediate attributes."""
|
|
2771
|
+
body = {}
|
|
2772
|
+
if self.inherited_from_name is not None: body['inherited_from_name'] = self.inherited_from_name
|
|
2773
|
+
if self.inherited_from_type is not None: body['inherited_from_type'] = self.inherited_from_type
|
|
2774
|
+
if self.value is not None: body['value'] = self.value
|
|
2775
|
+
return body
|
|
2776
|
+
|
|
2149
2777
|
@classmethod
|
|
2150
2778
|
def from_dict(cls, d: Dict[str, any]) -> EffectivePredictiveOptimizationFlag:
|
|
2151
2779
|
"""Deserializes the EffectivePredictiveOptimizationFlag from a dictionary."""
|
|
@@ -2184,6 +2812,14 @@ class EffectivePrivilege:
|
|
|
2184
2812
|
if self.privilege is not None: body['privilege'] = self.privilege.value
|
|
2185
2813
|
return body
|
|
2186
2814
|
|
|
2815
|
+
def as_shallow_dict(self) -> dict:
|
|
2816
|
+
"""Serializes the EffectivePrivilege into a shallow dictionary of its immediate attributes."""
|
|
2817
|
+
body = {}
|
|
2818
|
+
if self.inherited_from_name is not None: body['inherited_from_name'] = self.inherited_from_name
|
|
2819
|
+
if self.inherited_from_type is not None: body['inherited_from_type'] = self.inherited_from_type
|
|
2820
|
+
if self.privilege is not None: body['privilege'] = self.privilege
|
|
2821
|
+
return body
|
|
2822
|
+
|
|
2187
2823
|
@classmethod
|
|
2188
2824
|
def from_dict(cls, d: Dict[str, any]) -> EffectivePrivilege:
|
|
2189
2825
|
"""Deserializes the EffectivePrivilege from a dictionary."""
|
|
@@ -2207,6 +2843,13 @@ class EffectivePrivilegeAssignment:
|
|
|
2207
2843
|
if self.privileges: body['privileges'] = [v.as_dict() for v in self.privileges]
|
|
2208
2844
|
return body
|
|
2209
2845
|
|
|
2846
|
+
def as_shallow_dict(self) -> dict:
|
|
2847
|
+
"""Serializes the EffectivePrivilegeAssignment into a shallow dictionary of its immediate attributes."""
|
|
2848
|
+
body = {}
|
|
2849
|
+
if self.principal is not None: body['principal'] = self.principal
|
|
2850
|
+
if self.privileges: body['privileges'] = self.privileges
|
|
2851
|
+
return body
|
|
2852
|
+
|
|
2210
2853
|
@classmethod
|
|
2211
2854
|
def from_dict(cls, d: Dict[str, any]) -> EffectivePrivilegeAssignment:
|
|
2212
2855
|
"""Deserializes the EffectivePrivilegeAssignment from a dictionary."""
|
|
@@ -2230,6 +2873,11 @@ class EnableResponse:
|
|
|
2230
2873
|
body = {}
|
|
2231
2874
|
return body
|
|
2232
2875
|
|
|
2876
|
+
def as_shallow_dict(self) -> dict:
|
|
2877
|
+
"""Serializes the EnableResponse into a shallow dictionary of its immediate attributes."""
|
|
2878
|
+
body = {}
|
|
2879
|
+
return body
|
|
2880
|
+
|
|
2233
2881
|
@classmethod
|
|
2234
2882
|
def from_dict(cls, d: Dict[str, any]) -> EnableResponse:
|
|
2235
2883
|
"""Deserializes the EnableResponse from a dictionary."""
|
|
@@ -2249,6 +2897,12 @@ class EncryptionDetails:
|
|
|
2249
2897
|
if self.sse_encryption_details: body['sse_encryption_details'] = self.sse_encryption_details.as_dict()
|
|
2250
2898
|
return body
|
|
2251
2899
|
|
|
2900
|
+
def as_shallow_dict(self) -> dict:
|
|
2901
|
+
"""Serializes the EncryptionDetails into a shallow dictionary of its immediate attributes."""
|
|
2902
|
+
body = {}
|
|
2903
|
+
if self.sse_encryption_details: body['sse_encryption_details'] = self.sse_encryption_details
|
|
2904
|
+
return body
|
|
2905
|
+
|
|
2252
2906
|
@classmethod
|
|
2253
2907
|
def from_dict(cls, d: Dict[str, any]) -> EncryptionDetails:
|
|
2254
2908
|
"""Deserializes the EncryptionDetails from a dictionary."""
|
|
@@ -2332,6 +2986,28 @@ class ExternalLocationInfo:
|
|
|
2332
2986
|
if self.url is not None: body['url'] = self.url
|
|
2333
2987
|
return body
|
|
2334
2988
|
|
|
2989
|
+
def as_shallow_dict(self) -> dict:
|
|
2990
|
+
"""Serializes the ExternalLocationInfo into a shallow dictionary of its immediate attributes."""
|
|
2991
|
+
body = {}
|
|
2992
|
+
if self.access_point is not None: body['access_point'] = self.access_point
|
|
2993
|
+
if self.browse_only is not None: body['browse_only'] = self.browse_only
|
|
2994
|
+
if self.comment is not None: body['comment'] = self.comment
|
|
2995
|
+
if self.created_at is not None: body['created_at'] = self.created_at
|
|
2996
|
+
if self.created_by is not None: body['created_by'] = self.created_by
|
|
2997
|
+
if self.credential_id is not None: body['credential_id'] = self.credential_id
|
|
2998
|
+
if self.credential_name is not None: body['credential_name'] = self.credential_name
|
|
2999
|
+
if self.encryption_details: body['encryption_details'] = self.encryption_details
|
|
3000
|
+
if self.fallback is not None: body['fallback'] = self.fallback
|
|
3001
|
+
if self.isolation_mode is not None: body['isolation_mode'] = self.isolation_mode
|
|
3002
|
+
if self.metastore_id is not None: body['metastore_id'] = self.metastore_id
|
|
3003
|
+
if self.name is not None: body['name'] = self.name
|
|
3004
|
+
if self.owner is not None: body['owner'] = self.owner
|
|
3005
|
+
if self.read_only is not None: body['read_only'] = self.read_only
|
|
3006
|
+
if self.updated_at is not None: body['updated_at'] = self.updated_at
|
|
3007
|
+
if self.updated_by is not None: body['updated_by'] = self.updated_by
|
|
3008
|
+
if self.url is not None: body['url'] = self.url
|
|
3009
|
+
return body
|
|
3010
|
+
|
|
2335
3011
|
@classmethod
|
|
2336
3012
|
def from_dict(cls, d: Dict[str, any]) -> ExternalLocationInfo:
|
|
2337
3013
|
"""Deserializes the ExternalLocationInfo from a dictionary."""
|
|
@@ -2376,6 +3052,14 @@ class FailedStatus:
|
|
|
2376
3052
|
if self.timestamp is not None: body['timestamp'] = self.timestamp
|
|
2377
3053
|
return body
|
|
2378
3054
|
|
|
3055
|
+
def as_shallow_dict(self) -> dict:
|
|
3056
|
+
"""Serializes the FailedStatus into a shallow dictionary of its immediate attributes."""
|
|
3057
|
+
body = {}
|
|
3058
|
+
if self.last_processed_commit_version is not None:
|
|
3059
|
+
body['last_processed_commit_version'] = self.last_processed_commit_version
|
|
3060
|
+
if self.timestamp is not None: body['timestamp'] = self.timestamp
|
|
3061
|
+
return body
|
|
3062
|
+
|
|
2379
3063
|
@classmethod
|
|
2380
3064
|
def from_dict(cls, d: Dict[str, any]) -> FailedStatus:
|
|
2381
3065
|
"""Deserializes the FailedStatus from a dictionary."""
|
|
@@ -2406,6 +3090,15 @@ class ForeignKeyConstraint:
|
|
|
2406
3090
|
if self.parent_table is not None: body['parent_table'] = self.parent_table
|
|
2407
3091
|
return body
|
|
2408
3092
|
|
|
3093
|
+
def as_shallow_dict(self) -> dict:
|
|
3094
|
+
"""Serializes the ForeignKeyConstraint into a shallow dictionary of its immediate attributes."""
|
|
3095
|
+
body = {}
|
|
3096
|
+
if self.child_columns: body['child_columns'] = self.child_columns
|
|
3097
|
+
if self.name is not None: body['name'] = self.name
|
|
3098
|
+
if self.parent_columns: body['parent_columns'] = self.parent_columns
|
|
3099
|
+
if self.parent_table is not None: body['parent_table'] = self.parent_table
|
|
3100
|
+
return body
|
|
3101
|
+
|
|
2409
3102
|
@classmethod
|
|
2410
3103
|
def from_dict(cls, d: Dict[str, any]) -> ForeignKeyConstraint:
|
|
2411
3104
|
"""Deserializes the ForeignKeyConstraint from a dictionary."""
|
|
@@ -2429,6 +3122,12 @@ class FunctionDependency:
|
|
|
2429
3122
|
if self.function_full_name is not None: body['function_full_name'] = self.function_full_name
|
|
2430
3123
|
return body
|
|
2431
3124
|
|
|
3125
|
+
def as_shallow_dict(self) -> dict:
|
|
3126
|
+
"""Serializes the FunctionDependency into a shallow dictionary of its immediate attributes."""
|
|
3127
|
+
body = {}
|
|
3128
|
+
if self.function_full_name is not None: body['function_full_name'] = self.function_full_name
|
|
3129
|
+
return body
|
|
3130
|
+
|
|
2432
3131
|
@classmethod
|
|
2433
3132
|
def from_dict(cls, d: Dict[str, any]) -> FunctionDependency:
|
|
2434
3133
|
"""Deserializes the FunctionDependency from a dictionary."""
|
|
@@ -2565,6 +3264,41 @@ class FunctionInfo:
|
|
|
2565
3264
|
if self.updated_by is not None: body['updated_by'] = self.updated_by
|
|
2566
3265
|
return body
|
|
2567
3266
|
|
|
3267
|
+
def as_shallow_dict(self) -> dict:
|
|
3268
|
+
"""Serializes the FunctionInfo into a shallow dictionary of its immediate attributes."""
|
|
3269
|
+
body = {}
|
|
3270
|
+
if self.browse_only is not None: body['browse_only'] = self.browse_only
|
|
3271
|
+
if self.catalog_name is not None: body['catalog_name'] = self.catalog_name
|
|
3272
|
+
if self.comment is not None: body['comment'] = self.comment
|
|
3273
|
+
if self.created_at is not None: body['created_at'] = self.created_at
|
|
3274
|
+
if self.created_by is not None: body['created_by'] = self.created_by
|
|
3275
|
+
if self.data_type is not None: body['data_type'] = self.data_type
|
|
3276
|
+
if self.external_language is not None: body['external_language'] = self.external_language
|
|
3277
|
+
if self.external_name is not None: body['external_name'] = self.external_name
|
|
3278
|
+
if self.full_data_type is not None: body['full_data_type'] = self.full_data_type
|
|
3279
|
+
if self.full_name is not None: body['full_name'] = self.full_name
|
|
3280
|
+
if self.function_id is not None: body['function_id'] = self.function_id
|
|
3281
|
+
if self.input_params: body['input_params'] = self.input_params
|
|
3282
|
+
if self.is_deterministic is not None: body['is_deterministic'] = self.is_deterministic
|
|
3283
|
+
if self.is_null_call is not None: body['is_null_call'] = self.is_null_call
|
|
3284
|
+
if self.metastore_id is not None: body['metastore_id'] = self.metastore_id
|
|
3285
|
+
if self.name is not None: body['name'] = self.name
|
|
3286
|
+
if self.owner is not None: body['owner'] = self.owner
|
|
3287
|
+
if self.parameter_style is not None: body['parameter_style'] = self.parameter_style
|
|
3288
|
+
if self.properties is not None: body['properties'] = self.properties
|
|
3289
|
+
if self.return_params: body['return_params'] = self.return_params
|
|
3290
|
+
if self.routine_body is not None: body['routine_body'] = self.routine_body
|
|
3291
|
+
if self.routine_definition is not None: body['routine_definition'] = self.routine_definition
|
|
3292
|
+
if self.routine_dependencies: body['routine_dependencies'] = self.routine_dependencies
|
|
3293
|
+
if self.schema_name is not None: body['schema_name'] = self.schema_name
|
|
3294
|
+
if self.security_type is not None: body['security_type'] = self.security_type
|
|
3295
|
+
if self.specific_name is not None: body['specific_name'] = self.specific_name
|
|
3296
|
+
if self.sql_data_access is not None: body['sql_data_access'] = self.sql_data_access
|
|
3297
|
+
if self.sql_path is not None: body['sql_path'] = self.sql_path
|
|
3298
|
+
if self.updated_at is not None: body['updated_at'] = self.updated_at
|
|
3299
|
+
if self.updated_by is not None: body['updated_by'] = self.updated_by
|
|
3300
|
+
return body
|
|
3301
|
+
|
|
2568
3302
|
@classmethod
|
|
2569
3303
|
def from_dict(cls, d: Dict[str, any]) -> FunctionInfo:
|
|
2570
3304
|
"""Deserializes the FunctionInfo from a dictionary."""
|
|
@@ -2639,7 +3373,6 @@ class FunctionParameterInfo:
|
|
|
2639
3373
|
"""Full data type spec, SQL/catalogString text."""
|
|
2640
3374
|
|
|
2641
3375
|
type_name: ColumnTypeName
|
|
2642
|
-
"""Name of type (INT, STRUCT, MAP, etc.)."""
|
|
2643
3376
|
|
|
2644
3377
|
position: int
|
|
2645
3378
|
"""Ordinal position of column (starting at position 0)."""
|
|
@@ -2685,6 +3418,23 @@ class FunctionParameterInfo:
|
|
|
2685
3418
|
if self.type_text is not None: body['type_text'] = self.type_text
|
|
2686
3419
|
return body
|
|
2687
3420
|
|
|
3421
|
+
def as_shallow_dict(self) -> dict:
|
|
3422
|
+
"""Serializes the FunctionParameterInfo into a shallow dictionary of its immediate attributes."""
|
|
3423
|
+
body = {}
|
|
3424
|
+
if self.comment is not None: body['comment'] = self.comment
|
|
3425
|
+
if self.name is not None: body['name'] = self.name
|
|
3426
|
+
if self.parameter_default is not None: body['parameter_default'] = self.parameter_default
|
|
3427
|
+
if self.parameter_mode is not None: body['parameter_mode'] = self.parameter_mode
|
|
3428
|
+
if self.parameter_type is not None: body['parameter_type'] = self.parameter_type
|
|
3429
|
+
if self.position is not None: body['position'] = self.position
|
|
3430
|
+
if self.type_interval_type is not None: body['type_interval_type'] = self.type_interval_type
|
|
3431
|
+
if self.type_json is not None: body['type_json'] = self.type_json
|
|
3432
|
+
if self.type_name is not None: body['type_name'] = self.type_name
|
|
3433
|
+
if self.type_precision is not None: body['type_precision'] = self.type_precision
|
|
3434
|
+
if self.type_scale is not None: body['type_scale'] = self.type_scale
|
|
3435
|
+
if self.type_text is not None: body['type_text'] = self.type_text
|
|
3436
|
+
return body
|
|
3437
|
+
|
|
2688
3438
|
@classmethod
|
|
2689
3439
|
def from_dict(cls, d: Dict[str, any]) -> FunctionParameterInfo:
|
|
2690
3440
|
"""Deserializes the FunctionParameterInfo from a dictionary."""
|
|
@@ -2713,6 +3463,12 @@ class FunctionParameterInfos:
|
|
|
2713
3463
|
if self.parameters: body['parameters'] = [v.as_dict() for v in self.parameters]
|
|
2714
3464
|
return body
|
|
2715
3465
|
|
|
3466
|
+
def as_shallow_dict(self) -> dict:
|
|
3467
|
+
"""Serializes the FunctionParameterInfos into a shallow dictionary of its immediate attributes."""
|
|
3468
|
+
body = {}
|
|
3469
|
+
if self.parameters: body['parameters'] = self.parameters
|
|
3470
|
+
return body
|
|
3471
|
+
|
|
2716
3472
|
@classmethod
|
|
2717
3473
|
def from_dict(cls, d: Dict[str, any]) -> FunctionParameterInfos:
|
|
2718
3474
|
"""Deserializes the FunctionParameterInfos from a dictionary."""
|
|
@@ -2745,6 +3501,12 @@ class GcpOauthToken:
|
|
|
2745
3501
|
if self.oauth_token is not None: body['oauth_token'] = self.oauth_token
|
|
2746
3502
|
return body
|
|
2747
3503
|
|
|
3504
|
+
def as_shallow_dict(self) -> dict:
|
|
3505
|
+
"""Serializes the GcpOauthToken into a shallow dictionary of its immediate attributes."""
|
|
3506
|
+
body = {}
|
|
3507
|
+
if self.oauth_token is not None: body['oauth_token'] = self.oauth_token
|
|
3508
|
+
return body
|
|
3509
|
+
|
|
2748
3510
|
@classmethod
|
|
2749
3511
|
def from_dict(cls, d: Dict[str, any]) -> GcpOauthToken:
|
|
2750
3512
|
"""Deserializes the GcpOauthToken from a dictionary."""
|
|
@@ -2753,7 +3515,7 @@ class GcpOauthToken:
|
|
|
2753
3515
|
|
|
2754
3516
|
@dataclass
|
|
2755
3517
|
class GenerateTemporaryServiceCredentialAzureOptions:
|
|
2756
|
-
"""
|
|
3518
|
+
"""The Azure cloud options to customize the requested temporary credential"""
|
|
2757
3519
|
|
|
2758
3520
|
resources: Optional[List[str]] = None
|
|
2759
3521
|
"""The resources to which the temporary Azure credential should apply. These resources are the
|
|
@@ -2766,25 +3528,70 @@ class GenerateTemporaryServiceCredentialAzureOptions:
|
|
|
2766
3528
|
if self.resources: body['resources'] = [v for v in self.resources]
|
|
2767
3529
|
return body
|
|
2768
3530
|
|
|
3531
|
+
def as_shallow_dict(self) -> dict:
|
|
3532
|
+
"""Serializes the GenerateTemporaryServiceCredentialAzureOptions into a shallow dictionary of its immediate attributes."""
|
|
3533
|
+
body = {}
|
|
3534
|
+
if self.resources: body['resources'] = self.resources
|
|
3535
|
+
return body
|
|
3536
|
+
|
|
2769
3537
|
@classmethod
|
|
2770
3538
|
def from_dict(cls, d: Dict[str, any]) -> GenerateTemporaryServiceCredentialAzureOptions:
|
|
2771
3539
|
"""Deserializes the GenerateTemporaryServiceCredentialAzureOptions from a dictionary."""
|
|
2772
3540
|
return cls(resources=d.get('resources', None))
|
|
2773
3541
|
|
|
2774
3542
|
|
|
3543
|
+
@dataclass
|
|
3544
|
+
class GenerateTemporaryServiceCredentialGcpOptions:
|
|
3545
|
+
"""The GCP cloud options to customize the requested temporary credential"""
|
|
3546
|
+
|
|
3547
|
+
scopes: Optional[List[str]] = None
|
|
3548
|
+
"""The scopes to which the temporary GCP credential should apply. These resources are the scopes
|
|
3549
|
+
that are passed to the token provider (see
|
|
3550
|
+
https://google-auth.readthedocs.io/en/latest/reference/google.auth.html#google.auth.credentials.Credentials)"""
|
|
3551
|
+
|
|
3552
|
+
def as_dict(self) -> dict:
|
|
3553
|
+
"""Serializes the GenerateTemporaryServiceCredentialGcpOptions into a dictionary suitable for use as a JSON request body."""
|
|
3554
|
+
body = {}
|
|
3555
|
+
if self.scopes: body['scopes'] = [v for v in self.scopes]
|
|
3556
|
+
return body
|
|
3557
|
+
|
|
3558
|
+
def as_shallow_dict(self) -> dict:
|
|
3559
|
+
"""Serializes the GenerateTemporaryServiceCredentialGcpOptions into a shallow dictionary of its immediate attributes."""
|
|
3560
|
+
body = {}
|
|
3561
|
+
if self.scopes: body['scopes'] = self.scopes
|
|
3562
|
+
return body
|
|
3563
|
+
|
|
3564
|
+
@classmethod
|
|
3565
|
+
def from_dict(cls, d: Dict[str, any]) -> GenerateTemporaryServiceCredentialGcpOptions:
|
|
3566
|
+
"""Deserializes the GenerateTemporaryServiceCredentialGcpOptions from a dictionary."""
|
|
3567
|
+
return cls(scopes=d.get('scopes', None))
|
|
3568
|
+
|
|
3569
|
+
|
|
2775
3570
|
@dataclass
|
|
2776
3571
|
class GenerateTemporaryServiceCredentialRequest:
|
|
3572
|
+
credential_name: str
|
|
3573
|
+
"""The name of the service credential used to generate a temporary credential"""
|
|
3574
|
+
|
|
2777
3575
|
azure_options: Optional[GenerateTemporaryServiceCredentialAzureOptions] = None
|
|
2778
|
-
"""
|
|
3576
|
+
"""The Azure cloud options to customize the requested temporary credential"""
|
|
2779
3577
|
|
|
2780
|
-
|
|
2781
|
-
"""The
|
|
3578
|
+
gcp_options: Optional[GenerateTemporaryServiceCredentialGcpOptions] = None
|
|
3579
|
+
"""The GCP cloud options to customize the requested temporary credential"""
|
|
2782
3580
|
|
|
2783
3581
|
def as_dict(self) -> dict:
|
|
2784
3582
|
"""Serializes the GenerateTemporaryServiceCredentialRequest into a dictionary suitable for use as a JSON request body."""
|
|
2785
3583
|
body = {}
|
|
2786
3584
|
if self.azure_options: body['azure_options'] = self.azure_options.as_dict()
|
|
2787
3585
|
if self.credential_name is not None: body['credential_name'] = self.credential_name
|
|
3586
|
+
if self.gcp_options: body['gcp_options'] = self.gcp_options.as_dict()
|
|
3587
|
+
return body
|
|
3588
|
+
|
|
3589
|
+
def as_shallow_dict(self) -> dict:
|
|
3590
|
+
"""Serializes the GenerateTemporaryServiceCredentialRequest into a shallow dictionary of its immediate attributes."""
|
|
3591
|
+
body = {}
|
|
3592
|
+
if self.azure_options: body['azure_options'] = self.azure_options
|
|
3593
|
+
if self.credential_name is not None: body['credential_name'] = self.credential_name
|
|
3594
|
+
if self.gcp_options: body['gcp_options'] = self.gcp_options
|
|
2788
3595
|
return body
|
|
2789
3596
|
|
|
2790
3597
|
@classmethod
|
|
@@ -2792,7 +3599,8 @@ class GenerateTemporaryServiceCredentialRequest:
|
|
|
2792
3599
|
"""Deserializes the GenerateTemporaryServiceCredentialRequest from a dictionary."""
|
|
2793
3600
|
return cls(azure_options=_from_dict(d, 'azure_options',
|
|
2794
3601
|
GenerateTemporaryServiceCredentialAzureOptions),
|
|
2795
|
-
credential_name=d.get('credential_name', None)
|
|
3602
|
+
credential_name=d.get('credential_name', None),
|
|
3603
|
+
gcp_options=_from_dict(d, 'gcp_options', GenerateTemporaryServiceCredentialGcpOptions))
|
|
2796
3604
|
|
|
2797
3605
|
|
|
2798
3606
|
@dataclass
|
|
@@ -2812,6 +3620,13 @@ class GenerateTemporaryTableCredentialRequest:
|
|
|
2812
3620
|
if self.table_id is not None: body['table_id'] = self.table_id
|
|
2813
3621
|
return body
|
|
2814
3622
|
|
|
3623
|
+
def as_shallow_dict(self) -> dict:
|
|
3624
|
+
"""Serializes the GenerateTemporaryTableCredentialRequest into a shallow dictionary of its immediate attributes."""
|
|
3625
|
+
body = {}
|
|
3626
|
+
if self.operation is not None: body['operation'] = self.operation
|
|
3627
|
+
if self.table_id is not None: body['table_id'] = self.table_id
|
|
3628
|
+
return body
|
|
3629
|
+
|
|
2815
3630
|
@classmethod
|
|
2816
3631
|
def from_dict(cls, d: Dict[str, any]) -> GenerateTemporaryTableCredentialRequest:
|
|
2817
3632
|
"""Deserializes the GenerateTemporaryTableCredentialRequest from a dictionary."""
|
|
@@ -2861,6 +3676,18 @@ class GenerateTemporaryTableCredentialResponse:
|
|
|
2861
3676
|
if self.url is not None: body['url'] = self.url
|
|
2862
3677
|
return body
|
|
2863
3678
|
|
|
3679
|
+
def as_shallow_dict(self) -> dict:
|
|
3680
|
+
"""Serializes the GenerateTemporaryTableCredentialResponse into a shallow dictionary of its immediate attributes."""
|
|
3681
|
+
body = {}
|
|
3682
|
+
if self.aws_temp_credentials: body['aws_temp_credentials'] = self.aws_temp_credentials
|
|
3683
|
+
if self.azure_aad: body['azure_aad'] = self.azure_aad
|
|
3684
|
+
if self.azure_user_delegation_sas: body['azure_user_delegation_sas'] = self.azure_user_delegation_sas
|
|
3685
|
+
if self.expiration_time is not None: body['expiration_time'] = self.expiration_time
|
|
3686
|
+
if self.gcp_oauth_token: body['gcp_oauth_token'] = self.gcp_oauth_token
|
|
3687
|
+
if self.r2_temp_credentials: body['r2_temp_credentials'] = self.r2_temp_credentials
|
|
3688
|
+
if self.url is not None: body['url'] = self.url
|
|
3689
|
+
return body
|
|
3690
|
+
|
|
2864
3691
|
@classmethod
|
|
2865
3692
|
def from_dict(cls, d: Dict[str, any]) -> GenerateTemporaryTableCredentialResponse:
|
|
2866
3693
|
"""Deserializes the GenerateTemporaryTableCredentialResponse from a dictionary."""
|
|
@@ -2974,6 +3801,38 @@ class GetMetastoreSummaryResponse:
|
|
|
2974
3801
|
if self.updated_by is not None: body['updated_by'] = self.updated_by
|
|
2975
3802
|
return body
|
|
2976
3803
|
|
|
3804
|
+
def as_shallow_dict(self) -> dict:
|
|
3805
|
+
"""Serializes the GetMetastoreSummaryResponse into a shallow dictionary of its immediate attributes."""
|
|
3806
|
+
body = {}
|
|
3807
|
+
if self.cloud is not None: body['cloud'] = self.cloud
|
|
3808
|
+
if self.created_at is not None: body['created_at'] = self.created_at
|
|
3809
|
+
if self.created_by is not None: body['created_by'] = self.created_by
|
|
3810
|
+
if self.default_data_access_config_id is not None:
|
|
3811
|
+
body['default_data_access_config_id'] = self.default_data_access_config_id
|
|
3812
|
+
if self.delta_sharing_organization_name is not None:
|
|
3813
|
+
body['delta_sharing_organization_name'] = self.delta_sharing_organization_name
|
|
3814
|
+
if self.delta_sharing_recipient_token_lifetime_in_seconds is not None:
|
|
3815
|
+
body[
|
|
3816
|
+
'delta_sharing_recipient_token_lifetime_in_seconds'] = self.delta_sharing_recipient_token_lifetime_in_seconds
|
|
3817
|
+
if self.delta_sharing_scope is not None: body['delta_sharing_scope'] = self.delta_sharing_scope
|
|
3818
|
+
if self.external_access_enabled is not None:
|
|
3819
|
+
body['external_access_enabled'] = self.external_access_enabled
|
|
3820
|
+
if self.global_metastore_id is not None: body['global_metastore_id'] = self.global_metastore_id
|
|
3821
|
+
if self.metastore_id is not None: body['metastore_id'] = self.metastore_id
|
|
3822
|
+
if self.name is not None: body['name'] = self.name
|
|
3823
|
+
if self.owner is not None: body['owner'] = self.owner
|
|
3824
|
+
if self.privilege_model_version is not None:
|
|
3825
|
+
body['privilege_model_version'] = self.privilege_model_version
|
|
3826
|
+
if self.region is not None: body['region'] = self.region
|
|
3827
|
+
if self.storage_root is not None: body['storage_root'] = self.storage_root
|
|
3828
|
+
if self.storage_root_credential_id is not None:
|
|
3829
|
+
body['storage_root_credential_id'] = self.storage_root_credential_id
|
|
3830
|
+
if self.storage_root_credential_name is not None:
|
|
3831
|
+
body['storage_root_credential_name'] = self.storage_root_credential_name
|
|
3832
|
+
if self.updated_at is not None: body['updated_at'] = self.updated_at
|
|
3833
|
+
if self.updated_by is not None: body['updated_by'] = self.updated_by
|
|
3834
|
+
return body
|
|
3835
|
+
|
|
2977
3836
|
@classmethod
|
|
2978
3837
|
def from_dict(cls, d: Dict[str, any]) -> GetMetastoreSummaryResponse:
|
|
2979
3838
|
"""Deserializes the GetMetastoreSummaryResponse from a dictionary."""
|
|
@@ -3018,6 +3877,12 @@ class GetQuotaResponse:
|
|
|
3018
3877
|
if self.quota_info: body['quota_info'] = self.quota_info.as_dict()
|
|
3019
3878
|
return body
|
|
3020
3879
|
|
|
3880
|
+
def as_shallow_dict(self) -> dict:
|
|
3881
|
+
"""Serializes the GetQuotaResponse into a shallow dictionary of its immediate attributes."""
|
|
3882
|
+
body = {}
|
|
3883
|
+
if self.quota_info: body['quota_info'] = self.quota_info
|
|
3884
|
+
return body
|
|
3885
|
+
|
|
3021
3886
|
@classmethod
|
|
3022
3887
|
def from_dict(cls, d: Dict[str, any]) -> GetQuotaResponse:
|
|
3023
3888
|
"""Deserializes the GetQuotaResponse from a dictionary."""
|
|
@@ -3042,6 +3907,12 @@ class ListAccountMetastoreAssignmentsResponse:
|
|
|
3042
3907
|
if self.workspace_ids: body['workspace_ids'] = [v for v in self.workspace_ids]
|
|
3043
3908
|
return body
|
|
3044
3909
|
|
|
3910
|
+
def as_shallow_dict(self) -> dict:
|
|
3911
|
+
"""Serializes the ListAccountMetastoreAssignmentsResponse into a shallow dictionary of its immediate attributes."""
|
|
3912
|
+
body = {}
|
|
3913
|
+
if self.workspace_ids: body['workspace_ids'] = self.workspace_ids
|
|
3914
|
+
return body
|
|
3915
|
+
|
|
3045
3916
|
@classmethod
|
|
3046
3917
|
def from_dict(cls, d: Dict[str, any]) -> ListAccountMetastoreAssignmentsResponse:
|
|
3047
3918
|
"""Deserializes the ListAccountMetastoreAssignmentsResponse from a dictionary."""
|
|
@@ -3060,6 +3931,12 @@ class ListAccountStorageCredentialsResponse:
|
|
|
3060
3931
|
body['storage_credentials'] = [v.as_dict() for v in self.storage_credentials]
|
|
3061
3932
|
return body
|
|
3062
3933
|
|
|
3934
|
+
def as_shallow_dict(self) -> dict:
|
|
3935
|
+
"""Serializes the ListAccountStorageCredentialsResponse into a shallow dictionary of its immediate attributes."""
|
|
3936
|
+
body = {}
|
|
3937
|
+
if self.storage_credentials: body['storage_credentials'] = self.storage_credentials
|
|
3938
|
+
return body
|
|
3939
|
+
|
|
3063
3940
|
@classmethod
|
|
3064
3941
|
def from_dict(cls, d: Dict[str, any]) -> ListAccountStorageCredentialsResponse:
|
|
3065
3942
|
"""Deserializes the ListAccountStorageCredentialsResponse from a dictionary."""
|
|
@@ -3082,6 +3959,13 @@ class ListCatalogsResponse:
|
|
|
3082
3959
|
if self.next_page_token is not None: body['next_page_token'] = self.next_page_token
|
|
3083
3960
|
return body
|
|
3084
3961
|
|
|
3962
|
+
def as_shallow_dict(self) -> dict:
|
|
3963
|
+
"""Serializes the ListCatalogsResponse into a shallow dictionary of its immediate attributes."""
|
|
3964
|
+
body = {}
|
|
3965
|
+
if self.catalogs: body['catalogs'] = self.catalogs
|
|
3966
|
+
if self.next_page_token is not None: body['next_page_token'] = self.next_page_token
|
|
3967
|
+
return body
|
|
3968
|
+
|
|
3085
3969
|
@classmethod
|
|
3086
3970
|
def from_dict(cls, d: Dict[str, any]) -> ListCatalogsResponse:
|
|
3087
3971
|
"""Deserializes the ListCatalogsResponse from a dictionary."""
|
|
@@ -3105,6 +3989,13 @@ class ListConnectionsResponse:
|
|
|
3105
3989
|
if self.next_page_token is not None: body['next_page_token'] = self.next_page_token
|
|
3106
3990
|
return body
|
|
3107
3991
|
|
|
3992
|
+
def as_shallow_dict(self) -> dict:
|
|
3993
|
+
"""Serializes the ListConnectionsResponse into a shallow dictionary of its immediate attributes."""
|
|
3994
|
+
body = {}
|
|
3995
|
+
if self.connections: body['connections'] = self.connections
|
|
3996
|
+
if self.next_page_token is not None: body['next_page_token'] = self.next_page_token
|
|
3997
|
+
return body
|
|
3998
|
+
|
|
3108
3999
|
@classmethod
|
|
3109
4000
|
def from_dict(cls, d: Dict[str, any]) -> ListConnectionsResponse:
|
|
3110
4001
|
"""Deserializes the ListConnectionsResponse from a dictionary."""
|
|
@@ -3127,6 +4018,13 @@ class ListCredentialsResponse:
|
|
|
3127
4018
|
if self.next_page_token is not None: body['next_page_token'] = self.next_page_token
|
|
3128
4019
|
return body
|
|
3129
4020
|
|
|
4021
|
+
def as_shallow_dict(self) -> dict:
|
|
4022
|
+
"""Serializes the ListCredentialsResponse into a shallow dictionary of its immediate attributes."""
|
|
4023
|
+
body = {}
|
|
4024
|
+
if self.credentials: body['credentials'] = self.credentials
|
|
4025
|
+
if self.next_page_token is not None: body['next_page_token'] = self.next_page_token
|
|
4026
|
+
return body
|
|
4027
|
+
|
|
3130
4028
|
@classmethod
|
|
3131
4029
|
def from_dict(cls, d: Dict[str, any]) -> ListCredentialsResponse:
|
|
3132
4030
|
"""Deserializes the ListCredentialsResponse from a dictionary."""
|
|
@@ -3151,6 +4049,13 @@ class ListExternalLocationsResponse:
|
|
|
3151
4049
|
if self.next_page_token is not None: body['next_page_token'] = self.next_page_token
|
|
3152
4050
|
return body
|
|
3153
4051
|
|
|
4052
|
+
def as_shallow_dict(self) -> dict:
|
|
4053
|
+
"""Serializes the ListExternalLocationsResponse into a shallow dictionary of its immediate attributes."""
|
|
4054
|
+
body = {}
|
|
4055
|
+
if self.external_locations: body['external_locations'] = self.external_locations
|
|
4056
|
+
if self.next_page_token is not None: body['next_page_token'] = self.next_page_token
|
|
4057
|
+
return body
|
|
4058
|
+
|
|
3154
4059
|
@classmethod
|
|
3155
4060
|
def from_dict(cls, d: Dict[str, any]) -> ListExternalLocationsResponse:
|
|
3156
4061
|
"""Deserializes the ListExternalLocationsResponse from a dictionary."""
|
|
@@ -3174,6 +4079,13 @@ class ListFunctionsResponse:
|
|
|
3174
4079
|
if self.next_page_token is not None: body['next_page_token'] = self.next_page_token
|
|
3175
4080
|
return body
|
|
3176
4081
|
|
|
4082
|
+
def as_shallow_dict(self) -> dict:
|
|
4083
|
+
"""Serializes the ListFunctionsResponse into a shallow dictionary of its immediate attributes."""
|
|
4084
|
+
body = {}
|
|
4085
|
+
if self.functions: body['functions'] = self.functions
|
|
4086
|
+
if self.next_page_token is not None: body['next_page_token'] = self.next_page_token
|
|
4087
|
+
return body
|
|
4088
|
+
|
|
3177
4089
|
@classmethod
|
|
3178
4090
|
def from_dict(cls, d: Dict[str, any]) -> ListFunctionsResponse:
|
|
3179
4091
|
"""Deserializes the ListFunctionsResponse from a dictionary."""
|
|
@@ -3192,6 +4104,12 @@ class ListMetastoresResponse:
|
|
|
3192
4104
|
if self.metastores: body['metastores'] = [v.as_dict() for v in self.metastores]
|
|
3193
4105
|
return body
|
|
3194
4106
|
|
|
4107
|
+
def as_shallow_dict(self) -> dict:
|
|
4108
|
+
"""Serializes the ListMetastoresResponse into a shallow dictionary of its immediate attributes."""
|
|
4109
|
+
body = {}
|
|
4110
|
+
if self.metastores: body['metastores'] = self.metastores
|
|
4111
|
+
return body
|
|
4112
|
+
|
|
3195
4113
|
@classmethod
|
|
3196
4114
|
def from_dict(cls, d: Dict[str, any]) -> ListMetastoresResponse:
|
|
3197
4115
|
"""Deserializes the ListMetastoresResponse from a dictionary."""
|
|
@@ -3213,6 +4131,13 @@ class ListModelVersionsResponse:
|
|
|
3213
4131
|
if self.next_page_token is not None: body['next_page_token'] = self.next_page_token
|
|
3214
4132
|
return body
|
|
3215
4133
|
|
|
4134
|
+
def as_shallow_dict(self) -> dict:
|
|
4135
|
+
"""Serializes the ListModelVersionsResponse into a shallow dictionary of its immediate attributes."""
|
|
4136
|
+
body = {}
|
|
4137
|
+
if self.model_versions: body['model_versions'] = self.model_versions
|
|
4138
|
+
if self.next_page_token is not None: body['next_page_token'] = self.next_page_token
|
|
4139
|
+
return body
|
|
4140
|
+
|
|
3216
4141
|
@classmethod
|
|
3217
4142
|
def from_dict(cls, d: Dict[str, any]) -> ListModelVersionsResponse:
|
|
3218
4143
|
"""Deserializes the ListModelVersionsResponse from a dictionary."""
|
|
@@ -3236,6 +4161,13 @@ class ListQuotasResponse:
|
|
|
3236
4161
|
if self.quotas: body['quotas'] = [v.as_dict() for v in self.quotas]
|
|
3237
4162
|
return body
|
|
3238
4163
|
|
|
4164
|
+
def as_shallow_dict(self) -> dict:
|
|
4165
|
+
"""Serializes the ListQuotasResponse into a shallow dictionary of its immediate attributes."""
|
|
4166
|
+
body = {}
|
|
4167
|
+
if self.next_page_token is not None: body['next_page_token'] = self.next_page_token
|
|
4168
|
+
if self.quotas: body['quotas'] = self.quotas
|
|
4169
|
+
return body
|
|
4170
|
+
|
|
3239
4171
|
@classmethod
|
|
3240
4172
|
def from_dict(cls, d: Dict[str, any]) -> ListQuotasResponse:
|
|
3241
4173
|
"""Deserializes the ListQuotasResponse from a dictionary."""
|
|
@@ -3258,6 +4190,13 @@ class ListRegisteredModelsResponse:
|
|
|
3258
4190
|
if self.registered_models: body['registered_models'] = [v.as_dict() for v in self.registered_models]
|
|
3259
4191
|
return body
|
|
3260
4192
|
|
|
4193
|
+
def as_shallow_dict(self) -> dict:
|
|
4194
|
+
"""Serializes the ListRegisteredModelsResponse into a shallow dictionary of its immediate attributes."""
|
|
4195
|
+
body = {}
|
|
4196
|
+
if self.next_page_token is not None: body['next_page_token'] = self.next_page_token
|
|
4197
|
+
if self.registered_models: body['registered_models'] = self.registered_models
|
|
4198
|
+
return body
|
|
4199
|
+
|
|
3261
4200
|
@classmethod
|
|
3262
4201
|
def from_dict(cls, d: Dict[str, any]) -> ListRegisteredModelsResponse:
|
|
3263
4202
|
"""Deserializes the ListRegisteredModelsResponse from a dictionary."""
|
|
@@ -3281,6 +4220,13 @@ class ListSchemasResponse:
|
|
|
3281
4220
|
if self.schemas: body['schemas'] = [v.as_dict() for v in self.schemas]
|
|
3282
4221
|
return body
|
|
3283
4222
|
|
|
4223
|
+
def as_shallow_dict(self) -> dict:
|
|
4224
|
+
"""Serializes the ListSchemasResponse into a shallow dictionary of its immediate attributes."""
|
|
4225
|
+
body = {}
|
|
4226
|
+
if self.next_page_token is not None: body['next_page_token'] = self.next_page_token
|
|
4227
|
+
if self.schemas: body['schemas'] = self.schemas
|
|
4228
|
+
return body
|
|
4229
|
+
|
|
3284
4230
|
@classmethod
|
|
3285
4231
|
def from_dict(cls, d: Dict[str, any]) -> ListSchemasResponse:
|
|
3286
4232
|
"""Deserializes the ListSchemasResponse from a dictionary."""
|
|
@@ -3304,6 +4250,13 @@ class ListStorageCredentialsResponse:
|
|
|
3304
4250
|
body['storage_credentials'] = [v.as_dict() for v in self.storage_credentials]
|
|
3305
4251
|
return body
|
|
3306
4252
|
|
|
4253
|
+
def as_shallow_dict(self) -> dict:
|
|
4254
|
+
"""Serializes the ListStorageCredentialsResponse into a shallow dictionary of its immediate attributes."""
|
|
4255
|
+
body = {}
|
|
4256
|
+
if self.next_page_token is not None: body['next_page_token'] = self.next_page_token
|
|
4257
|
+
if self.storage_credentials: body['storage_credentials'] = self.storage_credentials
|
|
4258
|
+
return body
|
|
4259
|
+
|
|
3307
4260
|
@classmethod
|
|
3308
4261
|
def from_dict(cls, d: Dict[str, any]) -> ListStorageCredentialsResponse:
|
|
3309
4262
|
"""Deserializes the ListStorageCredentialsResponse from a dictionary."""
|
|
@@ -3327,6 +4280,13 @@ class ListSystemSchemasResponse:
|
|
|
3327
4280
|
if self.schemas: body['schemas'] = [v.as_dict() for v in self.schemas]
|
|
3328
4281
|
return body
|
|
3329
4282
|
|
|
4283
|
+
def as_shallow_dict(self) -> dict:
|
|
4284
|
+
"""Serializes the ListSystemSchemasResponse into a shallow dictionary of its immediate attributes."""
|
|
4285
|
+
body = {}
|
|
4286
|
+
if self.next_page_token is not None: body['next_page_token'] = self.next_page_token
|
|
4287
|
+
if self.schemas: body['schemas'] = self.schemas
|
|
4288
|
+
return body
|
|
4289
|
+
|
|
3330
4290
|
@classmethod
|
|
3331
4291
|
def from_dict(cls, d: Dict[str, any]) -> ListSystemSchemasResponse:
|
|
3332
4292
|
"""Deserializes the ListSystemSchemasResponse from a dictionary."""
|
|
@@ -3350,6 +4310,13 @@ class ListTableSummariesResponse:
|
|
|
3350
4310
|
if self.tables: body['tables'] = [v.as_dict() for v in self.tables]
|
|
3351
4311
|
return body
|
|
3352
4312
|
|
|
4313
|
+
def as_shallow_dict(self) -> dict:
|
|
4314
|
+
"""Serializes the ListTableSummariesResponse into a shallow dictionary of its immediate attributes."""
|
|
4315
|
+
body = {}
|
|
4316
|
+
if self.next_page_token is not None: body['next_page_token'] = self.next_page_token
|
|
4317
|
+
if self.tables: body['tables'] = self.tables
|
|
4318
|
+
return body
|
|
4319
|
+
|
|
3353
4320
|
@classmethod
|
|
3354
4321
|
def from_dict(cls, d: Dict[str, any]) -> ListTableSummariesResponse:
|
|
3355
4322
|
"""Deserializes the ListTableSummariesResponse from a dictionary."""
|
|
@@ -3373,6 +4340,13 @@ class ListTablesResponse:
|
|
|
3373
4340
|
if self.tables: body['tables'] = [v.as_dict() for v in self.tables]
|
|
3374
4341
|
return body
|
|
3375
4342
|
|
|
4343
|
+
def as_shallow_dict(self) -> dict:
|
|
4344
|
+
"""Serializes the ListTablesResponse into a shallow dictionary of its immediate attributes."""
|
|
4345
|
+
body = {}
|
|
4346
|
+
if self.next_page_token is not None: body['next_page_token'] = self.next_page_token
|
|
4347
|
+
if self.tables: body['tables'] = self.tables
|
|
4348
|
+
return body
|
|
4349
|
+
|
|
3376
4350
|
@classmethod
|
|
3377
4351
|
def from_dict(cls, d: Dict[str, any]) -> ListTablesResponse:
|
|
3378
4352
|
"""Deserializes the ListTablesResponse from a dictionary."""
|
|
@@ -3396,6 +4370,13 @@ class ListVolumesResponseContent:
|
|
|
3396
4370
|
if self.volumes: body['volumes'] = [v.as_dict() for v in self.volumes]
|
|
3397
4371
|
return body
|
|
3398
4372
|
|
|
4373
|
+
def as_shallow_dict(self) -> dict:
|
|
4374
|
+
"""Serializes the ListVolumesResponseContent into a shallow dictionary of its immediate attributes."""
|
|
4375
|
+
body = {}
|
|
4376
|
+
if self.next_page_token is not None: body['next_page_token'] = self.next_page_token
|
|
4377
|
+
if self.volumes: body['volumes'] = self.volumes
|
|
4378
|
+
return body
|
|
4379
|
+
|
|
3399
4380
|
@classmethod
|
|
3400
4381
|
def from_dict(cls, d: Dict[str, any]) -> ListVolumesResponseContent:
|
|
3401
4382
|
"""Deserializes the ListVolumesResponseContent from a dictionary."""
|
|
@@ -3428,6 +4409,14 @@ class MetastoreAssignment:
|
|
|
3428
4409
|
if self.workspace_id is not None: body['workspace_id'] = self.workspace_id
|
|
3429
4410
|
return body
|
|
3430
4411
|
|
|
4412
|
+
def as_shallow_dict(self) -> dict:
|
|
4413
|
+
"""Serializes the MetastoreAssignment into a shallow dictionary of its immediate attributes."""
|
|
4414
|
+
body = {}
|
|
4415
|
+
if self.default_catalog_name is not None: body['default_catalog_name'] = self.default_catalog_name
|
|
4416
|
+
if self.metastore_id is not None: body['metastore_id'] = self.metastore_id
|
|
4417
|
+
if self.workspace_id is not None: body['workspace_id'] = self.workspace_id
|
|
4418
|
+
return body
|
|
4419
|
+
|
|
3431
4420
|
@classmethod
|
|
3432
4421
|
def from_dict(cls, d: Dict[str, any]) -> MetastoreAssignment:
|
|
3433
4422
|
"""Deserializes the MetastoreAssignment from a dictionary."""
|
|
@@ -3528,6 +4517,38 @@ class MetastoreInfo:
|
|
|
3528
4517
|
if self.updated_by is not None: body['updated_by'] = self.updated_by
|
|
3529
4518
|
return body
|
|
3530
4519
|
|
|
4520
|
+
def as_shallow_dict(self) -> dict:
|
|
4521
|
+
"""Serializes the MetastoreInfo into a shallow dictionary of its immediate attributes."""
|
|
4522
|
+
body = {}
|
|
4523
|
+
if self.cloud is not None: body['cloud'] = self.cloud
|
|
4524
|
+
if self.created_at is not None: body['created_at'] = self.created_at
|
|
4525
|
+
if self.created_by is not None: body['created_by'] = self.created_by
|
|
4526
|
+
if self.default_data_access_config_id is not None:
|
|
4527
|
+
body['default_data_access_config_id'] = self.default_data_access_config_id
|
|
4528
|
+
if self.delta_sharing_organization_name is not None:
|
|
4529
|
+
body['delta_sharing_organization_name'] = self.delta_sharing_organization_name
|
|
4530
|
+
if self.delta_sharing_recipient_token_lifetime_in_seconds is not None:
|
|
4531
|
+
body[
|
|
4532
|
+
'delta_sharing_recipient_token_lifetime_in_seconds'] = self.delta_sharing_recipient_token_lifetime_in_seconds
|
|
4533
|
+
if self.delta_sharing_scope is not None: body['delta_sharing_scope'] = self.delta_sharing_scope
|
|
4534
|
+
if self.external_access_enabled is not None:
|
|
4535
|
+
body['external_access_enabled'] = self.external_access_enabled
|
|
4536
|
+
if self.global_metastore_id is not None: body['global_metastore_id'] = self.global_metastore_id
|
|
4537
|
+
if self.metastore_id is not None: body['metastore_id'] = self.metastore_id
|
|
4538
|
+
if self.name is not None: body['name'] = self.name
|
|
4539
|
+
if self.owner is not None: body['owner'] = self.owner
|
|
4540
|
+
if self.privilege_model_version is not None:
|
|
4541
|
+
body['privilege_model_version'] = self.privilege_model_version
|
|
4542
|
+
if self.region is not None: body['region'] = self.region
|
|
4543
|
+
if self.storage_root is not None: body['storage_root'] = self.storage_root
|
|
4544
|
+
if self.storage_root_credential_id is not None:
|
|
4545
|
+
body['storage_root_credential_id'] = self.storage_root_credential_id
|
|
4546
|
+
if self.storage_root_credential_name is not None:
|
|
4547
|
+
body['storage_root_credential_name'] = self.storage_root_credential_name
|
|
4548
|
+
if self.updated_at is not None: body['updated_at'] = self.updated_at
|
|
4549
|
+
if self.updated_by is not None: body['updated_by'] = self.updated_by
|
|
4550
|
+
return body
|
|
4551
|
+
|
|
3531
4552
|
@classmethod
|
|
3532
4553
|
def from_dict(cls, d: Dict[str, any]) -> MetastoreInfo:
|
|
3533
4554
|
"""Deserializes the MetastoreInfo from a dictionary."""
|
|
@@ -3647,6 +4668,31 @@ class ModelVersionInfo:
|
|
|
3647
4668
|
if self.version is not None: body['version'] = self.version
|
|
3648
4669
|
return body
|
|
3649
4670
|
|
|
4671
|
+
def as_shallow_dict(self) -> dict:
|
|
4672
|
+
"""Serializes the ModelVersionInfo into a shallow dictionary of its immediate attributes."""
|
|
4673
|
+
body = {}
|
|
4674
|
+
if self.aliases: body['aliases'] = self.aliases
|
|
4675
|
+
if self.browse_only is not None: body['browse_only'] = self.browse_only
|
|
4676
|
+
if self.catalog_name is not None: body['catalog_name'] = self.catalog_name
|
|
4677
|
+
if self.comment is not None: body['comment'] = self.comment
|
|
4678
|
+
if self.created_at is not None: body['created_at'] = self.created_at
|
|
4679
|
+
if self.created_by is not None: body['created_by'] = self.created_by
|
|
4680
|
+
if self.id is not None: body['id'] = self.id
|
|
4681
|
+
if self.metastore_id is not None: body['metastore_id'] = self.metastore_id
|
|
4682
|
+
if self.model_name is not None: body['model_name'] = self.model_name
|
|
4683
|
+
if self.model_version_dependencies:
|
|
4684
|
+
body['model_version_dependencies'] = self.model_version_dependencies
|
|
4685
|
+
if self.run_id is not None: body['run_id'] = self.run_id
|
|
4686
|
+
if self.run_workspace_id is not None: body['run_workspace_id'] = self.run_workspace_id
|
|
4687
|
+
if self.schema_name is not None: body['schema_name'] = self.schema_name
|
|
4688
|
+
if self.source is not None: body['source'] = self.source
|
|
4689
|
+
if self.status is not None: body['status'] = self.status
|
|
4690
|
+
if self.storage_location is not None: body['storage_location'] = self.storage_location
|
|
4691
|
+
if self.updated_at is not None: body['updated_at'] = self.updated_at
|
|
4692
|
+
if self.updated_by is not None: body['updated_by'] = self.updated_by
|
|
4693
|
+
if self.version is not None: body['version'] = self.version
|
|
4694
|
+
return body
|
|
4695
|
+
|
|
3650
4696
|
@classmethod
|
|
3651
4697
|
def from_dict(cls, d: Dict[str, any]) -> ModelVersionInfo:
|
|
3652
4698
|
"""Deserializes the ModelVersionInfo from a dictionary."""
|
|
@@ -3703,6 +4749,15 @@ class MonitorCronSchedule:
|
|
|
3703
4749
|
if self.timezone_id is not None: body['timezone_id'] = self.timezone_id
|
|
3704
4750
|
return body
|
|
3705
4751
|
|
|
4752
|
+
def as_shallow_dict(self) -> dict:
|
|
4753
|
+
"""Serializes the MonitorCronSchedule into a shallow dictionary of its immediate attributes."""
|
|
4754
|
+
body = {}
|
|
4755
|
+
if self.pause_status is not None: body['pause_status'] = self.pause_status
|
|
4756
|
+
if self.quartz_cron_expression is not None:
|
|
4757
|
+
body['quartz_cron_expression'] = self.quartz_cron_expression
|
|
4758
|
+
if self.timezone_id is not None: body['timezone_id'] = self.timezone_id
|
|
4759
|
+
return body
|
|
4760
|
+
|
|
3706
4761
|
@classmethod
|
|
3707
4762
|
def from_dict(cls, d: Dict[str, any]) -> MonitorCronSchedule:
|
|
3708
4763
|
"""Deserializes the MonitorCronSchedule from a dictionary."""
|
|
@@ -3729,6 +4784,12 @@ class MonitorDataClassificationConfig:
|
|
|
3729
4784
|
if self.enabled is not None: body['enabled'] = self.enabled
|
|
3730
4785
|
return body
|
|
3731
4786
|
|
|
4787
|
+
def as_shallow_dict(self) -> dict:
|
|
4788
|
+
"""Serializes the MonitorDataClassificationConfig into a shallow dictionary of its immediate attributes."""
|
|
4789
|
+
body = {}
|
|
4790
|
+
if self.enabled is not None: body['enabled'] = self.enabled
|
|
4791
|
+
return body
|
|
4792
|
+
|
|
3732
4793
|
@classmethod
|
|
3733
4794
|
def from_dict(cls, d: Dict[str, any]) -> MonitorDataClassificationConfig:
|
|
3734
4795
|
"""Deserializes the MonitorDataClassificationConfig from a dictionary."""
|
|
@@ -3747,6 +4808,12 @@ class MonitorDestination:
|
|
|
3747
4808
|
if self.email_addresses: body['email_addresses'] = [v for v in self.email_addresses]
|
|
3748
4809
|
return body
|
|
3749
4810
|
|
|
4811
|
+
def as_shallow_dict(self) -> dict:
|
|
4812
|
+
"""Serializes the MonitorDestination into a shallow dictionary of its immediate attributes."""
|
|
4813
|
+
body = {}
|
|
4814
|
+
if self.email_addresses: body['email_addresses'] = self.email_addresses
|
|
4815
|
+
return body
|
|
4816
|
+
|
|
3750
4817
|
@classmethod
|
|
3751
4818
|
def from_dict(cls, d: Dict[str, any]) -> MonitorDestination:
|
|
3752
4819
|
"""Deserializes the MonitorDestination from a dictionary."""
|
|
@@ -3798,6 +4865,18 @@ class MonitorInferenceLog:
|
|
|
3798
4865
|
if self.timestamp_col is not None: body['timestamp_col'] = self.timestamp_col
|
|
3799
4866
|
return body
|
|
3800
4867
|
|
|
4868
|
+
def as_shallow_dict(self) -> dict:
|
|
4869
|
+
"""Serializes the MonitorInferenceLog into a shallow dictionary of its immediate attributes."""
|
|
4870
|
+
body = {}
|
|
4871
|
+
if self.granularities: body['granularities'] = self.granularities
|
|
4872
|
+
if self.label_col is not None: body['label_col'] = self.label_col
|
|
4873
|
+
if self.model_id_col is not None: body['model_id_col'] = self.model_id_col
|
|
4874
|
+
if self.prediction_col is not None: body['prediction_col'] = self.prediction_col
|
|
4875
|
+
if self.prediction_proba_col is not None: body['prediction_proba_col'] = self.prediction_proba_col
|
|
4876
|
+
if self.problem_type is not None: body['problem_type'] = self.problem_type
|
|
4877
|
+
if self.timestamp_col is not None: body['timestamp_col'] = self.timestamp_col
|
|
4878
|
+
return body
|
|
4879
|
+
|
|
3801
4880
|
@classmethod
|
|
3802
4881
|
def from_dict(cls, d: Dict[str, any]) -> MonitorInferenceLog:
|
|
3803
4882
|
"""Deserializes the MonitorInferenceLog from a dictionary."""
|
|
@@ -3887,26 +4966,53 @@ class MonitorInfo:
|
|
|
3887
4966
|
body = {}
|
|
3888
4967
|
if self.assets_dir is not None: body['assets_dir'] = self.assets_dir
|
|
3889
4968
|
if self.baseline_table_name is not None: body['baseline_table_name'] = self.baseline_table_name
|
|
3890
|
-
if self.custom_metrics: body['custom_metrics'] = [v.as_dict() for v in self.custom_metrics]
|
|
4969
|
+
if self.custom_metrics: body['custom_metrics'] = [v.as_dict() for v in self.custom_metrics]
|
|
4970
|
+
if self.dashboard_id is not None: body['dashboard_id'] = self.dashboard_id
|
|
4971
|
+
if self.data_classification_config:
|
|
4972
|
+
body['data_classification_config'] = self.data_classification_config.as_dict()
|
|
4973
|
+
if self.drift_metrics_table_name is not None:
|
|
4974
|
+
body['drift_metrics_table_name'] = self.drift_metrics_table_name
|
|
4975
|
+
if self.inference_log: body['inference_log'] = self.inference_log.as_dict()
|
|
4976
|
+
if self.latest_monitor_failure_msg is not None:
|
|
4977
|
+
body['latest_monitor_failure_msg'] = self.latest_monitor_failure_msg
|
|
4978
|
+
if self.monitor_version is not None: body['monitor_version'] = self.monitor_version
|
|
4979
|
+
if self.notifications: body['notifications'] = self.notifications.as_dict()
|
|
4980
|
+
if self.output_schema_name is not None: body['output_schema_name'] = self.output_schema_name
|
|
4981
|
+
if self.profile_metrics_table_name is not None:
|
|
4982
|
+
body['profile_metrics_table_name'] = self.profile_metrics_table_name
|
|
4983
|
+
if self.schedule: body['schedule'] = self.schedule.as_dict()
|
|
4984
|
+
if self.slicing_exprs: body['slicing_exprs'] = [v for v in self.slicing_exprs]
|
|
4985
|
+
if self.snapshot: body['snapshot'] = self.snapshot.as_dict()
|
|
4986
|
+
if self.status is not None: body['status'] = self.status.value
|
|
4987
|
+
if self.table_name is not None: body['table_name'] = self.table_name
|
|
4988
|
+
if self.time_series: body['time_series'] = self.time_series.as_dict()
|
|
4989
|
+
return body
|
|
4990
|
+
|
|
4991
|
+
def as_shallow_dict(self) -> dict:
|
|
4992
|
+
"""Serializes the MonitorInfo into a shallow dictionary of its immediate attributes."""
|
|
4993
|
+
body = {}
|
|
4994
|
+
if self.assets_dir is not None: body['assets_dir'] = self.assets_dir
|
|
4995
|
+
if self.baseline_table_name is not None: body['baseline_table_name'] = self.baseline_table_name
|
|
4996
|
+
if self.custom_metrics: body['custom_metrics'] = self.custom_metrics
|
|
3891
4997
|
if self.dashboard_id is not None: body['dashboard_id'] = self.dashboard_id
|
|
3892
4998
|
if self.data_classification_config:
|
|
3893
|
-
body['data_classification_config'] = self.data_classification_config
|
|
4999
|
+
body['data_classification_config'] = self.data_classification_config
|
|
3894
5000
|
if self.drift_metrics_table_name is not None:
|
|
3895
5001
|
body['drift_metrics_table_name'] = self.drift_metrics_table_name
|
|
3896
|
-
if self.inference_log: body['inference_log'] = self.inference_log
|
|
5002
|
+
if self.inference_log: body['inference_log'] = self.inference_log
|
|
3897
5003
|
if self.latest_monitor_failure_msg is not None:
|
|
3898
5004
|
body['latest_monitor_failure_msg'] = self.latest_monitor_failure_msg
|
|
3899
5005
|
if self.monitor_version is not None: body['monitor_version'] = self.monitor_version
|
|
3900
|
-
if self.notifications: body['notifications'] = self.notifications
|
|
5006
|
+
if self.notifications: body['notifications'] = self.notifications
|
|
3901
5007
|
if self.output_schema_name is not None: body['output_schema_name'] = self.output_schema_name
|
|
3902
5008
|
if self.profile_metrics_table_name is not None:
|
|
3903
5009
|
body['profile_metrics_table_name'] = self.profile_metrics_table_name
|
|
3904
|
-
if self.schedule: body['schedule'] = self.schedule
|
|
3905
|
-
if self.slicing_exprs: body['slicing_exprs'] =
|
|
3906
|
-
if self.snapshot: body['snapshot'] = self.snapshot
|
|
3907
|
-
if self.status is not None: body['status'] = self.status
|
|
5010
|
+
if self.schedule: body['schedule'] = self.schedule
|
|
5011
|
+
if self.slicing_exprs: body['slicing_exprs'] = self.slicing_exprs
|
|
5012
|
+
if self.snapshot: body['snapshot'] = self.snapshot
|
|
5013
|
+
if self.status is not None: body['status'] = self.status
|
|
3908
5014
|
if self.table_name is not None: body['table_name'] = self.table_name
|
|
3909
|
-
if self.time_series: body['time_series'] = self.time_series
|
|
5015
|
+
if self.time_series: body['time_series'] = self.time_series
|
|
3910
5016
|
return body
|
|
3911
5017
|
|
|
3912
5018
|
@classmethod
|
|
@@ -3980,6 +5086,16 @@ class MonitorMetric:
|
|
|
3980
5086
|
if self.type is not None: body['type'] = self.type.value
|
|
3981
5087
|
return body
|
|
3982
5088
|
|
|
5089
|
+
def as_shallow_dict(self) -> dict:
|
|
5090
|
+
"""Serializes the MonitorMetric into a shallow dictionary of its immediate attributes."""
|
|
5091
|
+
body = {}
|
|
5092
|
+
if self.definition is not None: body['definition'] = self.definition
|
|
5093
|
+
if self.input_columns: body['input_columns'] = self.input_columns
|
|
5094
|
+
if self.name is not None: body['name'] = self.name
|
|
5095
|
+
if self.output_data_type is not None: body['output_data_type'] = self.output_data_type
|
|
5096
|
+
if self.type is not None: body['type'] = self.type
|
|
5097
|
+
return body
|
|
5098
|
+
|
|
3983
5099
|
@classmethod
|
|
3984
5100
|
def from_dict(cls, d: Dict[str, any]) -> MonitorMetric:
|
|
3985
5101
|
"""Deserializes the MonitorMetric from a dictionary."""
|
|
@@ -4020,6 +5136,14 @@ class MonitorNotifications:
|
|
|
4020
5136
|
body['on_new_classification_tag_detected'] = self.on_new_classification_tag_detected.as_dict()
|
|
4021
5137
|
return body
|
|
4022
5138
|
|
|
5139
|
+
def as_shallow_dict(self) -> dict:
|
|
5140
|
+
"""Serializes the MonitorNotifications into a shallow dictionary of its immediate attributes."""
|
|
5141
|
+
body = {}
|
|
5142
|
+
if self.on_failure: body['on_failure'] = self.on_failure
|
|
5143
|
+
if self.on_new_classification_tag_detected:
|
|
5144
|
+
body['on_new_classification_tag_detected'] = self.on_new_classification_tag_detected
|
|
5145
|
+
return body
|
|
5146
|
+
|
|
4023
5147
|
@classmethod
|
|
4024
5148
|
def from_dict(cls, d: Dict[str, any]) -> MonitorNotifications:
|
|
4025
5149
|
"""Deserializes the MonitorNotifications from a dictionary."""
|
|
@@ -4059,6 +5183,17 @@ class MonitorRefreshInfo:
|
|
|
4059
5183
|
if self.trigger is not None: body['trigger'] = self.trigger.value
|
|
4060
5184
|
return body
|
|
4061
5185
|
|
|
5186
|
+
def as_shallow_dict(self) -> dict:
|
|
5187
|
+
"""Serializes the MonitorRefreshInfo into a shallow dictionary of its immediate attributes."""
|
|
5188
|
+
body = {}
|
|
5189
|
+
if self.end_time_ms is not None: body['end_time_ms'] = self.end_time_ms
|
|
5190
|
+
if self.message is not None: body['message'] = self.message
|
|
5191
|
+
if self.refresh_id is not None: body['refresh_id'] = self.refresh_id
|
|
5192
|
+
if self.start_time_ms is not None: body['start_time_ms'] = self.start_time_ms
|
|
5193
|
+
if self.state is not None: body['state'] = self.state
|
|
5194
|
+
if self.trigger is not None: body['trigger'] = self.trigger
|
|
5195
|
+
return body
|
|
5196
|
+
|
|
4062
5197
|
@classmethod
|
|
4063
5198
|
def from_dict(cls, d: Dict[str, any]) -> MonitorRefreshInfo:
|
|
4064
5199
|
"""Deserializes the MonitorRefreshInfo from a dictionary."""
|
|
@@ -4098,6 +5233,12 @@ class MonitorRefreshListResponse:
|
|
|
4098
5233
|
if self.refreshes: body['refreshes'] = [v.as_dict() for v in self.refreshes]
|
|
4099
5234
|
return body
|
|
4100
5235
|
|
|
5236
|
+
def as_shallow_dict(self) -> dict:
|
|
5237
|
+
"""Serializes the MonitorRefreshListResponse into a shallow dictionary of its immediate attributes."""
|
|
5238
|
+
body = {}
|
|
5239
|
+
if self.refreshes: body['refreshes'] = self.refreshes
|
|
5240
|
+
return body
|
|
5241
|
+
|
|
4101
5242
|
@classmethod
|
|
4102
5243
|
def from_dict(cls, d: Dict[str, any]) -> MonitorRefreshListResponse:
|
|
4103
5244
|
"""Deserializes the MonitorRefreshListResponse from a dictionary."""
|
|
@@ -4112,6 +5253,11 @@ class MonitorSnapshot:
|
|
|
4112
5253
|
body = {}
|
|
4113
5254
|
return body
|
|
4114
5255
|
|
|
5256
|
+
def as_shallow_dict(self) -> dict:
|
|
5257
|
+
"""Serializes the MonitorSnapshot into a shallow dictionary of its immediate attributes."""
|
|
5258
|
+
body = {}
|
|
5259
|
+
return body
|
|
5260
|
+
|
|
4115
5261
|
@classmethod
|
|
4116
5262
|
def from_dict(cls, d: Dict[str, any]) -> MonitorSnapshot:
|
|
4117
5263
|
"""Deserializes the MonitorSnapshot from a dictionary."""
|
|
@@ -4139,6 +5285,13 @@ class MonitorTimeSeries:
|
|
|
4139
5285
|
if self.timestamp_col is not None: body['timestamp_col'] = self.timestamp_col
|
|
4140
5286
|
return body
|
|
4141
5287
|
|
|
5288
|
+
def as_shallow_dict(self) -> dict:
|
|
5289
|
+
"""Serializes the MonitorTimeSeries into a shallow dictionary of its immediate attributes."""
|
|
5290
|
+
body = {}
|
|
5291
|
+
if self.granularities: body['granularities'] = self.granularities
|
|
5292
|
+
if self.timestamp_col is not None: body['timestamp_col'] = self.timestamp_col
|
|
5293
|
+
return body
|
|
5294
|
+
|
|
4142
5295
|
@classmethod
|
|
4143
5296
|
def from_dict(cls, d: Dict[str, any]) -> MonitorTimeSeries:
|
|
4144
5297
|
"""Deserializes the MonitorTimeSeries from a dictionary."""
|
|
@@ -4156,6 +5309,12 @@ class NamedTableConstraint:
|
|
|
4156
5309
|
if self.name is not None: body['name'] = self.name
|
|
4157
5310
|
return body
|
|
4158
5311
|
|
|
5312
|
+
def as_shallow_dict(self) -> dict:
|
|
5313
|
+
"""Serializes the NamedTableConstraint into a shallow dictionary of its immediate attributes."""
|
|
5314
|
+
body = {}
|
|
5315
|
+
if self.name is not None: body['name'] = self.name
|
|
5316
|
+
return body
|
|
5317
|
+
|
|
4159
5318
|
@classmethod
|
|
4160
5319
|
def from_dict(cls, d: Dict[str, any]) -> NamedTableConstraint:
|
|
4161
5320
|
"""Deserializes the NamedTableConstraint from a dictionary."""
|
|
@@ -4194,6 +5353,17 @@ class OnlineTable:
|
|
|
4194
5353
|
body['unity_catalog_provisioning_state'] = self.unity_catalog_provisioning_state.value
|
|
4195
5354
|
return body
|
|
4196
5355
|
|
|
5356
|
+
def as_shallow_dict(self) -> dict:
|
|
5357
|
+
"""Serializes the OnlineTable into a shallow dictionary of its immediate attributes."""
|
|
5358
|
+
body = {}
|
|
5359
|
+
if self.name is not None: body['name'] = self.name
|
|
5360
|
+
if self.spec: body['spec'] = self.spec
|
|
5361
|
+
if self.status: body['status'] = self.status
|
|
5362
|
+
if self.table_serving_url is not None: body['table_serving_url'] = self.table_serving_url
|
|
5363
|
+
if self.unity_catalog_provisioning_state is not None:
|
|
5364
|
+
body['unity_catalog_provisioning_state'] = self.unity_catalog_provisioning_state
|
|
5365
|
+
return body
|
|
5366
|
+
|
|
4197
5367
|
@classmethod
|
|
4198
5368
|
def from_dict(cls, d: Dict[str, any]) -> OnlineTable:
|
|
4199
5369
|
"""Deserializes the OnlineTable from a dictionary."""
|
|
@@ -4249,6 +5419,19 @@ class OnlineTableSpec:
|
|
|
4249
5419
|
if self.timeseries_key is not None: body['timeseries_key'] = self.timeseries_key
|
|
4250
5420
|
return body
|
|
4251
5421
|
|
|
5422
|
+
def as_shallow_dict(self) -> dict:
|
|
5423
|
+
"""Serializes the OnlineTableSpec into a shallow dictionary of its immediate attributes."""
|
|
5424
|
+
body = {}
|
|
5425
|
+
if self.perform_full_copy is not None: body['perform_full_copy'] = self.perform_full_copy
|
|
5426
|
+
if self.pipeline_id is not None: body['pipeline_id'] = self.pipeline_id
|
|
5427
|
+
if self.primary_key_columns: body['primary_key_columns'] = self.primary_key_columns
|
|
5428
|
+
if self.run_continuously: body['run_continuously'] = self.run_continuously
|
|
5429
|
+
if self.run_triggered: body['run_triggered'] = self.run_triggered
|
|
5430
|
+
if self.source_table_full_name is not None:
|
|
5431
|
+
body['source_table_full_name'] = self.source_table_full_name
|
|
5432
|
+
if self.timeseries_key is not None: body['timeseries_key'] = self.timeseries_key
|
|
5433
|
+
return body
|
|
5434
|
+
|
|
4252
5435
|
@classmethod
|
|
4253
5436
|
def from_dict(cls, d: Dict[str, any]) -> OnlineTableSpec:
|
|
4254
5437
|
"""Deserializes the OnlineTableSpec from a dictionary."""
|
|
@@ -4270,6 +5453,11 @@ class OnlineTableSpecContinuousSchedulingPolicy:
|
|
|
4270
5453
|
body = {}
|
|
4271
5454
|
return body
|
|
4272
5455
|
|
|
5456
|
+
def as_shallow_dict(self) -> dict:
|
|
5457
|
+
"""Serializes the OnlineTableSpecContinuousSchedulingPolicy into a shallow dictionary of its immediate attributes."""
|
|
5458
|
+
body = {}
|
|
5459
|
+
return body
|
|
5460
|
+
|
|
4273
5461
|
@classmethod
|
|
4274
5462
|
def from_dict(cls, d: Dict[str, any]) -> OnlineTableSpecContinuousSchedulingPolicy:
|
|
4275
5463
|
"""Deserializes the OnlineTableSpecContinuousSchedulingPolicy from a dictionary."""
|
|
@@ -4284,6 +5472,11 @@ class OnlineTableSpecTriggeredSchedulingPolicy:
|
|
|
4284
5472
|
body = {}
|
|
4285
5473
|
return body
|
|
4286
5474
|
|
|
5475
|
+
def as_shallow_dict(self) -> dict:
|
|
5476
|
+
"""Serializes the OnlineTableSpecTriggeredSchedulingPolicy into a shallow dictionary of its immediate attributes."""
|
|
5477
|
+
body = {}
|
|
5478
|
+
return body
|
|
5479
|
+
|
|
4287
5480
|
@classmethod
|
|
4288
5481
|
def from_dict(cls, d: Dict[str, any]) -> OnlineTableSpecTriggeredSchedulingPolicy:
|
|
4289
5482
|
"""Deserializes the OnlineTableSpecTriggeredSchedulingPolicy from a dictionary."""
|
|
@@ -4345,6 +5538,17 @@ class OnlineTableStatus:
|
|
|
4345
5538
|
body['triggered_update_status'] = self.triggered_update_status.as_dict()
|
|
4346
5539
|
return body
|
|
4347
5540
|
|
|
5541
|
+
def as_shallow_dict(self) -> dict:
|
|
5542
|
+
"""Serializes the OnlineTableStatus into a shallow dictionary of its immediate attributes."""
|
|
5543
|
+
body = {}
|
|
5544
|
+
if self.continuous_update_status: body['continuous_update_status'] = self.continuous_update_status
|
|
5545
|
+
if self.detailed_state is not None: body['detailed_state'] = self.detailed_state
|
|
5546
|
+
if self.failed_status: body['failed_status'] = self.failed_status
|
|
5547
|
+
if self.message is not None: body['message'] = self.message
|
|
5548
|
+
if self.provisioning_status: body['provisioning_status'] = self.provisioning_status
|
|
5549
|
+
if self.triggered_update_status: body['triggered_update_status'] = self.triggered_update_status
|
|
5550
|
+
return body
|
|
5551
|
+
|
|
4348
5552
|
@classmethod
|
|
4349
5553
|
def from_dict(cls, d: Dict[str, any]) -> OnlineTableStatus:
|
|
4350
5554
|
"""Deserializes the OnlineTableStatus from a dictionary."""
|
|
@@ -4375,6 +5579,14 @@ class PermissionsChange:
|
|
|
4375
5579
|
if self.remove: body['remove'] = [v.value for v in self.remove]
|
|
4376
5580
|
return body
|
|
4377
5581
|
|
|
5582
|
+
def as_shallow_dict(self) -> dict:
|
|
5583
|
+
"""Serializes the PermissionsChange into a shallow dictionary of its immediate attributes."""
|
|
5584
|
+
body = {}
|
|
5585
|
+
if self.add: body['add'] = self.add
|
|
5586
|
+
if self.principal is not None: body['principal'] = self.principal
|
|
5587
|
+
if self.remove: body['remove'] = self.remove
|
|
5588
|
+
return body
|
|
5589
|
+
|
|
4378
5590
|
@classmethod
|
|
4379
5591
|
def from_dict(cls, d: Dict[str, any]) -> PermissionsChange:
|
|
4380
5592
|
"""Deserializes the PermissionsChange from a dictionary."""
|
|
@@ -4395,6 +5607,12 @@ class PermissionsList:
|
|
|
4395
5607
|
body['privilege_assignments'] = [v.as_dict() for v in self.privilege_assignments]
|
|
4396
5608
|
return body
|
|
4397
5609
|
|
|
5610
|
+
def as_shallow_dict(self) -> dict:
|
|
5611
|
+
"""Serializes the PermissionsList into a shallow dictionary of its immediate attributes."""
|
|
5612
|
+
body = {}
|
|
5613
|
+
if self.privilege_assignments: body['privilege_assignments'] = self.privilege_assignments
|
|
5614
|
+
return body
|
|
5615
|
+
|
|
4398
5616
|
@classmethod
|
|
4399
5617
|
def from_dict(cls, d: Dict[str, any]) -> PermissionsList:
|
|
4400
5618
|
"""Deserializes the PermissionsList from a dictionary."""
|
|
@@ -4434,6 +5652,19 @@ class PipelineProgress:
|
|
|
4434
5652
|
if self.total_row_count is not None: body['total_row_count'] = self.total_row_count
|
|
4435
5653
|
return body
|
|
4436
5654
|
|
|
5655
|
+
def as_shallow_dict(self) -> dict:
|
|
5656
|
+
"""Serializes the PipelineProgress into a shallow dictionary of its immediate attributes."""
|
|
5657
|
+
body = {}
|
|
5658
|
+
if self.estimated_completion_time_seconds is not None:
|
|
5659
|
+
body['estimated_completion_time_seconds'] = self.estimated_completion_time_seconds
|
|
5660
|
+
if self.latest_version_currently_processing is not None:
|
|
5661
|
+
body['latest_version_currently_processing'] = self.latest_version_currently_processing
|
|
5662
|
+
if self.sync_progress_completion is not None:
|
|
5663
|
+
body['sync_progress_completion'] = self.sync_progress_completion
|
|
5664
|
+
if self.synced_row_count is not None: body['synced_row_count'] = self.synced_row_count
|
|
5665
|
+
if self.total_row_count is not None: body['total_row_count'] = self.total_row_count
|
|
5666
|
+
return body
|
|
5667
|
+
|
|
4437
5668
|
@classmethod
|
|
4438
5669
|
def from_dict(cls, d: Dict[str, any]) -> PipelineProgress:
|
|
4439
5670
|
"""Deserializes the PipelineProgress from a dictionary."""
|
|
@@ -4459,6 +5690,13 @@ class PrimaryKeyConstraint:
|
|
|
4459
5690
|
if self.name is not None: body['name'] = self.name
|
|
4460
5691
|
return body
|
|
4461
5692
|
|
|
5693
|
+
def as_shallow_dict(self) -> dict:
|
|
5694
|
+
"""Serializes the PrimaryKeyConstraint into a shallow dictionary of its immediate attributes."""
|
|
5695
|
+
body = {}
|
|
5696
|
+
if self.child_columns: body['child_columns'] = self.child_columns
|
|
5697
|
+
if self.name is not None: body['name'] = self.name
|
|
5698
|
+
return body
|
|
5699
|
+
|
|
4462
5700
|
@classmethod
|
|
4463
5701
|
def from_dict(cls, d: Dict[str, any]) -> PrimaryKeyConstraint:
|
|
4464
5702
|
"""Deserializes the PrimaryKeyConstraint from a dictionary."""
|
|
@@ -4477,6 +5715,7 @@ class Privilege(Enum):
|
|
|
4477
5715
|
CREATE_EXTERNAL_TABLE = 'CREATE_EXTERNAL_TABLE'
|
|
4478
5716
|
CREATE_EXTERNAL_VOLUME = 'CREATE_EXTERNAL_VOLUME'
|
|
4479
5717
|
CREATE_FOREIGN_CATALOG = 'CREATE_FOREIGN_CATALOG'
|
|
5718
|
+
CREATE_FOREIGN_SECURABLE = 'CREATE_FOREIGN_SECURABLE'
|
|
4480
5719
|
CREATE_FUNCTION = 'CREATE_FUNCTION'
|
|
4481
5720
|
CREATE_MANAGED_STORAGE = 'CREATE_MANAGED_STORAGE'
|
|
4482
5721
|
CREATE_MATERIALIZED_VIEW = 'CREATE_MATERIALIZED_VIEW'
|
|
@@ -4528,6 +5767,13 @@ class PrivilegeAssignment:
|
|
|
4528
5767
|
if self.privileges: body['privileges'] = [v.value for v in self.privileges]
|
|
4529
5768
|
return body
|
|
4530
5769
|
|
|
5770
|
+
def as_shallow_dict(self) -> dict:
|
|
5771
|
+
"""Serializes the PrivilegeAssignment into a shallow dictionary of its immediate attributes."""
|
|
5772
|
+
body = {}
|
|
5773
|
+
if self.principal is not None: body['principal'] = self.principal
|
|
5774
|
+
if self.privileges: body['privileges'] = self.privileges
|
|
5775
|
+
return body
|
|
5776
|
+
|
|
4531
5777
|
@classmethod
|
|
4532
5778
|
def from_dict(cls, d: Dict[str, any]) -> PrivilegeAssignment:
|
|
4533
5779
|
"""Deserializes the PrivilegeAssignment from a dictionary."""
|
|
@@ -4549,6 +5795,12 @@ class ProvisioningInfo:
|
|
|
4549
5795
|
if self.state is not None: body['state'] = self.state.value
|
|
4550
5796
|
return body
|
|
4551
5797
|
|
|
5798
|
+
def as_shallow_dict(self) -> dict:
|
|
5799
|
+
"""Serializes the ProvisioningInfo into a shallow dictionary of its immediate attributes."""
|
|
5800
|
+
body = {}
|
|
5801
|
+
if self.state is not None: body['state'] = self.state
|
|
5802
|
+
return body
|
|
5803
|
+
|
|
4552
5804
|
@classmethod
|
|
4553
5805
|
def from_dict(cls, d: Dict[str, any]) -> ProvisioningInfo:
|
|
4554
5806
|
"""Deserializes the ProvisioningInfo from a dictionary."""
|
|
@@ -4580,6 +5832,13 @@ class ProvisioningStatus:
|
|
|
4580
5832
|
body['initial_pipeline_sync_progress'] = self.initial_pipeline_sync_progress.as_dict()
|
|
4581
5833
|
return body
|
|
4582
5834
|
|
|
5835
|
+
def as_shallow_dict(self) -> dict:
|
|
5836
|
+
"""Serializes the ProvisioningStatus into a shallow dictionary of its immediate attributes."""
|
|
5837
|
+
body = {}
|
|
5838
|
+
if self.initial_pipeline_sync_progress:
|
|
5839
|
+
body['initial_pipeline_sync_progress'] = self.initial_pipeline_sync_progress
|
|
5840
|
+
return body
|
|
5841
|
+
|
|
4583
5842
|
@classmethod
|
|
4584
5843
|
def from_dict(cls, d: Dict[str, any]) -> ProvisioningStatus:
|
|
4585
5844
|
"""Deserializes the ProvisioningStatus from a dictionary."""
|
|
@@ -4619,6 +5878,17 @@ class QuotaInfo:
|
|
|
4619
5878
|
if self.quota_name is not None: body['quota_name'] = self.quota_name
|
|
4620
5879
|
return body
|
|
4621
5880
|
|
|
5881
|
+
def as_shallow_dict(self) -> dict:
|
|
5882
|
+
"""Serializes the QuotaInfo into a shallow dictionary of its immediate attributes."""
|
|
5883
|
+
body = {}
|
|
5884
|
+
if self.last_refreshed_at is not None: body['last_refreshed_at'] = self.last_refreshed_at
|
|
5885
|
+
if self.parent_full_name is not None: body['parent_full_name'] = self.parent_full_name
|
|
5886
|
+
if self.parent_securable_type is not None: body['parent_securable_type'] = self.parent_securable_type
|
|
5887
|
+
if self.quota_count is not None: body['quota_count'] = self.quota_count
|
|
5888
|
+
if self.quota_limit is not None: body['quota_limit'] = self.quota_limit
|
|
5889
|
+
if self.quota_name is not None: body['quota_name'] = self.quota_name
|
|
5890
|
+
return body
|
|
5891
|
+
|
|
4622
5892
|
@classmethod
|
|
4623
5893
|
def from_dict(cls, d: Dict[str, any]) -> QuotaInfo:
|
|
4624
5894
|
"""Deserializes the QuotaInfo from a dictionary."""
|
|
@@ -4652,6 +5922,14 @@ class R2Credentials:
|
|
|
4652
5922
|
if self.session_token is not None: body['session_token'] = self.session_token
|
|
4653
5923
|
return body
|
|
4654
5924
|
|
|
5925
|
+
def as_shallow_dict(self) -> dict:
|
|
5926
|
+
"""Serializes the R2Credentials into a shallow dictionary of its immediate attributes."""
|
|
5927
|
+
body = {}
|
|
5928
|
+
if self.access_key_id is not None: body['access_key_id'] = self.access_key_id
|
|
5929
|
+
if self.secret_access_key is not None: body['secret_access_key'] = self.secret_access_key
|
|
5930
|
+
if self.session_token is not None: body['session_token'] = self.session_token
|
|
5931
|
+
return body
|
|
5932
|
+
|
|
4655
5933
|
@classmethod
|
|
4656
5934
|
def from_dict(cls, d: Dict[str, any]) -> R2Credentials:
|
|
4657
5935
|
"""Deserializes the R2Credentials from a dictionary."""
|
|
@@ -4676,6 +5954,13 @@ class RegenerateDashboardRequest:
|
|
|
4676
5954
|
if self.warehouse_id is not None: body['warehouse_id'] = self.warehouse_id
|
|
4677
5955
|
return body
|
|
4678
5956
|
|
|
5957
|
+
def as_shallow_dict(self) -> dict:
|
|
5958
|
+
"""Serializes the RegenerateDashboardRequest into a shallow dictionary of its immediate attributes."""
|
|
5959
|
+
body = {}
|
|
5960
|
+
if self.table_name is not None: body['table_name'] = self.table_name
|
|
5961
|
+
if self.warehouse_id is not None: body['warehouse_id'] = self.warehouse_id
|
|
5962
|
+
return body
|
|
5963
|
+
|
|
4679
5964
|
@classmethod
|
|
4680
5965
|
def from_dict(cls, d: Dict[str, any]) -> RegenerateDashboardRequest:
|
|
4681
5966
|
"""Deserializes the RegenerateDashboardRequest from a dictionary."""
|
|
@@ -4697,6 +5982,13 @@ class RegenerateDashboardResponse:
|
|
|
4697
5982
|
if self.parent_folder is not None: body['parent_folder'] = self.parent_folder
|
|
4698
5983
|
return body
|
|
4699
5984
|
|
|
5985
|
+
def as_shallow_dict(self) -> dict:
|
|
5986
|
+
"""Serializes the RegenerateDashboardResponse into a shallow dictionary of its immediate attributes."""
|
|
5987
|
+
body = {}
|
|
5988
|
+
if self.dashboard_id is not None: body['dashboard_id'] = self.dashboard_id
|
|
5989
|
+
if self.parent_folder is not None: body['parent_folder'] = self.parent_folder
|
|
5990
|
+
return body
|
|
5991
|
+
|
|
4700
5992
|
@classmethod
|
|
4701
5993
|
def from_dict(cls, d: Dict[str, any]) -> RegenerateDashboardResponse:
|
|
4702
5994
|
"""Deserializes the RegenerateDashboardResponse from a dictionary."""
|
|
@@ -4720,6 +6012,13 @@ class RegisteredModelAlias:
|
|
|
4720
6012
|
if self.version_num is not None: body['version_num'] = self.version_num
|
|
4721
6013
|
return body
|
|
4722
6014
|
|
|
6015
|
+
def as_shallow_dict(self) -> dict:
|
|
6016
|
+
"""Serializes the RegisteredModelAlias into a shallow dictionary of its immediate attributes."""
|
|
6017
|
+
body = {}
|
|
6018
|
+
if self.alias_name is not None: body['alias_name'] = self.alias_name
|
|
6019
|
+
if self.version_num is not None: body['version_num'] = self.version_num
|
|
6020
|
+
return body
|
|
6021
|
+
|
|
4723
6022
|
@classmethod
|
|
4724
6023
|
def from_dict(cls, d: Dict[str, any]) -> RegisteredModelAlias:
|
|
4725
6024
|
"""Deserializes the RegisteredModelAlias from a dictionary."""
|
|
@@ -4790,6 +6089,25 @@ class RegisteredModelInfo:
|
|
|
4790
6089
|
if self.updated_by is not None: body['updated_by'] = self.updated_by
|
|
4791
6090
|
return body
|
|
4792
6091
|
|
|
6092
|
+
def as_shallow_dict(self) -> dict:
|
|
6093
|
+
"""Serializes the RegisteredModelInfo into a shallow dictionary of its immediate attributes."""
|
|
6094
|
+
body = {}
|
|
6095
|
+
if self.aliases: body['aliases'] = self.aliases
|
|
6096
|
+
if self.browse_only is not None: body['browse_only'] = self.browse_only
|
|
6097
|
+
if self.catalog_name is not None: body['catalog_name'] = self.catalog_name
|
|
6098
|
+
if self.comment is not None: body['comment'] = self.comment
|
|
6099
|
+
if self.created_at is not None: body['created_at'] = self.created_at
|
|
6100
|
+
if self.created_by is not None: body['created_by'] = self.created_by
|
|
6101
|
+
if self.full_name is not None: body['full_name'] = self.full_name
|
|
6102
|
+
if self.metastore_id is not None: body['metastore_id'] = self.metastore_id
|
|
6103
|
+
if self.name is not None: body['name'] = self.name
|
|
6104
|
+
if self.owner is not None: body['owner'] = self.owner
|
|
6105
|
+
if self.schema_name is not None: body['schema_name'] = self.schema_name
|
|
6106
|
+
if self.storage_location is not None: body['storage_location'] = self.storage_location
|
|
6107
|
+
if self.updated_at is not None: body['updated_at'] = self.updated_at
|
|
6108
|
+
if self.updated_by is not None: body['updated_by'] = self.updated_by
|
|
6109
|
+
return body
|
|
6110
|
+
|
|
4793
6111
|
@classmethod
|
|
4794
6112
|
def from_dict(cls, d: Dict[str, any]) -> RegisteredModelInfo:
|
|
4795
6113
|
"""Deserializes the RegisteredModelInfo from a dictionary."""
|
|
@@ -4892,6 +6210,31 @@ class SchemaInfo:
|
|
|
4892
6210
|
if self.updated_by is not None: body['updated_by'] = self.updated_by
|
|
4893
6211
|
return body
|
|
4894
6212
|
|
|
6213
|
+
def as_shallow_dict(self) -> dict:
|
|
6214
|
+
"""Serializes the SchemaInfo into a shallow dictionary of its immediate attributes."""
|
|
6215
|
+
body = {}
|
|
6216
|
+
if self.browse_only is not None: body['browse_only'] = self.browse_only
|
|
6217
|
+
if self.catalog_name is not None: body['catalog_name'] = self.catalog_name
|
|
6218
|
+
if self.catalog_type is not None: body['catalog_type'] = self.catalog_type
|
|
6219
|
+
if self.comment is not None: body['comment'] = self.comment
|
|
6220
|
+
if self.created_at is not None: body['created_at'] = self.created_at
|
|
6221
|
+
if self.created_by is not None: body['created_by'] = self.created_by
|
|
6222
|
+
if self.effective_predictive_optimization_flag:
|
|
6223
|
+
body['effective_predictive_optimization_flag'] = self.effective_predictive_optimization_flag
|
|
6224
|
+
if self.enable_predictive_optimization is not None:
|
|
6225
|
+
body['enable_predictive_optimization'] = self.enable_predictive_optimization
|
|
6226
|
+
if self.full_name is not None: body['full_name'] = self.full_name
|
|
6227
|
+
if self.metastore_id is not None: body['metastore_id'] = self.metastore_id
|
|
6228
|
+
if self.name is not None: body['name'] = self.name
|
|
6229
|
+
if self.owner is not None: body['owner'] = self.owner
|
|
6230
|
+
if self.properties: body['properties'] = self.properties
|
|
6231
|
+
if self.schema_id is not None: body['schema_id'] = self.schema_id
|
|
6232
|
+
if self.storage_location is not None: body['storage_location'] = self.storage_location
|
|
6233
|
+
if self.storage_root is not None: body['storage_root'] = self.storage_root
|
|
6234
|
+
if self.updated_at is not None: body['updated_at'] = self.updated_at
|
|
6235
|
+
if self.updated_by is not None: body['updated_by'] = self.updated_by
|
|
6236
|
+
return body
|
|
6237
|
+
|
|
4895
6238
|
@classmethod
|
|
4896
6239
|
def from_dict(cls, d: Dict[str, any]) -> SchemaInfo:
|
|
4897
6240
|
"""Deserializes the SchemaInfo from a dictionary."""
|
|
@@ -4956,6 +6299,13 @@ class SetArtifactAllowlist:
|
|
|
4956
6299
|
if self.artifact_type is not None: body['artifact_type'] = self.artifact_type.value
|
|
4957
6300
|
return body
|
|
4958
6301
|
|
|
6302
|
+
def as_shallow_dict(self) -> dict:
|
|
6303
|
+
"""Serializes the SetArtifactAllowlist into a shallow dictionary of its immediate attributes."""
|
|
6304
|
+
body = {}
|
|
6305
|
+
if self.artifact_matchers: body['artifact_matchers'] = self.artifact_matchers
|
|
6306
|
+
if self.artifact_type is not None: body['artifact_type'] = self.artifact_type
|
|
6307
|
+
return body
|
|
6308
|
+
|
|
4959
6309
|
@classmethod
|
|
4960
6310
|
def from_dict(cls, d: Dict[str, any]) -> SetArtifactAllowlist:
|
|
4961
6311
|
"""Deserializes the SetArtifactAllowlist from a dictionary."""
|
|
@@ -4982,6 +6332,14 @@ class SetRegisteredModelAliasRequest:
|
|
|
4982
6332
|
if self.version_num is not None: body['version_num'] = self.version_num
|
|
4983
6333
|
return body
|
|
4984
6334
|
|
|
6335
|
+
def as_shallow_dict(self) -> dict:
|
|
6336
|
+
"""Serializes the SetRegisteredModelAliasRequest into a shallow dictionary of its immediate attributes."""
|
|
6337
|
+
body = {}
|
|
6338
|
+
if self.alias is not None: body['alias'] = self.alias
|
|
6339
|
+
if self.full_name is not None: body['full_name'] = self.full_name
|
|
6340
|
+
if self.version_num is not None: body['version_num'] = self.version_num
|
|
6341
|
+
return body
|
|
6342
|
+
|
|
4985
6343
|
@classmethod
|
|
4986
6344
|
def from_dict(cls, d: Dict[str, any]) -> SetRegisteredModelAliasRequest:
|
|
4987
6345
|
"""Deserializes the SetRegisteredModelAliasRequest from a dictionary."""
|
|
@@ -5007,6 +6365,13 @@ class SseEncryptionDetails:
|
|
|
5007
6365
|
if self.aws_kms_key_arn is not None: body['aws_kms_key_arn'] = self.aws_kms_key_arn
|
|
5008
6366
|
return body
|
|
5009
6367
|
|
|
6368
|
+
def as_shallow_dict(self) -> dict:
|
|
6369
|
+
"""Serializes the SseEncryptionDetails into a shallow dictionary of its immediate attributes."""
|
|
6370
|
+
body = {}
|
|
6371
|
+
if self.algorithm is not None: body['algorithm'] = self.algorithm
|
|
6372
|
+
if self.aws_kms_key_arn is not None: body['aws_kms_key_arn'] = self.aws_kms_key_arn
|
|
6373
|
+
return body
|
|
6374
|
+
|
|
5010
6375
|
@classmethod
|
|
5011
6376
|
def from_dict(cls, d: Dict[str, any]) -> SseEncryptionDetails:
|
|
5012
6377
|
"""Deserializes the SseEncryptionDetails from a dictionary."""
|
|
@@ -5102,6 +6467,31 @@ class StorageCredentialInfo:
|
|
|
5102
6467
|
body['used_for_managed_storage'] = self.used_for_managed_storage
|
|
5103
6468
|
return body
|
|
5104
6469
|
|
|
6470
|
+
def as_shallow_dict(self) -> dict:
|
|
6471
|
+
"""Serializes the StorageCredentialInfo into a shallow dictionary of its immediate attributes."""
|
|
6472
|
+
body = {}
|
|
6473
|
+
if self.aws_iam_role: body['aws_iam_role'] = self.aws_iam_role
|
|
6474
|
+
if self.azure_managed_identity: body['azure_managed_identity'] = self.azure_managed_identity
|
|
6475
|
+
if self.azure_service_principal: body['azure_service_principal'] = self.azure_service_principal
|
|
6476
|
+
if self.cloudflare_api_token: body['cloudflare_api_token'] = self.cloudflare_api_token
|
|
6477
|
+
if self.comment is not None: body['comment'] = self.comment
|
|
6478
|
+
if self.created_at is not None: body['created_at'] = self.created_at
|
|
6479
|
+
if self.created_by is not None: body['created_by'] = self.created_by
|
|
6480
|
+
if self.databricks_gcp_service_account:
|
|
6481
|
+
body['databricks_gcp_service_account'] = self.databricks_gcp_service_account
|
|
6482
|
+
if self.full_name is not None: body['full_name'] = self.full_name
|
|
6483
|
+
if self.id is not None: body['id'] = self.id
|
|
6484
|
+
if self.isolation_mode is not None: body['isolation_mode'] = self.isolation_mode
|
|
6485
|
+
if self.metastore_id is not None: body['metastore_id'] = self.metastore_id
|
|
6486
|
+
if self.name is not None: body['name'] = self.name
|
|
6487
|
+
if self.owner is not None: body['owner'] = self.owner
|
|
6488
|
+
if self.read_only is not None: body['read_only'] = self.read_only
|
|
6489
|
+
if self.updated_at is not None: body['updated_at'] = self.updated_at
|
|
6490
|
+
if self.updated_by is not None: body['updated_by'] = self.updated_by
|
|
6491
|
+
if self.used_for_managed_storage is not None:
|
|
6492
|
+
body['used_for_managed_storage'] = self.used_for_managed_storage
|
|
6493
|
+
return body
|
|
6494
|
+
|
|
5105
6495
|
@classmethod
|
|
5106
6496
|
def from_dict(cls, d: Dict[str, any]) -> StorageCredentialInfo:
|
|
5107
6497
|
"""Deserializes the StorageCredentialInfo from a dictionary."""
|
|
@@ -5143,6 +6533,13 @@ class SystemSchemaInfo:
|
|
|
5143
6533
|
if self.state is not None: body['state'] = self.state.value
|
|
5144
6534
|
return body
|
|
5145
6535
|
|
|
6536
|
+
def as_shallow_dict(self) -> dict:
|
|
6537
|
+
"""Serializes the SystemSchemaInfo into a shallow dictionary of its immediate attributes."""
|
|
6538
|
+
body = {}
|
|
6539
|
+
if self.schema is not None: body['schema'] = self.schema
|
|
6540
|
+
if self.state is not None: body['state'] = self.state
|
|
6541
|
+
return body
|
|
6542
|
+
|
|
5146
6543
|
@classmethod
|
|
5147
6544
|
def from_dict(cls, d: Dict[str, any]) -> SystemSchemaInfo:
|
|
5148
6545
|
"""Deserializes the SystemSchemaInfo from a dictionary."""
|
|
@@ -5179,6 +6576,14 @@ class TableConstraint:
|
|
|
5179
6576
|
if self.primary_key_constraint: body['primary_key_constraint'] = self.primary_key_constraint.as_dict()
|
|
5180
6577
|
return body
|
|
5181
6578
|
|
|
6579
|
+
def as_shallow_dict(self) -> dict:
|
|
6580
|
+
"""Serializes the TableConstraint into a shallow dictionary of its immediate attributes."""
|
|
6581
|
+
body = {}
|
|
6582
|
+
if self.foreign_key_constraint: body['foreign_key_constraint'] = self.foreign_key_constraint
|
|
6583
|
+
if self.named_table_constraint: body['named_table_constraint'] = self.named_table_constraint
|
|
6584
|
+
if self.primary_key_constraint: body['primary_key_constraint'] = self.primary_key_constraint
|
|
6585
|
+
return body
|
|
6586
|
+
|
|
5182
6587
|
@classmethod
|
|
5183
6588
|
def from_dict(cls, d: Dict[str, any]) -> TableConstraint:
|
|
5184
6589
|
"""Deserializes the TableConstraint from a dictionary."""
|
|
@@ -5201,6 +6606,12 @@ class TableDependency:
|
|
|
5201
6606
|
if self.table_full_name is not None: body['table_full_name'] = self.table_full_name
|
|
5202
6607
|
return body
|
|
5203
6608
|
|
|
6609
|
+
def as_shallow_dict(self) -> dict:
|
|
6610
|
+
"""Serializes the TableDependency into a shallow dictionary of its immediate attributes."""
|
|
6611
|
+
body = {}
|
|
6612
|
+
if self.table_full_name is not None: body['table_full_name'] = self.table_full_name
|
|
6613
|
+
return body
|
|
6614
|
+
|
|
5204
6615
|
@classmethod
|
|
5205
6616
|
def from_dict(cls, d: Dict[str, any]) -> TableDependency:
|
|
5206
6617
|
"""Deserializes the TableDependency from a dictionary."""
|
|
@@ -5218,6 +6629,12 @@ class TableExistsResponse:
|
|
|
5218
6629
|
if self.table_exists is not None: body['table_exists'] = self.table_exists
|
|
5219
6630
|
return body
|
|
5220
6631
|
|
|
6632
|
+
def as_shallow_dict(self) -> dict:
|
|
6633
|
+
"""Serializes the TableExistsResponse into a shallow dictionary of its immediate attributes."""
|
|
6634
|
+
body = {}
|
|
6635
|
+
if self.table_exists is not None: body['table_exists'] = self.table_exists
|
|
6636
|
+
return body
|
|
6637
|
+
|
|
5221
6638
|
@classmethod
|
|
5222
6639
|
def from_dict(cls, d: Dict[str, any]) -> TableExistsResponse:
|
|
5223
6640
|
"""Deserializes the TableExistsResponse from a dictionary."""
|
|
@@ -5370,6 +6787,48 @@ class TableInfo:
|
|
|
5370
6787
|
if self.view_dependencies: body['view_dependencies'] = self.view_dependencies.as_dict()
|
|
5371
6788
|
return body
|
|
5372
6789
|
|
|
6790
|
+
def as_shallow_dict(self) -> dict:
|
|
6791
|
+
"""Serializes the TableInfo into a shallow dictionary of its immediate attributes."""
|
|
6792
|
+
body = {}
|
|
6793
|
+
if self.access_point is not None: body['access_point'] = self.access_point
|
|
6794
|
+
if self.browse_only is not None: body['browse_only'] = self.browse_only
|
|
6795
|
+
if self.catalog_name is not None: body['catalog_name'] = self.catalog_name
|
|
6796
|
+
if self.columns: body['columns'] = self.columns
|
|
6797
|
+
if self.comment is not None: body['comment'] = self.comment
|
|
6798
|
+
if self.created_at is not None: body['created_at'] = self.created_at
|
|
6799
|
+
if self.created_by is not None: body['created_by'] = self.created_by
|
|
6800
|
+
if self.data_access_configuration_id is not None:
|
|
6801
|
+
body['data_access_configuration_id'] = self.data_access_configuration_id
|
|
6802
|
+
if self.data_source_format is not None: body['data_source_format'] = self.data_source_format
|
|
6803
|
+
if self.deleted_at is not None: body['deleted_at'] = self.deleted_at
|
|
6804
|
+
if self.delta_runtime_properties_kvpairs:
|
|
6805
|
+
body['delta_runtime_properties_kvpairs'] = self.delta_runtime_properties_kvpairs
|
|
6806
|
+
if self.effective_predictive_optimization_flag:
|
|
6807
|
+
body['effective_predictive_optimization_flag'] = self.effective_predictive_optimization_flag
|
|
6808
|
+
if self.enable_predictive_optimization is not None:
|
|
6809
|
+
body['enable_predictive_optimization'] = self.enable_predictive_optimization
|
|
6810
|
+
if self.encryption_details: body['encryption_details'] = self.encryption_details
|
|
6811
|
+
if self.full_name is not None: body['full_name'] = self.full_name
|
|
6812
|
+
if self.metastore_id is not None: body['metastore_id'] = self.metastore_id
|
|
6813
|
+
if self.name is not None: body['name'] = self.name
|
|
6814
|
+
if self.owner is not None: body['owner'] = self.owner
|
|
6815
|
+
if self.pipeline_id is not None: body['pipeline_id'] = self.pipeline_id
|
|
6816
|
+
if self.properties: body['properties'] = self.properties
|
|
6817
|
+
if self.row_filter: body['row_filter'] = self.row_filter
|
|
6818
|
+
if self.schema_name is not None: body['schema_name'] = self.schema_name
|
|
6819
|
+
if self.sql_path is not None: body['sql_path'] = self.sql_path
|
|
6820
|
+
if self.storage_credential_name is not None:
|
|
6821
|
+
body['storage_credential_name'] = self.storage_credential_name
|
|
6822
|
+
if self.storage_location is not None: body['storage_location'] = self.storage_location
|
|
6823
|
+
if self.table_constraints: body['table_constraints'] = self.table_constraints
|
|
6824
|
+
if self.table_id is not None: body['table_id'] = self.table_id
|
|
6825
|
+
if self.table_type is not None: body['table_type'] = self.table_type
|
|
6826
|
+
if self.updated_at is not None: body['updated_at'] = self.updated_at
|
|
6827
|
+
if self.updated_by is not None: body['updated_by'] = self.updated_by
|
|
6828
|
+
if self.view_definition is not None: body['view_definition'] = self.view_definition
|
|
6829
|
+
if self.view_dependencies: body['view_dependencies'] = self.view_dependencies
|
|
6830
|
+
return body
|
|
6831
|
+
|
|
5373
6832
|
@classmethod
|
|
5374
6833
|
def from_dict(cls, d: Dict[str, any]) -> TableInfo:
|
|
5375
6834
|
"""Deserializes the TableInfo from a dictionary."""
|
|
@@ -5432,6 +6891,13 @@ class TableRowFilter:
|
|
|
5432
6891
|
if self.input_column_names: body['input_column_names'] = [v for v in self.input_column_names]
|
|
5433
6892
|
return body
|
|
5434
6893
|
|
|
6894
|
+
def as_shallow_dict(self) -> dict:
|
|
6895
|
+
"""Serializes the TableRowFilter into a shallow dictionary of its immediate attributes."""
|
|
6896
|
+
body = {}
|
|
6897
|
+
if self.function_name is not None: body['function_name'] = self.function_name
|
|
6898
|
+
if self.input_column_names: body['input_column_names'] = self.input_column_names
|
|
6899
|
+
return body
|
|
6900
|
+
|
|
5435
6901
|
@classmethod
|
|
5436
6902
|
def from_dict(cls, d: Dict[str, any]) -> TableRowFilter:
|
|
5437
6903
|
"""Deserializes the TableRowFilter from a dictionary."""
|
|
@@ -5453,6 +6919,13 @@ class TableSummary:
|
|
|
5453
6919
|
if self.table_type is not None: body['table_type'] = self.table_type.value
|
|
5454
6920
|
return body
|
|
5455
6921
|
|
|
6922
|
+
def as_shallow_dict(self) -> dict:
|
|
6923
|
+
"""Serializes the TableSummary into a shallow dictionary of its immediate attributes."""
|
|
6924
|
+
body = {}
|
|
6925
|
+
if self.full_name is not None: body['full_name'] = self.full_name
|
|
6926
|
+
if self.table_type is not None: body['table_type'] = self.table_type
|
|
6927
|
+
return body
|
|
6928
|
+
|
|
5456
6929
|
@classmethod
|
|
5457
6930
|
def from_dict(cls, d: Dict[str, any]) -> TableSummary:
|
|
5458
6931
|
"""Deserializes the TableSummary from a dictionary."""
|
|
@@ -5494,6 +6967,14 @@ class TemporaryCredentials:
|
|
|
5494
6967
|
if self.expiration_time is not None: body['expiration_time'] = self.expiration_time
|
|
5495
6968
|
return body
|
|
5496
6969
|
|
|
6970
|
+
def as_shallow_dict(self) -> dict:
|
|
6971
|
+
"""Serializes the TemporaryCredentials into a shallow dictionary of its immediate attributes."""
|
|
6972
|
+
body = {}
|
|
6973
|
+
if self.aws_temp_credentials: body['aws_temp_credentials'] = self.aws_temp_credentials
|
|
6974
|
+
if self.azure_aad: body['azure_aad'] = self.azure_aad
|
|
6975
|
+
if self.expiration_time is not None: body['expiration_time'] = self.expiration_time
|
|
6976
|
+
return body
|
|
6977
|
+
|
|
5497
6978
|
@classmethod
|
|
5498
6979
|
def from_dict(cls, d: Dict[str, any]) -> TemporaryCredentials:
|
|
5499
6980
|
"""Deserializes the TemporaryCredentials from a dictionary."""
|
|
@@ -5528,6 +7009,15 @@ class TriggeredUpdateStatus:
|
|
|
5528
7009
|
body['triggered_update_progress'] = self.triggered_update_progress.as_dict()
|
|
5529
7010
|
return body
|
|
5530
7011
|
|
|
7012
|
+
def as_shallow_dict(self) -> dict:
|
|
7013
|
+
"""Serializes the TriggeredUpdateStatus into a shallow dictionary of its immediate attributes."""
|
|
7014
|
+
body = {}
|
|
7015
|
+
if self.last_processed_commit_version is not None:
|
|
7016
|
+
body['last_processed_commit_version'] = self.last_processed_commit_version
|
|
7017
|
+
if self.timestamp is not None: body['timestamp'] = self.timestamp
|
|
7018
|
+
if self.triggered_update_progress: body['triggered_update_progress'] = self.triggered_update_progress
|
|
7019
|
+
return body
|
|
7020
|
+
|
|
5531
7021
|
@classmethod
|
|
5532
7022
|
def from_dict(cls, d: Dict[str, any]) -> TriggeredUpdateStatus:
|
|
5533
7023
|
"""Deserializes the TriggeredUpdateStatus from a dictionary."""
|
|
@@ -5544,6 +7034,11 @@ class UnassignResponse:
|
|
|
5544
7034
|
body = {}
|
|
5545
7035
|
return body
|
|
5546
7036
|
|
|
7037
|
+
def as_shallow_dict(self) -> dict:
|
|
7038
|
+
"""Serializes the UnassignResponse into a shallow dictionary of its immediate attributes."""
|
|
7039
|
+
body = {}
|
|
7040
|
+
return body
|
|
7041
|
+
|
|
5547
7042
|
@classmethod
|
|
5548
7043
|
def from_dict(cls, d: Dict[str, any]) -> UnassignResponse:
|
|
5549
7044
|
"""Deserializes the UnassignResponse from a dictionary."""
|
|
@@ -5558,6 +7053,11 @@ class UpdateAssignmentResponse:
|
|
|
5558
7053
|
body = {}
|
|
5559
7054
|
return body
|
|
5560
7055
|
|
|
7056
|
+
def as_shallow_dict(self) -> dict:
|
|
7057
|
+
"""Serializes the UpdateAssignmentResponse into a shallow dictionary of its immediate attributes."""
|
|
7058
|
+
body = {}
|
|
7059
|
+
return body
|
|
7060
|
+
|
|
5561
7061
|
@classmethod
|
|
5562
7062
|
def from_dict(cls, d: Dict[str, any]) -> UpdateAssignmentResponse:
|
|
5563
7063
|
"""Deserializes the UpdateAssignmentResponse from a dictionary."""
|
|
@@ -5608,6 +7108,19 @@ class UpdateCatalog:
|
|
|
5608
7108
|
if self.properties: body['properties'] = self.properties
|
|
5609
7109
|
return body
|
|
5610
7110
|
|
|
7111
|
+
def as_shallow_dict(self) -> dict:
|
|
7112
|
+
"""Serializes the UpdateCatalog into a shallow dictionary of its immediate attributes."""
|
|
7113
|
+
body = {}
|
|
7114
|
+
if self.comment is not None: body['comment'] = self.comment
|
|
7115
|
+
if self.enable_predictive_optimization is not None:
|
|
7116
|
+
body['enable_predictive_optimization'] = self.enable_predictive_optimization
|
|
7117
|
+
if self.isolation_mode is not None: body['isolation_mode'] = self.isolation_mode
|
|
7118
|
+
if self.name is not None: body['name'] = self.name
|
|
7119
|
+
if self.new_name is not None: body['new_name'] = self.new_name
|
|
7120
|
+
if self.owner is not None: body['owner'] = self.owner
|
|
7121
|
+
if self.properties: body['properties'] = self.properties
|
|
7122
|
+
return body
|
|
7123
|
+
|
|
5611
7124
|
@classmethod
|
|
5612
7125
|
def from_dict(cls, d: Dict[str, any]) -> UpdateCatalog:
|
|
5613
7126
|
"""Deserializes the UpdateCatalog from a dictionary."""
|
|
@@ -5644,6 +7157,15 @@ class UpdateConnection:
|
|
|
5644
7157
|
if self.owner is not None: body['owner'] = self.owner
|
|
5645
7158
|
return body
|
|
5646
7159
|
|
|
7160
|
+
def as_shallow_dict(self) -> dict:
|
|
7161
|
+
"""Serializes the UpdateConnection into a shallow dictionary of its immediate attributes."""
|
|
7162
|
+
body = {}
|
|
7163
|
+
if self.name is not None: body['name'] = self.name
|
|
7164
|
+
if self.new_name is not None: body['new_name'] = self.new_name
|
|
7165
|
+
if self.options: body['options'] = self.options
|
|
7166
|
+
if self.owner is not None: body['owner'] = self.owner
|
|
7167
|
+
return body
|
|
7168
|
+
|
|
5647
7169
|
@classmethod
|
|
5648
7170
|
def from_dict(cls, d: Dict[str, any]) -> UpdateConnection:
|
|
5649
7171
|
"""Deserializes the UpdateConnection from a dictionary."""
|
|
@@ -5661,11 +7183,18 @@ class UpdateCredentialRequest:
|
|
|
5661
7183
|
azure_managed_identity: Optional[AzureManagedIdentity] = None
|
|
5662
7184
|
"""The Azure managed identity configuration."""
|
|
5663
7185
|
|
|
7186
|
+
azure_service_principal: Optional[AzureServicePrincipal] = None
|
|
7187
|
+
"""The Azure service principal configuration. Only applicable when purpose is **STORAGE**."""
|
|
7188
|
+
|
|
5664
7189
|
comment: Optional[str] = None
|
|
5665
7190
|
"""Comment associated with the credential."""
|
|
5666
7191
|
|
|
7192
|
+
databricks_gcp_service_account: Optional[DatabricksGcpServiceAccount] = None
|
|
7193
|
+
"""GCP long-lived credential. Databricks-created Google Cloud Storage service account."""
|
|
7194
|
+
|
|
5667
7195
|
force: Optional[bool] = None
|
|
5668
|
-
"""Force update even if there are dependent services
|
|
7196
|
+
"""Force an update even if there are dependent services (when purpose is **SERVICE**) or dependent
|
|
7197
|
+
external locations and external tables (when purpose is **STORAGE**)."""
|
|
5669
7198
|
|
|
5670
7199
|
isolation_mode: Optional[IsolationMode] = None
|
|
5671
7200
|
"""Whether the current securable is accessible from all workspaces or a specific set of workspaces."""
|
|
@@ -5679,6 +7208,10 @@ class UpdateCredentialRequest:
|
|
|
5679
7208
|
owner: Optional[str] = None
|
|
5680
7209
|
"""Username of current owner of credential."""
|
|
5681
7210
|
|
|
7211
|
+
read_only: Optional[bool] = None
|
|
7212
|
+
"""Whether the credential is usable only for read operations. Only applicable when purpose is
|
|
7213
|
+
**STORAGE**."""
|
|
7214
|
+
|
|
5682
7215
|
skip_validation: Optional[bool] = None
|
|
5683
7216
|
"""Supply true to this argument to skip validation of the updated credential."""
|
|
5684
7217
|
|
|
@@ -5687,12 +7220,35 @@ class UpdateCredentialRequest:
|
|
|
5687
7220
|
body = {}
|
|
5688
7221
|
if self.aws_iam_role: body['aws_iam_role'] = self.aws_iam_role.as_dict()
|
|
5689
7222
|
if self.azure_managed_identity: body['azure_managed_identity'] = self.azure_managed_identity.as_dict()
|
|
7223
|
+
if self.azure_service_principal:
|
|
7224
|
+
body['azure_service_principal'] = self.azure_service_principal.as_dict()
|
|
5690
7225
|
if self.comment is not None: body['comment'] = self.comment
|
|
7226
|
+
if self.databricks_gcp_service_account:
|
|
7227
|
+
body['databricks_gcp_service_account'] = self.databricks_gcp_service_account.as_dict()
|
|
5691
7228
|
if self.force is not None: body['force'] = self.force
|
|
5692
7229
|
if self.isolation_mode is not None: body['isolation_mode'] = self.isolation_mode.value
|
|
5693
7230
|
if self.name_arg is not None: body['name_arg'] = self.name_arg
|
|
5694
7231
|
if self.new_name is not None: body['new_name'] = self.new_name
|
|
5695
7232
|
if self.owner is not None: body['owner'] = self.owner
|
|
7233
|
+
if self.read_only is not None: body['read_only'] = self.read_only
|
|
7234
|
+
if self.skip_validation is not None: body['skip_validation'] = self.skip_validation
|
|
7235
|
+
return body
|
|
7236
|
+
|
|
7237
|
+
def as_shallow_dict(self) -> dict:
|
|
7238
|
+
"""Serializes the UpdateCredentialRequest into a shallow dictionary of its immediate attributes."""
|
|
7239
|
+
body = {}
|
|
7240
|
+
if self.aws_iam_role: body['aws_iam_role'] = self.aws_iam_role
|
|
7241
|
+
if self.azure_managed_identity: body['azure_managed_identity'] = self.azure_managed_identity
|
|
7242
|
+
if self.azure_service_principal: body['azure_service_principal'] = self.azure_service_principal
|
|
7243
|
+
if self.comment is not None: body['comment'] = self.comment
|
|
7244
|
+
if self.databricks_gcp_service_account:
|
|
7245
|
+
body['databricks_gcp_service_account'] = self.databricks_gcp_service_account
|
|
7246
|
+
if self.force is not None: body['force'] = self.force
|
|
7247
|
+
if self.isolation_mode is not None: body['isolation_mode'] = self.isolation_mode
|
|
7248
|
+
if self.name_arg is not None: body['name_arg'] = self.name_arg
|
|
7249
|
+
if self.new_name is not None: body['new_name'] = self.new_name
|
|
7250
|
+
if self.owner is not None: body['owner'] = self.owner
|
|
7251
|
+
if self.read_only is not None: body['read_only'] = self.read_only
|
|
5696
7252
|
if self.skip_validation is not None: body['skip_validation'] = self.skip_validation
|
|
5697
7253
|
return body
|
|
5698
7254
|
|
|
@@ -5701,12 +7257,16 @@ class UpdateCredentialRequest:
|
|
|
5701
7257
|
"""Deserializes the UpdateCredentialRequest from a dictionary."""
|
|
5702
7258
|
return cls(aws_iam_role=_from_dict(d, 'aws_iam_role', AwsIamRole),
|
|
5703
7259
|
azure_managed_identity=_from_dict(d, 'azure_managed_identity', AzureManagedIdentity),
|
|
7260
|
+
azure_service_principal=_from_dict(d, 'azure_service_principal', AzureServicePrincipal),
|
|
5704
7261
|
comment=d.get('comment', None),
|
|
7262
|
+
databricks_gcp_service_account=_from_dict(d, 'databricks_gcp_service_account',
|
|
7263
|
+
DatabricksGcpServiceAccount),
|
|
5705
7264
|
force=d.get('force', None),
|
|
5706
7265
|
isolation_mode=_enum(d, 'isolation_mode', IsolationMode),
|
|
5707
7266
|
name_arg=d.get('name_arg', None),
|
|
5708
7267
|
new_name=d.get('new_name', None),
|
|
5709
7268
|
owner=d.get('owner', None),
|
|
7269
|
+
read_only=d.get('read_only', None),
|
|
5710
7270
|
skip_validation=d.get('skip_validation', None))
|
|
5711
7271
|
|
|
5712
7272
|
|
|
@@ -5770,6 +7330,24 @@ class UpdateExternalLocation:
|
|
|
5770
7330
|
if self.url is not None: body['url'] = self.url
|
|
5771
7331
|
return body
|
|
5772
7332
|
|
|
7333
|
+
def as_shallow_dict(self) -> dict:
|
|
7334
|
+
"""Serializes the UpdateExternalLocation into a shallow dictionary of its immediate attributes."""
|
|
7335
|
+
body = {}
|
|
7336
|
+
if self.access_point is not None: body['access_point'] = self.access_point
|
|
7337
|
+
if self.comment is not None: body['comment'] = self.comment
|
|
7338
|
+
if self.credential_name is not None: body['credential_name'] = self.credential_name
|
|
7339
|
+
if self.encryption_details: body['encryption_details'] = self.encryption_details
|
|
7340
|
+
if self.fallback is not None: body['fallback'] = self.fallback
|
|
7341
|
+
if self.force is not None: body['force'] = self.force
|
|
7342
|
+
if self.isolation_mode is not None: body['isolation_mode'] = self.isolation_mode
|
|
7343
|
+
if self.name is not None: body['name'] = self.name
|
|
7344
|
+
if self.new_name is not None: body['new_name'] = self.new_name
|
|
7345
|
+
if self.owner is not None: body['owner'] = self.owner
|
|
7346
|
+
if self.read_only is not None: body['read_only'] = self.read_only
|
|
7347
|
+
if self.skip_validation is not None: body['skip_validation'] = self.skip_validation
|
|
7348
|
+
if self.url is not None: body['url'] = self.url
|
|
7349
|
+
return body
|
|
7350
|
+
|
|
5773
7351
|
@classmethod
|
|
5774
7352
|
def from_dict(cls, d: Dict[str, any]) -> UpdateExternalLocation:
|
|
5775
7353
|
"""Deserializes the UpdateExternalLocation from a dictionary."""
|
|
@@ -5804,6 +7382,13 @@ class UpdateFunction:
|
|
|
5804
7382
|
if self.owner is not None: body['owner'] = self.owner
|
|
5805
7383
|
return body
|
|
5806
7384
|
|
|
7385
|
+
def as_shallow_dict(self) -> dict:
|
|
7386
|
+
"""Serializes the UpdateFunction into a shallow dictionary of its immediate attributes."""
|
|
7387
|
+
body = {}
|
|
7388
|
+
if self.name is not None: body['name'] = self.name
|
|
7389
|
+
if self.owner is not None: body['owner'] = self.owner
|
|
7390
|
+
return body
|
|
7391
|
+
|
|
5807
7392
|
@classmethod
|
|
5808
7393
|
def from_dict(cls, d: Dict[str, any]) -> UpdateFunction:
|
|
5809
7394
|
"""Deserializes the UpdateFunction from a dictionary."""
|
|
@@ -5855,6 +7440,24 @@ class UpdateMetastore:
|
|
|
5855
7440
|
body['storage_root_credential_id'] = self.storage_root_credential_id
|
|
5856
7441
|
return body
|
|
5857
7442
|
|
|
7443
|
+
def as_shallow_dict(self) -> dict:
|
|
7444
|
+
"""Serializes the UpdateMetastore into a shallow dictionary of its immediate attributes."""
|
|
7445
|
+
body = {}
|
|
7446
|
+
if self.delta_sharing_organization_name is not None:
|
|
7447
|
+
body['delta_sharing_organization_name'] = self.delta_sharing_organization_name
|
|
7448
|
+
if self.delta_sharing_recipient_token_lifetime_in_seconds is not None:
|
|
7449
|
+
body[
|
|
7450
|
+
'delta_sharing_recipient_token_lifetime_in_seconds'] = self.delta_sharing_recipient_token_lifetime_in_seconds
|
|
7451
|
+
if self.delta_sharing_scope is not None: body['delta_sharing_scope'] = self.delta_sharing_scope
|
|
7452
|
+
if self.id is not None: body['id'] = self.id
|
|
7453
|
+
if self.new_name is not None: body['new_name'] = self.new_name
|
|
7454
|
+
if self.owner is not None: body['owner'] = self.owner
|
|
7455
|
+
if self.privilege_model_version is not None:
|
|
7456
|
+
body['privilege_model_version'] = self.privilege_model_version
|
|
7457
|
+
if self.storage_root_credential_id is not None:
|
|
7458
|
+
body['storage_root_credential_id'] = self.storage_root_credential_id
|
|
7459
|
+
return body
|
|
7460
|
+
|
|
5858
7461
|
@classmethod
|
|
5859
7462
|
def from_dict(cls, d: Dict[str, any]) -> UpdateMetastore:
|
|
5860
7463
|
"""Deserializes the UpdateMetastore from a dictionary."""
|
|
@@ -5889,6 +7492,14 @@ class UpdateMetastoreAssignment:
|
|
|
5889
7492
|
if self.workspace_id is not None: body['workspace_id'] = self.workspace_id
|
|
5890
7493
|
return body
|
|
5891
7494
|
|
|
7495
|
+
def as_shallow_dict(self) -> dict:
|
|
7496
|
+
"""Serializes the UpdateMetastoreAssignment into a shallow dictionary of its immediate attributes."""
|
|
7497
|
+
body = {}
|
|
7498
|
+
if self.default_catalog_name is not None: body['default_catalog_name'] = self.default_catalog_name
|
|
7499
|
+
if self.metastore_id is not None: body['metastore_id'] = self.metastore_id
|
|
7500
|
+
if self.workspace_id is not None: body['workspace_id'] = self.workspace_id
|
|
7501
|
+
return body
|
|
7502
|
+
|
|
5892
7503
|
@classmethod
|
|
5893
7504
|
def from_dict(cls, d: Dict[str, any]) -> UpdateMetastoreAssignment:
|
|
5894
7505
|
"""Deserializes the UpdateMetastoreAssignment from a dictionary."""
|
|
@@ -5923,6 +7534,14 @@ class UpdateModelVersionRequest:
|
|
|
5923
7534
|
if self.version is not None: body['version'] = self.version
|
|
5924
7535
|
return body
|
|
5925
7536
|
|
|
7537
|
+
def as_shallow_dict(self) -> dict:
|
|
7538
|
+
"""Serializes the UpdateModelVersionRequest into a shallow dictionary of its immediate attributes."""
|
|
7539
|
+
body = {}
|
|
7540
|
+
if self.comment is not None: body['comment'] = self.comment
|
|
7541
|
+
if self.full_name is not None: body['full_name'] = self.full_name
|
|
7542
|
+
if self.version is not None: body['version'] = self.version
|
|
7543
|
+
return body
|
|
7544
|
+
|
|
5926
7545
|
@classmethod
|
|
5927
7546
|
def from_dict(cls, d: Dict[str, any]) -> UpdateModelVersionRequest:
|
|
5928
7547
|
"""Deserializes the UpdateModelVersionRequest from a dictionary."""
|
|
@@ -5993,6 +7612,24 @@ class UpdateMonitor:
|
|
|
5993
7612
|
if self.time_series: body['time_series'] = self.time_series.as_dict()
|
|
5994
7613
|
return body
|
|
5995
7614
|
|
|
7615
|
+
def as_shallow_dict(self) -> dict:
|
|
7616
|
+
"""Serializes the UpdateMonitor into a shallow dictionary of its immediate attributes."""
|
|
7617
|
+
body = {}
|
|
7618
|
+
if self.baseline_table_name is not None: body['baseline_table_name'] = self.baseline_table_name
|
|
7619
|
+
if self.custom_metrics: body['custom_metrics'] = self.custom_metrics
|
|
7620
|
+
if self.dashboard_id is not None: body['dashboard_id'] = self.dashboard_id
|
|
7621
|
+
if self.data_classification_config:
|
|
7622
|
+
body['data_classification_config'] = self.data_classification_config
|
|
7623
|
+
if self.inference_log: body['inference_log'] = self.inference_log
|
|
7624
|
+
if self.notifications: body['notifications'] = self.notifications
|
|
7625
|
+
if self.output_schema_name is not None: body['output_schema_name'] = self.output_schema_name
|
|
7626
|
+
if self.schedule: body['schedule'] = self.schedule
|
|
7627
|
+
if self.slicing_exprs: body['slicing_exprs'] = self.slicing_exprs
|
|
7628
|
+
if self.snapshot: body['snapshot'] = self.snapshot
|
|
7629
|
+
if self.table_name is not None: body['table_name'] = self.table_name
|
|
7630
|
+
if self.time_series: body['time_series'] = self.time_series
|
|
7631
|
+
return body
|
|
7632
|
+
|
|
5996
7633
|
@classmethod
|
|
5997
7634
|
def from_dict(cls, d: Dict[str, any]) -> UpdateMonitor:
|
|
5998
7635
|
"""Deserializes the UpdateMonitor from a dictionary."""
|
|
@@ -6030,6 +7667,14 @@ class UpdatePermissions:
|
|
|
6030
7667
|
if self.securable_type is not None: body['securable_type'] = self.securable_type.value
|
|
6031
7668
|
return body
|
|
6032
7669
|
|
|
7670
|
+
def as_shallow_dict(self) -> dict:
|
|
7671
|
+
"""Serializes the UpdatePermissions into a shallow dictionary of its immediate attributes."""
|
|
7672
|
+
body = {}
|
|
7673
|
+
if self.changes: body['changes'] = self.changes
|
|
7674
|
+
if self.full_name is not None: body['full_name'] = self.full_name
|
|
7675
|
+
if self.securable_type is not None: body['securable_type'] = self.securable_type
|
|
7676
|
+
return body
|
|
7677
|
+
|
|
6033
7678
|
@classmethod
|
|
6034
7679
|
def from_dict(cls, d: Dict[str, any]) -> UpdatePermissions:
|
|
6035
7680
|
"""Deserializes the UpdatePermissions from a dictionary."""
|
|
@@ -6061,6 +7706,15 @@ class UpdateRegisteredModelRequest:
|
|
|
6061
7706
|
if self.owner is not None: body['owner'] = self.owner
|
|
6062
7707
|
return body
|
|
6063
7708
|
|
|
7709
|
+
def as_shallow_dict(self) -> dict:
|
|
7710
|
+
"""Serializes the UpdateRegisteredModelRequest into a shallow dictionary of its immediate attributes."""
|
|
7711
|
+
body = {}
|
|
7712
|
+
if self.comment is not None: body['comment'] = self.comment
|
|
7713
|
+
if self.full_name is not None: body['full_name'] = self.full_name
|
|
7714
|
+
if self.new_name is not None: body['new_name'] = self.new_name
|
|
7715
|
+
if self.owner is not None: body['owner'] = self.owner
|
|
7716
|
+
return body
|
|
7717
|
+
|
|
6064
7718
|
@classmethod
|
|
6065
7719
|
def from_dict(cls, d: Dict[str, any]) -> UpdateRegisteredModelRequest:
|
|
6066
7720
|
"""Deserializes the UpdateRegisteredModelRequest from a dictionary."""
|
|
@@ -6078,6 +7732,11 @@ class UpdateResponse:
|
|
|
6078
7732
|
body = {}
|
|
6079
7733
|
return body
|
|
6080
7734
|
|
|
7735
|
+
def as_shallow_dict(self) -> dict:
|
|
7736
|
+
"""Serializes the UpdateResponse into a shallow dictionary of its immediate attributes."""
|
|
7737
|
+
body = {}
|
|
7738
|
+
return body
|
|
7739
|
+
|
|
6081
7740
|
@classmethod
|
|
6082
7741
|
def from_dict(cls, d: Dict[str, any]) -> UpdateResponse:
|
|
6083
7742
|
"""Deserializes the UpdateResponse from a dictionary."""
|
|
@@ -6116,6 +7775,18 @@ class UpdateSchema:
|
|
|
6116
7775
|
if self.properties: body['properties'] = self.properties
|
|
6117
7776
|
return body
|
|
6118
7777
|
|
|
7778
|
+
def as_shallow_dict(self) -> dict:
|
|
7779
|
+
"""Serializes the UpdateSchema into a shallow dictionary of its immediate attributes."""
|
|
7780
|
+
body = {}
|
|
7781
|
+
if self.comment is not None: body['comment'] = self.comment
|
|
7782
|
+
if self.enable_predictive_optimization is not None:
|
|
7783
|
+
body['enable_predictive_optimization'] = self.enable_predictive_optimization
|
|
7784
|
+
if self.full_name is not None: body['full_name'] = self.full_name
|
|
7785
|
+
if self.new_name is not None: body['new_name'] = self.new_name
|
|
7786
|
+
if self.owner is not None: body['owner'] = self.owner
|
|
7787
|
+
if self.properties: body['properties'] = self.properties
|
|
7788
|
+
return body
|
|
7789
|
+
|
|
6119
7790
|
@classmethod
|
|
6120
7791
|
def from_dict(cls, d: Dict[str, any]) -> UpdateSchema:
|
|
6121
7792
|
"""Deserializes the UpdateSchema from a dictionary."""
|
|
@@ -6188,6 +7859,25 @@ class UpdateStorageCredential:
|
|
|
6188
7859
|
if self.skip_validation is not None: body['skip_validation'] = self.skip_validation
|
|
6189
7860
|
return body
|
|
6190
7861
|
|
|
7862
|
+
def as_shallow_dict(self) -> dict:
|
|
7863
|
+
"""Serializes the UpdateStorageCredential into a shallow dictionary of its immediate attributes."""
|
|
7864
|
+
body = {}
|
|
7865
|
+
if self.aws_iam_role: body['aws_iam_role'] = self.aws_iam_role
|
|
7866
|
+
if self.azure_managed_identity: body['azure_managed_identity'] = self.azure_managed_identity
|
|
7867
|
+
if self.azure_service_principal: body['azure_service_principal'] = self.azure_service_principal
|
|
7868
|
+
if self.cloudflare_api_token: body['cloudflare_api_token'] = self.cloudflare_api_token
|
|
7869
|
+
if self.comment is not None: body['comment'] = self.comment
|
|
7870
|
+
if self.databricks_gcp_service_account:
|
|
7871
|
+
body['databricks_gcp_service_account'] = self.databricks_gcp_service_account
|
|
7872
|
+
if self.force is not None: body['force'] = self.force
|
|
7873
|
+
if self.isolation_mode is not None: body['isolation_mode'] = self.isolation_mode
|
|
7874
|
+
if self.name is not None: body['name'] = self.name
|
|
7875
|
+
if self.new_name is not None: body['new_name'] = self.new_name
|
|
7876
|
+
if self.owner is not None: body['owner'] = self.owner
|
|
7877
|
+
if self.read_only is not None: body['read_only'] = self.read_only
|
|
7878
|
+
if self.skip_validation is not None: body['skip_validation'] = self.skip_validation
|
|
7879
|
+
return body
|
|
7880
|
+
|
|
6191
7881
|
@classmethod
|
|
6192
7882
|
def from_dict(cls, d: Dict[str, any]) -> UpdateStorageCredential:
|
|
6193
7883
|
"""Deserializes the UpdateStorageCredential from a dictionary."""
|
|
@@ -6231,6 +7921,15 @@ class UpdateVolumeRequestContent:
|
|
|
6231
7921
|
if self.owner is not None: body['owner'] = self.owner
|
|
6232
7922
|
return body
|
|
6233
7923
|
|
|
7924
|
+
def as_shallow_dict(self) -> dict:
|
|
7925
|
+
"""Serializes the UpdateVolumeRequestContent into a shallow dictionary of its immediate attributes."""
|
|
7926
|
+
body = {}
|
|
7927
|
+
if self.comment is not None: body['comment'] = self.comment
|
|
7928
|
+
if self.name is not None: body['name'] = self.name
|
|
7929
|
+
if self.new_name is not None: body['new_name'] = self.new_name
|
|
7930
|
+
if self.owner is not None: body['owner'] = self.owner
|
|
7931
|
+
return body
|
|
7932
|
+
|
|
6234
7933
|
@classmethod
|
|
6235
7934
|
def from_dict(cls, d: Dict[str, any]) -> UpdateVolumeRequestContent:
|
|
6236
7935
|
"""Deserializes the UpdateVolumeRequestContent from a dictionary."""
|
|
@@ -6259,6 +7958,14 @@ class UpdateWorkspaceBindings:
|
|
|
6259
7958
|
if self.unassign_workspaces: body['unassign_workspaces'] = [v for v in self.unassign_workspaces]
|
|
6260
7959
|
return body
|
|
6261
7960
|
|
|
7961
|
+
def as_shallow_dict(self) -> dict:
|
|
7962
|
+
"""Serializes the UpdateWorkspaceBindings into a shallow dictionary of its immediate attributes."""
|
|
7963
|
+
body = {}
|
|
7964
|
+
if self.assign_workspaces: body['assign_workspaces'] = self.assign_workspaces
|
|
7965
|
+
if self.name is not None: body['name'] = self.name
|
|
7966
|
+
if self.unassign_workspaces: body['unassign_workspaces'] = self.unassign_workspaces
|
|
7967
|
+
return body
|
|
7968
|
+
|
|
6262
7969
|
@classmethod
|
|
6263
7970
|
def from_dict(cls, d: Dict[str, any]) -> UpdateWorkspaceBindings:
|
|
6264
7971
|
"""Deserializes the UpdateWorkspaceBindings from a dictionary."""
|
|
@@ -6290,6 +7997,15 @@ class UpdateWorkspaceBindingsParameters:
|
|
|
6290
7997
|
if self.securable_type is not None: body['securable_type'] = self.securable_type.value
|
|
6291
7998
|
return body
|
|
6292
7999
|
|
|
8000
|
+
def as_shallow_dict(self) -> dict:
|
|
8001
|
+
"""Serializes the UpdateWorkspaceBindingsParameters into a shallow dictionary of its immediate attributes."""
|
|
8002
|
+
body = {}
|
|
8003
|
+
if self.add: body['add'] = self.add
|
|
8004
|
+
if self.remove: body['remove'] = self.remove
|
|
8005
|
+
if self.securable_name is not None: body['securable_name'] = self.securable_name
|
|
8006
|
+
if self.securable_type is not None: body['securable_type'] = self.securable_type
|
|
8007
|
+
return body
|
|
8008
|
+
|
|
6293
8009
|
@classmethod
|
|
6294
8010
|
def from_dict(cls, d: Dict[str, any]) -> UpdateWorkspaceBindingsParameters:
|
|
6295
8011
|
"""Deserializes the UpdateWorkspaceBindingsParameters from a dictionary."""
|
|
@@ -6310,16 +8026,44 @@ class ValidateCredentialRequest:
|
|
|
6310
8026
|
credential_name: Optional[str] = None
|
|
6311
8027
|
"""Required. The name of an existing credential or long-lived cloud credential to validate."""
|
|
6312
8028
|
|
|
8029
|
+
external_location_name: Optional[str] = None
|
|
8030
|
+
"""The name of an existing external location to validate. Only applicable for storage credentials
|
|
8031
|
+
(purpose is **STORAGE**.)"""
|
|
8032
|
+
|
|
6313
8033
|
purpose: Optional[CredentialPurpose] = None
|
|
6314
8034
|
"""The purpose of the credential. This should only be used when the credential is specified."""
|
|
6315
8035
|
|
|
8036
|
+
read_only: Optional[bool] = None
|
|
8037
|
+
"""Whether the credential is only usable for read operations. Only applicable for storage
|
|
8038
|
+
credentials (purpose is **STORAGE**.)"""
|
|
8039
|
+
|
|
8040
|
+
url: Optional[str] = None
|
|
8041
|
+
"""The external location url to validate. Only applicable when purpose is **STORAGE**."""
|
|
8042
|
+
|
|
6316
8043
|
def as_dict(self) -> dict:
|
|
6317
8044
|
"""Serializes the ValidateCredentialRequest into a dictionary suitable for use as a JSON request body."""
|
|
6318
8045
|
body = {}
|
|
6319
8046
|
if self.aws_iam_role: body['aws_iam_role'] = self.aws_iam_role.as_dict()
|
|
6320
8047
|
if self.azure_managed_identity: body['azure_managed_identity'] = self.azure_managed_identity.as_dict()
|
|
6321
8048
|
if self.credential_name is not None: body['credential_name'] = self.credential_name
|
|
8049
|
+
if self.external_location_name is not None:
|
|
8050
|
+
body['external_location_name'] = self.external_location_name
|
|
6322
8051
|
if self.purpose is not None: body['purpose'] = self.purpose.value
|
|
8052
|
+
if self.read_only is not None: body['read_only'] = self.read_only
|
|
8053
|
+
if self.url is not None: body['url'] = self.url
|
|
8054
|
+
return body
|
|
8055
|
+
|
|
8056
|
+
def as_shallow_dict(self) -> dict:
|
|
8057
|
+
"""Serializes the ValidateCredentialRequest into a shallow dictionary of its immediate attributes."""
|
|
8058
|
+
body = {}
|
|
8059
|
+
if self.aws_iam_role: body['aws_iam_role'] = self.aws_iam_role
|
|
8060
|
+
if self.azure_managed_identity: body['azure_managed_identity'] = self.azure_managed_identity
|
|
8061
|
+
if self.credential_name is not None: body['credential_name'] = self.credential_name
|
|
8062
|
+
if self.external_location_name is not None:
|
|
8063
|
+
body['external_location_name'] = self.external_location_name
|
|
8064
|
+
if self.purpose is not None: body['purpose'] = self.purpose
|
|
8065
|
+
if self.read_only is not None: body['read_only'] = self.read_only
|
|
8066
|
+
if self.url is not None: body['url'] = self.url
|
|
6323
8067
|
return body
|
|
6324
8068
|
|
|
6325
8069
|
@classmethod
|
|
@@ -6328,24 +8072,40 @@ class ValidateCredentialRequest:
|
|
|
6328
8072
|
return cls(aws_iam_role=_from_dict(d, 'aws_iam_role', AwsIamRole),
|
|
6329
8073
|
azure_managed_identity=_from_dict(d, 'azure_managed_identity', AzureManagedIdentity),
|
|
6330
8074
|
credential_name=d.get('credential_name', None),
|
|
6331
|
-
|
|
8075
|
+
external_location_name=d.get('external_location_name', None),
|
|
8076
|
+
purpose=_enum(d, 'purpose', CredentialPurpose),
|
|
8077
|
+
read_only=d.get('read_only', None),
|
|
8078
|
+
url=d.get('url', None))
|
|
6332
8079
|
|
|
6333
8080
|
|
|
6334
8081
|
@dataclass
|
|
6335
8082
|
class ValidateCredentialResponse:
|
|
8083
|
+
is_dir: Optional[bool] = None
|
|
8084
|
+
"""Whether the tested location is a directory in cloud storage. Only applicable for when purpose is
|
|
8085
|
+
**STORAGE**."""
|
|
8086
|
+
|
|
6336
8087
|
results: Optional[List[CredentialValidationResult]] = None
|
|
6337
8088
|
"""The results of the validation check."""
|
|
6338
8089
|
|
|
6339
8090
|
def as_dict(self) -> dict:
|
|
6340
8091
|
"""Serializes the ValidateCredentialResponse into a dictionary suitable for use as a JSON request body."""
|
|
6341
8092
|
body = {}
|
|
8093
|
+
if self.is_dir is not None: body['isDir'] = self.is_dir
|
|
6342
8094
|
if self.results: body['results'] = [v.as_dict() for v in self.results]
|
|
6343
8095
|
return body
|
|
6344
8096
|
|
|
8097
|
+
def as_shallow_dict(self) -> dict:
|
|
8098
|
+
"""Serializes the ValidateCredentialResponse into a shallow dictionary of its immediate attributes."""
|
|
8099
|
+
body = {}
|
|
8100
|
+
if self.is_dir is not None: body['isDir'] = self.is_dir
|
|
8101
|
+
if self.results: body['results'] = self.results
|
|
8102
|
+
return body
|
|
8103
|
+
|
|
6345
8104
|
@classmethod
|
|
6346
8105
|
def from_dict(cls, d: Dict[str, any]) -> ValidateCredentialResponse:
|
|
6347
8106
|
"""Deserializes the ValidateCredentialResponse from a dictionary."""
|
|
6348
|
-
return cls(
|
|
8107
|
+
return cls(is_dir=d.get('isDir', None),
|
|
8108
|
+
results=_repeated_dict(d, 'results', CredentialValidationResult))
|
|
6349
8109
|
|
|
6350
8110
|
|
|
6351
8111
|
class ValidateCredentialResult(Enum):
|
|
@@ -6403,6 +8163,23 @@ class ValidateStorageCredential:
|
|
|
6403
8163
|
if self.url is not None: body['url'] = self.url
|
|
6404
8164
|
return body
|
|
6405
8165
|
|
|
8166
|
+
def as_shallow_dict(self) -> dict:
|
|
8167
|
+
"""Serializes the ValidateStorageCredential into a shallow dictionary of its immediate attributes."""
|
|
8168
|
+
body = {}
|
|
8169
|
+
if self.aws_iam_role: body['aws_iam_role'] = self.aws_iam_role
|
|
8170
|
+
if self.azure_managed_identity: body['azure_managed_identity'] = self.azure_managed_identity
|
|
8171
|
+
if self.azure_service_principal: body['azure_service_principal'] = self.azure_service_principal
|
|
8172
|
+
if self.cloudflare_api_token: body['cloudflare_api_token'] = self.cloudflare_api_token
|
|
8173
|
+
if self.databricks_gcp_service_account:
|
|
8174
|
+
body['databricks_gcp_service_account'] = self.databricks_gcp_service_account
|
|
8175
|
+
if self.external_location_name is not None:
|
|
8176
|
+
body['external_location_name'] = self.external_location_name
|
|
8177
|
+
if self.read_only is not None: body['read_only'] = self.read_only
|
|
8178
|
+
if self.storage_credential_name is not None:
|
|
8179
|
+
body['storage_credential_name'] = self.storage_credential_name
|
|
8180
|
+
if self.url is not None: body['url'] = self.url
|
|
8181
|
+
return body
|
|
8182
|
+
|
|
6406
8183
|
@classmethod
|
|
6407
8184
|
def from_dict(cls, d: Dict[str, any]) -> ValidateStorageCredential:
|
|
6408
8185
|
"""Deserializes the ValidateStorageCredential from a dictionary."""
|
|
@@ -6434,6 +8211,13 @@ class ValidateStorageCredentialResponse:
|
|
|
6434
8211
|
if self.results: body['results'] = [v.as_dict() for v in self.results]
|
|
6435
8212
|
return body
|
|
6436
8213
|
|
|
8214
|
+
def as_shallow_dict(self) -> dict:
|
|
8215
|
+
"""Serializes the ValidateStorageCredentialResponse into a shallow dictionary of its immediate attributes."""
|
|
8216
|
+
body = {}
|
|
8217
|
+
if self.is_dir is not None: body['isDir'] = self.is_dir
|
|
8218
|
+
if self.results: body['results'] = self.results
|
|
8219
|
+
return body
|
|
8220
|
+
|
|
6437
8221
|
@classmethod
|
|
6438
8222
|
def from_dict(cls, d: Dict[str, any]) -> ValidateStorageCredentialResponse:
|
|
6439
8223
|
"""Deserializes the ValidateStorageCredentialResponse from a dictionary."""
|
|
@@ -6459,6 +8243,14 @@ class ValidationResult:
|
|
|
6459
8243
|
if self.result is not None: body['result'] = self.result.value
|
|
6460
8244
|
return body
|
|
6461
8245
|
|
|
8246
|
+
def as_shallow_dict(self) -> dict:
|
|
8247
|
+
"""Serializes the ValidationResult into a shallow dictionary of its immediate attributes."""
|
|
8248
|
+
body = {}
|
|
8249
|
+
if self.message is not None: body['message'] = self.message
|
|
8250
|
+
if self.operation is not None: body['operation'] = self.operation
|
|
8251
|
+
if self.result is not None: body['result'] = self.result
|
|
8252
|
+
return body
|
|
8253
|
+
|
|
6462
8254
|
@classmethod
|
|
6463
8255
|
def from_dict(cls, d: Dict[str, any]) -> ValidationResult:
|
|
6464
8256
|
"""Deserializes the ValidationResult from a dictionary."""
|
|
@@ -6558,6 +8350,28 @@ class VolumeInfo:
|
|
|
6558
8350
|
if self.volume_type is not None: body['volume_type'] = self.volume_type.value
|
|
6559
8351
|
return body
|
|
6560
8352
|
|
|
8353
|
+
def as_shallow_dict(self) -> dict:
|
|
8354
|
+
"""Serializes the VolumeInfo into a shallow dictionary of its immediate attributes."""
|
|
8355
|
+
body = {}
|
|
8356
|
+
if self.access_point is not None: body['access_point'] = self.access_point
|
|
8357
|
+
if self.browse_only is not None: body['browse_only'] = self.browse_only
|
|
8358
|
+
if self.catalog_name is not None: body['catalog_name'] = self.catalog_name
|
|
8359
|
+
if self.comment is not None: body['comment'] = self.comment
|
|
8360
|
+
if self.created_at is not None: body['created_at'] = self.created_at
|
|
8361
|
+
if self.created_by is not None: body['created_by'] = self.created_by
|
|
8362
|
+
if self.encryption_details: body['encryption_details'] = self.encryption_details
|
|
8363
|
+
if self.full_name is not None: body['full_name'] = self.full_name
|
|
8364
|
+
if self.metastore_id is not None: body['metastore_id'] = self.metastore_id
|
|
8365
|
+
if self.name is not None: body['name'] = self.name
|
|
8366
|
+
if self.owner is not None: body['owner'] = self.owner
|
|
8367
|
+
if self.schema_name is not None: body['schema_name'] = self.schema_name
|
|
8368
|
+
if self.storage_location is not None: body['storage_location'] = self.storage_location
|
|
8369
|
+
if self.updated_at is not None: body['updated_at'] = self.updated_at
|
|
8370
|
+
if self.updated_by is not None: body['updated_by'] = self.updated_by
|
|
8371
|
+
if self.volume_id is not None: body['volume_id'] = self.volume_id
|
|
8372
|
+
if self.volume_type is not None: body['volume_type'] = self.volume_type
|
|
8373
|
+
return body
|
|
8374
|
+
|
|
6561
8375
|
@classmethod
|
|
6562
8376
|
def from_dict(cls, d: Dict[str, any]) -> VolumeInfo:
|
|
6563
8377
|
"""Deserializes the VolumeInfo from a dictionary."""
|
|
@@ -6599,6 +8413,13 @@ class WorkspaceBinding:
|
|
|
6599
8413
|
if self.workspace_id is not None: body['workspace_id'] = self.workspace_id
|
|
6600
8414
|
return body
|
|
6601
8415
|
|
|
8416
|
+
def as_shallow_dict(self) -> dict:
|
|
8417
|
+
"""Serializes the WorkspaceBinding into a shallow dictionary of its immediate attributes."""
|
|
8418
|
+
body = {}
|
|
8419
|
+
if self.binding_type is not None: body['binding_type'] = self.binding_type
|
|
8420
|
+
if self.workspace_id is not None: body['workspace_id'] = self.workspace_id
|
|
8421
|
+
return body
|
|
8422
|
+
|
|
6602
8423
|
@classmethod
|
|
6603
8424
|
def from_dict(cls, d: Dict[str, any]) -> WorkspaceBinding:
|
|
6604
8425
|
"""Deserializes the WorkspaceBinding from a dictionary."""
|
|
@@ -6630,6 +8451,13 @@ class WorkspaceBindingsResponse:
|
|
|
6630
8451
|
if self.next_page_token is not None: body['next_page_token'] = self.next_page_token
|
|
6631
8452
|
return body
|
|
6632
8453
|
|
|
8454
|
+
def as_shallow_dict(self) -> dict:
|
|
8455
|
+
"""Serializes the WorkspaceBindingsResponse into a shallow dictionary of its immediate attributes."""
|
|
8456
|
+
body = {}
|
|
8457
|
+
if self.bindings: body['bindings'] = self.bindings
|
|
8458
|
+
if self.next_page_token is not None: body['next_page_token'] = self.next_page_token
|
|
8459
|
+
return body
|
|
8460
|
+
|
|
6633
8461
|
@classmethod
|
|
6634
8462
|
def from_dict(cls, d: Dict[str, any]) -> WorkspaceBindingsResponse:
|
|
6635
8463
|
"""Deserializes the WorkspaceBindingsResponse from a dictionary."""
|
|
@@ -7397,36 +9225,50 @@ class CredentialsAPI:
|
|
|
7397
9225
|
tenant. Each credential is subject to Unity Catalog access-control policies that control which users and
|
|
7398
9226
|
groups can access the credential.
|
|
7399
9227
|
|
|
7400
|
-
To create credentials, you must be a Databricks account admin or have the `CREATE SERVICE CREDENTIAL
|
|
9228
|
+
To create credentials, you must be a Databricks account admin or have the `CREATE SERVICE CREDENTIAL`
|
|
7401
9229
|
privilege. The user who creates the credential can delegate ownership to another user or group to manage
|
|
7402
|
-
permissions on it"""
|
|
9230
|
+
permissions on it."""
|
|
7403
9231
|
|
|
7404
9232
|
def __init__(self, api_client):
|
|
7405
9233
|
self._api = api_client
|
|
7406
9234
|
|
|
7407
9235
|
def create_credential(self,
|
|
9236
|
+
name: str,
|
|
7408
9237
|
*,
|
|
7409
9238
|
aws_iam_role: Optional[AwsIamRole] = None,
|
|
7410
9239
|
azure_managed_identity: Optional[AzureManagedIdentity] = None,
|
|
9240
|
+
azure_service_principal: Optional[AzureServicePrincipal] = None,
|
|
7411
9241
|
comment: Optional[str] = None,
|
|
7412
|
-
|
|
9242
|
+
databricks_gcp_service_account: Optional[DatabricksGcpServiceAccount] = None,
|
|
7413
9243
|
purpose: Optional[CredentialPurpose] = None,
|
|
9244
|
+
read_only: Optional[bool] = None,
|
|
7414
9245
|
skip_validation: Optional[bool] = None) -> CredentialInfo:
|
|
7415
9246
|
"""Create a credential.
|
|
7416
9247
|
|
|
7417
|
-
Creates a new credential.
|
|
9248
|
+
Creates a new credential. The type of credential to be created is determined by the **purpose** field,
|
|
9249
|
+
which should be either **SERVICE** or **STORAGE**.
|
|
7418
9250
|
|
|
9251
|
+
The caller must be a metastore admin or have the metastore privilege **CREATE_STORAGE_CREDENTIAL** for
|
|
9252
|
+
storage credentials, or **CREATE_SERVICE_CREDENTIAL** for service credentials.
|
|
9253
|
+
|
|
9254
|
+
:param name: str
|
|
9255
|
+
The credential name. The name must be unique among storage and service credentials within the
|
|
9256
|
+
metastore.
|
|
7419
9257
|
:param aws_iam_role: :class:`AwsIamRole` (optional)
|
|
7420
9258
|
The AWS IAM role configuration
|
|
7421
9259
|
:param azure_managed_identity: :class:`AzureManagedIdentity` (optional)
|
|
7422
9260
|
The Azure managed identity configuration.
|
|
9261
|
+
:param azure_service_principal: :class:`AzureServicePrincipal` (optional)
|
|
9262
|
+
The Azure service principal configuration. Only applicable when purpose is **STORAGE**.
|
|
7423
9263
|
:param comment: str (optional)
|
|
7424
9264
|
Comment associated with the credential.
|
|
7425
|
-
:param
|
|
7426
|
-
|
|
7427
|
-
metastore.
|
|
9265
|
+
:param databricks_gcp_service_account: :class:`DatabricksGcpServiceAccount` (optional)
|
|
9266
|
+
GCP long-lived credential. Databricks-created Google Cloud Storage service account.
|
|
7428
9267
|
:param purpose: :class:`CredentialPurpose` (optional)
|
|
7429
9268
|
Indicates the purpose of the credential.
|
|
9269
|
+
:param read_only: bool (optional)
|
|
9270
|
+
Whether the credential is usable only for read operations. Only applicable when purpose is
|
|
9271
|
+
**STORAGE**.
|
|
7430
9272
|
:param skip_validation: bool (optional)
|
|
7431
9273
|
Optional. Supplying true to this argument skips validation of the created set of credentials.
|
|
7432
9274
|
|
|
@@ -7436,9 +9278,14 @@ class CredentialsAPI:
|
|
|
7436
9278
|
if aws_iam_role is not None: body['aws_iam_role'] = aws_iam_role.as_dict()
|
|
7437
9279
|
if azure_managed_identity is not None:
|
|
7438
9280
|
body['azure_managed_identity'] = azure_managed_identity.as_dict()
|
|
9281
|
+
if azure_service_principal is not None:
|
|
9282
|
+
body['azure_service_principal'] = azure_service_principal.as_dict()
|
|
7439
9283
|
if comment is not None: body['comment'] = comment
|
|
9284
|
+
if databricks_gcp_service_account is not None:
|
|
9285
|
+
body['databricks_gcp_service_account'] = databricks_gcp_service_account.as_dict()
|
|
7440
9286
|
if name is not None: body['name'] = name
|
|
7441
9287
|
if purpose is not None: body['purpose'] = purpose.value
|
|
9288
|
+
if read_only is not None: body['read_only'] = read_only
|
|
7442
9289
|
if skip_validation is not None: body['skip_validation'] = skip_validation
|
|
7443
9290
|
headers = {'Accept': 'application/json', 'Content-Type': 'application/json', }
|
|
7444
9291
|
|
|
@@ -7448,12 +9295,14 @@ class CredentialsAPI:
|
|
|
7448
9295
|
def delete_credential(self, name_arg: str, *, force: Optional[bool] = None):
|
|
7449
9296
|
"""Delete a credential.
|
|
7450
9297
|
|
|
7451
|
-
Deletes a credential from the metastore. The caller must be an owner of the
|
|
9298
|
+
Deletes a service or storage credential from the metastore. The caller must be an owner of the
|
|
9299
|
+
credential.
|
|
7452
9300
|
|
|
7453
9301
|
:param name_arg: str
|
|
7454
9302
|
Name of the credential.
|
|
7455
9303
|
:param force: bool (optional)
|
|
7456
|
-
Force
|
|
9304
|
+
Force an update even if there are dependent services (when purpose is **SERVICE**) or dependent
|
|
9305
|
+
external locations and external tables (when purpose is **STORAGE**).
|
|
7457
9306
|
|
|
7458
9307
|
|
|
7459
9308
|
"""
|
|
@@ -7466,24 +9315,29 @@ class CredentialsAPI:
|
|
|
7466
9315
|
|
|
7467
9316
|
def generate_temporary_service_credential(
|
|
7468
9317
|
self,
|
|
9318
|
+
credential_name: str,
|
|
7469
9319
|
*,
|
|
7470
9320
|
azure_options: Optional[GenerateTemporaryServiceCredentialAzureOptions] = None,
|
|
7471
|
-
|
|
9321
|
+
gcp_options: Optional[GenerateTemporaryServiceCredentialGcpOptions] = None
|
|
9322
|
+
) -> TemporaryCredentials:
|
|
7472
9323
|
"""Generate a temporary service credential.
|
|
7473
9324
|
|
|
7474
9325
|
Returns a set of temporary credentials generated using the specified service credential. The caller
|
|
7475
9326
|
must be a metastore admin or have the metastore privilege **ACCESS** on the service credential.
|
|
7476
9327
|
|
|
7477
|
-
:param
|
|
7478
|
-
Options to customize the requested temporary credential
|
|
7479
|
-
:param credential_name: str (optional)
|
|
9328
|
+
:param credential_name: str
|
|
7480
9329
|
The name of the service credential used to generate a temporary credential
|
|
9330
|
+
:param azure_options: :class:`GenerateTemporaryServiceCredentialAzureOptions` (optional)
|
|
9331
|
+
The Azure cloud options to customize the requested temporary credential
|
|
9332
|
+
:param gcp_options: :class:`GenerateTemporaryServiceCredentialGcpOptions` (optional)
|
|
9333
|
+
The GCP cloud options to customize the requested temporary credential
|
|
7481
9334
|
|
|
7482
9335
|
:returns: :class:`TemporaryCredentials`
|
|
7483
9336
|
"""
|
|
7484
9337
|
body = {}
|
|
7485
9338
|
if azure_options is not None: body['azure_options'] = azure_options.as_dict()
|
|
7486
9339
|
if credential_name is not None: body['credential_name'] = credential_name
|
|
9340
|
+
if gcp_options is not None: body['gcp_options'] = gcp_options.as_dict()
|
|
7487
9341
|
headers = {'Accept': 'application/json', 'Content-Type': 'application/json', }
|
|
7488
9342
|
|
|
7489
9343
|
res = self._api.do('POST',
|
|
@@ -7495,8 +9349,8 @@ class CredentialsAPI:
|
|
|
7495
9349
|
def get_credential(self, name_arg: str) -> CredentialInfo:
|
|
7496
9350
|
"""Get a credential.
|
|
7497
9351
|
|
|
7498
|
-
Gets a credential from the metastore. The caller must be a metastore admin, the
|
|
7499
|
-
credential, or have any permission on the credential.
|
|
9352
|
+
Gets a service or storage credential from the metastore. The caller must be a metastore admin, the
|
|
9353
|
+
owner of the credential, or have any permission on the credential.
|
|
7500
9354
|
|
|
7501
9355
|
:param name_arg: str
|
|
7502
9356
|
Name of the credential.
|
|
@@ -7555,15 +9409,18 @@ class CredentialsAPI:
|
|
|
7555
9409
|
*,
|
|
7556
9410
|
aws_iam_role: Optional[AwsIamRole] = None,
|
|
7557
9411
|
azure_managed_identity: Optional[AzureManagedIdentity] = None,
|
|
9412
|
+
azure_service_principal: Optional[AzureServicePrincipal] = None,
|
|
7558
9413
|
comment: Optional[str] = None,
|
|
9414
|
+
databricks_gcp_service_account: Optional[DatabricksGcpServiceAccount] = None,
|
|
7559
9415
|
force: Optional[bool] = None,
|
|
7560
9416
|
isolation_mode: Optional[IsolationMode] = None,
|
|
7561
9417
|
new_name: Optional[str] = None,
|
|
7562
9418
|
owner: Optional[str] = None,
|
|
9419
|
+
read_only: Optional[bool] = None,
|
|
7563
9420
|
skip_validation: Optional[bool] = None) -> CredentialInfo:
|
|
7564
9421
|
"""Update a credential.
|
|
7565
9422
|
|
|
7566
|
-
Updates a credential on the metastore.
|
|
9423
|
+
Updates a service or storage credential on the metastore.
|
|
7567
9424
|
|
|
7568
9425
|
The caller must be the owner of the credential or a metastore admin or have the `MANAGE` permission.
|
|
7569
9426
|
If the caller is a metastore admin, only the __owner__ field can be changed.
|
|
@@ -7574,16 +9431,24 @@ class CredentialsAPI:
|
|
|
7574
9431
|
The AWS IAM role configuration
|
|
7575
9432
|
:param azure_managed_identity: :class:`AzureManagedIdentity` (optional)
|
|
7576
9433
|
The Azure managed identity configuration.
|
|
9434
|
+
:param azure_service_principal: :class:`AzureServicePrincipal` (optional)
|
|
9435
|
+
The Azure service principal configuration. Only applicable when purpose is **STORAGE**.
|
|
7577
9436
|
:param comment: str (optional)
|
|
7578
9437
|
Comment associated with the credential.
|
|
9438
|
+
:param databricks_gcp_service_account: :class:`DatabricksGcpServiceAccount` (optional)
|
|
9439
|
+
GCP long-lived credential. Databricks-created Google Cloud Storage service account.
|
|
7579
9440
|
:param force: bool (optional)
|
|
7580
|
-
Force update even if there are dependent services
|
|
9441
|
+
Force an update even if there are dependent services (when purpose is **SERVICE**) or dependent
|
|
9442
|
+
external locations and external tables (when purpose is **STORAGE**).
|
|
7581
9443
|
:param isolation_mode: :class:`IsolationMode` (optional)
|
|
7582
9444
|
Whether the current securable is accessible from all workspaces or a specific set of workspaces.
|
|
7583
9445
|
:param new_name: str (optional)
|
|
7584
9446
|
New name of credential.
|
|
7585
9447
|
:param owner: str (optional)
|
|
7586
9448
|
Username of current owner of credential.
|
|
9449
|
+
:param read_only: bool (optional)
|
|
9450
|
+
Whether the credential is usable only for read operations. Only applicable when purpose is
|
|
9451
|
+
**STORAGE**.
|
|
7587
9452
|
:param skip_validation: bool (optional)
|
|
7588
9453
|
Supply true to this argument to skip validation of the updated credential.
|
|
7589
9454
|
|
|
@@ -7593,11 +9458,16 @@ class CredentialsAPI:
|
|
|
7593
9458
|
if aws_iam_role is not None: body['aws_iam_role'] = aws_iam_role.as_dict()
|
|
7594
9459
|
if azure_managed_identity is not None:
|
|
7595
9460
|
body['azure_managed_identity'] = azure_managed_identity.as_dict()
|
|
9461
|
+
if azure_service_principal is not None:
|
|
9462
|
+
body['azure_service_principal'] = azure_service_principal.as_dict()
|
|
7596
9463
|
if comment is not None: body['comment'] = comment
|
|
9464
|
+
if databricks_gcp_service_account is not None:
|
|
9465
|
+
body['databricks_gcp_service_account'] = databricks_gcp_service_account.as_dict()
|
|
7597
9466
|
if force is not None: body['force'] = force
|
|
7598
9467
|
if isolation_mode is not None: body['isolation_mode'] = isolation_mode.value
|
|
7599
9468
|
if new_name is not None: body['new_name'] = new_name
|
|
7600
9469
|
if owner is not None: body['owner'] = owner
|
|
9470
|
+
if read_only is not None: body['read_only'] = read_only
|
|
7601
9471
|
if skip_validation is not None: body['skip_validation'] = skip_validation
|
|
7602
9472
|
headers = {'Accept': 'application/json', 'Content-Type': 'application/json', }
|
|
7603
9473
|
|
|
@@ -7612,14 +9482,25 @@ class CredentialsAPI:
|
|
|
7612
9482
|
aws_iam_role: Optional[AwsIamRole] = None,
|
|
7613
9483
|
azure_managed_identity: Optional[AzureManagedIdentity] = None,
|
|
7614
9484
|
credential_name: Optional[str] = None,
|
|
7615
|
-
|
|
9485
|
+
external_location_name: Optional[str] = None,
|
|
9486
|
+
purpose: Optional[CredentialPurpose] = None,
|
|
9487
|
+
read_only: Optional[bool] = None,
|
|
9488
|
+
url: Optional[str] = None) -> ValidateCredentialResponse:
|
|
7616
9489
|
"""Validate a credential.
|
|
7617
9490
|
|
|
7618
9491
|
Validates a credential.
|
|
7619
9492
|
|
|
7620
|
-
|
|
9493
|
+
For service credentials (purpose is **SERVICE**), either the __credential_name__ or the cloud-specific
|
|
9494
|
+
credential must be provided.
|
|
9495
|
+
|
|
9496
|
+
For storage credentials (purpose is **STORAGE**), at least one of __external_location_name__ and
|
|
9497
|
+
__url__ need to be provided. If only one of them is provided, it will be used for validation. And if
|
|
9498
|
+
both are provided, the __url__ will be used for validation, and __external_location_name__ will be
|
|
9499
|
+
ignored when checking overlapping urls. Either the __credential_name__ or the cloud-specific
|
|
9500
|
+
credential must be provided.
|
|
7621
9501
|
|
|
7622
|
-
The caller must be a metastore admin or the credential owner
|
|
9502
|
+
The caller must be a metastore admin or the credential owner or have the required permission on the
|
|
9503
|
+
metastore and the credential (e.g., **CREATE_EXTERNAL_LOCATION** when purpose is **STORAGE**).
|
|
7623
9504
|
|
|
7624
9505
|
:param aws_iam_role: :class:`AwsIamRole` (optional)
|
|
7625
9506
|
The AWS IAM role configuration
|
|
@@ -7627,8 +9508,16 @@ class CredentialsAPI:
|
|
|
7627
9508
|
The Azure managed identity configuration.
|
|
7628
9509
|
:param credential_name: str (optional)
|
|
7629
9510
|
Required. The name of an existing credential or long-lived cloud credential to validate.
|
|
9511
|
+
:param external_location_name: str (optional)
|
|
9512
|
+
The name of an existing external location to validate. Only applicable for storage credentials
|
|
9513
|
+
(purpose is **STORAGE**.)
|
|
7630
9514
|
:param purpose: :class:`CredentialPurpose` (optional)
|
|
7631
9515
|
The purpose of the credential. This should only be used when the credential is specified.
|
|
9516
|
+
:param read_only: bool (optional)
|
|
9517
|
+
Whether the credential is only usable for read operations. Only applicable for storage credentials
|
|
9518
|
+
(purpose is **STORAGE**.)
|
|
9519
|
+
:param url: str (optional)
|
|
9520
|
+
The external location url to validate. Only applicable when purpose is **STORAGE**.
|
|
7632
9521
|
|
|
7633
9522
|
:returns: :class:`ValidateCredentialResponse`
|
|
7634
9523
|
"""
|
|
@@ -7637,7 +9526,10 @@ class CredentialsAPI:
|
|
|
7637
9526
|
if azure_managed_identity is not None:
|
|
7638
9527
|
body['azure_managed_identity'] = azure_managed_identity.as_dict()
|
|
7639
9528
|
if credential_name is not None: body['credential_name'] = credential_name
|
|
9529
|
+
if external_location_name is not None: body['external_location_name'] = external_location_name
|
|
7640
9530
|
if purpose is not None: body['purpose'] = purpose.value
|
|
9531
|
+
if read_only is not None: body['read_only'] = read_only
|
|
9532
|
+
if url is not None: body['url'] = url
|
|
7641
9533
|
headers = {'Accept': 'application/json', 'Content-Type': 'application/json', }
|
|
7642
9534
|
|
|
7643
9535
|
res = self._api.do('POST', '/api/2.1/unity-catalog/validate-credentials', body=body, headers=headers)
|
|
@@ -8640,7 +10532,7 @@ class OnlineTablesAPI:
|
|
|
8640
10532
|
Long-running operation waiter for :class:`OnlineTable`.
|
|
8641
10533
|
See :method:wait_get_online_table_active for more details.
|
|
8642
10534
|
"""
|
|
8643
|
-
body = table
|
|
10535
|
+
body = table.as_dict()
|
|
8644
10536
|
headers = {'Accept': 'application/json', 'Content-Type': 'application/json', }
|
|
8645
10537
|
|
|
8646
10538
|
op_response = self._api.do('POST', '/api/2.0/online-tables', body=body, headers=headers)
|
|
@@ -10128,6 +12020,7 @@ class TablesAPI:
|
|
|
10128
12020
|
max_results: Optional[int] = None,
|
|
10129
12021
|
omit_columns: Optional[bool] = None,
|
|
10130
12022
|
omit_properties: Optional[bool] = None,
|
|
12023
|
+
omit_username: Optional[bool] = None,
|
|
10131
12024
|
page_token: Optional[str] = None) -> Iterator[TableInfo]:
|
|
10132
12025
|
"""List tables.
|
|
10133
12026
|
|
|
@@ -10157,6 +12050,9 @@ class TablesAPI:
|
|
|
10157
12050
|
Whether to omit the columns of the table from the response or not.
|
|
10158
12051
|
:param omit_properties: bool (optional)
|
|
10159
12052
|
Whether to omit the properties of the table from the response or not.
|
|
12053
|
+
:param omit_username: bool (optional)
|
|
12054
|
+
Whether to omit the username of the table (e.g. owner, updated_by, created_by) from the response or
|
|
12055
|
+
not.
|
|
10160
12056
|
:param page_token: str (optional)
|
|
10161
12057
|
Opaque token to send for the next page of results (pagination).
|
|
10162
12058
|
|
|
@@ -10172,6 +12068,7 @@ class TablesAPI:
|
|
|
10172
12068
|
if max_results is not None: query['max_results'] = max_results
|
|
10173
12069
|
if omit_columns is not None: query['omit_columns'] = omit_columns
|
|
10174
12070
|
if omit_properties is not None: query['omit_properties'] = omit_properties
|
|
12071
|
+
if omit_username is not None: query['omit_username'] = omit_username
|
|
10175
12072
|
if page_token is not None: query['page_token'] = page_token
|
|
10176
12073
|
if schema_name is not None: query['schema_name'] = schema_name
|
|
10177
12074
|
headers = {'Accept': 'application/json', }
|