databricks-sdk 0.38.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.

Files changed (29) hide show
  1. databricks/sdk/__init__.py +21 -0
  2. databricks/sdk/mixins/open_ai_client.py +2 -2
  3. databricks/sdk/service/apps.py +175 -0
  4. databricks/sdk/service/billing.py +247 -0
  5. databricks/sdk/service/catalog.py +1794 -61
  6. databricks/sdk/service/cleanrooms.py +1281 -0
  7. databricks/sdk/service/compute.py +1486 -8
  8. databricks/sdk/service/dashboards.py +326 -1
  9. databricks/sdk/service/files.py +162 -2
  10. databricks/sdk/service/iam.py +351 -0
  11. databricks/sdk/service/jobs.py +1264 -8
  12. databricks/sdk/service/marketplace.py +688 -0
  13. databricks/sdk/service/ml.py +1038 -2
  14. databricks/sdk/service/oauth2.py +175 -0
  15. databricks/sdk/service/pipelines.py +520 -0
  16. databricks/sdk/service/provisioning.py +387 -0
  17. databricks/sdk/service/serving.py +615 -0
  18. databricks/sdk/service/settings.py +1186 -1
  19. databricks/sdk/service/sharing.py +326 -2
  20. databricks/sdk/service/sql.py +1186 -2
  21. databricks/sdk/service/vectorsearch.py +290 -0
  22. databricks/sdk/service/workspace.py +451 -0
  23. databricks/sdk/version.py +1 -1
  24. {databricks_sdk-0.38.0.dist-info → databricks_sdk-0.39.0.dist-info}/METADATA +26 -26
  25. {databricks_sdk-0.38.0.dist-info → databricks_sdk-0.39.0.dist-info}/RECORD +29 -28
  26. {databricks_sdk-0.38.0.dist-info → databricks_sdk-0.39.0.dist-info}/WHEEL +1 -1
  27. {databricks_sdk-0.38.0.dist-info → databricks_sdk-0.39.0.dist-info}/LICENSE +0 -0
  28. {databricks_sdk-0.38.0.dist-info → databricks_sdk-0.39.0.dist-info}/NOTICE +0 -0
  29. {databricks_sdk-0.38.0.dist-info → databricks_sdk-0.39.0.dist-info}/top_level.txt +0 -0
@@ -55,6 +55,16 @@ class AddInstanceProfile:
55
55
  if self.skip_validation is not None: body['skip_validation'] = self.skip_validation
56
56
  return body
57
57
 
58
+ def as_shallow_dict(self) -> dict:
59
+ """Serializes the AddInstanceProfile into a shallow dictionary of its immediate attributes."""
60
+ body = {}
61
+ if self.iam_role_arn is not None: body['iam_role_arn'] = self.iam_role_arn
62
+ if self.instance_profile_arn is not None: body['instance_profile_arn'] = self.instance_profile_arn
63
+ if self.is_meta_instance_profile is not None:
64
+ body['is_meta_instance_profile'] = self.is_meta_instance_profile
65
+ if self.skip_validation is not None: body['skip_validation'] = self.skip_validation
66
+ return body
67
+
58
68
  @classmethod
59
69
  def from_dict(cls, d: Dict[str, any]) -> AddInstanceProfile:
60
70
  """Deserializes the AddInstanceProfile from a dictionary."""
@@ -72,6 +82,11 @@ class AddResponse:
72
82
  body = {}
73
83
  return body
74
84
 
85
+ def as_shallow_dict(self) -> dict:
86
+ """Serializes the AddResponse into a shallow dictionary of its immediate attributes."""
87
+ body = {}
88
+ return body
89
+
75
90
  @classmethod
76
91
  def from_dict(cls, d: Dict[str, any]) -> AddResponse:
77
92
  """Deserializes the AddResponse from a dictionary."""
@@ -90,6 +105,12 @@ class Adlsgen2Info:
90
105
  if self.destination is not None: body['destination'] = self.destination
91
106
  return body
92
107
 
108
+ def as_shallow_dict(self) -> dict:
109
+ """Serializes the Adlsgen2Info into a shallow dictionary of its immediate attributes."""
110
+ body = {}
111
+ if self.destination is not None: body['destination'] = self.destination
112
+ return body
113
+
93
114
  @classmethod
94
115
  def from_dict(cls, d: Dict[str, any]) -> Adlsgen2Info:
95
116
  """Deserializes the Adlsgen2Info from a dictionary."""
@@ -113,6 +134,13 @@ class AutoScale:
113
134
  if self.min_workers is not None: body['min_workers'] = self.min_workers
114
135
  return body
115
136
 
137
+ def as_shallow_dict(self) -> dict:
138
+ """Serializes the AutoScale into a shallow dictionary of its immediate attributes."""
139
+ body = {}
140
+ if self.max_workers is not None: body['max_workers'] = self.max_workers
141
+ if self.min_workers is not None: body['min_workers'] = self.min_workers
142
+ return body
143
+
116
144
  @classmethod
117
145
  def from_dict(cls, d: Dict[str, any]) -> AutoScale:
118
146
  """Deserializes the AutoScale from a dictionary."""
@@ -216,6 +244,22 @@ class AwsAttributes:
216
244
  if self.zone_id is not None: body['zone_id'] = self.zone_id
217
245
  return body
218
246
 
247
+ def as_shallow_dict(self) -> dict:
248
+ """Serializes the AwsAttributes into a shallow dictionary of its immediate attributes."""
249
+ body = {}
250
+ if self.availability is not None: body['availability'] = self.availability
251
+ if self.ebs_volume_count is not None: body['ebs_volume_count'] = self.ebs_volume_count
252
+ if self.ebs_volume_iops is not None: body['ebs_volume_iops'] = self.ebs_volume_iops
253
+ if self.ebs_volume_size is not None: body['ebs_volume_size'] = self.ebs_volume_size
254
+ if self.ebs_volume_throughput is not None: body['ebs_volume_throughput'] = self.ebs_volume_throughput
255
+ if self.ebs_volume_type is not None: body['ebs_volume_type'] = self.ebs_volume_type
256
+ if self.first_on_demand is not None: body['first_on_demand'] = self.first_on_demand
257
+ if self.instance_profile_arn is not None: body['instance_profile_arn'] = self.instance_profile_arn
258
+ if self.spot_bid_price_percent is not None:
259
+ body['spot_bid_price_percent'] = self.spot_bid_price_percent
260
+ if self.zone_id is not None: body['zone_id'] = self.zone_id
261
+ return body
262
+
219
263
  @classmethod
220
264
  def from_dict(cls, d: Dict[str, any]) -> AwsAttributes:
221
265
  """Deserializes the AwsAttributes from a dictionary."""
@@ -275,6 +319,15 @@ class AzureAttributes:
275
319
  if self.spot_bid_max_price is not None: body['spot_bid_max_price'] = self.spot_bid_max_price
276
320
  return body
277
321
 
322
+ def as_shallow_dict(self) -> dict:
323
+ """Serializes the AzureAttributes into a shallow dictionary of its immediate attributes."""
324
+ body = {}
325
+ if self.availability is not None: body['availability'] = self.availability
326
+ if self.first_on_demand is not None: body['first_on_demand'] = self.first_on_demand
327
+ if self.log_analytics_info: body['log_analytics_info'] = self.log_analytics_info
328
+ if self.spot_bid_max_price is not None: body['spot_bid_max_price'] = self.spot_bid_max_price
329
+ return body
330
+
278
331
  @classmethod
279
332
  def from_dict(cls, d: Dict[str, any]) -> AzureAttributes:
280
333
  """Deserializes the AzureAttributes from a dictionary."""
@@ -310,6 +363,14 @@ class CancelCommand:
310
363
  if self.context_id is not None: body['contextId'] = self.context_id
311
364
  return body
312
365
 
366
+ def as_shallow_dict(self) -> dict:
367
+ """Serializes the CancelCommand into a shallow dictionary of its immediate attributes."""
368
+ body = {}
369
+ if self.cluster_id is not None: body['clusterId'] = self.cluster_id
370
+ if self.command_id is not None: body['commandId'] = self.command_id
371
+ if self.context_id is not None: body['contextId'] = self.context_id
372
+ return body
373
+
313
374
  @classmethod
314
375
  def from_dict(cls, d: Dict[str, any]) -> CancelCommand:
315
376
  """Deserializes the CancelCommand from a dictionary."""
@@ -326,6 +387,11 @@ class CancelResponse:
326
387
  body = {}
327
388
  return body
328
389
 
390
+ def as_shallow_dict(self) -> dict:
391
+ """Serializes the CancelResponse into a shallow dictionary of its immediate attributes."""
392
+ body = {}
393
+ return body
394
+
329
395
  @classmethod
330
396
  def from_dict(cls, d: Dict[str, any]) -> CancelResponse:
331
397
  """Deserializes the CancelResponse from a dictionary."""
@@ -347,6 +413,13 @@ class ChangeClusterOwner:
347
413
  if self.owner_username is not None: body['owner_username'] = self.owner_username
348
414
  return body
349
415
 
416
+ def as_shallow_dict(self) -> dict:
417
+ """Serializes the ChangeClusterOwner into a shallow dictionary of its immediate attributes."""
418
+ body = {}
419
+ if self.cluster_id is not None: body['cluster_id'] = self.cluster_id
420
+ if self.owner_username is not None: body['owner_username'] = self.owner_username
421
+ return body
422
+
350
423
  @classmethod
351
424
  def from_dict(cls, d: Dict[str, any]) -> ChangeClusterOwner:
352
425
  """Deserializes the ChangeClusterOwner from a dictionary."""
@@ -361,6 +434,11 @@ class ChangeClusterOwnerResponse:
361
434
  body = {}
362
435
  return body
363
436
 
437
+ def as_shallow_dict(self) -> dict:
438
+ """Serializes the ChangeClusterOwnerResponse into a shallow dictionary of its immediate attributes."""
439
+ body = {}
440
+ return body
441
+
364
442
  @classmethod
365
443
  def from_dict(cls, d: Dict[str, any]) -> ChangeClusterOwnerResponse:
366
444
  """Deserializes the ChangeClusterOwnerResponse from a dictionary."""
@@ -382,6 +460,13 @@ class ClientsTypes:
382
460
  if self.notebooks is not None: body['notebooks'] = self.notebooks
383
461
  return body
384
462
 
463
+ def as_shallow_dict(self) -> dict:
464
+ """Serializes the ClientsTypes into a shallow dictionary of its immediate attributes."""
465
+ body = {}
466
+ if self.jobs is not None: body['jobs'] = self.jobs
467
+ if self.notebooks is not None: body['notebooks'] = self.notebooks
468
+ return body
469
+
385
470
  @classmethod
386
471
  def from_dict(cls, d: Dict[str, any]) -> ClientsTypes:
387
472
  """Deserializes the ClientsTypes from a dictionary."""
@@ -399,6 +484,12 @@ class CloneCluster:
399
484
  if self.source_cluster_id is not None: body['source_cluster_id'] = self.source_cluster_id
400
485
  return body
401
486
 
487
+ def as_shallow_dict(self) -> dict:
488
+ """Serializes the CloneCluster into a shallow dictionary of its immediate attributes."""
489
+ body = {}
490
+ if self.source_cluster_id is not None: body['source_cluster_id'] = self.source_cluster_id
491
+ return body
492
+
402
493
  @classmethod
403
494
  def from_dict(cls, d: Dict[str, any]) -> CloneCluster:
404
495
  """Deserializes the CloneCluster from a dictionary."""
@@ -415,6 +506,12 @@ class CloudProviderNodeInfo:
415
506
  if self.status: body['status'] = [v.value for v in self.status]
416
507
  return body
417
508
 
509
+ def as_shallow_dict(self) -> dict:
510
+ """Serializes the CloudProviderNodeInfo into a shallow dictionary of its immediate attributes."""
511
+ body = {}
512
+ if self.status: body['status'] = self.status
513
+ return body
514
+
418
515
  @classmethod
419
516
  def from_dict(cls, d: Dict[str, any]) -> CloudProviderNodeInfo:
420
517
  """Deserializes the CloudProviderNodeInfo from a dictionary."""
@@ -451,6 +548,16 @@ class ClusterAccessControlRequest:
451
548
  if self.user_name is not None: body['user_name'] = self.user_name
452
549
  return body
453
550
 
551
+ def as_shallow_dict(self) -> dict:
552
+ """Serializes the ClusterAccessControlRequest into a shallow dictionary of its immediate attributes."""
553
+ body = {}
554
+ if self.group_name is not None: body['group_name'] = self.group_name
555
+ if self.permission_level is not None: body['permission_level'] = self.permission_level
556
+ if self.service_principal_name is not None:
557
+ body['service_principal_name'] = self.service_principal_name
558
+ if self.user_name is not None: body['user_name'] = self.user_name
559
+ return body
560
+
454
561
  @classmethod
455
562
  def from_dict(cls, d: Dict[str, any]) -> ClusterAccessControlRequest:
456
563
  """Deserializes the ClusterAccessControlRequest from a dictionary."""
@@ -488,6 +595,17 @@ class ClusterAccessControlResponse:
488
595
  if self.user_name is not None: body['user_name'] = self.user_name
489
596
  return body
490
597
 
598
+ def as_shallow_dict(self) -> dict:
599
+ """Serializes the ClusterAccessControlResponse into a shallow dictionary of its immediate attributes."""
600
+ body = {}
601
+ if self.all_permissions: body['all_permissions'] = self.all_permissions
602
+ if self.display_name is not None: body['display_name'] = self.display_name
603
+ if self.group_name is not None: body['group_name'] = self.group_name
604
+ if self.service_principal_name is not None:
605
+ body['service_principal_name'] = self.service_principal_name
606
+ if self.user_name is not None: body['user_name'] = self.user_name
607
+ return body
608
+
491
609
  @classmethod
492
610
  def from_dict(cls, d: Dict[str, any]) -> ClusterAccessControlResponse:
493
611
  """Deserializes the ClusterAccessControlResponse from a dictionary."""
@@ -666,6 +784,38 @@ class ClusterAttributes:
666
784
  if self.workload_type: body['workload_type'] = self.workload_type.as_dict()
667
785
  return body
668
786
 
787
+ def as_shallow_dict(self) -> dict:
788
+ """Serializes the ClusterAttributes into a shallow dictionary of its immediate attributes."""
789
+ body = {}
790
+ if self.autotermination_minutes is not None:
791
+ body['autotermination_minutes'] = self.autotermination_minutes
792
+ if self.aws_attributes: body['aws_attributes'] = self.aws_attributes
793
+ if self.azure_attributes: body['azure_attributes'] = self.azure_attributes
794
+ if self.cluster_log_conf: body['cluster_log_conf'] = self.cluster_log_conf
795
+ if self.cluster_name is not None: body['cluster_name'] = self.cluster_name
796
+ if self.custom_tags: body['custom_tags'] = self.custom_tags
797
+ if self.data_security_mode is not None: body['data_security_mode'] = self.data_security_mode
798
+ if self.docker_image: body['docker_image'] = self.docker_image
799
+ if self.driver_instance_pool_id is not None:
800
+ body['driver_instance_pool_id'] = self.driver_instance_pool_id
801
+ if self.driver_node_type_id is not None: body['driver_node_type_id'] = self.driver_node_type_id
802
+ if self.enable_elastic_disk is not None: body['enable_elastic_disk'] = self.enable_elastic_disk
803
+ if self.enable_local_disk_encryption is not None:
804
+ body['enable_local_disk_encryption'] = self.enable_local_disk_encryption
805
+ if self.gcp_attributes: body['gcp_attributes'] = self.gcp_attributes
806
+ if self.init_scripts: body['init_scripts'] = self.init_scripts
807
+ if self.instance_pool_id is not None: body['instance_pool_id'] = self.instance_pool_id
808
+ if self.node_type_id is not None: body['node_type_id'] = self.node_type_id
809
+ if self.policy_id is not None: body['policy_id'] = self.policy_id
810
+ if self.runtime_engine is not None: body['runtime_engine'] = self.runtime_engine
811
+ if self.single_user_name is not None: body['single_user_name'] = self.single_user_name
812
+ if self.spark_conf: body['spark_conf'] = self.spark_conf
813
+ if self.spark_env_vars: body['spark_env_vars'] = self.spark_env_vars
814
+ if self.spark_version is not None: body['spark_version'] = self.spark_version
815
+ if self.ssh_public_keys: body['ssh_public_keys'] = self.ssh_public_keys
816
+ if self.workload_type: body['workload_type'] = self.workload_type
817
+ return body
818
+
669
819
  @classmethod
670
820
  def from_dict(cls, d: Dict[str, any]) -> ClusterAttributes:
671
821
  """Deserializes the ClusterAttributes from a dictionary."""
@@ -716,6 +866,14 @@ class ClusterCompliance:
716
866
  if self.violations: body['violations'] = self.violations
717
867
  return body
718
868
 
869
+ def as_shallow_dict(self) -> dict:
870
+ """Serializes the ClusterCompliance into a shallow dictionary of its immediate attributes."""
871
+ body = {}
872
+ if self.cluster_id is not None: body['cluster_id'] = self.cluster_id
873
+ if self.is_compliant is not None: body['is_compliant'] = self.is_compliant
874
+ if self.violations: body['violations'] = self.violations
875
+ return body
876
+
719
877
  @classmethod
720
878
  def from_dict(cls, d: Dict[str, any]) -> ClusterCompliance:
721
879
  """Deserializes the ClusterCompliance from a dictionary."""
@@ -1008,6 +1166,59 @@ class ClusterDetails:
1008
1166
  if self.workload_type: body['workload_type'] = self.workload_type.as_dict()
1009
1167
  return body
1010
1168
 
