alibabacloud-ehpcinstant20230701 2.0.6__tar.gz → 2.0.8__tar.gz

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

Potentially problematic release.


This version of alibabacloud-ehpcinstant20230701 might be problematic. Click here for more details.

Files changed (17) hide show
  1. {alibabacloud_ehpcinstant20230701-2.0.6 → alibabacloud_ehpcinstant20230701-2.0.8}/ChangeLog.md +12 -0
  2. {alibabacloud_ehpcinstant20230701-2.0.6 → alibabacloud_ehpcinstant20230701-2.0.8}/PKG-INFO +1 -1
  3. alibabacloud_ehpcinstant20230701-2.0.8/alibabacloud_ehpcinstant20230701/__init__.py +1 -0
  4. {alibabacloud_ehpcinstant20230701-2.0.6 → alibabacloud_ehpcinstant20230701-2.0.8}/alibabacloud_ehpcinstant20230701/client.py +8 -0
  5. {alibabacloud_ehpcinstant20230701-2.0.6 → alibabacloud_ehpcinstant20230701-2.0.8}/alibabacloud_ehpcinstant20230701/models.py +353 -0
  6. {alibabacloud_ehpcinstant20230701-2.0.6 → alibabacloud_ehpcinstant20230701-2.0.8}/alibabacloud_ehpcinstant20230701.egg-info/PKG-INFO +1 -1
  7. {alibabacloud_ehpcinstant20230701-2.0.6 → alibabacloud_ehpcinstant20230701-2.0.8}/setup.py +1 -1
  8. alibabacloud_ehpcinstant20230701-2.0.6/alibabacloud_ehpcinstant20230701/__init__.py +0 -1
  9. {alibabacloud_ehpcinstant20230701-2.0.6 → alibabacloud_ehpcinstant20230701-2.0.8}/LICENSE +0 -0
  10. {alibabacloud_ehpcinstant20230701-2.0.6 → alibabacloud_ehpcinstant20230701-2.0.8}/MANIFEST.in +0 -0
  11. {alibabacloud_ehpcinstant20230701-2.0.6 → alibabacloud_ehpcinstant20230701-2.0.8}/README-CN.md +0 -0
  12. {alibabacloud_ehpcinstant20230701-2.0.6 → alibabacloud_ehpcinstant20230701-2.0.8}/README.md +0 -0
  13. {alibabacloud_ehpcinstant20230701-2.0.6 → alibabacloud_ehpcinstant20230701-2.0.8}/alibabacloud_ehpcinstant20230701.egg-info/SOURCES.txt +0 -0
  14. {alibabacloud_ehpcinstant20230701-2.0.6 → alibabacloud_ehpcinstant20230701-2.0.8}/alibabacloud_ehpcinstant20230701.egg-info/dependency_links.txt +0 -0
  15. {alibabacloud_ehpcinstant20230701-2.0.6 → alibabacloud_ehpcinstant20230701-2.0.8}/alibabacloud_ehpcinstant20230701.egg-info/requires.txt +0 -0
  16. {alibabacloud_ehpcinstant20230701-2.0.6 → alibabacloud_ehpcinstant20230701-2.0.8}/alibabacloud_ehpcinstant20230701.egg-info/top_level.txt +0 -0
  17. {alibabacloud_ehpcinstant20230701-2.0.6 → alibabacloud_ehpcinstant20230701-2.0.8}/setup.cfg +0 -0
@@ -1,3 +1,15 @@
1
+ 2025-07-15 Version: 2.0.7
2
+ - Update API ListExecutors: add response parameters Body.Executors.$.BlockDuration.
3
+ - Update API ListExecutors: add response parameters Body.Executors.$.Preemptible.
4
+ - Update API ListJobExecutors: add response parameters Body.Executors.$.BlockDuration.
5
+ - Update API ListJobExecutors: add response parameters Body.Executors.$.Preemptible.
6
+
7
+
8
+ 2025-07-11 Version: 2.0.6
9
+ - Update API ListExecutors: add request parameters Filter.Image.
10
+ - Update API ListExecutors: add request parameters Filter.VswitchId.
11
+
12
+
1
13
  2025-07-04 Version: 2.0.5
2
14
  - Update API DeleteJobs: add request parameters JobScheduler.
3
15
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: alibabacloud_ehpcinstant20230701
3
- Version: 2.0.6
3
+ Version: 2.0.8
4
4
  Summary: Alibaba Cloud EhpcInstant (20230701) SDK Library for Python
5
5
  Home-page: https://github.com/aliyun/alibabacloud-python-sdk
6
6
  Author: Alibaba Cloud SDK
@@ -184,6 +184,8 @@ class Client(OpenApiClient):
184
184
  UtilClient.validate_model(tmp_req)
185
185
  request = ehpc_instant_20230701_models.CreateJobShrinkRequest()
186
186
  OpenApiUtilClient.convert(tmp_req, request)
