alibabacloud-ehpcinstant20230701 1.0.4__py3-none-any.whl → 1.1.0__py3-none-any.whl

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

Potentially problematic release.


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

@@ -128,12 +128,14 @@ class AddImageRequest(TeaModel):
128
128
  self,
129
129
  container_image_spec: AddImageRequestContainerImageSpec = None,
130
130
  description: str = None,
131
+ image_type: str = None,
131
132
  image_version: str = None,
132
133
  name: str = None,
133
134
  vmimage_spec: AddImageRequestVMImageSpec = None,
134
135
  ):
135
136
  self.container_image_spec = container_image_spec
136
137
  self.description = description
138
+ self.image_type = image_type
137
139
  self.image_version = image_version
138
140
  # This parameter is required.
139
141
  self.name = name
@@ -155,6 +157,8 @@ class AddImageRequest(TeaModel):
155
157
  result['ContainerImageSpec'] = self.container_image_spec.to_map()
156
158
  if self.description is not None:
157
159
  result['Description'] = self.description
160
+ if self.image_type is not None:
161
+ result['ImageType'] = self.image_type
158
162
  if self.image_version is not None:
159
163
  result['ImageVersion'] = self.image_version
160
164
  if self.name is not None:
@@ -170,6 +174,8 @@ class AddImageRequest(TeaModel):
170
174
  self.container_image_spec = temp_model.from_map(m['ContainerImageSpec'])
171
175
  if m.get('Description') is not None:
172
176
  self.description = m.get('Description')
177
+ if m.get('ImageType') is not None:
178
+ self.image_type = m.get('ImageType')
173
179
  if m.get('ImageVersion') is not None:
174
180
  self.image_version = m.get('ImageVersion')
175
181
  if m.get('Name') is not None:
@@ -185,12 +191,14 @@ class AddImageShrinkRequest(TeaModel):
185
191
  self,
186
192
  container_image_spec_shrink: str = None,
187
193
  description: str = None,
194
+ image_type: str = None,
188
195
  image_version: str = None,
189
196
  name: str = None,
190
197
  vmimage_spec_shrink: str = None,
191
198
  ):
192
199
  self.container_image_spec_shrink = container_image_spec_shrink
193
200
  self.description = description
201
+ self.image_type = image_type
194
202
  self.image_version = image_version
195
203
  # This parameter is required.
196
204
  self.name = name
@@ -209,6 +217,8 @@ class AddImageShrinkRequest(TeaModel):
209
217
  result['ContainerImageSpec'] = self.container_image_spec_shrink
210
218
  if self.description is not None:
211
219
  result['Description'] = self.description
220
+ if self.image_type is not None:
221
+ result['ImageType'] = self.image_type
212
222
  if self.image_version is not None:
213
223
  result['ImageVersion'] = self.image_version
214
224
  if self.name is not None:
@@ -223,6 +233,8 @@ class AddImageShrinkRequest(TeaModel):
223
233
  self.container_image_spec_shrink = m.get('ContainerImageSpec')
224
234
  if m.get('Description') is not None:
225
235
  self.description = m.get('Description')
236
+ if m.get('ImageType') is not None:
237
+ self.image_type = m.get('ImageType')
226
238
  if m.get('ImageVersion') is not None:
227
239
  self.image_version = m.get('ImageVersion')
228
240
  if m.get('Name') is not None:
@@ -315,8 +327,10 @@ class AddImageResponse(TeaModel):
315
327
  class CreateJobRequestDeploymentPolicyNetwork(TeaModel):
316
328
  def __init__(
317
329
  self,
330
+ enable_external_ip_address: bool = None,
318
331
  vswitch: List[str] = None,
319
332
  ):
333
+ self.enable_external_ip_address = enable_external_ip_address
320
334
  self.vswitch = vswitch
321
335
 
322
336
  def validate(self):
@@ -328,29 +342,73 @@ class CreateJobRequestDeploymentPolicyNetwork(TeaModel):
328
342
  return _map
329
343
 
330
344
  result = dict()
345
+ if self.enable_external_ip_address is not None:
346
+ result['EnableExternalIpAddress'] = self.enable_external_ip_address
331
347
  if self.vswitch is not None:
332
348
  result['Vswitch'] = self.vswitch
333
349
  return result
334
350
 
335
351
  def from_map(self, m: dict = None):
336
352
  m = m or dict()
353
+ if m.get('EnableExternalIpAddress') is not None:
354
+ self.enable_external_ip_address = m.get('EnableExternalIpAddress')
337
355
  if m.get('Vswitch') is not None:
338
356
  self.vswitch = m.get('Vswitch')
339
357
  return self
340
358
 
341
359
 
360
+ class CreateJobRequestDeploymentPolicyTag(TeaModel):
361
+ def __init__(
362
+ self,
363
+ key: str = None,
364
+ value: str = None,
365
+ ):
366
+ # This parameter is required.
367
+ self.key = key
368
+ self.value = value
369
+
370
+ def validate(self):
371
+ pass
372
+
373
+ def to_map(self):
374
+ _map = super().to_map()
375
+ if _map is not None:
376
+ return _map
377
+
378
+ result = dict()
379
+ if self.key is not None:
380
+ result['Key'] = self.key
381
+ if self.value is not None:
382
+ result['Value'] = self.value
383
+ return result
384
+
385
+ def from_map(self, m: dict = None):
386
+ m = m or dict()
387
+ if m.get('Key') is not None:
388
+ self.key = m.get('Key')
389
+ if m.get('Value') is not None:
390
+ self.value = m.get('Value')
391
+ return self
392
+
393
+
342
394
  class CreateJobRequestDeploymentPolicy(TeaModel):
343
395
  def __init__(
344
396
  self,
345
397
  allocation_spec: str = None,
346
398
  network: CreateJobRequestDeploymentPolicyNetwork = None,
399
+ tag: List[CreateJobRequestDeploymentPolicyTag] = None,
347
400
  ):
348
401
  self.allocation_spec = allocation_spec
349
402
  self.network = network
403
+ self.tag = tag
350
404
 
351
405
  def validate(self):
352
406
  if self.network:
353
407
  self.network.validate()
408
+ if self.tag:
409
+ for k in self.tag:
410
+ if k:
411
+ k.validate()
354
412
 
355
413
  def to_map(self):
356
414
  _map = super().to_map()
@@ -362,6 +420,10 @@ class CreateJobRequestDeploymentPolicy(TeaModel):
362
420
  result['AllocationSpec'] = self.allocation_spec
363
421
  if self.network is not None:
364
422
  result['Network'] = self.network.to_map()
423
+ result['Tag'] = []
424
+ if self.tag is not None:
425
+ for k in self.tag:
426
+ result['Tag'].append(k.to_map() if k else None)
365
427
  return result