1169
+ def as_shallow_dict(self) -> dict:
1170
+ """Serializes the ClusterDetails into a shallow dictionary of its immediate attributes."""
1171
+ body = {}
1172
+ if self.autoscale: body['autoscale'] = self.autoscale
1173
+ if self.autotermination_minutes is not None:
1174
+ body['autotermination_minutes'] = self.autotermination_minutes
1175
+ if self.aws_attributes: body['aws_attributes'] = self.aws_attributes
1176
+ if self.azure_attributes: body['azure_attributes'] = self.azure_attributes
1177
+ if self.cluster_cores is not None: body['cluster_cores'] = self.cluster_cores
1178
+ if self.cluster_id is not None: body['cluster_id'] = self.cluster_id
1179
+ if self.cluster_log_conf: body['cluster_log_conf'] = self.cluster_log_conf
1180
+ if self.cluster_log_status: body['cluster_log_status'] = self.cluster_log_status
1181
+ if self.cluster_memory_mb is not None: body['cluster_memory_mb'] = self.cluster_memory_mb
1182
+ if self.cluster_name is not None: body['cluster_name'] = self.cluster_name
1183
+ if self.cluster_source is not None: body['cluster_source'] = self.cluster_source
1184
+ if self.creator_user_name is not None: body['creator_user_name'] = self.creator_user_name
1185
+ if self.custom_tags: body['custom_tags'] = self.custom_tags
1186
+ if self.data_security_mode is not None: body['data_security_mode'] = self.data_security_mode
1187
+ if self.default_tags: body['default_tags'] = self.default_tags
1188
+ if self.docker_image: body['docker_image'] = self.docker_image
1189
+ if self.driver: body['driver'] = self.driver
1190
+ if self.driver_instance_pool_id is not None:
1191
+ body['driver_instance_pool_id'] = self.driver_instance_pool_id
1192
+ if self.driver_node_type_id is not None: body['driver_node_type_id'] = self.driver_node_type_id
1193
+ if self.enable_elastic_disk is not None: body['enable_elastic_disk'] = self.enable_elastic_disk
1194
+ if self.enable_local_disk_encryption is not None:
1195
+ body['enable_local_disk_encryption'] = self.enable_local_disk_encryption
1196
+ if self.executors: body['executors'] = self.executors
1197
+ if self.gcp_attributes: body['gcp_attributes'] = self.gcp_attributes
1198
+ if self.init_scripts: body['init_scripts'] = self.init_scripts
1199
+ if self.instance_pool_id is not None: body['instance_pool_id'] = self.instance_pool_id
1200
+ if self.jdbc_port is not None: body['jdbc_port'] = self.jdbc_port
1201
+ if self.last_restarted_time is not None: body['last_restarted_time'] = self.last_restarted_time
1202
+ if self.last_state_loss_time is not None: body['last_state_loss_time'] = self.last_state_loss_time
1203
+ if self.node_type_id is not None: body['node_type_id'] = self.node_type_id
1204
+ if self.num_workers is not None: body['num_workers'] = self.num_workers
1205
+ if self.policy_id is not None: body['policy_id'] = self.policy_id
1206
+ if self.runtime_engine is not None: body['runtime_engine'] = self.runtime_engine
1207
+ if self.single_user_name is not None: body['single_user_name'] = self.single_user_name
1208
+ if self.spark_conf: body['spark_conf'] = self.spark_conf
1209
+ if self.spark_context_id is not None: body['spark_context_id'] = self.spark_context_id
1210
+ if self.spark_env_vars: body['spark_env_vars'] = self.spark_env_vars
1211
+ if self.spark_version is not None: body['spark_version'] = self.spark_version
1212
+ if self.spec: body['spec'] = self.spec
1213
+ if self.ssh_public_keys: body['ssh_public_keys'] = self.ssh_public_keys
1214
+ if self.start_time is not None: body['start_time'] = self.start_time
1215
+ if self.state is not None: body['state'] = self.state
1216
+ if self.state_message is not None: body['state_message'] = self.state_message
1217
+ if self.terminated_time is not None: body['terminated_time'] = self.terminated_time
1218
+ if self.termination_reason: body['termination_reason'] = self.termination_reason
1219
+ if self.workload_type: body['workload_type'] = self.workload_type
1220
+ return body
1221
+
1011
1222
  @classmethod
1012
1223
  def from_dict(cls, d: Dict[str, any]) -> ClusterDetails:
1013
1224
  """Deserializes the ClusterDetails from a dictionary."""
@@ -1086,6 +1297,16 @@ class ClusterEvent:
1086
1297
  if self.type is not None: body['type'] = self.type.value
1087
1298
  return body
1088
1299
 
1300
+ def as_shallow_dict(self) -> dict:
1301
+ """Serializes the ClusterEvent into a shallow dictionary of its immediate attributes."""
1302
+ body = {}
1303
+ if self.cluster_id is not None: body['cluster_id'] = self.cluster_id
1304
+ if self.data_plane_event_details: body['data_plane_event_details'] = self.data_plane_event_details
1305
+ if self.details: body['details'] = self.details
1306
+ if self.timestamp is not None: body['timestamp'] = self.timestamp
1307
+ if self.type is not None: body['type'] = self.type
1308
+ return body
1309
+
1089
1310
  @classmethod
1090
1311
  def from_dict(cls, d: Dict[str, any]) -> ClusterEvent:
1091
1312
  """Deserializes the ClusterEvent from a dictionary."""
@@ -1111,6 +1332,13 @@ class ClusterLibraryStatuses:
1111
1332
  if self.library_statuses: body['library_statuses'] = [v.as_dict() for v in self.library_statuses]
1112
1333
  return body
1113
1334
 
1335
+ def as_shallow_dict(self) -> dict:
1336
+ """Serializes the ClusterLibraryStatuses into a shallow dictionary of its immediate attributes."""
1337
+ body = {}
1338
+ if self.cluster_id is not None: body['cluster_id'] = self.cluster_id
1339
+ if self.library_statuses: body['library_statuses'] = self.library_statuses
1340
+ return body
1341
+
1114
1342
  @classmethod
1115
1343
  def from_dict(cls, d: Dict[str, any]) -> ClusterLibraryStatuses:
1116
1344
  """Deserializes the ClusterLibraryStatuses from a dictionary."""
@@ -1137,6 +1365,13 @@ class ClusterLogConf:
1137
1365
  if self.s3: body['s3'] = self.s3.as_dict()
1138
1366
  return body
1139
1367
 
1368
+ def as_shallow_dict(self) -> dict:
1369
+ """Serializes the ClusterLogConf into a shallow dictionary of its immediate attributes."""
1370
+ body = {}
1371
+ if self.dbfs: body['dbfs'] = self.dbfs
1372
+ if self.s3: body['s3'] = self.s3
1373
+ return body
1374
+
1140
1375
  @classmethod
1141
1376
  def from_dict(cls, d: Dict[str, any]) -> ClusterLogConf:
1142
1377
  """Deserializes the ClusterLogConf from a dictionary."""
@@ -1160,6 +1395,14 @@ class ClusterPermission:
1160
1395
  if self.permission_level is not None: body['permission_level'] = self.permission_level.value
1161
1396
  return body
1162
1397
 
1398
+ def as_shallow_dict(self) -> dict:
1399
+ """Serializes the ClusterPermission into a shallow dictionary of its immediate attributes."""
1400
+ body = {}
1401
+ if self.inherited is not None: body['inherited'] = self.inherited
1402
+ if self.inherited_from_object: body['inherited_from_object'] = self.inherited_from_object
1403
+ if self.permission_level is not None: body['permission_level'] = self.permission_level
1404
+ return body
1405
+
1163
1406
  @classmethod
1164
1407
  def from_dict(cls, d: Dict[str, any]) -> ClusterPermission:
1165
1408
  """Deserializes the ClusterPermission from a dictionary."""
@@ -1193,6 +1436,14 @@ class ClusterPermissions:
1193
1436
  if self.object_type is not None: body['object_type'] = self.object_type
1194
1437
  return body
1195
1438
 
1439
+ def as_shallow_dict(self) -> dict:
1440
+ """Serializes the ClusterPermissions into a shallow dictionary of its immediate attributes."""
1441
+ body = {}
1442
+ if self.access_control_list: body['access_control_list'] = self.access_control_list
1443
+ if self.object_id is not None: body['object_id'] = self.object_id
1444
+ if self.object_type is not None: body['object_type'] = self.object_type
1445
+ return body
1446
+
1196
1447
  @classmethod
1197
1448
  def from_dict(cls, d: Dict[str, any]) -> ClusterPermissions:
1198
1449
  """Deserializes the ClusterPermissions from a dictionary."""
@@ -1215,6 +1466,13 @@ class ClusterPermissionsDescription:
1215
1466
  if self.permission_level is not None: body['permission_level'] = self.permission_level.value
1216
1467
  return body
1217
1468
 
1469
+ def as_shallow_dict(self) -> dict:
1470
+ """Serializes the ClusterPermissionsDescription into a shallow dictionary of its immediate attributes."""
1471
+ body = {}
1472
+ if self.description is not None: body['description'] = self.description
1473
+ if self.permission_level is not None: body['permission_level'] = self.permission_level
1474
+ return body
1475
+
1218
1476
  @classmethod
1219
1477
  def from_dict(cls, d: Dict[str, any]) -> ClusterPermissionsDescription:
1220
1478
  """Deserializes the ClusterPermissionsDescription from a dictionary."""
@@ -1237,6 +1495,13 @@ class ClusterPermissionsRequest:
1237
1495
  if self.cluster_id is not None: body['cluster_id'] = self.cluster_id
1238
1496
  return body
1239
1497
 
1498
+ def as_shallow_dict(self) -> dict:
1499
+ """Serializes the ClusterPermissionsRequest into a shallow dictionary of its immediate attributes."""
1500
+ body = {}
1501
+ if self.access_control_list: body['access_control_list'] = self.access_control_list
1502
+ if self.cluster_id is not None: body['cluster_id'] = self.cluster_id
1503
+ return body
1504
+
1240
1505
  @classmethod
1241
1506
  def from_dict(cls, d: Dict[str, any]) -> ClusterPermissionsRequest:
1242
1507
  """Deserializes the ClusterPermissionsRequest from a dictionary."""
@@ -1268,6 +1533,16 @@ class ClusterPolicyAccessControlRequest:
1268
1533
  if self.user_name is not None: body['user_name'] = self.user_name
1269
1534
  return body
1270
1535
 
1536
+ def as_shallow_dict(self) -> dict:
1537
+ """Serializes the ClusterPolicyAccessControlRequest into a shallow dictionary of its immediate attributes."""
1538
+ body = {}
1539
+ if self.group_name is not None: body['group_name'] = self.group_name
1540
+ if self.permission_level is not None: body['permission_level'] = self.permission_level
1541
+ if self.service_principal_name is not None:
1542
+ body['service_principal_name'] = self.service_principal_name
1543
+ if self.user_name is not None: body['user_name'] = self.user_name
1544
+ return body
1545
+
1271
1546
  @classmethod
1272
1547
  def from_dict(cls, d: Dict[str, any]) -> ClusterPolicyAccessControlRequest:
1273
1548
  """Deserializes the ClusterPolicyAccessControlRequest from a dictionary."""
@@ -1305,6 +1580,17 @@ class ClusterPolicyAccessControlResponse:
1305
1580
  if self.user_name is not None: body['user_name'] = self.user_name
1306
1581
  return body
1307
1582
 
1583
+ def as_shallow_dict(self) -> dict:
1584
+ """Serializes the ClusterPolicyAccessControlResponse into a shallow dictionary of its immediate attributes."""
1585
+ body = {}
1586
+ if self.all_permissions: body['all_permissions'] = self.all_permissions
1587
+ if self.display_name is not None: body['display_name'] = self.display_name
1588
+ if self.group_name is not None: body['group_name'] = self.group_name
1589
+ if self.service_principal_name is not None:
1590
+ body['service_principal_name'] = self.service_principal_name
1591
+ if self.user_name is not None: body['user_name'] = self.user_name
1592
+ return body
1593
+
1308
1594
  @classmethod
1309
1595
  def from_dict(cls, d: Dict[str, any]) -> ClusterPolicyAccessControlResponse:
1310
1596
  """Deserializes the ClusterPolicyAccessControlResponse from a dictionary."""
@@ -1332,6 +1618,14 @@ class ClusterPolicyPermission:
1332
1618
  if self.permission_level is not None: body['permission_level'] = self.permission_level.value
1333
1619
  return body
1334
1620
 
1621
+ def as_shallow_dict(self) -> dict:
1622
+ """Serializes the ClusterPolicyPermission into a shallow dictionary of its immediate attributes."""
1623
+ body = {}
1624
+ if self.inherited is not None: body['inherited'] = self.inherited
1625
+ if self.inherited_from_object: body['inherited_from_object'] = self.inherited_from_object
1626
+ if self.permission_level is not None: body['permission_level'] = self.permission_level
1627
+ return body
1628
+
1335
1629
  @classmethod
1336
1630
  def from_dict(cls, d: Dict[str, any]) -> ClusterPolicyPermission:
1337
1631
  """Deserializes the ClusterPolicyPermission from a dictionary."""
@@ -1363,6 +1657,14 @@ class ClusterPolicyPermissions:
1363
1657
  if self.object_type is not None: body['object_type'] = self.object_type
1364
1658
  return body
1365
1659
 
1660
+ def as_shallow_dict(self) -> dict:
1661
+ """Serializes the ClusterPolicyPermissions into a shallow dictionary of its immediate attributes."""
1662
+ body = {}
1663
+ if self.access_control_list: body['access_control_list'] = self.access_control_list
1664
+ if self.object_id is not None: body['object_id'] = self.object_id
1665
+ if self.object_type is not None: body['object_type'] = self.object_type
1666
+ return body
1667
+
1366
1668
  @classmethod
1367
1669
  def from_dict(cls, d: Dict[str, any]) -> ClusterPolicyPermissions:
1368
1670
  """Deserializes the ClusterPolicyPermissions from a dictionary."""
@@ -1386,6 +1688,13 @@ class ClusterPolicyPermissionsDescription:
1386
1688
  if self.permission_level is not None: body['permission_level'] = self.permission_level.value
1387
1689
  return body
1388
1690
 
1691
+ def as_shallow_dict(self) -> dict:
1692
+ """Serializes the ClusterPolicyPermissionsDescription into a shallow dictionary of its immediate attributes."""
1693
+ body = {}
1694
+ if self.description is not None: body['description'] = self.description
1695
+ if self.permission_level is not None: body['permission_level'] = self.permission_level
1696
+ return body
1697
+
1389
1698
  @classmethod
1390
1699
  def from_dict(cls, d: Dict[str, any]) -> ClusterPolicyPermissionsDescription:
1391
1700
  """Deserializes the ClusterPolicyPermissionsDescription from a dictionary."""
@@ -1408,6 +1717,13 @@ class ClusterPolicyPermissionsRequest:
1408
1717
  if self.cluster_policy_id is not None: body['cluster_policy_id'] = self.cluster_policy_id
1409
1718
  return body
1410
1719
 
1720
+ def as_shallow_dict(self) -> dict:
1721
+ """Serializes the ClusterPolicyPermissionsRequest into a shallow dictionary of its immediate attributes."""
1722
+ body = {}
1723
+ if self.access_control_list: body['access_control_list'] = self.access_control_list
1724
+ if self.cluster_policy_id is not None: body['cluster_policy_id'] = self.cluster_policy_id
1725
+ return body
1726
+
1411
1727
  @classmethod
1412
1728
  def from_dict(cls, d: Dict[str, any]) -> ClusterPolicyPermissionsRequest:
1413
1729
  """Deserializes the ClusterPolicyPermissionsRequest from a dictionary."""
@@ -1442,6 +1758,14 @@ class ClusterSettingsChange:
1442
1758
  if self.previous_value is not None: body['previous_value'] = self.previous_value
1443
1759
  return body
1444
1760
 
1761
+ def as_shallow_dict(self) -> dict:
1762
+ """Serializes the ClusterSettingsChange into a shallow dictionary of its immediate attributes."""
1763
+ body = {}
1764
+ if self.field is not None: body['field'] = self.field
1765
+ if self.new_value is not None: body['new_value'] = self.new_value
1766
+ if self.previous_value is not None: body['previous_value'] = self.previous_value
1767
+ return body
1768
+
1445
1769
  @classmethod
1446
1770
  def from_dict(cls, d: Dict[str, any]) -> ClusterSettingsChange:
1447
1771
  """Deserializes the ClusterSettingsChange from a dictionary."""
@@ -1473,6 +1797,13 @@ class ClusterSize:
1473
1797
  if self.num_workers is not None: body['num_workers'] = self.num_workers
1474
1798
  return body
1475
1799
 
1800
+ def as_shallow_dict(self) -> dict:
1801
+ """Serializes the ClusterSize into a shallow dictionary of its immediate attributes."""
1802
+ body = {}
1803
+ if self.autoscale: body['autoscale'] = self.autoscale
1804
+ if self.num_workers is not None: body['num_workers'] = self.num_workers
1805
+ return body
1806
+
1476
1807
  @classmethod
1477
1808
  def from_dict(cls, d: Dict[str, any]) -> ClusterSize:
1478
1809
  """Deserializes the ClusterSize from a dictionary."""
@@ -1682,6 +2013,42 @@ class ClusterSpec:
1682
2013
  if self.workload_type: body['workload_type'] = self.workload_type.as_dict()
1683
2014
  return body
1684
2015
 
2016
+ def as_shallow_dict(self) -> dict:
2017
+ """Serializes the ClusterSpec into a shallow dictionary of its immediate attributes."""
2018
+ body = {}
2019
+ if self.apply_policy_default_values is not None:
2020
+ body['apply_policy_default_values'] = self.apply_policy_default_values
2021
+ if self.autoscale: body['autoscale'] = self.autoscale
2022
+ if self.autotermination_minutes is not None:
2023
+ body['autotermination_minutes'] = self.autotermination_minutes
2024
+ if self.aws_attributes: body['aws_attributes'] = self.aws_attributes
2025
+ if self.azure_attributes: body['azure_attributes'] = self.azure_attributes
2026
+ if self.cluster_log_conf: body['cluster_log_conf'] = self.cluster_log_conf
2027
+ if self.cluster_name is not None: body['cluster_name'] = self.cluster_name
2028
+ if self.custom_tags: body['custom_tags'] = self.custom_tags
2029
+ if self.data_security_mode is not None: body['data_security_mode'] = self.data_security_mode
2030
+ if self.docker_image: body['docker_image'] = self.docker_image
2031
+ if self.driver_instance_pool_id is not None:
2032
+ body['driver_instance_pool_id'] = self.driver_instance_pool_id
2033
+ if self.driver_node_type_id is not None: body['driver_node_type_id'] = self.driver_node_type_id
2034
+ if self.enable_elastic_disk is not None: body['enable_elastic_disk'] = self.enable_elastic_disk
2035
+ if self.enable_local_disk_encryption is not None:
2036
+ body['enable_local_disk_encryption'] = self.enable_local_disk_encryption
2037
+ if self.gcp_attributes: body['gcp_attributes'] = self.gcp_attributes
2038
+ if self.init_scripts: body['init_scripts'] = self.init_scripts
2039
+ if self.instance_pool_id is not None: body['instance_pool_id'] = self.instance_pool_id
2040
+ if self.node_type_id is not None: body['node_type_id'] = self.node_type_id
2041
+ if self.num_workers is not None: body['num_workers'] = self.num_workers
2042
+ if self.policy_id is not None: body['policy_id'] = self.policy_id
2043
+ if self.runtime_engine is not None: body['runtime_engine'] = self.runtime_engine
2044
+ if self.single_user_name is not None: body['single_user_name'] = self.single_user_name
2045
+ if self.spark_conf: body['spark_conf'] = self.spark_conf
2046
+ if self.spark_env_vars: body['spark_env_vars'] = self.spark_env_vars
2047
+ if self.spark_version is not None: body['spark_version'] = self.spark_version
2048
+ if self.ssh_public_keys: body['ssh_public_keys'] = self.ssh_public_keys
2049
+ if self.workload_type: body['workload_type'] = self.workload_type
2050
+ return body
2051
+
1685
2052
  @classmethod
1686
2053
  def from_dict(cls, d: Dict[str, any]) -> ClusterSpec:
1687
2054
  """Deserializes the ClusterSpec from a dictionary."""
@@ -1736,6 +2103,15 @@ class Command:
1736
2103
  if self.language is not None: body['language'] = self.language.value
1737
2104
  return body
1738
2105
 