187
+ if not UtilClient.is_unset(tmp_req.dependency_policy):
188
+ request.dependency_policy_shrink = OpenApiUtilClient.array_to_string_with_specified_style(tmp_req.dependency_policy, 'DependencyPolicy', 'json')
187
189
  if not UtilClient.is_unset(tmp_req.deployment_policy):
188
190
  request.deployment_policy_shrink = OpenApiUtilClient.array_to_string_with_specified_style(tmp_req.deployment_policy, 'DeploymentPolicy', 'json')
189
191
  if not UtilClient.is_unset(tmp_req.security_policy):
@@ -191,6 +193,8 @@ class Client(OpenApiClient):
191
193
  if not UtilClient.is_unset(tmp_req.tasks):
192
194
  request.tasks_shrink = OpenApiUtilClient.array_to_string_with_specified_style(tmp_req.tasks, 'Tasks', 'json')
193
195
  query = {}
196
+ if not UtilClient.is_unset(request.dependency_policy_shrink):
197
+ query['DependencyPolicy'] = request.dependency_policy_shrink
194
198
  if not UtilClient.is_unset(request.deployment_policy_shrink):
195
199
  query['DeploymentPolicy'] = request.deployment_policy_shrink
196
200
  if not UtilClient.is_unset(request.job_description):
@@ -237,6 +241,8 @@ class Client(OpenApiClient):
237
241
  UtilClient.validate_model(tmp_req)
238
242
  request = ehpc_instant_20230701_models.CreateJobShrinkRequest()
239
243
  OpenApiUtilClient.convert(tmp_req, request)
244
+ if not UtilClient.is_unset(tmp_req.dependency_policy):
245
+ request.dependency_policy_shrink = OpenApiUtilClient.array_to_string_with_specified_style(tmp_req.dependency_policy, 'DependencyPolicy', 'json')
240
246
  if not UtilClient.is_unset(tmp_req.deployment_policy):
241
247
  request.deployment_policy_shrink = OpenApiUtilClient.array_to_string_with_specified_style(tmp_req.deployment_policy, 'DeploymentPolicy', 'json')
242
248
  if not UtilClient.is_unset(tmp_req.security_policy):
@@ -244,6 +250,8 @@ class Client(OpenApiClient):
244
250
  if not UtilClient.is_unset(tmp_req.tasks):
245
251
  request.tasks_shrink = OpenApiUtilClient.array_to_string_with_specified_style(tmp_req.tasks, 'Tasks', 'json')
246
252
  query = {}
253
+ if not UtilClient.is_unset(request.dependency_policy_shrink):
254
+ query['DependencyPolicy'] = request.dependency_policy_shrink
247
255
  if not UtilClient.is_unset(request.deployment_policy_shrink):
248
256
  query['DeploymentPolicy'] = request.deployment_policy_shrink
249
257
  if not UtilClient.is_unset(request.job_description):
@@ -324,6 +324,75 @@ class AddImageResponse(TeaModel):
324
324
  return self
325
325
 
326
326
 
327
+ class CreateJobRequestDependencyPolicyJobDependency(TeaModel):
328
+ def __init__(
329
+ self,
330
+ job_id: str = None,
331
+ type: str = None,
332
+ ):
333
+ # This parameter is required.
334
+ self.job_id = job_id
335
+ self.type = type
336
+
337
+ def validate(self):
338
+ pass
339
+
340
+ def to_map(self):
341
+ _map = super().to_map()
342
+ if _map is not None:
343
+ return _map
344
+
345
+ result = dict()
346
+ if self.job_id is not None:
347
+ result['JobId'] = self.job_id
348
+ if self.type is not None:
349
+ result['Type'] = self.type
350
+ return result
351
+
352
+ def from_map(self, m: dict = None):
353
+ m = m or dict()
354
+ if m.get('JobId') is not None:
355
+ self.job_id = m.get('JobId')
356
+ if m.get('Type') is not None:
357
+ self.type = m.get('Type')
358
+ return self
359
+
360
+
361
+ class CreateJobRequestDependencyPolicy(TeaModel):
362
+ def __init__(
363
+ self,
364
+ job_dependency: List[CreateJobRequestDependencyPolicyJobDependency] = None,
365
+ ):
366
+ self.job_dependency = job_dependency
367
+
368
+ def validate(self):
369
+ if self.job_dependency:
370
+ for k in self.job_dependency:
371
+ if k:
372
+ k.validate()
373
+
374
+ def to_map(self):
375
+ _map = super().to_map()
376
+ if _map is not None:
377
+ return _map
378
+
379
+ result = dict()
380
+ result['JobDependency'] = []
381
+ if self.job_dependency is not None:
382
+ for k in self.job_dependency:
383
+ result['JobDependency'].append(k.to_map() if k else None)
384
+ return result
385
+
386
+ def from_map(self, m: dict = None):
387
+ m = m or dict()
388
+ self.job_dependency = []
389
+ if m.get('JobDependency') is not None:
390
+ for k in m.get('JobDependency'):
391
+ temp_model = CreateJobRequestDependencyPolicyJobDependency()
392
+ self.job_dependency.append(temp_model.from_map(k))
393
+ return self
394
+
395
+
327
396
  class CreateJobRequestDeploymentPolicyNetwork(TeaModel):