366
428
 
367
429
  def from_map(self, m: dict = None):
@@ -371,6 +433,11 @@ class CreateJobRequestDeploymentPolicy(TeaModel):
371
433
  if m.get('Network') is not None:
372
434
  temp_model = CreateJobRequestDeploymentPolicyNetwork()
373
435
  self.network = temp_model.from_map(m['Network'])
436
+ self.tag = []
437
+ if m.get('Tag') is not None:
438
+ for k in m.get('Tag'):
439
+ temp_model = CreateJobRequestDeploymentPolicyTag()
440
+ self.tag.append(temp_model.from_map(k))
374
441
  return self
375
442
 
376
443
 
@@ -2053,8 +2120,10 @@ class GetJobRequest(TeaModel):
2053
2120
  class GetJobResponseBodyJobInfoDeploymentPolicyNetwork(TeaModel):
2054
2121
  def __init__(
2055
2122
  self,
2123
+ enable_external_ip_address: bool = None,
2056
2124
  vswitch: List[str] = None,
2057
2125
  ):
2126
+ self.enable_external_ip_address = enable_external_ip_address
2058
2127
  self.vswitch = vswitch
2059
2128
 
2060
2129
  def validate(self):
@@ -2066,29 +2135,72 @@ class GetJobResponseBodyJobInfoDeploymentPolicyNetwork(TeaModel):
2066
2135
  return _map
2067
2136
 
2068
2137
  result = dict()
2138
+ if self.enable_external_ip_address is not None:
2139
+ result['EnableExternalIpAddress'] = self.enable_external_ip_address
2069
2140
  if self.vswitch is not None:
2070
2141
  result['Vswitch'] = self.vswitch
2071
2142
  return result
2072
2143
 
2073
2144
  def from_map(self, m: dict = None):
2074
2145
  m = m or dict()
2146
+ if m.get('EnableExternalIpAddress') is not None:
2147
+ self.enable_external_ip_address = m.get('EnableExternalIpAddress')
2075
2148
  if m.get('Vswitch') is not None:
2076
2149
  self.vswitch = m.get('Vswitch')
2077
2150
  return self
2078
2151
 
2079
2152
 
2153
+ class GetJobResponseBodyJobInfoDeploymentPolicyTags(TeaModel):
2154
+ def __init__(
2155
+ self,
2156
+ tag_key: str = None,
2157
+ tag_value: str = None,
2158
+ ):
2159
+ self.tag_key = tag_key
2160
+ self.tag_value = tag_value
2161
+
2162
+ def validate(self):
2163
+ pass
2164
+
2165
+ def to_map(self):
2166
+ _map = super().to_map()
2167
+ if _map is not None:
2168
+ return _map
2169
+
2170
+ result = dict()
2171
+ if self.tag_key is not None:
2172
+ result['TagKey'] = self.tag_key
2173
+ if self.tag_value is not None:
2174
+ result['TagValue'] = self.tag_value
2175
+ return result
2176
+
2177
+ def from_map(self, m: dict = None):
2178
+ m = m or dict()
2179
+ if m.get('TagKey') is not None:
2180
+ self.tag_key = m.get('TagKey')
2181
+ if m.get('TagValue') is not None:
2182
+ self.tag_value = m.get('TagValue')
2183
+ return self
2184
+
2185
+
2080
2186
  class GetJobResponseBodyJobInfoDeploymentPolicy(TeaModel):
2081
2187
  def __init__(
2082
2188
  self,
2083
2189
  allocation_spec: str = None,
2084
2190
  network: GetJobResponseBodyJobInfoDeploymentPolicyNetwork = None,
2191
+ tags: List[GetJobResponseBodyJobInfoDeploymentPolicyTags] = None,
2085
2192
  ):
2086
2193
  self.allocation_spec = allocation_spec
2087
2194
  self.network = network
2195
+ self.tags = tags
2088
2196
 
2089
2197
  def validate(self):
2090
2198
  if self.network:
2091
2199
  self.network.validate()
2200
+ if self.tags:
2201
+ for k in self.tags:
2202
+ if k:
2203
+ k.validate()
2092
2204
 
2093
2205
  def to_map(self):
2094
2206
  _map = super().to_map()
@@ -2100,6 +2212,10 @@ class GetJobResponseBodyJobInfoDeploymentPolicy(TeaModel):
2100
2212
  result['AllocationSpec'] = self.allocation_spec
2101
2213
  if self.network is not None:
2102
2214
  result['Network'] = self.network.to_map()
2215
+ result['Tags'] = []
2216
+ if self.tags is not None:
2217
+ for k in self.tags:
2218
+ result['Tags'].append(k.to_map() if k else None)
2103
2219
  return result
2104
2220
 
2105
2221
  def from_map(self, m: dict = None):
@@ -2109,6 +2225,11 @@ class GetJobResponseBodyJobInfoDeploymentPolicy(TeaModel):
2109
2225
  if m.get('Network') is not None:
2110
2226
  temp_model = GetJobResponseBodyJobInfoDeploymentPolicyNetwork()
2111
2227
  self.network = temp_model.from_map(m['Network'])
2228
+ self.tags = []
2229
+ if m.get('Tags') is not None:
2230
+ for k in m.get('Tags'):
2231
+ temp_model = GetJobResponseBodyJobInfoDeploymentPolicyTags()
2232
+ self.tags.append(temp_model.from_map(k))
2112
2233
  return self
2113
2234
 
2114
2235
 
@@ -2674,12 +2795,14 @@ class ListExecutorsRequestFilter(TeaModel):
2674
2795
  executor_ids: List[str] = None,
2675
2796
  ip_addresses: List[str] = None,
2676
2797
  job_name: str = None,
2798
+ status: List[str] = None,
2677
2799
  time_created_after: int = None,
2678
2800
  time_created_before: int = None,
2679
2801
  ):
2680
2802
  self.executor_ids = executor_ids
2681
2803
  self.ip_addresses = ip_addresses
2682
2804
  self.job_name = job_name
2805
+ self.status = status
2683
2806
  self.time_created_after = time_created_after
2684
2807
  self.time_created_before = time_created_before
2685
2808
 
@@ -2698,6 +2821,8 @@ class ListExecutorsRequestFilter(TeaModel):
2698
2821
  result['IpAddresses'] = self.ip_addresses
2699
2822
  if self.job_name is not None:
2700
2823
  result['JobName'] = self.job_name
2824
+ if self.status is not None:
2825
+ result['Status'] = self.status
2701
2826
  if self.time_created_after is not None:
2702
2827
  result['TimeCreatedAfter'] = self.time_created_after
2703
2828
  if self.time_created_before is not None:
@@ -2712,6 +2837,8 @@ class ListExecutorsRequestFilter(TeaModel):
2712
2837
  self.ip_addresses = m.get('IpAddresses')
2713
2838
  if m.get('JobName') is not None:
2714
2839
  self.job_name = m.get('JobName')
2840
+ if m.get('Status') is not None:
2841
+ self.status = m.get('Status')
2715
2842
  if m.get('TimeCreatedAfter') is not None:
2716
2843
  self.time_created_after = m.get('TimeCreatedAfter')
2717
2844
  if m.get('TimeCreatedBefore') is not None:
@@ -2799,6 +2926,119 @@ class ListExecutorsShrinkRequest(TeaModel):
2799
2926
  return self
2800
2927
 
2801
2928
 
2929
+ class ListExecutorsResponseBodyExecutorsResourceDisks(TeaModel):
2930
+ def __init__(
2931
+ self,
2932
+ size: int = None,
2933
+ type: str = None,
2934
+ ):
2935
+ self.size = size
2936
+ self.type = type
2937
+
2938
+ def validate(self):
2939
+ pass
2940
+
2941
+ def to_map(self):
2942
+ _map = super().to_map()
2943
+ if _map is not None:
2944
+ return _map
2945
+
2946
+ result = dict()
2947
+ if self.size is not None:
2948
+ result['Size'] = self.size
2949
+ if self.type is not None:
2950
+ result['Type'] = self.type
2951
+ return result
2952
+
2953
+ def from_map(self, m: dict = None):
2954
+ m = m or dict()
2955
+ if m.get('Size') is not None:
2956
+ self.size = m.get('Size')
2957
+ if m.get('Type') is not None:
2958
+ self.type = m.get('Type')
2959
+ return self
2960
+
2961
+
2962
+ class ListExecutorsResponseBodyExecutorsResource(TeaModel):
2963
+ def __init__(
2964
+ self,
2965
+ cores: float = None,
2966
+ disks: List[ListExecutorsResponseBodyExecutorsResourceDisks] = None,
2967
+ memory: float = None,
2968
+ ):
2969
+ self.cores = cores
2970
+ self.disks = disks
2971
+ self.memory = memory
2972
+
2973
+ def validate(self):
2974
+ if self.disks:
2975
+ for k in self.disks:
2976
+ if k:
2977
+ k.validate()
2978
+
2979
+ def to_map(self):
2980
+ _map = super().to_map()
2981
+ if _map is not None:
2982
+ return _map
2983
+
2984
+ result = dict()
2985
+ if self.cores is not None:
2986
+ result['Cores'] = self.cores
2987
+ result['Disks'] = []
2988
+ if self.disks is not None:
2989
+ for k in self.disks:
2990
+ result['Disks'].append(k.to_map() if k else None)
2991
+ if self.memory is not None:
2992
+ result['Memory'] = self.memory
2993
+ return result
2994
+
2995
+ def from_map(self, m: dict = None):
2996
+ m = m or dict()
2997
+ if m.get('Cores') is not None:
2998
+ self.cores = m.get('Cores')
2999
+ self.disks = []
3000
+ if m.get('Disks') is not None:
3001
+ for k in m.get('Disks'):
3002
+ temp_model = ListExecutorsResponseBodyExecutorsResourceDisks()
3003
+ self.disks.append(temp_model.from_map(k))
3004
+ if m.get('Memory') is not None:
3005
+ self.memory = m.get('Memory')
3006
+ return self
3007
+
3008
+
3009
+ class ListExecutorsResponseBodyExecutorsTags(TeaModel):
3010
+ def __init__(
3011
+ self,
3012
+ tag_key: str = None,
3013
+ tag_value: str = None,
3014
+ ):
3015
+ self.tag_key = tag_key
3016
+ self.tag_value = tag_value
3017
+
3018
+ def validate(self):
3019
+ pass
3020
+
3021
+ def to_map(self):
3022
+ _map = super().to_map()
3023
+ if _map is not None:
3024
+ return _map
3025
+
3026
+ result = dict()
3027
+ if self.tag_key is not None:
3028
+ result['TagKey'] = self.tag_key
3029
+ if self.tag_value is not None:
3030
+ result['TagValue'] = self.tag_value
3031
+ return result
3032
+
3033
+ def from_map(self, m: dict = None):
3034
+ m = m or dict()
3035
+ if m.get('TagKey') is not None:
3036
+ self.tag_key = m.get('TagKey')
3037
+ if m.get('TagValue') is not None:
3038
+ self.tag_value = m.get('TagValue')
3039
+ return self
3040
+
3041
+
2802
3042
  class ListExecutorsResponseBodyExecutors(TeaModel):
2803
3043
  def __init__(
2804
3044
  self,
@@ -2806,30 +3046,49 @@ class ListExecutorsResponseBodyExecutors(TeaModel):
2806
3046
  create_time: str = None,
2807
3047
  end_time: str = None,
2808
3048
  executor_id: str = None,
3049
+ external_ip_address: List[str] = None,
2809
3050
  host_name: List[str] = None,
2810
3051
  image: str = None,
2811
3052
  ip_address: List[str] = None,
2812
3053
  job_id: str = None,
2813
3054
  job_name: str = None,
3055
+ resource: ListExecutorsResponseBodyExecutorsResource = None,
3056
+ resource_type: str = None,
3057
+ start_time: str = None,
2814
3058
  status: str = None,
2815
3059
  status_reason: str = None,
3060
+ tags: List[ListExecutorsResponseBodyExecutorsTags] = None,
2816
3061
  task_name: str = None,
3062
+ task_sustainable: bool = None,
3063
+ vswitch_id: str = None,
2817
3064
  ):
2818
3065
  self.array_index = array_index
2819
3066
  self.create_time = create_time
2820
3067
  self.end_time = end_time
2821
3068
  self.executor_id = executor_id
3069
+ self.external_ip_address = external_ip_address
2822
3070
  self.host_name = host_name
2823
3071
  self.image = image
2824
3072
  self.ip_address = ip_address
2825
3073
  self.job_id = job_id
2826
3074
  self.job_name = job_name
3075
+ self.resource = resource
3076
+ self.resource_type = resource_type
3077
+ self.start_time = start_time
2827
3078
  self.status = status
2828
3079
  self.status_reason = status_reason
3080
+ self.tags = tags
2829
3081
  self.task_name = task_name
3082
+ self.task_sustainable = task_sustainable
3083
+ self.vswitch_id = vswitch_id
2830
3084
 
2831
3085
  def validate(self):
2832
- pass
3086
+ if self.resource:
3087
+ self.resource.validate()
3088
+ if self.tags:
3089
+ for k in self.tags:
3090
+ if k:
3091
+ k.validate()
2833
3092
 
