databricks-sdk 0.38.0__tar.gz → 0.39.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of databricks-sdk might be problematic. Click here for more details.

Files changed (98) hide show
  1. {databricks_sdk-0.38.0/databricks_sdk.egg-info → databricks_sdk-0.39.0}/PKG-INFO +1 -1
  2. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/databricks/sdk/__init__.py +21 -0
  3. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/databricks/sdk/mixins/open_ai_client.py +2 -2
  4. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/databricks/sdk/service/apps.py +175 -0
  5. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/databricks/sdk/service/billing.py +247 -0
  6. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/databricks/sdk/service/catalog.py +1794 -61
  7. databricks_sdk-0.39.0/databricks/sdk/service/cleanrooms.py +1281 -0
  8. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/databricks/sdk/service/compute.py +1486 -8
  9. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/databricks/sdk/service/dashboards.py +326 -1
  10. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/databricks/sdk/service/files.py +162 -2
  11. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/databricks/sdk/service/iam.py +351 -0
  12. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/databricks/sdk/service/jobs.py +1264 -8
  13. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/databricks/sdk/service/marketplace.py +688 -0
  14. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/databricks/sdk/service/ml.py +1038 -2
  15. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/databricks/sdk/service/oauth2.py +175 -0
  16. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/databricks/sdk/service/pipelines.py +520 -0
  17. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/databricks/sdk/service/provisioning.py +387 -0
  18. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/databricks/sdk/service/serving.py +615 -0
  19. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/databricks/sdk/service/settings.py +1186 -1
  20. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/databricks/sdk/service/sharing.py +326 -2
  21. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/databricks/sdk/service/sql.py +1186 -2
  22. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/databricks/sdk/service/vectorsearch.py +290 -0
  23. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/databricks/sdk/service/workspace.py +451 -0
  24. databricks_sdk-0.39.0/databricks/sdk/version.py +1 -0
  25. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0/databricks_sdk.egg-info}/PKG-INFO +1 -1
  26. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/databricks_sdk.egg-info/SOURCES.txt +1 -0
  27. databricks_sdk-0.38.0/databricks/sdk/version.py +0 -1
  28. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/LICENSE +0 -0
  29. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/NOTICE +0 -0
  30. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/README.md +0 -0
  31. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/databricks/__init__.py +0 -0
  32. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/databricks/sdk/_base_client.py +0 -0
  33. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/databricks/sdk/_property.py +0 -0
  34. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/databricks/sdk/_widgets/__init__.py +0 -0
  35. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/databricks/sdk/_widgets/default_widgets_utils.py +0 -0
  36. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/databricks/sdk/_widgets/ipywidgets_utils.py +0 -0
  37. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/databricks/sdk/azure.py +0 -0
  38. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/databricks/sdk/casing.py +0 -0
  39. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/databricks/sdk/clock.py +0 -0
  40. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/databricks/sdk/config.py +0 -0
  41. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/databricks/sdk/core.py +0 -0
  42. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/databricks/sdk/credentials_provider.py +0 -0
  43. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/databricks/sdk/data_plane.py +0 -0
  44. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/databricks/sdk/dbutils.py +0 -0
  45. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/databricks/sdk/environments.py +0 -0
  46. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/databricks/sdk/errors/__init__.py +0 -0
  47. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/databricks/sdk/errors/base.py +0 -0
  48. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/databricks/sdk/errors/customizer.py +0 -0
  49. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/databricks/sdk/errors/deserializer.py +0 -0
  50. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/databricks/sdk/errors/mapper.py +0 -0
  51. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/databricks/sdk/errors/overrides.py +0 -0
  52. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/databricks/sdk/errors/parser.py +0 -0
  53. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/databricks/sdk/errors/platform.py +0 -0
  54. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/databricks/sdk/errors/private_link.py +0 -0
  55. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/databricks/sdk/errors/sdk.py +0 -0
  56. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/databricks/sdk/logger/__init__.py +0 -0
  57. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/databricks/sdk/logger/round_trip_logger.py +0 -0
  58. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/databricks/sdk/mixins/__init__.py +0 -0
  59. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/databricks/sdk/mixins/compute.py +0 -0
  60. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/databricks/sdk/mixins/files.py +0 -0
  61. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/databricks/sdk/mixins/jobs.py +0 -0
  62. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/databricks/sdk/mixins/workspace.py +0 -0
  63. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/databricks/sdk/oauth.py +0 -0
  64. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/databricks/sdk/py.typed +0 -0
  65. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/databricks/sdk/retries.py +0 -0
  66. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/databricks/sdk/runtime/__init__.py +0 -0
  67. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/databricks/sdk/runtime/dbutils_stub.py +0 -0
  68. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/databricks/sdk/service/__init__.py +0 -0
  69. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/databricks/sdk/service/_internal.py +0 -0
  70. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/databricks/sdk/useragent.py +0 -0
  71. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/databricks_sdk.egg-info/dependency_links.txt +0 -0
  72. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/databricks_sdk.egg-info/requires.txt +0 -0
  73. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/databricks_sdk.egg-info/top_level.txt +0 -0
  74. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/setup.cfg +0 -0
  75. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/setup.py +0 -0
  76. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/tests/test_auth.py +0 -0
  77. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/tests/test_auth_manual_tests.py +0 -0
  78. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/tests/test_base_client.py +0 -0
  79. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/tests/test_client.py +0 -0
  80. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/tests/test_compute_mixins.py +0 -0
  81. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/tests/test_config.py +0 -0
  82. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/tests/test_core.py +0 -0
  83. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/tests/test_data_plane.py +0 -0
  84. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/tests/test_dbfs_mixins.py +0 -0
  85. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/tests/test_dbutils.py +0 -0
  86. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/tests/test_environments.py +0 -0
  87. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/tests/test_errors.py +0 -0
  88. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/tests/test_init_file.py +0 -0
  89. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/tests/test_internal.py +0 -0
  90. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/tests/test_jobs.py +0 -0
  91. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/tests/test_jobs_mixin.py +0 -0
  92. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/tests/test_metadata_service_auth.py +0 -0
  93. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/tests/test_misc.py +0 -0
  94. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/tests/test_model_serving_auth.py +0 -0
  95. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/tests/test_oauth.py +0 -0
  96. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/tests/test_open_ai_mixin.py +0 -0
  97. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/tests/test_retries.py +0 -0
  98. {databricks_sdk-0.38.0 → databricks_sdk-0.39.0}/tests/test_user_agent.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: databricks-sdk