328
397
  def __init__(
329
398
  self,
@@ -675,6 +744,82 @@ class CreateJobRequestTasksTaskSpecResource(TeaModel):
675
744
  return self
676
745
 
677
746
 
747
+ class CreateJobRequestTasksTaskSpecRetryPolicyExitCodeActions(TeaModel):
748
+ def __init__(
749
+ self,
750
+ action: str = None,
751
+ exit_code: int = None,
752
+ ):
753
+ # This parameter is required.
754
+ self.action = action
755
+ # This parameter is required.
756
+ self.exit_code = exit_code
757
+
758
+ def validate(self):
759
+ pass
760
+
761
+ def to_map(self):
762
+ _map = super().to_map()
763
+ if _map is not None:
764
+ return _map
765
+
766
+ result = dict()
767
+ if self.action is not None:
768
+ result['Action'] = self.action
769
+ if self.exit_code is not None:
770
+ result['ExitCode'] = self.exit_code
771
+ return result
772
+
773
+ def from_map(self, m: dict = None):
774
+ m = m or dict()
775
+ if m.get('Action') is not None:
776
+ self.action = m.get('Action')
777
+ if m.get('ExitCode') is not None:
778
+ self.exit_code = m.get('ExitCode')
779
+ return self
780
+
781
+
782
+ class CreateJobRequestTasksTaskSpecRetryPolicy(TeaModel):
783
+ def __init__(
784
+ self,
785
+ exit_code_actions: List[CreateJobRequestTasksTaskSpecRetryPolicyExitCodeActions] = None,
786
+ retry_count: int = None,
787
+ ):
788
+ self.exit_code_actions = exit_code_actions
789
+ self.retry_count = retry_count
790
+
791
+ def validate(self):
792
+ if self.exit_code_actions:
793
+ for k in self.exit_code_actions:
794
+ if k:
795
+ k.validate()
796
+
797
+ def to_map(self):
798
+ _map = super().to_map()
799
+ if _map is not None:
800
+ return _map
801
+
802
+ result = dict()
803
+ result['ExitCodeActions'] = []
804
+ if self.exit_code_actions is not None:
805
+ for k in self.exit_code_actions:
806
+ result['ExitCodeActions'].append(k.to_map() if k else None)
807
+ if self.retry_count is not None:
808
+ result['RetryCount'] = self.retry_count
809
+ return result
810
+
811
+ def from_map(self, m: dict = None):
812
+ m = m or dict()
813
+ self.exit_code_actions = []
814
+ if m.get('ExitCodeActions') is not None:
815
+ for k in m.get('ExitCodeActions'):
816
+ temp_model = CreateJobRequestTasksTaskSpecRetryPolicyExitCodeActions()
817
+ self.exit_code_actions.append(temp_model.from_map(k))
818
+ if m.get('RetryCount') is not None:
819
+ self.retry_count = m.get('RetryCount')
820
+ return self
821
+
822
+
678
823
  class CreateJobRequestTasksTaskSpecTaskExecutorContainerEnvironmentVars(TeaModel):
679
824
  def __init__(
680
825
  self,
@@ -913,10 +1058,12 @@ class CreateJobRequestTasksTaskSpec(TeaModel):
913
1058
  def __init__(
914
1059
  self,
915
1060
  resource: CreateJobRequestTasksTaskSpecResource = None,
1061
+ retry_policy: CreateJobRequestTasksTaskSpecRetryPolicy = None,
916
1062
  task_executor: List[CreateJobRequestTasksTaskSpecTaskExecutor] = None,
917
1063
  volume_mount: List[CreateJobRequestTasksTaskSpecVolumeMount] = None,
918
1064
  ):
919
1065
  self.resource = resource
1066
+ self.retry_policy = retry_policy
920
1067
  # This parameter is required.
921
1068
  self.task_executor = task_executor
922
1069
  self.volume_mount = volume_mount
@@ -924,6 +1071,8 @@ class CreateJobRequestTasksTaskSpec(TeaModel):
924
1071
  def validate(self):
925
1072
  if self.resource:
926
1073
  self.resource.validate()
1074
+ if self.retry_policy:
1075
+ self.retry_policy.validate()
927
1076
  if self.task_executor:
928
1077
  for k in self.task_executor:
929
1078
  if k:
@@ -941,6 +1090,8 @@ class CreateJobRequestTasksTaskSpec(TeaModel):
941
1090
  result = dict()
942
1091
  if self.resource is not None:
943
1092
  result['Resource'] = self.resource.to_map()
1093
+ if self.retry_policy is not None:
1094
+ result['RetryPolicy'] = self.retry_policy.to_map()
944
1095
  result['TaskExecutor'] = []
945
1096
  if self.task_executor is not None:
946
1097
  for k in self.task_executor:
@@ -956,6 +1107,9 @@ class CreateJobRequestTasksTaskSpec(TeaModel):
956
1107
  if m.get('Resource') is not None:
957
1108
  temp_model = CreateJobRequestTasksTaskSpecResource()
958
1109
  self.resource = temp_model.from_map(m['Resource'])
1110
+ if m.get('RetryPolicy') is not None:
1111
+ temp_model = CreateJobRequestTasksTaskSpecRetryPolicy()
1112
+ self.retry_policy = temp_model.from_map(m['RetryPolicy'])
959
1113
  self.task_executor = []
960
1114
  if m.get('TaskExecutor') is not None:
961
1115
  for k in m.get('TaskExecutor'):
@@ -1022,6 +1176,7 @@ class CreateJobRequestTasks(TeaModel):
1022
1176
  class CreateJobRequest(TeaModel):
1023
1177
  def __init__(
1024
1178
  self,
1179
+ dependency_policy: CreateJobRequestDependencyPolicy = None,
1025
1180
  deployment_policy: CreateJobRequestDeploymentPolicy = None,
1026
1181
  job_description: str = None,
1027
1182
  job_name: str = None,
@@ -1029,6 +1184,7 @@ class CreateJobRequest(TeaModel):
1029
1184
  security_policy: CreateJobRequestSecurityPolicy = None,
1030
1185
  tasks: List[CreateJobRequestTasks] = None,
1031
1186
  ):
1187
+ self.dependency_policy = dependency_policy
1032
1188
  self.deployment_policy = deployment_policy
1033
1189
  self.job_description = job_description
1034
1190
  # This parameter is required.
@@ -1039,6 +1195,8 @@ class CreateJobRequest(TeaModel):
1039
1195
  self.tasks = tasks
1040
1196
 
1041
1197
  def validate(self):
1198
+ if self.dependency_policy:
1199
+ self.dependency_policy.validate()
1042
1200
  if self.deployment_policy:
1043
1201
  self.deployment_policy.validate()
1044
1202
  if self.security_policy:
@@ -1054,6 +1212,8 @@ class CreateJobRequest(TeaModel):
1054
1212
  return _map
1055
1213
 
1056
1214
  result = dict()
1215
+ if self.dependency_policy is not None:
1216
+ result['DependencyPolicy'] = self.dependency_policy.to_map()
1057
1217
  if self.deployment_policy is not None:
1058
1218
  result['DeploymentPolicy'] = self.deployment_policy.to_map()
1059
1219
  if self.job_description is not None:
@@ -1072,6 +1232,9 @@ class CreateJobRequest(TeaModel):
1072
1232
 
1073
1233
  def from_map(self, m: dict = None):
1074
1234
  m = m or dict()
1235
+ if m.get('DependencyPolicy') is not None:
1236
+ temp_model = CreateJobRequestDependencyPolicy()
1237
+ self.dependency_policy = temp_model.from_map(m['DependencyPolicy'])
1075
1238
  if m.get('DeploymentPolicy') is not None:
1076
1239
  temp_model = CreateJobRequestDeploymentPolicy()
1077
1240
  self.deployment_policy = temp_model.from_map(m['DeploymentPolicy'])
@@ -1095,6 +1258,7 @@ class CreateJobRequest(TeaModel):
1095
1258
  class CreateJobShrinkRequest(TeaModel):
1096
1259
  def __init__(
1097
1260
  self,
1261
+ dependency_policy_shrink: str = None,
1098
1262
  deployment_policy_shrink: str = None,
1099
1263
  job_description: str = None,
1100
1264
  job_name: str = None,
@@ -1102,6 +1266,7 @@ class CreateJobShrinkRequest(TeaModel):
1102
1266
  security_policy_shrink: str = None,
1103
1267
  tasks_shrink: str = None,
1104
1268
  ):
1269
+ self.dependency_policy_shrink = dependency_policy_shrink
1105
1270
  self.deployment_policy_shrink = deployment_policy_shrink
1106
1271
  self.job_description = job_description
1107
1272
  # This parameter is required.
@@ -1120,6 +1285,8 @@ class CreateJobShrinkRequest(TeaModel):
1120
1285
  return _map
1121
1286
 
1122
1287
  result = dict()
1288
+ if self.dependency_policy_shrink is not None:
1289
+ result['DependencyPolicy'] = self.dependency_policy_shrink
1123
1290
  if self.deployment_policy_shrink is not None:
1124
1291
  result['DeploymentPolicy'] = self.deployment_policy_shrink
1125
1292
  if self.job_description is not None:
@@ -1136,6 +1303,8 @@ class CreateJobShrinkRequest(TeaModel):
1136
1303
 
1137
1304
  def from_map(self, m: dict = None):
1138
1305
  m = m or dict()
1306
+ if m.get('DependencyPolicy') is not None:
1307
+ self.dependency_policy_shrink = m.get('DependencyPolicy')
1139
1308
  if m.get('DeploymentPolicy') is not None:
1140
1309
  self.deployment_policy_shrink = m.get('DeploymentPolicy')
1141
1310
  if m.get('JobDescription') is not None:
@@ -2885,6 +3054,74 @@ class GetJobRequest(TeaModel):
2885
3054
  return self
2886
3055
 
2887
3056
 
3057
+ class GetJobResponseBodyJobInfoDependencyPolicyJobDependency(TeaModel):
3058
+ def __init__(
3059
+ self,
3060
+ job_id: str = None,
3061
+ type: str = None,
3062
+ ):
3063
+ self.job_id = job_id
3064
+ self.type = type
3065
+
3066
+ def validate(self):
3067
+ pass
3068
+
3069
+ def to_map(self):
3070
+ _map = super().to_map()
3071
+ if _map is not None:
3072
+ return _map
3073
+
3074
+ result = dict()
3075
+ if self.job_id is not None:
3076
+ result['JobId'] = self.job_id
3077
+ if self.type is not None:
3078
+ result['Type'] = self.type
3079
+ return result
3080
+
3081
+ def from_map(self, m: dict = None):
3082
+ m = m or dict()
3083
+ if m.get('JobId') is not None:
3084
+ self.job_id = m.get('JobId')
3085
+ if m.get('Type') is not None:
3086
+ self.type = m.get('Type')
3087
+ return self
3088
+
3089
+
3090
+ class GetJobResponseBodyJobInfoDependencyPolicy(TeaModel):
3091
+ def __init__(
3092
+ self,
3093
+ job_dependency: List[GetJobResponseBodyJobInfoDependencyPolicyJobDependency] = None,
3094
+ ):
3095
+ self.job_dependency = job_dependency
3096
+
3097
+ def validate(self):
3098
+ if self.job_dependency:
3099
+ for k in self.job_dependency:
3100
+ if k:
3101
+ k.validate()
3102
+
3103
+ def to_map(self):
3104
+ _map = super().to_map()
3105
+ if _map is not None:
3106
+ return _map
3107
+
3108
+ result = dict()
3109
+ result['JobDependency'] = []
3110
+ if self.job_dependency is not None:
3111
+ for k in self.job_dependency:
3112
+ result['JobDependency'].append(k.to_map() if k else None)
3113
+ return result
3114
+
3115
+ def from_map(self, m: dict = None):
3116
+ m = m or dict()
3117
+ self.job_dependency = []
3118
+ if m.get('JobDependency') is not None:
3119
+ for k in m.get('JobDependency'):
3120
+ temp_model = GetJobResponseBodyJobInfoDependencyPolicyJobDependency()
3121
+ self.job_dependency.append(temp_model.from_map(k))
3122
+ return self
3123
+
3124
+
2888
3125
  class GetJobResponseBodyJobInfoDeploymentPolicyNetwork(TeaModel):
2889
3126
  def __init__(
2890
3127
  self,
@@ -3230,6 +3467,80 @@ class GetJobResponseBodyJobInfoTasksTaskSpecResource(TeaModel):
3230
3467
  return self
3231
3468
 
3232
3469
 
3470
+ class GetJobResponseBodyJobInfoTasksTaskSpecRetryPolicyExitCodeActions(TeaModel):
3471
+ def __init__(
3472
+ self,
3473
+ action: str = None,
3474
+ exit_code: int = None,
3475
+ ):
3476
+ self.action = action
3477
+ self.exit_code = exit_code
3478
+
3479
+ def validate(self):
3480
+ pass
3481
+
3482
+ def to_map(self):
3483
+ _map = super().to_map()
3484
+ if _map is not None:
3485
+ return _map
3486
+
3487
+ result = dict()
3488
+ if self.action is not None:
3489
+ result['Action'] = self.action
3490
+ if self.exit_code is not None:
3491
+ result['ExitCode'] = self.exit_code
3492
+ return result
3493
+
3494
+ def from_map(self, m: dict = None):
3495
+ m = m or dict()
3496
+ if m.get('Action') is not None:
3497
+ self.action = m.get('Action')
3498
+ if m.get('ExitCode') is not None:
3499
+ self.exit_code = m.get('ExitCode')
3500
+ return self
3501
+
3502
+
3503
+ class GetJobResponseBodyJobInfoTasksTaskSpecRetryPolicy(TeaModel):
3504
+ def __init__(
3505
+ self,
3506
+ exit_code_actions: List[GetJobResponseBodyJobInfoTasksTaskSpecRetryPolicyExitCodeActions] = None,
3507
+ retry_count: int = None,
3508
+ ):
3509
+ self.exit_code_actions = exit_code_actions
3510
+ self.retry_count = retry_count
3511
+
3512
+ def validate(self):
3513
+ if self.exit_code_actions:
3514
+ for k in self.exit_code_actions:
3515
+ if k:
3516
+ k.validate()
3517
+
3518
+ def to_map(self):
3519
+ _map = super().to_map()
3520
+ if _map is not None:
3521
+ return _map
3522
+
3523
+ result = dict()
3524
+ result['ExitCodeActions'] = []
3525
+ if self.exit_code_actions is not None:
3526
+ for k in self.exit_code_actions:
3527
+ result['ExitCodeActions'].append(k.to_map() if k else None)
3528
+ if self.retry_count is not None:
3529
+ result['RetryCount'] = self.retry_count
3530
+ return result
3531
+
3532
+ def from_map(self, m: dict = None):
3533
+ m = m or dict()
3534
+ self.exit_code_actions = []
3535
+ if m.get('ExitCodeActions') is not None:
3536
+ for k in m.get('ExitCodeActions'):
3537
+ temp_model = GetJobResponseBodyJobInfoTasksTaskSpecRetryPolicyExitCodeActions()
3538
+ self.exit_code_actions.append(temp_model.from_map(k))
3539
+ if m.get('RetryCount') is not None:
3540
+ self.retry_count = m.get('RetryCount')
3541
+ return self
3542
+
3543
+
3233
3544
  class GetJobResponseBodyJobInfoTasksTaskSpecTaskExecutorVM(TeaModel):
3234
3545
  def __init__(
3235
3546
  self,
@@ -3308,14 +3619,18 @@ class GetJobResponseBodyJobInfoTasksTaskSpec(TeaModel):
3308
3619
  def __init__(
3309
3620
  self,
3310
3621
  resource: GetJobResponseBodyJobInfoTasksTaskSpecResource = None,
3622
+ retry_policy: GetJobResponseBodyJobInfoTasksTaskSpecRetryPolicy = None,
3311
3623
  task_executor: List[GetJobResponseBodyJobInfoTasksTaskSpecTaskExecutor] = None,
3312
3624
  ):
3313
3625
  self.resource = resource
3626
+ self.retry_policy = retry_policy
3314
3627
  self.task_executor = task_executor
3315
3628
 
3316
3629
  def validate(self):
3317
3630
  if self.resource:
3318
3631
  self.resource.validate()
3632
+ if self.retry_policy:
3633
+ self.retry_policy.validate()
3319
3634
  if self.task_executor:
3320
3635
  for k in self.task_executor:
3321
3636
  if k:
@@ -3329,6 +3644,8 @@ class GetJobResponseBodyJobInfoTasksTaskSpec(TeaModel):
3329
3644
  result = dict()
3330
3645
  if self.resource is not None:
3331
3646
  result['Resource'] = self.resource.to_map()
3647
+ if self.retry_policy is not None:
3648
+ result['RetryPolicy'] = self.retry_policy.to_map()
3332
3649
  result['TaskExecutor'] = []
3333
3650
  if self.task_executor is not None:
3334
3651
  for k in self.task_executor:
@@ -3340,6 +3657,9 @@ class GetJobResponseBodyJobInfoTasksTaskSpec(TeaModel):
3340
3657
  if m.get('Resource') is not None:
3341
3658
  temp_model = GetJobResponseBodyJobInfoTasksTaskSpecResource()
3342
3659
  self.resource = temp_model.from_map(m['Resource'])
3660
+ if m.get('RetryPolicy') is not None:
3661
+ temp_model = GetJobResponseBodyJobInfoTasksTaskSpecRetryPolicy()
3662
+ self.retry_policy = temp_model.from_map(m['RetryPolicy'])
3343
3663
  self.task_executor = []
3344
3664
  if m.get('TaskExecutor') is not None:
3345
3665
  for k in m.get('TaskExecutor'):
@@ -3418,6 +3738,7 @@ class GetJobResponseBodyJobInfo(TeaModel):
3418
3738
  self,
3419
3739
  app_extra_info: str = None,
3420
3740
  create_time: str = None,
3741
+ dependency_policy: GetJobResponseBodyJobInfoDependencyPolicy = None,
3421
3742
  deployment_policy: GetJobResponseBodyJobInfoDeploymentPolicy = None,
3422
3743
  end_time: str = None,
3423
3744
  job_description: str = None,
@@ -3430,6 +3751,7 @@ class GetJobResponseBodyJobInfo(TeaModel):
3430
3751
  ):
3431
3752
  self.app_extra_info = app_extra_info
3432
3753
  self.create_time = create_time
3754
+ self.dependency_policy = dependency_policy
3433
3755
  self.deployment_policy = deployment_policy
3434
3756
  self.end_time = end_time
3435
3757
  self.job_description = job_description
@@ -3441,6 +3763,8 @@ class GetJobResponseBodyJobInfo(TeaModel):
3441
3763
  self.tasks = tasks
3442
3764
 
3443
3765
  def validate(self):
3766
+ if self.dependency_policy:
3767
+ self.dependency_policy.validate()
3444
3768
  if self.deployment_policy:
3445
3769
  self.deployment_policy.validate()
3446
3770
  if self.tasks:
@@ -3458,6 +3782,8 @@ class GetJobResponseBodyJobInfo(TeaModel):
3458
3782
  result['AppExtraInfo'] = self.app_extra_info
3459
3783
  if self.create_time is not None:
3460
3784
  result['CreateTime'] = self.create_time
3785
+ if self.dependency_policy is not None:
3786
+ result['DependencyPolicy'] = self.dependency_policy.to_map()
3461
3787
  if self.deployment_policy is not None:
3462
3788
  result['DeploymentPolicy'] = self.deployment_policy.to_map()
3463
3789
  if self.end_time is not None:
@@ -3486,6 +3812,9 @@ class GetJobResponseBodyJobInfo(TeaModel):
3486
3812
  self.app_extra_info = m.get('AppExtraInfo')
3487
3813
  if m.get('CreateTime') is not None:
3488
3814
  self.create_time = m.get('CreateTime')
3815
+ if m.get('DependencyPolicy') is not None:
3816
+ temp_model = GetJobResponseBodyJobInfoDependencyPolicy()
3817
+ self.dependency_policy = temp_model.from_map(m['DependencyPolicy'])
3489
3818
  if m.get('DeploymentPolicy') is not None:
3490
3819
  temp_model = GetJobResponseBodyJobInfoDeploymentPolicy()
3491
3820
  self.deployment_policy = temp_model.from_map(m['DeploymentPolicy'])
@@ -4034,6 +4363,7 @@ class ListExecutorsResponseBodyExecutors(TeaModel):
4034
4363
  self,
4035
4364
  app_name: str = None,
4036
4365
  array_index: int = None,
4366
+ block_duration: int = None,
4037
4367
  create_time: str = None,
4038
4368
  end_time: str = None,
4039
4369
  executor_id: str = None,
@@ -4044,6 +4374,7 @@ class ListExecutorsResponseBodyExecutors(TeaModel):
4044
4374
  ip_address: List[str] = None,
4045
4375
  job_id: str = None,
4046
4376
  job_name: str = None,
4377
+ preemptible: bool = None,
4047
4378
  resource: ListExecutorsResponseBodyExecutorsResource = None,
4048
4379
  resource_type: str = None,
4049
4380
  start_time: str = None,
@@ -4056,6 +4387,7 @@ class ListExecutorsResponseBodyExecutors(TeaModel):
4056
4387
  ):
4057
4388
  self.app_name = app_name
4058
4389
  self.array_index = array_index
4390
+ self.block_duration = block_duration
4059
4391
  self.create_time = create_time
4060
4392
  self.end_time = end_time
4061
4393
  self.executor_id = executor_id
@@ -4066,6 +4398,7 @@ class ListExecutorsResponseBodyExecutors(TeaModel):
4066
4398
  self.ip_address = ip_address
4067
4399
  self.job_id = job_id
4068
4400
  self.job_name = job_name
4401
+ self.preemptible = preemptible
4069
4402
  self.resource = resource
4070
4403
  self.resource_type = resource_type
4071
4404
  self.start_time = start_time
@@ -4094,6 +4427,8 @@ class ListExecutorsResponseBodyExecutors(TeaModel):
4094
4427
  result['AppName'] = self.app_name
4095
4428
  if self.array_index is not None:
4096
4429
  result['ArrayIndex'] = self.array_index
4430
+ if self.block_duration is not None:
4431
+ result['BlockDuration'] = self.block_duration
4097
4432
  if self.create_time is not None:
4098
4433
  result['CreateTime'] = self.create_time
4099
4434
  if self.end_time is not None:
@@ -4114,6 +4449,8 @@ class ListExecutorsResponseBodyExecutors(TeaModel):
4114
4449
  result['JobId'] = self.job_id
4115
4450
  if self.job_name is not None:
4116
4451
  result['JobName'] = self.job_name
4452
+ if self.preemptible is not None:
4453
+ result['Preemptible'] = self.preemptible
4117
4454
  if self.resource is not None:
4118
4455
  result['Resource'] = self.resource.to_map()
4119
4456
  if self.resource_type is not None:
@@ -4142,6 +4479,8 @@ class ListExecutorsResponseBodyExecutors(TeaModel):
4142
4479
  self.app_name = m.get('AppName')
4143
4480
  if m.get('ArrayIndex') is not None:
4144
4481
  self.array_index = m.get('ArrayIndex')
4482
+ if m.get('BlockDuration') is not None:
4483
+ self.block_duration = m.get('BlockDuration')
4145
4484
  if m.get('CreateTime') is not None:
4146
4485
  self.create_time = m.get('CreateTime')
4147
4486
  if m.get('EndTime') is not None:
@@ -4162,6 +4501,8 @@ class ListExecutorsResponseBodyExecutors(TeaModel):
4162
4501
  self.job_id = m.get('JobId')
4163
4502
  if m.get('JobName') is not None:
4164
4503
  self.job_name = m.get('JobName')
4504
+ if m.get('Preemptible') is not None:
4505
+ self.preemptible = m.get('Preemptible')
4165
4506
  if m.get('Resource') is not None:
4166
4507
  temp_model = ListExecutorsResponseBodyExecutorsResource()
4167
4508
  self.resource = temp_model.from_map(m['Resource'])
@@ -4754,6 +5095,7 @@ class ListJobExecutorsResponseBodyExecutors(TeaModel):
4754
5095
  def __init__(
4755
5096
  self,
4756
5097
  array_index: int = None,
5098
+ block_duration: int = None,
4757
5099
  create_time: str = None,
4758
5100
  end_time: str = None,
4759
5101
  executor_id: str = None,
@@ -4761,12 +5103,14 @@ class ListJobExecutorsResponseBodyExecutors(TeaModel):
4761
5103
  external_ip_address: List[str] = None,
4762
5104
  host_name: List[str] = None,
4763
5105
  ip_address: List[str] = None,
5106
+ preemptible: bool = None,
4764
5107
  start_time: str = None,
4765
5108
  status: str = None,
4766
5109
  status_reason: str = None,
4767
5110
  tags: List[ListJobExecutorsResponseBodyExecutorsTags] = None,
4768
5111
  ):
4769
5112
  self.array_index = array_index
5113
+ self.block_duration = block_duration
4770
5114
  self.create_time = create_time
4771
5115
  self.end_time = end_time
4772
5116
  self.executor_id = executor_id
@@ -4774,6 +5118,7 @@ class ListJobExecutorsResponseBodyExecutors(TeaModel):
4774
5118
  self.external_ip_address = external_ip_address
4775
5119
  self.host_name = host_name
4776
5120
  self.ip_address = ip_address
5121
+ self.preemptible = preemptible
4777
5122
  self.start_time = start_time
4778
5123
  self.status = status
4779
5124
  self.status_reason = status_reason
@@ -4793,6 +5138,8 @@ class ListJobExecutorsResponseBodyExecutors(TeaModel):
4793
5138
  result = dict()
4794
5139
  if self.array_index is not None:
4795
5140
  result['ArrayIndex'] = self.array_index
5141
+ if self.block_duration is not None:
5142
+ result['BlockDuration'] = self.block_duration
4796
5143
  if self.create_time is not None:
4797
5144
  result['CreateTime'] = self.create_time
4798
5145
  if self.end_time is not None:
@@ -4807,6 +5154,8 @@ class ListJobExecutorsResponseBodyExecutors(TeaModel):
4807
5154
  result['HostName'] = self.host_name
4808
5155
  if self.ip_address is not None:
4809
5156
  result['IpAddress'] = self.ip_address
5157
+ if self.preemptible is not None:
5158
+ result['Preemptible'] = self.preemptible
4810
5159
  if self.start_time is not None:
4811
5160
  result['StartTime'] = self.start_time
4812
5161
  if self.status is not None:
@@ -4823,6 +5172,8 @@ class ListJobExecutorsResponseBodyExecutors(TeaModel):
4823
5172
  m = m or dict()
4824
5173
  if m.get('ArrayIndex') is not None:
4825
5174
  self.array_index = m.get('ArrayIndex')
5175
+ if m.get('BlockDuration') is not None:
5176
+ self.block_duration = m.get('BlockDuration')
4826
5177
  if m.get('CreateTime') is not None:
4827
5178
  self.create_time = m.get('CreateTime')
4828
5179
  if m.get('EndTime') is not None:
@@ -4837,6 +5188,8 @@ class ListJobExecutorsResponseBodyExecutors(TeaModel):
4837
5188
  self.host_name = m.get('HostName')
4838
5189
  if m.get('IpAddress') is not None:
4839
5190
  self.ip_address = m.get('IpAddress')
5191
+ if m.get('Preemptible') is not None:
5192
+ self.preemptible = m.get('Preemptible')
4840
5193
  if m.get('StartTime') is not None:
4841
5194
  self.start_time = m.get('StartTime')
4842
5195
  if m.get('Status') is not None:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: alibabacloud-ehpcinstant20230701
3
- Version: 2.0.6
3
+ Version: 2.0.8
4
4
  Summary: Alibaba Cloud EhpcInstant (20230701) SDK Library for Python
5
5
  Home-page: https://github.com/aliyun/alibabacloud-python-sdk
6
6
  Author: Alibaba Cloud SDK
@@ -24,7 +24,7 @@ from setuptools import setup, find_packages
24
24
  """
25
25
  setup module for alibabacloud_ehpcinstant20230701.
26
26
 
27
- Created on 11/07/2025
27
+ Created on 29/07/2025
28
28
 
29
29
  @author: Alibaba Cloud SDK
30
30
  """