2834
3093
  def to_map(self):
2835
3094
  _map = super().to_map()
@@ -2845,6 +3104,8 @@ class ListExecutorsResponseBodyExecutors(TeaModel):
2845
3104
  result['EndTime'] = self.end_time
2846
3105
  if self.executor_id is not None:
2847
3106
  result['ExecutorId'] = self.executor_id
3107
+ if self.external_ip_address is not None:
3108
+ result['ExternalIpAddress'] = self.external_ip_address
2848
3109
  if self.host_name is not None:
2849
3110
  result['HostName'] = self.host_name
2850
3111
  if self.image is not None:
@@ -2855,12 +3116,26 @@ class ListExecutorsResponseBodyExecutors(TeaModel):
2855
3116
  result['JobId'] = self.job_id
2856
3117
  if self.job_name is not None:
2857
3118
  result['JobName'] = self.job_name
3119
+ if self.resource is not None:
3120
+ result['Resource'] = self.resource.to_map()
3121
+ if self.resource_type is not None:
3122
+ result['ResourceType'] = self.resource_type
3123
+ if self.start_time is not None:
3124
+ result['StartTime'] = self.start_time
2858
3125
  if self.status is not None:
2859
3126
  result['Status'] = self.status
2860
3127
  if self.status_reason is not None:
2861
3128
  result['StatusReason'] = self.status_reason
3129
+ result['Tags'] = []
3130
+ if self.tags is not None:
3131
+ for k in self.tags:
3132
+ result['Tags'].append(k.to_map() if k else None)
2862
3133
  if self.task_name is not None:
2863
3134
  result['TaskName'] = self.task_name
3135
+ if self.task_sustainable is not None:
3136
+ result['TaskSustainable'] = self.task_sustainable
3137
+ if self.vswitch_id is not None:
3138
+ result['VswitchId'] = self.vswitch_id
2864
3139
  return result
2865
3140
 
2866
3141
  def from_map(self, m: dict = None):
@@ -2873,6 +3148,8 @@ class ListExecutorsResponseBodyExecutors(TeaModel):
2873
3148
  self.end_time = m.get('EndTime')
2874
3149
  if m.get('ExecutorId') is not None:
2875
3150
  self.executor_id = m.get('ExecutorId')
3151
+ if m.get('ExternalIpAddress') is not None:
3152
+ self.external_ip_address = m.get('ExternalIpAddress')
2876
3153
  if m.get('HostName') is not None:
2877
3154
  self.host_name = m.get('HostName')
2878
3155
  if m.get('Image') is not None:
@@ -2883,12 +3160,28 @@ class ListExecutorsResponseBodyExecutors(TeaModel):
2883
3160
  self.job_id = m.get('JobId')
2884
3161
  if m.get('JobName') is not None:
2885
3162
  self.job_name = m.get('JobName')
3163
+ if m.get('Resource') is not None:
3164
+ temp_model = ListExecutorsResponseBodyExecutorsResource()
3165
+ self.resource = temp_model.from_map(m['Resource'])
3166
+ if m.get('ResourceType') is not None:
3167
+ self.resource_type = m.get('ResourceType')
3168
+ if m.get('StartTime') is not None:
3169
+ self.start_time = m.get('StartTime')
2886
3170
  if m.get('Status') is not None:
2887
3171
  self.status = m.get('Status')
2888
3172
  if m.get('StatusReason') is not None:
2889
3173
  self.status_reason = m.get('StatusReason')
3174
+ self.tags = []
3175
+ if m.get('Tags') is not None:
3176
+ for k in m.get('Tags'):
3177
+ temp_model = ListExecutorsResponseBodyExecutorsTags()
3178
+ self.tags.append(temp_model.from_map(k))
2890
3179
  if m.get('TaskName') is not None:
2891
3180
  self.task_name = m.get('TaskName')
3181
+ if m.get('TaskSustainable') is not None:
3182
+ self.task_sustainable = m.get('TaskSustainable')
3183
+ if m.get('VswitchId') is not None:
3184
+ self.vswitch_id = m.get('VswitchId')
2892
3185
  return self
2893
3186
 
2894
3187
 
@@ -3386,6 +3679,39 @@ class ListJobExecutorsResponseBodyExecutorStatus(TeaModel):
3386
3679
  return self
3387
3680
 
3388
3681
 
3682
+ class ListJobExecutorsResponseBodyExecutorsTags(TeaModel):
3683
+ def __init__(
3684
+ self,
3685
+ tag_key: str = None,
3686
+ tag_value: str = None,
3687
+ ):
3688
+ self.tag_key = tag_key
3689
+ self.tag_value = tag_value
3690
+
3691
+ def validate(self):
3692
+ pass
3693
+
3694
+ def to_map(self):
3695
+ _map = super().to_map()
3696
+ if _map is not None:
3697
+ return _map
3698
+
3699
+ result = dict()
3700
+ if self.tag_key is not None:
3701
+ result['TagKey'] = self.tag_key
3702
+ if self.tag_value is not None:
3703
+ result['TagValue'] = self.tag_value
3704
+ return result
3705
+
3706
+ def from_map(self, m: dict = None):
3707
+ m = m or dict()
3708
+ if m.get('TagKey') is not None:
3709
+ self.tag_key = m.get('TagKey')
3710
+ if m.get('TagValue') is not None:
3711
+ self.tag_value = m.get('TagValue')
3712
+ return self
3713
+
3714
+
3389
3715
  class ListJobExecutorsResponseBodyExecutors(TeaModel):
3390
3716
  def __init__(
3391
3717
  self,
@@ -3393,22 +3719,31 @@ class ListJobExecutorsResponseBodyExecutors(TeaModel):
3393
3719
  create_time: str = None,
3394
3720
  end_time: str = None,
3395
3721
  executor_id: str = None,
3722
+ external_ip_address: List[str] = None,
3396
3723
  host_name: List[str] = None,
3397
3724
  ip_address: List[str] = None,
3725
+ start_time: str = None,
3398
3726
  status: str = None,
3399
3727
  status_reason: str = None,
3728
+ tags: List[ListJobExecutorsResponseBodyExecutorsTags] = None,
3400
3729
  ):
3401
3730
  self.array_index = array_index
3402
3731
  self.create_time = create_time
3403
3732
  self.end_time = end_time
3404
3733
  self.executor_id = executor_id
3734
+ self.external_ip_address = external_ip_address
3405
3735
  self.host_name = host_name
3406
3736
  self.ip_address = ip_address
3737
+ self.start_time = start_time
3407
3738
  self.status = status
3408
3739
  self.status_reason = status_reason
3740
+ self.tags = tags
3409
3741
 
3410
3742
  def validate(self):
