alibabacloud-ehpcinstant20230701 1.0.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 alibabacloud-ehpcinstant20230701 might be problematic. Click here for more details.

@@ -0,0 +1,3816 @@
1
+ # -*- coding: utf-8 -*-
2
+ # This file is auto-generated, don't edit it. Thanks.
3
+ from Tea.model import TeaModel
4
+ from typing import Dict, List
5
+
6
+
7
+ class AddImageRequestContainerImageSpecRegistryCredential(TeaModel):
8
+ def __init__(
9
+ self,
10
+ password: str = None,
11
+ server: str = None,
12
+ user_name: str = None,
13
+ ):
14
+ self.password = password
15
+ self.server = server
16
+ self.user_name = user_name
17
+
18
+ def validate(self):
19
+ pass
20
+
21
+ def to_map(self):
22
+ _map = super().to_map()
23
+ if _map is not None:
24
+ return _map
25
+
26
+ result = dict()
27
+ if self.password is not None:
28
+ result['Password'] = self.password
29
+ if self.server is not None:
30
+ result['Server'] = self.server
31
+ if self.user_name is not None:
32
+ result['UserName'] = self.user_name
33
+ return result
34
+
35
+ def from_map(self, m: dict = None):
36
+ m = m or dict()
37
+ if m.get('Password') is not None:
38
+ self.password = m.get('Password')
39
+ if m.get('Server') is not None:
40
+ self.server = m.get('Server')
41
+ if m.get('UserName') is not None:
42
+ self.user_name = m.get('UserName')
43
+ return self
44
+
45
+
46
+ class AddImageRequestContainerImageSpec(TeaModel):
47
+ def __init__(
48
+ self,
49
+ is_acrenterprise: bool = None,
50
+ is_acrregistry: bool = None,
51
+ registry_credential: AddImageRequestContainerImageSpecRegistryCredential = None,
52
+ registry_cri_id: str = None,
53
+ registry_url: str = None,
54
+ ):
55
+ self.is_acrenterprise = is_acrenterprise
56
+ self.is_acrregistry = is_acrregistry
57
+ self.registry_credential = registry_credential
58
+ self.registry_cri_id = registry_cri_id
59
+ self.registry_url = registry_url
60
+
61
+ def validate(self):
62
+ if self.registry_credential:
63
+ self.registry_credential.validate()
64
+
65
+ def to_map(self):
66
+ _map = super().to_map()
67
+ if _map is not None:
68
+ return _map
69
+
70
+ result = dict()
71
+ if self.is_acrenterprise is not None:
72
+ result['IsACREnterprise'] = self.is_acrenterprise
73
+ if self.is_acrregistry is not None:
74
+ result['IsACRRegistry'] = self.is_acrregistry
75
+ if self.registry_credential is not None:
76
+ result['RegistryCredential'] = self.registry_credential.to_map()
77
+ if self.registry_cri_id is not None:
78
+ result['RegistryCriId'] = self.registry_cri_id
79
+ if self.registry_url is not None:
80
+ result['RegistryUrl'] = self.registry_url
81
+ return result
82
+
83
+ def from_map(self, m: dict = None):
84
+ m = m or dict()
85
+ if m.get('IsACREnterprise') is not None:
86
+ self.is_acrenterprise = m.get('IsACREnterprise')
87
+ if m.get('IsACRRegistry') is not None:
88
+ self.is_acrregistry = m.get('IsACRRegistry')
89
+ if m.get('RegistryCredential') is not None:
90
+ temp_model = AddImageRequestContainerImageSpecRegistryCredential()
91
+ self.registry_credential = temp_model.from_map(m['RegistryCredential'])
92
+ if m.get('RegistryCriId') is not None:
93
+ self.registry_cri_id = m.get('RegistryCriId')
94
+ if m.get('RegistryUrl') is not None:
95
+ self.registry_url = m.get('RegistryUrl')
96
+ return self
97
+
98
+
99
+ class AddImageRequestVMImageSpec(TeaModel):
100
+ def __init__(
101
+ self,
102
+ image_id: str = None,
103
+ ):
104
+ self.image_id = image_id
105
+
106
+ def validate(self):
107
+ pass
108
+
109
+ def to_map(self):
110
+ _map = super().to_map()
111
+ if _map is not None:
112
+ return _map
113
+
114
+ result = dict()
115
+ if self.image_id is not None:
116
+ result['ImageId'] = self.image_id
117
+ return result
118
+
119
+ def from_map(self, m: dict = None):
120
+ m = m or dict()
121
+ if m.get('ImageId') is not None:
122
+ self.image_id = m.get('ImageId')
123
+ return self
124
+
125
+
126
+ class AddImageRequest(TeaModel):
127
+ def __init__(
128
+ self,
129
+ container_image_spec: AddImageRequestContainerImageSpec = None,
130
+ description: str = None,
131
+ image_version: str = None,
132
+ name: str = None,
133
+ vmimage_spec: AddImageRequestVMImageSpec = None,
134
+ ):
135
+ self.container_image_spec = container_image_spec
136
+ self.description = description
137
+ self.image_version = image_version
138
+ self.name = name
139
+ self.vmimage_spec = vmimage_spec
140
+
141
+ def validate(self):
142
+ if self.container_image_spec:
143
+ self.container_image_spec.validate()
144
+ if self.vmimage_spec:
145
+ self.vmimage_spec.validate()
146
+
147
+ def to_map(self):
148
+ _map = super().to_map()
149
+ if _map is not None:
150
+ return _map
151
+
152
+ result = dict()
153
+ if self.container_image_spec is not None:
154
+ result['ContainerImageSpec'] = self.container_image_spec.to_map()
155
+ if self.description is not None:
156
+ result['Description'] = self.description
157
+ if self.image_version is not None:
158
+ result['ImageVersion'] = self.image_version
159
+ if self.name is not None:
160
+ result['Name'] = self.name
161
+ if self.vmimage_spec is not None:
162
+ result['VMImageSpec'] = self.vmimage_spec.to_map()
163
+ return result
164
+
165
+ def from_map(self, m: dict = None):
166
+ m = m or dict()
167
+ if m.get('ContainerImageSpec') is not None:
168
+ temp_model = AddImageRequestContainerImageSpec()
169
+ self.container_image_spec = temp_model.from_map(m['ContainerImageSpec'])
170
+ if m.get('Description') is not None:
171
+ self.description = m.get('Description')
172
+ if m.get('ImageVersion') is not None:
173
+ self.image_version = m.get('ImageVersion')
174
+ if m.get('Name') is not None:
175
+ self.name = m.get('Name')
176
+ if m.get('VMImageSpec') is not None:
177
+ temp_model = AddImageRequestVMImageSpec()
178
+ self.vmimage_spec = temp_model.from_map(m['VMImageSpec'])
179
+ return self
180
+
181
+
182
+ class AddImageShrinkRequest(TeaModel):
183
+ def __init__(
184
+ self,
185
+ container_image_spec_shrink: str = None,
186
+ description: str = None,
187
+ image_version: str = None,
188
+ name: str = None,
189
+ vmimage_spec_shrink: str = None,
190
+ ):
191
+ self.container_image_spec_shrink = container_image_spec_shrink
192
+ self.description = description
193
+ self.image_version = image_version
194
+ self.name = name
195
+ self.vmimage_spec_shrink = vmimage_spec_shrink
196
+
197
+ def validate(self):
198
+ pass
199
+
200
+ def to_map(self):
201
+ _map = super().to_map()
202
+ if _map is not None:
203
+ return _map
204
+
205
+ result = dict()
206
+ if self.container_image_spec_shrink is not None:
207
+ result['ContainerImageSpec'] = self.container_image_spec_shrink
208
+ if self.description is not None:
209
+ result['Description'] = self.description
210
+ if self.image_version is not None:
211
+ result['ImageVersion'] = self.image_version
212
+ if self.name is not None:
213
+ result['Name'] = self.name
214
+ if self.vmimage_spec_shrink is not None:
215
+ result['VMImageSpec'] = self.vmimage_spec_shrink
216
+ return result
217
+
218
+ def from_map(self, m: dict = None):
219
+ m = m or dict()
220
+ if m.get('ContainerImageSpec') is not None:
221
+ self.container_image_spec_shrink = m.get('ContainerImageSpec')
222
+ if m.get('Description') is not None:
223
+ self.description = m.get('Description')
224
+ if m.get('ImageVersion') is not None:
225
+ self.image_version = m.get('ImageVersion')
226
+ if m.get('Name') is not None:
227
+ self.name = m.get('Name')
228
+ if m.get('VMImageSpec') is not None:
229
+ self.vmimage_spec_shrink = m.get('VMImageSpec')
230
+ return self
231
+
232
+
233
+ class AddImageResponseBody(TeaModel):
234
+ def __init__(
235
+ self,
236
+ image_id: str = None,
237
+ request_id: str = None,
238
+ success: bool = None,
239
+ ):
240
+ self.image_id = image_id
241
+ self.request_id = request_id
242
+ self.success = success
243
+
244
+ def validate(self):
245
+ pass
246
+
247
+ def to_map(self):
248
+ _map = super().to_map()
249
+ if _map is not None:
250
+ return _map
251
+
252
+ result = dict()
253
+ if self.image_id is not None:
254
+ result['ImageId'] = self.image_id
255
+ if self.request_id is not None:
256
+ result['RequestId'] = self.request_id
257
+ if self.success is not None:
258
+ result['Success'] = self.success
259
+ return result
260
+
261
+ def from_map(self, m: dict = None):
262
+ m = m or dict()
263
+ if m.get('ImageId') is not None:
264
+ self.image_id = m.get('ImageId')
265
+ if m.get('RequestId') is not None:
266
+ self.request_id = m.get('RequestId')
267
+ if m.get('Success') is not None:
268
+ self.success = m.get('Success')
269
+ return self
270
+
271
+
272
+ class AddImageResponse(TeaModel):
273
+ def __init__(
274
+ self,
275
+ headers: Dict[str, str] = None,
276
+ status_code: int = None,
277
+ body: AddImageResponseBody = None,
278
+ ):
279
+ self.headers = headers
280
+ self.status_code = status_code
281
+ self.body = body
282
+
283
+ def validate(self):
284
+ if self.body:
285
+ self.body.validate()
286
+
287
+ def to_map(self):
288
+ _map = super().to_map()
289
+ if _map is not None:
290
+ return _map
291
+
292
+ result = dict()
293
+ if self.headers is not None:
294
+ result['headers'] = self.headers
295
+ if self.status_code is not None:
296
+ result['statusCode'] = self.status_code
297
+ if self.body is not None:
298
+ result['body'] = self.body.to_map()
299
+ return result
300
+
301
+ def from_map(self, m: dict = None):
302
+ m = m or dict()
303
+ if m.get('headers') is not None:
304
+ self.headers = m.get('headers')
305
+ if m.get('statusCode') is not None:
306
+ self.status_code = m.get('statusCode')
307
+ if m.get('body') is not None:
308
+ temp_model = AddImageResponseBody()
309
+ self.body = temp_model.from_map(m['body'])
310
+ return self
311
+
312
+
313
+ class CreateJobRequestDeploymentPolicyNetwork(TeaModel):
314
+ def __init__(
315
+ self,
316
+ vswitch: List[str] = None,
317
+ ):
318
+ self.vswitch = vswitch
319
+
320
+ def validate(self):
321
+ pass
322
+
323
+ def to_map(self):
324
+ _map = super().to_map()
325
+ if _map is not None:
326
+ return _map
327
+
328
+ result = dict()
329
+ if self.vswitch is not None:
330
+ result['Vswitch'] = self.vswitch
331
+ return result
332
+
333
+ def from_map(self, m: dict = None):
334
+ m = m or dict()
335
+ if m.get('Vswitch') is not None:
336
+ self.vswitch = m.get('Vswitch')
337
+ return self
338
+
339
+
340
+ class CreateJobRequestDeploymentPolicy(TeaModel):
341
+ def __init__(
342
+ self,
343
+ allocation_spec: str = None,
344
+ network: CreateJobRequestDeploymentPolicyNetwork = None,
345
+ ):
346
+ self.allocation_spec = allocation_spec
347
+ self.network = network
348
+
349
+ def validate(self):
350
+ if self.network:
351
+ self.network.validate()
352
+
353
+ def to_map(self):
354
+ _map = super().to_map()
355
+ if _map is not None:
356
+ return _map
357
+
358
+ result = dict()
359
+ if self.allocation_spec is not None:
360
+ result['AllocationSpec'] = self.allocation_spec
361
+ if self.network is not None:
362
+ result['Network'] = self.network.to_map()
363
+ return result
364
+
365
+ def from_map(self, m: dict = None):
366
+ m = m or dict()
367
+ if m.get('AllocationSpec') is not None:
368
+ self.allocation_spec = m.get('AllocationSpec')
369
+ if m.get('Network') is not None:
370
+ temp_model = CreateJobRequestDeploymentPolicyNetwork()
371
+ self.network = temp_model.from_map(m['Network'])
372
+ return self
373
+
374
+
375
+ class CreateJobRequestTasksExecutorPolicyArraySpec(TeaModel):
376
+ def __init__(
377
+ self,
378
+ index_end: int = None,
379
+ index_start: int = None,
380
+ index_step: int = None,
381
+ ):
382
+ self.index_end = index_end
383
+ self.index_start = index_start
384
+ self.index_step = index_step
385
+
386
+ def validate(self):
387
+ pass
388
+
389
+ def to_map(self):
390
+ _map = super().to_map()
391
+ if _map is not None:
392
+ return _map
393
+
394
+ result = dict()
395
+ if self.index_end is not None:
396
+ result['IndexEnd'] = self.index_end
397
+ if self.index_start is not None:
398
+ result['IndexStart'] = self.index_start
399
+ if self.index_step is not None:
400
+ result['IndexStep'] = self.index_step
401
+ return result
402
+
403
+ def from_map(self, m: dict = None):
404
+ m = m or dict()
405
+ if m.get('IndexEnd') is not None:
406
+ self.index_end = m.get('IndexEnd')
407
+ if m.get('IndexStart') is not None:
408
+ self.index_start = m.get('IndexStart')
409
+ if m.get('IndexStep') is not None:
410
+ self.index_step = m.get('IndexStep')
411
+ return self
412
+
413
+
414
+ class CreateJobRequestTasksExecutorPolicy(TeaModel):
415
+ def __init__(
416
+ self,
417
+ array_spec: CreateJobRequestTasksExecutorPolicyArraySpec = None,
418
+ max_count: int = None,
419
+ ):
420
+ self.array_spec = array_spec
421
+ self.max_count = max_count
422
+
423
+ def validate(self):
424
+ if self.array_spec:
425
+ self.array_spec.validate()
426
+
427
+ def to_map(self):
428
+ _map = super().to_map()
429
+ if _map is not None:
430
+ return _map
431
+
432
+ result = dict()
433
+ if self.array_spec is not None:
434
+ result['ArraySpec'] = self.array_spec.to_map()
435
+ if self.max_count is not None:
436
+ result['MaxCount'] = self.max_count
437
+ return result
438
+
439
+ def from_map(self, m: dict = None):
440
+ m = m or dict()
441
+ if m.get('ArraySpec') is not None:
442
+ temp_model = CreateJobRequestTasksExecutorPolicyArraySpec()
443
+ self.array_spec = temp_model.from_map(m['ArraySpec'])
444
+ if m.get('MaxCount') is not None:
445
+ self.max_count = m.get('MaxCount')
446
+ return self
447
+
448
+
449
+ class CreateJobRequestTasksTaskSpecResourceDisks(TeaModel):
450
+ def __init__(
451
+ self,
452
+ size: int = None,
453
+ type: str = None,
454
+ ):
455
+ self.size = size
456
+ self.type = type
457
+
458
+ def validate(self):
459
+ pass
460
+
461
+ def to_map(self):
462
+ _map = super().to_map()
463
+ if _map is not None:
464
+ return _map
465
+
466
+ result = dict()
467
+ if self.size is not None:
468
+ result['Size'] = self.size
469
+ if self.type is not None:
470
+ result['Type'] = self.type
471
+ return result
472
+
473
+ def from_map(self, m: dict = None):
474
+ m = m or dict()
475
+ if m.get('Size') is not None:
476
+ self.size = m.get('Size')
477
+ if m.get('Type') is not None:
478
+ self.type = m.get('Type')
479
+ return self
480
+
481
+
482
+ class CreateJobRequestTasksTaskSpecResource(TeaModel):
483
+ def __init__(
484
+ self,
485
+ cores: float = None,
486
+ disks: List[CreateJobRequestTasksTaskSpecResourceDisks] = None,
487
+ memory: float = None,
488
+ ):
489
+ self.cores = cores
490
+ self.disks = disks
491
+ self.memory = memory
492
+
493
+ def validate(self):
494
+ if self.disks:
495
+ for k in self.disks:
496
+ if k:
497
+ k.validate()
498
+
499
+ def to_map(self):
500
+ _map = super().to_map()
501
+ if _map is not None:
502
+ return _map
503
+
504
+ result = dict()
505
+ if self.cores is not None:
506
+ result['Cores'] = self.cores
507
+ result['Disks'] = []
508
+ if self.disks is not None:
509
+ for k in self.disks:
510
+ result['Disks'].append(k.to_map() if k else None)
511
+ if self.memory is not None:
512
+ result['Memory'] = self.memory
513
+ return result
514
+
515
+ def from_map(self, m: dict = None):
516
+ m = m or dict()
517
+ if m.get('Cores') is not None:
518
+ self.cores = m.get('Cores')
519
+ self.disks = []
520
+ if m.get('Disks') is not None:
521
+ for k in m.get('Disks'):
522
+ temp_model = CreateJobRequestTasksTaskSpecResourceDisks()
523
+ self.disks.append(temp_model.from_map(k))
524
+ if m.get('Memory') is not None:
525
+ self.memory = m.get('Memory')
526
+ return self
527
+
528
+
529
+ class CreateJobRequestTasksTaskSpecTaskExecutorContainerEnvironmentVars(TeaModel):
530
+ def __init__(
531
+ self,
532
+ name: str = None,
533
+ value: str = None,
534
+ ):
535
+ self.name = name
536
+ self.value = value
537
+
538
+ def validate(self):
539
+ pass
540
+
541
+ def to_map(self):
542
+ _map = super().to_map()
543
+ if _map is not None:
544
+ return _map
545
+
546
+ result = dict()
547
+ if self.name is not None:
548
+ result['Name'] = self.name
549
+ if self.value is not None:
550
+ result['Value'] = self.value
551
+ return result
552
+
553
+ def from_map(self, m: dict = None):
554
+ m = m or dict()
555
+ if m.get('Name') is not None:
556
+ self.name = m.get('Name')
557
+ if m.get('Value') is not None:
558
+ self.value = m.get('Value')
559
+ return self
560
+
561
+
562
+ class CreateJobRequestTasksTaskSpecTaskExecutorContainer(TeaModel):
563
+ def __init__(
564
+ self,
565
+ command: List[str] = None,
566
+ environment_vars: List[CreateJobRequestTasksTaskSpecTaskExecutorContainerEnvironmentVars] = None,
567
+ image: str = None,
568
+ working_dir: str = None,
569
+ ):
570
+ self.command = command
571
+ self.environment_vars = environment_vars
572
+ self.image = image
573
+ self.working_dir = working_dir
574
+
575
+ def validate(self):
576
+ if self.environment_vars:
577
+ for k in self.environment_vars:
578
+ if k:
579
+ k.validate()
580
+
581
+ def to_map(self):
582
+ _map = super().to_map()
583
+ if _map is not None:
584
+ return _map
585
+
586
+ result = dict()
587
+ if self.command is not None:
588
+ result['Command'] = self.command
589
+ result['EnvironmentVars'] = []
590
+ if self.environment_vars is not None:
591
+ for k in self.environment_vars:
592
+ result['EnvironmentVars'].append(k.to_map() if k else None)
593
+ if self.image is not None:
594
+ result['Image'] = self.image
595
+ if self.working_dir is not None:
596
+ result['WorkingDir'] = self.working_dir
597
+ return result
598
+
599
+ def from_map(self, m: dict = None):
600
+ m = m or dict()
601
+ if m.get('Command') is not None:
602
+ self.command = m.get('Command')
603
+ self.environment_vars = []
604
+ if m.get('EnvironmentVars') is not None:
605
+ for k in m.get('EnvironmentVars'):
606
+ temp_model = CreateJobRequestTasksTaskSpecTaskExecutorContainerEnvironmentVars()
607
+ self.environment_vars.append(temp_model.from_map(k))
608
+ if m.get('Image') is not None:
609
+ self.image = m.get('Image')
610
+ if m.get('WorkingDir') is not None:
611
+ self.working_dir = m.get('WorkingDir')
612
+ return self
613
+
614
+
615
+ class CreateJobRequestTasksTaskSpecTaskExecutorVM(TeaModel):
616
+ def __init__(
617
+ self,
618
+ image: str = None,
619
+ prolog_script: str = None,
620
+ script: str = None,
621
+ ):
622
+ self.image = image
623
+ self.prolog_script = prolog_script
624
+ self.script = script
625
+
626
+ def validate(self):
627
+ pass
628
+
629
+ def to_map(self):
630
+ _map = super().to_map()
631
+ if _map is not None:
632
+ return _map
633
+
634
+ result = dict()
635
+ if self.image is not None:
636
+ result['Image'] = self.image
637
+ if self.prolog_script is not None:
638
+ result['PrologScript'] = self.prolog_script
639
+ if self.script is not None:
640
+ result['Script'] = self.script
641
+ return result
642
+
643
+ def from_map(self, m: dict = None):
644
+ m = m or dict()
645
+ if m.get('Image') is not None:
646
+ self.image = m.get('Image')
647
+ if m.get('PrologScript') is not None:
648
+ self.prolog_script = m.get('PrologScript')
649
+ if m.get('Script') is not None:
650
+ self.script = m.get('Script')
651
+ return self
652
+
653
+
654
+ class CreateJobRequestTasksTaskSpecTaskExecutor(TeaModel):
655
+ def __init__(
656
+ self,
657
+ container: CreateJobRequestTasksTaskSpecTaskExecutorContainer = None,
658
+ vm: CreateJobRequestTasksTaskSpecTaskExecutorVM = None,
659
+ ):
660
+ self.container = container
661
+ self.vm = vm
662
+
663
+ def validate(self):
664
+ if self.container:
665
+ self.container.validate()
666
+ if self.vm:
667
+ self.vm.validate()
668
+
669
+ def to_map(self):
670
+ _map = super().to_map()
671
+ if _map is not None:
672
+ return _map
673
+
674
+ result = dict()
675
+ if self.container is not None:
676
+ result['Container'] = self.container.to_map()
677
+ if self.vm is not None:
678
+ result['VM'] = self.vm.to_map()
679
+ return result
680
+
681
+ def from_map(self, m: dict = None):
682
+ m = m or dict()
683
+ if m.get('Container') is not None:
684
+ temp_model = CreateJobRequestTasksTaskSpecTaskExecutorContainer()
685
+ self.container = temp_model.from_map(m['Container'])
686
+ if m.get('VM') is not None:
687
+ temp_model = CreateJobRequestTasksTaskSpecTaskExecutorVM()
688
+ self.vm = temp_model.from_map(m['VM'])
689
+ return self
690
+
691
+
692
+ class CreateJobRequestTasksTaskSpecVolumeMount(TeaModel):
693
+ def __init__(
694
+ self,
695
+ mount_options: str = None,
696
+ mount_path: str = None,
697
+ volume_driver: str = None,
698
+ ):
699
+ self.mount_options = mount_options
700
+ self.mount_path = mount_path
701
+ self.volume_driver = volume_driver
702
+
703
+ def validate(self):
704
+ pass
705
+
706
+ def to_map(self):
707
+ _map = super().to_map()
708
+ if _map is not None:
709
+ return _map
710
+
711
+ result = dict()
712
+ if self.mount_options is not None:
713
+ result['MountOptions'] = self.mount_options
714
+ if self.mount_path is not None:
715
+ result['MountPath'] = self.mount_path
716
+ if self.volume_driver is not None:
717
+ result['VolumeDriver'] = self.volume_driver
718
+ return result
719
+
720
+ def from_map(self, m: dict = None):
721
+ m = m or dict()
722
+ if m.get('MountOptions') is not None:
723
+ self.mount_options = m.get('MountOptions')
724
+ if m.get('MountPath') is not None:
725
+ self.mount_path = m.get('MountPath')
726
+ if m.get('VolumeDriver') is not None:
727
+ self.volume_driver = m.get('VolumeDriver')
728
+ return self
729
+
730
+
731
+ class CreateJobRequestTasksTaskSpec(TeaModel):
732
+ def __init__(
733
+ self,
734
+ resource: CreateJobRequestTasksTaskSpecResource = None,
735
+ task_executor: List[CreateJobRequestTasksTaskSpecTaskExecutor] = None,
736
+ volume_mount: List[CreateJobRequestTasksTaskSpecVolumeMount] = None,
737
+ ):
738
+ self.resource = resource
739
+ self.task_executor = task_executor
740
+ self.volume_mount = volume_mount
741
+
742
+ def validate(self):
743
+ if self.resource:
744
+ self.resource.validate()
745
+ if self.task_executor:
746
+ for k in self.task_executor:
747
+ if k:
748
+ k.validate()
749
+ if self.volume_mount:
750
+ for k in self.volume_mount:
751
+ if k:
752
+ k.validate()
753
+
754
+ def to_map(self):
755
+ _map = super().to_map()
756
+ if _map is not None:
757
+ return _map
758
+
759
+ result = dict()
760
+ if self.resource is not None:
761
+ result['Resource'] = self.resource.to_map()
762
+ result['TaskExecutor'] = []
763
+ if self.task_executor is not None:
764
+ for k in self.task_executor:
765
+ result['TaskExecutor'].append(k.to_map() if k else None)
766
+ result['VolumeMount'] = []
767
+ if self.volume_mount is not None:
768
+ for k in self.volume_mount:
769
+ result['VolumeMount'].append(k.to_map() if k else None)
770
+ return result
771
+
772
+ def from_map(self, m: dict = None):
773
+ m = m or dict()
774
+ if m.get('Resource') is not None:
775
+ temp_model = CreateJobRequestTasksTaskSpecResource()
776
+ self.resource = temp_model.from_map(m['Resource'])
777
+ self.task_executor = []
778
+ if m.get('TaskExecutor') is not None:
779
+ for k in m.get('TaskExecutor'):
780
+ temp_model = CreateJobRequestTasksTaskSpecTaskExecutor()
781
+ self.task_executor.append(temp_model.from_map(k))
782
+ self.volume_mount = []
783
+ if m.get('VolumeMount') is not None:
784
+ for k in m.get('VolumeMount'):
785
+ temp_model = CreateJobRequestTasksTaskSpecVolumeMount()
786
+ self.volume_mount.append(temp_model.from_map(k))
787
+ return self
788
+
789
+
790
+ class CreateJobRequestTasks(TeaModel):
791
+ def __init__(
792
+ self,
793
+ executor_policy: CreateJobRequestTasksExecutorPolicy = None,
794
+ task_name: str = None,
795
+ task_spec: CreateJobRequestTasksTaskSpec = None,
796
+ task_sustainable: bool = None,
797
+ ):
798
+ self.executor_policy = executor_policy
799
+ self.task_name = task_name
800
+ self.task_spec = task_spec
801
+ self.task_sustainable = task_sustainable
802
+
803
+ def validate(self):
804
+ if self.executor_policy:
805
+ self.executor_policy.validate()
806
+ if self.task_spec:
807
+ self.task_spec.validate()
808
+
809
+ def to_map(self):
810
+ _map = super().to_map()
811
+ if _map is not None:
812
+ return _map
813
+
814
+ result = dict()
815
+ if self.executor_policy is not None:
816
+ result['ExecutorPolicy'] = self.executor_policy.to_map()
817
+ if self.task_name is not None:
818
+ result['TaskName'] = self.task_name
819
+ if self.task_spec is not None:
820
+ result['TaskSpec'] = self.task_spec.to_map()
821
+ if self.task_sustainable is not None:
822
+ result['TaskSustainable'] = self.task_sustainable
823
+ return result
824
+
825
+ def from_map(self, m: dict = None):
826
+ m = m or dict()
827
+ if m.get('ExecutorPolicy') is not None:
828
+ temp_model = CreateJobRequestTasksExecutorPolicy()
829
+ self.executor_policy = temp_model.from_map(m['ExecutorPolicy'])
830
+ if m.get('TaskName') is not None:
831
+ self.task_name = m.get('TaskName')
832
+ if m.get('TaskSpec') is not None:
833
+ temp_model = CreateJobRequestTasksTaskSpec()
834
+ self.task_spec = temp_model.from_map(m['TaskSpec'])
835
+ if m.get('TaskSustainable') is not None:
836
+ self.task_sustainable = m.get('TaskSustainable')
837
+ return self
838
+
839
+
840
+ class CreateJobRequest(TeaModel):
841
+ def __init__(
842
+ self,
843
+ deployment_policy: CreateJobRequestDeploymentPolicy = None,
844
+ job_description: str = None,
845
+ job_name: str = None,
846
+ tasks: List[CreateJobRequestTasks] = None,
847
+ ):
848
+ self.deployment_policy = deployment_policy
849
+ self.job_description = job_description
850
+ self.job_name = job_name
851
+ self.tasks = tasks
852
+
853
+ def validate(self):
854
+ if self.deployment_policy:
855
+ self.deployment_policy.validate()
856
+ if self.tasks:
857
+ for k in self.tasks:
858
+ if k:
859
+ k.validate()
860
+
861
+ def to_map(self):
862
+ _map = super().to_map()
863
+ if _map is not None:
864
+ return _map
865
+
866
+ result = dict()
867
+ if self.deployment_policy is not None:
868
+ result['DeploymentPolicy'] = self.deployment_policy.to_map()
869
+ if self.job_description is not None:
870
+ result['JobDescription'] = self.job_description
871
+ if self.job_name is not None:
872
+ result['JobName'] = self.job_name
873
+ result['Tasks'] = []
874
+ if self.tasks is not None:
875
+ for k in self.tasks:
876
+ result['Tasks'].append(k.to_map() if k else None)
877
+ return result
878
+
879
+ def from_map(self, m: dict = None):
880
+ m = m or dict()
881
+ if m.get('DeploymentPolicy') is not None:
882
+ temp_model = CreateJobRequestDeploymentPolicy()
883
+ self.deployment_policy = temp_model.from_map(m['DeploymentPolicy'])
884
+ if m.get('JobDescription') is not None:
885
+ self.job_description = m.get('JobDescription')
886
+ if m.get('JobName') is not None:
887
+ self.job_name = m.get('JobName')
888
+ self.tasks = []
889
+ if m.get('Tasks') is not None:
890
+ for k in m.get('Tasks'):
891
+ temp_model = CreateJobRequestTasks()
892
+ self.tasks.append(temp_model.from_map(k))
893
+ return self
894
+
895
+
896
+ class CreateJobShrinkRequest(TeaModel):
897
+ def __init__(
898
+ self,
899
+ deployment_policy_shrink: str = None,
900
+ job_description: str = None,
901
+ job_name: str = None,
902
+ tasks_shrink: str = None,
903
+ ):
904
+ self.deployment_policy_shrink = deployment_policy_shrink
905
+ self.job_description = job_description
906
+ self.job_name = job_name
907
+ self.tasks_shrink = tasks_shrink
908
+
909
+ def validate(self):
910
+ pass
911
+
912
+ def to_map(self):
913
+ _map = super().to_map()
914
+ if _map is not None:
915
+ return _map
916
+
917
+ result = dict()
918
+ if self.deployment_policy_shrink is not None:
919
+ result['DeploymentPolicy'] = self.deployment_policy_shrink
920
+ if self.job_description is not None:
921
+ result['JobDescription'] = self.job_description
922
+ if self.job_name is not None:
923
+ result['JobName'] = self.job_name
924
+ if self.tasks_shrink is not None:
925
+ result['Tasks'] = self.tasks_shrink
926
+ return result
927
+
928
+ def from_map(self, m: dict = None):
929
+ m = m or dict()
930
+ if m.get('DeploymentPolicy') is not None:
931
+ self.deployment_policy_shrink = m.get('DeploymentPolicy')
932
+ if m.get('JobDescription') is not None:
933
+ self.job_description = m.get('JobDescription')
934
+ if m.get('JobName') is not None:
935
+ self.job_name = m.get('JobName')
936
+ if m.get('Tasks') is not None:
937
+ self.tasks_shrink = m.get('Tasks')
938
+ return self
939
+
940
+
941
+ class CreateJobResponseBody(TeaModel):
942
+ def __init__(
943
+ self,
944
+ job_id: str = None,
945
+ request_id: str = None,
946
+ ):
947
+ self.job_id = job_id
948
+ self.request_id = request_id
949
+
950
+ def validate(self):
951
+ pass
952
+
953
+ def to_map(self):
954
+ _map = super().to_map()
955
+ if _map is not None:
956
+ return _map
957
+
958
+ result = dict()
959
+ if self.job_id is not None:
960
+ result['JobId'] = self.job_id
961
+ if self.request_id is not None:
962
+ result['RequestId'] = self.request_id
963
+ return result
964
+
965
+ def from_map(self, m: dict = None):
966
+ m = m or dict()
967
+ if m.get('JobId') is not None:
968
+ self.job_id = m.get('JobId')
969
+ if m.get('RequestId') is not None:
970
+ self.request_id = m.get('RequestId')
971
+ return self
972
+
973
+
974
+ class CreateJobResponse(TeaModel):
975
+ def __init__(
976
+ self,
977
+ headers: Dict[str, str] = None,
978
+ status_code: int = None,
979
+ body: CreateJobResponseBody = None,
980
+ ):
981
+ self.headers = headers
982
+ self.status_code = status_code
983
+ self.body = body
984
+
985
+ def validate(self):
986
+ if self.body:
987
+ self.body.validate()
988
+
989
+ def to_map(self):
990
+ _map = super().to_map()
991
+ if _map is not None:
992
+ return _map
993
+
994
+ result = dict()
995
+ if self.headers is not None:
996
+ result['headers'] = self.headers
997
+ if self.status_code is not None:
998
+ result['statusCode'] = self.status_code
999
+ if self.body is not None:
1000
+ result['body'] = self.body.to_map()
1001
+ return result
1002
+
1003
+ def from_map(self, m: dict = None):
1004
+ m = m or dict()
1005
+ if m.get('headers') is not None:
1006
+ self.headers = m.get('headers')
1007
+ if m.get('statusCode') is not None:
1008
+ self.status_code = m.get('statusCode')
1009
+ if m.get('body') is not None:
1010
+ temp_model = CreateJobResponseBody()
1011
+ self.body = temp_model.from_map(m['body'])
1012
+ return self
1013
+
1014
+
1015
+ class DeleteJobsRequestJobSpecTaskSpec(TeaModel):
1016
+ def __init__(
1017
+ self,
1018
+ array_index: List[int] = None,
1019
+ task_name: str = None,
1020
+ ):
1021
+ self.array_index = array_index
1022
+ self.task_name = task_name
1023
+
1024
+ def validate(self):
1025
+ pass
1026
+
1027
+ def to_map(self):
1028
+ _map = super().to_map()
1029
+ if _map is not None:
1030
+ return _map
1031
+
1032
+ result = dict()
1033
+ if self.array_index is not None:
1034
+ result['ArrayIndex'] = self.array_index
1035
+ if self.task_name is not None:
1036
+ result['TaskName'] = self.task_name
1037
+ return result
1038
+
1039
+ def from_map(self, m: dict = None):
1040
+ m = m or dict()
1041
+ if m.get('ArrayIndex') is not None:
1042
+ self.array_index = m.get('ArrayIndex')
1043
+ if m.get('TaskName') is not None:
1044
+ self.task_name = m.get('TaskName')
1045
+ return self
1046
+
1047
+
1048
+ class DeleteJobsRequestJobSpec(TeaModel):
1049
+ def __init__(
1050
+ self,
1051
+ job_id: str = None,
1052
+ task_spec: List[DeleteJobsRequestJobSpecTaskSpec] = None,
1053
+ ):
1054
+ self.job_id = job_id
1055
+ self.task_spec = task_spec
1056
+
1057
+ def validate(self):
1058
+ if self.task_spec:
1059
+ for k in self.task_spec:
1060
+ if k:
1061
+ k.validate()
1062
+
1063
+ def to_map(self):
1064
+ _map = super().to_map()
1065
+ if _map is not None:
1066
+ return _map
1067
+
1068
+ result = dict()
1069
+ if self.job_id is not None:
1070
+ result['JobId'] = self.job_id
1071
+ result['TaskSpec'] = []
1072
+ if self.task_spec is not None:
1073
+ for k in self.task_spec:
1074
+ result['TaskSpec'].append(k.to_map() if k else None)
1075
+ return result
1076
+
1077
+ def from_map(self, m: dict = None):
1078
+ m = m or dict()
1079
+ if m.get('JobId') is not None:
1080
+ self.job_id = m.get('JobId')
1081
+ self.task_spec = []
1082
+ if m.get('TaskSpec') is not None:
1083
+ for k in m.get('TaskSpec'):
1084
+ temp_model = DeleteJobsRequestJobSpecTaskSpec()
1085
+ self.task_spec.append(temp_model.from_map(k))
1086
+ return self
1087
+
1088
+
1089
+ class DeleteJobsRequest(TeaModel):
1090
+ def __init__(
1091
+ self,
1092
+ executor_ids: List[str] = None,
1093
+ job_spec: List[DeleteJobsRequestJobSpec] = None,
1094
+ ):
1095
+ self.executor_ids = executor_ids
1096
+ self.job_spec = job_spec
1097
+
1098
+ def validate(self):
1099
+ if self.job_spec:
1100
+ for k in self.job_spec:
1101
+ if k:
1102
+ k.validate()
1103
+
1104
+ def to_map(self):
1105
+ _map = super().to_map()
1106
+ if _map is not None:
1107
+ return _map
1108
+
1109
+ result = dict()
1110
+ if self.executor_ids is not None:
1111
+ result['ExecutorIds'] = self.executor_ids
1112
+ result['JobSpec'] = []
1113
+ if self.job_spec is not None:
1114
+ for k in self.job_spec:
1115
+ result['JobSpec'].append(k.to_map() if k else None)
1116
+ return result
1117
+
1118
+ def from_map(self, m: dict = None):
1119
+ m = m or dict()
1120
+ if m.get('ExecutorIds') is not None:
1121
+ self.executor_ids = m.get('ExecutorIds')
1122
+ self.job_spec = []
1123
+ if m.get('JobSpec') is not None:
1124
+ for k in m.get('JobSpec'):
1125
+ temp_model = DeleteJobsRequestJobSpec()
1126
+ self.job_spec.append(temp_model.from_map(k))
1127
+ return self
1128
+
1129
+
1130
+ class DeleteJobsShrinkRequest(TeaModel):
1131
+ def __init__(
1132
+ self,
1133
+ executor_ids_shrink: str = None,
1134
+ job_spec_shrink: str = None,
1135
+ ):
1136
+ self.executor_ids_shrink = executor_ids_shrink
1137
+ self.job_spec_shrink = job_spec_shrink
1138
+
1139
+ def validate(self):
1140
+ pass
1141
+
1142
+ def to_map(self):
1143
+ _map = super().to_map()
1144
+ if _map is not None:
1145
+ return _map
1146
+
1147
+ result = dict()
1148
+ if self.executor_ids_shrink is not None:
1149
+ result['ExecutorIds'] = self.executor_ids_shrink
1150
+ if self.job_spec_shrink is not None:
1151
+ result['JobSpec'] = self.job_spec_shrink
1152
+ return result
1153
+
1154
+ def from_map(self, m: dict = None):
1155
+ m = m or dict()
1156
+ if m.get('ExecutorIds') is not None:
1157
+ self.executor_ids_shrink = m.get('ExecutorIds')
1158
+ if m.get('JobSpec') is not None:
1159
+ self.job_spec_shrink = m.get('JobSpec')
1160
+ return self
1161
+
1162
+
1163
+ class DeleteJobsResponseBody(TeaModel):
1164
+ def __init__(
1165
+ self,
1166
+ request_id: str = None,
1167
+ ):
1168
+ self.request_id = request_id
1169
+
1170
+ def validate(self):
1171
+ pass
1172
+
1173
+ def to_map(self):
1174
+ _map = super().to_map()
1175
+ if _map is not None:
1176
+ return _map
1177
+
1178
+ result = dict()
1179
+ if self.request_id is not None:
1180
+ result['RequestId'] = self.request_id
1181
+ return result
1182
+
1183
+ def from_map(self, m: dict = None):
1184
+ m = m or dict()
1185
+ if m.get('RequestId') is not None:
1186
+ self.request_id = m.get('RequestId')
1187
+ return self
1188
+
1189
+
1190
+ class DeleteJobsResponse(TeaModel):
1191
+ def __init__(
1192
+ self,
1193
+ headers: Dict[str, str] = None,
1194
+ status_code: int = None,
1195
+ body: DeleteJobsResponseBody = None,
1196
+ ):
1197
+ self.headers = headers
1198
+ self.status_code = status_code
1199
+ self.body = body
1200
+
1201
+ def validate(self):
1202
+ if self.body:
1203
+ self.body.validate()
1204
+
1205
+ def to_map(self):
1206
+ _map = super().to_map()
1207
+ if _map is not None:
1208
+ return _map
1209
+
1210
+ result = dict()
1211
+ if self.headers is not None:
1212
+ result['headers'] = self.headers
1213
+ if self.status_code is not None:
1214
+ result['statusCode'] = self.status_code
1215
+ if self.body is not None:
1216
+ result['body'] = self.body.to_map()
1217
+ return result
1218
+
1219
+ def from_map(self, m: dict = None):
1220
+ m = m or dict()
1221
+ if m.get('headers') is not None:
1222
+ self.headers = m.get('headers')
1223
+ if m.get('statusCode') is not None:
1224
+ self.status_code = m.get('statusCode')
1225
+ if m.get('body') is not None:
1226
+ temp_model = DeleteJobsResponseBody()
1227
+ self.body = temp_model.from_map(m['body'])
1228
+ return self
1229
+
1230
+
1231
+ class DescribeJobMetricDataRequest(TeaModel):
1232
+ def __init__(
1233
+ self,
1234
+ array_index: List[int] = None,
1235
+ job_id: str = None,
1236
+ metric_name: str = None,
1237
+ task_name: str = None,
1238
+ ):
1239
+ self.array_index = array_index
1240
+ self.job_id = job_id
1241
+ self.metric_name = metric_name
1242
+ self.task_name = task_name
1243
+
1244
+ def validate(self):
1245
+ pass
1246
+
1247
+ def to_map(self):
1248
+ _map = super().to_map()
1249
+ if _map is not None:
1250
+ return _map
1251
+
1252
+ result = dict()
1253
+ if self.array_index is not None:
1254
+ result['ArrayIndex'] = self.array_index
1255
+ if self.job_id is not None:
1256
+ result['JobId'] = self.job_id
1257
+ if self.metric_name is not None:
1258
+ result['MetricName'] = self.metric_name
1259
+ if self.task_name is not None:
1260
+ result['TaskName'] = self.task_name
1261
+ return result
1262
+
1263
+ def from_map(self, m: dict = None):
1264
+ m = m or dict()
1265
+ if m.get('ArrayIndex') is not None:
1266
+ self.array_index = m.get('ArrayIndex')
1267
+ if m.get('JobId') is not None:
1268
+ self.job_id = m.get('JobId')
1269
+ if m.get('MetricName') is not None:
1270
+ self.metric_name = m.get('MetricName')
1271
+ if m.get('TaskName') is not None:
1272
+ self.task_name = m.get('TaskName')
1273
+ return self
1274
+
1275
+
1276
+ class DescribeJobMetricDataShrinkRequest(TeaModel):
1277
+ def __init__(
1278
+ self,
1279
+ array_index_shrink: str = None,
1280
+ job_id: str = None,
1281
+ metric_name: str = None,
1282
+ task_name: str = None,
1283
+ ):
1284
+ self.array_index_shrink = array_index_shrink
1285
+ self.job_id = job_id
1286
+ self.metric_name = metric_name
1287
+ self.task_name = task_name
1288
+
1289
+ def validate(self):
1290
+ pass
1291
+
1292
+ def to_map(self):
1293
+ _map = super().to_map()
1294
+ if _map is not None:
1295
+ return _map
1296
+
1297
+ result = dict()
1298
+ if self.array_index_shrink is not None:
1299
+ result['ArrayIndex'] = self.array_index_shrink
1300
+ if self.job_id is not None:
1301
+ result['JobId'] = self.job_id
1302
+ if self.metric_name is not None:
1303
+ result['MetricName'] = self.metric_name
1304
+ if self.task_name is not None:
1305
+ result['TaskName'] = self.task_name
1306
+ return result
1307
+
1308
+ def from_map(self, m: dict = None):
1309
+ m = m or dict()
1310
+ if m.get('ArrayIndex') is not None:
1311
+ self.array_index_shrink = m.get('ArrayIndex')
1312
+ if m.get('JobId') is not None:
1313
+ self.job_id = m.get('JobId')
1314
+ if m.get('MetricName') is not None:
1315
+ self.metric_name = m.get('MetricName')
1316
+ if m.get('TaskName') is not None:
1317
+ self.task_name = m.get('TaskName')
1318
+ return self
1319
+
1320
+
1321
+ class DescribeJobMetricDataResponseBody(TeaModel):
1322
+ def __init__(
1323
+ self,
1324
+ data_points: str = None,
1325
+ period: int = None,
1326
+ request_id: str = None,
1327
+ ):
1328
+ self.data_points = data_points
1329
+ self.period = period
1330
+ self.request_id = request_id
1331
+
1332
+ def validate(self):
1333
+ pass
1334
+
1335
+ def to_map(self):
1336
+ _map = super().to_map()
1337
+ if _map is not None:
1338
+ return _map
1339
+
1340
+ result = dict()
1341
+ if self.data_points is not None:
1342
+ result['DataPoints'] = self.data_points
1343
+ if self.period is not None:
1344
+ result['Period'] = self.period
1345
+ if self.request_id is not None:
1346
+ result['RequestId'] = self.request_id
1347
+ return result
1348
+
1349
+ def from_map(self, m: dict = None):
1350
+ m = m or dict()
1351
+ if m.get('DataPoints') is not None:
1352
+ self.data_points = m.get('DataPoints')
1353
+ if m.get('Period') is not None:
1354
+ self.period = m.get('Period')
1355
+ if m.get('RequestId') is not None:
1356
+ self.request_id = m.get('RequestId')
1357
+ return self
1358
+
1359
+
1360
+ class DescribeJobMetricDataResponse(TeaModel):
1361
+ def __init__(
1362
+ self,
1363
+ headers: Dict[str, str] = None,
1364
+ status_code: int = None,
1365
+ body: DescribeJobMetricDataResponseBody = None,
1366
+ ):
1367
+ self.headers = headers
1368
+ self.status_code = status_code
1369
+ self.body = body
1370
+
1371
+ def validate(self):
1372
+ if self.body:
1373
+ self.body.validate()
1374
+
1375
+ def to_map(self):
1376
+ _map = super().to_map()
1377
+ if _map is not None:
1378
+ return _map
1379
+
1380
+ result = dict()
1381
+ if self.headers is not None:
1382
+ result['headers'] = self.headers
1383
+ if self.status_code is not None:
1384
+ result['statusCode'] = self.status_code
1385
+ if self.body is not None:
1386
+ result['body'] = self.body.to_map()
1387
+ return result
1388
+
1389
+ def from_map(self, m: dict = None):
1390
+ m = m or dict()
1391
+ if m.get('headers') is not None:
1392
+ self.headers = m.get('headers')
1393
+ if m.get('statusCode') is not None:
1394
+ self.status_code = m.get('statusCode')
1395
+ if m.get('body') is not None:
1396
+ temp_model = DescribeJobMetricDataResponseBody()
1397
+ self.body = temp_model.from_map(m['body'])
1398
+ return self
1399
+
1400
+
1401
+ class DescribeJobMetricLastRequest(TeaModel):
1402
+ def __init__(
1403
+ self,
1404
+ array_index: List[int] = None,
1405
+ job_id: str = None,
1406
+ task_name: str = None,
1407
+ ):
1408
+ self.array_index = array_index
1409
+ self.job_id = job_id
1410
+ self.task_name = task_name
1411
+
1412
+ def validate(self):
1413
+ pass
1414
+
1415
+ def to_map(self):
1416
+ _map = super().to_map()
1417
+ if _map is not None:
1418
+ return _map
1419
+
1420
+ result = dict()
1421
+ if self.array_index is not None:
1422
+ result['ArrayIndex'] = self.array_index
1423
+ if self.job_id is not None:
1424
+ result['JobId'] = self.job_id
1425
+ if self.task_name is not None:
1426
+ result['TaskName'] = self.task_name
1427
+ return result
1428
+
1429
+ def from_map(self, m: dict = None):
1430
+ m = m or dict()
1431
+ if m.get('ArrayIndex') is not None:
1432
+ self.array_index = m.get('ArrayIndex')
1433
+ if m.get('JobId') is not None:
1434
+ self.job_id = m.get('JobId')
1435
+ if m.get('TaskName') is not None:
1436
+ self.task_name = m.get('TaskName')
1437
+ return self
1438
+
1439
+
1440
+ class DescribeJobMetricLastShrinkRequest(TeaModel):
1441
+ def __init__(
1442
+ self,
1443
+ array_index_shrink: str = None,
1444
+ job_id: str = None,
1445
+ task_name: str = None,
1446
+ ):
1447
+ self.array_index_shrink = array_index_shrink
1448
+ self.job_id = job_id
1449
+ self.task_name = task_name
1450
+
1451
+ def validate(self):
1452
+ pass
1453
+
1454
+ def to_map(self):
1455
+ _map = super().to_map()
1456
+ if _map is not None:
1457
+ return _map
1458
+
1459
+ result = dict()
1460
+ if self.array_index_shrink is not None:
1461
+ result['ArrayIndex'] = self.array_index_shrink
1462
+ if self.job_id is not None:
1463
+ result['JobId'] = self.job_id
1464
+ if self.task_name is not None:
1465
+ result['TaskName'] = self.task_name
1466
+ return result
1467
+
1468
+ def from_map(self, m: dict = None):
1469
+ m = m or dict()
1470
+ if m.get('ArrayIndex') is not None:
1471
+ self.array_index_shrink = m.get('ArrayIndex')
1472
+ if m.get('JobId') is not None:
1473
+ self.job_id = m.get('JobId')
1474
+ if m.get('TaskName') is not None:
1475
+ self.task_name = m.get('TaskName')
1476
+ return self
1477
+
1478
+
1479
+ class DescribeJobMetricLastResponseBodyMetrics(TeaModel):
1480
+ def __init__(
1481
+ self,
1482
+ array_index: int = None,
1483
+ metric: str = None,
1484
+ ):
1485
+ self.array_index = array_index
1486
+ self.metric = metric
1487
+
1488
+ def validate(self):
1489
+ pass
1490
+
1491
+ def to_map(self):
1492
+ _map = super().to_map()
1493
+ if _map is not None:
1494
+ return _map
1495
+
1496
+ result = dict()
1497
+ if self.array_index is not None:
1498
+ result['ArrayIndex'] = self.array_index
1499
+ if self.metric is not None:
1500
+ result['Metric'] = self.metric
1501
+ return result
1502
+
1503
+ def from_map(self, m: dict = None):
1504
+ m = m or dict()
1505
+ if m.get('ArrayIndex') is not None:
1506
+ self.array_index = m.get('ArrayIndex')
1507
+ if m.get('Metric') is not None:
1508
+ self.metric = m.get('Metric')
1509
+ return self
1510
+
1511
+
1512
+ class DescribeJobMetricLastResponseBody(TeaModel):
1513
+ def __init__(
1514
+ self,
1515
+ metrics: List[DescribeJobMetricLastResponseBodyMetrics] = None,
1516
+ request_id: str = None,
1517
+ ):
1518
+ self.metrics = metrics
1519
+ self.request_id = request_id
1520
+
1521
+ def validate(self):
1522
+ if self.metrics:
1523
+ for k in self.metrics:
1524
+ if k:
1525
+ k.validate()
1526
+
1527
+ def to_map(self):
1528
+ _map = super().to_map()
1529
+ if _map is not None:
1530
+ return _map
1531
+
1532
+ result = dict()
1533
+ result['Metrics'] = []
1534
+ if self.metrics is not None:
1535
+ for k in self.metrics:
1536
+ result['Metrics'].append(k.to_map() if k else None)
1537
+ if self.request_id is not None:
1538
+ result['RequestId'] = self.request_id
1539
+ return result
1540
+
1541
+ def from_map(self, m: dict = None):
1542
+ m = m or dict()
1543
+ self.metrics = []
1544
+ if m.get('Metrics') is not None:
1545
+ for k in m.get('Metrics'):
1546
+ temp_model = DescribeJobMetricLastResponseBodyMetrics()
1547
+ self.metrics.append(temp_model.from_map(k))
1548
+ if m.get('RequestId') is not None:
1549
+ self.request_id = m.get('RequestId')
1550
+ return self
1551
+
1552
+
1553
+ class DescribeJobMetricLastResponse(TeaModel):
1554
+ def __init__(
1555
+ self,
1556
+ headers: Dict[str, str] = None,
1557
+ status_code: int = None,
1558
+ body: DescribeJobMetricLastResponseBody = None,
1559
+ ):
1560
+ self.headers = headers
1561
+ self.status_code = status_code
1562
+ self.body = body
1563
+
1564
+ def validate(self):
1565
+ if self.body:
1566
+ self.body.validate()
1567
+
1568
+ def to_map(self):
1569
+ _map = super().to_map()
1570
+ if _map is not None:
1571
+ return _map
1572
+
1573
+ result = dict()
1574
+ if self.headers is not None:
1575
+ result['headers'] = self.headers
1576
+ if self.status_code is not None:
1577
+ result['statusCode'] = self.status_code
1578
+ if self.body is not None:
1579
+ result['body'] = self.body.to_map()
1580
+ return result
1581
+
1582
+ def from_map(self, m: dict = None):
1583
+ m = m or dict()
1584
+ if m.get('headers') is not None:
1585
+ self.headers = m.get('headers')
1586
+ if m.get('statusCode') is not None:
1587
+ self.status_code = m.get('statusCode')
1588
+ if m.get('body') is not None:
1589
+ temp_model = DescribeJobMetricLastResponseBody()
1590
+ self.body = temp_model.from_map(m['body'])
1591
+ return self
1592
+
1593
+
1594
+ class GetImageRequest(TeaModel):
1595
+ def __init__(
1596
+ self,
1597
+ image_id: str = None,
1598
+ ):
1599
+ self.image_id = image_id
1600
+
1601
+ def validate(self):
1602
+ pass
1603
+
1604
+ def to_map(self):
1605
+ _map = super().to_map()
1606
+ if _map is not None:
1607
+ return _map
1608
+
1609
+ result = dict()
1610
+ if self.image_id is not None:
1611
+ result['ImageId'] = self.image_id
1612
+ return result
1613
+
1614
+ def from_map(self, m: dict = None):
1615
+ m = m or dict()
1616
+ if m.get('ImageId') is not None:
1617
+ self.image_id = m.get('ImageId')
1618
+ return self
1619
+
1620
+
1621
+ class GetImageResponseBodyImageContainerImageSpecRegistryCredential(TeaModel):
1622
+ def __init__(
1623
+ self,
1624
+ password: str = None,
1625
+ server: str = None,
1626
+ user_name: str = None,
1627
+ ):
1628
+ self.password = password
1629
+ self.server = server
1630
+ self.user_name = user_name
1631
+
1632
+ def validate(self):
1633
+ pass
1634
+
1635
+ def to_map(self):
1636
+ _map = super().to_map()
1637
+ if _map is not None:
1638
+ return _map
1639
+
1640
+ result = dict()
1641
+ if self.password is not None:
1642
+ result['Password'] = self.password
1643
+ if self.server is not None:
1644
+ result['Server'] = self.server
1645
+ if self.user_name is not None:
1646
+ result['UserName'] = self.user_name
1647
+ return result
1648
+
1649
+ def from_map(self, m: dict = None):
1650
+ m = m or dict()
1651
+ if m.get('Password') is not None:
1652
+ self.password = m.get('Password')
1653
+ if m.get('Server') is not None:
1654
+ self.server = m.get('Server')
1655
+ if m.get('UserName') is not None:
1656
+ self.user_name = m.get('UserName')
1657
+ return self
1658
+
1659
+
1660
+ class GetImageResponseBodyImageContainerImageSpec(TeaModel):
1661
+ def __init__(
1662
+ self,
1663
+ is_acrenterprise: bool = None,
1664
+ is_acrregistry: bool = None,
1665
+ registry_credential: GetImageResponseBodyImageContainerImageSpecRegistryCredential = None,
1666
+ registry_cri_id: str = None,
1667
+ registry_url: str = None,
1668
+ ):
1669
+ self.is_acrenterprise = is_acrenterprise
1670
+ self.is_acrregistry = is_acrregistry
1671
+ self.registry_credential = registry_credential
1672
+ self.registry_cri_id = registry_cri_id
1673
+ self.registry_url = registry_url
1674
+
1675
+ def validate(self):
1676
+ if self.registry_credential:
1677
+ self.registry_credential.validate()
1678
+
1679
+ def to_map(self):
1680
+ _map = super().to_map()
1681
+ if _map is not None:
1682
+ return _map
1683
+
1684
+ result = dict()
1685
+ if self.is_acrenterprise is not None:
1686
+ result['IsACREnterprise'] = self.is_acrenterprise
1687
+ if self.is_acrregistry is not None:
1688
+ result['IsACRRegistry'] = self.is_acrregistry
1689
+ if self.registry_credential is not None:
1690
+ result['RegistryCredential'] = self.registry_credential.to_map()
1691
+ if self.registry_cri_id is not None:
1692
+ result['RegistryCriId'] = self.registry_cri_id
1693
+ if self.registry_url is not None:
1694
+ result['RegistryUrl'] = self.registry_url
1695
+ return result
1696
+
1697
+ def from_map(self, m: dict = None):
1698
+ m = m or dict()
1699
+ if m.get('IsACREnterprise') is not None:
1700
+ self.is_acrenterprise = m.get('IsACREnterprise')
1701
+ if m.get('IsACRRegistry') is not None:
1702
+ self.is_acrregistry = m.get('IsACRRegistry')
1703
+ if m.get('RegistryCredential') is not None:
1704
+ temp_model = GetImageResponseBodyImageContainerImageSpecRegistryCredential()
1705
+ self.registry_credential = temp_model.from_map(m['RegistryCredential'])
1706
+ if m.get('RegistryCriId') is not None:
1707
+ self.registry_cri_id = m.get('RegistryCriId')
1708
+ if m.get('RegistryUrl') is not None:
1709
+ self.registry_url = m.get('RegistryUrl')
1710
+ return self
1711
+
1712
+
1713
+ class GetImageResponseBodyImageVMImageSpec(TeaModel):
1714
+ def __init__(
1715
+ self,
1716
+ architecture: str = None,
1717
+ image_id: str = None,
1718
+ os_tag: str = None,
1719
+ platform: str = None,
1720
+ ):
1721
+ self.architecture = architecture
1722
+ self.image_id = image_id
1723
+ self.os_tag = os_tag
1724
+ self.platform = platform
1725
+
1726
+ def validate(self):
1727
+ pass
1728
+
1729
+ def to_map(self):
1730
+ _map = super().to_map()
1731
+ if _map is not None:
1732
+ return _map
1733
+
1734
+ result = dict()
1735
+ if self.architecture is not None:
1736
+ result['Architecture'] = self.architecture
1737
+ if self.image_id is not None:
1738
+ result['ImageId'] = self.image_id
1739
+ if self.os_tag is not None:
1740
+ result['OsTag'] = self.os_tag
1741
+ if self.platform is not None:
1742
+ result['Platform'] = self.platform
1743
+ return result
1744
+
1745
+ def from_map(self, m: dict = None):
1746
+ m = m or dict()
1747
+ if m.get('Architecture') is not None:
1748
+ self.architecture = m.get('Architecture')
1749
+ if m.get('ImageId') is not None:
1750
+ self.image_id = m.get('ImageId')
1751
+ if m.get('OsTag') is not None:
1752
+ self.os_tag = m.get('OsTag')
1753
+ if m.get('Platform') is not None:
1754
+ self.platform = m.get('Platform')
1755
+ return self
1756
+
1757
+
1758
+ class GetImageResponseBodyImage(TeaModel):
1759
+ def __init__(
1760
+ self,
1761
+ container_image_spec: GetImageResponseBodyImageContainerImageSpec = None,
1762
+ create_time: str = None,
1763
+ description: str = None,
1764
+ image_type: str = None,
1765
+ name: str = None,
1766
+ size: str = None,
1767
+ vmimage_spec: GetImageResponseBodyImageVMImageSpec = None,
1768
+ version: str = None,
1769
+ ):
1770
+ self.container_image_spec = container_image_spec
1771
+ self.create_time = create_time
1772
+ self.description = description
1773
+ self.image_type = image_type
1774
+ self.name = name
1775
+ self.size = size
1776
+ self.vmimage_spec = vmimage_spec
1777
+ self.version = version
1778
+
1779
+ def validate(self):
1780
+ if self.container_image_spec:
1781
+ self.container_image_spec.validate()
1782
+ if self.vmimage_spec:
1783
+ self.vmimage_spec.validate()
1784
+
1785
+ def to_map(self):
1786
+ _map = super().to_map()
1787
+ if _map is not None:
1788
+ return _map
1789
+
1790
+ result = dict()
1791
+ if self.container_image_spec is not None:
1792
+ result['ContainerImageSpec'] = self.container_image_spec.to_map()
1793
+ if self.create_time is not None:
1794
+ result['CreateTime'] = self.create_time
1795
+ if self.description is not None:
1796
+ result['Description'] = self.description
1797
+ if self.image_type is not None:
1798
+ result['ImageType'] = self.image_type
1799
+ if self.name is not None:
1800
+ result['Name'] = self.name
1801
+ if self.size is not None:
1802
+ result['Size'] = self.size
1803
+ if self.vmimage_spec is not None:
1804
+ result['VMImageSpec'] = self.vmimage_spec.to_map()
1805
+ if self.version is not None:
1806
+ result['Version'] = self.version
1807
+ return result
1808
+
1809
+ def from_map(self, m: dict = None):
1810
+ m = m or dict()
1811
+ if m.get('ContainerImageSpec') is not None:
1812
+ temp_model = GetImageResponseBodyImageContainerImageSpec()
1813
+ self.container_image_spec = temp_model.from_map(m['ContainerImageSpec'])
1814
+ if m.get('CreateTime') is not None:
1815
+ self.create_time = m.get('CreateTime')
1816
+ if m.get('Description') is not None:
1817
+ self.description = m.get('Description')
1818
+ if m.get('ImageType') is not None:
1819
+ self.image_type = m.get('ImageType')
1820
+ if m.get('Name') is not None:
1821
+ self.name = m.get('Name')
1822
+ if m.get('Size') is not None:
1823
+ self.size = m.get('Size')
1824
+ if m.get('VMImageSpec') is not None:
1825
+ temp_model = GetImageResponseBodyImageVMImageSpec()
1826
+ self.vmimage_spec = temp_model.from_map(m['VMImageSpec'])
1827
+ if m.get('Version') is not None:
1828
+ self.version = m.get('Version')
1829
+ return self
1830
+
1831
+
1832
+ class GetImageResponseBody(TeaModel):
1833
+ def __init__(
1834
+ self,
1835
+ image: GetImageResponseBodyImage = None,
1836
+ request_id: str = None,
1837
+ success: bool = None,
1838
+ total_count: int = None,
1839
+ ):
1840
+ self.image = image
1841
+ self.request_id = request_id
1842
+ self.success = success
1843
+ self.total_count = total_count
1844
+
1845
+ def validate(self):
1846
+ if self.image:
1847
+ self.image.validate()
1848
+
1849
+ def to_map(self):
1850
+ _map = super().to_map()
1851
+ if _map is not None:
1852
+ return _map
1853
+
1854
+ result = dict()
1855
+ if self.image is not None:
1856
+ result['Image'] = self.image.to_map()
1857
+ if self.request_id is not None:
1858
+ result['RequestId'] = self.request_id
1859
+ if self.success is not None:
1860
+ result['Success'] = self.success
1861
+ if self.total_count is not None:
1862
+ result['TotalCount'] = self.total_count
1863
+ return result
1864
+
1865
+ def from_map(self, m: dict = None):
1866
+ m = m or dict()
1867
+ if m.get('Image') is not None:
1868
+ temp_model = GetImageResponseBodyImage()
1869
+ self.image = temp_model.from_map(m['Image'])
1870
+ if m.get('RequestId') is not None:
1871
+ self.request_id = m.get('RequestId')
1872
+ if m.get('Success') is not None:
1873
+ self.success = m.get('Success')
1874
+ if m.get('TotalCount') is not None:
1875
+ self.total_count = m.get('TotalCount')
1876
+ return self
1877
+
1878
+
1879
+ class GetImageResponse(TeaModel):
1880
+ def __init__(
1881
+ self,
1882
+ headers: Dict[str, str] = None,
1883
+ status_code: int = None,
1884
+ body: GetImageResponseBody = None,
1885
+ ):
1886
+ self.headers = headers
1887
+ self.status_code = status_code
1888
+ self.body = body
1889
+
1890
+ def validate(self):
1891
+ if self.body:
1892
+ self.body.validate()
1893
+
1894
+ def to_map(self):
1895
+ _map = super().to_map()
1896
+ if _map is not None:
1897
+ return _map
1898
+
1899
+ result = dict()
1900
+ if self.headers is not None:
1901
+ result['headers'] = self.headers
1902
+ if self.status_code is not None:
1903
+ result['statusCode'] = self.status_code
1904
+ if self.body is not None:
1905
+ result['body'] = self.body.to_map()
1906
+ return result
1907
+
1908
+ def from_map(self, m: dict = None):
1909
+ m = m or dict()
1910
+ if m.get('headers') is not None:
1911
+ self.headers = m.get('headers')
1912
+ if m.get('statusCode') is not None:
1913
+ self.status_code = m.get('statusCode')
1914
+ if m.get('body') is not None:
1915
+ temp_model = GetImageResponseBody()
1916
+ self.body = temp_model.from_map(m['body'])
1917
+ return self
1918
+
1919
+
1920
+ class GetJobRequest(TeaModel):
1921
+ def __init__(
1922
+ self,
1923
+ job_id: str = None,
1924
+ ):
1925
+ self.job_id = job_id
1926
+
1927
+ def validate(self):
1928
+ pass
1929
+
1930
+ def to_map(self):
1931
+ _map = super().to_map()
1932
+ if _map is not None:
1933
+ return _map
1934
+
1935
+ result = dict()
1936
+ if self.job_id is not None:
1937
+ result['JobId'] = self.job_id
1938
+ return result
1939
+
1940
+ def from_map(self, m: dict = None):
1941
+ m = m or dict()
1942
+ if m.get('JobId') is not None:
1943
+ self.job_id = m.get('JobId')
1944
+ return self
1945
+
1946
+
1947
+ class GetJobResponseBodyJobInfoDeploymentPolicyNetwork(TeaModel):
1948
+ def __init__(
1949
+ self,
1950
+ vswitch: List[str] = None,
1951
+ ):
1952
+ self.vswitch = vswitch
1953
+
1954
+ def validate(self):
1955
+ pass
1956
+
1957
+ def to_map(self):
1958
+ _map = super().to_map()
1959
+ if _map is not None:
1960
+ return _map
1961
+
1962
+ result = dict()
1963
+ if self.vswitch is not None:
1964
+ result['Vswitch'] = self.vswitch
1965
+ return result
1966
+
1967
+ def from_map(self, m: dict = None):
1968
+ m = m or dict()
1969
+ if m.get('Vswitch') is not None:
1970
+ self.vswitch = m.get('Vswitch')
1971
+ return self
1972
+
1973
+
1974
+ class GetJobResponseBodyJobInfoDeploymentPolicy(TeaModel):
1975
+ def __init__(
1976
+ self,
1977
+ allocation_spec: str = None,
1978
+ network: GetJobResponseBodyJobInfoDeploymentPolicyNetwork = None,
1979
+ ):
1980
+ self.allocation_spec = allocation_spec
1981
+ self.network = network
1982
+
1983
+ def validate(self):
1984
+ if self.network:
1985
+ self.network.validate()
1986
+
1987
+ def to_map(self):
1988
+ _map = super().to_map()
1989
+ if _map is not None:
1990
+ return _map
1991
+
1992
+ result = dict()
1993
+ if self.allocation_spec is not None:
1994
+ result['AllocationSpec'] = self.allocation_spec
1995
+ if self.network is not None:
1996
+ result['Network'] = self.network.to_map()
1997
+ return result
1998
+
1999
+ def from_map(self, m: dict = None):
2000
+ m = m or dict()
2001
+ if m.get('AllocationSpec') is not None:
2002
+ self.allocation_spec = m.get('AllocationSpec')
2003
+ if m.get('Network') is not None:
2004
+ temp_model = GetJobResponseBodyJobInfoDeploymentPolicyNetwork()
2005
+ self.network = temp_model.from_map(m['Network'])
2006
+ return self
2007
+
2008
+
2009
+ class GetJobResponseBodyJobInfoTasksExecutorPolicyArraySpec(TeaModel):
2010
+ def __init__(
2011
+ self,
2012
+ index_end: int = None,
2013
+ index_start: int = None,
2014
+ index_step: int = None,
2015
+ ):
2016
+ self.index_end = index_end
2017
+ self.index_start = index_start
2018
+ self.index_step = index_step
2019
+
2020
+ def validate(self):
2021
+ pass
2022
+
2023
+ def to_map(self):
2024
+ _map = super().to_map()
2025
+ if _map is not None:
2026
+ return _map
2027
+
2028
+ result = dict()
2029
+ if self.index_end is not None:
2030
+ result['IndexEnd'] = self.index_end
2031
+ if self.index_start is not None:
2032
+ result['IndexStart'] = self.index_start
2033
+ if self.index_step is not None:
2034
+ result['IndexStep'] = self.index_step
2035
+ return result
2036
+
2037
+ def from_map(self, m: dict = None):
2038
+ m = m or dict()
2039
+ if m.get('IndexEnd') is not None:
2040
+ self.index_end = m.get('IndexEnd')
2041
+ if m.get('IndexStart') is not None:
2042
+ self.index_start = m.get('IndexStart')
2043
+ if m.get('IndexStep') is not None:
2044
+ self.index_step = m.get('IndexStep')
2045
+ return self
2046
+
2047
+
2048
+ class GetJobResponseBodyJobInfoTasksExecutorPolicy(TeaModel):
2049
+ def __init__(
2050
+ self,
2051
+ array_spec: GetJobResponseBodyJobInfoTasksExecutorPolicyArraySpec = None,
2052
+ max_count: int = None,
2053
+ ):
2054
+ self.array_spec = array_spec
2055
+ self.max_count = max_count
2056
+
2057
+ def validate(self):
2058
+ if self.array_spec:
2059
+ self.array_spec.validate()
2060
+
2061
+ def to_map(self):
2062
+ _map = super().to_map()
2063
+ if _map is not None:
2064
+ return _map
2065
+
2066
+ result = dict()
2067
+ if self.array_spec is not None:
2068
+ result['ArraySpec'] = self.array_spec.to_map()
2069
+ if self.max_count is not None:
2070
+ result['MaxCount'] = self.max_count
2071
+ return result
2072
+
2073
+ def from_map(self, m: dict = None):
2074
+ m = m or dict()
2075
+ if m.get('ArraySpec') is not None:
2076
+ temp_model = GetJobResponseBodyJobInfoTasksExecutorPolicyArraySpec()
2077
+ self.array_spec = temp_model.from_map(m['ArraySpec'])
2078
+ if m.get('MaxCount') is not None:
2079
+ self.max_count = m.get('MaxCount')
2080
+ return self
2081
+
2082
+
2083
+ class GetJobResponseBodyJobInfoTasksExecutorStatus(TeaModel):
2084
+ def __init__(
2085
+ self,
2086
+ array_id: int = None,
2087
+ create_time: str = None,
2088
+ end_time: str = None,
2089
+ start_time: str = None,
2090
+ status: str = None,
2091
+ status_reason: str = None,
2092
+ ):
2093
+ self.array_id = array_id
2094
+ self.create_time = create_time
2095
+ self.end_time = end_time
2096
+ self.start_time = start_time
2097
+ self.status = status
2098
+ self.status_reason = status_reason
2099
+
2100
+ def validate(self):
2101
+ pass
2102
+
2103
+ def to_map(self):
2104
+ _map = super().to_map()
2105
+ if _map is not None:
2106
+ return _map
2107
+
2108
+ result = dict()
2109
+ if self.array_id is not None:
2110
+ result['ArrayId'] = self.array_id
2111
+ if self.create_time is not None:
2112
+ result['CreateTime'] = self.create_time
2113
+ if self.end_time is not None:
2114
+ result['EndTime'] = self.end_time
2115
+ if self.start_time is not None:
2116
+ result['StartTime'] = self.start_time
2117
+ if self.status is not None:
2118
+ result['Status'] = self.status
2119
+ if self.status_reason is not None:
2120
+ result['StatusReason'] = self.status_reason
2121
+ return result
2122
+
2123
+ def from_map(self, m: dict = None):
2124
+ m = m or dict()
2125
+ if m.get('ArrayId') is not None:
2126
+ self.array_id = m.get('ArrayId')
2127
+ if m.get('CreateTime') is not None:
2128
+ self.create_time = m.get('CreateTime')
2129
+ if m.get('EndTime') is not None:
2130
+ self.end_time = m.get('EndTime')
2131
+ if m.get('StartTime') is not None:
2132
+ self.start_time = m.get('StartTime')
2133
+ if m.get('Status') is not None:
2134
+ self.status = m.get('Status')
2135
+ if m.get('StatusReason') is not None:
2136
+ self.status_reason = m.get('StatusReason')
2137
+ return self
2138
+
2139
+
2140
+ class GetJobResponseBodyJobInfoTasksTaskSpecResourceDisks(TeaModel):
2141
+ def __init__(
2142
+ self,
2143
+ size: int = None,
2144
+ type: str = None,
2145
+ ):
2146
+ self.size = size
2147
+ self.type = type
2148
+
2149
+ def validate(self):
2150
+ pass
2151
+
2152
+ def to_map(self):
2153
+ _map = super().to_map()
2154
+ if _map is not None:
2155
+ return _map
2156
+
2157
+ result = dict()
2158
+ if self.size is not None:
2159
+ result['Size'] = self.size
2160
+ if self.type is not None:
2161
+ result['Type'] = self.type
2162
+ return result
2163
+
2164
+ def from_map(self, m: dict = None):
2165
+ m = m or dict()
2166
+ if m.get('Size') is not None:
2167
+ self.size = m.get('Size')
2168
+ if m.get('Type') is not None:
2169
+ self.type = m.get('Type')
2170
+ return self
2171
+
2172
+
2173
+ class GetJobResponseBodyJobInfoTasksTaskSpecResource(TeaModel):
2174
+ def __init__(
2175
+ self,
2176
+ cores: float = None,
2177
+ disks: List[GetJobResponseBodyJobInfoTasksTaskSpecResourceDisks] = None,
2178
+ memory: int = None,
2179
+ ):
2180
+ self.cores = cores
2181
+ self.disks = disks
2182
+ self.memory = memory
2183
+
2184
+ def validate(self):
2185
+ if self.disks:
2186
+ for k in self.disks:
2187
+ if k:
2188
+ k.validate()
2189
+
2190
+ def to_map(self):
2191
+ _map = super().to_map()
2192
+ if _map is not None:
2193
+ return _map
2194
+
2195
+ result = dict()
2196
+ if self.cores is not None:
2197
+ result['Cores'] = self.cores
2198
+ result['Disks'] = []
2199
+ if self.disks is not None:
2200
+ for k in self.disks:
2201
+ result['Disks'].append(k.to_map() if k else None)
2202
+ if self.memory is not None:
2203
+ result['Memory'] = self.memory
2204
+ return result
2205
+
2206
+ def from_map(self, m: dict = None):
2207
+ m = m or dict()
2208
+ if m.get('Cores') is not None:
2209
+ self.cores = m.get('Cores')
2210
+ self.disks = []
2211
+ if m.get('Disks') is not None:
2212
+ for k in m.get('Disks'):
2213
+ temp_model = GetJobResponseBodyJobInfoTasksTaskSpecResourceDisks()
2214
+ self.disks.append(temp_model.from_map(k))
2215
+ if m.get('Memory') is not None:
2216
+ self.memory = m.get('Memory')
2217
+ return self
2218
+
2219
+
2220
+ class GetJobResponseBodyJobInfoTasksTaskSpecTaskExecutorVM(TeaModel):
2221
+ def __init__(
2222
+ self,
2223
+ image: str = None,
2224
+ prolog_script: str = None,
2225
+ script: str = None,
2226
+ ):
2227
+ self.image = image
2228
+ self.prolog_script = prolog_script
2229
+ self.script = script
2230
+
2231
+ def validate(self):
2232
+ pass
2233
+
2234
+ def to_map(self):
2235
+ _map = super().to_map()
2236
+ if _map is not None:
2237
+ return _map
2238
+
2239
+ result = dict()
2240
+ if self.image is not None:
2241
+ result['Image'] = self.image
2242
+ if self.prolog_script is not None:
2243
+ result['PrologScript'] = self.prolog_script
2244
+ if self.script is not None:
2245
+ result['Script'] = self.script
2246
+ return result
2247
+
2248
+ def from_map(self, m: dict = None):
2249
+ m = m or dict()
2250
+ if m.get('Image') is not None:
2251
+ self.image = m.get('Image')
2252
+ if m.get('PrologScript') is not None:
2253
+ self.prolog_script = m.get('PrologScript')
2254
+ if m.get('Script') is not None:
2255
+ self.script = m.get('Script')
2256
+ return self
2257
+
2258
+
2259
+ class GetJobResponseBodyJobInfoTasksTaskSpecTaskExecutor(TeaModel):
2260
+ def __init__(
2261
+ self,
2262
+ vm: GetJobResponseBodyJobInfoTasksTaskSpecTaskExecutorVM = None,
2263
+ ):
2264
+ self.vm = vm
2265
+
2266
+ def validate(self):
2267
+ if self.vm:
2268
+ self.vm.validate()
2269
+
2270
+ def to_map(self):
2271
+ _map = super().to_map()
2272
+ if _map is not None:
2273
+ return _map
2274
+
2275
+ result = dict()
2276
+ if self.vm is not None:
2277
+ result['VM'] = self.vm.to_map()
2278
+ return result
2279
+
2280
+ def from_map(self, m: dict = None):
2281
+ m = m or dict()
2282
+ if m.get('VM') is not None:
2283
+ temp_model = GetJobResponseBodyJobInfoTasksTaskSpecTaskExecutorVM()
2284
+ self.vm = temp_model.from_map(m['VM'])
2285
+ return self
2286
+
2287
+
2288
+ class GetJobResponseBodyJobInfoTasksTaskSpec(TeaModel):
2289
+ def __init__(
2290
+ self,
2291
+ resource: GetJobResponseBodyJobInfoTasksTaskSpecResource = None,
2292
+ task_executor: List[GetJobResponseBodyJobInfoTasksTaskSpecTaskExecutor] = None,
2293
+ ):
2294
+ self.resource = resource
2295
+ self.task_executor = task_executor
2296
+
2297
+ def validate(self):
2298
+ if self.resource:
2299
+ self.resource.validate()
2300
+ if self.task_executor:
2301
+ for k in self.task_executor:
2302
+ if k:
2303
+ k.validate()
2304
+
2305
+ def to_map(self):
2306
+ _map = super().to_map()
2307
+ if _map is not None:
2308
+ return _map
2309
+
2310
+ result = dict()
2311
+ if self.resource is not None:
2312
+ result['Resource'] = self.resource.to_map()
2313
+ result['TaskExecutor'] = []
2314
+ if self.task_executor is not None:
2315
+ for k in self.task_executor:
2316
+ result['TaskExecutor'].append(k.to_map() if k else None)
2317
+ return result
2318
+
2319
+ def from_map(self, m: dict = None):
2320
+ m = m or dict()
2321
+ if m.get('Resource') is not None:
2322
+ temp_model = GetJobResponseBodyJobInfoTasksTaskSpecResource()
2323
+ self.resource = temp_model.from_map(m['Resource'])
2324
+ self.task_executor = []
2325
+ if m.get('TaskExecutor') is not None:
2326
+ for k in m.get('TaskExecutor'):
2327
+ temp_model = GetJobResponseBodyJobInfoTasksTaskSpecTaskExecutor()
2328
+ self.task_executor.append(temp_model.from_map(k))
2329
+ return self
2330
+
2331
+
2332
+ class GetJobResponseBodyJobInfoTasks(TeaModel):
2333
+ def __init__(
2334
+ self,
2335
+ executor_policy: GetJobResponseBodyJobInfoTasksExecutorPolicy = None,
2336
+ executor_status: List[GetJobResponseBodyJobInfoTasksExecutorStatus] = None,
2337
+ task_name: str = None,
2338
+ task_spec: GetJobResponseBodyJobInfoTasksTaskSpec = None,
2339
+ task_sustainable: bool = None,
2340
+ ):
2341
+ self.executor_policy = executor_policy
2342
+ self.executor_status = executor_status
2343
+ self.task_name = task_name
2344
+ self.task_spec = task_spec
2345
+ self.task_sustainable = task_sustainable
2346
+
2347
+ def validate(self):
2348
+ if self.executor_policy:
2349
+ self.executor_policy.validate()
2350
+ if self.executor_status:
2351
+ for k in self.executor_status:
2352
+ if k:
2353
+ k.validate()
2354
+ if self.task_spec:
2355
+ self.task_spec.validate()
2356
+
2357
+ def to_map(self):
2358
+ _map = super().to_map()
2359
+ if _map is not None:
2360
+ return _map
2361
+
2362
+ result = dict()
2363
+ if self.executor_policy is not None:
2364
+ result['ExecutorPolicy'] = self.executor_policy.to_map()
2365
+ result['ExecutorStatus'] = []
2366
+ if self.executor_status is not None:
2367
+ for k in self.executor_status:
2368
+ result['ExecutorStatus'].append(k.to_map() if k else None)
2369
+ if self.task_name is not None:
2370
+ result['TaskName'] = self.task_name
2371
+ if self.task_spec is not None:
2372
+ result['TaskSpec'] = self.task_spec.to_map()
2373
+ if self.task_sustainable is not None:
2374
+ result['TaskSustainable'] = self.task_sustainable
2375
+ return result
2376
+
2377
+ def from_map(self, m: dict = None):
2378
+ m = m or dict()
2379
+ if m.get('ExecutorPolicy') is not None:
2380
+ temp_model = GetJobResponseBodyJobInfoTasksExecutorPolicy()
2381
+ self.executor_policy = temp_model.from_map(m['ExecutorPolicy'])
2382
+ self.executor_status = []
2383
+ if m.get('ExecutorStatus') is not None:
2384
+ for k in m.get('ExecutorStatus'):
2385
+ temp_model = GetJobResponseBodyJobInfoTasksExecutorStatus()
2386
+ self.executor_status.append(temp_model.from_map(k))
2387
+ if m.get('TaskName') is not None:
2388
+ self.task_name = m.get('TaskName')
2389
+ if m.get('TaskSpec') is not None:
2390
+ temp_model = GetJobResponseBodyJobInfoTasksTaskSpec()
2391
+ self.task_spec = temp_model.from_map(m['TaskSpec'])
2392
+ if m.get('TaskSustainable') is not None:
2393
+ self.task_sustainable = m.get('TaskSustainable')
2394
+ return self
2395
+
2396
+
2397
+ class GetJobResponseBodyJobInfo(TeaModel):
2398
+ def __init__(
2399
+ self,
2400
+ create_time: str = None,
2401
+ deployment_policy: GetJobResponseBodyJobInfoDeploymentPolicy = None,
2402
+ end_time: str = None,
2403
+ job_description: str = None,
2404
+ job_id: str = None,
2405
+ job_name: str = None,
2406
+ start_time: str = None,
2407
+ status: str = None,
2408
+ tasks: List[GetJobResponseBodyJobInfoTasks] = None,
2409
+ ):
2410
+ self.create_time = create_time
2411
+ self.deployment_policy = deployment_policy
2412
+ self.end_time = end_time
2413
+ self.job_description = job_description
2414
+ self.job_id = job_id
2415
+ self.job_name = job_name
2416
+ self.start_time = start_time
2417
+ self.status = status
2418
+ self.tasks = tasks
2419
+
2420
+ def validate(self):
2421
+ if self.deployment_policy:
2422
+ self.deployment_policy.validate()
2423
+ if self.tasks:
2424
+ for k in self.tasks:
2425
+ if k:
2426
+ k.validate()
2427
+
2428
+ def to_map(self):
2429
+ _map = super().to_map()
2430
+ if _map is not None:
2431
+ return _map
2432
+
2433
+ result = dict()
2434
+ if self.create_time is not None:
2435
+ result['CreateTime'] = self.create_time
2436
+ if self.deployment_policy is not None:
2437
+ result['DeploymentPolicy'] = self.deployment_policy.to_map()
2438
+ if self.end_time is not None:
2439
+ result['EndTime'] = self.end_time
2440
+ if self.job_description is not None:
2441
+ result['JobDescription'] = self.job_description
2442
+ if self.job_id is not None:
2443
+ result['JobId'] = self.job_id
2444
+ if self.job_name is not None:
2445
+ result['JobName'] = self.job_name
2446
+ if self.start_time is not None:
2447
+ result['StartTime'] = self.start_time
2448
+ if self.status is not None:
2449
+ result['Status'] = self.status
2450
+ result['Tasks'] = []
2451
+ if self.tasks is not None:
2452
+ for k in self.tasks:
2453
+ result['Tasks'].append(k.to_map() if k else None)
2454
+ return result
2455
+
2456
+ def from_map(self, m: dict = None):
2457
+ m = m or dict()
2458
+ if m.get('CreateTime') is not None:
2459
+ self.create_time = m.get('CreateTime')
2460
+ if m.get('DeploymentPolicy') is not None:
2461
+ temp_model = GetJobResponseBodyJobInfoDeploymentPolicy()
2462
+ self.deployment_policy = temp_model.from_map(m['DeploymentPolicy'])
2463
+ if m.get('EndTime') is not None:
2464
+ self.end_time = m.get('EndTime')
2465
+ if m.get('JobDescription') is not None:
2466
+ self.job_description = m.get('JobDescription')
2467
+ if m.get('JobId') is not None:
2468
+ self.job_id = m.get('JobId')
2469
+ if m.get('JobName') is not None:
2470
+ self.job_name = m.get('JobName')
2471
+ if m.get('StartTime') is not None:
2472
+ self.start_time = m.get('StartTime')
2473
+ if m.get('Status') is not None:
2474
+ self.status = m.get('Status')
2475
+ self.tasks = []
2476
+ if m.get('Tasks') is not None:
2477
+ for k in m.get('Tasks'):
2478
+ temp_model = GetJobResponseBodyJobInfoTasks()
2479
+ self.tasks.append(temp_model.from_map(k))
2480
+ return self
2481
+
2482
+
2483
+ class GetJobResponseBody(TeaModel):
2484
+ def __init__(
2485
+ self,
2486
+ job_info: GetJobResponseBodyJobInfo = None,
2487
+ request_id: str = None,
2488
+ ):
2489
+ self.job_info = job_info
2490
+ self.request_id = request_id
2491
+
2492
+ def validate(self):
2493
+ if self.job_info:
2494
+ self.job_info.validate()
2495
+
2496
+ def to_map(self):
2497
+ _map = super().to_map()
2498
+ if _map is not None:
2499
+ return _map
2500
+
2501
+ result = dict()
2502
+ if self.job_info is not None:
2503
+ result['JobInfo'] = self.job_info.to_map()
2504
+ if self.request_id is not None:
2505
+ result['RequestId'] = self.request_id
2506
+ return result
2507
+
2508
+ def from_map(self, m: dict = None):
2509
+ m = m or dict()
2510
+ if m.get('JobInfo') is not None:
2511
+ temp_model = GetJobResponseBodyJobInfo()
2512
+ self.job_info = temp_model.from_map(m['JobInfo'])
2513
+ if m.get('RequestId') is not None:
2514
+ self.request_id = m.get('RequestId')
2515
+ return self
2516
+
2517
+
2518
+ class GetJobResponse(TeaModel):
2519
+ def __init__(
2520
+ self,
2521
+ headers: Dict[str, str] = None,
2522
+ status_code: int = None,
2523
+ body: GetJobResponseBody = None,
2524
+ ):
2525
+ self.headers = headers
2526
+ self.status_code = status_code
2527
+ self.body = body
2528
+
2529
+ def validate(self):
2530
+ if self.body:
2531
+ self.body.validate()
2532
+
2533
+ def to_map(self):
2534
+ _map = super().to_map()
2535
+ if _map is not None:
2536
+ return _map
2537
+
2538
+ result = dict()
2539
+ if self.headers is not None:
2540
+ result['headers'] = self.headers
2541
+ if self.status_code is not None:
2542
+ result['statusCode'] = self.status_code
2543
+ if self.body is not None:
2544
+ result['body'] = self.body.to_map()
2545
+ return result
2546
+
2547
+ def from_map(self, m: dict = None):
2548
+ m = m or dict()
2549
+ if m.get('headers') is not None:
2550
+ self.headers = m.get('headers')
2551
+ if m.get('statusCode') is not None:
2552
+ self.status_code = m.get('statusCode')
2553
+ if m.get('body') is not None:
2554
+ temp_model = GetJobResponseBody()
2555
+ self.body = temp_model.from_map(m['body'])
2556
+ return self
2557
+
2558
+
2559
+ class ListExecutorsRequestFilter(TeaModel):
2560
+ def __init__(
2561
+ self,
2562
+ executor_ids: List[str] = None,
2563
+ ip_addresses: List[str] = None,
2564
+ job_name: str = None,
2565
+ time_created_after: int = None,
2566
+ time_created_before: int = None,
2567
+ ):
2568
+ self.executor_ids = executor_ids
2569
+ self.ip_addresses = ip_addresses
2570
+ self.job_name = job_name
2571
+ self.time_created_after = time_created_after
2572
+ self.time_created_before = time_created_before
2573
+
2574
+ def validate(self):
2575
+ pass
2576
+
2577
+ def to_map(self):
2578
+ _map = super().to_map()
2579
+ if _map is not None:
2580
+ return _map
2581
+
2582
+ result = dict()
2583
+ if self.executor_ids is not None:
2584
+ result['ExecutorIds'] = self.executor_ids
2585
+ if self.ip_addresses is not None:
2586
+ result['IpAddresses'] = self.ip_addresses
2587
+ if self.job_name is not None:
2588
+ result['JobName'] = self.job_name
2589
+ if self.time_created_after is not None:
2590
+ result['TimeCreatedAfter'] = self.time_created_after
2591
+ if self.time_created_before is not None:
2592
+ result['TimeCreatedBefore'] = self.time_created_before
2593
+ return result
2594
+
2595
+ def from_map(self, m: dict = None):
2596
+ m = m or dict()
2597
+ if m.get('ExecutorIds') is not None:
2598
+ self.executor_ids = m.get('ExecutorIds')
2599
+ if m.get('IpAddresses') is not None:
2600
+ self.ip_addresses = m.get('IpAddresses')
2601
+ if m.get('JobName') is not None:
2602
+ self.job_name = m.get('JobName')
2603
+ if m.get('TimeCreatedAfter') is not None:
2604
+ self.time_created_after = m.get('TimeCreatedAfter')
2605
+ if m.get('TimeCreatedBefore') is not None:
2606
+ self.time_created_before = m.get('TimeCreatedBefore')
2607
+ return self
2608
+
2609
+
2610
+ class ListExecutorsRequest(TeaModel):
2611
+ def __init__(
2612
+ self,
2613
+ filter: ListExecutorsRequestFilter = None,
2614
+ page_number: str = None,
2615
+ page_size: str = None,
2616
+ ):
2617
+ self.filter = filter
2618
+ self.page_number = page_number
2619
+ self.page_size = page_size
2620
+
2621
+ def validate(self):
2622
+ if self.filter:
2623
+ self.filter.validate()
2624
+
2625
+ def to_map(self):
2626
+ _map = super().to_map()
2627
+ if _map is not None:
2628
+ return _map
2629
+
2630
+ result = dict()
2631
+ if self.filter is not None:
2632
+ result['Filter'] = self.filter.to_map()
2633
+ if self.page_number is not None:
2634
+ result['PageNumber'] = self.page_number
2635
+ if self.page_size is not None:
2636
+ result['PageSize'] = self.page_size
2637
+ return result
2638
+
2639
+ def from_map(self, m: dict = None):
2640
+ m = m or dict()
2641
+ if m.get('Filter') is not None:
2642
+ temp_model = ListExecutorsRequestFilter()
2643
+ self.filter = temp_model.from_map(m['Filter'])
2644
+ if m.get('PageNumber') is not None:
2645
+ self.page_number = m.get('PageNumber')
2646
+ if m.get('PageSize') is not None:
2647
+ self.page_size = m.get('PageSize')
2648
+ return self
2649
+
2650
+
2651
+ class ListExecutorsShrinkRequest(TeaModel):
2652
+ def __init__(
2653
+ self,
2654
+ filter_shrink: str = None,
2655
+ page_number: str = None,
2656
+ page_size: str = None,
2657
+ ):
2658
+ self.filter_shrink = filter_shrink
2659
+ self.page_number = page_number
2660
+ self.page_size = page_size
2661
+
2662
+ def validate(self):
2663
+ pass
2664
+
2665
+ def to_map(self):
2666
+ _map = super().to_map()
2667
+ if _map is not None:
2668
+ return _map
2669
+
2670
+ result = dict()
2671
+ if self.filter_shrink is not None:
2672
+ result['Filter'] = self.filter_shrink
2673
+ if self.page_number is not None:
2674
+ result['PageNumber'] = self.page_number
2675
+ if self.page_size is not None:
2676
+ result['PageSize'] = self.page_size
2677
+ return result
2678
+
2679
+ def from_map(self, m: dict = None):
2680
+ m = m or dict()
2681
+ if m.get('Filter') is not None:
2682
+ self.filter_shrink = m.get('Filter')
2683
+ if m.get('PageNumber') is not None:
2684
+ self.page_number = m.get('PageNumber')
2685
+ if m.get('PageSize') is not None:
2686
+ self.page_size = m.get('PageSize')
2687
+ return self
2688
+
2689
+
2690
+ class ListExecutorsResponseBodyExecutors(TeaModel):
2691
+ def __init__(
2692
+ self,
2693
+ array_index: int = None,
2694
+ create_time: str = None,
2695
+ end_time: str = None,
2696
+ executor_id: str = None,
2697
+ host_name: List[str] = None,
2698
+ ip_address: List[str] = None,
2699
+ job_id: str = None,
2700
+ job_name: str = None,
2701
+ status: str = None,
2702
+ status_reason: str = None,
2703
+ task_name: str = None,
2704
+ ):
2705
+ self.array_index = array_index
2706
+ self.create_time = create_time
2707
+ self.end_time = end_time
2708
+ self.executor_id = executor_id
2709
+ self.host_name = host_name
2710
+ self.ip_address = ip_address
2711
+ self.job_id = job_id
2712
+ self.job_name = job_name
2713
+ self.status = status
2714
+ self.status_reason = status_reason
2715
+ self.task_name = task_name
2716
+
2717
+ def validate(self):
2718
+ pass
2719
+
2720
+ def to_map(self):
2721
+ _map = super().to_map()
2722
+ if _map is not None:
2723
+ return _map
2724
+
2725
+ result = dict()
2726
+ if self.array_index is not None:
2727
+ result['ArrayIndex'] = self.array_index
2728
+ if self.create_time is not None:
2729
+ result['CreateTime'] = self.create_time
2730
+ if self.end_time is not None:
2731
+ result['EndTime'] = self.end_time
2732
+ if self.executor_id is not None:
2733
+ result['ExecutorId'] = self.executor_id
2734
+ if self.host_name is not None:
2735
+ result['HostName'] = self.host_name
2736
+ if self.ip_address is not None:
2737
+ result['IpAddress'] = self.ip_address
2738
+ if self.job_id is not None:
2739
+ result['JobId'] = self.job_id
2740
+ if self.job_name is not None:
2741
+ result['JobName'] = self.job_name
2742
+ if self.status is not None:
2743
+ result['Status'] = self.status
2744
+ if self.status_reason is not None:
2745
+ result['StatusReason'] = self.status_reason
2746
+ if self.task_name is not None:
2747
+ result['TaskName'] = self.task_name
2748
+ return result
2749
+
2750
+ def from_map(self, m: dict = None):
2751
+ m = m or dict()
2752
+ if m.get('ArrayIndex') is not None:
2753
+ self.array_index = m.get('ArrayIndex')
2754
+ if m.get('CreateTime') is not None:
2755
+ self.create_time = m.get('CreateTime')
2756
+ if m.get('EndTime') is not None:
2757
+ self.end_time = m.get('EndTime')
2758
+ if m.get('ExecutorId') is not None:
2759
+ self.executor_id = m.get('ExecutorId')
2760
+ if m.get('HostName') is not None:
2761
+ self.host_name = m.get('HostName')
2762
+ if m.get('IpAddress') is not None:
2763
+ self.ip_address = m.get('IpAddress')
2764
+ if m.get('JobId') is not None:
2765
+ self.job_id = m.get('JobId')
2766
+ if m.get('JobName') is not None:
2767
+ self.job_name = m.get('JobName')
2768
+ if m.get('Status') is not None:
2769
+ self.status = m.get('Status')
2770
+ if m.get('StatusReason') is not None:
2771
+ self.status_reason = m.get('StatusReason')
2772
+ if m.get('TaskName') is not None:
2773
+ self.task_name = m.get('TaskName')
2774
+ return self
2775
+
2776
+
2777
+ class ListExecutorsResponseBody(TeaModel):
2778
+ def __init__(
2779
+ self,
2780
+ executors: List[ListExecutorsResponseBodyExecutors] = None,
2781
+ page_number: str = None,
2782
+ page_size: str = None,
2783
+ request_id: str = None,
2784
+ total_count: str = None,
2785
+ ):
2786
+ self.executors = executors
2787
+ self.page_number = page_number
2788
+ self.page_size = page_size
2789
+ self.request_id = request_id
2790
+ self.total_count = total_count
2791
+
2792
+ def validate(self):
2793
+ if self.executors:
2794
+ for k in self.executors:
2795
+ if k:
2796
+ k.validate()
2797
+
2798
+ def to_map(self):
2799
+ _map = super().to_map()
2800
+ if _map is not None:
2801
+ return _map
2802
+
2803
+ result = dict()
2804
+ result['Executors'] = []
2805
+ if self.executors is not None:
2806
+ for k in self.executors:
2807
+ result['Executors'].append(k.to_map() if k else None)
2808
+ if self.page_number is not None:
2809
+ result['PageNumber'] = self.page_number
2810
+ if self.page_size is not None:
2811
+ result['PageSize'] = self.page_size
2812
+ if self.request_id is not None:
2813
+ result['RequestId'] = self.request_id
2814
+ if self.total_count is not None:
2815
+ result['TotalCount'] = self.total_count
2816
+ return result
2817
+
2818
+ def from_map(self, m: dict = None):
2819
+ m = m or dict()
2820
+ self.executors = []
2821
+ if m.get('Executors') is not None:
2822
+ for k in m.get('Executors'):
2823
+ temp_model = ListExecutorsResponseBodyExecutors()
2824
+ self.executors.append(temp_model.from_map(k))
2825
+ if m.get('PageNumber') is not None:
2826
+ self.page_number = m.get('PageNumber')
2827
+ if m.get('PageSize') is not None:
2828
+ self.page_size = m.get('PageSize')
2829
+ if m.get('RequestId') is not None:
2830
+ self.request_id = m.get('RequestId')
2831
+ if m.get('TotalCount') is not None:
2832
+ self.total_count = m.get('TotalCount')
2833
+ return self
2834
+
2835
+
2836
+ class ListExecutorsResponse(TeaModel):
2837
+ def __init__(
2838
+ self,
2839
+ headers: Dict[str, str] = None,
2840
+ status_code: int = None,
2841
+ body: ListExecutorsResponseBody = None,
2842
+ ):
2843
+ self.headers = headers
2844
+ self.status_code = status_code
2845
+ self.body = body
2846
+
2847
+ def validate(self):
2848
+ if self.body:
2849
+ self.body.validate()
2850
+
2851
+ def to_map(self):
2852
+ _map = super().to_map()
2853
+ if _map is not None:
2854
+ return _map
2855
+
2856
+ result = dict()
2857
+ if self.headers is not None:
2858
+ result['headers'] = self.headers
2859
+ if self.status_code is not None:
2860
+ result['statusCode'] = self.status_code
2861
+ if self.body is not None:
2862
+ result['body'] = self.body.to_map()
2863
+ return result
2864
+
2865
+ def from_map(self, m: dict = None):
2866
+ m = m or dict()
2867
+ if m.get('headers') is not None:
2868
+ self.headers = m.get('headers')
2869
+ if m.get('statusCode') is not None:
2870
+ self.status_code = m.get('statusCode')
2871
+ if m.get('body') is not None:
2872
+ temp_model = ListExecutorsResponseBody()
2873
+ self.body = temp_model.from_map(m['body'])
2874
+ return self
2875
+
2876
+
2877
+ class ListImagesRequest(TeaModel):
2878
+ def __init__(
2879
+ self,
2880
+ image_ids: List[str] = None,
2881
+ image_names: List[str] = None,
2882
+ page_number: int = None,
2883
+ page_size: int = None,
2884
+ ):
2885
+ self.image_ids = image_ids
2886
+ self.image_names = image_names
2887
+ self.page_number = page_number
2888
+ self.page_size = page_size
2889
+
2890
+ def validate(self):
2891
+ pass
2892
+
2893
+ def to_map(self):
2894
+ _map = super().to_map()
2895
+ if _map is not None:
2896
+ return _map
2897
+
2898
+ result = dict()
2899
+ if self.image_ids is not None:
2900
+ result['ImageIds'] = self.image_ids
2901
+ if self.image_names is not None:
2902
+ result['ImageNames'] = self.image_names
2903
+ if self.page_number is not None:
2904
+ result['PageNumber'] = self.page_number
2905
+ if self.page_size is not None:
2906
+ result['PageSize'] = self.page_size
2907
+ return result
2908
+
2909
+ def from_map(self, m: dict = None):
2910
+ m = m or dict()
2911
+ if m.get('ImageIds') is not None:
2912
+ self.image_ids = m.get('ImageIds')
2913
+ if m.get('ImageNames') is not None:
2914
+ self.image_names = m.get('ImageNames')
2915
+ if m.get('PageNumber') is not None:
2916
+ self.page_number = m.get('PageNumber')
2917
+ if m.get('PageSize') is not None:
2918
+ self.page_size = m.get('PageSize')
2919
+ return self
2920
+
2921
+
2922
+ class ListImagesShrinkRequest(TeaModel):
2923
+ def __init__(
2924
+ self,
2925
+ image_ids_shrink: str = None,
2926
+ image_names_shrink: str = None,
2927
+ page_number: int = None,
2928
+ page_size: int = None,
2929
+ ):
2930
+ self.image_ids_shrink = image_ids_shrink
2931
+ self.image_names_shrink = image_names_shrink
2932
+ self.page_number = page_number
2933
+ self.page_size = page_size
2934
+
2935
+ def validate(self):
2936
+ pass
2937
+
2938
+ def to_map(self):
2939
+ _map = super().to_map()
2940
+ if _map is not None:
2941
+ return _map
2942
+
2943
+ result = dict()
2944
+ if self.image_ids_shrink is not None:
2945
+ result['ImageIds'] = self.image_ids_shrink
2946
+ if self.image_names_shrink is not None:
2947
+ result['ImageNames'] = self.image_names_shrink
2948
+ if self.page_number is not None:
2949
+ result['PageNumber'] = self.page_number
2950
+ if self.page_size is not None:
2951
+ result['PageSize'] = self.page_size
2952
+ return result
2953
+
2954
+ def from_map(self, m: dict = None):
2955
+ m = m or dict()
2956
+ if m.get('ImageIds') is not None:
2957
+ self.image_ids_shrink = m.get('ImageIds')
2958
+ if m.get('ImageNames') is not None:
2959
+ self.image_names_shrink = m.get('ImageNames')
2960
+ if m.get('PageNumber') is not None:
2961
+ self.page_number = m.get('PageNumber')
2962
+ if m.get('PageSize') is not None:
2963
+ self.page_size = m.get('PageSize')
2964
+ return self
2965
+
2966
+
2967
+ class ListImagesResponseBodyImages(TeaModel):
2968
+ def __init__(
2969
+ self,
2970
+ create_time: str = None,
2971
+ description: str = None,
2972
+ image_id: str = None,
2973
+ image_type: str = None,
2974
+ name: str = None,
2975
+ version: str = None,
2976
+ ):
2977
+ self.create_time = create_time
2978
+ self.description = description
2979
+ self.image_id = image_id
2980
+ self.image_type = image_type
2981
+ self.name = name
2982
+ self.version = version
2983
+
2984
+ def validate(self):
2985
+ pass
2986
+
2987
+ def to_map(self):
2988
+ _map = super().to_map()
2989
+ if _map is not None:
2990
+ return _map
2991
+
2992
+ result = dict()
2993
+ if self.create_time is not None:
2994
+ result['CreateTime'] = self.create_time
2995
+ if self.description is not None:
2996
+ result['Description'] = self.description
2997
+ if self.image_id is not None:
2998
+ result['ImageId'] = self.image_id
2999
+ if self.image_type is not None:
3000
+ result['ImageType'] = self.image_type
3001
+ if self.name is not None:
3002
+ result['Name'] = self.name
3003
+ if self.version is not None:
3004
+ result['Version'] = self.version
3005
+ return result
3006
+
3007
+ def from_map(self, m: dict = None):
3008
+ m = m or dict()
3009
+ if m.get('CreateTime') is not None:
3010
+ self.create_time = m.get('CreateTime')
3011
+ if m.get('Description') is not None:
3012
+ self.description = m.get('Description')
3013
+ if m.get('ImageId') is not None:
3014
+ self.image_id = m.get('ImageId')
3015
+ if m.get('ImageType') is not None:
3016
+ self.image_type = m.get('ImageType')
3017
+ if m.get('Name') is not None:
3018
+ self.name = m.get('Name')
3019
+ if m.get('Version') is not None:
3020
+ self.version = m.get('Version')
3021
+ return self
3022
+
3023
+
3024
+ class ListImagesResponseBody(TeaModel):
3025
+ def __init__(
3026
+ self,
3027
+ images: List[ListImagesResponseBodyImages] = None,
3028
+ page_number: int = None,
3029
+ page_size: int = None,
3030
+ request_id: str = None,
3031
+ success: bool = None,
3032
+ total_count: int = None,
3033
+ ):
3034
+ self.images = images
3035
+ self.page_number = page_number
3036
+ self.page_size = page_size
3037
+ self.request_id = request_id
3038
+ self.success = success
3039
+ self.total_count = total_count
3040
+
3041
+ def validate(self):
3042
+ if self.images:
3043
+ for k in self.images:
3044
+ if k:
3045
+ k.validate()
3046
+
3047
+ def to_map(self):
3048
+ _map = super().to_map()
3049
+ if _map is not None:
3050
+ return _map
3051
+
3052
+ result = dict()
3053
+ result['Images'] = []
3054
+ if self.images is not None:
3055
+ for k in self.images:
3056
+ result['Images'].append(k.to_map() if k else None)
3057
+ if self.page_number is not None:
3058
+ result['PageNumber'] = self.page_number
3059
+ if self.page_size is not None:
3060
+ result['PageSize'] = self.page_size
3061
+ if self.request_id is not None:
3062
+ result['RequestId'] = self.request_id
3063
+ if self.success is not None:
3064
+ result['Success'] = self.success
3065
+ if self.total_count is not None:
3066
+ result['TotalCount'] = self.total_count
3067
+ return result
3068
+
3069
+ def from_map(self, m: dict = None):
3070
+ m = m or dict()
3071
+ self.images = []
3072
+ if m.get('Images') is not None:
3073
+ for k in m.get('Images'):
3074
+ temp_model = ListImagesResponseBodyImages()
3075
+ self.images.append(temp_model.from_map(k))
3076
+ if m.get('PageNumber') is not None:
3077
+ self.page_number = m.get('PageNumber')
3078
+ if m.get('PageSize') is not None:
3079
+ self.page_size = m.get('PageSize')
3080
+ if m.get('RequestId') is not None:
3081
+ self.request_id = m.get('RequestId')
3082
+ if m.get('Success') is not None:
3083
+ self.success = m.get('Success')
3084
+ if m.get('TotalCount') is not None:
3085
+ self.total_count = m.get('TotalCount')
3086
+ return self
3087
+
3088
+
3089
+ class ListImagesResponse(TeaModel):
3090
+ def __init__(
3091
+ self,
3092
+ headers: Dict[str, str] = None,
3093
+ status_code: int = None,
3094
+ body: ListImagesResponseBody = None,
3095
+ ):
3096
+ self.headers = headers
3097
+ self.status_code = status_code
3098
+ self.body = body
3099
+
3100
+ def validate(self):
3101
+ if self.body:
3102
+ self.body.validate()
3103
+
3104
+ def to_map(self):
3105
+ _map = super().to_map()
3106
+ if _map is not None:
3107
+ return _map
3108
+
3109
+ result = dict()
3110
+ if self.headers is not None:
3111
+ result['headers'] = self.headers
3112
+ if self.status_code is not None:
3113
+ result['statusCode'] = self.status_code
3114
+ if self.body is not None:
3115
+ result['body'] = self.body.to_map()
3116
+ return result
3117
+
3118
+ def from_map(self, m: dict = None):
3119
+ m = m or dict()
3120
+ if m.get('headers') is not None:
3121
+ self.headers = m.get('headers')
3122
+ if m.get('statusCode') is not None:
3123
+ self.status_code = m.get('statusCode')
3124
+ if m.get('body') is not None:
3125
+ temp_model = ListImagesResponseBody()
3126
+ self.body = temp_model.from_map(m['body'])
3127
+ return self
3128
+
3129
+
3130
+ class ListJobExecutorsRequest(TeaModel):
3131
+ def __init__(
3132
+ self,
3133
+ job_id: str = None,
3134
+ page_number: str = None,
3135
+ page_size: str = None,
3136
+ task_name: str = None,
3137
+ ):
3138
+ self.job_id = job_id
3139
+ self.page_number = page_number
3140
+ self.page_size = page_size
3141
+ self.task_name = task_name
3142
+
3143
+ def validate(self):
3144
+ pass
3145
+
3146
+ def to_map(self):
3147
+ _map = super().to_map()
3148
+ if _map is not None:
3149
+ return _map
3150
+
3151
+ result = dict()
3152
+ if self.job_id is not None:
3153
+ result['JobId'] = self.job_id
3154
+ if self.page_number is not None:
3155
+ result['PageNumber'] = self.page_number
3156
+ if self.page_size is not None:
3157
+ result['PageSize'] = self.page_size
3158
+ if self.task_name is not None:
3159
+ result['TaskName'] = self.task_name
3160
+ return result
3161
+
3162
+ def from_map(self, m: dict = None):
3163
+ m = m or dict()
3164
+ if m.get('JobId') is not None:
3165
+ self.job_id = m.get('JobId')
3166
+ if m.get('PageNumber') is not None:
3167
+ self.page_number = m.get('PageNumber')
3168
+ if m.get('PageSize') is not None:
3169
+ self.page_size = m.get('PageSize')
3170
+ if m.get('TaskName') is not None:
3171
+ self.task_name = m.get('TaskName')
3172
+ return self
3173
+
3174
+
3175
+ class ListJobExecutorsResponseBodyExecutors(TeaModel):
3176
+ def __init__(
3177
+ self,
3178
+ array_index: int = None,
3179
+ create_time: str = None,
3180
+ end_time: str = None,
3181
+ host_name: List[str] = None,
3182
+ ip_address: List[str] = None,
3183
+ status: str = None,
3184
+ status_reason: str = None,
3185
+ ):
3186
+ self.array_index = array_index
3187
+ self.create_time = create_time
3188
+ self.end_time = end_time
3189
+ self.host_name = host_name
3190
+ self.ip_address = ip_address
3191
+ self.status = status
3192
+ self.status_reason = status_reason
3193
+
3194
+ def validate(self):
3195
+ pass
3196
+
3197
+ def to_map(self):
3198
+ _map = super().to_map()
3199
+ if _map is not None:
3200
+ return _map
3201
+
3202
+ result = dict()
3203
+ if self.array_index is not None:
3204
+ result['ArrayIndex'] = self.array_index
3205
+ if self.create_time is not None:
3206
+ result['CreateTime'] = self.create_time
3207
+ if self.end_time is not None:
3208
+ result['EndTime'] = self.end_time
3209
+ if self.host_name is not None:
3210
+ result['HostName'] = self.host_name
3211
+ if self.ip_address is not None:
3212
+ result['IpAddress'] = self.ip_address
3213
+ if self.status is not None:
3214
+ result['Status'] = self.status
3215
+ if self.status_reason is not None:
3216
+ result['StatusReason'] = self.status_reason
3217
+ return result
3218
+
3219
+ def from_map(self, m: dict = None):
3220
+ m = m or dict()
3221
+ if m.get('ArrayIndex') is not None:
3222
+ self.array_index = m.get('ArrayIndex')
3223
+ if m.get('CreateTime') is not None:
3224
+ self.create_time = m.get('CreateTime')
3225
+ if m.get('EndTime') is not None:
3226
+ self.end_time = m.get('EndTime')
3227
+ if m.get('HostName') is not None:
3228
+ self.host_name = m.get('HostName')
3229
+ if m.get('IpAddress') is not None:
3230
+ self.ip_address = m.get('IpAddress')
3231
+ if m.get('Status') is not None:
3232
+ self.status = m.get('Status')
3233
+ if m.get('StatusReason') is not None:
3234
+ self.status_reason = m.get('StatusReason')
3235
+ return self
3236
+
3237
+
3238
+ class ListJobExecutorsResponseBody(TeaModel):
3239
+ def __init__(
3240
+ self,
3241
+ executors: List[ListJobExecutorsResponseBodyExecutors] = None,
3242
+ job_id: str = None,
3243
+ page_number: str = None,
3244
+ page_size: str = None,
3245
+ request_id: str = None,
3246
+ task_name: str = None,
3247
+ total_count: str = None,
3248
+ ):
3249
+ self.executors = executors
3250
+ self.job_id = job_id
3251
+ self.page_number = page_number
3252
+ self.page_size = page_size
3253
+ self.request_id = request_id
3254
+ self.task_name = task_name
3255
+ self.total_count = total_count
3256
+
3257
+ def validate(self):
3258
+ if self.executors:
3259
+ for k in self.executors:
3260
+ if k:
3261
+ k.validate()
3262
+
3263
+ def to_map(self):
3264
+ _map = super().to_map()
3265
+ if _map is not None:
3266
+ return _map
3267
+
3268
+ result = dict()
3269
+ result['Executors'] = []
3270
+ if self.executors is not None:
3271
+ for k in self.executors:
3272
+ result['Executors'].append(k.to_map() if k else None)
3273
+ if self.job_id is not None:
3274
+ result['JobId'] = self.job_id
3275
+ if self.page_number is not None:
3276
+ result['PageNumber'] = self.page_number
3277
+ if self.page_size is not None:
3278
+ result['PageSize'] = self.page_size
3279
+ if self.request_id is not None:
3280
+ result['RequestId'] = self.request_id
3281
+ if self.task_name is not None:
3282
+ result['TaskName'] = self.task_name
3283
+ if self.total_count is not None:
3284
+ result['TotalCount'] = self.total_count
3285
+ return result
3286
+
3287
+ def from_map(self, m: dict = None):
3288
+ m = m or dict()
3289
+ self.executors = []
3290
+ if m.get('Executors') is not None:
3291
+ for k in m.get('Executors'):
3292
+ temp_model = ListJobExecutorsResponseBodyExecutors()
3293
+ self.executors.append(temp_model.from_map(k))
3294
+ if m.get('JobId') is not None:
3295
+ self.job_id = m.get('JobId')
3296
+ if m.get('PageNumber') is not None:
3297
+ self.page_number = m.get('PageNumber')
3298
+ if m.get('PageSize') is not None:
3299
+ self.page_size = m.get('PageSize')
3300
+ if m.get('RequestId') is not None:
3301
+ self.request_id = m.get('RequestId')
3302
+ if m.get('TaskName') is not None:
3303
+ self.task_name = m.get('TaskName')
3304
+ if m.get('TotalCount') is not None:
3305
+ self.total_count = m.get('TotalCount')
3306
+ return self
3307
+
3308
+
3309
+ class ListJobExecutorsResponse(TeaModel):
3310
+ def __init__(
3311
+ self,
3312
+ headers: Dict[str, str] = None,
3313
+ status_code: int = None,
3314
+ body: ListJobExecutorsResponseBody = None,
3315
+ ):
3316
+ self.headers = headers
3317
+ self.status_code = status_code
3318
+ self.body = body
3319
+
3320
+ def validate(self):
3321
+ if self.body:
3322
+ self.body.validate()
3323
+
3324
+ def to_map(self):
3325
+ _map = super().to_map()
3326
+ if _map is not None:
3327
+ return _map
3328
+
3329
+ result = dict()
3330
+ if self.headers is not None:
3331
+ result['headers'] = self.headers
3332
+ if self.status_code is not None:
3333
+ result['statusCode'] = self.status_code
3334
+ if self.body is not None:
3335
+ result['body'] = self.body.to_map()
3336
+ return result
3337
+
3338
+ def from_map(self, m: dict = None):
3339
+ m = m or dict()
3340
+ if m.get('headers') is not None:
3341
+ self.headers = m.get('headers')
3342
+ if m.get('statusCode') is not None:
3343
+ self.status_code = m.get('statusCode')
3344
+ if m.get('body') is not None:
3345
+ temp_model = ListJobExecutorsResponseBody()
3346
+ self.body = temp_model.from_map(m['body'])
3347
+ return self
3348
+
3349
+
3350
+ class ListJobsRequestFilter(TeaModel):
3351
+ def __init__(
3352
+ self,
3353
+ job_id: str = None,
3354
+ job_name: str = None,
3355
+ status: str = None,
3356
+ time_created_after: int = None,
3357
+ time_created_before: int = None,
3358
+ ):
3359
+ self.job_id = job_id
3360
+ self.job_name = job_name
3361
+ self.status = status
3362
+ self.time_created_after = time_created_after
3363
+ self.time_created_before = time_created_before
3364
+
3365
+ def validate(self):
3366
+ pass
3367
+
3368
+ def to_map(self):
3369
+ _map = super().to_map()
3370
+ if _map is not None:
3371
+ return _map
3372
+
3373
+ result = dict()
3374
+ if self.job_id is not None:
3375
+ result['JobId'] = self.job_id
3376
+ if self.job_name is not None:
3377
+ result['JobName'] = self.job_name
3378
+ if self.status is not None:
3379
+ result['Status'] = self.status
3380
+ if self.time_created_after is not None:
3381
+ result['TimeCreatedAfter'] = self.time_created_after
3382
+ if self.time_created_before is not None:
3383
+ result['TimeCreatedBefore'] = self.time_created_before
3384
+ return result
3385
+
3386
+ def from_map(self, m: dict = None):
3387
+ m = m or dict()
3388
+ if m.get('JobId') is not None:
3389
+ self.job_id = m.get('JobId')
3390
+ if m.get('JobName') is not None:
3391
+ self.job_name = m.get('JobName')
3392
+ if m.get('Status') is not None:
3393
+ self.status = m.get('Status')
3394
+ if m.get('TimeCreatedAfter') is not None:
3395
+ self.time_created_after = m.get('TimeCreatedAfter')
3396
+ if m.get('TimeCreatedBefore') is not None:
3397
+ self.time_created_before = m.get('TimeCreatedBefore')
3398
+ return self
3399
+
3400
+
3401
+ class ListJobsRequestSortBy(TeaModel):
3402
+ def __init__(
3403
+ self,
3404
+ label: str = None,
3405
+ order: str = None,
3406
+ ):
3407
+ self.label = label
3408
+ self.order = order
3409
+
3410
+ def validate(self):
3411
+ pass
3412
+
3413
+ def to_map(self):
3414
+ _map = super().to_map()
3415
+ if _map is not None:
3416
+ return _map
3417
+
3418
+ result = dict()
3419
+ if self.label is not None:
3420
+ result['Label'] = self.label
3421
+ if self.order is not None:
3422
+ result['Order'] = self.order
3423
+ return result
3424
+
3425
+ def from_map(self, m: dict = None):
3426
+ m = m or dict()
3427
+ if m.get('Label') is not None:
3428
+ self.label = m.get('Label')
3429
+ if m.get('Order') is not None:
3430
+ self.order = m.get('Order')
3431
+ return self
3432
+
3433
+
3434
+ class ListJobsRequest(TeaModel):
3435
+ def __init__(
3436
+ self,
3437
+ filter: ListJobsRequestFilter = None,
3438
+ page_number: str = None,
3439
+ page_size: str = None,
3440
+ sort_by: ListJobsRequestSortBy = None,
3441
+ ):
3442
+ self.filter = filter
3443
+ self.page_number = page_number
3444
+ self.page_size = page_size
3445
+ self.sort_by = sort_by
3446
+
3447
+ def validate(self):
3448
+ if self.filter:
3449
+ self.filter.validate()
3450
+ if self.sort_by:
3451
+ self.sort_by.validate()
3452
+
3453
+ def to_map(self):
3454
+ _map = super().to_map()
3455
+ if _map is not None:
3456
+ return _map
3457
+
3458
+ result = dict()
3459
+ if self.filter is not None:
3460
+ result['Filter'] = self.filter.to_map()
3461
+ if self.page_number is not None:
3462
+ result['PageNumber'] = self.page_number
3463
+ if self.page_size is not None:
3464
+ result['PageSize'] = self.page_size
3465
+ if self.sort_by is not None:
3466
+ result['SortBy'] = self.sort_by.to_map()
3467
+ return result
3468
+
3469
+ def from_map(self, m: dict = None):
3470
+ m = m or dict()
3471
+ if m.get('Filter') is not None:
3472
+ temp_model = ListJobsRequestFilter()
3473
+ self.filter = temp_model.from_map(m['Filter'])
3474
+ if m.get('PageNumber') is not None:
3475
+ self.page_number = m.get('PageNumber')
3476
+ if m.get('PageSize') is not None:
3477
+ self.page_size = m.get('PageSize')
3478
+ if m.get('SortBy') is not None:
3479
+ temp_model = ListJobsRequestSortBy()
3480
+ self.sort_by = temp_model.from_map(m['SortBy'])
3481
+ return self
3482
+
3483
+
3484
+ class ListJobsShrinkRequest(TeaModel):
3485
+ def __init__(
3486
+ self,
3487
+ filter_shrink: str = None,
3488
+ page_number: str = None,
3489
+ page_size: str = None,
3490
+ sort_by_shrink: str = None,
3491
+ ):
3492
+ self.filter_shrink = filter_shrink
3493
+ self.page_number = page_number
3494
+ self.page_size = page_size
3495
+ self.sort_by_shrink = sort_by_shrink
3496
+
3497
+ def validate(self):
3498
+ pass
3499
+
3500
+ def to_map(self):
3501
+ _map = super().to_map()
3502
+ if _map is not None:
3503
+ return _map
3504
+
3505
+ result = dict()
3506
+ if self.filter_shrink is not None:
3507
+ result['Filter'] = self.filter_shrink
3508
+ if self.page_number is not None:
3509
+ result['PageNumber'] = self.page_number
3510
+ if self.page_size is not None:
3511
+ result['PageSize'] = self.page_size
3512
+ if self.sort_by_shrink is not None:
3513
+ result['SortBy'] = self.sort_by_shrink
3514
+ return result
3515
+
3516
+ def from_map(self, m: dict = None):
3517
+ m = m or dict()
3518
+ if m.get('Filter') is not None:
3519
+ self.filter_shrink = m.get('Filter')
3520
+ if m.get('PageNumber') is not None:
3521
+ self.page_number = m.get('PageNumber')
3522
+ if m.get('PageSize') is not None:
3523
+ self.page_size = m.get('PageSize')
3524
+ if m.get('SortBy') is not None:
3525
+ self.sort_by_shrink = m.get('SortBy')
3526
+ return self
3527
+
3528
+
3529
+ class ListJobsResponseBodyJobList(TeaModel):
3530
+ def __init__(
3531
+ self,
3532
+ create_time: str = None,
3533
+ end_time: str = None,
3534
+ executor_count: int = None,
3535
+ job_description: str = None,
3536
+ job_id: str = None,
3537
+ job_name: str = None,
3538
+ owner_uid: str = None,
3539
+ start_time: str = None,
3540
+ status: str = None,
3541
+ task_count: int = None,
3542
+ task_sustainable: bool = None,
3543
+ ):
3544
+ self.create_time = create_time
3545
+ self.end_time = end_time
3546
+ self.executor_count = executor_count
3547
+ self.job_description = job_description
3548
+ self.job_id = job_id
3549
+ self.job_name = job_name
3550
+ self.owner_uid = owner_uid
3551
+ self.start_time = start_time
3552
+ self.status = status
3553
+ self.task_count = task_count
3554
+ self.task_sustainable = task_sustainable
3555
+
3556
+ def validate(self):
3557
+ pass
3558
+
3559
+ def to_map(self):
3560
+ _map = super().to_map()
3561
+ if _map is not None:
3562
+ return _map
3563
+
3564
+ result = dict()
3565
+ if self.create_time is not None:
3566
+ result['CreateTime'] = self.create_time
3567
+ if self.end_time is not None:
3568
+ result['EndTime'] = self.end_time
3569
+ if self.executor_count is not None:
3570
+ result['ExecutorCount'] = self.executor_count
3571
+ if self.job_description is not None:
3572
+ result['JobDescription'] = self.job_description
3573
+ if self.job_id is not None:
3574
+ result['JobId'] = self.job_id
3575
+ if self.job_name is not None:
3576
+ result['JobName'] = self.job_name
3577
+ if self.owner_uid is not None:
3578
+ result['OwnerUid'] = self.owner_uid
3579
+ if self.start_time is not None:
3580
+ result['StartTime'] = self.start_time
3581
+ if self.status is not None:
3582
+ result['Status'] = self.status
3583
+ if self.task_count is not None:
3584
+ result['TaskCount'] = self.task_count
3585
+ if self.task_sustainable is not None:
3586
+ result['TaskSustainable'] = self.task_sustainable
3587
+ return result
3588
+
3589
+ def from_map(self, m: dict = None):
3590
+ m = m or dict()
3591
+ if m.get('CreateTime') is not None:
3592
+ self.create_time = m.get('CreateTime')
3593
+ if m.get('EndTime') is not None:
3594
+ self.end_time = m.get('EndTime')
3595
+ if m.get('ExecutorCount') is not None:
3596
+ self.executor_count = m.get('ExecutorCount')
3597
+ if m.get('JobDescription') is not None:
3598
+ self.job_description = m.get('JobDescription')
3599
+ if m.get('JobId') is not None:
3600
+ self.job_id = m.get('JobId')
3601
+ if m.get('JobName') is not None:
3602
+ self.job_name = m.get('JobName')
3603
+ if m.get('OwnerUid') is not None:
3604
+ self.owner_uid = m.get('OwnerUid')
3605
+ if m.get('StartTime') is not None:
3606
+ self.start_time = m.get('StartTime')
3607
+ if m.get('Status') is not None:
3608
+ self.status = m.get('Status')
3609
+ if m.get('TaskCount') is not None:
3610
+ self.task_count = m.get('TaskCount')
3611
+ if m.get('TaskSustainable') is not None:
3612
+ self.task_sustainable = m.get('TaskSustainable')
3613
+ return self
3614
+
3615
+
3616
+ class ListJobsResponseBody(TeaModel):
3617
+ def __init__(
3618
+ self,
3619
+ job_list: List[ListJobsResponseBodyJobList] = None,
3620
+ page_number: int = None,
3621
+ page_size: int = None,
3622
+ request_id: str = None,
3623
+ total_count: int = None,
3624
+ ):
3625
+ self.job_list = job_list
3626
+ self.page_number = page_number
3627
+ self.page_size = page_size
3628
+ self.request_id = request_id
3629
+ self.total_count = total_count
3630
+
3631
+ def validate(self):
3632
+ if self.job_list:
3633
+ for k in self.job_list:
3634
+ if k:
3635
+ k.validate()
3636
+
3637
+ def to_map(self):
3638
+ _map = super().to_map()
3639
+ if _map is not None:
3640
+ return _map
3641
+
3642
+ result = dict()
3643
+ result['JobList'] = []
3644
+ if self.job_list is not None:
3645
+ for k in self.job_list:
3646
+ result['JobList'].append(k.to_map() if k else None)
3647
+ if self.page_number is not None:
3648
+ result['PageNumber'] = self.page_number
3649
+ if self.page_size is not None:
3650
+ result['PageSize'] = self.page_size
3651
+ if self.request_id is not None:
3652
+ result['RequestId'] = self.request_id
3653
+ if self.total_count is not None:
3654
+ result['TotalCount'] = self.total_count
3655
+ return result
3656
+
3657
+ def from_map(self, m: dict = None):
3658
+ m = m or dict()
3659
+ self.job_list = []
3660
+ if m.get('JobList') is not None:
3661
+ for k in m.get('JobList'):
3662
+ temp_model = ListJobsResponseBodyJobList()
3663
+ self.job_list.append(temp_model.from_map(k))
3664
+ if m.get('PageNumber') is not None:
3665
+ self.page_number = m.get('PageNumber')
3666
+ if m.get('PageSize') is not None:
3667
+ self.page_size = m.get('PageSize')
3668
+ if m.get('RequestId') is not None:
3669
+ self.request_id = m.get('RequestId')
3670
+ if m.get('TotalCount') is not None:
3671
+ self.total_count = m.get('TotalCount')
3672
+ return self
3673
+
3674
+
3675
+ class ListJobsResponse(TeaModel):
3676
+ def __init__(
3677
+ self,
3678
+ headers: Dict[str, str] = None,
3679
+ status_code: int = None,
3680
+ body: ListJobsResponseBody = None,
3681
+ ):
3682
+ self.headers = headers
3683
+ self.status_code = status_code
3684
+ self.body = body
3685
+
3686
+ def validate(self):
3687
+ if self.body:
3688
+ self.body.validate()
3689
+
3690
+ def to_map(self):
3691
+ _map = super().to_map()
3692
+ if _map is not None:
3693
+ return _map
3694
+
3695
+ result = dict()
3696
+ if self.headers is not None:
3697
+ result['headers'] = self.headers
3698
+ if self.status_code is not None:
3699
+ result['statusCode'] = self.status_code
3700
+ if self.body is not None:
3701
+ result['body'] = self.body.to_map()
3702
+ return result
3703
+
3704
+ def from_map(self, m: dict = None):
3705
+ m = m or dict()
3706
+ if m.get('headers') is not None:
3707
+ self.headers = m.get('headers')
3708
+ if m.get('statusCode') is not None:
3709
+ self.status_code = m.get('statusCode')
3710
+ if m.get('body') is not None:
3711
+ temp_model = ListJobsResponseBody()
3712
+ self.body = temp_model.from_map(m['body'])
3713
+ return self
3714
+
3715
+
3716
+ class RemoveImageRequest(TeaModel):
3717
+ def __init__(
3718
+ self,
3719
+ image_id: str = None,
3720
+ ):
3721
+ self.image_id = image_id
3722
+
3723
+ def validate(self):
3724
+ pass
3725
+
3726
+ def to_map(self):
3727
+ _map = super().to_map()
3728
+ if _map is not None:
3729
+ return _map
3730
+
3731
+ result = dict()
3732
+ if self.image_id is not None:
3733
+ result['ImageId'] = self.image_id
3734
+ return result
3735
+
3736
+ def from_map(self, m: dict = None):
3737
+ m = m or dict()
3738
+ if m.get('ImageId') is not None:
3739
+ self.image_id = m.get('ImageId')
3740
+ return self
3741
+
3742
+
3743
+ class RemoveImageResponseBody(TeaModel):
3744
+ def __init__(
3745
+ self,
3746
+ request_id: str = None,
3747
+ success: bool = None,
3748
+ ):
3749
+ self.request_id = request_id
3750
+ self.success = success
3751
+
3752
+ def validate(self):
3753
+ pass
3754
+
3755
+ def to_map(self):
3756
+ _map = super().to_map()
3757
+ if _map is not None:
3758
+ return _map
3759
+
3760
+ result = dict()
3761
+ if self.request_id is not None:
3762
+ result['RequestId'] = self.request_id
3763
+ if self.success is not None:
3764
+ result['Success'] = self.success
3765
+ return result
3766
+
3767
+ def from_map(self, m: dict = None):
3768
+ m = m or dict()
3769
+ if m.get('RequestId') is not None:
3770
+ self.request_id = m.get('RequestId')
3771
+ if m.get('Success') is not None:
3772
+ self.success = m.get('Success')
3773
+ return self
3774
+
3775
+
3776
+ class RemoveImageResponse(TeaModel):
3777
+ def __init__(
3778
+ self,
3779
+ headers: Dict[str, str] = None,
3780
+ status_code: int = None,
3781
+ body: RemoveImageResponseBody = None,
3782
+ ):
3783
+ self.headers = headers
3784
+ self.status_code = status_code
3785
+ self.body = body
3786
+
3787
+ def validate(self):
3788
+ if self.body:
3789
+ self.body.validate()
3790
+
3791
+ def to_map(self):
3792
+ _map = super().to_map()
3793
+ if _map is not None:
3794
+ return _map
3795
+
3796
+ result = dict()
3797
+ if self.headers is not None:
3798
+ result['headers'] = self.headers
3799
+ if self.status_code is not None:
3800
+ result['statusCode'] = self.status_code
3801
+ if self.body is not None:
3802
+ result['body'] = self.body.to_map()
3803
+ return result
3804
+
3805
+ def from_map(self, m: dict = None):
3806
+ m = m or dict()
3807
+ if m.get('headers') is not None:
3808
+ self.headers = m.get('headers')
3809
+ if m.get('statusCode') is not None:
3810
+ self.status_code = m.get('statusCode')
3811
+ if m.get('body') is not None:
3812
+ temp_model = RemoveImageResponseBody()
3813
+ self.body = temp_model.from_map(m['body'])
3814
+ return self
3815
+
3816
+