alibabacloud-emr-serverless-spark20230808 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.
@@ -0,0 +1,2420 @@
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 List, Dict
5
+
6
+
7
+ class Credential(TeaModel):
8
+ def __init__(
9
+ self,
10
+ access_id: str = None,
11
+ dir: str = None,
12
+ expire: str = None,
13
+ host: str = None,
14
+ policy: str = None,
15
+ security_token: str = None,
16
+ signature: str = None,
17
+ ):
18
+ self.access_id = access_id
19
+ self.dir = dir
20
+ self.expire = expire
21
+ self.host = host
22
+ self.policy = policy
23
+ self.security_token = security_token
24
+ self.signature = signature
25
+
26
+ def validate(self):
27
+ pass
28
+
29
+ def to_map(self):
30
+ _map = super().to_map()
31
+ if _map is not None:
32
+ return _map
33
+
34
+ result = dict()
35
+ if self.access_id is not None:
36
+ result['accessId'] = self.access_id
37
+ if self.dir is not None:
38
+ result['dir'] = self.dir
39
+ if self.expire is not None:
40
+ result['expire'] = self.expire
41
+ if self.host is not None:
42
+ result['host'] = self.host
43
+ if self.policy is not None:
44
+ result['policy'] = self.policy
45
+ if self.security_token is not None:
46
+ result['securityToken'] = self.security_token
47
+ if self.signature is not None:
48
+ result['signature'] = self.signature
49
+ return result
50
+
51
+ def from_map(self, m: dict = None):
52
+ m = m or dict()
53
+ if m.get('accessId') is not None:
54
+ self.access_id = m.get('accessId')
55
+ if m.get('dir') is not None:
56
+ self.dir = m.get('dir')
57
+ if m.get('expire') is not None:
58
+ self.expire = m.get('expire')
59
+ if m.get('host') is not None:
60
+ self.host = m.get('host')
61
+ if m.get('policy') is not None:
62
+ self.policy = m.get('policy')
63
+ if m.get('securityToken') is not None:
64
+ self.security_token = m.get('securityToken')
65
+ if m.get('signature') is not None:
66
+ self.signature = m.get('signature')
67
+ return self
68
+
69
+
70
+ class Artifact(TeaModel):
71
+ def __init__(
72
+ self,
73
+ biz_id: str = None,
74
+ creator: int = None,
75
+ credential: Credential = None,
76
+ gmt_created: str = None,
77
+ gmt_modified: str = None,
78
+ location: str = None,
79
+ modifier: int = None,
80
+ name: str = None,
81
+ ):
82
+ self.biz_id = biz_id
83
+ self.creator = creator
84
+ self.credential = credential
85
+ self.gmt_created = gmt_created
86
+ self.gmt_modified = gmt_modified
87
+ self.location = location
88
+ self.modifier = modifier
89
+ self.name = name
90
+
91
+ def validate(self):
92
+ if self.credential:
93
+ self.credential.validate()
94
+
95
+ def to_map(self):
96
+ _map = super().to_map()
97
+ if _map is not None:
98
+ return _map
99
+
100
+ result = dict()
101
+ if self.biz_id is not None:
102
+ result['bizId'] = self.biz_id
103
+ if self.creator is not None:
104
+ result['creator'] = self.creator
105
+ if self.credential is not None:
106
+ result['credential'] = self.credential.to_map()
107
+ if self.gmt_created is not None:
108
+ result['gmtCreated'] = self.gmt_created
109
+ if self.gmt_modified is not None:
110
+ result['gmtModified'] = self.gmt_modified
111
+ if self.location is not None:
112
+ result['location'] = self.location
113
+ if self.modifier is not None:
114
+ result['modifier'] = self.modifier
115
+ if self.name is not None:
116
+ result['name'] = self.name
117
+ return result
118
+
119
+ def from_map(self, m: dict = None):
120
+ m = m or dict()
121
+ if m.get('bizId') is not None:
122
+ self.biz_id = m.get('bizId')
123
+ if m.get('creator') is not None:
124
+ self.creator = m.get('creator')
125
+ if m.get('credential') is not None:
126
+ temp_model = Credential()
127
+ self.credential = temp_model.from_map(m['credential'])
128
+ if m.get('gmtCreated') is not None:
129
+ self.gmt_created = m.get('gmtCreated')
130
+ if m.get('gmtModified') is not None:
131
+ self.gmt_modified = m.get('gmtModified')
132
+ if m.get('location') is not None:
133
+ self.location = m.get('location')
134
+ if m.get('modifier') is not None:
135
+ self.modifier = m.get('modifier')
136
+ if m.get('name') is not None:
137
+ self.name = m.get('name')
138
+ return self
139
+
140
+
141
+ class Category(TeaModel):
142
+ def __init__(
143
+ self,
144
+ biz_id: str = None,
145
+ creator: int = None,
146
+ gmt_created: str = None,
147
+ gmt_modified: str = None,
148
+ modifier: int = None,
149
+ name: str = None,
150
+ parent_biz_id: str = None,
151
+ type: str = None,
152
+ ):
153
+ self.biz_id = biz_id
154
+ self.creator = creator
155
+ self.gmt_created = gmt_created
156
+ self.gmt_modified = gmt_modified
157
+ self.modifier = modifier
158
+ self.name = name
159
+ self.parent_biz_id = parent_biz_id
160
+ self.type = type
161
+
162
+ def validate(self):
163
+ pass
164
+
165
+ def to_map(self):
166
+ _map = super().to_map()
167
+ if _map is not None:
168
+ return _map
169
+
170
+ result = dict()
171
+ if self.biz_id is not None:
172
+ result['bizId'] = self.biz_id
173
+ if self.creator is not None:
174
+ result['creator'] = self.creator
175
+ if self.gmt_created is not None:
176
+ result['gmtCreated'] = self.gmt_created
177
+ if self.gmt_modified is not None:
178
+ result['gmtModified'] = self.gmt_modified
179
+ if self.modifier is not None:
180
+ result['modifier'] = self.modifier
181
+ if self.name is not None:
182
+ result['name'] = self.name
183
+ if self.parent_biz_id is not None:
184
+ result['parentBizId'] = self.parent_biz_id
185
+ if self.type is not None:
186
+ result['type'] = self.type
187
+ return result
188
+
189
+ def from_map(self, m: dict = None):
190
+ m = m or dict()
191
+ if m.get('bizId') is not None:
192
+ self.biz_id = m.get('bizId')
193
+ if m.get('creator') is not None:
194
+ self.creator = m.get('creator')
195
+ if m.get('gmtCreated') is not None:
196
+ self.gmt_created = m.get('gmtCreated')
197
+ if m.get('gmtModified') is not None:
198
+ self.gmt_modified = m.get('gmtModified')
199
+ if m.get('modifier') is not None:
200
+ self.modifier = m.get('modifier')
201
+ if m.get('name') is not None:
202
+ self.name = m.get('name')
203
+ if m.get('parentBizId') is not None:
204
+ self.parent_biz_id = m.get('parentBizId')
205
+ if m.get('type') is not None:
206
+ self.type = m.get('type')
207
+ return self
208
+
209
+
210
+ class Configuration(TeaModel):
211
+ def __init__(
212
+ self,
213
+ config_file_name: str = None,
214
+ config_item_key: str = None,
215
+ config_item_value: str = None,
216
+ ):
217
+ self.config_file_name = config_file_name
218
+ self.config_item_key = config_item_key
219
+ self.config_item_value = config_item_value
220
+
221
+ def validate(self):
222
+ pass
223
+
224
+ def to_map(self):
225
+ _map = super().to_map()
226
+ if _map is not None:
227
+ return _map
228
+
229
+ result = dict()
230
+ if self.config_file_name is not None:
231
+ result['configFileName'] = self.config_file_name
232
+ if self.config_item_key is not None:
233
+ result['configItemKey'] = self.config_item_key
234
+ if self.config_item_value is not None:
235
+ result['configItemValue'] = self.config_item_value
236
+ return result
237
+
238
+ def from_map(self, m: dict = None):
239
+ m = m or dict()
240
+ if m.get('configFileName') is not None:
241
+ self.config_file_name = m.get('configFileName')
242
+ if m.get('configItemKey') is not None:
243
+ self.config_item_key = m.get('configItemKey')
244
+ if m.get('configItemValue') is not None:
245
+ self.config_item_value = m.get('configItemValue')
246
+ return self
247
+
248
+
249
+ class JobDriverSparkSubmit(TeaModel):
250
+ def __init__(
251
+ self,
252
+ entry_point: str = None,
253
+ entry_point_arguments: List[str] = None,
254
+ spark_submit_parameters: str = None,
255
+ ):
256
+ self.entry_point = entry_point
257
+ self.entry_point_arguments = entry_point_arguments
258
+ self.spark_submit_parameters = spark_submit_parameters
259
+
260
+ def validate(self):
261
+ pass
262
+
263
+ def to_map(self):
264
+ _map = super().to_map()
265
+ if _map is not None:
266
+ return _map
267
+
268
+ result = dict()
269
+ if self.entry_point is not None:
270
+ result['entryPoint'] = self.entry_point
271
+ if self.entry_point_arguments is not None:
272
+ result['entryPointArguments'] = self.entry_point_arguments
273
+ if self.spark_submit_parameters is not None:
274
+ result['sparkSubmitParameters'] = self.spark_submit_parameters
275
+ return result
276
+
277
+ def from_map(self, m: dict = None):
278
+ m = m or dict()
279
+ if m.get('entryPoint') is not None:
280
+ self.entry_point = m.get('entryPoint')
281
+ if m.get('entryPointArguments') is not None:
282
+ self.entry_point_arguments = m.get('entryPointArguments')
283
+ if m.get('sparkSubmitParameters') is not None:
284
+ self.spark_submit_parameters = m.get('sparkSubmitParameters')
285
+ return self
286
+
287
+
288
+ class JobDriver(TeaModel):
289
+ def __init__(
290
+ self,
291
+ spark_submit: JobDriverSparkSubmit = None,
292
+ ):
293
+ self.spark_submit = spark_submit
294
+
295
+ def validate(self):
296
+ if self.spark_submit:
297
+ self.spark_submit.validate()
298
+
299
+ def to_map(self):
300
+ _map = super().to_map()
301
+ if _map is not None:
302
+ return _map
303
+
304
+ result = dict()
305
+ if self.spark_submit is not None:
306
+ result['sparkSubmit'] = self.spark_submit.to_map()
307
+ return result
308
+
309
+ def from_map(self, m: dict = None):
310
+ m = m or dict()
311
+ if m.get('sparkSubmit') is not None:
312
+ temp_model = JobDriverSparkSubmit()
313
+ self.spark_submit = temp_model.from_map(m['sparkSubmit'])
314
+ return self
315
+
316
+
317
+ class PrincipalAction(TeaModel):
318
+ def __init__(
319
+ self,
320
+ action_arn: str = None,
321
+ principal_arn: str = None,
322
+ ):
323
+ self.action_arn = action_arn
324
+ self.principal_arn = principal_arn
325
+
326
+ def validate(self):
327
+ pass
328
+
329
+ def to_map(self):
330
+ _map = super().to_map()
331
+ if _map is not None:
332
+ return _map
333
+
334
+ result = dict()
335
+ if self.action_arn is not None:
336
+ result['actionArn'] = self.action_arn
337
+ if self.principal_arn is not None:
338
+ result['principalArn'] = self.principal_arn
339
+ return result
340
+
341
+ def from_map(self, m: dict = None):
342
+ m = m or dict()
343
+ if m.get('actionArn') is not None:
344
+ self.action_arn = m.get('actionArn')
345
+ if m.get('principalArn') is not None:
346
+ self.principal_arn = m.get('principalArn')
347
+ return self
348
+
349
+
350
+ class ReleaseVersionImage(TeaModel):
351
+ def __init__(
352
+ self,
353
+ cpu_architecture: str = None,
354
+ image_id: str = None,
355
+ runtime_engine_type: str = None,
356
+ ):
357
+ self.cpu_architecture = cpu_architecture
358
+ self.image_id = image_id
359
+ self.runtime_engine_type = runtime_engine_type
360
+
361
+ def validate(self):
362
+ pass
363
+
364
+ def to_map(self):
365
+ _map = super().to_map()
366
+ if _map is not None:
367
+ return _map
368
+
369
+ result = dict()
370
+ if self.cpu_architecture is not None:
371
+ result['cpuArchitecture'] = self.cpu_architecture
372
+ if self.image_id is not None:
373
+ result['imageId'] = self.image_id
374
+ if self.runtime_engine_type is not None:
375
+ result['runtimeEngineType'] = self.runtime_engine_type
376
+ return result
377
+
378
+ def from_map(self, m: dict = None):
379
+ m = m or dict()
380
+ if m.get('cpuArchitecture') is not None:
381
+ self.cpu_architecture = m.get('cpuArchitecture')
382
+ if m.get('imageId') is not None:
383
+ self.image_id = m.get('imageId')
384
+ if m.get('runtimeEngineType') is not None:
385
+ self.runtime_engine_type = m.get('runtimeEngineType')
386
+ return self
387
+
388
+
389
+ class RunLog(TeaModel):
390
+ def __init__(
391
+ self,
392
+ driver_std_error: str = None,
393
+ driver_std_out: str = None,
394
+ ):
395
+ self.driver_std_error = driver_std_error
396
+ self.driver_std_out = driver_std_out
397
+
398
+ def validate(self):
399
+ pass
400
+
401
+ def to_map(self):
402
+ _map = super().to_map()
403
+ if _map is not None:
404
+ return _map
405
+
406
+ result = dict()
407
+ if self.driver_std_error is not None:
408
+ result['driverStdError'] = self.driver_std_error
409
+ if self.driver_std_out is not None:
410
+ result['driverStdOut'] = self.driver_std_out
411
+ return result
412
+
413
+ def from_map(self, m: dict = None):
414
+ m = m or dict()
415
+ if m.get('driverStdError') is not None:
416
+ self.driver_std_error = m.get('driverStdError')
417
+ if m.get('driverStdOut') is not None:
418
+ self.driver_std_out = m.get('driverStdOut')
419
+ return self
420
+
421
+
422
+ class SparkConf(TeaModel):
423
+ def __init__(
424
+ self,
425
+ key: str = None,
426
+ value: str = None,
427
+ ):
428
+ self.key = key
429
+ self.value = value
430
+
431
+ def validate(self):
432
+ pass
433
+
434
+ def to_map(self):
435
+ _map = super().to_map()
436
+ if _map is not None:
437
+ return _map
438
+
439
+ result = dict()
440
+ if self.key is not None:
441
+ result['key'] = self.key
442
+ if self.value is not None:
443
+ result['value'] = self.value
444
+ return result
445
+
446
+ def from_map(self, m: dict = None):
447
+ m = m or dict()
448
+ if m.get('key') is not None:
449
+ self.key = m.get('key')
450
+ if m.get('value') is not None:
451
+ self.value = m.get('value')
452
+ return self
453
+
454
+
455
+ class SqlOutputRows(TeaModel):
456
+ def __init__(
457
+ self,
458
+ values: List[str] = None,
459
+ ):
460
+ self.values = values
461
+
462
+ def validate(self):
463
+ pass
464
+
465
+ def to_map(self):
466
+ _map = super().to_map()
467
+ if _map is not None:
468
+ return _map
469
+
470
+ result = dict()
471
+ if self.values is not None:
472
+ result['values'] = self.values
473
+ return result
474
+
475
+ def from_map(self, m: dict = None):
476
+ m = m or dict()
477
+ if m.get('values') is not None:
478
+ self.values = m.get('values')
479
+ return self
480
+
481
+
482
+ class SqlOutputSchemaFields(TeaModel):
483
+ def __init__(
484
+ self,
485
+ name: str = None,
486
+ nullable: bool = None,
487
+ type: str = None,
488
+ ):
489
+ self.name = name
490
+ self.nullable = nullable
491
+ self.type = type
492
+
493
+ def validate(self):
494
+ pass
495
+
496
+ def to_map(self):
497
+ _map = super().to_map()
498
+ if _map is not None:
499
+ return _map
500
+
501
+ result = dict()
502
+ if self.name is not None:
503
+ result['name'] = self.name
504
+ if self.nullable is not None:
505
+ result['nullable'] = self.nullable
506
+ if self.type is not None:
507
+ result['type'] = self.type
508
+ return result
509
+
510
+ def from_map(self, m: dict = None):
511
+ m = m or dict()
512
+ if m.get('name') is not None:
513
+ self.name = m.get('name')
514
+ if m.get('nullable') is not None:
515
+ self.nullable = m.get('nullable')
516
+ if m.get('type') is not None:
517
+ self.type = m.get('type')
518
+ return self
519
+
520
+
521
+ class SqlOutputSchema(TeaModel):
522
+ def __init__(
523
+ self,
524
+ fields: List[SqlOutputSchemaFields] = None,
525
+ ):
526
+ self.fields = fields
527
+
528
+ def validate(self):
529
+ if self.fields:
530
+ for k in self.fields:
531
+ if k:
532
+ k.validate()
533
+
534
+ def to_map(self):
535
+ _map = super().to_map()
536
+ if _map is not None:
537
+ return _map
538
+
539
+ result = dict()
540
+ result['fields'] = []
541
+ if self.fields is not None:
542
+ for k in self.fields:
543
+ result['fields'].append(k.to_map() if k else None)
544
+ return result
545
+
546
+ def from_map(self, m: dict = None):
547
+ m = m or dict()
548
+ self.fields = []
549
+ if m.get('fields') is not None:
550
+ for k in m.get('fields'):
551
+ temp_model = SqlOutputSchemaFields()
552
+ self.fields.append(temp_model.from_map(k))
553
+ return self
554
+
555
+
556
+ class SqlOutput(TeaModel):
557
+ def __init__(
558
+ self,
559
+ rows: List[SqlOutputRows] = None,
560
+ schema: SqlOutputSchema = None,
561
+ ):
562
+ self.rows = rows
563
+ self.schema = schema
564
+
565
+ def validate(self):
566
+ if self.rows:
567
+ for k in self.rows:
568
+ if k:
569
+ k.validate()
570
+ if self.schema:
571
+ self.schema.validate()
572
+
573
+ def to_map(self):
574
+ _map = super().to_map()
575
+ if _map is not None:
576
+ return _map
577
+
578
+ result = dict()
579
+ result['rows'] = []
580
+ if self.rows is not None:
581
+ for k in self.rows:
582
+ result['rows'].append(k.to_map() if k else None)
583
+ if self.schema is not None:
584
+ result['schema'] = self.schema.to_map()
585
+ return result
586
+
587
+ def from_map(self, m: dict = None):
588
+ m = m or dict()
589
+ self.rows = []
590
+ if m.get('rows') is not None:
591
+ for k in m.get('rows'):
592
+ temp_model = SqlOutputRows()
593
+ self.rows.append(temp_model.from_map(k))
594
+ if m.get('schema') is not None:
595
+ temp_model = SqlOutputSchema()
596
+ self.schema = temp_model.from_map(m['schema'])
597
+ return self
598
+
599
+
600
+ class Tag(TeaModel):
601
+ def __init__(
602
+ self,
603
+ key: str = None,
604
+ value: str = None,
605
+ ):
606
+ # 标签key值。
607
+ self.key = key
608
+ # 标签key值。
609
+ self.value = value
610
+
611
+ def validate(self):
612
+ pass
613
+
614
+ def to_map(self):
615
+ _map = super().to_map()
616
+ if _map is not None:
617
+ return _map
618
+
619
+ result = dict()
620
+ if self.key is not None:
621
+ result['key'] = self.key
622
+ if self.value is not None:
623
+ result['value'] = self.value
624
+ return result
625
+
626
+ def from_map(self, m: dict = None):
627
+ m = m or dict()
628
+ if m.get('key') is not None:
629
+ self.key = m.get('key')
630
+ if m.get('value') is not None:
631
+ self.value = m.get('value')
632
+ return self
633
+
634
+
635
+ class Task(TeaModel):
636
+ def __init__(
637
+ self,
638
+ artifact_url: str = None,
639
+ biz_id: str = None,
640
+ category_biz_id: str = None,
641
+ content: str = None,
642
+ creator: int = None,
643
+ default_catalog_id: str = None,
644
+ default_database: str = None,
645
+ default_resource_queue_id: str = None,
646
+ default_sql_compute_id: str = None,
647
+ extra_artifact_ids: List[str] = None,
648
+ gmt_created: str = None,
649
+ gmt_modified: str = None,
650
+ has_changed: bool = None,
651
+ has_commited: bool = None,
652
+ last_run_resource_queue_id: str = None,
653
+ modifier: int = None,
654
+ name: str = None,
655
+ py_files: List[str] = None,
656
+ spark_args: str = None,
657
+ spark_conf: List[SparkConf] = None,
658
+ spark_driver_cores: int = None,
659
+ spark_driver_memory: int = None,
660
+ spark_entrypoint: str = None,
661
+ spark_executor_cores: int = None,
662
+ spark_executor_memory: int = None,
663
+ spark_log_level: str = None,
664
+ spark_log_path: str = None,
665
+ spark_version: str = None,
666
+ tags: Dict[str, str] = None,
667
+ type: str = None,
668
+ ):
669
+ self.artifact_url = artifact_url
670
+ self.biz_id = biz_id
671
+ self.category_biz_id = category_biz_id
672
+ self.content = content
673
+ self.creator = creator
674
+ self.default_catalog_id = default_catalog_id
675
+ self.default_database = default_database
676
+ self.default_resource_queue_id = default_resource_queue_id
677
+ self.default_sql_compute_id = default_sql_compute_id
678
+ self.extra_artifact_ids = extra_artifact_ids
679
+ self.gmt_created = gmt_created
680
+ self.gmt_modified = gmt_modified
681
+ self.has_changed = has_changed
682
+ self.has_commited = has_commited
683
+ self.last_run_resource_queue_id = last_run_resource_queue_id
684
+ self.modifier = modifier
685
+ self.name = name
686
+ self.py_files = py_files
687
+ self.spark_args = spark_args
688
+ self.spark_conf = spark_conf
689
+ self.spark_driver_cores = spark_driver_cores
690
+ self.spark_driver_memory = spark_driver_memory
691
+ self.spark_entrypoint = spark_entrypoint
692
+ self.spark_executor_cores = spark_executor_cores
693
+ self.spark_executor_memory = spark_executor_memory
694
+ self.spark_log_level = spark_log_level
695
+ self.spark_log_path = spark_log_path
696
+ self.spark_version = spark_version
697
+ self.tags = tags
698
+ self.type = type
699
+
700
+ def validate(self):
701
+ if self.spark_conf:
702
+ for k in self.spark_conf:
703
+ if k:
704
+ k.validate()
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.artifact_url is not None:
713
+ result['artifactUrl'] = self.artifact_url
714
+ if self.biz_id is not None:
715
+ result['bizId'] = self.biz_id
716
+ if self.category_biz_id is not None:
717
+ result['categoryBizId'] = self.category_biz_id
718
+ if self.content is not None:
719
+ result['content'] = self.content
720
+ if self.creator is not None:
721
+ result['creator'] = self.creator
722
+ if self.default_catalog_id is not None:
723
+ result['defaultCatalogId'] = self.default_catalog_id
724
+ if self.default_database is not None:
725
+ result['defaultDatabase'] = self.default_database
726
+ if self.default_resource_queue_id is not None:
727
+ result['defaultResourceQueueId'] = self.default_resource_queue_id
728
+ if self.default_sql_compute_id is not None:
729
+ result['defaultSqlComputeId'] = self.default_sql_compute_id
730
+ if self.extra_artifact_ids is not None:
731
+ result['extraArtifactIds'] = self.extra_artifact_ids
732
+ if self.gmt_created is not None:
733
+ result['gmtCreated'] = self.gmt_created
734
+ if self.gmt_modified is not None:
735
+ result['gmtModified'] = self.gmt_modified
736
+ if self.has_changed is not None:
737
+ result['hasChanged'] = self.has_changed
738
+ if self.has_commited is not None:
739
+ result['hasCommited'] = self.has_commited
740
+ if self.last_run_resource_queue_id is not None:
741
+ result['lastRunResourceQueueId'] = self.last_run_resource_queue_id
742
+ if self.modifier is not None:
743
+ result['modifier'] = self.modifier
744
+ if self.name is not None:
745
+ result['name'] = self.name
746
+ if self.py_files is not None:
747
+ result['pyFiles'] = self.py_files
748
+ if self.spark_args is not None:
749
+ result['sparkArgs'] = self.spark_args
750
+ result['sparkConf'] = []
751
+ if self.spark_conf is not None:
752
+ for k in self.spark_conf:
753
+ result['sparkConf'].append(k.to_map() if k else None)
754
+ if self.spark_driver_cores is not None:
755
+ result['sparkDriverCores'] = self.spark_driver_cores
756
+ if self.spark_driver_memory is not None:
757
+ result['sparkDriverMemory'] = self.spark_driver_memory
758
+ if self.spark_entrypoint is not None:
759
+ result['sparkEntrypoint'] = self.spark_entrypoint
760
+ if self.spark_executor_cores is not None:
761
+ result['sparkExecutorCores'] = self.spark_executor_cores
762
+ if self.spark_executor_memory is not None:
763
+ result['sparkExecutorMemory'] = self.spark_executor_memory
764
+ if self.spark_log_level is not None:
765
+ result['sparkLogLevel'] = self.spark_log_level
766
+ if self.spark_log_path is not None:
767
+ result['sparkLogPath'] = self.spark_log_path
768
+ if self.spark_version is not None:
769
+ result['sparkVersion'] = self.spark_version
770
+ if self.tags is not None:
771
+ result['tags'] = self.tags
772
+ if self.type is not None:
773
+ result['type'] = self.type
774
+ return result
775
+
776
+ def from_map(self, m: dict = None):
777
+ m = m or dict()
778
+ if m.get('artifactUrl') is not None:
779
+ self.artifact_url = m.get('artifactUrl')
780
+ if m.get('bizId') is not None:
781
+ self.biz_id = m.get('bizId')
782
+ if m.get('categoryBizId') is not None:
783
+ self.category_biz_id = m.get('categoryBizId')
784
+ if m.get('content') is not None:
785
+ self.content = m.get('content')
786
+ if m.get('creator') is not None:
787
+ self.creator = m.get('creator')
788
+ if m.get('defaultCatalogId') is not None:
789
+ self.default_catalog_id = m.get('defaultCatalogId')
790
+ if m.get('defaultDatabase') is not None:
791
+ self.default_database = m.get('defaultDatabase')
792
+ if m.get('defaultResourceQueueId') is not None:
793
+ self.default_resource_queue_id = m.get('defaultResourceQueueId')
794
+ if m.get('defaultSqlComputeId') is not None:
795
+ self.default_sql_compute_id = m.get('defaultSqlComputeId')
796
+ if m.get('extraArtifactIds') is not None:
797
+ self.extra_artifact_ids = m.get('extraArtifactIds')
798
+ if m.get('gmtCreated') is not None:
799
+ self.gmt_created = m.get('gmtCreated')
800
+ if m.get('gmtModified') is not None:
801
+ self.gmt_modified = m.get('gmtModified')
802
+ if m.get('hasChanged') is not None:
803
+ self.has_changed = m.get('hasChanged')
804
+ if m.get('hasCommited') is not None:
805
+ self.has_commited = m.get('hasCommited')
806
+ if m.get('lastRunResourceQueueId') is not None:
807
+ self.last_run_resource_queue_id = m.get('lastRunResourceQueueId')
808
+ if m.get('modifier') is not None:
809
+ self.modifier = m.get('modifier')
810
+ if m.get('name') is not None:
811
+ self.name = m.get('name')
812
+ if m.get('pyFiles') is not None:
813
+ self.py_files = m.get('pyFiles')
814
+ if m.get('sparkArgs') is not None:
815
+ self.spark_args = m.get('sparkArgs')
816
+ self.spark_conf = []
817
+ if m.get('sparkConf') is not None:
818
+ for k in m.get('sparkConf'):
819
+ temp_model = SparkConf()
820
+ self.spark_conf.append(temp_model.from_map(k))
821
+ if m.get('sparkDriverCores') is not None:
822
+ self.spark_driver_cores = m.get('sparkDriverCores')
823
+ if m.get('sparkDriverMemory') is not None:
824
+ self.spark_driver_memory = m.get('sparkDriverMemory')
825
+ if m.get('sparkEntrypoint') is not None:
826
+ self.spark_entrypoint = m.get('sparkEntrypoint')
827
+ if m.get('sparkExecutorCores') is not None:
828
+ self.spark_executor_cores = m.get('sparkExecutorCores')
829
+ if m.get('sparkExecutorMemory') is not None:
830
+ self.spark_executor_memory = m.get('sparkExecutorMemory')
831
+ if m.get('sparkLogLevel') is not None:
832
+ self.spark_log_level = m.get('sparkLogLevel')
833
+ if m.get('sparkLogPath') is not None:
834
+ self.spark_log_path = m.get('sparkLogPath')
835
+ if m.get('sparkVersion') is not None:
836
+ self.spark_version = m.get('sparkVersion')
837
+ if m.get('tags') is not None:
838
+ self.tags = m.get('tags')
839
+ if m.get('type') is not None:
840
+ self.type = m.get('type')
841
+ return self
842
+
843
+
844
+ class TaskInstance(TeaModel):
845
+ def __init__(
846
+ self,
847
+ biz_id: str = None,
848
+ creator: int = None,
849
+ fenix_run_id: str = None,
850
+ gmt_created: str = None,
851
+ task_biz_id: str = None,
852
+ task_info: Task = None,
853
+ task_status: str = None,
854
+ workspace_biz_id: str = None,
855
+ ):
856
+ self.biz_id = biz_id
857
+ self.creator = creator
858
+ self.fenix_run_id = fenix_run_id
859
+ self.gmt_created = gmt_created
860
+ self.task_biz_id = task_biz_id
861
+ self.task_info = task_info
862
+ self.task_status = task_status
863
+ self.workspace_biz_id = workspace_biz_id
864
+
865
+ def validate(self):
866
+ if self.task_info:
867
+ self.task_info.validate()
868
+
869
+ def to_map(self):
870
+ _map = super().to_map()
871
+ if _map is not None:
872
+ return _map
873
+
874
+ result = dict()
875
+ if self.biz_id is not None:
876
+ result['bizId'] = self.biz_id
877
+ if self.creator is not None:
878
+ result['creator'] = self.creator
879
+ if self.fenix_run_id is not None:
880
+ result['fenixRunId'] = self.fenix_run_id
881
+ if self.gmt_created is not None:
882
+ result['gmtCreated'] = self.gmt_created
883
+ if self.task_biz_id is not None:
884
+ result['taskBizId'] = self.task_biz_id
885
+ if self.task_info is not None:
886
+ result['taskInfo'] = self.task_info.to_map()
887
+ if self.task_status is not None:
888
+ result['taskStatus'] = self.task_status
889
+ if self.workspace_biz_id is not None:
890
+ result['workspaceBizId'] = self.workspace_biz_id
891
+ return result
892
+
893
+ def from_map(self, m: dict = None):
894
+ m = m or dict()
895
+ if m.get('bizId') is not None:
896
+ self.biz_id = m.get('bizId')
897
+ if m.get('creator') is not None:
898
+ self.creator = m.get('creator')
899
+ if m.get('fenixRunId') is not None:
900
+ self.fenix_run_id = m.get('fenixRunId')
901
+ if m.get('gmtCreated') is not None:
902
+ self.gmt_created = m.get('gmtCreated')
903
+ if m.get('taskBizId') is not None:
904
+ self.task_biz_id = m.get('taskBizId')
905
+ if m.get('taskInfo') is not None:
906
+ temp_model = Task()
907
+ self.task_info = temp_model.from_map(m['taskInfo'])
908
+ if m.get('taskStatus') is not None:
909
+ self.task_status = m.get('taskStatus')
910
+ if m.get('workspaceBizId') is not None:
911
+ self.workspace_biz_id = m.get('workspaceBizId')
912
+ return self
913
+
914
+
915
+ class TaskSnapshot(TeaModel):
916
+ def __init__(
917
+ self,
918
+ biz_id: str = None,
919
+ commiter: int = None,
920
+ gmt_created: str = None,
921
+ item: Task = None,
922
+ message: str = None,
923
+ task_biz_id: str = None,
924
+ version: str = None,
925
+ ):
926
+ self.biz_id = biz_id
927
+ self.commiter = commiter
928
+ self.gmt_created = gmt_created
929
+ self.item = item
930
+ self.message = message
931
+ self.task_biz_id = task_biz_id
932
+ self.version = version
933
+
934
+ def validate(self):
935
+ if self.item:
936
+ self.item.validate()
937
+
938
+ def to_map(self):
939
+ _map = super().to_map()
940
+ if _map is not None:
941
+ return _map
942
+
943
+ result = dict()
944
+ if self.biz_id is not None:
945
+ result['bizId'] = self.biz_id
946
+ if self.commiter is not None:
947
+ result['commiter'] = self.commiter
948
+ if self.gmt_created is not None:
949
+ result['gmtCreated'] = self.gmt_created
950
+ if self.item is not None:
951
+ result['item'] = self.item.to_map()
952
+ if self.message is not None:
953
+ result['message'] = self.message
954
+ if self.task_biz_id is not None:
955
+ result['taskBizId'] = self.task_biz_id
956
+ if self.version is not None:
957
+ result['version'] = self.version
958
+ return result
959
+
960
+ def from_map(self, m: dict = None):
961
+ m = m or dict()
962
+ if m.get('bizId') is not None:
963
+ self.biz_id = m.get('bizId')
964
+ if m.get('commiter') is not None:
965
+ self.commiter = m.get('commiter')
966
+ if m.get('gmtCreated') is not None:
967
+ self.gmt_created = m.get('gmtCreated')
968
+ if m.get('item') is not None:
969
+ temp_model = Task()
970
+ self.item = temp_model.from_map(m['item'])
971
+ if m.get('message') is not None:
972
+ self.message = m.get('message')
973
+ if m.get('taskBizId') is not None:
974
+ self.task_biz_id = m.get('taskBizId')
975
+ if m.get('version') is not None:
976
+ self.version = m.get('version')
977
+ return self
978
+
979
+
980
+ class Template(TeaModel):
981
+ def __init__(
982
+ self,
983
+ creator: int = None,
984
+ gmt_created: str = None,
985
+ gmt_modified: str = None,
986
+ modifier: int = None,
987
+ spark_conf: List[SparkConf] = None,
988
+ spark_driver_cores: int = None,
989
+ spark_driver_memory: int = None,
990
+ spark_executor_cores: int = None,
991
+ spark_executor_memory: int = None,
992
+ spark_log_level: str = None,
993
+ spark_log_path: str = None,
994
+ spark_version: str = None,
995
+ template_type: str = None,
996
+ ):
997
+ self.creator = creator
998
+ self.gmt_created = gmt_created
999
+ self.gmt_modified = gmt_modified
1000
+ self.modifier = modifier
1001
+ self.spark_conf = spark_conf
1002
+ self.spark_driver_cores = spark_driver_cores
1003
+ self.spark_driver_memory = spark_driver_memory
1004
+ self.spark_executor_cores = spark_executor_cores
1005
+ self.spark_executor_memory = spark_executor_memory
1006
+ self.spark_log_level = spark_log_level
1007
+ self.spark_log_path = spark_log_path
1008
+ self.spark_version = spark_version
1009
+ self.template_type = template_type
1010
+
1011
+ def validate(self):
1012
+ if self.spark_conf:
1013
+ for k in self.spark_conf:
1014
+ if k:
1015
+ k.validate()
1016
+
1017
+ def to_map(self):
1018
+ _map = super().to_map()
1019
+ if _map is not None:
1020
+ return _map
1021
+
1022
+ result = dict()
1023
+ if self.creator is not None:
1024
+ result['creator'] = self.creator
1025
+ if self.gmt_created is not None:
1026
+ result['gmtCreated'] = self.gmt_created
1027
+ if self.gmt_modified is not None:
1028
+ result['gmtModified'] = self.gmt_modified
1029
+ if self.modifier is not None:
1030
+ result['modifier'] = self.modifier
1031
+ result['sparkConf'] = []
1032
+ if self.spark_conf is not None:
1033
+ for k in self.spark_conf:
1034
+ result['sparkConf'].append(k.to_map() if k else None)
1035
+ if self.spark_driver_cores is not None:
1036
+ result['sparkDriverCores'] = self.spark_driver_cores
1037
+ if self.spark_driver_memory is not None:
1038
+ result['sparkDriverMemory'] = self.spark_driver_memory
1039
+ if self.spark_executor_cores is not None:
1040
+ result['sparkExecutorCores'] = self.spark_executor_cores
1041
+ if self.spark_executor_memory is not None:
1042
+ result['sparkExecutorMemory'] = self.spark_executor_memory
1043
+ if self.spark_log_level is not None:
1044
+ result['sparkLogLevel'] = self.spark_log_level
1045
+ if self.spark_log_path is not None:
1046
+ result['sparkLogPath'] = self.spark_log_path
1047
+ if self.spark_version is not None:
1048
+ result['sparkVersion'] = self.spark_version
1049
+ if self.template_type is not None:
1050
+ result['templateType'] = self.template_type
1051
+ return result
1052
+
1053
+ def from_map(self, m: dict = None):
1054
+ m = m or dict()
1055
+ if m.get('creator') is not None:
1056
+ self.creator = m.get('creator')
1057
+ if m.get('gmtCreated') is not None:
1058
+ self.gmt_created = m.get('gmtCreated')
1059
+ if m.get('gmtModified') is not None:
1060
+ self.gmt_modified = m.get('gmtModified')
1061
+ if m.get('modifier') is not None:
1062
+ self.modifier = m.get('modifier')
1063
+ self.spark_conf = []
1064
+ if m.get('sparkConf') is not None:
1065
+ for k in m.get('sparkConf'):
1066
+ temp_model = SparkConf()
1067
+ self.spark_conf.append(temp_model.from_map(k))
1068
+ if m.get('sparkDriverCores') is not None:
1069
+ self.spark_driver_cores = m.get('sparkDriverCores')
1070
+ if m.get('sparkDriverMemory') is not None:
1071
+ self.spark_driver_memory = m.get('sparkDriverMemory')
1072
+ if m.get('sparkExecutorCores') is not None:
1073
+ self.spark_executor_cores = m.get('sparkExecutorCores')
1074
+ if m.get('sparkExecutorMemory') is not None:
1075
+ self.spark_executor_memory = m.get('sparkExecutorMemory')
1076
+ if m.get('sparkLogLevel') is not None:
1077
+ self.spark_log_level = m.get('sparkLogLevel')
1078
+ if m.get('sparkLogPath') is not None:
1079
+ self.spark_log_path = m.get('sparkLogPath')
1080
+ if m.get('sparkVersion') is not None:
1081
+ self.spark_version = m.get('sparkVersion')
1082
+ if m.get('templateType') is not None:
1083
+ self.template_type = m.get('templateType')
1084
+ return self
1085
+
1086
+
1087
+ class TimeRange(TeaModel):
1088
+ def __init__(
1089
+ self,
1090
+ end_time: int = None,
1091
+ start_time: int = None,
1092
+ ):
1093
+ # 时间范围结束时间。
1094
+ self.end_time = end_time
1095
+ # 时间范围开始时间。
1096
+ self.start_time = start_time
1097
+
1098
+ def validate(self):
1099
+ pass
1100
+
1101
+ def to_map(self):
1102
+ _map = super().to_map()
1103
+ if _map is not None:
1104
+ return _map
1105
+
1106
+ result = dict()
1107
+ if self.end_time is not None:
1108
+ result['endTime'] = self.end_time
1109
+ if self.start_time is not None:
1110
+ result['startTime'] = self.start_time
1111
+ return result
1112
+
1113
+ def from_map(self, m: dict = None):
1114
+ m = m or dict()
1115
+ if m.get('endTime') is not None:
1116
+ self.end_time = m.get('endTime')
1117
+ if m.get('startTime') is not None:
1118
+ self.start_time = m.get('startTime')
1119
+ return self
1120
+
1121
+
1122
+ class CancelJobRunRequest(TeaModel):
1123
+ def __init__(
1124
+ self,
1125
+ region_id: str = None,
1126
+ ):
1127
+ self.region_id = region_id
1128
+
1129
+ def validate(self):
1130
+ pass
1131
+
1132
+ def to_map(self):
1133
+ _map = super().to_map()
1134
+ if _map is not None:
1135
+ return _map
1136
+
1137
+ result = dict()
1138
+ if self.region_id is not None:
1139
+ result['regionId'] = self.region_id
1140
+ return result
1141
+
1142
+ def from_map(self, m: dict = None):
1143
+ m = m or dict()
1144
+ if m.get('regionId') is not None:
1145
+ self.region_id = m.get('regionId')
1146
+ return self
1147
+
1148
+
1149
+ class CancelJobRunResponseBody(TeaModel):
1150
+ def __init__(
1151
+ self,
1152
+ job_run_id: str = None,
1153
+ request_id: str = None,
1154
+ ):
1155
+ self.job_run_id = job_run_id
1156
+ # 请求ID。
1157
+ self.request_id = request_id
1158
+
1159
+ def validate(self):
1160
+ pass
1161
+
1162
+ def to_map(self):
1163
+ _map = super().to_map()
1164
+ if _map is not None:
1165
+ return _map
1166
+
1167
+ result = dict()
1168
+ if self.job_run_id is not None:
1169
+ result['jobRunId'] = self.job_run_id
1170
+ if self.request_id is not None:
1171
+ result['requestId'] = self.request_id
1172
+ return result
1173
+
1174
+ def from_map(self, m: dict = None):
1175
+ m = m or dict()
1176
+ if m.get('jobRunId') is not None:
1177
+ self.job_run_id = m.get('jobRunId')
1178
+ if m.get('requestId') is not None:
1179
+ self.request_id = m.get('requestId')
1180
+ return self
1181
+
1182
+
1183
+ class CancelJobRunResponse(TeaModel):
1184
+ def __init__(
1185
+ self,
1186
+ headers: Dict[str, str] = None,
1187
+ status_code: int = None,
1188
+ body: CancelJobRunResponseBody = None,
1189
+ ):
1190
+ self.headers = headers
1191
+ self.status_code = status_code
1192
+ self.body = body
1193
+
1194
+ def validate(self):
1195
+ if self.body:
1196
+ self.body.validate()
1197
+
1198
+ def to_map(self):
1199
+ _map = super().to_map()
1200
+ if _map is not None:
1201
+ return _map
1202
+
1203
+ result = dict()
1204
+ if self.headers is not None:
1205
+ result['headers'] = self.headers
1206
+ if self.status_code is not None:
1207
+ result['statusCode'] = self.status_code
1208
+ if self.body is not None:
1209
+ result['body'] = self.body.to_map()
1210
+ return result
1211
+
1212
+ def from_map(self, m: dict = None):
1213
+ m = m or dict()
1214
+ if m.get('headers') is not None:
1215
+ self.headers = m.get('headers')
1216
+ if m.get('statusCode') is not None:
1217
+ self.status_code = m.get('statusCode')
1218
+ if m.get('body') is not None:
1219
+ temp_model = CancelJobRunResponseBody()
1220
+ self.body = temp_model.from_map(m['body'])
1221
+ return self
1222
+
1223
+
1224
+ class GetJobRunRequest(TeaModel):
1225
+ def __init__(
1226
+ self,
1227
+ region_id: str = None,
1228
+ ):
1229
+ self.region_id = region_id
1230
+
1231
+ def validate(self):
1232
+ pass
1233
+
1234
+ def to_map(self):
1235
+ _map = super().to_map()
1236
+ if _map is not None:
1237
+ return _map
1238
+
1239
+ result = dict()
1240
+ if self.region_id is not None:
1241
+ result['regionId'] = self.region_id
1242
+ return result
1243
+
1244
+ def from_map(self, m: dict = None):
1245
+ m = m or dict()
1246
+ if m.get('regionId') is not None:
1247
+ self.region_id = m.get('regionId')
1248
+ return self
1249
+
1250
+
1251
+ class GetJobRunResponseBodyJobRunConfigurationOverrides(TeaModel):
1252
+ def __init__(
1253
+ self,
1254
+ configurations: List[Configuration] = None,
1255
+ ):
1256
+ self.configurations = configurations
1257
+
1258
+ def validate(self):
1259
+ if self.configurations:
1260
+ for k in self.configurations:
1261
+ if k:
1262
+ k.validate()
1263
+
1264
+ def to_map(self):
1265
+ _map = super().to_map()
1266
+ if _map is not None:
1267
+ return _map
1268
+
1269
+ result = dict()
1270
+ result['configurations'] = []
1271
+ if self.configurations is not None:
1272
+ for k in self.configurations:
1273
+ result['configurations'].append(k.to_map() if k else None)
1274
+ return result
1275
+
1276
+ def from_map(self, m: dict = None):
1277
+ m = m or dict()
1278
+ self.configurations = []
1279
+ if m.get('configurations') is not None:
1280
+ for k in m.get('configurations'):
1281
+ temp_model = Configuration()
1282
+ self.configurations.append(temp_model.from_map(k))
1283
+ return self
1284
+
1285
+
1286
+ class GetJobRunResponseBodyJobRunStateChangeReason(TeaModel):
1287
+ def __init__(
1288
+ self,
1289
+ code: str = None,
1290
+ message: str = None,
1291
+ ):
1292
+ self.code = code
1293
+ self.message = message
1294
+
1295
+ def validate(self):
1296
+ pass
1297
+
1298
+ def to_map(self):
1299
+ _map = super().to_map()
1300
+ if _map is not None:
1301
+ return _map
1302
+
1303
+ result = dict()
1304
+ if self.code is not None:
1305
+ result['code'] = self.code
1306
+ if self.message is not None:
1307
+ result['message'] = self.message
1308
+ return result
1309
+
1310
+ def from_map(self, m: dict = None):
1311
+ m = m or dict()
1312
+ if m.get('code') is not None:
1313
+ self.code = m.get('code')
1314
+ if m.get('message') is not None:
1315
+ self.message = m.get('message')
1316
+ return self
1317
+
1318
+
1319
+ class GetJobRunResponseBodyJobRun(TeaModel):
1320
+ def __init__(
1321
+ self,
1322
+ code_type: str = None,
1323
+ configuration_overrides: GetJobRunResponseBodyJobRunConfigurationOverrides = None,
1324
+ end_time: int = None,
1325
+ execution_timeout_seconds: int = None,
1326
+ job_driver: JobDriver = None,
1327
+ job_run_id: str = None,
1328
+ log: RunLog = None,
1329
+ name: str = None,
1330
+ release_version: str = None,
1331
+ resource_owner_id: str = None,
1332
+ resource_queue_id: str = None,
1333
+ state: str = None,
1334
+ state_change_reason: GetJobRunResponseBodyJobRunStateChangeReason = None,
1335
+ submit_time: int = None,
1336
+ tags: List[Tag] = None,
1337
+ web_ui: str = None,
1338
+ workspace_id: str = None,
1339
+ ):
1340
+ # 作业代码类型。
1341
+ self.code_type = code_type
1342
+ self.configuration_overrides = configuration_overrides
1343
+ # 作业结束时间。
1344
+ self.end_time = end_time
1345
+ # 运行超时时间。
1346
+ self.execution_timeout_seconds = execution_timeout_seconds
1347
+ self.job_driver = job_driver
1348
+ # 任务实例ID。
1349
+ self.job_run_id = job_run_id
1350
+ self.log = log
1351
+ # 作业实例名称。
1352
+ self.name = name
1353
+ self.release_version = release_version
1354
+ # 创建用户Uid。
1355
+ self.resource_owner_id = resource_owner_id
1356
+ self.resource_queue_id = resource_queue_id
1357
+ # 作业状态。
1358
+ self.state = state
1359
+ self.state_change_reason = state_change_reason
1360
+ # 作业提交时间。
1361
+ self.submit_time = submit_time
1362
+ # 标签。
1363
+ self.tags = tags
1364
+ # 作业web ui。
1365
+ self.web_ui = web_ui
1366
+ # 工作空间id。
1367
+ self.workspace_id = workspace_id
1368
+
1369
+ def validate(self):
1370
+ if self.configuration_overrides:
1371
+ self.configuration_overrides.validate()
1372
+ if self.job_driver:
1373
+ self.job_driver.validate()
1374
+ if self.log:
1375
+ self.log.validate()
1376
+ if self.state_change_reason:
1377
+ self.state_change_reason.validate()
1378
+ if self.tags:
1379
+ for k in self.tags:
1380
+ if k:
1381
+ k.validate()
1382
+
1383
+ def to_map(self):
1384
+ _map = super().to_map()
1385
+ if _map is not None:
1386
+ return _map
1387
+
1388
+ result = dict()
1389
+ if self.code_type is not None:
1390
+ result['codeType'] = self.code_type
1391
+ if self.configuration_overrides is not None:
1392
+ result['configurationOverrides'] = self.configuration_overrides.to_map()
1393
+ if self.end_time is not None:
1394
+ result['endTime'] = self.end_time
1395
+ if self.execution_timeout_seconds is not None:
1396
+ result['executionTimeoutSeconds'] = self.execution_timeout_seconds
1397
+ if self.job_driver is not None:
1398
+ result['jobDriver'] = self.job_driver.to_map()
1399
+ if self.job_run_id is not None:
1400
+ result['jobRunId'] = self.job_run_id
1401
+ if self.log is not None:
1402
+ result['log'] = self.log.to_map()
1403
+ if self.name is not None:
1404
+ result['name'] = self.name
1405
+ if self.release_version is not None:
1406
+ result['releaseVersion'] = self.release_version
1407
+ if self.resource_owner_id is not None:
1408
+ result['resourceOwnerId'] = self.resource_owner_id
1409
+ if self.resource_queue_id is not None:
1410
+ result['resourceQueueId'] = self.resource_queue_id
1411
+ if self.state is not None:
1412
+ result['state'] = self.state
1413
+ if self.state_change_reason is not None:
1414
+ result['stateChangeReason'] = self.state_change_reason.to_map()
1415
+ if self.submit_time is not None:
1416
+ result['submitTime'] = self.submit_time
1417
+ result['tags'] = []
1418
+ if self.tags is not None:
1419
+ for k in self.tags:
1420
+ result['tags'].append(k.to_map() if k else None)
1421
+ if self.web_ui is not None:
1422
+ result['webUI'] = self.web_ui
1423
+ if self.workspace_id is not None:
1424
+ result['workspaceId'] = self.workspace_id
1425
+ return result
1426
+
1427
+ def from_map(self, m: dict = None):
1428
+ m = m or dict()
1429
+ if m.get('codeType') is not None:
1430
+ self.code_type = m.get('codeType')
1431
+ if m.get('configurationOverrides') is not None:
1432
+ temp_model = GetJobRunResponseBodyJobRunConfigurationOverrides()
1433
+ self.configuration_overrides = temp_model.from_map(m['configurationOverrides'])
1434
+ if m.get('endTime') is not None:
1435
+ self.end_time = m.get('endTime')
1436
+ if m.get('executionTimeoutSeconds') is not None:
1437
+ self.execution_timeout_seconds = m.get('executionTimeoutSeconds')
1438
+ if m.get('jobDriver') is not None:
1439
+ temp_model = JobDriver()
1440
+ self.job_driver = temp_model.from_map(m['jobDriver'])
1441
+ if m.get('jobRunId') is not None:
1442
+ self.job_run_id = m.get('jobRunId')
1443
+ if m.get('log') is not None:
1444
+ temp_model = RunLog()
1445
+ self.log = temp_model.from_map(m['log'])
1446
+ if m.get('name') is not None:
1447
+ self.name = m.get('name')
1448
+ if m.get('releaseVersion') is not None:
1449
+ self.release_version = m.get('releaseVersion')
1450
+ if m.get('resourceOwnerId') is not None:
1451
+ self.resource_owner_id = m.get('resourceOwnerId')
1452
+ if m.get('resourceQueueId') is not None:
1453
+ self.resource_queue_id = m.get('resourceQueueId')
1454
+ if m.get('state') is not None:
1455
+ self.state = m.get('state')
1456
+ if m.get('stateChangeReason') is not None:
1457
+ temp_model = GetJobRunResponseBodyJobRunStateChangeReason()
1458
+ self.state_change_reason = temp_model.from_map(m['stateChangeReason'])
1459
+ if m.get('submitTime') is not None:
1460
+ self.submit_time = m.get('submitTime')
1461
+ self.tags = []
1462
+ if m.get('tags') is not None:
1463
+ for k in m.get('tags'):
1464
+ temp_model = Tag()
1465
+ self.tags.append(temp_model.from_map(k))
1466
+ if m.get('webUI') is not None:
1467
+ self.web_ui = m.get('webUI')
1468
+ if m.get('workspaceId') is not None:
1469
+ self.workspace_id = m.get('workspaceId')
1470
+ return self
1471
+
1472
+
1473
+ class GetJobRunResponseBody(TeaModel):
1474
+ def __init__(
1475
+ self,
1476
+ job_run: GetJobRunResponseBodyJobRun = None,
1477
+ request_id: str = None,
1478
+ ):
1479
+ self.job_run = job_run
1480
+ # 请求ID。
1481
+ self.request_id = request_id
1482
+
1483
+ def validate(self):
1484
+ if self.job_run:
1485
+ self.job_run.validate()
1486
+
1487
+ def to_map(self):
1488
+ _map = super().to_map()
1489
+ if _map is not None:
1490
+ return _map
1491
+
1492
+ result = dict()
1493
+ if self.job_run is not None:
1494
+ result['jobRun'] = self.job_run.to_map()
1495
+ if self.request_id is not None:
1496
+ result['requestId'] = self.request_id
1497
+ return result
1498
+
1499
+ def from_map(self, m: dict = None):
1500
+ m = m or dict()
1501
+ if m.get('jobRun') is not None:
1502
+ temp_model = GetJobRunResponseBodyJobRun()
1503
+ self.job_run = temp_model.from_map(m['jobRun'])
1504
+ if m.get('requestId') is not None:
1505
+ self.request_id = m.get('requestId')
1506
+ return self
1507
+
1508
+
1509
+ class GetJobRunResponse(TeaModel):
1510
+ def __init__(
1511
+ self,
1512
+ headers: Dict[str, str] = None,
1513
+ status_code: int = None,
1514
+ body: GetJobRunResponseBody = None,
1515
+ ):
1516
+ self.headers = headers
1517
+ self.status_code = status_code
1518
+ self.body = body
1519
+
1520
+ def validate(self):
1521
+ if self.body:
1522
+ self.body.validate()
1523
+
1524
+ def to_map(self):
1525
+ _map = super().to_map()
1526
+ if _map is not None:
1527
+ return _map
1528
+
1529
+ result = dict()
1530
+ if self.headers is not None:
1531
+ result['headers'] = self.headers
1532
+ if self.status_code is not None:
1533
+ result['statusCode'] = self.status_code
1534
+ if self.body is not None:
1535
+ result['body'] = self.body.to_map()
1536
+ return result
1537
+
1538
+ def from_map(self, m: dict = None):
1539
+ m = m or dict()
1540
+ if m.get('headers') is not None:
1541
+ self.headers = m.get('headers')
1542
+ if m.get('statusCode') is not None:
1543
+ self.status_code = m.get('statusCode')
1544
+ if m.get('body') is not None:
1545
+ temp_model = GetJobRunResponseBody()
1546
+ self.body = temp_model.from_map(m['body'])
1547
+ return self
1548
+
1549
+
1550
+ class ListJobRunsRequestEndTime(TeaModel):
1551
+ def __init__(
1552
+ self,
1553
+ end_time: int = None,
1554
+ start_time: int = None,
1555
+ ):
1556
+ self.end_time = end_time
1557
+ self.start_time = start_time
1558
+
1559
+ def validate(self):
1560
+ pass
1561
+
1562
+ def to_map(self):
1563
+ _map = super().to_map()
1564
+ if _map is not None:
1565
+ return _map
1566
+
1567
+ result = dict()
1568
+ if self.end_time is not None:
1569
+ result['endTime'] = self.end_time
1570
+ if self.start_time is not None:
1571
+ result['startTime'] = self.start_time
1572
+ return result
1573
+
1574
+ def from_map(self, m: dict = None):
1575
+ m = m or dict()
1576
+ if m.get('endTime') is not None:
1577
+ self.end_time = m.get('endTime')
1578
+ if m.get('startTime') is not None:
1579
+ self.start_time = m.get('startTime')
1580
+ return self
1581
+
1582
+
1583
+ class ListJobRunsRequestStartTime(TeaModel):
1584
+ def __init__(
1585
+ self,
1586
+ end_time: int = None,
1587
+ start_time: int = None,
1588
+ ):
1589
+ self.end_time = end_time
1590
+ self.start_time = start_time
1591
+
1592
+ def validate(self):
1593
+ pass
1594
+
1595
+ def to_map(self):
1596
+ _map = super().to_map()
1597
+ if _map is not None:
1598
+ return _map
1599
+
1600
+ result = dict()
1601
+ if self.end_time is not None:
1602
+ result['endTime'] = self.end_time
1603
+ if self.start_time is not None:
1604
+ result['startTime'] = self.start_time
1605
+ return result
1606
+
1607
+ def from_map(self, m: dict = None):
1608
+ m = m or dict()
1609
+ if m.get('endTime') is not None:
1610
+ self.end_time = m.get('endTime')
1611
+ if m.get('startTime') is not None:
1612
+ self.start_time = m.get('startTime')
1613
+ return self
1614
+
1615
+
1616
+ class ListJobRunsRequestTags(TeaModel):
1617
+ def __init__(
1618
+ self,
1619
+ key: str = None,
1620
+ value: str = None,
1621
+ ):
1622
+ self.key = key
1623
+ self.value = value
1624
+
1625
+ def validate(self):
1626
+ pass
1627
+
1628
+ def to_map(self):
1629
+ _map = super().to_map()
1630
+ if _map is not None:
1631
+ return _map
1632
+
1633
+ result = dict()
1634
+ if self.key is not None:
1635
+ result['key'] = self.key
1636
+ if self.value is not None:
1637
+ result['value'] = self.value
1638
+ return result
1639
+
1640
+ def from_map(self, m: dict = None):
1641
+ m = m or dict()
1642
+ if m.get('key') is not None:
1643
+ self.key = m.get('key')
1644
+ if m.get('value') is not None:
1645
+ self.value = m.get('value')
1646
+ return self
1647
+
1648
+
1649
+ class ListJobRunsRequest(TeaModel):
1650
+ def __init__(
1651
+ self,
1652
+ creator: str = None,
1653
+ end_time: ListJobRunsRequestEndTime = None,
1654
+ job_run_id: str = None,
1655
+ max_results: int = None,
1656
+ name: str = None,
1657
+ next_token: str = None,
1658
+ region_id: str = None,
1659
+ resource_queue_id: str = None,
1660
+ start_time: ListJobRunsRequestStartTime = None,
1661
+ states: List[str] = None,
1662
+ tags: List[ListJobRunsRequestTags] = None,
1663
+ ):
1664
+ # 创建用户Uid。
1665
+ self.creator = creator
1666
+ self.end_time = end_time
1667
+ # 作业id。
1668
+ self.job_run_id = job_run_id
1669
+ # 一次获取的最大记录数。
1670
+ self.max_results = max_results
1671
+ # 作业名称。
1672
+ self.name = name
1673
+ # 标记当前开始读取的位置,置空表示从头开始。
1674
+ self.next_token = next_token
1675
+ self.region_id = region_id
1676
+ self.resource_queue_id = resource_queue_id
1677
+ self.start_time = start_time
1678
+ # 作业状态。
1679
+ self.states = states
1680
+ # 标签。
1681
+ self.tags = tags
1682
+
1683
+ def validate(self):
1684
+ if self.end_time:
1685
+ self.end_time.validate()
1686
+ if self.start_time:
1687
+ self.start_time.validate()
1688
+ if self.tags:
1689
+ for k in self.tags:
1690
+ if k:
1691
+ k.validate()
1692
+
1693
+ def to_map(self):
1694
+ _map = super().to_map()
1695
+ if _map is not None:
1696
+ return _map
1697
+
1698
+ result = dict()
1699
+ if self.creator is not None:
1700
+ result['creator'] = self.creator
1701
+ if self.end_time is not None:
1702
+ result['endTime'] = self.end_time.to_map()
1703
+ if self.job_run_id is not None:
1704
+ result['jobRunId'] = self.job_run_id
1705
+ if self.max_results is not None:
1706
+ result['maxResults'] = self.max_results
1707
+ if self.name is not None:
1708
+ result['name'] = self.name
1709
+ if self.next_token is not None:
1710
+ result['nextToken'] = self.next_token
1711
+ if self.region_id is not None:
1712
+ result['regionId'] = self.region_id
1713
+ if self.resource_queue_id is not None:
1714
+ result['resourceQueueId'] = self.resource_queue_id
1715
+ if self.start_time is not None:
1716
+ result['startTime'] = self.start_time.to_map()
1717
+ if self.states is not None:
1718
+ result['states'] = self.states
1719
+ result['tags'] = []
1720
+ if self.tags is not None:
1721
+ for k in self.tags:
1722
+ result['tags'].append(k.to_map() if k else None)
1723
+ return result
1724
+
1725
+ def from_map(self, m: dict = None):
1726
+ m = m or dict()
1727
+ if m.get('creator') is not None:
1728
+ self.creator = m.get('creator')
1729
+ if m.get('endTime') is not None:
1730
+ temp_model = ListJobRunsRequestEndTime()
1731
+ self.end_time = temp_model.from_map(m['endTime'])
1732
+ if m.get('jobRunId') is not None:
1733
+ self.job_run_id = m.get('jobRunId')
1734
+ if m.get('maxResults') is not None:
1735
+ self.max_results = m.get('maxResults')
1736
+ if m.get('name') is not None:
1737
+ self.name = m.get('name')
1738
+ if m.get('nextToken') is not None:
1739
+ self.next_token = m.get('nextToken')
1740
+ if m.get('regionId') is not None:
1741
+ self.region_id = m.get('regionId')
1742
+ if m.get('resourceQueueId') is not None:
1743
+ self.resource_queue_id = m.get('resourceQueueId')
1744
+ if m.get('startTime') is not None:
1745
+ temp_model = ListJobRunsRequestStartTime()
1746
+ self.start_time = temp_model.from_map(m['startTime'])
1747
+ if m.get('states') is not None:
1748
+ self.states = m.get('states')
1749
+ self.tags = []
1750
+ if m.get('tags') is not None:
1751
+ for k in m.get('tags'):
1752
+ temp_model = ListJobRunsRequestTags()
1753
+ self.tags.append(temp_model.from_map(k))
1754
+ return self
1755
+
1756
+
1757
+ class ListJobRunsShrinkRequest(TeaModel):
1758
+ def __init__(
1759
+ self,
1760
+ creator: str = None,
1761
+ end_time_shrink: str = None,
1762
+ job_run_id: str = None,
1763
+ max_results: int = None,
1764
+ name: str = None,
1765
+ next_token: str = None,
1766
+ region_id: str = None,
1767
+ resource_queue_id: str = None,
1768
+ start_time_shrink: str = None,
1769
+ states_shrink: str = None,
1770
+ tags_shrink: str = None,
1771
+ ):
1772
+ # 创建用户Uid。
1773
+ self.creator = creator
1774
+ self.end_time_shrink = end_time_shrink
1775
+ # 作业id。
1776
+ self.job_run_id = job_run_id
1777
+ # 一次获取的最大记录数。
1778
+ self.max_results = max_results
1779
+ # 作业名称。
1780
+ self.name = name
1781
+ # 标记当前开始读取的位置,置空表示从头开始。
1782
+ self.next_token = next_token
1783
+ self.region_id = region_id
1784
+ self.resource_queue_id = resource_queue_id
1785
+ self.start_time_shrink = start_time_shrink
1786
+ # 作业状态。
1787
+ self.states_shrink = states_shrink
1788
+ # 标签。
1789
+ self.tags_shrink = tags_shrink
1790
+
1791
+ def validate(self):
1792
+ pass
1793
+
1794
+ def to_map(self):
1795
+ _map = super().to_map()
1796
+ if _map is not None:
1797
+ return _map
1798
+
1799
+ result = dict()
1800
+ if self.creator is not None:
1801
+ result['creator'] = self.creator
1802
+ if self.end_time_shrink is not None:
1803
+ result['endTime'] = self.end_time_shrink
1804
+ if self.job_run_id is not None:
1805
+ result['jobRunId'] = self.job_run_id
1806
+ if self.max_results is not None:
1807
+ result['maxResults'] = self.max_results
1808
+ if self.name is not None:
1809
+ result['name'] = self.name
1810
+ if self.next_token is not None:
1811
+ result['nextToken'] = self.next_token
1812
+ if self.region_id is not None:
1813
+ result['regionId'] = self.region_id
1814
+ if self.resource_queue_id is not None:
1815
+ result['resourceQueueId'] = self.resource_queue_id
1816
+ if self.start_time_shrink is not None:
1817
+ result['startTime'] = self.start_time_shrink
1818
+ if self.states_shrink is not None:
1819
+ result['states'] = self.states_shrink
1820
+ if self.tags_shrink is not None:
1821
+ result['tags'] = self.tags_shrink
1822
+ return result
1823
+
1824
+ def from_map(self, m: dict = None):
1825
+ m = m or dict()
1826
+ if m.get('creator') is not None:
1827
+ self.creator = m.get('creator')
1828
+ if m.get('endTime') is not None:
1829
+ self.end_time_shrink = m.get('endTime')
1830
+ if m.get('jobRunId') is not None:
1831
+ self.job_run_id = m.get('jobRunId')
1832
+ if m.get('maxResults') is not None:
1833
+ self.max_results = m.get('maxResults')
1834
+ if m.get('name') is not None:
1835
+ self.name = m.get('name')
1836
+ if m.get('nextToken') is not None:
1837
+ self.next_token = m.get('nextToken')
1838
+ if m.get('regionId') is not None:
1839
+ self.region_id = m.get('regionId')
1840
+ if m.get('resourceQueueId') is not None:
1841
+ self.resource_queue_id = m.get('resourceQueueId')
1842
+ if m.get('startTime') is not None:
1843
+ self.start_time_shrink = m.get('startTime')
1844
+ if m.get('states') is not None:
1845
+ self.states_shrink = m.get('states')
1846
+ if m.get('tags') is not None:
1847
+ self.tags_shrink = m.get('tags')
1848
+ return self
1849
+
1850
+
1851
+ class ListJobRunsResponseBodyJobRunsConfigurationOverrides(TeaModel):
1852
+ def __init__(
1853
+ self,
1854
+ configurations: List[Configuration] = None,
1855
+ ):
1856
+ self.configurations = configurations
1857
+
1858
+ def validate(self):
1859
+ if self.configurations:
1860
+ for k in self.configurations:
1861
+ if k:
1862
+ k.validate()
1863
+
1864
+ def to_map(self):
1865
+ _map = super().to_map()
1866
+ if _map is not None:
1867
+ return _map
1868
+
1869
+ result = dict()
1870
+ result['configurations'] = []
1871
+ if self.configurations is not None:
1872
+ for k in self.configurations:
1873
+ result['configurations'].append(k.to_map() if k else None)
1874
+ return result
1875
+
1876
+ def from_map(self, m: dict = None):
1877
+ m = m or dict()
1878
+ self.configurations = []
1879
+ if m.get('configurations') is not None:
1880
+ for k in m.get('configurations'):
1881
+ temp_model = Configuration()
1882
+ self.configurations.append(temp_model.from_map(k))
1883
+ return self
1884
+
1885
+
1886
+ class ListJobRunsResponseBodyJobRunsStateChangeReason(TeaModel):
1887
+ def __init__(
1888
+ self,
1889
+ code: str = None,
1890
+ message: str = None,
1891
+ ):
1892
+ self.code = code
1893
+ self.message = message
1894
+
1895
+ def validate(self):
1896
+ pass
1897
+
1898
+ def to_map(self):
1899
+ _map = super().to_map()
1900
+ if _map is not None:
1901
+ return _map
1902
+
1903
+ result = dict()
1904
+ if self.code is not None:
1905
+ result['code'] = self.code
1906
+ if self.message is not None:
1907
+ result['message'] = self.message
1908
+ return result
1909
+
1910
+ def from_map(self, m: dict = None):
1911
+ m = m or dict()
1912
+ if m.get('code') is not None:
1913
+ self.code = m.get('code')
1914
+ if m.get('message') is not None:
1915
+ self.message = m.get('message')
1916
+ return self
1917
+
1918
+
1919
+ class ListJobRunsResponseBodyJobRuns(TeaModel):
1920
+ def __init__(
1921
+ self,
1922
+ code_type: str = None,
1923
+ configuration_overrides: ListJobRunsResponseBodyJobRunsConfigurationOverrides = None,
1924
+ creator: str = None,
1925
+ end_time: int = None,
1926
+ execution_timeout_seconds: int = None,
1927
+ job_driver: JobDriver = None,
1928
+ job_run_id: str = None,
1929
+ log: RunLog = None,
1930
+ name: str = None,
1931
+ release_version: str = None,
1932
+ state: str = None,
1933
+ state_change_reason: ListJobRunsResponseBodyJobRunsStateChangeReason = None,
1934
+ submit_time: int = None,
1935
+ tags: List[Tag] = None,
1936
+ web_ui: str = None,
1937
+ workspace_id: str = None,
1938
+ ):
1939
+ # 作业代码类型。
1940
+ self.code_type = code_type
1941
+ self.configuration_overrides = configuration_overrides
1942
+ # 创建用户Uid。
1943
+ self.creator = creator
1944
+ # 作业结束时间。
1945
+ self.end_time = end_time
1946
+ # 运行超时时间。
1947
+ self.execution_timeout_seconds = execution_timeout_seconds
1948
+ self.job_driver = job_driver
1949
+ # 任务实例ID。
1950
+ self.job_run_id = job_run_id
1951
+ self.log = log
1952
+ # 作业实例名称。
1953
+ self.name = name
1954
+ self.release_version = release_version
1955
+ # 作业状态。
1956
+ self.state = state
1957
+ self.state_change_reason = state_change_reason
1958
+ # 作业提交时间。
1959
+ self.submit_time = submit_time
1960
+ # 标签。
1961
+ self.tags = tags
1962
+ # 作业web ui。
1963
+ self.web_ui = web_ui
1964
+ # 工作空间id。
1965
+ self.workspace_id = workspace_id
1966
+
1967
+ def validate(self):
1968
+ if self.configuration_overrides:
1969
+ self.configuration_overrides.validate()
1970
+ if self.job_driver:
1971
+ self.job_driver.validate()
1972
+ if self.log:
1973
+ self.log.validate()
1974
+ if self.state_change_reason:
1975
+ self.state_change_reason.validate()
1976
+ if self.tags:
1977
+ for k in self.tags:
1978
+ if k:
1979
+ k.validate()
1980
+
1981
+ def to_map(self):
1982
+ _map = super().to_map()
1983
+ if _map is not None:
1984
+ return _map
1985
+
1986
+ result = dict()
1987
+ if self.code_type is not None:
1988
+ result['codeType'] = self.code_type
1989
+ if self.configuration_overrides is not None:
1990
+ result['configurationOverrides'] = self.configuration_overrides.to_map()
1991
+ if self.creator is not None:
1992
+ result['creator'] = self.creator
1993
+ if self.end_time is not None:
1994
+ result['endTime'] = self.end_time
1995
+ if self.execution_timeout_seconds is not None:
1996
+ result['executionTimeoutSeconds'] = self.execution_timeout_seconds
1997
+ if self.job_driver is not None:
1998
+ result['jobDriver'] = self.job_driver.to_map()
1999
+ if self.job_run_id is not None:
2000
+ result['jobRunId'] = self.job_run_id
2001
+ if self.log is not None:
2002
+ result['log'] = self.log.to_map()
2003
+ if self.name is not None:
2004
+ result['name'] = self.name
2005
+ if self.release_version is not None:
2006
+ result['releaseVersion'] = self.release_version
2007
+ if self.state is not None:
2008
+ result['state'] = self.state
2009
+ if self.state_change_reason is not None:
2010
+ result['stateChangeReason'] = self.state_change_reason.to_map()
2011
+ if self.submit_time is not None:
2012
+ result['submitTime'] = self.submit_time
2013
+ result['tags'] = []
2014
+ if self.tags is not None:
2015
+ for k in self.tags:
2016
+ result['tags'].append(k.to_map() if k else None)
2017
+ if self.web_ui is not None:
2018
+ result['webUI'] = self.web_ui
2019
+ if self.workspace_id is not None:
2020
+ result['workspaceId'] = self.workspace_id
2021
+ return result
2022
+
2023
+ def from_map(self, m: dict = None):
2024
+ m = m or dict()
2025
+ if m.get('codeType') is not None:
2026
+ self.code_type = m.get('codeType')
2027
+ if m.get('configurationOverrides') is not None:
2028
+ temp_model = ListJobRunsResponseBodyJobRunsConfigurationOverrides()
2029
+ self.configuration_overrides = temp_model.from_map(m['configurationOverrides'])
2030
+ if m.get('creator') is not None:
2031
+ self.creator = m.get('creator')
2032
+ if m.get('endTime') is not None:
2033
+ self.end_time = m.get('endTime')
2034
+ if m.get('executionTimeoutSeconds') is not None:
2035
+ self.execution_timeout_seconds = m.get('executionTimeoutSeconds')
2036
+ if m.get('jobDriver') is not None:
2037
+ temp_model = JobDriver()
2038
+ self.job_driver = temp_model.from_map(m['jobDriver'])
2039
+ if m.get('jobRunId') is not None:
2040
+ self.job_run_id = m.get('jobRunId')
2041
+ if m.get('log') is not None:
2042
+ temp_model = RunLog()
2043
+ self.log = temp_model.from_map(m['log'])
2044
+ if m.get('name') is not None:
2045
+ self.name = m.get('name')
2046
+ if m.get('releaseVersion') is not None:
2047
+ self.release_version = m.get('releaseVersion')
2048
+ if m.get('state') is not None:
2049
+ self.state = m.get('state')
2050
+ if m.get('stateChangeReason') is not None:
2051
+ temp_model = ListJobRunsResponseBodyJobRunsStateChangeReason()
2052
+ self.state_change_reason = temp_model.from_map(m['stateChangeReason'])
2053
+ if m.get('submitTime') is not None:
2054
+ self.submit_time = m.get('submitTime')
2055
+ self.tags = []
2056
+ if m.get('tags') is not None:
2057
+ for k in m.get('tags'):
2058
+ temp_model = Tag()
2059
+ self.tags.append(temp_model.from_map(k))
2060
+ if m.get('webUI') is not None:
2061
+ self.web_ui = m.get('webUI')
2062
+ if m.get('workspaceId') is not None:
2063
+ self.workspace_id = m.get('workspaceId')
2064
+ return self
2065
+
2066
+
2067
+ class ListJobRunsResponseBody(TeaModel):
2068
+ def __init__(
2069
+ self,
2070
+ job_runs: List[ListJobRunsResponseBodyJobRuns] = None,
2071
+ max_results: int = None,
2072
+ next_token: str = None,
2073
+ request_id: str = None,
2074
+ total_count: int = None,
2075
+ ):
2076
+ self.job_runs = job_runs
2077
+ # 本次请求所返回的最大记录条数。
2078
+ self.max_results = max_results
2079
+ # 返回读取到的数据位置,空代表数据已经读取完毕。
2080
+ self.next_token = next_token
2081
+ # 请求ID。
2082
+ self.request_id = request_id
2083
+ # 本次请求条件下的数据总量。
2084
+ self.total_count = total_count
2085
+
2086
+ def validate(self):
2087
+ if self.job_runs:
2088
+ for k in self.job_runs:
2089
+ if k:
2090
+ k.validate()
2091
+
2092
+ def to_map(self):
2093
+ _map = super().to_map()
2094
+ if _map is not None:
2095
+ return _map
2096
+
2097
+ result = dict()
2098
+ result['jobRuns'] = []
2099
+ if self.job_runs is not None:
2100
+ for k in self.job_runs:
2101
+ result['jobRuns'].append(k.to_map() if k else None)
2102
+ if self.max_results is not None:
2103
+ result['maxResults'] = self.max_results
2104
+ if self.next_token is not None:
2105
+ result['nextToken'] = self.next_token
2106
+ if self.request_id is not None:
2107
+ result['requestId'] = self.request_id
2108
+ if self.total_count is not None:
2109
+ result['totalCount'] = self.total_count
2110
+ return result
2111
+
2112
+ def from_map(self, m: dict = None):
2113
+ m = m or dict()
2114
+ self.job_runs = []
2115
+ if m.get('jobRuns') is not None:
2116
+ for k in m.get('jobRuns'):
2117
+ temp_model = ListJobRunsResponseBodyJobRuns()
2118
+ self.job_runs.append(temp_model.from_map(k))
2119
+ if m.get('maxResults') is not None:
2120
+ self.max_results = m.get('maxResults')
2121
+ if m.get('nextToken') is not None:
2122
+ self.next_token = m.get('nextToken')
2123
+ if m.get('requestId') is not None:
2124
+ self.request_id = m.get('requestId')
2125
+ if m.get('totalCount') is not None:
2126
+ self.total_count = m.get('totalCount')
2127
+ return self
2128
+
2129
+
2130
+ class ListJobRunsResponse(TeaModel):
2131
+ def __init__(
2132
+ self,
2133
+ headers: Dict[str, str] = None,
2134
+ status_code: int = None,
2135
+ body: ListJobRunsResponseBody = None,
2136
+ ):
2137
+ self.headers = headers
2138
+ self.status_code = status_code
2139
+ self.body = body
2140
+
2141
+ def validate(self):
2142
+ if self.body:
2143
+ self.body.validate()
2144
+
2145
+ def to_map(self):
2146
+ _map = super().to_map()
2147
+ if _map is not None:
2148
+ return _map
2149
+
2150
+ result = dict()
2151
+ if self.headers is not None:
2152
+ result['headers'] = self.headers
2153
+ if self.status_code is not None:
2154
+ result['statusCode'] = self.status_code
2155
+ if self.body is not None:
2156
+ result['body'] = self.body.to_map()
2157
+ return result
2158
+
2159
+ def from_map(self, m: dict = None):
2160
+ m = m or dict()
2161
+ if m.get('headers') is not None:
2162
+ self.headers = m.get('headers')
2163
+ if m.get('statusCode') is not None:
2164
+ self.status_code = m.get('statusCode')
2165
+ if m.get('body') is not None:
2166
+ temp_model = ListJobRunsResponseBody()
2167
+ self.body = temp_model.from_map(m['body'])
2168
+ return self
2169
+
2170
+
2171
+ class StartJobRunRequestConfigurationOverridesConfigurations(TeaModel):
2172
+ def __init__(
2173
+ self,
2174
+ config_file_name: str = None,
2175
+ config_item_key: str = None,
2176
+ config_item_value: str = None,
2177
+ ):
2178
+ self.config_file_name = config_file_name
2179
+ self.config_item_key = config_item_key
2180
+ self.config_item_value = config_item_value
2181
+
2182
+ def validate(self):
2183
+ pass
2184
+
2185
+ def to_map(self):
2186
+ _map = super().to_map()
2187
+ if _map is not None:
2188
+ return _map
2189
+
2190
+ result = dict()
2191
+ if self.config_file_name is not None:
2192
+ result['configFileName'] = self.config_file_name
2193
+ if self.config_item_key is not None:
2194
+ result['configItemKey'] = self.config_item_key
2195
+ if self.config_item_value is not None:
2196
+ result['configItemValue'] = self.config_item_value
2197
+ return result
2198
+
2199
+ def from_map(self, m: dict = None):
2200
+ m = m or dict()
2201
+ if m.get('configFileName') is not None:
2202
+ self.config_file_name = m.get('configFileName')
2203
+ if m.get('configItemKey') is not None:
2204
+ self.config_item_key = m.get('configItemKey')
2205
+ if m.get('configItemValue') is not None:
2206
+ self.config_item_value = m.get('configItemValue')
2207
+ return self
2208
+
2209
+
2210
+ class StartJobRunRequestConfigurationOverrides(TeaModel):
2211
+ def __init__(
2212
+ self,
2213
+ configurations: List[StartJobRunRequestConfigurationOverridesConfigurations] = None,
2214
+ ):
2215
+ self.configurations = configurations
2216
+
2217
+ def validate(self):
2218
+ if self.configurations:
2219
+ for k in self.configurations:
2220
+ if k:
2221
+ k.validate()
2222
+
2223
+ def to_map(self):
2224
+ _map = super().to_map()
2225
+ if _map is not None:
2226
+ return _map
2227
+
2228
+ result = dict()
2229
+ result['configurations'] = []
2230
+ if self.configurations is not None:
2231
+ for k in self.configurations:
2232
+ result['configurations'].append(k.to_map() if k else None)
2233
+ return result
2234
+
2235
+ def from_map(self, m: dict = None):
2236
+ m = m or dict()
2237
+ self.configurations = []
2238
+ if m.get('configurations') is not None:
2239
+ for k in m.get('configurations'):
2240
+ temp_model = StartJobRunRequestConfigurationOverridesConfigurations()
2241
+ self.configurations.append(temp_model.from_map(k))
2242
+ return self
2243
+
2244
+
2245
+ class StartJobRunRequest(TeaModel):
2246
+ def __init__(
2247
+ self,
2248
+ client_token: str = None,
2249
+ code_type: str = None,
2250
+ configuration_overrides: StartJobRunRequestConfigurationOverrides = None,
2251
+ execution_timeout_seconds: int = None,
2252
+ job_driver: JobDriver = None,
2253
+ job_id: str = None,
2254
+ name: str = None,
2255
+ release_version: str = None,
2256
+ resource_queue_id: str = None,
2257
+ tags: List[Tag] = None,
2258
+ region_id: str = None,
2259
+ ):
2260
+ self.client_token = client_token
2261
+ self.code_type = code_type
2262
+ self.configuration_overrides = configuration_overrides
2263
+ self.execution_timeout_seconds = execution_timeout_seconds
2264
+ self.job_driver = job_driver
2265
+ self.job_id = job_id
2266
+ self.name = name
2267
+ self.release_version = release_version
2268
+ self.resource_queue_id = resource_queue_id
2269
+ self.tags = tags
2270
+ self.region_id = region_id
2271
+
2272
+ def validate(self):
2273
+ if self.configuration_overrides:
2274
+ self.configuration_overrides.validate()
2275
+ if self.job_driver:
2276
+ self.job_driver.validate()
2277
+ if self.tags:
2278
+ for k in self.tags:
2279
+ if k:
2280
+ k.validate()
2281
+
2282
+ def to_map(self):
2283
+ _map = super().to_map()
2284
+ if _map is not None:
2285
+ return _map
2286
+
2287
+ result = dict()
2288
+ if self.client_token is not None:
2289
+ result['clientToken'] = self.client_token
2290
+ if self.code_type is not None:
2291
+ result['codeType'] = self.code_type
2292
+ if self.configuration_overrides is not None:
2293
+ result['configurationOverrides'] = self.configuration_overrides.to_map()
2294
+ if self.execution_timeout_seconds is not None:
2295
+ result['executionTimeoutSeconds'] = self.execution_timeout_seconds
2296
+ if self.job_driver is not None:
2297
+ result['jobDriver'] = self.job_driver.to_map()
2298
+ if self.job_id is not None:
2299
+ result['jobId'] = self.job_id
2300
+ if self.name is not None:
2301
+ result['name'] = self.name
2302
+ if self.release_version is not None:
2303
+ result['releaseVersion'] = self.release_version
2304
+ if self.resource_queue_id is not None:
2305
+ result['resourceQueueId'] = self.resource_queue_id
2306
+ result['tags'] = []
2307
+ if self.tags is not None:
2308
+ for k in self.tags:
2309
+ result['tags'].append(k.to_map() if k else None)
2310
+ if self.region_id is not None:
2311
+ result['regionId'] = self.region_id
2312
+ return result
2313
+
2314
+ def from_map(self, m: dict = None):
2315
+ m = m or dict()
2316
+ if m.get('clientToken') is not None:
2317
+ self.client_token = m.get('clientToken')
2318
+ if m.get('codeType') is not None:
2319
+ self.code_type = m.get('codeType')
2320
+ if m.get('configurationOverrides') is not None:
2321
+ temp_model = StartJobRunRequestConfigurationOverrides()
2322
+ self.configuration_overrides = temp_model.from_map(m['configurationOverrides'])
2323
+ if m.get('executionTimeoutSeconds') is not None:
2324
+ self.execution_timeout_seconds = m.get('executionTimeoutSeconds')
2325
+ if m.get('jobDriver') is not None:
2326
+ temp_model = JobDriver()
2327
+ self.job_driver = temp_model.from_map(m['jobDriver'])
2328
+ if m.get('jobId') is not None:
2329
+ self.job_id = m.get('jobId')
2330
+ if m.get('name') is not None:
2331
+ self.name = m.get('name')
2332
+ if m.get('releaseVersion') is not None:
2333
+ self.release_version = m.get('releaseVersion')
2334
+ if m.get('resourceQueueId') is not None:
2335
+ self.resource_queue_id = m.get('resourceQueueId')
2336
+ self.tags = []
2337
+ if m.get('tags') is not None:
2338
+ for k in m.get('tags'):
2339
+ temp_model = Tag()
2340
+ self.tags.append(temp_model.from_map(k))
2341
+ if m.get('regionId') is not None:
2342
+ self.region_id = m.get('regionId')
2343
+ return self
2344
+
2345
+
2346
+ class StartJobRunResponseBody(TeaModel):
2347
+ def __init__(
2348
+ self,
2349
+ job_run_id: str = None,
2350
+ request_id: str = None,
2351
+ ):
2352
+ self.job_run_id = job_run_id
2353
+ # 请求ID。
2354
+ self.request_id = request_id
2355
+
2356
+ def validate(self):
2357
+ pass
2358
+
2359
+ def to_map(self):
2360
+ _map = super().to_map()
2361
+ if _map is not None:
2362
+ return _map
2363
+
2364
+ result = dict()
2365
+ if self.job_run_id is not None:
2366
+ result['jobRunId'] = self.job_run_id
2367
+ if self.request_id is not None:
2368
+ result['requestId'] = self.request_id
2369
+ return result
2370
+
2371
+ def from_map(self, m: dict = None):
2372
+ m = m or dict()
2373
+ if m.get('jobRunId') is not None:
2374
+ self.job_run_id = m.get('jobRunId')
2375
+ if m.get('requestId') is not None:
2376
+ self.request_id = m.get('requestId')
2377
+ return self
2378
+
2379
+
2380
+ class StartJobRunResponse(TeaModel):
2381
+ def __init__(
2382
+ self,
2383
+ headers: Dict[str, str] = None,
2384
+ status_code: int = None,
2385
+ body: StartJobRunResponseBody = None,
2386
+ ):
2387
+ self.headers = headers
2388
+ self.status_code = status_code
2389
+ self.body = body
2390
+
2391
+ def validate(self):
2392
+ if self.body:
2393
+ self.body.validate()
2394
+
2395
+ def to_map(self):
2396
+ _map = super().to_map()
2397
+ if _map is not None:
2398
+ return _map
2399
+
2400
+ result = dict()
2401
+ if self.headers is not None:
2402
+ result['headers'] = self.headers
2403
+ if self.status_code is not None:
2404
+ result['statusCode'] = self.status_code
2405
+ if self.body is not None:
2406
+ result['body'] = self.body.to_map()
2407
+ return result
2408
+
2409
+ def from_map(self, m: dict = None):
2410
+ m = m or dict()
2411
+ if m.get('headers') is not None:
2412
+ self.headers = m.get('headers')
2413
+ if m.get('statusCode') is not None:
2414
+ self.status_code = m.get('statusCode')
2415
+ if m.get('body') is not None:
2416
+ temp_model = StartJobRunResponseBody()
2417
+ self.body = temp_model.from_map(m['body'])
2418
+ return self
2419
+
2420
+