3411
- pass
3743
+ if self.tags:
3744
+ for k in self.tags:
3745
+ if k:
3746
+ k.validate()
3412
3747
 
3413
3748
  def to_map(self):
3414
3749
  _map = super().to_map()
@@ -3424,14 +3759,22 @@ class ListJobExecutorsResponseBodyExecutors(TeaModel):
3424
3759
  result['EndTime'] = self.end_time
3425
3760
  if self.executor_id is not None:
3426
3761
  result['ExecutorId'] = self.executor_id
3762
+ if self.external_ip_address is not None:
3763
+ result['ExternalIpAddress'] = self.external_ip_address
3427
3764
  if self.host_name is not None:
3428
3765
  result['HostName'] = self.host_name
3429
3766
  if self.ip_address is not None:
3430
3767
  result['IpAddress'] = self.ip_address
3768
+ if self.start_time is not None:
3769
+ result['StartTime'] = self.start_time
3431
3770
  if self.status is not None:
3432
3771
  result['Status'] = self.status
3433
3772
  if self.status_reason is not None:
3434
3773
  result['StatusReason'] = self.status_reason
3774
+ result['Tags'] = []
3775
+ if self.tags is not None:
3776
+ for k in self.tags:
3777
+ result['Tags'].append(k.to_map() if k else None)
3435
3778
  return result
3436
3779
 
3437
3780
  def from_map(self, m: dict = None):
@@ -3444,14 +3787,23 @@ class ListJobExecutorsResponseBodyExecutors(TeaModel):
3444
3787
  self.end_time = m.get('EndTime')
3445
3788
  if m.get('ExecutorId') is not None:
3446
3789
  self.executor_id = m.get('ExecutorId')
3790
+ if m.get('ExternalIpAddress') is not None:
3791
+ self.external_ip_address = m.get('ExternalIpAddress')
3447
3792
  if m.get('HostName') is not None:
3448
3793
  self.host_name = m.get('HostName')
3449
3794
  if m.get('IpAddress') is not None:
3450
3795
  self.ip_address = m.get('IpAddress')
3796
+ if m.get('StartTime') is not None:
3797
+ self.start_time = m.get('StartTime')
3451
3798
  if m.get('Status') is not None:
3452
3799
  self.status = m.get('Status')
3453
3800
  if m.get('StatusReason') is not None:
3454
3801
  self.status_reason = m.get('StatusReason')
3802
+ self.tags = []
3803
+ if m.get('Tags') is not None:
3804
+ for k in m.get('Tags'):
3805
+ temp_model = ListJobExecutorsResponseBodyExecutorsTags()
3806
+ self.tags.append(temp_model.from_map(k))
3455
3807
  return self
3456
3808
 
3457
3809
 
@@ -3755,6 +4107,39 @@ class ListJobsShrinkRequest(TeaModel):
3755
4107
  return self
3756
4108
 
3757
4109
 
4110
+ class ListJobsResponseBodyJobListTags(TeaModel):
4111
+ def __init__(
4112
+ self,
4113
+ tag_key: str = None,
4114
+ tag_value: str = None,
4115
+ ):
4116
+ self.tag_key = tag_key
4117
+ self.tag_value = tag_value
4118
+
4119
+ def validate(self):
4120
+ pass
4121
+
4122
+ def to_map(self):
4123
+ _map = super().to_map()
4124
+ if _map is not None:
4125
+ return _map
4126
+
4127
+ result = dict()
4128
+ if self.tag_key is not None:
4129
+ result['TagKey'] = self.tag_key
4130
+ if self.tag_value is not None:
4131
+ result['TagValue'] = self.tag_value
4132
+ return result
4133
+
4134
+ def from_map(self, m: dict = None):
4135
+ m = m or dict()
4136
+ if m.get('TagKey') is not None:
4137
+ self.tag_key = m.get('TagKey')
4138
+ if m.get('TagValue') is not None:
4139
+ self.tag_value = m.get('TagValue')
4140
+ return self
4141
+
4142
+
3758
4143
  class ListJobsResponseBodyJobList(TeaModel):
3759
4144
  def __init__(
3760
4145
  self,
@@ -3767,6 +4152,7 @@ class ListJobsResponseBodyJobList(TeaModel):
3767
4152
  owner_uid: str = None,
3768
4153
  start_time: str = None,
3769
4154
  status: str = None,
4155
+ tags: List[ListJobsResponseBodyJobListTags] = None,
3770
4156
  task_count: int = None,
3771
4157
  task_sustainable: bool = None,
3772
4158
  ):
@@ -3779,11 +4165,15 @@ class ListJobsResponseBodyJobList(TeaModel):
3779
4165
  self.owner_uid = owner_uid
3780
4166
  self.start_time = start_time
3781
4167
  self.status = status
4168
+ self.tags = tags
3782
4169
  self.task_count = task_count
3783
4170
  self.task_sustainable = task_sustainable
3784
4171
 
3785
4172
  def validate(self):
3786
- pass
4173
+ if self.tags:
4174
+ for k in self.tags:
4175
+ if k:
4176
+ k.validate()
3787
4177
 
3788
4178
  def to_map(self):
3789
4179
  _map = super().to_map()
@@ -3809,6 +4199,10 @@ class ListJobsResponseBodyJobList(TeaModel):
3809
4199
  result['StartTime'] = self.start_time
3810
4200
  if self.status is not None:
3811
4201
  result['Status'] = self.status
4202
+ result['Tags'] = []
4203
+ if self.tags is not None:
4204
+ for k in self.tags:
4205
+ result['Tags'].append(k.to_map() if k else None)
3812
4206
  if self.task_count is not None:
3813
4207
  result['TaskCount'] = self.task_count
3814
4208
  if self.task_sustainable is not None:
@@ -3835,6 +4229,11 @@ class ListJobsResponseBodyJobList(TeaModel):
3835
4229
  self.start_time = m.get('StartTime')
3836
4230
  if m.get('Status') is not None:
3837
4231
  self.status = m.get('Status')
4232
+ self.tags = []
4233
+ if m.get('Tags') is not None:
4234
+ for k in m.get('Tags'):
4235
+ temp_model = ListJobsResponseBodyJobListTags()
4236
+ self.tags.append(temp_model.from_map(k))
3838
4237
  if m.get('TaskCount') is not None:
3839
4238
  self.task_count = m.get('TaskCount')
3840
4239
  if m.get('TaskSustainable') is not None:
@@ -3942,13 +4341,14 @@ class ListJobsResponse(TeaModel):
3942
4341
  return self
3943
4342
 
3944
4343
 
3945
- class RemoveImageRequest(TeaModel):
4344
+ class ListTagResourcesRequestTag(TeaModel):
3946
4345
  def __init__(
3947
4346
  self,
3948
- image_id: str = None,
4347
+ key: str = None,
4348
+ value: str = None,
3949
4349
  ):