3
- Version: 0.38.0
3
+ Version: 0.39.0
4
4
  Summary: Databricks SDK for Python (Beta)
5
5
  Home-page: https://databricks-sdk-py.readthedocs.io
6
6
  Author: Serge Smertin
@@ -28,6 +28,9 @@ from databricks.sdk.service.catalog import (AccountMetastoreAssignmentsAPI,
28
28
  TableConstraintsAPI, TablesAPI,
29
29
  TemporaryTableCredentialsAPI,
30
30
  VolumesAPI, WorkspaceBindingsAPI)
31
+ from databricks.sdk.service.cleanrooms import (CleanRoomAssetsAPI,
32
+ CleanRoomsAPI,
33
+ CleanRoomTaskRunsAPI)
31
34
  from databricks.sdk.service.compute import (ClusterPoliciesAPI, ClustersAPI,
32
35
  CommandExecutionAPI,
33
36
  GlobalInitScriptsAPI,
@@ -176,6 +179,9 @@ class WorkspaceClient:
176
179
  self._apps = AppsAPI(self._api_client)
177
180
  self._artifact_allowlists = ArtifactAllowlistsAPI(self._api_client)
178
181
  self._catalogs = CatalogsAPI(self._api_client)
182
+ self._clean_room_assets = CleanRoomAssetsAPI(self._api_client)
183
+ self._clean_room_task_runs = CleanRoomTaskRunsAPI(self._api_client)
184
+ self._clean_rooms = CleanRoomsAPI(self._api_client)
179
185
  self._cluster_policies = ClusterPoliciesAPI(self._api_client)
180
186
  self._clusters = ClustersExt(self._api_client)
181
187
  self._command_execution = CommandExecutionAPI(self._api_client)
@@ -305,6 +311,21 @@ class WorkspaceClient:
305
311
  """A catalog is the first layer of Unity Catalog’s three-level namespace."""
306
312
  return self._catalogs
307
313
 
314
+ @property
315
+ def clean_room_assets(self) -> CleanRoomAssetsAPI:
316
+ """Clean room assets are data and code objects — Tables, volumes, and notebooks that are shared with the clean room."""
317
+ return self._clean_room_assets
318
+
319
+ @property
320
+ def clean_room_task_runs(self) -> CleanRoomTaskRunsAPI:
321
+ """Clean room task runs are the executions of notebooks in a clean room."""
322
+ return self._clean_room_task_runs
323
+
324
+ @property
325
+ def clean_rooms(self) -> CleanRoomsAPI:
326
+ """A clean room uses Delta Sharing and serverless compute to provide a secure and privacy-protecting environment where multiple parties can work together on sensitive enterprise data without direct access to each other’s data."""
327
+ return self._clean_rooms
328
+
308
329
  @property
309
330
  def cluster_policies(self) -> ClusterPoliciesAPI:
310
331
  """You can use cluster policies to control users' ability to configure clusters based on a set of rules."""
@@ -29,7 +29,7 @@ class ServingEndpointsExt(ServingEndpointsAPI):
29
29
  from openai import OpenAI
30
30
  except Exception:
31
31
  raise ImportError(
32
- "Open AI is not installed. Please install the Databricks SDK with the following command `pip isntall databricks-sdk[openai]`"
32
+ "Open AI is not installed. Please install the Databricks SDK with the following command `pip install databricks-sdk[openai]`"
33
33
  )
34
34
 
35
35
  return OpenAI(
@@ -42,7 +42,7 @@ class ServingEndpointsExt(ServingEndpointsAPI):
42
42
  from langchain_openai import ChatOpenAI
43
43
  except Exception:
44
44
  raise ImportError(
45
- "Langchain Open AI is not installed. Please install the Databricks SDK with the following command `pip isntall databricks-sdk[openai]` and ensure you are using python>3.7"
45
+ "Langchain Open AI is not installed. Please install the Databricks SDK with the following command `pip install databricks-sdk[openai]` and ensure you are using python>3.7"
46
46
  )
47
47
 
48
48
  return ChatOpenAI(
@@ -91,6 +91,30 @@ class App:
91
91
  if self.url is not None: body['url'] = self.url
92
92
  return body
93
93
 
94
+ def as_shallow_dict(self) -> dict:
95
+ """Serializes the App into a shallow dictionary of its immediate attributes."""
96
+ body = {}
97
+ if self.active_deployment: body['active_deployment'] = self.active_deployment
98
+ if self.app_status: body['app_status'] = self.app_status
99
+ if self.compute_status: body['compute_status'] = self.compute_status
100
+ if self.create_time is not None: body['create_time'] = self.create_time
101
+ if self.creator is not None: body['creator'] = self.creator
102
+ if self.default_source_code_path is not None:
103
+ body['default_source_code_path'] = self.default_source_code_path
104
+ if self.description is not None: body['description'] = self.description
105
+ if self.name is not None: body['name'] = self.name
106
+ if self.pending_deployment: body['pending_deployment'] = self.pending_deployment
107
+ if self.resources: body['resources'] = self.resources
108
+ if self.service_principal_client_id is not None:
109
+ body['service_principal_client_id'] = self.service_principal_client_id
110
+ if self.service_principal_id is not None: body['service_principal_id'] = self.service_principal_id
111
+ if self.service_principal_name is not None:
112
+ body['service_principal_name'] = self.service_principal_name
113
+ if self.update_time is not None: body['update_time'] = self.update_time
114
+ if self.updater is not None: body['updater'] = self.updater
115
+ if self.url is not None: body['url'] = self.url
116
+ return body
117
+
94
118
  @classmethod
95
119
  def from_dict(cls, d: Dict[str, any]) -> App:
96
120
  """Deserializes the App from a dictionary."""
@@ -136,6 +160,16 @@ class AppAccessControlRequest:
136
160
  if self.user_name is not None: body['user_name'] = self.user_name
137
161
  return body
138
162
 
163
+ def as_shallow_dict(self) -> dict:
164
+ """Serializes the AppAccessControlRequest into a shallow dictionary of its immediate attributes."""
165
+ body = {}
166
+ if self.group_name is not None: body['group_name'] = self.group_name
167
+ if self.permission_level is not None: body['permission_level'] = self.permission_level
168
+ if self.service_principal_name is not None:
169
+ body['service_principal_name'] = self.service_principal_name
170
+ if self.user_name is not None: body['user_name'] = self.user_name
171
+ return body
172
+
139
173
  @classmethod
140
174
  def from_dict(cls, d: Dict[str, any]) -> AppAccessControlRequest:
141
175
  """Deserializes the AppAccessControlRequest from a dictionary."""
@@ -173,6 +207,17 @@ class AppAccessControlResponse:
173
207
  if self.user_name is not None: body['user_name'] = self.user_name
174
208
  return body
175
209
 
210
+ def as_shallow_dict(self) -> dict:
211
+ """Serializes the AppAccessControlResponse into a shallow dictionary of its immediate attributes."""
212
+ body = {}
213
+ if self.all_permissions: body['all_permissions'] = self.all_permissions
214
+ if self.display_name is not None: body['display_name'] = self.display_name
215
+ if self.group_name is not None: body['group_name'] = self.group_name
216
+ if self.service_principal_name is not None:
217
+ body['service_principal_name'] = self.service_principal_name
218
+ if self.user_name is not None: body['user_name'] = self.user_name
219
+ return body
220
+
176
221
  @classmethod
177
222
  def from_dict(cls, d: Dict[str, any]) -> AppAccessControlResponse:
178
223
  """Deserializes the AppAccessControlResponse from a dictionary."""
@@ -226,6 +271,19 @@ class AppDeployment:
226
271
  if self.update_time is not None: body['update_time'] = self.update_time
227
272
  return body
228
273
 
274
+ def as_shallow_dict(self) -> dict:
275
+ """Serializes the AppDeployment into a shallow dictionary of its immediate attributes."""
276
+ body = {}
277
+ if self.create_time is not None: body['create_time'] = self.create_time
278
+ if self.creator is not None: body['creator'] = self.creator
279
+ if self.deployment_artifacts: body['deployment_artifacts'] = self.deployment_artifacts
280
+ if self.deployment_id is not None: body['deployment_id'] = self.deployment_id
281
+ if self.mode is not None: body['mode'] = self.mode
282
+ if self.source_code_path is not None: body['source_code_path'] = self.source_code_path
283
+ if self.status: body['status'] = self.status
284
+ if self.update_time is not None: body['update_time'] = self.update_time
285
+ return body
286
+
229
287
  @classmethod
230
288
  def from_dict(cls, d: Dict[str, any]) -> AppDeployment:
231
289
  """Deserializes the AppDeployment from a dictionary."""
@@ -250,6 +308,12 @@ class AppDeploymentArtifacts:
250
308
  if self.source_code_path is not None: body['source_code_path'] = self.source_code_path
251
309
  return body
252
310
 
311
+ def as_shallow_dict(self) -> dict:
312
+ """Serializes the AppDeploymentArtifacts into a shallow dictionary of its immediate attributes."""
313
+ body = {}
314
+ if self.source_code_path is not None: body['source_code_path'] = self.source_code_path
315
+ return body
316
+
253
317
  @classmethod
254
318
  def from_dict(cls, d: Dict[str, any]) -> AppDeploymentArtifacts:
255
319
  """Deserializes the AppDeploymentArtifacts from a dictionary."""
@@ -285,6 +349,13 @@ class AppDeploymentStatus:
285
349
  if self.state is not None: body['state'] = self.state.value
286
350
  return body
287
351
 
352
+ def as_shallow_dict(self) -> dict:
353
+ """Serializes the AppDeploymentStatus into a shallow dictionary of its immediate attributes."""
354
+ body = {}
355
+ if self.message is not None: body['message'] = self.message
356
+ if self.state is not None: body['state'] = self.state
357
+ return body
358
+
288
359
  @classmethod
289
360
  def from_dict(cls, d: Dict[str, any]) -> AppDeploymentStatus:
290
361
  """Deserializes the AppDeploymentStatus from a dictionary."""
@@ -308,6 +379,14 @@ class AppPermission:
308
379
  if self.permission_level is not None: body['permission_level'] = self.permission_level.value
309
380
  return body
310
381
 
382
+ def as_shallow_dict(self) -> dict:
383
+ """Serializes the AppPermission into a shallow dictionary of its immediate attributes."""
384
+ body = {}
385
+ if self.inherited is not None: body['inherited'] = self.inherited
386
+ if self.inherited_from_object: body['inherited_from_object'] = self.inherited_from_object
387
+ if self.permission_level is not None: body['permission_level'] = self.permission_level
388
+ return body
389
+
311
390
  @classmethod
312
391
  def from_dict(cls, d: Dict[str, any]) -> AppPermission:
313
392
  """Deserializes the AppPermission from a dictionary."""
@@ -340,6 +419,14 @@ class AppPermissions:
340
419
  if self.object_type is not None: body['object_type'] = self.object_type
341
420
  return body
342
421
 
422
+ def as_shallow_dict(self) -> dict:
423
+ """Serializes the AppPermissions into a shallow dictionary of its immediate attributes."""
424
+ body = {}
425
+ if self.access_control_list: body['access_control_list'] = self.access_control_list
426
+ if self.object_id is not None: body['object_id'] = self.object_id
427
+ if self.object_type is not None: body['object_type'] = self.object_type
428
+ return body
429
+
343
430
  @classmethod
344
431
  def from_dict(cls, d: Dict[str, any]) -> AppPermissions:
345
432
  """Deserializes the AppPermissions from a dictionary."""
@@ -362,6 +449,13 @@ class AppPermissionsDescription:
362
449
  if self.permission_level is not None: body['permission_level'] = self.permission_level.value
363
450
  return body
364
451
 
452
+ def as_shallow_dict(self) -> dict:
453
+ """Serializes the AppPermissionsDescription into a shallow dictionary of its immediate attributes."""
454
+ body = {}
455
+ if self.description is not None: body['description'] = self.description
456
+ if self.permission_level is not None: body['permission_level'] = self.permission_level
457
+ return body
458
+
365
459
  @classmethod
366
460
  def from_dict(cls, d: Dict[str, any]) -> AppPermissionsDescription:
367
461
  """Deserializes the AppPermissionsDescription from a dictionary."""
@@ -384,6 +478,13 @@ class AppPermissionsRequest:
384
478
  if self.app_name is not None: body['app_name'] = self.app_name
385
479
  return body
386
480
 
481
+ def as_shallow_dict(self) -> dict:
482
+ """Serializes the AppPermissionsRequest into a shallow dictionary of its immediate attributes."""
483
+ body = {}
484
+ if self.access_control_list: body['access_control_list'] = self.access_control_list
485
+ if self.app_name is not None: body['app_name'] = self.app_name
486
+ return body
487
+
387
488
  @classmethod
388
489
  def from_dict(cls, d: Dict[str, any]) -> AppPermissionsRequest:
389
490
  """Deserializes the AppPermissionsRequest from a dictionary."""
@@ -418,6 +519,17 @@ class AppResource:
418
519
  if self.sql_warehouse: body['sql_warehouse'] = self.sql_warehouse.as_dict()
419
520
  return body
420
521
 
522
+ def as_shallow_dict(self) -> dict:
523
+ """Serializes the AppResource into a shallow dictionary of its immediate attributes."""
524
+ body = {}
525
+ if self.description is not None: body['description'] = self.description
526
+ if self.job: body['job'] = self.job
527
+ if self.name is not None: body['name'] = self.name
528
+ if self.secret: body['secret'] = self.secret
529
+ if self.serving_endpoint: body['serving_endpoint'] = self.serving_endpoint
530
+ if self.sql_warehouse: body['sql_warehouse'] = self.sql_warehouse
531
+ return body
532
+
421
533
  @classmethod
422
534
  def from_dict(cls, d: Dict[str, any]) -> AppResource:
423
535
  """Deserializes the AppResource from a dictionary."""
@@ -445,6 +557,13 @@ class AppResourceJob:
445
557
  if self.permission is not None: body['permission'] = self.permission.value
446
558
  return body
447
559
 
560
+ def as_shallow_dict(self) -> dict:
561
+ """Serializes the AppResourceJob into a shallow dictionary of its immediate attributes."""
562
+ body = {}
563
+ if self.id is not None: body['id'] = self.id
564
+ if self.permission is not None: body['permission'] = self.permission
565
+ return body
566
+
448
567
  @classmethod
449
568
  def from_dict(cls, d: Dict[str, any]) -> AppResourceJob:
450
569
  """Deserializes the AppResourceJob from a dictionary."""
@@ -479,6 +598,14 @@ class AppResourceSecret:
479
598
  if self.scope is not None: body['scope'] = self.scope
480
599
  return body
481
600
 
601
+ def as_shallow_dict(self) -> dict:
602
+ """Serializes the AppResourceSecret into a shallow dictionary of its immediate attributes."""
603
+ body = {}
604
+ if self.key is not None: body['key'] = self.key
605
+ if self.permission is not None: body['permission'] = self.permission
606
+ if self.scope is not None: body['scope'] = self.scope
607
+ return body
608
+
482
609
  @classmethod
483
610
  def from_dict(cls, d: Dict[str, any]) -> AppResourceSecret:
484
611
  """Deserializes the AppResourceSecret from a dictionary."""
@@ -511,6 +638,13 @@ class AppResourceServingEndpoint:
511
638
  if self.permission is not None: body['permission'] = self.permission.value
512
639
  return body
513
640
 
641
+ def as_shallow_dict(self) -> dict:
642
+ """Serializes the AppResourceServingEndpoint into a shallow dictionary of its immediate attributes."""
643
+ body = {}
644
+ if self.name is not None: body['name'] = self.name
645
+ if self.permission is not None: body['permission'] = self.permission
646
+ return body
647
+
514
648
  @classmethod
515
649
  def from_dict(cls, d: Dict[str, any]) -> AppResourceServingEndpoint:
516
650
  """Deserializes the AppResourceServingEndpoint from a dictionary."""
@@ -541,6 +675,13 @@ class AppResourceSqlWarehouse:
541
675
  if self.permission is not None: body['permission'] = self.permission.value
542
676
  return body
543
677
 
678
+ def as_shallow_dict(self) -> dict:
679
+ """Serializes the AppResourceSqlWarehouse into a shallow dictionary of its immediate attributes."""
680
+ body = {}
681
+ if self.id is not None: body['id'] = self.id
682
+ if self.permission is not None: body['permission'] = self.permission
683
+ return body
684
+
544
685
  @classmethod
545
686
  def from_dict(cls, d: Dict[str, any]) -> AppResourceSqlWarehouse:
546
687
  """Deserializes the AppResourceSqlWarehouse from a dictionary."""
@@ -578,6 +719,13 @@ class ApplicationStatus:
578
719
  if self.state is not None: body['state'] = self.state.value
579
720
  return body
580
721
 
722
+ def as_shallow_dict(self) -> dict:
723
+ """Serializes the ApplicationStatus into a shallow dictionary of its immediate attributes."""
724
+ body = {}
725
+ if self.message is not None: body['message'] = self.message
726
+ if self.state is not None: body['state'] = self.state
727
+ return body
728
+
581
729
  @classmethod
582
730
  def from_dict(cls, d: Dict[str, any]) -> ApplicationStatus:
583
731
  """Deserializes the ApplicationStatus from a dictionary."""
@@ -610,6 +758,13 @@ class ComputeStatus:
610
758
  if self.state is not None: body['state'] = self.state.value
611
759
  return body
612
760
 
761
+ def as_shallow_dict(self) -> dict:
762
+ """Serializes the ComputeStatus into a shallow dictionary of its immediate attributes."""
763
+ body = {}
764
+ if self.message is not None: body['message'] = self.message
765
+ if self.state is not None: body['state'] = self.state
766
+ return body
767
+
613
768
  @classmethod
614
769
  def from_dict(cls, d: Dict[str, any]) -> ComputeStatus:
615
770
  """Deserializes the ComputeStatus from a dictionary."""
@@ -627,6 +782,12 @@ class GetAppPermissionLevelsResponse:
627
782
  if self.permission_levels: body['permission_levels'] = [v.as_dict() for v in self.permission_levels]
628
783
  return body
629
784
 
785
+ def as_shallow_dict(self) -> dict:
786
+ """Serializes the GetAppPermissionLevelsResponse into a shallow dictionary of its immediate attributes."""
787
+ body = {}
788
+ if self.permission_levels: body['permission_levels'] = self.permission_levels
789
+ return body
790
+
630
791
  @classmethod
631
792
  def from_dict(cls, d: Dict[str, any]) -> GetAppPermissionLevelsResponse:
632
793
  """Deserializes the GetAppPermissionLevelsResponse from a dictionary."""
@@ -648,6 +809,13 @@ class ListAppDeploymentsResponse:
648
809
  if self.next_page_token is not None: body['next_page_token'] = self.next_page_token
649
810
  return body
650
811
 
812
+ def as_shallow_dict(self) -> dict:
813
+ """Serializes the ListAppDeploymentsResponse into a shallow dictionary of its immediate attributes."""
814
+ body = {}
815
+ if self.app_deployments: body['app_deployments'] = self.app_deployments
816
+ if self.next_page_token is not None: body['next_page_token'] = self.next_page_token
817
+ return body
818
+
651
819
  @classmethod
652
820
  def from_dict(cls, d: Dict[str, any]) -> ListAppDeploymentsResponse:
653
821
  """Deserializes the ListAppDeploymentsResponse from a dictionary."""
@@ -669,6 +837,13 @@ class ListAppsResponse:
669
837
  if self.next_page_token is not None: body['next_page_token'] = self.next_page_token
670
838
  return body
671
839
 
840
+ def as_shallow_dict(self) -> dict:
841
+ """Serializes the ListAppsResponse into a shallow dictionary of its immediate attributes."""
842
+ body = {}
843
+ if self.apps: body['apps'] = self.apps
844
+ if self.next_page_token is not None: body['next_page_token'] = self.next_page_token
845
+ return body
846
+
672
847
  @classmethod
673
848
  def from_dict(cls, d: Dict[str, any]) -> ListAppsResponse:
674
849
  """Deserializes the ListAppsResponse from a dictionary."""