alibabacloud-ecd20201002 1.2.9__py3-none-any.whl → 1.2.11__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.
Files changed (105) hide show
  1. alibabacloud_ecd20201002/__init__.py +1 -1
  2. alibabacloud_ecd20201002/client.py +1979 -2706
  3. alibabacloud_ecd20201002/models/__init__.py +245 -0
  4. alibabacloud_ecd20201002/models/_approve_fota_update_request.py +109 -0
  5. alibabacloud_ecd20201002/models/_approve_fota_update_response.py +54 -0
  6. alibabacloud_ecd20201002/models/_approve_fota_update_response_body.py +34 -0
  7. alibabacloud_ecd20201002/models/_change_password_request.py +111 -0
  8. alibabacloud_ecd20201002/models/_change_password_response.py +54 -0
  9. alibabacloud_ecd20201002/models/_change_password_response_body.py +43 -0
  10. alibabacloud_ecd20201002/models/_delete_finger_print_template_request.py +89 -0
  11. alibabacloud_ecd20201002/models/_delete_finger_print_template_response.py +54 -0
  12. alibabacloud_ecd20201002/models/_delete_finger_print_template_response_body.py +34 -0
  13. alibabacloud_ecd20201002/models/_describe_directories_request.py +58 -0
  14. alibabacloud_ecd20201002/models/_describe_directories_response.py +54 -0
  15. alibabacloud_ecd20201002/models/_describe_directories_response_body.py +126 -0
  16. alibabacloud_ecd20201002/models/_describe_finger_print_templates_request.py +69 -0
  17. alibabacloud_ecd20201002/models/_describe_finger_print_templates_response.py +54 -0
  18. alibabacloud_ecd20201002/models/_describe_finger_print_templates_response_body.py +136 -0
  19. alibabacloud_ecd20201002/models/_describe_global_desktops_request.py +252 -0
  20. alibabacloud_ecd20201002/models/_describe_global_desktops_response.py +54 -0
  21. alibabacloud_ecd20201002/models/_describe_global_desktops_response_body.py +885 -0
  22. alibabacloud_ecd20201002/models/_describe_office_sites_request.py +62 -0
  23. alibabacloud_ecd20201002/models/_describe_office_sites_response.py +54 -0
  24. alibabacloud_ecd20201002/models/_describe_office_sites_response_body.py +138 -0
  25. alibabacloud_ecd20201002/models/_describe_regions_request.py +45 -0
  26. alibabacloud_ecd20201002/models/_describe_regions_response.py +54 -0
  27. alibabacloud_ecd20201002/models/_describe_regions_response_body.py +91 -0
  28. alibabacloud_ecd20201002/models/_describe_snapshots_request.py +103 -0
  29. alibabacloud_ecd20201002/models/_describe_snapshots_response.py +54 -0
  30. alibabacloud_ecd20201002/models/_describe_snapshots_response_body.py +215 -0
  31. alibabacloud_ecd20201002/models/_describe_user_resources_request.py +332 -0
  32. alibabacloud_ecd20201002/models/_describe_user_resources_response.py +54 -0
  33. alibabacloud_ecd20201002/models/_describe_user_resources_response_body.py +1273 -0
  34. alibabacloud_ecd20201002/models/_encrypt_password_request.py +98 -0
  35. alibabacloud_ecd20201002/models/_encrypt_password_response.py +54 -0
  36. alibabacloud_ecd20201002/models/_encrypt_password_response_body.py +43 -0
  37. alibabacloud_ecd20201002/models/_get_cloud_drive_service_mount_token_request.py +65 -0
  38. alibabacloud_ecd20201002/models/_get_cloud_drive_service_mount_token_response.py +54 -0
  39. alibabacloud_ecd20201002/models/_get_cloud_drive_service_mount_token_response_body.py +114 -0
  40. alibabacloud_ecd20201002/models/_get_connection_ticket_request.py +228 -0
  41. alibabacloud_ecd20201002/models/_get_connection_ticket_response.py +54 -0
  42. alibabacloud_ecd20201002/models/_get_connection_ticket_response_body.py +91 -0
  43. alibabacloud_ecd20201002/models/_get_login_token_request.py +235 -0
  44. alibabacloud_ecd20201002/models/_get_login_token_response.py +54 -0
  45. alibabacloud_ecd20201002/models/_get_login_token_response_body.py +314 -0
  46. alibabacloud_ecd20201002/models/_get_login_token_shrink_request.py +233 -0
  47. alibabacloud_ecd20201002/models/_is_keep_alive_request.py +54 -0
  48. alibabacloud_ecd20201002/models/_is_keep_alive_response.py +54 -0
  49. alibabacloud_ecd20201002/models/_is_keep_alive_response_body.py +61 -0
  50. alibabacloud_ecd20201002/models/_oss_upload_credential.py +73 -0
  51. alibabacloud_ecd20201002/models/_query_eds_agent_report_config_request.py +49 -0
  52. alibabacloud_ecd20201002/models/_query_eds_agent_report_config_response.py +54 -0
  53. alibabacloud_ecd20201002/models/_query_eds_agent_report_config_response_body.py +71 -0
  54. alibabacloud_ecd20201002/models/_reboot_desktops_request.py +131 -0
  55. alibabacloud_ecd20201002/models/_reboot_desktops_response.py +54 -0
  56. alibabacloud_ecd20201002/models/_reboot_desktops_response_body.py +34 -0
  57. alibabacloud_ecd20201002/models/_refresh_login_token_request.py +85 -0
  58. alibabacloud_ecd20201002/models/_refresh_login_token_response.py +54 -0
  59. alibabacloud_ecd20201002/models/_refresh_login_token_response_body.py +41 -0
  60. alibabacloud_ecd20201002/models/_report_eds_agent_info_request.py +57 -0
  61. alibabacloud_ecd20201002/models/_report_eds_agent_info_response.py +54 -0
  62. alibabacloud_ecd20201002/models/_report_eds_agent_info_response_body.py +33 -0
  63. alibabacloud_ecd20201002/models/_report_session_status_request.py +78 -0
  64. alibabacloud_ecd20201002/models/_report_session_status_response.py +54 -0
  65. alibabacloud_ecd20201002/models/_report_session_status_response_body.py +33 -0
  66. alibabacloud_ecd20201002/models/_reset_password_request.py +96 -0
  67. alibabacloud_ecd20201002/models/_reset_password_response.py +54 -0
  68. alibabacloud_ecd20201002/models/_reset_password_response_body.py +34 -0
  69. alibabacloud_ecd20201002/models/_reset_snapshot_request.py +96 -0
  70. alibabacloud_ecd20201002/models/_reset_snapshot_response.py +54 -0
  71. alibabacloud_ecd20201002/models/_reset_snapshot_response_body.py +34 -0
  72. alibabacloud_ecd20201002/models/_send_token_code_request.py +99 -0
  73. alibabacloud_ecd20201002/models/_send_token_code_response.py +54 -0
  74. alibabacloud_ecd20201002/models/_send_token_code_response_body.py +34 -0
  75. alibabacloud_ecd20201002/models/_set_finger_print_template_description_request.py +100 -0
  76. alibabacloud_ecd20201002/models/_set_finger_print_template_description_response.py +54 -0
  77. alibabacloud_ecd20201002/models/_set_finger_print_template_description_response_body.py +34 -0
  78. alibabacloud_ecd20201002/models/_set_finger_print_template_request.py +125 -0
  79. alibabacloud_ecd20201002/models/_set_finger_print_template_response.py +54 -0
  80. alibabacloud_ecd20201002/models/_set_finger_print_template_response_body.py +52 -0
  81. alibabacloud_ecd20201002/models/_start_desktops_request.py +116 -0
  82. alibabacloud_ecd20201002/models/_start_desktops_response.py +54 -0
  83. alibabacloud_ecd20201002/models/_start_desktops_response_body.py +34 -0
  84. alibabacloud_ecd20201002/models/_start_record_content_request.py +94 -0
  85. alibabacloud_ecd20201002/models/_start_record_content_response.py +54 -0
  86. alibabacloud_ecd20201002/models/_start_record_content_response_body.py +33 -0
  87. alibabacloud_ecd20201002/models/_stop_desktops_request.py +130 -0
  88. alibabacloud_ecd20201002/models/_stop_desktops_response.py +54 -0
  89. alibabacloud_ecd20201002/models/_stop_desktops_response_body.py +34 -0
  90. alibabacloud_ecd20201002/models/_stop_record_content_request.py +86 -0
  91. alibabacloud_ecd20201002/models/_stop_record_content_response.py +54 -0
  92. alibabacloud_ecd20201002/models/_stop_record_content_response_body.py +33 -0
  93. alibabacloud_ecd20201002/models/_unbind_user_desktop_request.py +103 -0
  94. alibabacloud_ecd20201002/models/_unbind_user_desktop_response.py +54 -0
  95. alibabacloud_ecd20201002/models/_unbind_user_desktop_response_body.py +34 -0
  96. alibabacloud_ecd20201002/models/_verify_credential_request.py +113 -0
  97. alibabacloud_ecd20201002/models/_verify_credential_response.py +54 -0
  98. alibabacloud_ecd20201002/models/_verify_credential_response_body.py +34 -0
  99. {alibabacloud_ecd20201002-1.2.9.dist-info → alibabacloud_ecd20201002-1.2.11.dist-info}/METADATA +7 -7
  100. alibabacloud_ecd20201002-1.2.11.dist-info/RECORD +103 -0
  101. alibabacloud_ecd20201002/models.py +0 -7140
  102. alibabacloud_ecd20201002-1.2.9.dist-info/RECORD +0 -8
  103. {alibabacloud_ecd20201002-1.2.9.dist-info → alibabacloud_ecd20201002-1.2.11.dist-info}/LICENSE +0 -0
  104. {alibabacloud_ecd20201002-1.2.9.dist-info → alibabacloud_ecd20201002-1.2.11.dist-info}/WHEEL +0 -0
  105. {alibabacloud_ecd20201002-1.2.9.dist-info → alibabacloud_ecd20201002-1.2.11.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,1273 @@
1
+ # -*- coding: utf-8 -*-
2
+ # This file is auto-generated, don't edit it. Thanks.
3
+ from __future__ import annotations
4
+
5
+ from typing import List
6
+
7
+ from alibabacloud_ecd20201002 import models as main_models
8
+ from darabonba.model import DaraModel
9
+
10
+ class DescribeUserResourcesResponseBody(DaraModel):
11
+ def __init__(
12
+ self,
13
+ max_results: int = None,
14
+ next_token: str = None,
15
+ query_failed_resource_types: List[str] = None,
16
+ rank_version: int = None,
17
+ request_id: str = None,
18
+ resources: List[main_models.DescribeUserResourcesResponseBodyResources] = None,
19
+ total_count: int = None,
20
+ ):
21
+ # 返回最大数量。
22
+ self.max_results = max_results
23
+ # A pagination token. It can be used in the next request to retrieve a new page of results. If NextToken is empty, no next page exists.
24
+ self.next_token = next_token
25
+ # The resource types that failed to be queried.
26
+ self.query_failed_resource_types = query_failed_resource_types
27
+ # The version number of the ranking data.
28
+ self.rank_version = rank_version
29
+ # The request ID.
30
+ self.request_id = request_id
31
+ # The resources.
32
+ self.resources = resources
33
+ # 总数。
34
+ self.total_count = total_count
35
+
36
+ def validate(self):
37
+ if self.resources:
38
+ for v1 in self.resources:
39
+ if v1:
40
+ v1.validate()
41
+
42
+ def to_map(self):
43
+ result = dict()
44
+ _map = super().to_map()
45
+ if _map is not None:
46
+ result = _map
47
+ if self.max_results is not None:
48
+ result['MaxResults'] = self.max_results
49
+
50
+ if self.next_token is not None:
51
+ result['NextToken'] = self.next_token
52
+
53
+ if self.query_failed_resource_types is not None:
54
+ result['QueryFailedResourceTypes'] = self.query_failed_resource_types
55
+
56
+ if self.rank_version is not None:
57
+ result['RankVersion'] = self.rank_version
58
+
59
+ if self.request_id is not None:
60
+ result['RequestId'] = self.request_id
61
+
62
+ result['Resources'] = []
63
+ if self.resources is not None:
64
+ for k1 in self.resources:
65
+ result['Resources'].append(k1.to_map() if k1 else None)
66
+
67
+ if self.total_count is not None:
68
+ result['TotalCount'] = self.total_count
69
+
70
+ return result
71
+
72
+ def from_map(self, m: dict = None):
73
+ m = m or dict()
74
+ if m.get('MaxResults') is not None:
75
+ self.max_results = m.get('MaxResults')
76
+
77
+ if m.get('NextToken') is not None:
78
+ self.next_token = m.get('NextToken')
79
+
80
+ if m.get('QueryFailedResourceTypes') is not None:
81
+ self.query_failed_resource_types = m.get('QueryFailedResourceTypes')
82
+
83
+ if m.get('RankVersion') is not None:
84
+ self.rank_version = m.get('RankVersion')
85
+
86
+ if m.get('RequestId') is not None:
87
+ self.request_id = m.get('RequestId')
88
+
89
+ self.resources = []
90
+ if m.get('Resources') is not None:
91
+ for k1 in m.get('Resources'):
92
+ temp_model = main_models.DescribeUserResourcesResponseBodyResources()
93
+ self.resources.append(temp_model.from_map(k1))
94
+
95
+ if m.get('TotalCount') is not None:
96
+ self.total_count = m.get('TotalCount')
97
+
98
+ return self
99
+
100
+ class DescribeUserResourcesResponseBodyResources(DaraModel):
101
+ def __init__(
102
+ self,
103
+ access_type: str = None,
104
+ ali_uid: int = None,
105
+ app_id: str = None,
106
+ auth_mode: str = None,
107
+ category_id: int = None,
108
+ category_type: int = None,
109
+ cds_name: str = None,
110
+ center_resource_id: str = None,
111
+ charge_type: str = None,
112
+ clients: List[main_models.DescribeUserResourcesResponseBodyResourcesClients] = None,
113
+ connection_properties: str = None,
114
+ create_time: str = None,
115
+ desktop_duration_list: List[main_models.DescribeUserResourcesResponseBodyResourcesDesktopDurationList] = None,
116
+ desktop_timers: List[main_models.DescribeUserResourcesResponseBodyResourcesDesktopTimers] = None,
117
+ expired_time: str = None,
118
+ external_domain_id: str = None,
119
+ external_user_id: str = None,
120
+ fota_update: main_models.DescribeUserResourcesResponseBodyResourcesFotaUpdate = None,
121
+ global_status: bool = None,
122
+ has_upgrade: bool = None,
123
+ hibernation_beta: bool = None,
124
+ icon: str = None,
125
+ last_start_time: str = None,
126
+ local_name: str = None,
127
+ management_statuses: List[str] = None,
128
+ office_site_id: str = None,
129
+ order_status: str = None,
130
+ os: str = None,
131
+ os_description: str = None,
132
+ os_type: str = None,
133
+ os_update: main_models.DescribeUserResourcesResponseBodyResourcesOsUpdate = None,
134
+ product_type: str = None,
135
+ protocol_type: str = None,
136
+ real_desktop_id: str = None,
137
+ region_id: str = None,
138
+ region_location: str = None,
139
+ resource_group_id: str = None,
140
+ resource_id: str = None,
141
+ resource_level: str = None,
142
+ resource_name: str = None,
143
+ resource_session_status: str = None,
144
+ resource_status: str = None,
145
+ resource_type: str = None,
146
+ session_type: str = None,
147
+ sessions: List[main_models.DescribeUserResourcesResponseBodyResourcesSessions] = None,
148
+ sub_pay_type: str = None,
149
+ support_hibernation: bool = None,
150
+ supported_actions: List[str] = None,
151
+ theme_color: str = None,
152
+ user_custom_name: str = None,
153
+ version: str = None,
154
+ ):
155
+ # The access type.
156
+ #
157
+ # Valid values:
158
+ #
159
+ # * INTERNET: access over the Internet.
160
+ # * VPC: access over an enterprise VPC.
161
+ # * ANY: access over the Internet or an enterprise VPC.
162
+ self.access_type = access_type
163
+ # The ID of the Alibaba Cloud account.
164
+ self.ali_uid = ali_uid
165
+ # The app ID. This parameter is for apps only.
166
+ self.app_id = app_id
167
+ # The authorization mode of the cloud app.
168
+ #
169
+ # Valid values:
170
+ #
171
+ # * App: authorizes access to apps.
172
+ # * AppInstanceGroup: authorizes access to delivery groups.
173
+ # * Session: authorizes access to sessions.
174
+ self.auth_mode = auth_mode
175
+ # The level-2 resource category. This parameter is for apps only.
176
+ self.category_id = category_id
177
+ # The level-1 resource category. This parameter is for apps only.
178
+ self.category_type = category_type
179
+ # The drive name. This parameter is for enterprise drives only.
180
+ self.cds_name = cds_name
181
+ # The ID of the centralized resource.
182
+ self.center_resource_id = center_resource_id
183
+ # The billing method.
184
+ #
185
+ # Valid values:
186
+ #
187
+ # * Postpaid (default): pay-as-you-go.
188
+ # * PrePaid: subscription.
189
+ self.charge_type = charge_type
190
+ # The client types supported by resources.
191
+ self.clients = clients
192
+ # The connection attributes in JSON format. The client does not need to process the attributes; they are directly passed to the resource management center when the app resource is created.
193
+ self.connection_properties = connection_properties
194
+ # The time when the resource was created.
195
+ self.create_time = create_time
196
+ # The cloud computer plans.
197
+ self.desktop_duration_list = desktop_duration_list
198
+ # The scheduled tasks for cloud computers.
199
+ self.desktop_timers = desktop_timers
200
+ # The expiration time of the subscription resource.
201
+ self.expired_time = expired_time
202
+ # The ID of the external domain. This parameter is for enterprise drives only.
203
+ self.external_domain_id = external_domain_id
204
+ # The ID of the external user. This parameter is for enterprise drives only.
205
+ self.external_user_id = external_user_id
206
+ # The update info of the cloud computer.
207
+ self.fota_update = fota_update
208
+ # Indicates whether cross-region access is supported. This parameter is for enterprise drives only.
209
+ self.global_status = global_status
210
+ # Indicates whether an update exists.
211
+ self.has_upgrade = has_upgrade
212
+ # Indicates whether this is a beta version of the hibernation feature.
213
+ #
214
+ # Valid values:
215
+ #
216
+ # * true
217
+ # * false
218
+ self.hibernation_beta = hibernation_beta
219
+ # The resource icon. This parameter is for apps only.
220
+ self.icon = icon
221
+ # The time when the resource was last started.
222
+ self.last_start_time = last_start_time
223
+ # The region name.
224
+ self.local_name = local_name
225
+ # The management status.
226
+ self.management_statuses = management_statuses
227
+ # The office network ID.
228
+ self.office_site_id = office_site_id
229
+ # The order status.
230
+ #
231
+ # Valid values:
232
+ #
233
+ # * Ceased: Your account has an overdue payment.
234
+ # * Released: The order is closed.
235
+ # * Expired: The subscription resource has expired.
236
+ # * Normal: The order is normal.
237
+ self.order_status = order_status
238
+ # The OS platform.
239
+ self.os = os
240
+ # The description of the OS platform.
241
+ self.os_description = os_description
242
+ # The OS type.
243
+ #
244
+ # Valid values:
245
+ #
246
+ # * Linux
247
+ # * Windows
248
+ # * Android
249
+ self.os_type = os_type
250
+ # The update info of the OS.
251
+ self.os_update = os_update
252
+ # The service type.
253
+ #
254
+ # Valid values:
255
+ #
256
+ # * CloudDesktop: regular cloud computers or cloud computer shares.
257
+ # * CloudApp: App Streaming
258
+ # * CloudBrowser: Cloud Browser.
259
+ # * AndroidCloud: Cloud Phone.
260
+ self.product_type = product_type
261
+ # The protocol type.
262
+ #
263
+ # Valid values:
264
+ #
265
+ # * HDX
266
+ # * ASP
267
+ self.protocol_type = protocol_type
268
+ # The real ID of the cloud computer (from a share). This parameter is returned only when the cloud computer share has ongoing sessions.
269
+ self.real_desktop_id = real_desktop_id
270
+ # The region ID.
271
+ self.region_id = region_id
272
+ # The geographical location.
273
+ #
274
+ # Valid values:
275
+ #
276
+ # * Mainland: regions in the Chinese mainland.
277
+ # * Overseas: regions outside the Chinese mainland, including China (Hong Kong).
278
+ self.region_location = region_location
279
+ # The resource group ID.
280
+ self.resource_group_id = resource_group_id
281
+ # The resource ID.
282
+ self.resource_id = resource_id
283
+ # The resource level.
284
+ #
285
+ # Valid values:
286
+ #
287
+ # * Center: a centralized resource.
288
+ # * Region: a unit resource.
289
+ self.resource_level = resource_level
290
+ # The resource name.
291
+ self.resource_name = resource_name
292
+ # The session status.
293
+ #
294
+ # Valid values:
295
+ #
296
+ # * Unknown
297
+ # * Connected
298
+ # * Disconnected
299
+ self.resource_session_status = resource_session_status
300
+ # The resource status.
301
+ #
302
+ # Valid values:
303
+ #
304
+ # * Unknown: The resource status is unknown.
305
+ # * Stopped: The resource is stopped.
306
+ # * Failed: The resource failed to be created.
307
+ # * Starting: The resource is being started.
308
+ # * Rebuilding: The resource is changing.
309
+ # * Running: The resource is running.
310
+ # * Stopping: The resource is being stopped.
311
+ # * FotaUpdating: The image is being updated.
312
+ # * Pending: The resource is still being prepared.
313
+ # * Deleting: The resource is being deleted.
314
+ # * Unavailable: The resource is unavailable.
315
+ self.resource_status = resource_status
316
+ # The resource type.
317
+ #
318
+ # Valid values:
319
+ #
320
+ # * App: cloud apps including App Streaming, Cloud Phone, and Cloud Browser.
321
+ # * Desktop: cloud computers.
322
+ # * DesktopGroup: cloud computer shares.
323
+ # * CloudDrive: enterprise drives.
324
+ self.resource_type = resource_type
325
+ # The session type.
326
+ #
327
+ # Valid values:
328
+ #
329
+ # * SINGLE_SESSION
330
+ # * MULTIPLE_SESSION
331
+ self.session_type = session_type
332
+ # The sessions established between users and resources.
333
+ self.sessions = sessions
334
+ # The sub-billing method.
335
+ #
336
+ # Valid values:
337
+ #
338
+ # * monthPackage: monthly subscription.
339
+ # * PrePaid: hourly plans.
340
+ self.sub_pay_type = sub_pay_type
341
+ # Indicates whether hibernation is supported.
342
+ #
343
+ # Valid values:
344
+ #
345
+ # * true
346
+ # * false
347
+ self.support_hibernation = support_hibernation
348
+ # The supported actions. This parameter is returned only for cloud computers or phones.
349
+ self.supported_actions = supported_actions
350
+ # The theme color of the resource. This parameter is for apps only.
351
+ self.theme_color = theme_color
352
+ # The custom name of the resource.
353
+ self.user_custom_name = user_custom_name
354
+ # The resource version. This parameter is for apps only.
355
+ self.version = version
356
+
357
+ def validate(self):
358
+ if self.clients:
359
+ for v1 in self.clients:
360
+ if v1:
361
+ v1.validate()
362
+ if self.desktop_duration_list:
363
+ for v1 in self.desktop_duration_list:
364
+ if v1:
365
+ v1.validate()
366
+ if self.desktop_timers:
367
+ for v1 in self.desktop_timers:
368
+ if v1:
369
+ v1.validate()
370
+ if self.fota_update:
371
+ self.fota_update.validate()
372
+ if self.os_update:
373
+ self.os_update.validate()
374
+ if self.sessions:
375
+ for v1 in self.sessions:
376
+ if v1:
377
+ v1.validate()
378
+
379
+ def to_map(self):
380
+ result = dict()
381
+ _map = super().to_map()
382
+ if _map is not None:
383
+ result = _map
384
+ if self.access_type is not None:
385
+ result['AccessType'] = self.access_type
386
+
387
+ if self.ali_uid is not None:
388
+ result['AliUid'] = self.ali_uid
389
+
390
+ if self.app_id is not None:
391
+ result['AppId'] = self.app_id
392
+
393
+ if self.auth_mode is not None:
394
+ result['AuthMode'] = self.auth_mode
395
+
396
+ if self.category_id is not None:
397
+ result['CategoryId'] = self.category_id
398
+
399
+ if self.category_type is not None:
400
+ result['CategoryType'] = self.category_type
401
+
402
+ if self.cds_name is not None:
403
+ result['CdsName'] = self.cds_name
404
+
405
+ if self.center_resource_id is not None:
406
+ result['CenterResourceId'] = self.center_resource_id
407
+
408
+ if self.charge_type is not None:
409
+ result['ChargeType'] = self.charge_type
410
+
411
+ result['Clients'] = []
412
+ if self.clients is not None:
413
+ for k1 in self.clients:
414
+ result['Clients'].append(k1.to_map() if k1 else None)
415
+
416
+ if self.connection_properties is not None:
417
+ result['ConnectionProperties'] = self.connection_properties
418
+
419
+ if self.create_time is not None:
420
+ result['CreateTime'] = self.create_time
421
+
422
+ result['DesktopDurationList'] = []
423
+ if self.desktop_duration_list is not None:
424
+ for k1 in self.desktop_duration_list:
425
+ result['DesktopDurationList'].append(k1.to_map() if k1 else None)
426
+
427
+ result['DesktopTimers'] = []
428
+ if self.desktop_timers is not None:
429
+ for k1 in self.desktop_timers:
430
+ result['DesktopTimers'].append(k1.to_map() if k1 else None)
431
+
432
+ if self.expired_time is not None:
433
+ result['ExpiredTime'] = self.expired_time
434
+
435
+ if self.external_domain_id is not None:
436
+ result['ExternalDomainId'] = self.external_domain_id
437
+
438
+ if self.external_user_id is not None:
439
+ result['ExternalUserId'] = self.external_user_id
440
+
441
+ if self.fota_update is not None:
442
+ result['FotaUpdate'] = self.fota_update.to_map()
443
+
444
+ if self.global_status is not None:
445
+ result['GlobalStatus'] = self.global_status
446
+
447
+ if self.has_upgrade is not None:
448
+ result['HasUpgrade'] = self.has_upgrade
449
+
450
+ if self.hibernation_beta is not None:
451
+ result['HibernationBeta'] = self.hibernation_beta
452
+
453
+ if self.icon is not None:
454
+ result['Icon'] = self.icon
455
+
456
+ if self.last_start_time is not None:
457
+ result['LastStartTime'] = self.last_start_time
458
+
459
+ if self.local_name is not None:
460
+ result['LocalName'] = self.local_name
461
+
462
+ if self.management_statuses is not None:
463
+ result['ManagementStatuses'] = self.management_statuses
464
+
465
+ if self.office_site_id is not None:
466
+ result['OfficeSiteId'] = self.office_site_id
467
+
468
+ if self.order_status is not None:
469
+ result['OrderStatus'] = self.order_status
470
+
471
+ if self.os is not None:
472
+ result['Os'] = self.os
473
+
474
+ if self.os_description is not None:
475
+ result['OsDescription'] = self.os_description
476
+
477
+ if self.os_type is not None:
478
+ result['OsType'] = self.os_type
479
+
480
+ if self.os_update is not None:
481
+ result['OsUpdate'] = self.os_update.to_map()
482
+
483
+ if self.product_type is not None:
484
+ result['ProductType'] = self.product_type
485
+
486
+ if self.protocol_type is not None:
487
+ result['ProtocolType'] = self.protocol_type
488
+
489
+ if self.real_desktop_id is not None:
490
+ result['RealDesktopId'] = self.real_desktop_id
491
+
492
+ if self.region_id is not None:
493
+ result['RegionId'] = self.region_id
494
+
495
+ if self.region_location is not None:
496
+ result['RegionLocation'] = self.region_location
497
+
498
+ if self.resource_group_id is not None:
499
+ result['ResourceGroupId'] = self.resource_group_id
500
+
501
+ if self.resource_id is not None:
502
+ result['ResourceId'] = self.resource_id
503
+
504
+ if self.resource_level is not None:
505
+ result['ResourceLevel'] = self.resource_level
506
+
507
+ if self.resource_name is not None:
508
+ result['ResourceName'] = self.resource_name
509
+
510
+ if self.resource_session_status is not None:
511
+ result['ResourceSessionStatus'] = self.resource_session_status
512
+
513
+ if self.resource_status is not None:
514
+ result['ResourceStatus'] = self.resource_status
515
+
516
+ if self.resource_type is not None:
517
+ result['ResourceType'] = self.resource_type
518
+
519
+ if self.session_type is not None:
520
+ result['SessionType'] = self.session_type
521
+
522
+ result['Sessions'] = []
523
+ if self.sessions is not None:
524
+ for k1 in self.sessions:
525
+ result['Sessions'].append(k1.to_map() if k1 else None)
526
+
527
+ if self.sub_pay_type is not None:
528
+ result['SubPayType'] = self.sub_pay_type
529
+
530
+ if self.support_hibernation is not None:
531
+ result['SupportHibernation'] = self.support_hibernation
532
+
533
+ if self.supported_actions is not None:
534
+ result['SupportedActions'] = self.supported_actions
535
+
536
+ if self.theme_color is not None:
537
+ result['ThemeColor'] = self.theme_color
538
+
539
+ if self.user_custom_name is not None:
540
+ result['UserCustomName'] = self.user_custom_name
541
+
542
+ if self.version is not None:
543
+ result['Version'] = self.version
544
+
545
+ return result
546
+
547
+ def from_map(self, m: dict = None):
548
+ m = m or dict()
549
+ if m.get('AccessType') is not None:
550
+ self.access_type = m.get('AccessType')
551
+
552
+ if m.get('AliUid') is not None:
553
+ self.ali_uid = m.get('AliUid')
554
+
555
+ if m.get('AppId') is not None:
556
+ self.app_id = m.get('AppId')
557
+
558
+ if m.get('AuthMode') is not None:
559
+ self.auth_mode = m.get('AuthMode')
560
+
561
+ if m.get('CategoryId') is not None:
562
+ self.category_id = m.get('CategoryId')
563
+
564
+ if m.get('CategoryType') is not None:
565
+ self.category_type = m.get('CategoryType')
566
+
567
+ if m.get('CdsName') is not None:
568
+ self.cds_name = m.get('CdsName')
569
+
570
+ if m.get('CenterResourceId') is not None:
571
+ self.center_resource_id = m.get('CenterResourceId')
572
+
573
+ if m.get('ChargeType') is not None:
574
+ self.charge_type = m.get('ChargeType')
575
+
576
+ self.clients = []
577
+ if m.get('Clients') is not None:
578
+ for k1 in m.get('Clients'):
579
+ temp_model = main_models.DescribeUserResourcesResponseBodyResourcesClients()
580
+ self.clients.append(temp_model.from_map(k1))
581
+
582
+ if m.get('ConnectionProperties') is not None:
583
+ self.connection_properties = m.get('ConnectionProperties')
584
+
585
+ if m.get('CreateTime') is not None:
586
+ self.create_time = m.get('CreateTime')
587
+
588
+ self.desktop_duration_list = []
589
+ if m.get('DesktopDurationList') is not None:
590
+ for k1 in m.get('DesktopDurationList'):
591
+ temp_model = main_models.DescribeUserResourcesResponseBodyResourcesDesktopDurationList()
592
+ self.desktop_duration_list.append(temp_model.from_map(k1))
593
+
594
+ self.desktop_timers = []
595
+ if m.get('DesktopTimers') is not None:
596
+ for k1 in m.get('DesktopTimers'):
597
+ temp_model = main_models.DescribeUserResourcesResponseBodyResourcesDesktopTimers()
598
+ self.desktop_timers.append(temp_model.from_map(k1))
599
+
600
+ if m.get('ExpiredTime') is not None:
601
+ self.expired_time = m.get('ExpiredTime')
602
+
603
+ if m.get('ExternalDomainId') is not None:
604
+ self.external_domain_id = m.get('ExternalDomainId')
605
+
606
+ if m.get('ExternalUserId') is not None:
607
+ self.external_user_id = m.get('ExternalUserId')
608
+
609
+ if m.get('FotaUpdate') is not None:
610
+ temp_model = main_models.DescribeUserResourcesResponseBodyResourcesFotaUpdate()
611
+ self.fota_update = temp_model.from_map(m.get('FotaUpdate'))
612
+
613
+ if m.get('GlobalStatus') is not None:
614
+ self.global_status = m.get('GlobalStatus')
615
+
616
+ if m.get('HasUpgrade') is not None:
617
+ self.has_upgrade = m.get('HasUpgrade')
618
+
619
+ if m.get('HibernationBeta') is not None:
620
+ self.hibernation_beta = m.get('HibernationBeta')
621
+
622
+ if m.get('Icon') is not None:
623
+ self.icon = m.get('Icon')
624
+
625
+ if m.get('LastStartTime') is not None:
626
+ self.last_start_time = m.get('LastStartTime')
627
+
628
+ if m.get('LocalName') is not None:
629
+ self.local_name = m.get('LocalName')
630
+
631
+ if m.get('ManagementStatuses') is not None:
632
+ self.management_statuses = m.get('ManagementStatuses')
633
+
634
+ if m.get('OfficeSiteId') is not None:
635
+ self.office_site_id = m.get('OfficeSiteId')
636
+
637
+ if m.get('OrderStatus') is not None:
638
+ self.order_status = m.get('OrderStatus')
639
+
640
+ if m.get('Os') is not None:
641
+ self.os = m.get('Os')
642
+
643
+ if m.get('OsDescription') is not None:
644
+ self.os_description = m.get('OsDescription')
645
+
646
+ if m.get('OsType') is not None:
647
+ self.os_type = m.get('OsType')
648
+
649
+ if m.get('OsUpdate') is not None:
650
+ temp_model = main_models.DescribeUserResourcesResponseBodyResourcesOsUpdate()
651
+ self.os_update = temp_model.from_map(m.get('OsUpdate'))
652
+
653
+ if m.get('ProductType') is not None:
654
+ self.product_type = m.get('ProductType')
655
+
656
+ if m.get('ProtocolType') is not None:
657
+ self.protocol_type = m.get('ProtocolType')
658
+
659
+ if m.get('RealDesktopId') is not None:
660
+ self.real_desktop_id = m.get('RealDesktopId')
661
+
662
+ if m.get('RegionId') is not None:
663
+ self.region_id = m.get('RegionId')
664
+
665
+ if m.get('RegionLocation') is not None:
666
+ self.region_location = m.get('RegionLocation')
667
+
668
+ if m.get('ResourceGroupId') is not None:
669
+ self.resource_group_id = m.get('ResourceGroupId')
670
+
671
+ if m.get('ResourceId') is not None:
672
+ self.resource_id = m.get('ResourceId')
673
+
674
+ if m.get('ResourceLevel') is not None:
675
+ self.resource_level = m.get('ResourceLevel')
676
+
677
+ if m.get('ResourceName') is not None:
678
+ self.resource_name = m.get('ResourceName')
679
+
680
+ if m.get('ResourceSessionStatus') is not None:
681
+ self.resource_session_status = m.get('ResourceSessionStatus')
682
+
683
+ if m.get('ResourceStatus') is not None:
684
+ self.resource_status = m.get('ResourceStatus')
685
+
686
+ if m.get('ResourceType') is not None:
687
+ self.resource_type = m.get('ResourceType')
688
+
689
+ if m.get('SessionType') is not None:
690
+ self.session_type = m.get('SessionType')
691
+
692
+ self.sessions = []
693
+ if m.get('Sessions') is not None:
694
+ for k1 in m.get('Sessions'):
695
+ temp_model = main_models.DescribeUserResourcesResponseBodyResourcesSessions()
696
+ self.sessions.append(temp_model.from_map(k1))
697
+
698
+ if m.get('SubPayType') is not None:
699
+ self.sub_pay_type = m.get('SubPayType')
700
+
701
+ if m.get('SupportHibernation') is not None:
702
+ self.support_hibernation = m.get('SupportHibernation')
703
+
704
+ if m.get('SupportedActions') is not None:
705
+ self.supported_actions = m.get('SupportedActions')
706
+
707
+ if m.get('ThemeColor') is not None:
708
+ self.theme_color = m.get('ThemeColor')
709
+
710
+ if m.get('UserCustomName') is not None:
711
+ self.user_custom_name = m.get('UserCustomName')
712
+
713
+ if m.get('Version') is not None:
714
+ self.version = m.get('Version')
715
+
716
+ return self
717
+
718
+ class DescribeUserResourcesResponseBodyResourcesSessions(DaraModel):
719
+ def __init__(
720
+ self,
721
+ nick_name: str = None,
722
+ resource_session_start_time: str = None,
723
+ user_id: str = None,
724
+ user_principal_name: str = None,
725
+ ):
726
+ # 用户的昵称。
727
+ self.nick_name = nick_name
728
+ # The timestamp when the resource session was established.
729
+ self.resource_session_start_time = resource_session_start_time
730
+ # The username used to log on to the resource.
731
+ self.user_id = user_id
732
+ # The User Principal Name (UPN) of the resource-bound user (if applicable). This parameter is returned only when you query the current user\\"s sessions.
733
+ self.user_principal_name = user_principal_name
734
+
735
+ def validate(self):
736
+ pass
737
+
738
+ def to_map(self):
739
+ result = dict()
740
+ _map = super().to_map()
741
+ if _map is not None:
742
+ result = _map
743
+ if self.nick_name is not None:
744
+ result['NickName'] = self.nick_name
745
+
746
+ if self.resource_session_start_time is not None:
747
+ result['ResourceSessionStartTime'] = self.resource_session_start_time
748
+
749
+ if self.user_id is not None:
750
+ result['UserId'] = self.user_id
751
+
752
+ if self.user_principal_name is not None:
753
+ result['UserPrincipalName'] = self.user_principal_name
754
+
755
+ return result
756
+
757
+ def from_map(self, m: dict = None):
758
+ m = m or dict()
759
+ if m.get('NickName') is not None:
760
+ self.nick_name = m.get('NickName')
761
+
762
+ if m.get('ResourceSessionStartTime') is not None:
763
+ self.resource_session_start_time = m.get('ResourceSessionStartTime')
764
+
765
+ if m.get('UserId') is not None:
766
+ self.user_id = m.get('UserId')
767
+
768
+ if m.get('UserPrincipalName') is not None:
769
+ self.user_principal_name = m.get('UserPrincipalName')
770
+
771
+ return self
772
+
773
+ class DescribeUserResourcesResponseBodyResourcesOsUpdate(DaraModel):
774
+ def __init__(
775
+ self,
776
+ check_id: str = None,
777
+ kb_list_string: str = None,
778
+ package_count: int = None,
779
+ packages: List[main_models.DescribeUserResourcesResponseBodyResourcesOsUpdatePackages] = None,
780
+ update_catalog_url: str = None,
781
+ ):
782
+ # The ID of the check task.
783
+ self.check_id = check_id
784
+ # The patch numbers.
785
+ self.kb_list_string = kb_list_string
786
+ # The number of packets.
787
+ self.package_count = package_count
788
+ # The patch packages.
789
+ self.packages = packages
790
+ # The update categorization URL.
791
+ self.update_catalog_url = update_catalog_url
792
+
793
+ def validate(self):
794
+ if self.packages:
795
+ for v1 in self.packages:
796
+ if v1:
797
+ v1.validate()
798
+
799
+ def to_map(self):
800
+ result = dict()
801
+ _map = super().to_map()
802
+ if _map is not None:
803
+ result = _map
804
+ if self.check_id is not None:
805
+ result['CheckId'] = self.check_id
806
+
807
+ if self.kb_list_string is not None:
808
+ result['KbListString'] = self.kb_list_string
809
+
810
+ if self.package_count is not None:
811
+ result['PackageCount'] = self.package_count
812
+
813
+ result['Packages'] = []
814
+ if self.packages is not None:
815
+ for k1 in self.packages:
816
+ result['Packages'].append(k1.to_map() if k1 else None)
817
+
818
+ if self.update_catalog_url is not None:
819
+ result['UpdateCatalogUrl'] = self.update_catalog_url
820
+
821
+ return result
822
+
823
+ def from_map(self, m: dict = None):
824
+ m = m or dict()
825
+ if m.get('CheckId') is not None:
826
+ self.check_id = m.get('CheckId')
827
+
828
+ if m.get('KbListString') is not None:
829
+ self.kb_list_string = m.get('KbListString')
830
+
831
+ if m.get('PackageCount') is not None:
832
+ self.package_count = m.get('PackageCount')
833
+
834
+ self.packages = []
835
+ if m.get('Packages') is not None:
836
+ for k1 in m.get('Packages'):
837
+ temp_model = main_models.DescribeUserResourcesResponseBodyResourcesOsUpdatePackages()
838
+ self.packages.append(temp_model.from_map(k1))
839
+
840
+ if m.get('UpdateCatalogUrl') is not None:
841
+ self.update_catalog_url = m.get('UpdateCatalogUrl')
842
+
843
+ return self
844
+
845
+ class DescribeUserResourcesResponseBodyResourcesOsUpdatePackages(DaraModel):
846
+ def __init__(
847
+ self,
848
+ description: str = None,
849
+ kb: str = None,
850
+ title: str = None,
851
+ ):
852
+ # The patch description.
853
+ self.description = description
854
+ # The patch number.
855
+ self.kb = kb
856
+ # The patch title.
857
+ self.title = title
858
+
859
+ def validate(self):
860
+ pass
861
+
862
+ def to_map(self):
863
+ result = dict()
864
+ _map = super().to_map()
865
+ if _map is not None:
866
+ result = _map
867
+ if self.description is not None:
868
+ result['Description'] = self.description
869
+
870
+ if self.kb is not None:
871
+ result['Kb'] = self.kb
872
+
873
+ if self.title is not None:
874
+ result['Title'] = self.title
875
+
876
+ return result
877
+
878
+ def from_map(self, m: dict = None):
879
+ m = m or dict()
880
+ if m.get('Description') is not None:
881
+ self.description = m.get('Description')
882
+
883
+ if m.get('Kb') is not None:
884
+ self.kb = m.get('Kb')
885
+
886
+ if m.get('Title') is not None:
887
+ self.title = m.get('Title')
888
+
889
+ return self
890
+
891
+ class DescribeUserResourcesResponseBodyResourcesFotaUpdate(DaraModel):
892
+ def __init__(
893
+ self,
894
+ channel: str = None,
895
+ current_app_version: str = None,
896
+ force: bool = None,
897
+ new_app_version: str = None,
898
+ new_dcd_version: str = None,
899
+ project: str = None,
900
+ release_note: str = None,
901
+ release_note_en: str = None,
902
+ release_note_jp: str = None,
903
+ size: str = None,
904
+ ):
905
+ # The channel.
906
+ self.channel = channel
907
+ # The current version number of the cloud computer\\"s image.
908
+ self.current_app_version = current_app_version
909
+ # Specifies whether to implement a forced update.
910
+ self.force = force
911
+ # The target version number of the cloud computer\\"s image.
912
+ self.new_app_version = new_app_version
913
+ # The latest version available for updating the component disk.
914
+ self.new_dcd_version = new_dcd_version
915
+ # The project name.
916
+ self.project = project
917
+ # The version description of the cloud computer\\"s image.
918
+ self.release_note = release_note
919
+ # The English release note for the new image version.
920
+ self.release_note_en = release_note_en
921
+ # The Japanese release note for the new image version.
922
+ self.release_note_jp = release_note_jp
923
+ # The size of the update package for the cloud computer image. Unit: KB.
924
+ self.size = size
925
+
926
+ def validate(self):
927
+ pass
928
+
929
+ def to_map(self):
930
+ result = dict()
931
+ _map = super().to_map()
932
+ if _map is not None:
933
+ result = _map
934
+ if self.channel is not None:
935
+ result['Channel'] = self.channel
936
+
937
+ if self.current_app_version is not None:
938
+ result['CurrentAppVersion'] = self.current_app_version
939
+
940
+ if self.force is not None:
941
+ result['Force'] = self.force
942
+
943
+ if self.new_app_version is not None:
944
+ result['NewAppVersion'] = self.new_app_version
945
+
946
+ if self.new_dcd_version is not None:
947
+ result['NewDcdVersion'] = self.new_dcd_version
948
+
949
+ if self.project is not None:
950
+ result['Project'] = self.project
951
+
952
+ if self.release_note is not None:
953
+ result['ReleaseNote'] = self.release_note
954
+
955
+ if self.release_note_en is not None:
956
+ result['ReleaseNoteEn'] = self.release_note_en
957
+
958
+ if self.release_note_jp is not None:
959
+ result['ReleaseNoteJp'] = self.release_note_jp
960
+
961
+ if self.size is not None:
962
+ result['Size'] = self.size
963
+
964
+ return result
965
+
966
+ def from_map(self, m: dict = None):
967
+ m = m or dict()
968
+ if m.get('Channel') is not None:
969
+ self.channel = m.get('Channel')
970
+
971
+ if m.get('CurrentAppVersion') is not None:
972
+ self.current_app_version = m.get('CurrentAppVersion')
973
+
974
+ if m.get('Force') is not None:
975
+ self.force = m.get('Force')
976
+
977
+ if m.get('NewAppVersion') is not None:
978
+ self.new_app_version = m.get('NewAppVersion')
979
+
980
+ if m.get('NewDcdVersion') is not None:
981
+ self.new_dcd_version = m.get('NewDcdVersion')
982
+
983
+ if m.get('Project') is not None:
984
+ self.project = m.get('Project')
985
+
986
+ if m.get('ReleaseNote') is not None:
987
+ self.release_note = m.get('ReleaseNote')
988
+
989
+ if m.get('ReleaseNoteEn') is not None:
990
+ self.release_note_en = m.get('ReleaseNoteEn')
991
+
992
+ if m.get('ReleaseNoteJp') is not None:
993
+ self.release_note_jp = m.get('ReleaseNoteJp')
994
+
995
+ if m.get('Size') is not None:
996
+ self.size = m.get('Size')
997
+
998
+ return self
999
+
1000
+ class DescribeUserResourcesResponseBodyResourcesDesktopTimers(DaraModel):
1001
+ def __init__(
1002
+ self,
1003
+ allow_client_setting: str = None,
1004
+ cron_expression: str = None,
1005
+ enforce: bool = None,
1006
+ execution_time: str = None,
1007
+ interval: int = None,
1008
+ operation_type: str = None,
1009
+ reset_type: str = None,
1010
+ timer_type: str = None,
1011
+ ):
1012
+ # Indicates whether to allow end users to configure scheduled tasks on clients.
1013
+ self.allow_client_setting = allow_client_setting
1014
+ # The cron expression specified in the scheduled task.
1015
+ self.cron_expression = cron_expression
1016
+ # Indicates whether to forcibly execute the scheduled task.
1017
+ self.enforce = enforce
1018
+ # The time when the scheduled task is executed.
1019
+ self.execution_time = execution_time
1020
+ # The interval at which the scheduled task is executed.
1021
+ self.interval = interval
1022
+ # The type of the scheduled action.
1023
+ self.operation_type = operation_type
1024
+ # The reset option.
1025
+ self.reset_type = reset_type
1026
+ # The task type.
1027
+ self.timer_type = timer_type
1028
+
1029
+ def validate(self):
1030
+ pass
1031
+
1032
+ def to_map(self):
1033
+ result = dict()
1034
+ _map = super().to_map()
1035
+ if _map is not None:
1036
+ result = _map
1037
+ if self.allow_client_setting is not None:
1038
+ result['AllowClientSetting'] = self.allow_client_setting
1039
+
1040
+ if self.cron_expression is not None:
1041
+ result['CronExpression'] = self.cron_expression
1042
+
1043
+ if self.enforce is not None:
1044
+ result['Enforce'] = self.enforce
1045
+
1046
+ if self.execution_time is not None:
1047
+ result['ExecutionTime'] = self.execution_time
1048
+
1049
+ if self.interval is not None:
1050
+ result['Interval'] = self.interval
1051
+
1052
+ if self.operation_type is not None:
1053
+ result['OperationType'] = self.operation_type
1054
+
1055
+ if self.reset_type is not None:
1056
+ result['ResetType'] = self.reset_type
1057
+
1058
+ if self.timer_type is not None:
1059
+ result['TimerType'] = self.timer_type
1060
+
1061
+ return result
1062
+
1063
+ def from_map(self, m: dict = None):
1064
+ m = m or dict()
1065
+ if m.get('AllowClientSetting') is not None:
1066
+ self.allow_client_setting = m.get('AllowClientSetting')
1067
+
1068
+ if m.get('CronExpression') is not None:
1069
+ self.cron_expression = m.get('CronExpression')
1070
+
1071
+ if m.get('Enforce') is not None:
1072
+ self.enforce = m.get('Enforce')
1073
+
1074
+ if m.get('ExecutionTime') is not None:
1075
+ self.execution_time = m.get('ExecutionTime')
1076
+
1077
+ if m.get('Interval') is not None:
1078
+ self.interval = m.get('Interval')
1079
+
1080
+ if m.get('OperationType') is not None:
1081
+ self.operation_type = m.get('OperationType')
1082
+
1083
+ if m.get('ResetType') is not None:
1084
+ self.reset_type = m.get('ResetType')
1085
+
1086
+ if m.get('TimerType') is not None:
1087
+ self.timer_type = m.get('TimerType')
1088
+
1089
+ return self
1090
+
1091
+ class DescribeUserResourcesResponseBodyResourcesDesktopDurationList(DaraModel):
1092
+ def __init__(
1093
+ self,
1094
+ order_instance_id: str = None,
1095
+ package_creation_time: str = None,
1096
+ package_expired_time: str = None,
1097
+ package_id: str = None,
1098
+ package_status: str = None,
1099
+ package_type: str = None,
1100
+ package_used_up_strategy: str = None,
1101
+ period_end_time: str = None,
1102
+ period_start_time: str = None,
1103
+ post_paid_limit_fee: float = None,
1104
+ total_duration: int = None,
1105
+ used_duration: int = None,
1106
+ ):
1107
+ # The ID of the instance order.
1108
+ self.order_instance_id = order_instance_id
1109
+ # The time when the package was created.
1110
+ self.package_creation_time = package_creation_time
1111
+ # The expiration time of the package.
1112
+ self.package_expired_time = package_expired_time
1113
+ # The package ID.
1114
+ self.package_id = package_id
1115
+ # The package status.
1116
+ self.package_status = package_status
1117
+ # The package type.
1118
+ #
1119
+ # Valid values:
1120
+ #
1121
+ # * FREE_PACKAGE: a free package.
1122
+ # * NORMAL_PACKAGE: a paid package (120-hour computing plan).
1123
+ # * POSTPAID_PACKAGE: a pay-as-you-go package (200-hour computing plan).
1124
+ # * Duration: an hourly package.
1125
+ self.package_type = package_type
1126
+ # The policy for the cloud computer status once the monthly package quota is exhausted.
1127
+ #
1128
+ # Valid values:
1129
+ #
1130
+ # * Shutdown: The cloud computer enters the Stopped or Hibernated state.
1131
+ # * PostPaid: The cloud computer continues providing services that are billed on the pay-as-you-go basis.
1132
+ self.package_used_up_strategy = package_used_up_strategy
1133
+ # The package\\"s effective end time for the current month.
1134
+ self.period_end_time = period_end_time
1135
+ # The package\\"s effective start time for the current month.
1136
+ self.period_start_time = period_start_time
1137
+ # The maximum fee for the package in the second phase.
1138
+ #
1139
+ # > This parameter is returned if you set ResourceType to `POSTPAID_PACKAG` or `FREE_PACKAGE`.
1140
+ self.post_paid_limit_fee = post_paid_limit_fee
1141
+ # The total duration.
1142
+ self.total_duration = total_duration
1143
+ # The subscription duration consumed.
1144
+ self.used_duration = used_duration
1145
+
1146
+ def validate(self):
1147
+ pass
1148
+
1149
+ def to_map(self):
1150
+ result = dict()
1151
+ _map = super().to_map()
1152
+ if _map is not None:
1153
+ result = _map
1154
+ if self.order_instance_id is not None:
1155
+ result['OrderInstanceId'] = self.order_instance_id
1156
+
1157
+ if self.package_creation_time is not None:
1158
+ result['PackageCreationTime'] = self.package_creation_time
1159
+
1160
+ if self.package_expired_time is not None:
1161
+ result['PackageExpiredTime'] = self.package_expired_time
1162
+
1163
+ if self.package_id is not None:
1164
+ result['PackageId'] = self.package_id
1165
+
1166
+ if self.package_status is not None:
1167
+ result['PackageStatus'] = self.package_status
1168
+
1169
+ if self.package_type is not None:
1170
+ result['PackageType'] = self.package_type
1171
+
1172
+ if self.package_used_up_strategy is not None:
1173
+ result['PackageUsedUpStrategy'] = self.package_used_up_strategy
1174
+
1175
+ if self.period_end_time is not None:
1176
+ result['PeriodEndTime'] = self.period_end_time
1177
+
1178
+ if self.period_start_time is not None:
1179
+ result['PeriodStartTime'] = self.period_start_time
1180
+
1181
+ if self.post_paid_limit_fee is not None:
1182
+ result['PostPaidLimitFee'] = self.post_paid_limit_fee
1183
+
1184
+ if self.total_duration is not None:
1185
+ result['TotalDuration'] = self.total_duration
1186
+
1187
+ if self.used_duration is not None:
1188
+ result['UsedDuration'] = self.used_duration
1189
+
1190
+ return result
1191
+
1192
+ def from_map(self, m: dict = None):
1193
+ m = m or dict()
1194
+ if m.get('OrderInstanceId') is not None:
1195
+ self.order_instance_id = m.get('OrderInstanceId')
1196
+
1197
+ if m.get('PackageCreationTime') is not None:
1198
+ self.package_creation_time = m.get('PackageCreationTime')
1199
+
1200
+ if m.get('PackageExpiredTime') is not None:
1201
+ self.package_expired_time = m.get('PackageExpiredTime')
1202
+
1203
+ if m.get('PackageId') is not None:
1204
+ self.package_id = m.get('PackageId')
1205
+
1206
+ if m.get('PackageStatus') is not None:
1207
+ self.package_status = m.get('PackageStatus')
1208
+
1209
+ if m.get('PackageType') is not None:
1210
+ self.package_type = m.get('PackageType')
1211
+
1212
+ if m.get('PackageUsedUpStrategy') is not None:
1213
+ self.package_used_up_strategy = m.get('PackageUsedUpStrategy')
1214
+
1215
+ if m.get('PeriodEndTime') is not None:
1216
+ self.period_end_time = m.get('PeriodEndTime')
1217
+
1218
+ if m.get('PeriodStartTime') is not None:
1219
+ self.period_start_time = m.get('PeriodStartTime')
1220
+
1221
+ if m.get('PostPaidLimitFee') is not None:
1222
+ self.post_paid_limit_fee = m.get('PostPaidLimitFee')
1223
+
1224
+ if m.get('TotalDuration') is not None:
1225
+ self.total_duration = m.get('TotalDuration')
1226
+
1227
+ if m.get('UsedDuration') is not None:
1228
+ self.used_duration = m.get('UsedDuration')
1229
+
1230
+ return self
1231
+
1232
+ class DescribeUserResourcesResponseBodyResourcesClients(DaraModel):
1233
+ def __init__(
1234
+ self,
1235
+ client_type: str = None,
1236
+ status: str = None,
1237
+ ):
1238
+ # The client type.
1239
+ self.client_type = client_type
1240
+ # The status.
1241
+ #
1242
+ # Valid values:
1243
+ #
1244
+ # * OFF
1245
+ # * ON
1246
+ self.status = status
1247
+
1248
+ def validate(self):
1249
+ pass
1250
+
1251
+ def to_map(self):
1252
+ result = dict()
1253
+ _map = super().to_map()
1254
+ if _map is not None:
1255
+ result = _map
1256
+ if self.client_type is not None:
1257
+ result['ClientType'] = self.client_type
1258
+
1259
+ if self.status is not None:
1260
+ result['Status'] = self.status
1261
+
1262
+ return result
1263
+
1264
+ def from_map(self, m: dict = None):
1265
+ m = m or dict()
1266
+ if m.get('ClientType') is not None:
1267
+ self.client_type = m.get('ClientType')
1268
+
1269
+ if m.get('Status') is not None:
1270
+ self.status = m.get('Status')
1271
+
1272
+ return self
1273
+