3950
- # This parameter is required.
3951
- self.image_id = image_id
4350
+ self.key = key
4351
+ self.value = value
3952
4352
 
3953
4353
  def validate(self):
3954
4354
  pass
@@ -3959,24 +4359,284 @@ class RemoveImageRequest(TeaModel):
3959
4359
  return _map
3960
4360
 
3961
4361
  result = dict()
3962
- if self.image_id is not None:
3963
- result['ImageId'] = self.image_id
4362
+ if self.key is not None:
4363
+ result['Key'] = self.key
4364
+ if self.value is not None:
4365
+ result['Value'] = self.value
3964
4366
  return result
3965
4367
 
3966
4368
  def from_map(self, m: dict = None):
3967
4369
  m = m or dict()
3968
- if m.get('ImageId') is not None:
3969
- self.image_id = m.get('ImageId')
4370
+ if m.get('Key') is not None:
4371
+ self.key = m.get('Key')
4372
+ if m.get('Value') is not None:
4373
+ self.value = m.get('Value')
3970
4374
  return self
3971
4375
 
3972
4376
 
3973
- class RemoveImageResponseBody(TeaModel):
4377
+ class ListTagResourcesRequest(TeaModel):
3974
4378
  def __init__(
3975
4379
  self,
3976
- request_id: str = None,
3977
- success: bool = None,
4380
+ max_result: int = None,
4381
+ next_token: str = None,
4382
+ resource_id: List[str] = None,
4383
+ resource_type: str = None,
4384
+ tag: List[ListTagResourcesRequestTag] = None,
3978
4385
  ):
3979
- self.request_id = request_id
4386
+ self.max_result = max_result
4387
+ self.next_token = next_token
4388
+ self.resource_id = resource_id
4389
+ # This parameter is required.
4390
+ self.resource_type = resource_type
4391
+ self.tag = tag
4392
+
4393
+ def validate(self):
4394
+ if self.tag:
4395
+ for k in self.tag:
4396
+ if k:
4397
+ k.validate()
4398
+
4399
+ def to_map(self):
4400
+ _map = super().to_map()
4401
+ if _map is not None:
4402
+ return _map
4403
+
4404
+ result = dict()
4405
+ if self.max_result is not None:
4406
+ result['MaxResult'] = self.max_result
4407
+ if self.next_token is not None:
4408
+ result['NextToken'] = self.next_token
4409
+ if self.resource_id is not None:
4410
+ result['ResourceId'] = self.resource_id
4411
+ if self.resource_type is not None:
4412
+ result['ResourceType'] = self.resource_type
4413
+ result['Tag'] = []
4414
+ if self.tag is not None:
4415
+ for k in self.tag:
4416
+ result['Tag'].append(k.to_map() if k else None)
4417
+ return result
4418
+
4419
+ def from_map(self, m: dict = None):
4420
+ m = m or dict()
4421
+ if m.get('MaxResult') is not None:
4422
+ self.max_result = m.get('MaxResult')
4423
+ if m.get('NextToken') is not None:
4424
+ self.next_token = m.get('NextToken')
4425
+ if m.get('ResourceId') is not None:
4426
+ self.resource_id = m.get('ResourceId')
4427
+ if m.get('ResourceType') is not None:
4428
+ self.resource_type = m.get('ResourceType')
4429
+ self.tag = []
4430
+ if m.get('Tag') is not None:
4431
+ for k in m.get('Tag'):
4432
+ temp_model = ListTagResourcesRequestTag()
4433
+ self.tag.append(temp_model.from_map(k))
4434
+ return self
4435
+
4436
+
4437
+ class ListTagResourcesResponseBodyTagResourcesTagResource(TeaModel):
4438
+ def __init__(
4439
+ self,
4440
+ resource_id: str = None,
4441
+ resource_type: str = None,
4442
+ tag_key: str = None,
4443
+ tag_value: str = None,
4444
+ ):
4445
+ self.resource_id = resource_id
4446
+ self.resource_type = resource_type
4447
+ self.tag_key = tag_key
4448
+ self.tag_value = tag_value
4449
+
4450
+ def validate(self):
4451
+ pass
4452
+
4453
+ def to_map(self):
4454
+ _map = super().to_map()
4455
+ if _map is not None:
4456
+ return _map
4457
+
4458
+ result = dict()
4459
+ if self.resource_id is not None:
4460
+ result['ResourceId'] = self.resource_id
4461
+ if self.resource_type is not None:
4462
+ result['ResourceType'] = self.resource_type
4463
+ if self.tag_key is not None:
4464
+ result['TagKey'] = self.tag_key
4465
+ if self.tag_value is not None:
4466
+ result['TagValue'] = self.tag_value
4467
+ return result
4468
+
4469
+ def from_map(self, m: dict = None):
4470
+ m = m or dict()
4471
+ if m.get('ResourceId') is not None:
4472
+ self.resource_id = m.get('ResourceId')
4473
+ if m.get('ResourceType') is not None:
4474
+ self.resource_type = m.get('ResourceType')
4475
+ if m.get('TagKey') is not None:
4476
+ self.tag_key = m.get('TagKey')
4477
+ if m.get('TagValue') is not None:
4478
+ self.tag_value = m.get('TagValue')
4479
+ return self
4480
+
4481
+
4482
+ class ListTagResourcesResponseBodyTagResources(TeaModel):
4483
+ def __init__(
4484
+ self,
4485
+ tag_resource: List[ListTagResourcesResponseBodyTagResourcesTagResource] = None,
4486
+ ):
4487
+ self.tag_resource = tag_resource
4488
+
4489
+ def validate(self):
4490
+ if self.tag_resource:
4491
+ for k in self.tag_resource:
4492
+ if k:
4493
+ k.validate()
4494
+
4495
+ def to_map(self):
4496
+ _map = super().to_map()
4497
+ if _map is not None:
4498
+ return _map
4499
+
4500
+ result = dict()
4501
+ result['TagResource'] = []
4502
+ if self.tag_resource is not None:
4503
+ for k in self.tag_resource:
4504
+ result['TagResource'].append(k.to_map() if k else None)
4505
+ return result
4506
+
4507
+ def from_map(self, m: dict = None):
4508
+ m = m or dict()
4509
+ self.tag_resource = []
4510
+ if m.get('TagResource') is not None:
4511
+ for k in m.get('TagResource'):
4512
+ temp_model = ListTagResourcesResponseBodyTagResourcesTagResource()
4513
+ self.tag_resource.append(temp_model.from_map(k))
4514
+ return self
4515
+
4516
+
4517
+ class ListTagResourcesResponseBody(TeaModel):
4518
+ def __init__(
4519
+ self,
4520
+ next_token: str = None,
4521
+ request_id: str = None,
4522
+ tag_resources: ListTagResourcesResponseBodyTagResources = None,
4523
+ ):
4524
+ self.next_token = next_token
4525
+ self.request_id = request_id
4526
+ self.tag_resources = tag_resources
4527
+
4528
+ def validate(self):
4529
+ if self.tag_resources:
4530
+ self.tag_resources.validate()
4531
+
4532
+ def to_map(self):
4533
+ _map = super().to_map()
4534
+ if _map is not None:
4535
+ return _map
4536
+
4537
+ result = dict()
4538
+ if self.next_token is not None:
4539
+ result['NextToken'] = self.next_token
4540
+ if self.request_id is not None:
4541
+ result['RequestId'] = self.request_id
4542
+ if self.tag_resources is not None:
4543
+ result['TagResources'] = self.tag_resources.to_map()
4544
+ return result
4545
+
4546
+ def from_map(self, m: dict = None):
4547
+ m = m or dict()
4548
+ if m.get('NextToken') is not None:
4549
+ self.next_token = m.get('NextToken')
4550
+ if m.get('RequestId') is not None:
4551
+ self.request_id = m.get('RequestId')
4552
+ if m.get('TagResources') is not None:
4553
+ temp_model = ListTagResourcesResponseBodyTagResources()
4554
+ self.tag_resources = temp_model.from_map(m['TagResources'])
4555
+ return self
4556
+
4557
+
4558
+ class ListTagResourcesResponse(TeaModel):
4559
+ def __init__(
4560
+ self,
4561
+ headers: Dict[str, str] = None,
4562
+ status_code: int = None,
4563
+ body: ListTagResourcesResponseBody = None,
4564
+ ):
4565
+ self.headers = headers
4566
+ self.status_code = status_code
4567
+ self.body = body
4568
+
4569
+ def validate(self):
4570
+ if self.body:
4571
+ self.body.validate()
4572
+
4573
+ def to_map(self):
4574
+ _map = super().to_map()
4575
+ if _map is not None:
4576
+ return _map
4577
+
4578
+ result = dict()
4579
+ if self.headers is not None:
4580
+ result['headers'] = self.headers
4581
+ if self.status_code is not None:
4582
+ result['statusCode'] = self.status_code
4583
+ if self.body is not None:
4584
+ result['body'] = self.body.to_map()
4585
+ return result
4586
+
4587
+ def from_map(self, m: dict = None):
4588
+ m = m or dict()
4589
+ if m.get('headers') is not None:
4590
+ self.headers = m.get('headers')
4591
+ if m.get('statusCode') is not None:
4592
+ self.status_code = m.get('statusCode')
4593
+ if m.get('body') is not None:
4594
+ temp_model = ListTagResourcesResponseBody()
4595
+ self.body = temp_model.from_map(m['body'])
4596
+ return self
4597
+
4598
+
4599
+ class RemoveImageRequest(TeaModel):
4600
+ def __init__(
4601
+ self,
4602
+ image_id: str = None,
4603
+ image_type: str = None,
4604
+ ):
4605
+ # This parameter is required.
4606
+ self.image_id = image_id
4607
+ self.image_type = image_type
4608
+
4609
+ def validate(self):
4610
+ pass
4611
+
4612
+ def to_map(self):
4613
+ _map = super().to_map()
4614
+ if _map is not None:
4615
+ return _map
4616
+
4617
+ result = dict()
4618
+ if self.image_id is not None:
4619
+ result['ImageId'] = self.image_id
4620
+ if self.image_type is not None:
4621
+ result['ImageType'] = self.image_type
4622
+ return result
4623
+
4624
+ def from_map(self, m: dict = None):
4625
+ m = m or dict()
4626
+ if m.get('ImageId') is not None:
4627
+ self.image_id = m.get('ImageId')
4628
+ if m.get('ImageType') is not None:
4629
+ self.image_type = m.get('ImageType')
4630
+ return self
4631
+
4632
+
4633
+ class RemoveImageResponseBody(TeaModel):
4634
+ def __init__(
4635
+ self,
4636
+ request_id: str = None,
4637
+ success: bool = None,
4638
+ ):
4639
+ self.request_id = request_id
3980
4640
  self.success = success