2106
+ def as_shallow_dict(self) -> dict:
2107
+ """Serializes the Command into a shallow dictionary of its immediate attributes."""
2108
+ body = {}
2109
+ if self.cluster_id is not None: body['clusterId'] = self.cluster_id
2110
+ if self.command is not None: body['command'] = self.command
2111
+ if self.context_id is not None: body['contextId'] = self.context_id
2112
+ if self.language is not None: body['language'] = self.language
2113
+ return body
2114
+
1739
2115
  @classmethod
1740
2116
  def from_dict(cls, d: Dict[str, any]) -> Command:
1741
2117
  """Deserializes the Command from a dictionary."""
@@ -1771,6 +2147,14 @@ class CommandStatusResponse:
1771
2147
  if self.status is not None: body['status'] = self.status.value
1772
2148
  return body
1773
2149
 
2150
+ def as_shallow_dict(self) -> dict:
2151
+ """Serializes the CommandStatusResponse into a shallow dictionary of its immediate attributes."""
2152
+ body = {}
2153
+ if self.id is not None: body['id'] = self.id
2154
+ if self.results: body['results'] = self.results
2155
+ if self.status is not None: body['status'] = self.status
2156
+ return body
2157
+
1774
2158
  @classmethod
1775
2159
  def from_dict(cls, d: Dict[str, any]) -> CommandStatusResponse:
1776
2160
  """Deserializes the CommandStatusResponse from a dictionary."""
@@ -1799,6 +2183,13 @@ class ContextStatusResponse:
1799
2183
  if self.status is not None: body['status'] = self.status.value
1800
2184
  return body
1801
2185
 
2186
+ def as_shallow_dict(self) -> dict:
2187
+ """Serializes the ContextStatusResponse into a shallow dictionary of its immediate attributes."""
2188
+ body = {}
2189
+ if self.id is not None: body['id'] = self.id
2190
+ if self.status is not None: body['status'] = self.status
2191
+ return body
2192
+
1802
2193
  @classmethod
1803
2194
  def from_dict(cls, d: Dict[str, any]) -> ContextStatusResponse:
1804
2195
  """Deserializes the ContextStatusResponse from a dictionary."""
@@ -2000,14 +2391,51 @@ class CreateCluster:
2000
2391
  if self.workload_type: body['workload_type'] = self.workload_type.as_dict()
2001
2392
  return body
2002
2393
 
