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,885 @@
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 DescribeGlobalDesktopsResponseBody(DaraModel):
11
+ def __init__(
12
+ self,
13
+ desktops: List[main_models.DescribeGlobalDesktopsResponseBodyDesktops] = None,
14
+ next_token: str = None,
15
+ request_id: str = None,
16
+ ):
17
+ # The details about the cloud computer.
18
+ self.desktops = desktops
19
+ # The token used to start the next query. If NextToken is empty, it indicates that there is no next query.
20
+ self.next_token = next_token
21
+ # The request ID.
22
+ self.request_id = request_id
23
+
24
+ def validate(self):
25
+ if self.desktops:
26
+ for v1 in self.desktops:
27
+ if v1:
28
+ v1.validate()
29
+
30
+ def to_map(self):
31
+ result = dict()
32
+ _map = super().to_map()
33
+ if _map is not None:
34
+ result = _map
35
+ result['Desktops'] = []
36
+ if self.desktops is not None:
37
+ for k1 in self.desktops:
38
+ result['Desktops'].append(k1.to_map() if k1 else None)
39
+
40
+ if self.next_token is not None:
41
+ result['NextToken'] = self.next_token
42
+
43
+ if self.request_id is not None:
44
+ result['RequestId'] = self.request_id
45
+
46
+ return result
47
+
48
+ def from_map(self, m: dict = None):
49
+ m = m or dict()
50
+ self.desktops = []
51
+ if m.get('Desktops') is not None:
52
+ for k1 in m.get('Desktops'):
53
+ temp_model = main_models.DescribeGlobalDesktopsResponseBodyDesktops()
54
+ self.desktops.append(temp_model.from_map(k1))
55
+
56
+ if m.get('NextToken') is not None:
57
+ self.next_token = m.get('NextToken')
58
+
59
+ if m.get('RequestId') is not None:
60
+ self.request_id = m.get('RequestId')
61
+
62
+ return self
63
+
64
+ class DescribeGlobalDesktopsResponseBodyDesktops(DaraModel):
65
+ def __init__(
66
+ self,
67
+ charge_type: str = None,
68
+ clients: List[main_models.DescribeGlobalDesktopsResponseBodyDesktopsClients] = None,
69
+ connection_status: str = None,
70
+ cpu: int = None,
71
+ creation_time: str = None,
72
+ desktop_group_id: str = None,
73
+ desktop_id: str = None,
74
+ desktop_name: str = None,
75
+ desktop_status: str = None,
76
+ desktop_timers: List[main_models.DescribeGlobalDesktopsResponseBodyDesktopsDesktopTimers] = None,
77
+ desktop_type: str = None,
78
+ directory_id: str = None,
79
+ disks: List[main_models.DescribeGlobalDesktopsResponseBodyDesktopsDisks] = None,
80
+ end_user_id: str = None,
81
+ end_user_ids: List[str] = None,
82
+ expired_time: str = None,
83
+ fota_update: main_models.DescribeGlobalDesktopsResponseBodyDesktopsFotaUpdate = None,
84
+ gpu_memory: int = None,
85
+ hibernation_beta: bool = None,
86
+ host_name: str = None,
87
+ image_id: str = None,
88
+ last_start_time: str = None,
89
+ local_name: str = None,
90
+ management_flags: List[str] = None,
91
+ memory: int = None,
92
+ network_interface_ip: str = None,
93
+ office_site_id: str = None,
94
+ os: str = None,
95
+ os_description: str = None,
96
+ os_type: str = None,
97
+ platform: str = None,
98
+ policy_group_id: str = None,
99
+ protocol_type: str = None,
100
+ real_desktop_id: str = None,
101
+ region_id: str = None,
102
+ region_location: str = None,
103
+ session_type: str = None,
104
+ sessions: List[main_models.DescribeGlobalDesktopsResponseBodyDesktopsSessions] = None,
105
+ support_hibernation: bool = None,
106
+ user_custom_name: str = None,
107
+ ):
108
+ # The billing method of the cloud computer pool.
109
+ #
110
+ # Valid value:
111
+ #
112
+ # * PostPaid: pay-as-you-go
113
+ # * PrePaid: subscription
114
+ self.charge_type = charge_type
115
+ # The information about the supported clients.
116
+ self.clients = clients
117
+ # The state of the endpoint connection.
118
+ #
119
+ # Valid values:
120
+ #
121
+ # * Connected
122
+ # * Disconnecting
123
+ # * Pending.
124
+ # * Connecting.
125
+ # * Disconnected.
126
+ # * Deleting
127
+ self.connection_status = connection_status
128
+ # The number of vCPUs.
129
+ self.cpu = cpu
130
+ # The time when the cloud computer was created.
131
+ self.creation_time = creation_time
132
+ # The ID of the cloud computer share.
133
+ self.desktop_group_id = desktop_group_id
134
+ # The cloud compute ID.
135
+ self.desktop_id = desktop_id
136
+ # The cloud computer name.
137
+ self.desktop_name = desktop_name
138
+ # The cloud computer status.
139
+ self.desktop_status = desktop_status
140
+ # The cloud computer timer object.
141
+ self.desktop_timers = desktop_timers
142
+ # The cloud computer type.
143
+ self.desktop_type = desktop_type
144
+ # The network ID of the office. Same as `OfficeSiteId`.
145
+ self.directory_id = directory_id
146
+ # The disks.
147
+ self.disks = disks
148
+ # The names of end users.
149
+ self.end_user_id = end_user_id
150
+ # The list of end user.
151
+ self.end_user_ids = end_user_ids
152
+ # The expiration time of the cloud computer.
153
+ #
154
+ # * For a cloud computer that is a package year or month, the return value is meaningful.
155
+ # * For pay-as-you-go cloud computers, the `2099-12-31T15:59Z` is returned.
156
+ self.expired_time = expired_time
157
+ # The information about image update.
158
+ self.fota_update = fota_update
159
+ # The GPU memory size. For GPU-accelerated cloud computers, this return value is significant. Unit: MB.
160
+ self.gpu_memory = gpu_memory
161
+ # Indicates whether this is a beta version of the hibernation feature.
162
+ self.hibernation_beta = hibernation_beta
163
+ # The hostname of the cloud desktop.
164
+ self.host_name = host_name
165
+ # The image ID.
166
+ self.image_id = image_id
167
+ # The time when the cloud desktop was last started.
168
+ self.last_start_time = last_start_time
169
+ # The region name.
170
+ self.local_name = local_name
171
+ # The list of cloud computer status.
172
+ self.management_flags = management_flags
173
+ # The memory of the cloud computer. Unit: MiB.
174
+ self.memory = memory
175
+ # The IP address of the ENI.
176
+ self.network_interface_ip = network_interface_ip
177
+ # The IDs of the office networks.
178
+ self.office_site_id = office_site_id
179
+ # OS Type
180
+ self.os = os
181
+ self.os_description = os_description
182
+ # The operating system.
183
+ #
184
+ # Valid value:
185
+ #
186
+ # * Linux
187
+ # * Windows
188
+ self.os_type = os_type
189
+ # The OS platform.
190
+ #
191
+ # Valid value:
192
+ #
193
+ # * Ubuntu
194
+ # * UOS
195
+ # * CentOS
196
+ # * Windows Server 2019
197
+ # * Windows Server 2016
198
+ self.platform = platform
199
+ # The cloud computer policy ID.
200
+ self.policy_group_id = policy_group_id
201
+ # The type of the protocol.
202
+ #
203
+ # Valid value:
204
+ #
205
+ # * High-definition Experience (HDX)
206
+ # * ASP
207
+ self.protocol_type = protocol_type
208
+ # If a shared cloud computer is assigned a real cloud computer, the ID of the cloud computer is displayed.
209
+ self.real_desktop_id = real_desktop_id
210
+ # The region ID.
211
+ self.region_id = region_id
212
+ self.region_location = region_location
213
+ # The type of the session.
214
+ #
215
+ # Valid value:
216
+ #
217
+ # * SINGLE_SESSION
218
+ # * MULTIPLE_SESSION
219
+ self.session_type = session_type
220
+ # The list of session information.
221
+ self.sessions = sessions
222
+ # Indicates whether hibernation is supported.
223
+ #
224
+ # Valid values:
225
+ #
226
+ # * true: supported
227
+ # * false: not supported
228
+ self.support_hibernation = support_hibernation
229
+ # The custom cloud computer name.
230
+ self.user_custom_name = user_custom_name
231
+
232
+ def validate(self):
233
+ if self.clients:
234
+ for v1 in self.clients:
235
+ if v1:
236
+ v1.validate()
237
+ if self.desktop_timers:
238
+ for v1 in self.desktop_timers:
239
+ if v1:
240
+ v1.validate()
241
+ if self.disks:
242
+ for v1 in self.disks:
243
+ if v1:
244
+ v1.validate()
245
+ if self.fota_update:
246
+ self.fota_update.validate()
247
+ if self.sessions:
248
+ for v1 in self.sessions:
249
+ if v1:
250
+ v1.validate()
251
+
252
+ def to_map(self):
253
+ result = dict()
254
+ _map = super().to_map()
255
+ if _map is not None:
256
+ result = _map
257
+ if self.charge_type is not None:
258
+ result['ChargeType'] = self.charge_type
259
+
260
+ result['Clients'] = []
261
+ if self.clients is not None:
262
+ for k1 in self.clients:
263
+ result['Clients'].append(k1.to_map() if k1 else None)
264
+
265
+ if self.connection_status is not None:
266
+ result['ConnectionStatus'] = self.connection_status
267
+
268
+ if self.cpu is not None:
269
+ result['Cpu'] = self.cpu
270
+
271
+ if self.creation_time is not None:
272
+ result['CreationTime'] = self.creation_time
273
+
274
+ if self.desktop_group_id is not None:
275
+ result['DesktopGroupId'] = self.desktop_group_id
276
+
277
+ if self.desktop_id is not None:
278
+ result['DesktopId'] = self.desktop_id
279
+
280
+ if self.desktop_name is not None:
281
+ result['DesktopName'] = self.desktop_name
282
+
283
+ if self.desktop_status is not None:
284
+ result['DesktopStatus'] = self.desktop_status
285
+
286
+ result['DesktopTimers'] = []
287
+ if self.desktop_timers is not None:
288
+ for k1 in self.desktop_timers:
289
+ result['DesktopTimers'].append(k1.to_map() if k1 else None)
290
+
291
+ if self.desktop_type is not None:
292
+ result['DesktopType'] = self.desktop_type
293
+
294
+ if self.directory_id is not None:
295
+ result['DirectoryId'] = self.directory_id
296
+
297
+ result['Disks'] = []
298
+ if self.disks is not None:
299
+ for k1 in self.disks:
300
+ result['Disks'].append(k1.to_map() if k1 else None)
301
+
302
+ if self.end_user_id is not None:
303
+ result['EndUserId'] = self.end_user_id
304
+
305
+ if self.end_user_ids is not None:
306
+ result['EndUserIds'] = self.end_user_ids
307
+
308
+ if self.expired_time is not None:
309
+ result['ExpiredTime'] = self.expired_time
310
+
311
+ if self.fota_update is not None:
312
+ result['FotaUpdate'] = self.fota_update.to_map()
313
+
314
+ if self.gpu_memory is not None:
315
+ result['GpuMemory'] = self.gpu_memory
316
+
317
+ if self.hibernation_beta is not None:
318
+ result['HibernationBeta'] = self.hibernation_beta
319
+
320
+ if self.host_name is not None:
321
+ result['HostName'] = self.host_name
322
+
323
+ if self.image_id is not None:
324
+ result['ImageId'] = self.image_id
325
+
326
+ if self.last_start_time is not None:
327
+ result['LastStartTime'] = self.last_start_time
328
+
329
+ if self.local_name is not None:
330
+ result['LocalName'] = self.local_name
331
+
332
+ if self.management_flags is not None:
333
+ result['ManagementFlags'] = self.management_flags
334
+
335
+ if self.memory is not None:
336
+ result['Memory'] = self.memory
337
+
338
+ if self.network_interface_ip is not None:
339
+ result['NetworkInterfaceIp'] = self.network_interface_ip
340
+
341
+ if self.office_site_id is not None:
342
+ result['OfficeSiteId'] = self.office_site_id
343
+
344
+ if self.os is not None:
345
+ result['Os'] = self.os
346
+
347
+ if self.os_description is not None:
348
+ result['OsDescription'] = self.os_description
349
+
350
+ if self.os_type is not None:
351
+ result['OsType'] = self.os_type
352
+
353
+ if self.platform is not None:
354
+ result['Platform'] = self.platform
355
+
356
+ if self.policy_group_id is not None:
357
+ result['PolicyGroupId'] = self.policy_group_id
358
+
359
+ if self.protocol_type is not None:
360
+ result['ProtocolType'] = self.protocol_type
361
+
362
+ if self.real_desktop_id is not None:
363
+ result['RealDesktopId'] = self.real_desktop_id
364
+
365
+ if self.region_id is not None:
366
+ result['RegionId'] = self.region_id
367
+
368
+ if self.region_location is not None:
369
+ result['RegionLocation'] = self.region_location
370
+
371
+ if self.session_type is not None:
372
+ result['SessionType'] = self.session_type
373
+
374
+ result['Sessions'] = []
375
+ if self.sessions is not None:
376
+ for k1 in self.sessions:
377
+ result['Sessions'].append(k1.to_map() if k1 else None)
378
+
379
+ if self.support_hibernation is not None:
380
+ result['SupportHibernation'] = self.support_hibernation
381
+
382
+ if self.user_custom_name is not None:
383
+ result['UserCustomName'] = self.user_custom_name
384
+
385
+ return result
386
+
387
+ def from_map(self, m: dict = None):
388
+ m = m or dict()
389
+ if m.get('ChargeType') is not None:
390
+ self.charge_type = m.get('ChargeType')
391
+
392
+ self.clients = []
393
+ if m.get('Clients') is not None:
394
+ for k1 in m.get('Clients'):
395
+ temp_model = main_models.DescribeGlobalDesktopsResponseBodyDesktopsClients()
396
+ self.clients.append(temp_model.from_map(k1))
397
+
398
+ if m.get('ConnectionStatus') is not None:
399
+ self.connection_status = m.get('ConnectionStatus')
400
+
401
+ if m.get('Cpu') is not None:
402
+ self.cpu = m.get('Cpu')
403
+
404
+ if m.get('CreationTime') is not None:
405
+ self.creation_time = m.get('CreationTime')
406
+
407
+ if m.get('DesktopGroupId') is not None:
408
+ self.desktop_group_id = m.get('DesktopGroupId')
409
+
410
+ if m.get('DesktopId') is not None:
411
+ self.desktop_id = m.get('DesktopId')
412
+
413
+ if m.get('DesktopName') is not None:
414
+ self.desktop_name = m.get('DesktopName')
415
+
416
+ if m.get('DesktopStatus') is not None:
417
+ self.desktop_status = m.get('DesktopStatus')
418
+
419
+ self.desktop_timers = []
420
+ if m.get('DesktopTimers') is not None:
421
+ for k1 in m.get('DesktopTimers'):
422
+ temp_model = main_models.DescribeGlobalDesktopsResponseBodyDesktopsDesktopTimers()
423
+ self.desktop_timers.append(temp_model.from_map(k1))
424
+
425
+ if m.get('DesktopType') is not None:
426
+ self.desktop_type = m.get('DesktopType')
427
+
428
+ if m.get('DirectoryId') is not None:
429
+ self.directory_id = m.get('DirectoryId')
430
+
431
+ self.disks = []
432
+ if m.get('Disks') is not None:
433
+ for k1 in m.get('Disks'):
434
+ temp_model = main_models.DescribeGlobalDesktopsResponseBodyDesktopsDisks()
435
+ self.disks.append(temp_model.from_map(k1))
436
+
437
+ if m.get('EndUserId') is not None:
438
+ self.end_user_id = m.get('EndUserId')
439
+
440
+ if m.get('EndUserIds') is not None:
441
+ self.end_user_ids = m.get('EndUserIds')
442
+
443
+ if m.get('ExpiredTime') is not None:
444
+ self.expired_time = m.get('ExpiredTime')
445
+
446
+ if m.get('FotaUpdate') is not None:
447
+ temp_model = main_models.DescribeGlobalDesktopsResponseBodyDesktopsFotaUpdate()
448
+ self.fota_update = temp_model.from_map(m.get('FotaUpdate'))
449
+
450
+ if m.get('GpuMemory') is not None:
451
+ self.gpu_memory = m.get('GpuMemory')
452
+
453
+ if m.get('HibernationBeta') is not None:
454
+ self.hibernation_beta = m.get('HibernationBeta')
455
+
456
+ if m.get('HostName') is not None:
457
+ self.host_name = m.get('HostName')
458
+
459
+ if m.get('ImageId') is not None:
460
+ self.image_id = m.get('ImageId')
461
+
462
+ if m.get('LastStartTime') is not None:
463
+ self.last_start_time = m.get('LastStartTime')
464
+
465
+ if m.get('LocalName') is not None:
466
+ self.local_name = m.get('LocalName')
467
+
468
+ if m.get('ManagementFlags') is not None:
469
+ self.management_flags = m.get('ManagementFlags')
470
+
471
+ if m.get('Memory') is not None:
472
+ self.memory = m.get('Memory')
473
+
474
+ if m.get('NetworkInterfaceIp') is not None:
475
+ self.network_interface_ip = m.get('NetworkInterfaceIp')
476
+
477
+ if m.get('OfficeSiteId') is not None:
478
+ self.office_site_id = m.get('OfficeSiteId')
479
+
480
+ if m.get('Os') is not None:
481
+ self.os = m.get('Os')
482
+
483
+ if m.get('OsDescription') is not None:
484
+ self.os_description = m.get('OsDescription')
485
+
486
+ if m.get('OsType') is not None:
487
+ self.os_type = m.get('OsType')
488
+
489
+ if m.get('Platform') is not None:
490
+ self.platform = m.get('Platform')
491
+
492
+ if m.get('PolicyGroupId') is not None:
493
+ self.policy_group_id = m.get('PolicyGroupId')
494
+
495
+ if m.get('ProtocolType') is not None:
496
+ self.protocol_type = m.get('ProtocolType')
497
+
498
+ if m.get('RealDesktopId') is not None:
499
+ self.real_desktop_id = m.get('RealDesktopId')
500
+
501
+ if m.get('RegionId') is not None:
502
+ self.region_id = m.get('RegionId')
503
+
504
+ if m.get('RegionLocation') is not None:
505
+ self.region_location = m.get('RegionLocation')
506
+
507
+ if m.get('SessionType') is not None:
508
+ self.session_type = m.get('SessionType')
509
+
510
+ self.sessions = []
511
+ if m.get('Sessions') is not None:
512
+ for k1 in m.get('Sessions'):
513
+ temp_model = main_models.DescribeGlobalDesktopsResponseBodyDesktopsSessions()
514
+ self.sessions.append(temp_model.from_map(k1))
515
+
516
+ if m.get('SupportHibernation') is not None:
517
+ self.support_hibernation = m.get('SupportHibernation')
518
+
519
+ if m.get('UserCustomName') is not None:
520
+ self.user_custom_name = m.get('UserCustomName')
521
+
522
+ return self
523
+
524
+ class DescribeGlobalDesktopsResponseBodyDesktopsSessions(DaraModel):
525
+ def __init__(
526
+ self,
527
+ end_user_id: str = None,
528
+ establishment_time: str = None,
529
+ ):
530
+ # End user information.
531
+ self.end_user_id = end_user_id
532
+ # The time when the session was created.
533
+ self.establishment_time = establishment_time
534
+
535
+ def validate(self):
536
+ pass
537
+
538
+ def to_map(self):
539
+ result = dict()
540
+ _map = super().to_map()
541
+ if _map is not None:
542
+ result = _map
543
+ if self.end_user_id is not None:
544
+ result['EndUserId'] = self.end_user_id
545
+
546
+ if self.establishment_time is not None:
547
+ result['EstablishmentTime'] = self.establishment_time
548
+
549
+ return result
550
+
551
+ def from_map(self, m: dict = None):
552
+ m = m or dict()
553
+ if m.get('EndUserId') is not None:
554
+ self.end_user_id = m.get('EndUserId')
555
+
556
+ if m.get('EstablishmentTime') is not None:
557
+ self.establishment_time = m.get('EstablishmentTime')
558
+
559
+ return self
560
+
561
+ class DescribeGlobalDesktopsResponseBodyDesktopsFotaUpdate(DaraModel):
562
+ def __init__(
563
+ self,
564
+ channel: str = None,
565
+ current_app_version: str = None,
566
+ force: bool = None,
567
+ new_app_version: str = None,
568
+ new_dcd_version: str = None,
569
+ project: str = None,
570
+ release_note: str = None,
571
+ release_note_en: str = None,
572
+ release_note_jp: str = None,
573
+ size: str = None,
574
+ ):
575
+ # Subscription Channel
576
+ self.channel = channel
577
+ # The current version number of the cloud computer.
578
+ self.current_app_version = current_app_version
579
+ # Whether to force upgrade.
580
+ self.force = force
581
+ # The version number of the application after the update.
582
+ self.new_app_version = new_app_version
583
+ self.new_dcd_version = new_dcd_version
584
+ # The name of the project.
585
+ self.project = project
586
+ # The description of the version that can be upgraded.
587
+ self.release_note = release_note
588
+ # The English release note for the new image version.
589
+ self.release_note_en = release_note_en
590
+ # The Japanese release note for the new image version.
591
+ self.release_note_jp = release_note_jp
592
+ # The size of the update package for the cloud computer image. Unit: MiB.
593
+ self.size = size
594
+
595
+ def validate(self):
596
+ pass
597
+
598
+ def to_map(self):
599
+ result = dict()
600
+ _map = super().to_map()
601
+ if _map is not None:
602
+ result = _map
603
+ if self.channel is not None:
604
+ result['Channel'] = self.channel
605
+
606
+ if self.current_app_version is not None:
607
+ result['CurrentAppVersion'] = self.current_app_version
608
+
609
+ if self.force is not None:
610
+ result['Force'] = self.force
611
+
612
+ if self.new_app_version is not None:
613
+ result['NewAppVersion'] = self.new_app_version
614
+
615
+ if self.new_dcd_version is not None:
616
+ result['NewDcdVersion'] = self.new_dcd_version
617
+
618
+ if self.project is not None:
619
+ result['Project'] = self.project
620
+
621
+ if self.release_note is not None:
622
+ result['ReleaseNote'] = self.release_note
623
+
624
+ if self.release_note_en is not None:
625
+ result['ReleaseNoteEn'] = self.release_note_en
626
+
627
+ if self.release_note_jp is not None:
628
+ result['ReleaseNoteJp'] = self.release_note_jp
629
+
630
+ if self.size is not None:
631
+ result['Size'] = self.size
632
+
633
+ return result
634
+
635
+ def from_map(self, m: dict = None):
636
+ m = m or dict()
637
+ if m.get('Channel') is not None:
638
+ self.channel = m.get('Channel')
639
+
640
+ if m.get('CurrentAppVersion') is not None:
641
+ self.current_app_version = m.get('CurrentAppVersion')
642
+
643
+ if m.get('Force') is not None:
644
+ self.force = m.get('Force')
645
+
646
+ if m.get('NewAppVersion') is not None:
647
+ self.new_app_version = m.get('NewAppVersion')
648
+
649
+ if m.get('NewDcdVersion') is not None:
650
+ self.new_dcd_version = m.get('NewDcdVersion')
651
+
652
+ if m.get('Project') is not None:
653
+ self.project = m.get('Project')
654
+
655
+ if m.get('ReleaseNote') is not None:
656
+ self.release_note = m.get('ReleaseNote')
657
+
658
+ if m.get('ReleaseNoteEn') is not None:
659
+ self.release_note_en = m.get('ReleaseNoteEn')
660
+
661
+ if m.get('ReleaseNoteJp') is not None:
662
+ self.release_note_jp = m.get('ReleaseNoteJp')
663
+
664
+ if m.get('Size') is not None:
665
+ self.size = m.get('Size')
666
+
667
+ return self
668
+
669
+ class DescribeGlobalDesktopsResponseBodyDesktopsDisks(DaraModel):
670
+ def __init__(
671
+ self,
672
+ disk_id: str = None,
673
+ disk_size: int = None,
674
+ disk_type: str = None,
675
+ ):
676
+ # The disk ID.
677
+ self.disk_id = disk_id
678
+ # The disk size. Unit: GiB.
679
+ self.disk_size = disk_size
680
+ # The disk type.
681
+ #
682
+ # Valid value:
683
+ #
684
+ # * SYSTEM: a system disk.
685
+ # * DATA: a data disk.
686
+ self.disk_type = disk_type
687
+
688
+ def validate(self):
689
+ pass
690
+
691
+ def to_map(self):
692
+ result = dict()
693
+ _map = super().to_map()
694
+ if _map is not None:
695
+ result = _map
696
+ if self.disk_id is not None:
697
+ result['DiskId'] = self.disk_id
698
+
699
+ if self.disk_size is not None:
700
+ result['DiskSize'] = self.disk_size
701
+
702
+ if self.disk_type is not None:
703
+ result['DiskType'] = self.disk_type
704
+
705
+ return result
706
+
707
+ def from_map(self, m: dict = None):
708
+ m = m or dict()
709
+ if m.get('DiskId') is not None:
710
+ self.disk_id = m.get('DiskId')
711
+
712
+ if m.get('DiskSize') is not None:
713
+ self.disk_size = m.get('DiskSize')
714
+
715
+ if m.get('DiskType') is not None:
716
+ self.disk_type = m.get('DiskType')
717
+
718
+ return self
719
+
720
+ class DescribeGlobalDesktopsResponseBodyDesktopsDesktopTimers(DaraModel):
721
+ def __init__(
722
+ self,
723
+ allow_client_setting: bool = None,
724
+ cron_expression: str = None,
725
+ enforce: bool = None,
726
+ execution_time: str = None,
727
+ interval: int = None,
728
+ operation_type: str = None,
729
+ reset_type: str = None,
730
+ timer_type: str = None,
731
+ ):
732
+ # Whether to allow clients to set policies.
733
+ self.allow_client_setting = allow_client_setting
734
+ # The CRON expression for the scheduled task.
735
+ #
736
+ # For example, a `0 0 4 1/1 * ?` indicates that the operation is executed every day from 4:00 a.m. on the first day of each month.
737
+ self.cron_expression = cron_expression
738
+ # Indicates whether to forcibly execute the scheduled task. To `true` indicates that cloud computer and connection status detection are ignored, and scheduled tasks are forcibly executed.
739
+ self.enforce = enforce
740
+ # The task duration.
741
+ self.execution_time = execution_time
742
+ # The interval at which the monitoring data was queried. Unit: seconds.
743
+ self.interval = interval
744
+ # The type of the scheduled task.
745
+ #
746
+ # Valid values:
747
+ #
748
+ # * HIBERNATE
749
+ # * SHUTDOWN
750
+ self.operation_type = operation_type
751
+ # For a reset task, you must set the reset type.
752
+ #
753
+ # Valid values:
754
+ #
755
+ # * RESET_TYPE_SYSTEM: resets the system disk.
756
+ # * RESET_TYPE_USER_DISK: resets the data disk.
757
+ # * RESET_TYPE_BOTH: resets the system disk and data disk.
758
+ self.reset_type = reset_type
759
+ # The type of the scheduled task.
760
+ #
761
+ # Valid values:
762
+ #
763
+ # * NoOperationDisconnect: scheduled disconnection upon inactivity.
764
+ # * NoConnectShutdown: connectionless shutdown.
765
+ # * TimerBoot: scheduled start.
766
+ # * TimerReset: scheduled reset.
767
+ # * NoOperationShutdown: scheduled shutdown upon inactivity.
768
+ # * TimerShutdown: Stops the cloud computers on schedule.
769
+ # * NoOperationReboot: scheduled restart upon inactivity.
770
+ # * TimerReboot: scheduled restart.
771
+ self.timer_type = timer_type
772
+
773
+ def validate(self):
774
+ pass
775
+
776
+ def to_map(self):
777
+ result = dict()
778
+ _map = super().to_map()
779
+ if _map is not None:
780
+ result = _map
781
+ if self.allow_client_setting is not None:
782
+ result['AllowClientSetting'] = self.allow_client_setting
783
+
784
+ if self.cron_expression is not None:
785
+ result['CronExpression'] = self.cron_expression
786
+
787
+ if self.enforce is not None:
788
+ result['Enforce'] = self.enforce
789
+
790
+ if self.execution_time is not None:
791
+ result['ExecutionTime'] = self.execution_time
792
+
793
+ if self.interval is not None:
794
+ result['Interval'] = self.interval
795
+
796
+ if self.operation_type is not None:
797
+ result['OperationType'] = self.operation_type
798
+
799
+ if self.reset_type is not None:
800
+ result['ResetType'] = self.reset_type
801
+
802
+ if self.timer_type is not None:
803
+ result['TimerType'] = self.timer_type
804
+
805
+ return result
806
+
807
+ def from_map(self, m: dict = None):
808
+ m = m or dict()
809
+ if m.get('AllowClientSetting') is not None:
810
+ self.allow_client_setting = m.get('AllowClientSetting')
811
+
812
+ if m.get('CronExpression') is not None:
813
+ self.cron_expression = m.get('CronExpression')
814
+
815
+ if m.get('Enforce') is not None:
816
+ self.enforce = m.get('Enforce')
817
+
818
+ if m.get('ExecutionTime') is not None:
819
+ self.execution_time = m.get('ExecutionTime')
820
+
821
+ if m.get('Interval') is not None:
822
+ self.interval = m.get('Interval')
823
+
824
+ if m.get('OperationType') is not None:
825
+ self.operation_type = m.get('OperationType')
826
+
827
+ if m.get('ResetType') is not None:
828
+ self.reset_type = m.get('ResetType')
829
+
830
+ if m.get('TimerType') is not None:
831
+ self.timer_type = m.get('TimerType')
832
+
833
+ return self
834
+
835
+ class DescribeGlobalDesktopsResponseBodyDesktopsClients(DaraModel):
836
+ def __init__(
837
+ self,
838
+ client_type: str = None,
839
+ status: str = None,
840
+ ):
841
+ # The client type.
842
+ #
843
+ # Valid values:
844
+ #
845
+ # * html5: the web client.
846
+ # * android: the Android client.
847
+ # * linux: Linux client.
848
+ # * ios: the iOS client.
849
+ # * windows: the Windows client.
850
+ # * macos: the macOS client.
851
+ self.client_type = client_type
852
+ # The status of the client.
853
+ #
854
+ # Valid values:
855
+ #
856
+ # * OFF: does not allow logon.
857
+ # * ON: allows logon.
858
+ self.status = status
859
+
860
+ def validate(self):
861
+ pass
862
+
863
+ def to_map(self):
864
+ result = dict()
865
+ _map = super().to_map()
866
+ if _map is not None:
867
+ result = _map
868
+ if self.client_type is not None:
869
+ result['ClientType'] = self.client_type
870
+
871
+ if self.status is not None:
872
+ result['Status'] = self.status
873
+
874
+ return result
875
+
876
+ def from_map(self, m: dict = None):
877
+ m = m or dict()
878
+ if m.get('ClientType') is not None:
879
+ self.client_type = m.get('ClientType')
880
+
881
+ if m.get('Status') is not None:
882
+ self.status = m.get('Status')
883
+
884
+ return self
885
+