3981
4641
 
3982
4642
  def validate(self):
@@ -4044,3 +4704,270 @@ class RemoveImageResponse(TeaModel):
4044
4704
  return self
4045
4705
 
4046
4706
 
4707
+ class TagResourcesRequestTag(TeaModel):
4708
+ def __init__(
4709
+ self,
4710
+ key: str = None,
4711
+ value: str = None,
4712
+ ):
4713
+ # This parameter is required.
4714
+ self.key = key
4715
+ self.value = value
4716
+
4717
+ def validate(self):
4718
+ pass
4719
+
4720
+ def to_map(self):
4721
+ _map = super().to_map()
4722
+ if _map is not None:
4723
+ return _map
4724
+
4725
+ result = dict()
4726
+ if self.key is not None:
4727
+ result['Key'] = self.key
4728
+ if self.value is not None:
4729
+ result['Value'] = self.value
4730
+ return result
4731
+
4732
+ def from_map(self, m: dict = None):
4733
+ m = m or dict()
4734
+ if m.get('Key') is not None:
4735
+ self.key = m.get('Key')
4736
+ if m.get('Value') is not None:
4737
+ self.value = m.get('Value')
4738
+ return self
4739
+
4740
+
4741
+ class TagResourcesRequest(TeaModel):
4742
+ def __init__(
4743
+ self,
4744
+ resource_id: List[str] = None,
4745
+ resource_type: str = None,
4746
+ tag: List[TagResourcesRequestTag] = None,
4747
+ ):
4748
+ # This parameter is required.
4749
+ self.resource_id = resource_id
4750
+ # This parameter is required.
4751
+ self.resource_type = resource_type
4752
+ # This parameter is required.
4753
+ self.tag = tag
4754
+
4755
+ def validate(self):
4756
+ if self.tag:
4757
+ for k in self.tag:
4758
+ if k:
4759
+ k.validate()
4760
+
4761
+ def to_map(self):
4762
+ _map = super().to_map()
4763
+ if _map is not None:
4764
+ return _map
4765
+
4766
+ result = dict()
4767
+ if self.resource_id is not None:
4768
+ result['ResourceId'] = self.resource_id
4769
+ if self.resource_type is not None:
4770
+ result['ResourceType'] = self.resource_type
4771
+ result['Tag'] = []
4772
+ if self.tag is not None:
4773
+ for k in self.tag:
4774
+ result['Tag'].append(k.to_map() if k else None)
4775
+ return result
4776
+
4777
+ def from_map(self, m: dict = None):
4778
+ m = m or dict()
4779
+ if m.get('ResourceId') is not None:
4780
+ self.resource_id = m.get('ResourceId')
4781
+ if m.get('ResourceType') is not None:
4782
+ self.resource_type = m.get('ResourceType')
4783
+ self.tag = []
4784
+ if m.get('Tag') is not None:
4785
+ for k in m.get('Tag'):
4786
+ temp_model = TagResourcesRequestTag()
4787
+ self.tag.append(temp_model.from_map(k))
4788
+ return self
4789
+
4790
+
4791
+ class TagResourcesResponseBody(TeaModel):
4792
+ def __init__(
4793
+ self,
4794
+ request_id: str = None,
4795
+ ):
4796
+ self.request_id = request_id
4797
+
4798
+ def validate(self):
4799
+ pass
4800
+
4801
+ def to_map(self):
4802
+ _map = super().to_map()
4803
+ if _map is not None:
4804
+ return _map
4805
+
4806
+ result = dict()
4807
+ if self.request_id is not None:
4808
+ result['RequestId'] = self.request_id
4809
+ return result
4810
+
4811
+ def from_map(self, m: dict = None):
4812
+ m = m or dict()
4813
+ if m.get('RequestId') is not None:
4814
+ self.request_id = m.get('RequestId')
4815
+ return self
4816
+
4817
+
4818
+ class TagResourcesResponse(TeaModel):
4819
+ def __init__(
4820
+ self,
4821
+ headers: Dict[str, str] = None,
4822
+ status_code: int = None,
4823
+ body: TagResourcesResponseBody = None,
4824
+ ):
4825
+ self.headers = headers
4826
+ self.status_code = status_code
4827
+ self.body = body
4828
+
4829
+ def validate(self):
4830
+ if self.body:
4831
+ self.body.validate()
4832
+
4833
+ def to_map(self):
4834
+ _map = super().to_map()
4835
+ if _map is not None:
4836
+ return _map
4837
+
4838
+ result = dict()
4839
+ if self.headers is not None:
4840
+ result['headers'] = self.headers
4841
+ if self.status_code is not None:
4842
+ result['statusCode'] = self.status_code
4843
+ if self.body is not None:
4844
+ result['body'] = self.body.to_map()
4845
+ return result
4846
+
4847
+ def from_map(self, m: dict = None):
4848
+ m = m or dict()
4849
+ if m.get('headers') is not None:
4850
+ self.headers = m.get('headers')
4851
+ if m.get('statusCode') is not None:
4852
+ self.status_code = m.get('statusCode')
4853
+ if m.get('body') is not None:
4854
+ temp_model = TagResourcesResponseBody()
4855
+ self.body = temp_model.from_map(m['body'])
4856
+ return self
4857
+
4858
+
4859
+ class UnTagResourcesRequest(TeaModel):
4860
+ def __init__(
4861
+ self,
4862
+ all: bool = None,
4863
+ resource_id: List[str] = None,
4864
+ resource_type: str = None,
4865
+ tag_key: List[str] = None,
4866
+ ):
4867
+ self.all = all
4868
+ # This parameter is required.
4869
+ self.resource_id = resource_id
4870
+ # This parameter is required.
4871
+ self.resource_type = resource_type
4872
+ self.tag_key = tag_key
4873
+
4874
+ def validate(self):
4875
+ pass
4876
+
4877
+ def to_map(self):
4878
+ _map = super().to_map()
4879
+ if _map is not None:
4880
+ return _map
4881
+
4882
+ result = dict()
4883
+ if self.all is not None:
4884
+ result['All'] = self.all
4885
+ if self.resource_id is not None:
4886
+ result['ResourceId'] = self.resource_id
4887
+ if self.resource_type is not None:
4888
+ result['ResourceType'] = self.resource_type
4889
+ if self.tag_key is not None:
4890
+ result['TagKey'] = self.tag_key
4891
+ return result
4892
+
4893
+ def from_map(self, m: dict = None):
4894
+ m = m or dict()
4895
+ if m.get('All') is not None:
4896
+ self.all = m.get('All')
4897
+ if m.get('ResourceId') is not None:
4898
+ self.resource_id = m.get('ResourceId')
4899
+ if m.get('ResourceType') is not None:
4900
+ self.resource_type = m.get('ResourceType')
4901
+ if m.get('TagKey') is not None:
4902
+ self.tag_key = m.get('TagKey')
4903
+ return self
4904
+
4905
+
4906
+ class UnTagResourcesResponseBody(TeaModel):
4907
+ def __init__(
4908
+ self,
4909
+ request_id: str = None,
4910
+ ):
4911
+ self.request_id = request_id
4912
+
4913
+ def validate(self):
4914
+ pass
4915
+
4916
+ def to_map(self):
4917
+ _map = super().to_map()
4918
+ if _map is not None:
4919
+ return _map
4920
+
4921
+ result = dict()
4922
+ if self.request_id is not None:
4923
+ result['RequestId'] = self.request_id
4924
+ return result
4925
+
4926
+ def from_map(self, m: dict = None):
4927
+ m = m or dict()
4928
+ if m.get('RequestId') is not None:
4929
+ self.request_id = m.get('RequestId')
4930
+ return self
4931
+
4932
+
4933
+ class UnTagResourcesResponse(TeaModel):
4934
+ def __init__(
4935
+ self,
4936
+ headers: Dict[str, str] = None,
4937
+ status_code: int = None,
4938
+ body: UnTagResourcesResponseBody = None,
4939
+ ):
4940
+ self.headers = headers
4941
+ self.status_code = status_code
4942
+ self.body = body
4943
+
4944
+ def validate(self):
4945
+ if self.body:
4946
+ self.body.validate()
4947
+
4948
+ def to_map(self):
4949
+ _map = super().to_map()
4950
+ if _map is not None:
4951
+ return _map
4952
+
4953
+ result = dict()
4954
+ if self.headers is not None:
4955
+ result['headers'] = self.headers
4956
+ if self.status_code is not None:
4957
+ result['statusCode'] = self.status_code
4958
+ if self.body is not None:
4959
+ result['body'] = self.body.to_map()
4960
+ return result
4961
+
4962
+ def from_map(self, m: dict = None):
4963
+ m = m or dict()
4964
+ if m.get('headers') is not None:
4965
+ self.headers = m.get('headers')
4966
+ if m.get('statusCode') is not None:
4967
+ self.status_code = m.get('statusCode')
4968
+ if m.get('body') is not None:
4969
+ temp_model = UnTagResourcesResponseBody()
4970
+ self.body = temp_model.from_map(m['body'])
4971
+ return self
4972
+
4973
+