2003
- @classmethod
2004
- def from_dict(cls, d: Dict[str, any]) -> CreateCluster:
2005
- """Deserializes the CreateCluster from a dictionary."""
2006
- return cls(apply_policy_default_values=d.get('apply_policy_default_values', None),
2007
- autoscale=_from_dict(d, 'autoscale', AutoScale),
2008
- autotermination_minutes=d.get('autotermination_minutes', None),
2009
- aws_attributes=_from_dict(d, 'aws_attributes', AwsAttributes),
2010
- azure_attributes=_from_dict(d, 'azure_attributes', AzureAttributes),
2394
+ def as_shallow_dict(self) -> dict:
2395
+ """Serializes the CreateCluster into a shallow dictionary of its immediate attributes."""
2396
+ body = {}
2397
+ if self.apply_policy_default_values is not None:
2398
+ body['apply_policy_default_values'] = self.apply_policy_default_values
2399
+ if self.autoscale: body['autoscale'] = self.autoscale
2400
+ if self.autotermination_minutes is not None:
2401
+ body['autotermination_minutes'] = self.autotermination_minutes
2402
+ if self.aws_attributes: body['aws_attributes'] = self.aws_attributes
2403
+ if self.azure_attributes: body['azure_attributes'] = self.azure_attributes
2404
+ if self.clone_from: body['clone_from'] = self.clone_from
2405
+ if self.cluster_log_conf: body['cluster_log_conf'] = self.cluster_log_conf
2406
+ if self.cluster_name is not None: body['cluster_name'] = self.cluster_name
2407
+ if self.custom_tags: body['custom_tags'] = self.custom_tags
2408
+ if self.data_security_mode is not None: body['data_security_mode'] = self.data_security_mode
2409
+ if self.docker_image: body['docker_image'] = self.docker_image
2410
+ if self.driver_instance_pool_id is not None:
2411
+ body['driver_instance_pool_id'] = self.driver_instance_pool_id
2412
+ if self.driver_node_type_id is not None: body['driver_node_type_id'] = self.driver_node_type_id
2413
+ if self.enable_elastic_disk is not None: body['enable_elastic_disk'] = self.enable_elastic_disk
2414
+ if self.enable_local_disk_encryption is not None:
2415
+ body['enable_local_disk_encryption'] = self.enable_local_disk_encryption
2416
+ if self.gcp_attributes: body['gcp_attributes'] = self.gcp_attributes
2417
+ if self.init_scripts: body['init_scripts'] = self.init_scripts
2418
+ if self.instance_pool_id is not None: body['instance_pool_id'] = self.instance_pool_id
2419
+ if self.node_type_id is not None: body['node_type_id'] = self.node_type_id
2420
+ if self.num_workers is not None: body['num_workers'] = self.num_workers
2421
+ if self.policy_id is not None: body['policy_id'] = self.policy_id
2422
+ if self.runtime_engine is not None: body['runtime_engine'] = self.runtime_engine
2423
+ if self.single_user_name is not None: body['single_user_name'] = self.single_user_name
2424
+ if self.spark_conf: body['spark_conf'] = self.spark_conf
2425
+ if self.spark_env_vars: body['spark_env_vars'] = self.spark_env_vars
2426
+ if self.spark_version is not None: body['spark_version'] = self.spark_version
2427
+ if self.ssh_public_keys: body['ssh_public_keys'] = self.ssh_public_keys
2428
+ if self.workload_type: body['workload_type'] = self.workload_type
2429
+ return body
2430
+
2431
+ @classmethod
2432
+ def from_dict(cls, d: Dict[str, any]) -> CreateCluster:
2433
+ """Deserializes the CreateCluster from a dictionary."""
2434
+ return cls(apply_policy_default_values=d.get('apply_policy_default_values', None),
2435
+ autoscale=_from_dict(d, 'autoscale', AutoScale),
2436
+ autotermination_minutes=d.get('autotermination_minutes', None),
2437
+ aws_attributes=_from_dict(d, 'aws_attributes', AwsAttributes),
2438
+ azure_attributes=_from_dict(d, 'azure_attributes', AzureAttributes),
2011
2439
  clone_from=_from_dict(d, 'clone_from', CloneCluster),
2012
2440
  cluster_log_conf=_from_dict(d, 'cluster_log_conf', ClusterLogConf),
2013
2441
  cluster_name=d.get('cluster_name', None),
@@ -2043,6 +2471,12 @@ class CreateClusterResponse:
2043
2471
  if self.cluster_id is not None: body['cluster_id'] = self.cluster_id
2044
2472
  return body
2045
2473
 
2474
+ def as_shallow_dict(self) -> dict:
2475
+ """Serializes the CreateClusterResponse into a shallow dictionary of its immediate attributes."""
2476
+ body = {}
2477
+ if self.cluster_id is not None: body['cluster_id'] = self.cluster_id
2478
+ return body
2479
+
2046
2480
  @classmethod
2047
2481
  def from_dict(cls, d: Dict[str, any]) -> CreateClusterResponse:
2048
2482
  """Deserializes the CreateClusterResponse from a dictionary."""
@@ -2063,6 +2497,13 @@ class CreateContext:
2063
2497
  if self.language is not None: body['language'] = self.language.value
2064
2498
  return body
2065
2499
 
2500
+ def as_shallow_dict(self) -> dict:
2501
+ """Serializes the CreateContext into a shallow dictionary of its immediate attributes."""
2502
+ body = {}
2503
+ if self.cluster_id is not None: body['clusterId'] = self.cluster_id
2504
+ if self.language is not None: body['language'] = self.language
2505
+ return body
2506
+
2066
2507
  @classmethod
2067
2508
  def from_dict(cls, d: Dict[str, any]) -> CreateContext:
2068
2509
  """Deserializes the CreateContext from a dictionary."""
@@ -2152,6 +2593,25 @@ class CreateInstancePool:
2152
2593
  body['preloaded_spark_versions'] = [v for v in self.preloaded_spark_versions]
2153
2594
  return body
2154
2595
 
2596
+ def as_shallow_dict(self) -> dict:
2597
+ """Serializes the CreateInstancePool into a shallow dictionary of its immediate attributes."""
2598
+ body = {}
2599
+ if self.aws_attributes: body['aws_attributes'] = self.aws_attributes
2600
+ if self.azure_attributes: body['azure_attributes'] = self.azure_attributes
2601
+ if self.custom_tags: body['custom_tags'] = self.custom_tags
2602
+ if self.disk_spec: body['disk_spec'] = self.disk_spec
2603
+ if self.enable_elastic_disk is not None: body['enable_elastic_disk'] = self.enable_elastic_disk
2604
+ if self.gcp_attributes: body['gcp_attributes'] = self.gcp_attributes
2605
+ if self.idle_instance_autotermination_minutes is not None:
2606
+ body['idle_instance_autotermination_minutes'] = self.idle_instance_autotermination_minutes
2607
+ if self.instance_pool_name is not None: body['instance_pool_name'] = self.instance_pool_name
2608
+ if self.max_capacity is not None: body['max_capacity'] = self.max_capacity
2609
+ if self.min_idle_instances is not None: body['min_idle_instances'] = self.min_idle_instances
2610
+ if self.node_type_id is not None: body['node_type_id'] = self.node_type_id
2611
+ if self.preloaded_docker_images: body['preloaded_docker_images'] = self.preloaded_docker_images
2612
+ if self.preloaded_spark_versions: body['preloaded_spark_versions'] = self.preloaded_spark_versions
2613
+ return body
2614
+
2155
2615
  @classmethod
2156
2616
  def from_dict(cls, d: Dict[str, any]) -> CreateInstancePool:
2157
2617
  """Deserializes the CreateInstancePool from a dictionary."""
@@ -2181,6 +2641,12 @@ class CreateInstancePoolResponse:
2181
2641
  if self.instance_pool_id is not None: body['instance_pool_id'] = self.instance_pool_id
2182
2642
  return body
2183
2643
 
2644
+ def as_shallow_dict(self) -> dict:
2645
+ """Serializes the CreateInstancePoolResponse into a shallow dictionary of its immediate attributes."""
2646
+ body = {}
2647
+ if self.instance_pool_id is not None: body['instance_pool_id'] = self.instance_pool_id
2648
+ return body
2649
+
2184
2650
  @classmethod
2185
2651
  def from_dict(cls, d: Dict[str, any]) -> CreateInstancePoolResponse:
2186
2652
  """Deserializes the CreateInstancePoolResponse from a dictionary."""
@@ -2238,6 +2704,19 @@ class CreatePolicy:
2238
2704
  if self.policy_family_id is not None: body['policy_family_id'] = self.policy_family_id
2239
2705
  return body
2240
2706
 
2707
+ def as_shallow_dict(self) -> dict:
2708
+ """Serializes the CreatePolicy into a shallow dictionary of its immediate attributes."""
2709
+ body = {}
2710
+ if self.definition is not None: body['definition'] = self.definition
2711
+ if self.description is not None: body['description'] = self.description
2712
+ if self.libraries: body['libraries'] = self.libraries
2713
+ if self.max_clusters_per_user is not None: body['max_clusters_per_user'] = self.max_clusters_per_user
2714
+ if self.name is not None: body['name'] = self.name
2715
+ if self.policy_family_definition_overrides is not None:
2716
+ body['policy_family_definition_overrides'] = self.policy_family_definition_overrides
2717
+ if self.policy_family_id is not None: body['policy_family_id'] = self.policy_family_id
2718
+ return body
2719
+
2241
2720
  @classmethod
2242
2721
  def from_dict(cls, d: Dict[str, any]) -> CreatePolicy:
2243
2722
  """Deserializes the CreatePolicy from a dictionary."""
@@ -2261,6 +2740,12 @@ class CreatePolicyResponse:
2261
2740
  if self.policy_id is not None: body['policy_id'] = self.policy_id
2262
2741
  return body
2263
2742
 
2743
+ def as_shallow_dict(self) -> dict:
2744
+ """Serializes the CreatePolicyResponse into a shallow dictionary of its immediate attributes."""
2745
+ body = {}
2746
+ if self.policy_id is not None: body['policy_id'] = self.policy_id
2747
+ return body
2748
+
2264
2749
  @classmethod
2265
2750
  def from_dict(cls, d: Dict[str, any]) -> CreatePolicyResponse:
2266
2751
  """Deserializes the CreatePolicyResponse from a dictionary."""
@@ -2278,6 +2763,12 @@ class CreateResponse:
2278
2763
  if self.script_id is not None: body['script_id'] = self.script_id
2279
2764
  return body
2280
2765
 
2766
+ def as_shallow_dict(self) -> dict:
2767
+ """Serializes the CreateResponse into a shallow dictionary of its immediate attributes."""
2768
+ body = {}
2769
+ if self.script_id is not None: body['script_id'] = self.script_id
2770
+ return body
2771
+
2281
2772
  @classmethod
2282
2773
  def from_dict(cls, d: Dict[str, any]) -> CreateResponse:
2283
2774
  """Deserializes the CreateResponse from a dictionary."""
@@ -2294,6 +2785,12 @@ class Created:
2294
2785
  if self.id is not None: body['id'] = self.id
2295
2786
  return body
2296
2787
 
2788
+ def as_shallow_dict(self) -> dict:
2789
+ """Serializes the Created into a shallow dictionary of its immediate attributes."""
2790
+ body = {}
2791
+ if self.id is not None: body['id'] = self.id
2792
+ return body
2793
+
2297
2794
  @classmethod
2298
2795
  def from_dict(cls, d: Dict[str, any]) -> Created:
2299
2796
  """Deserializes the Created from a dictionary."""
@@ -2323,6 +2820,15 @@ class DataPlaneEventDetails:
2323
2820
  if self.timestamp is not None: body['timestamp'] = self.timestamp
2324
2821
  return body
2325
2822
 
2823
+ def as_shallow_dict(self) -> dict:
2824
+ """Serializes the DataPlaneEventDetails into a shallow dictionary of its immediate attributes."""
2825
+ body = {}
2826
+ if self.event_type is not None: body['event_type'] = self.event_type
2827
+ if self.executor_failures is not None: body['executor_failures'] = self.executor_failures
2828
+ if self.host_id is not None: body['host_id'] = self.host_id
2829
+ if self.timestamp is not None: body['timestamp'] = self.timestamp
2830
+ return body
2831
+
2326
2832
  @classmethod
2327
2833
  def from_dict(cls, d: Dict[str, any]) -> DataPlaneEventDetails:
2328
2834
  """Deserializes the DataPlaneEventDetails from a dictionary."""
@@ -2379,6 +2885,12 @@ class DbfsStorageInfo:
2379
2885
  if self.destination is not None: body['destination'] = self.destination
2380
2886
  return body
2381
2887
 
2888
+ def as_shallow_dict(self) -> dict:
2889
+ """Serializes the DbfsStorageInfo into a shallow dictionary of its immediate attributes."""
2890
+ body = {}
2891
+ if self.destination is not None: body['destination'] = self.destination
2892
+ return body
2893
+
2382
2894
  @classmethod
2383
2895
  def from_dict(cls, d: Dict[str, any]) -> DbfsStorageInfo:
2384
2896
  """Deserializes the DbfsStorageInfo from a dictionary."""
@@ -2396,6 +2908,12 @@ class DeleteCluster:
2396
2908
  if self.cluster_id is not None: body['cluster_id'] = self.cluster_id
2397
2909
  return body
2398
2910
 
2911
+ def as_shallow_dict(self) -> dict:
2912
+ """Serializes the DeleteCluster into a shallow dictionary of its immediate attributes."""
2913
+ body = {}
2914
+ if self.cluster_id is not None: body['cluster_id'] = self.cluster_id
2915
+ return body
2916
+
2399
2917
  @classmethod
2400
2918
  def from_dict(cls, d: Dict[str, any]) -> DeleteCluster:
2401
2919
  """Deserializes the DeleteCluster from a dictionary."""
@@ -2410,6 +2928,11 @@ class DeleteClusterResponse:
2410
2928
  body = {}
2411
2929
  return body
2412
2930
 
2931
+ def as_shallow_dict(self) -> dict:
2932
+ """Serializes the DeleteClusterResponse into a shallow dictionary of its immediate attributes."""
2933
+ body = {}
2934
+ return body
2935
+
2413
2936
  @classmethod
2414
2937
  def from_dict(cls, d: Dict[str, any]) -> DeleteClusterResponse:
2415
2938
  """Deserializes the DeleteClusterResponse from a dictionary."""
@@ -2427,6 +2950,12 @@ class DeleteInstancePool:
2427
2950
  if self.instance_pool_id is not None: body['instance_pool_id'] = self.instance_pool_id
2428
2951
  return body
2429
2952
 
2953
+ def as_shallow_dict(self) -> dict:
2954
+ """Serializes the DeleteInstancePool into a shallow dictionary of its immediate attributes."""
2955
+ body = {}
2956
+ if self.instance_pool_id is not None: body['instance_pool_id'] = self.instance_pool_id
2957
+ return body
2958
+
2430
2959
  @classmethod
2431
2960
  def from_dict(cls, d: Dict[str, any]) -> DeleteInstancePool:
2432
2961
  """Deserializes the DeleteInstancePool from a dictionary."""
@@ -2441,6 +2970,11 @@ class DeleteInstancePoolResponse:
2441
2970
  body = {}
2442
2971
  return body
2443
2972
 
2973
+ def as_shallow_dict(self) -> dict:
2974
+ """Serializes the DeleteInstancePoolResponse into a shallow dictionary of its immediate attributes."""
2975
+ body = {}
2976
+ return body
2977
+
2444
2978
  @classmethod
2445
2979
  def from_dict(cls, d: Dict[str, any]) -> DeleteInstancePoolResponse:
2446
2980
  """Deserializes the DeleteInstancePoolResponse from a dictionary."""
@@ -2458,6 +2992,12 @@ class DeletePolicy:
2458
2992
  if self.policy_id is not None: body['policy_id'] = self.policy_id
2459
2993
  return body
2460
2994
 
2995
+ def as_shallow_dict(self) -> dict:
2996
+ """Serializes the DeletePolicy into a shallow dictionary of its immediate attributes."""
2997
+ body = {}
2998
+ if self.policy_id is not None: body['policy_id'] = self.policy_id
2999
+ return body
3000
+
2461
3001
  @classmethod
2462
3002
  def from_dict(cls, d: Dict[str, any]) -> DeletePolicy:
2463
3003
  """Deserializes the DeletePolicy from a dictionary."""
@@ -2472,6 +3012,11 @@ class DeletePolicyResponse:
2472
3012
  body = {}
2473
3013
  return body
2474
3014
 
3015
+ def as_shallow_dict(self) -> dict:
3016
+ """Serializes the DeletePolicyResponse into a shallow dictionary of its immediate attributes."""
3017
+ body = {}
3018
+ return body
3019
+
2475
3020
  @classmethod
2476
3021
  def from_dict(cls, d: Dict[str, any]) -> DeletePolicyResponse:
2477
3022
  """Deserializes the DeletePolicyResponse from a dictionary."""
@@ -2486,6 +3031,11 @@ class DeleteResponse:
2486
3031
  body = {}
2487
3032
  return body
2488
3033
 
3034
+ def as_shallow_dict(self) -> dict:
3035
+ """Serializes the DeleteResponse into a shallow dictionary of its immediate attributes."""
3036
+ body = {}
3037
+ return body
3038
+
2489
3039
  @classmethod
2490
3040
  def from_dict(cls, d: Dict[str, any]) -> DeleteResponse:
2491
3041
  """Deserializes the DeleteResponse from a dictionary."""
@@ -2505,6 +3055,13 @@ class DestroyContext:
2505
3055
  if self.context_id is not None: body['contextId'] = self.context_id
2506
3056
  return body
2507
3057
 
3058
+ def as_shallow_dict(self) -> dict:
3059
+ """Serializes the DestroyContext into a shallow dictionary of its immediate attributes."""
3060
+ body = {}
3061
+ if self.cluster_id is not None: body['clusterId'] = self.cluster_id
3062
+ if self.context_id is not None: body['contextId'] = self.context_id
3063
+ return body
3064
+
2508
3065
  @classmethod
2509
3066
  def from_dict(cls, d: Dict[str, any]) -> DestroyContext:
2510
3067
  """Deserializes the DestroyContext from a dictionary."""
@@ -2519,6 +3076,11 @@ class DestroyResponse:
2519
3076
  body = {}
2520
3077
  return body
2521
3078
 
3079
+ def as_shallow_dict(self) -> dict:
3080
+ """Serializes the DestroyResponse into a shallow dictionary of its immediate attributes."""
3081
+ body = {}
3082
+ return body
3083
+
2522
3084
  @classmethod
2523
3085
  def from_dict(cls, d: Dict[str, any]) -> DestroyResponse:
2524
3086
  """Deserializes the DestroyResponse from a dictionary."""
@@ -2567,6 +3129,16 @@ class DiskSpec:
2567
3129
  if self.disk_type: body['disk_type'] = self.disk_type.as_dict()
2568
3130
  return body
2569
3131
 
3132
+ def as_shallow_dict(self) -> dict:
3133
+ """Serializes the DiskSpec into a shallow dictionary of its immediate attributes."""
3134
+ body = {}
3135
+ if self.disk_count is not None: body['disk_count'] = self.disk_count
3136
+ if self.disk_iops is not None: body['disk_iops'] = self.disk_iops
3137
+ if self.disk_size is not None: body['disk_size'] = self.disk_size
3138
+ if self.disk_throughput is not None: body['disk_throughput'] = self.disk_throughput
3139
+ if self.disk_type: body['disk_type'] = self.disk_type
3140
+ return body
3141
+
2570
3142
  @classmethod
2571
3143
  def from_dict(cls, d: Dict[str, any]) -> DiskSpec:
2572
3144
  """Deserializes the DiskSpec from a dictionary."""
@@ -2591,6 +3163,14 @@ class DiskType:
2591
3163
  if self.ebs_volume_type is not None: body['ebs_volume_type'] = self.ebs_volume_type.value
2592
3164
  return body
2593
3165
 
3166
+ def as_shallow_dict(self) -> dict:
3167
+ """Serializes the DiskType into a shallow dictionary of its immediate attributes."""
3168
+ body = {}
3169
+ if self.azure_disk_volume_type is not None:
3170
+ body['azure_disk_volume_type'] = self.azure_disk_volume_type
3171
+ if self.ebs_volume_type is not None: body['ebs_volume_type'] = self.ebs_volume_type
3172
+ return body
3173
+
2594
3174
  @classmethod
2595
3175
  def from_dict(cls, d: Dict[str, any]) -> DiskType:
2596
3176
  """Deserializes the DiskType from a dictionary."""
@@ -2625,6 +3205,13 @@ class DockerBasicAuth:
2625
3205
  if self.username is not None: body['username'] = self.username
2626
3206
  return body
2627
3207
 
3208
+ def as_shallow_dict(self) -> dict:
3209
+ """Serializes the DockerBasicAuth into a shallow dictionary of its immediate attributes."""
3210
+ body = {}
3211
+ if self.password is not None: body['password'] = self.password
3212
+ if self.username is not None: body['username'] = self.username
3213
+ return body
3214
+
2628
3215
  @classmethod
2629
3216
  def from_dict(cls, d: Dict[str, any]) -> DockerBasicAuth:
2630
3217
  """Deserializes the DockerBasicAuth from a dictionary."""
@@ -2645,6 +3232,13 @@ class DockerImage:
2645
3232
  if self.url is not None: body['url'] = self.url
2646
3233
  return body
2647
3234
 
3235
+ def as_shallow_dict(self) -> dict:
3236
+ """Serializes the DockerImage into a shallow dictionary of its immediate attributes."""
3237
+ body = {}
3238
+ if self.basic_auth: body['basic_auth'] = self.basic_auth
3239
+ if self.url is not None: body['url'] = self.url
3240
+ return body
3241
+
2648
3242
  @classmethod
2649
3243
  def from_dict(cls, d: Dict[str, any]) -> DockerImage:
2650
3244
  """Deserializes the DockerImage from a dictionary."""
@@ -2852,6 +3446,43 @@ class EditCluster:
2852
3446
  if self.workload_type: body['workload_type'] = self.workload_type.as_dict()
2853
3447
  return body
2854
3448
 
3449
+ def as_shallow_dict(self) -> dict:
3450
+ """Serializes the EditCluster into a shallow dictionary of its immediate attributes."""
3451
+ body = {}
3452
+ if self.apply_policy_default_values is not None:
3453
+ body['apply_policy_default_values'] = self.apply_policy_default_values
3454
+ if self.autoscale: body['autoscale'] = self.autoscale
3455
+ if self.autotermination_minutes is not None:
3456
+ body['autotermination_minutes'] = self.autotermination_minutes
3457
+ if self.aws_attributes: body['aws_attributes'] = self.aws_attributes
3458
+ if self.azure_attributes: body['azure_attributes'] = self.azure_attributes
3459
+ if self.cluster_id is not None: body['cluster_id'] = self.cluster_id
3460
+ if self.cluster_log_conf: body['cluster_log_conf'] = self.cluster_log_conf
3461
+ if self.cluster_name is not None: body['cluster_name'] = self.cluster_name
3462
+ if self.custom_tags: body['custom_tags'] = self.custom_tags
3463
+ if self.data_security_mode is not None: body['data_security_mode'] = self.data_security_mode
3464
+ if self.docker_image: body['docker_image'] = self.docker_image
3465
+ if self.driver_instance_pool_id is not None:
3466
+ body['driver_instance_pool_id'] = self.driver_instance_pool_id
3467
+ if self.driver_node_type_id is not None: body['driver_node_type_id'] = self.driver_node_type_id
3468
+ if self.enable_elastic_disk is not None: body['enable_elastic_disk'] = self.enable_elastic_disk
3469
+ if self.enable_local_disk_encryption is not None:
3470
+ body['enable_local_disk_encryption'] = self.enable_local_disk_encryption
3471
+ if self.gcp_attributes: body['gcp_attributes'] = self.gcp_attributes
3472
+ if self.init_scripts: body['init_scripts'] = self.init_scripts
3473
+ if self.instance_pool_id is not None: body['instance_pool_id'] = self.instance_pool_id
3474
+ if self.node_type_id is not None: body['node_type_id'] = self.node_type_id
3475
+ if self.num_workers is not None: body['num_workers'] = self.num_workers
3476
+ if self.policy_id is not None: body['policy_id'] = self.policy_id
3477
+ if self.runtime_engine is not None: body['runtime_engine'] = self.runtime_engine
3478
+ if self.single_user_name is not None: body['single_user_name'] = self.single_user_name
3479
+ if self.spark_conf: body['spark_conf'] = self.spark_conf
3480
+ if self.spark_env_vars: body['spark_env_vars'] = self.spark_env_vars
3481
+ if self.spark_version is not None: body['spark_version'] = self.spark_version
3482
+ if self.ssh_public_keys: body['ssh_public_keys'] = self.ssh_public_keys
3483
+ if self.workload_type: body['workload_type'] = self.workload_type
3484
+ return body
3485
+
2855
3486
  @classmethod
2856
3487
  def from_dict(cls, d: Dict[str, any]) -> EditCluster:
2857
3488
  """Deserializes the EditCluster from a dictionary."""
@@ -2893,6 +3524,11 @@ class EditClusterResponse:
2893
3524
  body = {}
2894
3525
  return body
2895
3526
 
3527
+ def as_shallow_dict(self) -> dict:
3528
+ """Serializes the EditClusterResponse into a shallow dictionary of its immediate attributes."""
3529
+ body = {}
3530
+ return body
3531
+
2896
3532
  @classmethod
2897
3533
  def from_dict(cls, d: Dict[str, any]) -> EditClusterResponse:
2898
3534
  """Deserializes the EditClusterResponse from a dictionary."""
@@ -2948,6 +3584,19 @@ class EditInstancePool:
2948
3584
  if self.node_type_id is not None: body['node_type_id'] = self.node_type_id
2949
3585
  return body
2950
3586
 
3587
+ def as_shallow_dict(self) -> dict:
3588
+ """Serializes the EditInstancePool into a shallow dictionary of its immediate attributes."""
3589
+ body = {}
3590
+ if self.custom_tags: body['custom_tags'] = self.custom_tags
3591
+ if self.idle_instance_autotermination_minutes is not None:
3592
+ body['idle_instance_autotermination_minutes'] = self.idle_instance_autotermination_minutes
3593
+ if self.instance_pool_id is not None: body['instance_pool_id'] = self.instance_pool_id
3594
+ if self.instance_pool_name is not None: body['instance_pool_name'] = self.instance_pool_name
3595
+ if self.max_capacity is not None: body['max_capacity'] = self.max_capacity
3596
+ if self.min_idle_instances is not None: body['min_idle_instances'] = self.min_idle_instances
3597
+ if self.node_type_id is not None: body['node_type_id'] = self.node_type_id
3598
+ return body
3599
+
2951
3600
  @classmethod
2952
3601
  def from_dict(cls, d: Dict[str, any]) -> EditInstancePool:
2953
3602
  """Deserializes the EditInstancePool from a dictionary."""
@@ -2968,6 +3617,11 @@ class EditInstancePoolResponse:
2968
3617
  body = {}
2969
3618
  return body
2970
3619
 
3620
+ def as_shallow_dict(self) -> dict:
3621
+ """Serializes the EditInstancePoolResponse into a shallow dictionary of its immediate attributes."""
3622
+ body = {}
3623
+ return body
3624
+
2971
3625
  @classmethod
2972
3626
  def from_dict(cls, d: Dict[str, any]) -> EditInstancePoolResponse:
2973
3627
  """Deserializes the EditInstancePoolResponse from a dictionary."""
@@ -3029,6 +3683,20 @@ class EditPolicy:
3029
3683
  if self.policy_id is not None: body['policy_id'] = self.policy_id
3030
3684
  return body
3031
3685
 
3686
+ def as_shallow_dict(self) -> dict:
3687
+ """Serializes the EditPolicy into a shallow dictionary of its immediate attributes."""
3688
+ body = {}
3689
+ if self.definition is not None: body['definition'] = self.definition
3690
+ if self.description is not None: body['description'] = self.description
3691
+ if self.libraries: body['libraries'] = self.libraries
3692
+ if self.max_clusters_per_user is not None: body['max_clusters_per_user'] = self.max_clusters_per_user
3693
+ if self.name is not None: body['name'] = self.name
3694
+ if self.policy_family_definition_overrides is not None:
3695
+ body['policy_family_definition_overrides'] = self.policy_family_definition_overrides
3696
+ if self.policy_family_id is not None: body['policy_family_id'] = self.policy_family_id
3697
+ if self.policy_id is not None: body['policy_id'] = self.policy_id
3698
+ return body
3699
+
3032
3700
  @classmethod
3033
3701
  def from_dict(cls, d: Dict[str, any]) -> EditPolicy:
3034
3702
  """Deserializes the EditPolicy from a dictionary."""
@@ -3050,6 +3718,11 @@ class EditPolicyResponse:
3050
3718
  body = {}
3051
3719
  return body
3052
3720
 
3721
+ def as_shallow_dict(self) -> dict:
3722
+ """Serializes the EditPolicyResponse into a shallow dictionary of its immediate attributes."""
3723
+ body = {}
3724
+ return body
3725
+
3053
3726
  @classmethod
3054
3727
  def from_dict(cls, d: Dict[str, any]) -> EditPolicyResponse:
3055
3728
  """Deserializes the EditPolicyResponse from a dictionary."""
@@ -3064,6 +3737,11 @@ class EditResponse:
3064
3737
  body = {}
3065
3738
  return body
3066
3739
 
3740
+ def as_shallow_dict(self) -> dict:
3741
+ """Serializes the EditResponse into a shallow dictionary of its immediate attributes."""
3742
+ body = {}
3743
+ return body
3744
+
3067
3745
  @classmethod
3068
3746
  def from_dict(cls, d: Dict[str, any]) -> EditResponse:
3069
3747
  """Deserializes the EditResponse from a dictionary."""
@@ -3086,6 +3764,13 @@ class EnforceClusterComplianceRequest:
3086
3764
  if self.validate_only is not None: body['validate_only'] = self.validate_only
3087
3765
  return body
3088
3766
 
3767
+ def as_shallow_dict(self) -> dict:
3768
+ """Serializes the EnforceClusterComplianceRequest into a shallow dictionary of its immediate attributes."""
3769
+ body = {}
3770
+ if self.cluster_id is not None: body['cluster_id'] = self.cluster_id
3771
+ if self.validate_only is not None: body['validate_only'] = self.validate_only
3772
+ return body
3773
+
3089
3774
  @classmethod
3090
3775
  def from_dict(cls, d: Dict[str, any]) -> EnforceClusterComplianceRequest:
3091
3776
  """Deserializes the EnforceClusterComplianceRequest from a dictionary."""
@@ -3109,6 +3794,13 @@ class EnforceClusterComplianceResponse:
3109
3794
  if self.has_changes is not None: body['has_changes'] = self.has_changes
3110
3795
  return body
3111
3796
 
3797
+ def as_shallow_dict(self) -> dict:
3798
+ """Serializes the EnforceClusterComplianceResponse into a shallow dictionary of its immediate attributes."""
3799
+ body = {}
3800
+ if self.changes: body['changes'] = self.changes
3801
+ if self.has_changes is not None: body['has_changes'] = self.has_changes
3802
+ return body
3803
+
3112
3804
  @classmethod
3113
3805
  def from_dict(cls, d: Dict[str, any]) -> EnforceClusterComplianceResponse:
3114
3806
  """Deserializes the EnforceClusterComplianceResponse from a dictionary."""
@@ -3141,6 +3833,13 @@ class Environment:
3141
3833
  if self.dependencies: body['dependencies'] = [v for v in self.dependencies]
3142
3834
  return body
3143
3835
 
3836
+ def as_shallow_dict(self) -> dict:
3837
+ """Serializes the Environment into a shallow dictionary of its immediate attributes."""
3838
+ body = {}
3839
+ if self.client is not None: body['client'] = self.client
3840
+ if self.dependencies: body['dependencies'] = self.dependencies
3841
+ return body
3842
+
3144
3843
  @classmethod
3145
3844
  def from_dict(cls, d: Dict[str, any]) -> Environment:
3146
3845
  """Deserializes the Environment from a dictionary."""
@@ -3238,6 +3937,32 @@ class EventDetails:
3238
3937
  if self.user is not None: body['user'] = self.user
3239
3938
  return body
3240
3939
 
3940
+ def as_shallow_dict(self) -> dict:
3941
+ """Serializes the EventDetails into a shallow dictionary of its immediate attributes."""
3942
+ body = {}
3943
+ if self.attributes: body['attributes'] = self.attributes
3944
+ if self.cause is not None: body['cause'] = self.cause
3945
+ if self.cluster_size: body['cluster_size'] = self.cluster_size
3946
+ if self.current_num_vcpus is not None: body['current_num_vcpus'] = self.current_num_vcpus
3947
+ if self.current_num_workers is not None: body['current_num_workers'] = self.current_num_workers
3948
+ if self.did_not_expand_reason is not None: body['did_not_expand_reason'] = self.did_not_expand_reason
3949
+ if self.disk_size is not None: body['disk_size'] = self.disk_size
3950
+ if self.driver_state_message is not None: body['driver_state_message'] = self.driver_state_message
3951
+ if self.enable_termination_for_node_blocklisted is not None:
3952
+ body['enable_termination_for_node_blocklisted'] = self.enable_termination_for_node_blocklisted
3953
+ if self.free_space is not None: body['free_space'] = self.free_space
3954
+ if self.init_scripts: body['init_scripts'] = self.init_scripts
3955
+ if self.instance_id is not None: body['instance_id'] = self.instance_id
3956
+ if self.job_run_name is not None: body['job_run_name'] = self.job_run_name
3957
+ if self.previous_attributes: body['previous_attributes'] = self.previous_attributes
3958
+ if self.previous_cluster_size: body['previous_cluster_size'] = self.previous_cluster_size
3959
+ if self.previous_disk_size is not None: body['previous_disk_size'] = self.previous_disk_size
3960
+ if self.reason: body['reason'] = self.reason
3961
+ if self.target_num_vcpus is not None: body['target_num_vcpus'] = self.target_num_vcpus
3962
+ if self.target_num_workers is not None: body['target_num_workers'] = self.target_num_workers
3963
+ if self.user is not None: body['user'] = self.user
3964
+ return body
3965
+
3241
3966
  @classmethod
3242
3967
  def from_dict(cls, d: Dict[str, any]) -> EventDetails:
3243
3968
  """Deserializes the EventDetails from a dictionary."""
@@ -3348,6 +4073,19 @@ class GcpAttributes:
3348
4073
  if self.zone_id is not None: body['zone_id'] = self.zone_id
3349
4074
  return body
3350
4075
 
4076
+ def as_shallow_dict(self) -> dict:
4077
+ """Serializes the GcpAttributes into a shallow dictionary of its immediate attributes."""
4078
+ body = {}
4079
+ if self.availability is not None: body['availability'] = self.availability
4080
+ if self.boot_disk_size is not None: body['boot_disk_size'] = self.boot_disk_size
4081
+ if self.google_service_account is not None:
4082
+ body['google_service_account'] = self.google_service_account
4083
+ if self.local_ssd_count is not None: body['local_ssd_count'] = self.local_ssd_count
4084
+ if self.use_preemptible_executors is not None:
4085
+ body['use_preemptible_executors'] = self.use_preemptible_executors
4086
+ if self.zone_id is not None: body['zone_id'] = self.zone_id
4087
+ return body
4088
+
3351
4089
  @classmethod
3352
4090
  def from_dict(cls, d: Dict[str, any]) -> GcpAttributes:
3353
4091
  """Deserializes the GcpAttributes from a dictionary."""
@@ -3379,6 +4117,12 @@ class GcsStorageInfo:
3379
4117
  if self.destination is not None: body['destination'] = self.destination
3380
4118
  return body
3381
4119
 
4120
+ def as_shallow_dict(self) -> dict:
4121
+ """Serializes the GcsStorageInfo into a shallow dictionary of its immediate attributes."""
4122
+ body = {}
4123
+ if self.destination is not None: body['destination'] = self.destination
4124
+ return body
4125
+
3382
4126
  @classmethod
3383
4127
  def from_dict(cls, d: Dict[str, any]) -> GcsStorageInfo:
3384
4128
  """Deserializes the GcsStorageInfo from a dictionary."""
@@ -3403,6 +4147,13 @@ class GetClusterComplianceResponse:
3403
4147
  if self.violations: body['violations'] = self.violations
3404
4148
  return body
3405
4149
 
4150
+ def as_shallow_dict(self) -> dict:
4151
+ """Serializes the GetClusterComplianceResponse into a shallow dictionary of its immediate attributes."""
4152
+ body = {}
4153
+ if self.is_compliant is not None: body['is_compliant'] = self.is_compliant
4154
+ if self.violations: body['violations'] = self.violations
4155
+ return body
4156
+
3406
4157
  @classmethod
3407
4158
  def from_dict(cls, d: Dict[str, any]) -> GetClusterComplianceResponse:
3408
4159
  """Deserializes the GetClusterComplianceResponse from a dictionary."""
@@ -3420,6 +4171,12 @@ class GetClusterPermissionLevelsResponse:
3420
4171
  if self.permission_levels: body['permission_levels'] = [v.as_dict() for v in self.permission_levels]
3421
4172
  return body
3422
4173
 
4174
+ def as_shallow_dict(self) -> dict:
4175
+ """Serializes the GetClusterPermissionLevelsResponse into a shallow dictionary of its immediate attributes."""
4176
+ body = {}
4177
+ if self.permission_levels: body['permission_levels'] = self.permission_levels
4178
+ return body
4179
+
3423
4180
  @classmethod
3424
4181
  def from_dict(cls, d: Dict[str, any]) -> GetClusterPermissionLevelsResponse:
3425
4182
  """Deserializes the GetClusterPermissionLevelsResponse from a dictionary."""
@@ -3437,6 +4194,12 @@ class GetClusterPolicyPermissionLevelsResponse:
3437
4194
  if self.permission_levels: body['permission_levels'] = [v.as_dict() for v in self.permission_levels]
3438
4195
  return body
3439
4196
 
4197
+ def as_shallow_dict(self) -> dict:
4198
+ """Serializes the GetClusterPolicyPermissionLevelsResponse into a shallow dictionary of its immediate attributes."""
4199
+ body = {}
4200
+ if self.permission_levels: body['permission_levels'] = self.permission_levels
4201
+ return body
4202
+
3440
4203
  @classmethod
3441
4204
  def from_dict(cls, d: Dict[str, any]) -> GetClusterPolicyPermissionLevelsResponse:
3442
4205
  """Deserializes the GetClusterPolicyPermissionLevelsResponse from a dictionary."""
@@ -3482,6 +4245,18 @@ class GetEvents:
3482
4245
  if self.start_time is not None: body['start_time'] = self.start_time
3483
4246
  return body
3484
4247
 
4248
+ def as_shallow_dict(self) -> dict:
4249
+ """Serializes the GetEvents into a shallow dictionary of its immediate attributes."""
4250
+ body = {}
4251
+ if self.cluster_id is not None: body['cluster_id'] = self.cluster_id
4252
+ if self.end_time is not None: body['end_time'] = self.end_time
4253
+ if self.event_types: body['event_types'] = self.event_types
4254
+ if self.limit is not None: body['limit'] = self.limit
4255
+ if self.offset is not None: body['offset'] = self.offset
4256
+ if self.order is not None: body['order'] = self.order
4257
+ if self.start_time is not None: body['start_time'] = self.start_time
4258
+ return body
4259
+
3485
4260
  @classmethod
3486
4261
  def from_dict(cls, d: Dict[str, any]) -> GetEvents:
3487
4262
  """Deserializes the GetEvents from a dictionary."""
@@ -3521,6 +4296,14 @@ class GetEventsResponse:
3521
4296
  if self.total_count is not None: body['total_count'] = self.total_count
3522
4297
  return body
3523
4298
 
4299
+ def as_shallow_dict(self) -> dict:
4300
+ """Serializes the GetEventsResponse into a shallow dictionary of its immediate attributes."""
4301
+ body = {}
4302
+ if self.events: body['events'] = self.events
4303
+ if self.next_page: body['next_page'] = self.next_page
4304
+ if self.total_count is not None: body['total_count'] = self.total_count
4305
+ return body
4306
+
3524
4307
  @classmethod
3525
4308
  def from_dict(cls, d: Dict[str, any]) -> GetEventsResponse:
3526
4309
  """Deserializes the GetEventsResponse from a dictionary."""
@@ -3640,6 +4423,30 @@ class GetInstancePool:
3640
4423
  if self.status: body['status'] = self.status.as_dict()
3641
4424
  return body
3642
4425
 
4426
+ def as_shallow_dict(self) -> dict:
4427
+ """Serializes the GetInstancePool into a shallow dictionary of its immediate attributes."""
4428
+ body = {}
4429
+ if self.aws_attributes: body['aws_attributes'] = self.aws_attributes
4430
+ if self.azure_attributes: body['azure_attributes'] = self.azure_attributes
4431
+ if self.custom_tags: body['custom_tags'] = self.custom_tags
4432
+ if self.default_tags: body['default_tags'] = self.default_tags
4433
+ if self.disk_spec: body['disk_spec'] = self.disk_spec
4434
+ if self.enable_elastic_disk is not None: body['enable_elastic_disk'] = self.enable_elastic_disk
4435
+ if self.gcp_attributes: body['gcp_attributes'] = self.gcp_attributes
4436
+ if self.idle_instance_autotermination_minutes is not None:
4437
+ body['idle_instance_autotermination_minutes'] = self.idle_instance_autotermination_minutes
4438
+ if self.instance_pool_id is not None: body['instance_pool_id'] = self.instance_pool_id
4439
+ if self.instance_pool_name is not None: body['instance_pool_name'] = self.instance_pool_name
4440
+ if self.max_capacity is not None: body['max_capacity'] = self.max_capacity
4441
+ if self.min_idle_instances is not None: body['min_idle_instances'] = self.min_idle_instances
4442
+ if self.node_type_id is not None: body['node_type_id'] = self.node_type_id
4443
+ if self.preloaded_docker_images: body['preloaded_docker_images'] = self.preloaded_docker_images
4444
+ if self.preloaded_spark_versions: body['preloaded_spark_versions'] = self.preloaded_spark_versions
4445
+ if self.state is not None: body['state'] = self.state
4446
+ if self.stats: body['stats'] = self.stats
4447
+ if self.status: body['status'] = self.status
4448
+ return body
4449
+
3643
4450
  @classmethod
3644
4451
  def from_dict(cls, d: Dict[str, any]) -> GetInstancePool:
3645
4452
  """Deserializes the GetInstancePool from a dictionary."""
@@ -3674,6 +4481,12 @@ class GetInstancePoolPermissionLevelsResponse:
3674
4481
  if self.permission_levels: body['permission_levels'] = [v.as_dict() for v in self.permission_levels]
3675
4482
  return body
3676
4483
 
4484
+ def as_shallow_dict(self) -> dict:
4485
+ """Serializes the GetInstancePoolPermissionLevelsResponse into a shallow dictionary of its immediate attributes."""
4486
+ body = {}
4487
+ if self.permission_levels: body['permission_levels'] = self.permission_levels
4488
+ return body
4489
+
3677
4490
  @classmethod
3678
4491
  def from_dict(cls, d: Dict[str, any]) -> GetInstancePoolPermissionLevelsResponse:
3679
4492
  """Deserializes the GetInstancePoolPermissionLevelsResponse from a dictionary."""
@@ -3692,6 +4505,12 @@ class GetSparkVersionsResponse:
3692
4505
  if self.versions: body['versions'] = [v.as_dict() for v in self.versions]
3693
4506
  return body
3694
4507
 
4508
+ def as_shallow_dict(self) -> dict:
4509
+ """Serializes the GetSparkVersionsResponse into a shallow dictionary of its immediate attributes."""
4510
+ body = {}
4511
+ if self.versions: body['versions'] = self.versions
4512
+ return body
4513
+
3695
4514
  @classmethod
3696
4515
  def from_dict(cls, d: Dict[str, any]) -> GetSparkVersionsResponse:
3697
4516
  """Deserializes the GetSparkVersionsResponse from a dictionary."""
@@ -3729,6 +4548,15 @@ class GlobalInitScriptCreateRequest:
3729
4548
  if self.script is not None: body['script'] = self.script
3730
4549
  return body
3731
4550
 
4551
+ def as_shallow_dict(self) -> dict:
4552
+ """Serializes the GlobalInitScriptCreateRequest into a shallow dictionary of its immediate attributes."""
4553
+ body = {}
4554
+ if self.enabled is not None: body['enabled'] = self.enabled
4555
+ if self.name is not None: body['name'] = self.name
4556
+ if self.position is not None: body['position'] = self.position
4557
+ if self.script is not None: body['script'] = self.script
4558
+ return body
4559
+
3732
4560
  @classmethod
3733
4561
  def from_dict(cls, d: Dict[str, any]) -> GlobalInitScriptCreateRequest:
3734
4562
  """Deserializes the GlobalInitScriptCreateRequest from a dictionary."""
@@ -3778,6 +4606,19 @@ class GlobalInitScriptDetails:
3778
4606
  if self.updated_by is not None: body['updated_by'] = self.updated_by
3779
4607
  return body
3780
4608
 
4609
+ def as_shallow_dict(self) -> dict:
4610
+ """Serializes the GlobalInitScriptDetails into a shallow dictionary of its immediate attributes."""
4611
+ body = {}
4612
+ if self.created_at is not None: body['created_at'] = self.created_at
4613
+ if self.created_by is not None: body['created_by'] = self.created_by
4614
+ if self.enabled is not None: body['enabled'] = self.enabled
4615
+ if self.name is not None: body['name'] = self.name
4616
+ if self.position is not None: body['position'] = self.position
4617
+ if self.script_id is not None: body['script_id'] = self.script_id
4618
+ if self.updated_at is not None: body['updated_at'] = self.updated_at
4619
+ if self.updated_by is not None: body['updated_by'] = self.updated_by
4620
+ return body
4621
+
3781
4622
  @classmethod
3782
4623
  def from_dict(cls, d: Dict[str, any]) -> GlobalInitScriptDetails:
3783
4624
  """Deserializes the GlobalInitScriptDetails from a dictionary."""
@@ -3835,6 +4676,20 @@ class GlobalInitScriptDetailsWithContent:
3835
4676
  if self.updated_by is not None: body['updated_by'] = self.updated_by
3836
4677
  return body
3837
4678
 
4679
+ def as_shallow_dict(self) -> dict:
4680
+ """Serializes the GlobalInitScriptDetailsWithContent into a shallow dictionary of its immediate attributes."""
4681
+ body = {}
4682
+ if self.created_at is not None: body['created_at'] = self.created_at
4683
+ if self.created_by is not None: body['created_by'] = self.created_by
4684
+ if self.enabled is not None: body['enabled'] = self.enabled
4685
+ if self.name is not None: body['name'] = self.name
4686
+ if self.position is not None: body['position'] = self.position
4687
+ if self.script is not None: body['script'] = self.script
4688
+ if self.script_id is not None: body['script_id'] = self.script_id
4689
+ if self.updated_at is not None: body['updated_at'] = self.updated_at
4690
+ if self.updated_by is not None: body['updated_by'] = self.updated_by
4691
+ return body
4692
+
3838
4693
  @classmethod
3839
4694
  def from_dict(cls, d: Dict[str, any]) -> GlobalInitScriptDetailsWithContent:
3840
4695
  """Deserializes the GlobalInitScriptDetailsWithContent from a dictionary."""
@@ -3884,6 +4739,16 @@ class GlobalInitScriptUpdateRequest:
3884
4739
  if self.script_id is not None: body['script_id'] = self.script_id
3885
4740
  return body
3886
4741
 
4742
+ def as_shallow_dict(self) -> dict:
4743
+ """Serializes the GlobalInitScriptUpdateRequest into a shallow dictionary of its immediate attributes."""
4744
+ body = {}
4745
+ if self.enabled is not None: body['enabled'] = self.enabled
4746
+ if self.name is not None: body['name'] = self.name
4747
+ if self.position is not None: body['position'] = self.position
4748
+ if self.script is not None: body['script'] = self.script
4749
+ if self.script_id is not None: body['script_id'] = self.script_id
4750
+ return body
4751
+
3887
4752
  @classmethod
3888
4753
  def from_dict(cls, d: Dict[str, any]) -> GlobalInitScriptUpdateRequest:
3889
4754
  """Deserializes the GlobalInitScriptUpdateRequest from a dictionary."""
@@ -3913,6 +4778,14 @@ class InitScriptEventDetails:
3913
4778
  if self.reported_for_node is not None: body['reported_for_node'] = self.reported_for_node
3914
4779
  return body
3915
4780
 
4781
+ def as_shallow_dict(self) -> dict:
4782
+ """Serializes the InitScriptEventDetails into a shallow dictionary of its immediate attributes."""
4783
+ body = {}
4784
+ if self.cluster: body['cluster'] = self.cluster
4785
+ if self.global_: body['global'] = self.global_
4786
+ if self.reported_for_node is not None: body['reported_for_node'] = self.reported_for_node
4787
+ return body
4788
+
3916
4789
  @classmethod
3917
4790
  def from_dict(cls, d: Dict[str, any]) -> InitScriptEventDetails:
3918
4791
  """Deserializes the InitScriptEventDetails from a dictionary."""
@@ -3941,6 +4814,15 @@ class InitScriptExecutionDetails:
3941
4814
  if self.status is not None: body['status'] = self.status.value
3942
4815
  return body
3943
4816
 
4817
+ def as_shallow_dict(self) -> dict:
4818
+ """Serializes the InitScriptExecutionDetails into a shallow dictionary of its immediate attributes."""
4819
+ body = {}
4820
+ if self.error_message is not None: body['error_message'] = self.error_message
4821
+ if self.execution_duration_seconds is not None:
4822
+ body['execution_duration_seconds'] = self.execution_duration_seconds
4823
+ if self.status is not None: body['status'] = self.status
4824
+ return body
4825
+
3944
4826
  @classmethod
3945
4827
  def from_dict(cls, d: Dict[str, any]) -> InitScriptExecutionDetails:
3946
4828
  """Deserializes the InitScriptExecutionDetails from a dictionary."""
@@ -4003,6 +4885,18 @@ class InitScriptInfo:
4003
4885
  if self.workspace: body['workspace'] = self.workspace.as_dict()
4004
4886
  return body
4005
4887
 
4888
+ def as_shallow_dict(self) -> dict:
4889
+ """Serializes the InitScriptInfo into a shallow dictionary of its immediate attributes."""
4890
+ body = {}
4891
+ if self.abfss: body['abfss'] = self.abfss
4892
+ if self.dbfs: body['dbfs'] = self.dbfs
4893
+ if self.file: body['file'] = self.file
4894
+ if self.gcs: body['gcs'] = self.gcs
4895
+ if self.s3: body['s3'] = self.s3
4896
+ if self.volumes: body['volumes'] = self.volumes
4897
+ if self.workspace: body['workspace'] = self.workspace
4898
+ return body
4899
+
4006
4900
  @classmethod
4007
4901
  def from_dict(cls, d: Dict[str, any]) -> InitScriptInfo:
4008
4902
  """Deserializes the InitScriptInfo from a dictionary."""
@@ -4030,6 +4924,13 @@ class InitScriptInfoAndExecutionDetails:
4030
4924
  if self.script: body['script'] = self.script.as_dict()
4031
4925
  return body
4032
4926
 
4927
+ def as_shallow_dict(self) -> dict:
4928
+ """Serializes the InitScriptInfoAndExecutionDetails into a shallow dictionary of its immediate attributes."""
4929
+ body = {}
4930
+ if self.execution_details: body['execution_details'] = self.execution_details
4931
+ if self.script: body['script'] = self.script
4932
+ return body
4933
+
4033
4934
  @classmethod
4034
4935
  def from_dict(cls, d: Dict[str, any]) -> InitScriptInfoAndExecutionDetails:
4035
4936
  """Deserializes the InitScriptInfoAndExecutionDetails from a dictionary."""
@@ -4052,6 +4953,13 @@ class InstallLibraries:
4052
4953
  if self.libraries: body['libraries'] = [v.as_dict() for v in self.libraries]
4053
4954
  return body
4054
4955
 
4956
+ def as_shallow_dict(self) -> dict:
4957
+ """Serializes the InstallLibraries into a shallow dictionary of its immediate attributes."""
4958
+ body = {}
4959
+ if self.cluster_id is not None: body['cluster_id'] = self.cluster_id
4960
+ if self.libraries: body['libraries'] = self.libraries
4961
+ return body
4962
+
4055
4963
  @classmethod
4056
4964
  def from_dict(cls, d: Dict[str, any]) -> InstallLibraries:
4057
4965
  """Deserializes the InstallLibraries from a dictionary."""
@@ -4066,6 +4974,11 @@ class InstallLibrariesResponse:
4066
4974
  body = {}
4067
4975
  return body
4068
4976
 
4977
+ def as_shallow_dict(self) -> dict:
4978
+ """Serializes the InstallLibrariesResponse into a shallow dictionary of its immediate attributes."""
4979
+ body = {}
4980
+ return body
4981
+
4069
4982
  @classmethod
4070
4983
  def from_dict(cls, d: Dict[str, any]) -> InstallLibrariesResponse:
4071
4984
  """Deserializes the InstallLibrariesResponse from a dictionary."""
@@ -4096,6 +5009,16 @@ class InstancePoolAccessControlRequest:
4096
5009
  if self.user_name is not None: body['user_name'] = self.user_name
4097
5010
  return body
4098
5011
 
5012
+ def as_shallow_dict(self) -> dict:
5013
+ """Serializes the InstancePoolAccessControlRequest into a shallow dictionary of its immediate attributes."""
5014
+ body = {}
5015
+ if self.group_name is not None: body['group_name'] = self.group_name
5016
+ if self.permission_level is not None: body['permission_level'] = self.permission_level
5017
+ if self.service_principal_name is not None:
5018
+ body['service_principal_name'] = self.service_principal_name
5019
+ if self.user_name is not None: body['user_name'] = self.user_name
5020
+ return body
5021
+
4099
5022
  @classmethod
4100
5023
  def from_dict(cls, d: Dict[str, any]) -> InstancePoolAccessControlRequest:
4101
5024
  """Deserializes the InstancePoolAccessControlRequest from a dictionary."""
@@ -4133,6 +5056,17 @@ class InstancePoolAccessControlResponse:
4133
5056
  if self.user_name is not None: body['user_name'] = self.user_name
4134
5057
  return body
4135
5058
 
5059
+ def as_shallow_dict(self) -> dict:
5060
+ """Serializes the InstancePoolAccessControlResponse into a shallow dictionary of its immediate attributes."""
5061
+ body = {}
5062
+ if self.all_permissions: body['all_permissions'] = self.all_permissions
5063
+ if self.display_name is not None: body['display_name'] = self.display_name
5064
+ if self.group_name is not None: body['group_name'] = self.group_name
5065
+ if self.service_principal_name is not None:
5066
+ body['service_principal_name'] = self.service_principal_name
5067
+ if self.user_name is not None: body['user_name'] = self.user_name
5068
+ return body
5069
+
4136
5070
  @classmethod
4137
5071
  def from_dict(cls, d: Dict[str, any]) -> InstancePoolAccessControlResponse:
4138
5072
  """Deserializes the InstancePoolAccessControlResponse from a dictionary."""
@@ -4254,6 +5188,30 @@ class InstancePoolAndStats:
4254
5188
  if self.status: body['status'] = self.status.as_dict()
4255
5189
  return body
4256
5190
 
5191
+ def as_shallow_dict(self) -> dict:
5192
+ """Serializes the InstancePoolAndStats into a shallow dictionary of its immediate attributes."""
5193
+ body = {}
5194
+ if self.aws_attributes: body['aws_attributes'] = self.aws_attributes
5195
+ if self.azure_attributes: body['azure_attributes'] = self.azure_attributes
5196
+ if self.custom_tags: body['custom_tags'] = self.custom_tags
5197
+ if self.default_tags: body['default_tags'] = self.default_tags
5198
+ if self.disk_spec: body['disk_spec'] = self.disk_spec
5199
+ if self.enable_elastic_disk is not None: body['enable_elastic_disk'] = self.enable_elastic_disk
5200
+ if self.gcp_attributes: body['gcp_attributes'] = self.gcp_attributes
5201
+ if self.idle_instance_autotermination_minutes is not None:
5202
+ body['idle_instance_autotermination_minutes'] = self.idle_instance_autotermination_minutes
5203
+ if self.instance_pool_id is not None: body['instance_pool_id'] = self.instance_pool_id
5204
+ if self.instance_pool_name is not None: body['instance_pool_name'] = self.instance_pool_name
5205
+ if self.max_capacity is not None: body['max_capacity'] = self.max_capacity
5206
+ if self.min_idle_instances is not None: body['min_idle_instances'] = self.min_idle_instances
5207
+ if self.node_type_id is not None: body['node_type_id'] = self.node_type_id
5208
+ if self.preloaded_docker_images: body['preloaded_docker_images'] = self.preloaded_docker_images
5209
+ if self.preloaded_spark_versions: body['preloaded_spark_versions'] = self.preloaded_spark_versions
5210
+ if self.state is not None: body['state'] = self.state
5211
+ if self.stats: body['stats'] = self.stats
5212
+ if self.status: body['status'] = self.status
5213
+ return body
5214
+
4257
5215
  @classmethod
4258
5216
  def from_dict(cls, d: Dict[str, any]) -> InstancePoolAndStats:
4259
5217
  """Deserializes the InstancePoolAndStats from a dictionary."""
@@ -4313,6 +5271,15 @@ class InstancePoolAwsAttributes:
4313
5271
  if self.zone_id is not None: body['zone_id'] = self.zone_id
4314
5272
  return body
4315
5273
 
5274
+ def as_shallow_dict(self) -> dict:
5275
+ """Serializes the InstancePoolAwsAttributes into a shallow dictionary of its immediate attributes."""
5276
+ body = {}
5277
+ if self.availability is not None: body['availability'] = self.availability
5278
+ if self.spot_bid_price_percent is not None:
5279
+ body['spot_bid_price_percent'] = self.spot_bid_price_percent
5280
+ if self.zone_id is not None: body['zone_id'] = self.zone_id
5281
+ return body
5282
+
4316
5283
  @classmethod
4317
5284
  def from_dict(cls, d: Dict[str, any]) -> InstancePoolAwsAttributes:
4318
5285
  """Deserializes the InstancePoolAwsAttributes from a dictionary."""
@@ -4348,6 +5315,13 @@ class InstancePoolAzureAttributes:
4348
5315
  if self.spot_bid_max_price is not None: body['spot_bid_max_price'] = self.spot_bid_max_price
4349
5316
  return body
4350
5317
 
5318
+ def as_shallow_dict(self) -> dict:
5319
+ """Serializes the InstancePoolAzureAttributes into a shallow dictionary of its immediate attributes."""
5320
+ body = {}
5321
+ if self.availability is not None: body['availability'] = self.availability
5322
+ if self.spot_bid_max_price is not None: body['spot_bid_max_price'] = self.spot_bid_max_price
5323
+ return body
5324
+
4351
5325
  @classmethod
4352
5326
  def from_dict(cls, d: Dict[str, any]) -> InstancePoolAzureAttributes:
4353
5327
  """Deserializes the InstancePoolAzureAttributes from a dictionary."""
@@ -4399,6 +5373,14 @@ class InstancePoolGcpAttributes:
4399
5373
  if self.zone_id is not None: body['zone_id'] = self.zone_id
4400
5374
  return body
4401
5375
 
5376
+ def as_shallow_dict(self) -> dict:
5377
+ """Serializes the InstancePoolGcpAttributes into a shallow dictionary of its immediate attributes."""
5378
+ body = {}
5379
+ if self.gcp_availability is not None: body['gcp_availability'] = self.gcp_availability
5380
+ if self.local_ssd_count is not None: body['local_ssd_count'] = self.local_ssd_count
5381
+ if self.zone_id is not None: body['zone_id'] = self.zone_id
5382
+ return body
5383
+
4402
5384
  @classmethod
4403
5385
  def from_dict(cls, d: Dict[str, any]) -> InstancePoolGcpAttributes:
4404
5386
  """Deserializes the InstancePoolGcpAttributes from a dictionary."""
@@ -4424,6 +5406,14 @@ class InstancePoolPermission:
4424
5406
  if self.permission_level is not None: body['permission_level'] = self.permission_level.value
4425
5407
  return body
4426
5408
 
5409
+ def as_shallow_dict(self) -> dict:
5410
+ """Serializes the InstancePoolPermission into a shallow dictionary of its immediate attributes."""
5411
+ body = {}
5412
+ if self.inherited is not None: body['inherited'] = self.inherited
5413
+ if self.inherited_from_object: body['inherited_from_object'] = self.inherited_from_object
5414
+ if self.permission_level is not None: body['permission_level'] = self.permission_level
5415
+ return body
5416
+
4427
5417
  @classmethod
4428
5418
  def from_dict(cls, d: Dict[str, any]) -> InstancePoolPermission:
4429
5419
  """Deserializes the InstancePoolPermission from a dictionary."""
@@ -4456,6 +5446,14 @@ class InstancePoolPermissions:
4456
5446
  if self.object_type is not None: body['object_type'] = self.object_type
4457
5447
  return body
4458
5448
 
5449
+ def as_shallow_dict(self) -> dict:
5450
+ """Serializes the InstancePoolPermissions into a shallow dictionary of its immediate attributes."""
5451
+ body = {}
5452
+ if self.access_control_list: body['access_control_list'] = self.access_control_list
5453
+ if self.object_id is not None: body['object_id'] = self.object_id
5454
+ if self.object_type is not None: body['object_type'] = self.object_type
5455
+ return body
5456
+
4459
5457
  @classmethod
4460
5458
  def from_dict(cls, d: Dict[str, any]) -> InstancePoolPermissions:
4461
5459
  """Deserializes the InstancePoolPermissions from a dictionary."""
@@ -4479,6 +5477,13 @@ class InstancePoolPermissionsDescription:
4479
5477
  if self.permission_level is not None: body['permission_level'] = self.permission_level.value
4480
5478
  return body
4481
5479
 
5480
+ def as_shallow_dict(self) -> dict:
5481
+ """Serializes the InstancePoolPermissionsDescription into a shallow dictionary of its immediate attributes."""
5482
+ body = {}
5483
+ if self.description is not None: body['description'] = self.description
5484
+ if self.permission_level is not None: body['permission_level'] = self.permission_level
5485
+ return body
5486
+
4482
5487
  @classmethod
4483
5488
  def from_dict(cls, d: Dict[str, any]) -> InstancePoolPermissionsDescription:
4484
5489
  """Deserializes the InstancePoolPermissionsDescription from a dictionary."""
@@ -4501,6 +5506,13 @@ class InstancePoolPermissionsRequest:
4501
5506
  if self.instance_pool_id is not None: body['instance_pool_id'] = self.instance_pool_id
4502
5507
  return body
4503
5508
 
5509
+ def as_shallow_dict(self) -> dict:
5510
+ """Serializes the InstancePoolPermissionsRequest into a shallow dictionary of its immediate attributes."""
5511
+ body = {}
5512
+ if self.access_control_list: body['access_control_list'] = self.access_control_list
5513
+ if self.instance_pool_id is not None: body['instance_pool_id'] = self.instance_pool_id
5514
+ return body
5515
+
4504
5516
  @classmethod
4505
5517
  def from_dict(cls, d: Dict[str, any]) -> InstancePoolPermissionsRequest:
4506
5518
  """Deserializes the InstancePoolPermissionsRequest from a dictionary."""
@@ -4540,6 +5552,15 @@ class InstancePoolStats:
4540
5552
  if self.used_count is not None: body['used_count'] = self.used_count
4541
5553
  return body
4542
5554
 
5555
+ def as_shallow_dict(self) -> dict:
5556
+ """Serializes the InstancePoolStats into a shallow dictionary of its immediate attributes."""
5557
+ body = {}
5558
+ if self.idle_count is not None: body['idle_count'] = self.idle_count
5559
+ if self.pending_idle_count is not None: body['pending_idle_count'] = self.pending_idle_count
5560
+ if self.pending_used_count is not None: body['pending_used_count'] = self.pending_used_count
5561
+ if self.used_count is not None: body['used_count'] = self.used_count
5562
+ return body
5563
+
4543
5564
  @classmethod
4544
5565
  def from_dict(cls, d: Dict[str, any]) -> InstancePoolStats:
4545
5566
  """Deserializes the InstancePoolStats from a dictionary."""
@@ -4563,6 +5584,12 @@ class InstancePoolStatus:
4563
5584
  body['pending_instance_errors'] = [v.as_dict() for v in self.pending_instance_errors]
4564
5585
  return body
4565
5586
 
5587
+ def as_shallow_dict(self) -> dict:
5588
+ """Serializes the InstancePoolStatus into a shallow dictionary of its immediate attributes."""
5589
+ body = {}
5590
+ if self.pending_instance_errors: body['pending_instance_errors'] = self.pending_instance_errors
5591
+ return body
5592
+
4566
5593
  @classmethod
4567
5594
  def from_dict(cls, d: Dict[str, any]) -> InstancePoolStatus:
4568
5595
  """Deserializes the InstancePoolStatus from a dictionary."""
@@ -4598,6 +5625,15 @@ class InstanceProfile:
4598
5625
  body['is_meta_instance_profile'] = self.is_meta_instance_profile
4599
5626
  return body
4600
5627
 
5628
+ def as_shallow_dict(self) -> dict:
5629
+ """Serializes the InstanceProfile into a shallow dictionary of its immediate attributes."""
5630
+ body = {}
5631
+ if self.iam_role_arn is not None: body['iam_role_arn'] = self.iam_role_arn
5632
+ if self.instance_profile_arn is not None: body['instance_profile_arn'] = self.instance_profile_arn
5633
+ if self.is_meta_instance_profile is not None:
5634
+ body['is_meta_instance_profile'] = self.is_meta_instance_profile
5635
+ return body
5636
+
4601
5637
  @classmethod
4602
5638
  def from_dict(cls, d: Dict[str, any]) -> InstanceProfile:
4603
5639
  """Deserializes the InstanceProfile from a dictionary."""
@@ -4660,6 +5696,18 @@ class Library:
4660
5696
  if self.whl is not None: body['whl'] = self.whl
4661
5697
  return body
4662
5698
 
5699
+ def as_shallow_dict(self) -> dict:
5700
+ """Serializes the Library into a shallow dictionary of its immediate attributes."""
5701
+ body = {}
5702
+ if self.cran: body['cran'] = self.cran
5703
+ if self.egg is not None: body['egg'] = self.egg
5704
+ if self.jar is not None: body['jar'] = self.jar
5705
+ if self.maven: body['maven'] = self.maven
5706
+ if self.pypi: body['pypi'] = self.pypi
5707
+ if self.requirements is not None: body['requirements'] = self.requirements
5708
+ if self.whl is not None: body['whl'] = self.whl
5709
+ return body
5710
+
4663
5711
  @classmethod
4664
5712
  def from_dict(cls, d: Dict[str, any]) -> Library:
4665
5713
  """Deserializes the Library from a dictionary."""
@@ -4698,6 +5746,16 @@ class LibraryFullStatus:
4698
5746
  if self.status is not None: body['status'] = self.status.value
4699
5747
  return body
4700
5748
 
5749
+ def as_shallow_dict(self) -> dict:
5750
+ """Serializes the LibraryFullStatus into a shallow dictionary of its immediate attributes."""
5751
+ body = {}
5752
+ if self.is_library_for_all_clusters is not None:
5753
+ body['is_library_for_all_clusters'] = self.is_library_for_all_clusters
5754
+ if self.library: body['library'] = self.library
5755
+ if self.messages: body['messages'] = self.messages
5756
+ if self.status is not None: body['status'] = self.status
5757
+ return body
5758
+
4701
5759
  @classmethod
4702
5760
  def from_dict(cls, d: Dict[str, any]) -> LibraryFullStatus:
4703
5761
  """Deserializes the LibraryFullStatus from a dictionary."""
@@ -4731,6 +5789,12 @@ class ListAllClusterLibraryStatusesResponse:
4731
5789
  if self.statuses: body['statuses'] = [v.as_dict() for v in self.statuses]
4732
5790
  return body
4733
5791
 
5792
+ def as_shallow_dict(self) -> dict:
5793
+ """Serializes the ListAllClusterLibraryStatusesResponse into a shallow dictionary of its immediate attributes."""
5794
+ body = {}
5795
+ if self.statuses: body['statuses'] = self.statuses
5796
+ return body
5797
+
4734
5798
  @classmethod
4735
5799
  def from_dict(cls, d: Dict[str, any]) -> ListAllClusterLibraryStatusesResponse:
4736
5800
  """Deserializes the ListAllClusterLibraryStatusesResponse from a dictionary."""
@@ -4752,6 +5816,13 @@ class ListAvailableZonesResponse:
4752
5816
  if self.zones: body['zones'] = [v for v in self.zones]
4753
5817
  return body
4754
5818
 
5819
+ def as_shallow_dict(self) -> dict:
5820
+ """Serializes the ListAvailableZonesResponse into a shallow dictionary of its immediate attributes."""
5821
+ body = {}
5822
+ if self.default_zone is not None: body['default_zone'] = self.default_zone
5823
+ if self.zones: body['zones'] = self.zones
5824
+ return body
5825
+
4755
5826
  @classmethod
4756
5827
  def from_dict(cls, d: Dict[str, any]) -> ListAvailableZonesResponse:
4757
5828
  """Deserializes the ListAvailableZonesResponse from a dictionary."""
@@ -4779,6 +5850,14 @@ class ListClusterCompliancesResponse:
4779
5850
  if self.prev_page_token is not None: body['prev_page_token'] = self.prev_page_token
4780
5851
  return body
4781
5852
 
5853
+ def as_shallow_dict(self) -> dict:
5854
+ """Serializes the ListClusterCompliancesResponse into a shallow dictionary of its immediate attributes."""
5855
+ body = {}
5856
+ if self.clusters: body['clusters'] = self.clusters
5857
+ if self.next_page_token is not None: body['next_page_token'] = self.next_page_token
5858
+ if self.prev_page_token is not None: body['prev_page_token'] = self.prev_page_token
5859
+ return body
5860
+
4782
5861
  @classmethod
4783
5862
  def from_dict(cls, d: Dict[str, any]) -> ListClusterCompliancesResponse:
4784
5863
  """Deserializes the ListClusterCompliancesResponse from a dictionary."""
@@ -4810,6 +5889,15 @@ class ListClustersFilterBy:
4810
5889
  if self.policy_id is not None: body['policy_id'] = self.policy_id
4811
5890
  return body
4812
5891
 
5892
+ def as_shallow_dict(self) -> dict:
5893
+ """Serializes the ListClustersFilterBy into a shallow dictionary of its immediate attributes."""
5894
+ body = {}
5895
+ if self.cluster_sources: body['cluster_sources'] = self.cluster_sources
5896
+ if self.cluster_states: body['cluster_states'] = self.cluster_states
5897
+ if self.is_pinned is not None: body['is_pinned'] = self.is_pinned
5898
+ if self.policy_id is not None: body['policy_id'] = self.policy_id
5899
+ return body
5900
+
4813
5901
  @classmethod
4814
5902
  def from_dict(cls, d: Dict[str, any]) -> ListClustersFilterBy:
4815
5903
  """Deserializes the ListClustersFilterBy from a dictionary."""
@@ -4840,6 +5928,14 @@ class ListClustersResponse:
4840
5928
  if self.prev_page_token is not None: body['prev_page_token'] = self.prev_page_token
4841
5929
  return body
4842
5930
 
5931
+ def as_shallow_dict(self) -> dict:
5932
+ """Serializes the ListClustersResponse into a shallow dictionary of its immediate attributes."""
5933
+ body = {}
5934
+ if self.clusters: body['clusters'] = self.clusters
5935
+ if self.next_page_token is not None: body['next_page_token'] = self.next_page_token
5936
+ if self.prev_page_token is not None: body['prev_page_token'] = self.prev_page_token
5937
+ return body
5938
+
4843
5939
  @classmethod
4844
5940
  def from_dict(cls, d: Dict[str, any]) -> ListClustersResponse:
4845
5941
  """Deserializes the ListClustersResponse from a dictionary."""
@@ -4864,6 +5960,13 @@ class ListClustersSortBy:
4864
5960
  if self.field is not None: body['field'] = self.field.value
4865
5961
  return body
4866
5962
 
5963
+ def as_shallow_dict(self) -> dict:
5964
+ """Serializes the ListClustersSortBy into a shallow dictionary of its immediate attributes."""
5965
+ body = {}
5966
+ if self.direction is not None: body['direction'] = self.direction
5967
+ if self.field is not None: body['field'] = self.field
5968
+ return body
5969
+
4867
5970
  @classmethod
4868
5971
  def from_dict(cls, d: Dict[str, any]) -> ListClustersSortBy:
4869
5972
  """Deserializes the ListClustersSortBy from a dictionary."""
@@ -4896,6 +5999,12 @@ class ListGlobalInitScriptsResponse:
4896
5999
  if self.scripts: body['scripts'] = [v.as_dict() for v in self.scripts]
4897
6000
  return body
4898
6001
 
6002
+ def as_shallow_dict(self) -> dict:
6003
+ """Serializes the ListGlobalInitScriptsResponse into a shallow dictionary of its immediate attributes."""
6004
+ body = {}
6005
+ if self.scripts: body['scripts'] = self.scripts
6006
+ return body
6007
+
4899
6008
  @classmethod
4900
6009
  def from_dict(cls, d: Dict[str, any]) -> ListGlobalInitScriptsResponse:
4901
6010
  """Deserializes the ListGlobalInitScriptsResponse from a dictionary."""
@@ -4912,6 +6021,12 @@ class ListInstancePools:
4912
6021
  if self.instance_pools: body['instance_pools'] = [v.as_dict() for v in self.instance_pools]
4913
6022
  return body
4914
6023
 
6024
+ def as_shallow_dict(self) -> dict:
6025
+ """Serializes the ListInstancePools into a shallow dictionary of its immediate attributes."""
6026
+ body = {}
6027
+ if self.instance_pools: body['instance_pools'] = self.instance_pools
6028
+ return body
6029
+
4915
6030
  @classmethod
4916
6031
  def from_dict(cls, d: Dict[str, any]) -> ListInstancePools:
4917
6032
  """Deserializes the ListInstancePools from a dictionary."""
@@ -4929,6 +6044,12 @@ class ListInstanceProfilesResponse:
4929
6044
  if self.instance_profiles: body['instance_profiles'] = [v.as_dict() for v in self.instance_profiles]
4930
6045
  return body
4931
6046
 
6047
+ def as_shallow_dict(self) -> dict:
6048
+ """Serializes the ListInstanceProfilesResponse into a shallow dictionary of its immediate attributes."""
6049
+ body = {}
6050
+ if self.instance_profiles: body['instance_profiles'] = self.instance_profiles
6051
+ return body
6052
+
4932
6053
  @classmethod
4933
6054
  def from_dict(cls, d: Dict[str, any]) -> ListInstanceProfilesResponse:
4934
6055
  """Deserializes the ListInstanceProfilesResponse from a dictionary."""
@@ -4946,6 +6067,12 @@ class ListNodeTypesResponse:
4946
6067
  if self.node_types: body['node_types'] = [v.as_dict() for v in self.node_types]
4947
6068
  return body
4948
6069
 
6070
+ def as_shallow_dict(self) -> dict:
6071
+ """Serializes the ListNodeTypesResponse into a shallow dictionary of its immediate attributes."""
6072
+ body = {}
6073
+ if self.node_types: body['node_types'] = self.node_types
6074
+ return body
6075
+
4949
6076
  @classmethod
4950
6077
  def from_dict(cls, d: Dict[str, any]) -> ListNodeTypesResponse:
4951
6078
  """Deserializes the ListNodeTypesResponse from a dictionary."""
@@ -4963,6 +6090,12 @@ class ListPoliciesResponse:
4963
6090
  if self.policies: body['policies'] = [v.as_dict() for v in self.policies]
4964
6091
  return body
4965
6092
 
6093
+ def as_shallow_dict(self) -> dict:
6094
+ """Serializes the ListPoliciesResponse into a shallow dictionary of its immediate attributes."""
6095
+ body = {}
6096
+ if self.policies: body['policies'] = self.policies
6097
+ return body
6098
+
4966
6099
  @classmethod
4967
6100
  def from_dict(cls, d: Dict[str, any]) -> ListPoliciesResponse:
4968
6101
  """Deserializes the ListPoliciesResponse from a dictionary."""
@@ -4985,6 +6118,13 @@ class ListPolicyFamiliesResponse:
4985
6118
  if self.policy_families: body['policy_families'] = [v.as_dict() for v in self.policy_families]
4986
6119
  return body
4987
6120
 
6121
+ def as_shallow_dict(self) -> dict:
6122
+ """Serializes the ListPolicyFamiliesResponse into a shallow dictionary of its immediate attributes."""
6123
+ body = {}
6124
+ if self.next_page_token is not None: body['next_page_token'] = self.next_page_token
6125
+ if self.policy_families: body['policy_families'] = self.policy_families
6126
+ return body
6127
+
4988
6128
  @classmethod
4989
6129
  def from_dict(cls, d: Dict[str, any]) -> ListPolicyFamiliesResponse:
4990
6130
  """Deserializes the ListPolicyFamiliesResponse from a dictionary."""
@@ -5016,6 +6156,12 @@ class LocalFileInfo:
5016
6156
  if self.destination is not None: body['destination'] = self.destination
5017
6157
  return body
5018
6158
 
6159
+ def as_shallow_dict(self) -> dict:
6160
+ """Serializes the LocalFileInfo into a shallow dictionary of its immediate attributes."""
6161
+ body = {}
6162
+ if self.destination is not None: body['destination'] = self.destination
6163
+ return body
6164
+
5019
6165
  @classmethod
5020
6166
  def from_dict(cls, d: Dict[str, any]) -> LocalFileInfo:
5021
6167
  """Deserializes the LocalFileInfo from a dictionary."""
@@ -5039,6 +6185,15 @@ class LogAnalyticsInfo:
5039
6185
  body['log_analytics_workspace_id'] = self.log_analytics_workspace_id
5040
6186
  return body
5041
6187
 
6188
+ def as_shallow_dict(self) -> dict:
6189
+ """Serializes the LogAnalyticsInfo into a shallow dictionary of its immediate attributes."""
6190
+ body = {}
6191
+ if self.log_analytics_primary_key is not None:
6192
+ body['log_analytics_primary_key'] = self.log_analytics_primary_key
6193
+ if self.log_analytics_workspace_id is not None:
6194
+ body['log_analytics_workspace_id'] = self.log_analytics_workspace_id
6195
+ return body
6196
+
5042
6197
  @classmethod
5043
6198
  def from_dict(cls, d: Dict[str, any]) -> LogAnalyticsInfo:
5044
6199
  """Deserializes the LogAnalyticsInfo from a dictionary."""
@@ -5063,6 +6218,13 @@ class LogSyncStatus:
5063
6218
  if self.last_exception is not None: body['last_exception'] = self.last_exception
5064
6219
  return body
5065
6220
 
6221
+ def as_shallow_dict(self) -> dict:
6222
+ """Serializes the LogSyncStatus into a shallow dictionary of its immediate attributes."""
6223
+ body = {}
6224
+ if self.last_attempted is not None: body['last_attempted'] = self.last_attempted
6225
+ if self.last_exception is not None: body['last_exception'] = self.last_exception
6226
+ return body
6227
+
5066
6228
  @classmethod
5067
6229
  def from_dict(cls, d: Dict[str, any]) -> LogSyncStatus:
5068
6230
  """Deserializes the LogSyncStatus from a dictionary."""
@@ -5092,6 +6254,14 @@ class MavenLibrary:
5092
6254
  if self.repo is not None: body['repo'] = self.repo
5093
6255
  return body
5094
6256
 
6257
+ def as_shallow_dict(self) -> dict:
6258
+ """Serializes the MavenLibrary into a shallow dictionary of its immediate attributes."""
6259
+ body = {}
6260
+ if self.coordinates is not None: body['coordinates'] = self.coordinates
6261
+ if self.exclusions: body['exclusions'] = self.exclusions
6262
+ if self.repo is not None: body['repo'] = self.repo
6263
+ return body
6264
+
5095
6265
  @classmethod
5096
6266
  def from_dict(cls, d: Dict[str, any]) -> MavenLibrary:
5097
6267
  """Deserializes the MavenLibrary from a dictionary."""
@@ -5123,6 +6293,17 @@ class NodeInstanceType:
5123
6293
  if self.local_nvme_disks is not None: body['local_nvme_disks'] = self.local_nvme_disks
5124
6294
  return body
5125
6295
 
6296
+ def as_shallow_dict(self) -> dict:
6297
+ """Serializes the NodeInstanceType into a shallow dictionary of its immediate attributes."""
6298
+ body = {}
6299
+ if self.instance_type_id is not None: body['instance_type_id'] = self.instance_type_id
6300
+ if self.local_disk_size_gb is not None: body['local_disk_size_gb'] = self.local_disk_size_gb
6301
+ if self.local_disks is not None: body['local_disks'] = self.local_disks
6302
+ if self.local_nvme_disk_size_gb is not None:
6303
+ body['local_nvme_disk_size_gb'] = self.local_nvme_disk_size_gb
6304
+ if self.local_nvme_disks is not None: body['local_nvme_disks'] = self.local_nvme_disks
6305
+ return body
6306
+
5126
6307
  @classmethod
5127
6308
  def from_dict(cls, d: Dict[str, any]) -> NodeInstanceType:
5128
6309
  """Deserializes the NodeInstanceType from a dictionary."""
@@ -5217,6 +6398,34 @@ class NodeType:
5217
6398
  if self.supports_elastic_disk is not None: body['supports_elastic_disk'] = self.supports_elastic_disk
5218
6399
  return body
5219
6400
 
6401
+ def as_shallow_dict(self) -> dict:
6402
+ """Serializes the NodeType into a shallow dictionary of its immediate attributes."""
6403
+ body = {}
6404
+ if self.category is not None: body['category'] = self.category
6405
+ if self.description is not None: body['description'] = self.description
6406
+ if self.display_order is not None: body['display_order'] = self.display_order
6407
+ if self.instance_type_id is not None: body['instance_type_id'] = self.instance_type_id
6408
+ if self.is_deprecated is not None: body['is_deprecated'] = self.is_deprecated
6409
+ if self.is_encrypted_in_transit is not None:
6410
+ body['is_encrypted_in_transit'] = self.is_encrypted_in_transit
6411
+ if self.is_graviton is not None: body['is_graviton'] = self.is_graviton
6412
+ if self.is_hidden is not None: body['is_hidden'] = self.is_hidden
6413
+ if self.is_io_cache_enabled is not None: body['is_io_cache_enabled'] = self.is_io_cache_enabled
6414
+ if self.memory_mb is not None: body['memory_mb'] = self.memory_mb
6415
+ if self.node_info: body['node_info'] = self.node_info
6416
+ if self.node_instance_type: body['node_instance_type'] = self.node_instance_type
6417
+ if self.node_type_id is not None: body['node_type_id'] = self.node_type_id
6418
+ if self.num_cores is not None: body['num_cores'] = self.num_cores
6419
+ if self.num_gpus is not None: body['num_gpus'] = self.num_gpus
6420
+ if self.photon_driver_capable is not None: body['photon_driver_capable'] = self.photon_driver_capable
6421
+ if self.photon_worker_capable is not None: body['photon_worker_capable'] = self.photon_worker_capable
6422
+ if self.support_cluster_tags is not None: body['support_cluster_tags'] = self.support_cluster_tags
6423
+ if self.support_ebs_volumes is not None: body['support_ebs_volumes'] = self.support_ebs_volumes
6424
+ if self.support_port_forwarding is not None:
6425
+ body['support_port_forwarding'] = self.support_port_forwarding
6426
+ if self.supports_elastic_disk is not None: body['supports_elastic_disk'] = self.supports_elastic_disk
6427
+ return body
6428
+
5220
6429
  @classmethod
5221
6430
  def from_dict(cls, d: Dict[str, any]) -> NodeType:
5222
6431
  """Deserializes the NodeType from a dictionary."""
@@ -5256,6 +6465,13 @@ class PendingInstanceError:
5256
6465
  if self.message is not None: body['message'] = self.message
5257
6466
  return body
5258
6467
 
6468
+ def as_shallow_dict(self) -> dict:
6469
+ """Serializes the PendingInstanceError into a shallow dictionary of its immediate attributes."""
6470
+ body = {}
6471
+ if self.instance_id is not None: body['instance_id'] = self.instance_id
6472
+ if self.message is not None: body['message'] = self.message
6473
+ return body
6474
+
5259
6475
  @classmethod
5260
6476
  def from_dict(cls, d: Dict[str, any]) -> PendingInstanceError:
5261
6477
  """Deserializes the PendingInstanceError from a dictionary."""
@@ -5273,6 +6489,12 @@ class PermanentDeleteCluster:
5273
6489
  if self.cluster_id is not None: body['cluster_id'] = self.cluster_id
5274
6490
  return body
5275
6491
 
6492
+ def as_shallow_dict(self) -> dict:
6493
+ """Serializes the PermanentDeleteCluster into a shallow dictionary of its immediate attributes."""
6494
+ body = {}
6495
+ if self.cluster_id is not None: body['cluster_id'] = self.cluster_id
6496
+ return body
6497
+
5276
6498
  @classmethod
5277
6499
  def from_dict(cls, d: Dict[str, any]) -> PermanentDeleteCluster:
5278
6500
  """Deserializes the PermanentDeleteCluster from a dictionary."""
@@ -5287,6 +6509,11 @@ class PermanentDeleteClusterResponse:
5287
6509
  body = {}
5288
6510
  return body
5289
6511
 
6512
+ def as_shallow_dict(self) -> dict:
6513
+ """Serializes the PermanentDeleteClusterResponse into a shallow dictionary of its immediate attributes."""
6514
+ body = {}
6515
+ return body
6516
+
5290
6517
  @classmethod
5291
6518
  def from_dict(cls, d: Dict[str, any]) -> PermanentDeleteClusterResponse:
5292
6519
  """Deserializes the PermanentDeleteClusterResponse from a dictionary."""
@@ -5304,6 +6531,12 @@ class PinCluster:
5304
6531
  if self.cluster_id is not None: body['cluster_id'] = self.cluster_id
5305
6532
  return body
5306
6533
 
6534
+ def as_shallow_dict(self) -> dict:
6535
+ """Serializes the PinCluster into a shallow dictionary of its immediate attributes."""
6536
+ body = {}
6537
+ if self.cluster_id is not None: body['cluster_id'] = self.cluster_id
6538
+ return body
6539
+
5307
6540
  @classmethod
5308
6541
  def from_dict(cls, d: Dict[str, any]) -> PinCluster:
5309
6542
  """Deserializes the PinCluster from a dictionary."""
@@ -5318,6 +6551,11 @@ class PinClusterResponse:
5318
6551
  body = {}
5319
6552
  return body
5320
6553
 
6554
+ def as_shallow_dict(self) -> dict:
6555
+ """Serializes the PinClusterResponse into a shallow dictionary of its immediate attributes."""
6556
+ body = {}
6557
+ return body
6558
+
5321
6559
  @classmethod
5322
6560
  def from_dict(cls, d: Dict[str, any]) -> PinClusterResponse:
5323
6561
  """Deserializes the PinClusterResponse from a dictionary."""
@@ -5395,6 +6633,23 @@ class Policy:
5395
6633
  if self.policy_id is not None: body['policy_id'] = self.policy_id
5396
6634
  return body
5397
6635
 
6636
+ def as_shallow_dict(self) -> dict:
6637
+ """Serializes the Policy into a shallow dictionary of its immediate attributes."""
6638
+ body = {}
6639
+ if self.created_at_timestamp is not None: body['created_at_timestamp'] = self.created_at_timestamp
6640
+ if self.creator_user_name is not None: body['creator_user_name'] = self.creator_user_name
6641
+ if self.definition is not None: body['definition'] = self.definition
6642
+ if self.description is not None: body['description'] = self.description
6643
+ if self.is_default is not None: body['is_default'] = self.is_default
6644
+ if self.libraries: body['libraries'] = self.libraries
6645
+ if self.max_clusters_per_user is not None: body['max_clusters_per_user'] = self.max_clusters_per_user
6646
+ if self.name is not None: body['name'] = self.name
6647
+ if self.policy_family_definition_overrides is not None:
6648
+ body['policy_family_definition_overrides'] = self.policy_family_definition_overrides
6649
+ if self.policy_family_id is not None: body['policy_family_id'] = self.policy_family_id
6650
+ if self.policy_id is not None: body['policy_id'] = self.policy_id
6651
+ return body
6652
+
5398
6653
  @classmethod
5399
6654
  def from_dict(cls, d: Dict[str, any]) -> Policy:
5400
6655
  """Deserializes the Policy from a dictionary."""
@@ -5436,6 +6691,15 @@ class PolicyFamily:
5436
6691
  if self.policy_family_id is not None: body['policy_family_id'] = self.policy_family_id
5437
6692
  return body
5438
6693
 
6694
+ def as_shallow_dict(self) -> dict:
6695
+ """Serializes the PolicyFamily into a shallow dictionary of its immediate attributes."""
6696
+ body = {}
6697
+ if self.definition is not None: body['definition'] = self.definition
6698
+ if self.description is not None: body['description'] = self.description
6699
+ if self.name is not None: body['name'] = self.name
6700
+ if self.policy_family_id is not None: body['policy_family_id'] = self.policy_family_id
6701
+ return body
6702
+
5439
6703
  @classmethod
5440
6704
  def from_dict(cls, d: Dict[str, any]) -> PolicyFamily:
5441
6705
  """Deserializes the PolicyFamily from a dictionary."""
@@ -5461,6 +6725,13 @@ class PythonPyPiLibrary:
5461
6725
  if self.repo is not None: body['repo'] = self.repo
5462
6726
  return body
5463
6727
 
6728
+ def as_shallow_dict(self) -> dict:
6729
+ """Serializes the PythonPyPiLibrary into a shallow dictionary of its immediate attributes."""
6730
+ body = {}
6731
+ if self.package is not None: body['package'] = self.package
6732
+ if self.repo is not None: body['repo'] = self.repo
6733
+ return body
6734
+
5464
6735
  @classmethod
5465
6736
  def from_dict(cls, d: Dict[str, any]) -> PythonPyPiLibrary:
5466
6737
  """Deserializes the PythonPyPiLibrary from a dictionary."""
@@ -5482,6 +6753,13 @@ class RCranLibrary:
5482
6753
  if self.repo is not None: body['repo'] = self.repo
5483
6754
  return body
5484
6755
 
6756
+ def as_shallow_dict(self) -> dict:
6757
+ """Serializes the RCranLibrary into a shallow dictionary of its immediate attributes."""
6758
+ body = {}
6759
+ if self.package is not None: body['package'] = self.package
6760
+ if self.repo is not None: body['repo'] = self.repo
6761
+ return body
6762
+
5485
6763
  @classmethod
5486
6764
  def from_dict(cls, d: Dict[str, any]) -> RCranLibrary:
5487
6765
  """Deserializes the RCranLibrary from a dictionary."""
@@ -5499,6 +6777,12 @@ class RemoveInstanceProfile:
5499
6777
  if self.instance_profile_arn is not None: body['instance_profile_arn'] = self.instance_profile_arn
5500
6778
  return body
5501
6779
 
6780
+ def as_shallow_dict(self) -> dict:
6781
+ """Serializes the RemoveInstanceProfile into a shallow dictionary of its immediate attributes."""
6782
+ body = {}
6783
+ if self.instance_profile_arn is not None: body['instance_profile_arn'] = self.instance_profile_arn
6784
+ return body
6785
+
5502
6786
  @classmethod
5503
6787
  def from_dict(cls, d: Dict[str, any]) -> RemoveInstanceProfile:
5504
6788
  """Deserializes the RemoveInstanceProfile from a dictionary."""
@@ -5513,6 +6797,11 @@ class RemoveResponse:
5513
6797
  body = {}
5514
6798
  return body
5515
6799
 
6800
+ def as_shallow_dict(self) -> dict:
6801
+ """Serializes the RemoveResponse into a shallow dictionary of its immediate attributes."""
6802
+ body = {}
6803
+ return body
6804
+
5516
6805
  @classmethod
5517
6806
  def from_dict(cls, d: Dict[str, any]) -> RemoveResponse:
5518
6807
  """Deserializes the RemoveResponse from a dictionary."""
@@ -5546,6 +6835,14 @@ class ResizeCluster:
5546
6835
  if self.num_workers is not None: body['num_workers'] = self.num_workers
5547
6836
  return body
5548
6837
 
6838
+ def as_shallow_dict(self) -> dict:
6839
+ """Serializes the ResizeCluster into a shallow dictionary of its immediate attributes."""
6840
+ body = {}
6841
+ if self.autoscale: body['autoscale'] = self.autoscale
6842
+ if self.cluster_id is not None: body['cluster_id'] = self.cluster_id
6843
+ if self.num_workers is not None: body['num_workers'] = self.num_workers
6844
+ return body
6845
+
5549
6846
  @classmethod
5550
6847
  def from_dict(cls, d: Dict[str, any]) -> ResizeCluster:
5551
6848
  """Deserializes the ResizeCluster from a dictionary."""
@@ -5562,6 +6859,11 @@ class ResizeClusterResponse:
5562
6859
  body = {}
5563
6860
  return body
5564
6861
 
6862
+ def as_shallow_dict(self) -> dict:
6863
+ """Serializes the ResizeClusterResponse into a shallow dictionary of its immediate attributes."""
6864
+ body = {}
6865
+ return body
6866
+
5565
6867
  @classmethod
5566
6868
  def from_dict(cls, d: Dict[str, any]) -> ResizeClusterResponse:
5567
6869
  """Deserializes the ResizeClusterResponse from a dictionary."""
@@ -5583,6 +6885,13 @@ class RestartCluster:
5583
6885
  if self.restart_user is not None: body['restart_user'] = self.restart_user
5584
6886
  return body
5585
6887
 
6888
+ def as_shallow_dict(self) -> dict:
6889
+ """Serializes the RestartCluster into a shallow dictionary of its immediate attributes."""
6890
+ body = {}
6891
+ if self.cluster_id is not None: body['cluster_id'] = self.cluster_id
6892
+ if self.restart_user is not None: body['restart_user'] = self.restart_user
6893
+ return body
6894
+
5586
6895
  @classmethod
5587
6896
  def from_dict(cls, d: Dict[str, any]) -> RestartCluster:
5588
6897
  """Deserializes the RestartCluster from a dictionary."""
@@ -5597,6 +6906,11 @@ class RestartClusterResponse:
5597
6906
  body = {}
5598
6907
  return body
5599
6908
 
6909
+ def as_shallow_dict(self) -> dict:
6910
+ """Serializes the RestartClusterResponse into a shallow dictionary of its immediate attributes."""
6911
+ body = {}
6912
+ return body
6913
+
5600
6914
  @classmethod
5601
6915
  def from_dict(cls, d: Dict[str, any]) -> RestartClusterResponse:
5602
6916
  """Deserializes the RestartClusterResponse from a dictionary."""
@@ -5656,6 +6970,21 @@ class Results:
5656
6970
  if self.truncated is not None: body['truncated'] = self.truncated
5657
6971
  return body
5658
6972
 
6973
+ def as_shallow_dict(self) -> dict:
6974
+ """Serializes the Results into a shallow dictionary of its immediate attributes."""
6975
+ body = {}
6976
+ if self.cause is not None: body['cause'] = self.cause
6977
+ if self.data: body['data'] = self.data
6978
+ if self.file_name is not None: body['fileName'] = self.file_name
6979
+ if self.file_names: body['fileNames'] = self.file_names
6980
+ if self.is_json_schema is not None: body['isJsonSchema'] = self.is_json_schema
6981
+ if self.pos is not None: body['pos'] = self.pos
6982
+ if self.result_type is not None: body['resultType'] = self.result_type
6983
+ if self.schema: body['schema'] = self.schema
6984
+ if self.summary is not None: body['summary'] = self.summary
6985
+ if self.truncated is not None: body['truncated'] = self.truncated
6986
+ return body
6987
+
5659
6988
  @classmethod
5660
6989
  def from_dict(cls, d: Dict[str, any]) -> Results:
5661
6990
  """Deserializes the Results from a dictionary."""
@@ -5732,6 +7061,18 @@ class S3StorageInfo:
5732
7061
  if self.region is not None: body['region'] = self.region
5733
7062
  return body
5734
7063
 
7064
+ def as_shallow_dict(self) -> dict:
7065
+ """Serializes the S3StorageInfo into a shallow dictionary of its immediate attributes."""
7066
+ body = {}
7067
+ if self.canned_acl is not None: body['canned_acl'] = self.canned_acl
7068
+ if self.destination is not None: body['destination'] = self.destination
7069
+ if self.enable_encryption is not None: body['enable_encryption'] = self.enable_encryption
7070
+ if self.encryption_type is not None: body['encryption_type'] = self.encryption_type
7071
+ if self.endpoint is not None: body['endpoint'] = self.endpoint
7072
+ if self.kms_key is not None: body['kms_key'] = self.kms_key
7073
+ if self.region is not None: body['region'] = self.region
7074
+ return body
7075
+
5735
7076
  @classmethod
5736
7077
  def from_dict(cls, d: Dict[str, any]) -> S3StorageInfo:
5737
7078
  """Deserializes the S3StorageInfo from a dictionary."""
@@ -5788,6 +7129,18 @@ class SparkNode:
5788
7129
  if self.start_timestamp is not None: body['start_timestamp'] = self.start_timestamp
5789
7130
  return body
5790
7131
 
7132
+ def as_shallow_dict(self) -> dict:
7133
+ """Serializes the SparkNode into a shallow dictionary of its immediate attributes."""
7134
+ body = {}
7135
+ if self.host_private_ip is not None: body['host_private_ip'] = self.host_private_ip
7136
+ if self.instance_id is not None: body['instance_id'] = self.instance_id
7137
+ if self.node_aws_attributes: body['node_aws_attributes'] = self.node_aws_attributes
7138
+ if self.node_id is not None: body['node_id'] = self.node_id
7139
+ if self.private_ip is not None: body['private_ip'] = self.private_ip
7140
+ if self.public_dns is not None: body['public_dns'] = self.public_dns
7141
+ if self.start_timestamp is not None: body['start_timestamp'] = self.start_timestamp
7142
+ return body
7143
+
5791
7144
  @classmethod
5792
7145
  def from_dict(cls, d: Dict[str, any]) -> SparkNode:
5793
7146
  """Deserializes the SparkNode from a dictionary."""
@@ -5811,6 +7164,12 @@ class SparkNodeAwsAttributes:
5811
7164
  if self.is_spot is not None: body['is_spot'] = self.is_spot
5812
7165
  return body
5813
7166
 
7167
+ def as_shallow_dict(self) -> dict:
7168
+ """Serializes the SparkNodeAwsAttributes into a shallow dictionary of its immediate attributes."""
7169
+ body = {}
7170
+ if self.is_spot is not None: body['is_spot'] = self.is_spot
7171
+ return body
7172
+
5814
7173
  @classmethod
5815
7174
  def from_dict(cls, d: Dict[str, any]) -> SparkNodeAwsAttributes:
5816
7175
  """Deserializes the SparkNodeAwsAttributes from a dictionary."""
@@ -5835,6 +7194,13 @@ class SparkVersion:
5835
7194
  if self.name is not None: body['name'] = self.name
5836
7195
  return body
5837
7196
 
7197
+ def as_shallow_dict(self) -> dict:
7198
+ """Serializes the SparkVersion into a shallow dictionary of its immediate attributes."""
7199
+ body = {}
7200
+ if self.key is not None: body['key'] = self.key
7201
+ if self.name is not None: body['name'] = self.name
7202
+ return body
7203
+
5838
7204
  @classmethod
5839
7205
  def from_dict(cls, d: Dict[str, any]) -> SparkVersion:
5840
7206
  """Deserializes the SparkVersion from a dictionary."""
@@ -5852,6 +7218,12 @@ class StartCluster:
5852
7218
  if self.cluster_id is not None: body['cluster_id'] = self.cluster_id
5853
7219
  return body
5854
7220
 
7221
+ def as_shallow_dict(self) -> dict:
7222
+ """Serializes the StartCluster into a shallow dictionary of its immediate attributes."""
7223
+ body = {}
7224
+ if self.cluster_id is not None: body['cluster_id'] = self.cluster_id
7225
+ return body
7226
+
5855
7227
  @classmethod
5856
7228
  def from_dict(cls, d: Dict[str, any]) -> StartCluster:
5857
7229
  """Deserializes the StartCluster from a dictionary."""
@@ -5866,6 +7238,11 @@ class StartClusterResponse:
5866
7238
  body = {}
5867
7239
  return body
5868
7240
 
7241
+ def as_shallow_dict(self) -> dict:
7242
+ """Serializes the StartClusterResponse into a shallow dictionary of its immediate attributes."""
7243
+ body = {}
7244
+ return body
7245
+
5869
7246
  @classmethod
5870
7247
  def from_dict(cls, d: Dict[str, any]) -> StartClusterResponse:
5871
7248
  """Deserializes the StartClusterResponse from a dictionary."""
@@ -5904,6 +7281,14 @@ class TerminationReason:
5904
7281
  if self.type is not None: body['type'] = self.type.value
5905
7282
  return body
5906
7283
 
7284
+ def as_shallow_dict(self) -> dict:
7285
+ """Serializes the TerminationReason into a shallow dictionary of its immediate attributes."""
7286
+ body = {}
7287
+ if self.code is not None: body['code'] = self.code
7288
+ if self.parameters: body['parameters'] = self.parameters
7289
+ if self.type is not None: body['type'] = self.type
7290
+ return body
7291
+
5907
7292
  @classmethod
5908
7293
  def from_dict(cls, d: Dict[str, any]) -> TerminationReason:
5909
7294
  """Deserializes the TerminationReason from a dictionary."""
@@ -6020,6 +7405,13 @@ class UninstallLibraries:
6020
7405
  if self.libraries: body['libraries'] = [v.as_dict() for v in self.libraries]
6021
7406
  return body
6022
7407
 
7408
+ def as_shallow_dict(self) -> dict:
7409
+ """Serializes the UninstallLibraries into a shallow dictionary of its immediate attributes."""
7410
+ body = {}
7411
+ if self.cluster_id is not None: body['cluster_id'] = self.cluster_id
7412
+ if self.libraries: body['libraries'] = self.libraries
7413
+ return body
7414
+
6023
7415
  @classmethod
6024
7416
  def from_dict(cls, d: Dict[str, any]) -> UninstallLibraries:
6025
7417
  """Deserializes the UninstallLibraries from a dictionary."""
@@ -6034,6 +7426,11 @@ class UninstallLibrariesResponse:
6034
7426
  body = {}
6035
7427
  return body
6036
7428
 
7429
+ def as_shallow_dict(self) -> dict:
7430
+ """Serializes the UninstallLibrariesResponse into a shallow dictionary of its immediate attributes."""
7431
+ body = {}
7432
+ return body
7433
+
6037
7434
  @classmethod
6038
7435
  def from_dict(cls, d: Dict[str, any]) -> UninstallLibrariesResponse:
6039
7436
  """Deserializes the UninstallLibrariesResponse from a dictionary."""
@@ -6051,6 +7448,12 @@ class UnpinCluster:
6051
7448
  if self.cluster_id is not None: body['cluster_id'] = self.cluster_id
6052
7449
  return body
6053
7450
 
7451
+ def as_shallow_dict(self) -> dict:
7452
+ """Serializes the UnpinCluster into a shallow dictionary of its immediate attributes."""
7453
+ body = {}
7454
+ if self.cluster_id is not None: body['cluster_id'] = self.cluster_id
7455
+ return body
7456
+
6054
7457
  @classmethod
6055
7458
  def from_dict(cls, d: Dict[str, any]) -> UnpinCluster:
6056
7459
  """Deserializes the UnpinCluster from a dictionary."""
@@ -6065,6 +7468,11 @@ class UnpinClusterResponse:
6065
7468
  body = {}
6066
7469
  return body
6067
7470
 
7471
+ def as_shallow_dict(self) -> dict:
7472
+ """Serializes the UnpinClusterResponse into a shallow dictionary of its immediate attributes."""
7473
+ body = {}
7474
+ return body
7475
+
6068
7476
  @classmethod
6069
7477
  def from_dict(cls, d: Dict[str, any]) -> UnpinClusterResponse:
6070
7478
  """Deserializes the UnpinClusterResponse from a dictionary."""
@@ -6093,6 +7501,14 @@ class UpdateCluster:
6093
7501
  if self.update_mask is not None: body['update_mask'] = self.update_mask
6094
7502
  return body
6095
7503
 
7504
+ def as_shallow_dict(self) -> dict:
7505
+ """Serializes the UpdateCluster into a shallow dictionary of its immediate attributes."""
7506
+ body = {}
7507
+ if self.cluster: body['cluster'] = self.cluster
7508
+ if self.cluster_id is not None: body['cluster_id'] = self.cluster_id
7509
+ if self.update_mask is not None: body['update_mask'] = self.update_mask
7510
+ return body
7511
+
6096
7512
  @classmethod
6097
7513
  def from_dict(cls, d: Dict[str, any]) -> UpdateCluster:
6098
7514
  """Deserializes the UpdateCluster from a dictionary."""
@@ -6285,6 +7701,40 @@ class UpdateClusterResource:
6285
7701
  if self.workload_type: body['workload_type'] = self.workload_type.as_dict()
6286
7702
  return body
6287
7703
 
7704
+ def as_shallow_dict(self) -> dict:
7705
+ """Serializes the UpdateClusterResource into a shallow dictionary of its immediate attributes."""
7706
+ body = {}
7707
+ if self.autoscale: body['autoscale'] = self.autoscale
7708
+ if self.autotermination_minutes is not None:
7709
+ body['autotermination_minutes'] = self.autotermination_minutes
7710
+ if self.aws_attributes: body['aws_attributes'] = self.aws_attributes
7711
+ if self.azure_attributes: body['azure_attributes'] = self.azure_attributes
7712
+ if self.cluster_log_conf: body['cluster_log_conf'] = self.cluster_log_conf
7713
+ if self.cluster_name is not None: body['cluster_name'] = self.cluster_name
7714
+ if self.custom_tags: body['custom_tags'] = self.custom_tags
7715
+ if self.data_security_mode is not None: body['data_security_mode'] = self.data_security_mode
7716
+ if self.docker_image: body['docker_image'] = self.docker_image
7717
+ if self.driver_instance_pool_id is not None:
7718
+ body['driver_instance_pool_id'] = self.driver_instance_pool_id
7719
+ if self.driver_node_type_id is not None: body['driver_node_type_id'] = self.driver_node_type_id
7720
+ if self.enable_elastic_disk is not None: body['enable_elastic_disk'] = self.enable_elastic_disk
7721
+ if self.enable_local_disk_encryption is not None:
7722
+ body['enable_local_disk_encryption'] = self.enable_local_disk_encryption
7723
+ if self.gcp_attributes: body['gcp_attributes'] = self.gcp_attributes
7724
+ if self.init_scripts: body['init_scripts'] = self.init_scripts
7725
+ if self.instance_pool_id is not None: body['instance_pool_id'] = self.instance_pool_id
7726
+ if self.node_type_id is not None: body['node_type_id'] = self.node_type_id
7727
+ if self.num_workers is not None: body['num_workers'] = self.num_workers
7728
+ if self.policy_id is not None: body['policy_id'] = self.policy_id
7729
+ if self.runtime_engine is not None: body['runtime_engine'] = self.runtime_engine
7730
+ if self.single_user_name is not None: body['single_user_name'] = self.single_user_name
7731
+ if self.spark_conf: body['spark_conf'] = self.spark_conf
7732
+ if self.spark_env_vars: body['spark_env_vars'] = self.spark_env_vars
7733
+ if self.spark_version is not None: body['spark_version'] = self.spark_version
7734
+ if self.ssh_public_keys: body['ssh_public_keys'] = self.ssh_public_keys
7735
+ if self.workload_type: body['workload_type'] = self.workload_type
7736
+ return body
7737
+
6288
7738
  @classmethod
6289
7739
  def from_dict(cls, d: Dict[str, any]) -> UpdateClusterResource:
6290
7740
  """Deserializes the UpdateClusterResource from a dictionary."""
@@ -6324,6 +7774,11 @@ class UpdateClusterResponse:
6324
7774
  body = {}
6325
7775
  return body
6326
7776
 
7777
+ def as_shallow_dict(self) -> dict:
7778
+ """Serializes the UpdateClusterResponse into a shallow dictionary of its immediate attributes."""
7779
+ body = {}
7780
+ return body
7781
+
6327
7782
  @classmethod
6328
7783
  def from_dict(cls, d: Dict[str, any]) -> UpdateClusterResponse:
6329
7784
  """Deserializes the UpdateClusterResponse from a dictionary."""
@@ -6338,6 +7793,11 @@ class UpdateResponse:
6338
7793
  body = {}
6339
7794
  return body
6340
7795
 
7796
+ def as_shallow_dict(self) -> dict:
7797
+ """Serializes the UpdateResponse into a shallow dictionary of its immediate attributes."""
7798
+ body = {}
7799
+ return body
7800
+
6341
7801
  @classmethod
6342
7802
  def from_dict(cls, d: Dict[str, any]) -> UpdateResponse:
6343
7803
  """Deserializes the UpdateResponse from a dictionary."""
@@ -6355,6 +7815,12 @@ class VolumesStorageInfo:
6355
7815
  if self.destination is not None: body['destination'] = self.destination
6356
7816
  return body
6357
7817
 
7818
+ def as_shallow_dict(self) -> dict:
7819
+ """Serializes the VolumesStorageInfo into a shallow dictionary of its immediate attributes."""
7820
+ body = {}
7821
+ if self.destination is not None: body['destination'] = self.destination
7822
+ return body
7823
+
6358
7824
  @classmethod
6359
7825
  def from_dict(cls, d: Dict[str, any]) -> VolumesStorageInfo:
6360
7826
  """Deserializes the VolumesStorageInfo from a dictionary."""
@@ -6372,6 +7838,12 @@ class WorkloadType:
6372
7838
  if self.clients: body['clients'] = self.clients.as_dict()
6373
7839
  return body
6374
7840
 
7841
+ def as_shallow_dict(self) -> dict:
7842
+ """Serializes the WorkloadType into a shallow dictionary of its immediate attributes."""
7843
+ body = {}
7844
+ if self.clients: body['clients'] = self.clients
7845
+ return body
7846
+
6375
7847
  @classmethod
6376
7848
  def from_dict(cls, d: Dict[str, any]) -> WorkloadType:
6377
7849
  """Deserializes the WorkloadType from a dictionary."""
@@ -6389,6 +7861,12 @@ class WorkspaceStorageInfo:
6389
7861
  if self.destination is not None: body['destination'] = self.destination
6390
7862
  return body
6391
7863
 
7864
+ def as_shallow_dict(self) -> dict:
7865
+ """Serializes the WorkspaceStorageInfo into a shallow dictionary of its immediate attributes."""
7866
+ body = {}
7867
+ if self.destination is not None: body['destination'] = self.destination
7868
+ return body
7869
+
6392
7870
  @classmethod
6393
7871
  def from_dict(cls, d: Dict[str, any]) -> WorkspaceStorageInfo:
6394
7872
  """Deserializes the WorkspaceStorageInfo from a dictionary."""