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,314 @@
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 Dict, List
6
+
7
+ from alibabacloud_ecd20201002 import models as main_models
8
+ from darabonba.model import DaraModel
9
+
10
+ class GetLoginTokenResponseBody(DaraModel):
11
+ def __init__(
12
+ self,
13
+ email: str = None,
14
+ end_user_id: str = None,
15
+ industry: str = None,
16
+ keep_alive_token: str = None,
17
+ label: str = None,
18
+ login_token: str = None,
19
+ next_stage: str = None,
20
+ nick_name: str = None,
21
+ password_strategy: main_models.GetLoginTokenResponseBodyPasswordStrategy = None,
22
+ phone: str = None,
23
+ props: Dict[str, str] = None,
24
+ qr_code_png: str = None,
25
+ reason: str = None,
26
+ request_id: str = None,
27
+ risk_verify_info: main_models.GetLoginTokenResponseBodyRiskVerifyInfo = None,
28
+ secret: str = None,
29
+ session_id: str = None,
30
+ tenant_id: int = None,
31
+ window_display_mode: str = None,
32
+ wy_id: str = None,
33
+ ):
34
+ # The email address of the user. The system returns the email address in the return value of the LoginToken parameter after the user logs on to the client.
35
+ #
36
+ # * For a convenience user, the return value is the email address specified when the administrator creates the convenience user.
37
+ # * For an AD user, the return value is in the following format: `Username@Name of the AD domain`.
38
+ self.email = email
39
+ # The account of the convenience user or the AD user.
40
+ self.end_user_id = end_user_id
41
+ # > This is a parameter only for internal use.
42
+ self.industry = industry
43
+ # The token used to keep the user logged on. After the user logs on to the client and select the Keep Logon option, `KeepAliveToken` is returned when you call the operation. If the user does not select the Keep Logon option, null is returned.
44
+ self.keep_alive_token = keep_alive_token
45
+ # The attribute of the convenience user. For an AD user, null is returned.
46
+ self.label = label
47
+ # The logon token.
48
+ self.login_token = login_token
49
+ # The next stage that is expected to enter. For example, an administrator enables MFA in the EDS console. When an end user enters the password, that is, the end user completes the `ADPassword` stage, this parameter returns `MFAVerify`. This indicates that MFA is required.
50
+ #
51
+ # > For more information about the authentication stages, see the `CurrentStage` parameter.
52
+ self.next_stage = next_stage
53
+ self.nick_name = nick_name
54
+ # > This is a parameter only for internal use.
55
+ self.password_strategy = password_strategy
56
+ # Enter the mobile number of the convenience user. For an AD user, null is returned.
57
+ self.phone = phone
58
+ # > This is a parameter only for internal use.
59
+ self.props = props
60
+ # The QR code that is generated when the virtual MFA device is bound. The value is encoded in Base64. This parameter can be empty. This parameter is required only when the CurrentStage parameter is set to `MFABind`.
61
+ #
62
+ # > For more information about each authentication stage, see the parameter description of the request parameter `CurrentStage`.
63
+ self.qr_code_png = qr_code_png
64
+ # > This is a parameter only for internal use.
65
+ self.reason = reason
66
+ # The ID of the request.
67
+ self.request_id = request_id
68
+ # Risk identification information regarding the signin process.
69
+ self.risk_verify_info = risk_verify_info
70
+ # The key that is generated when you bind the virtual MFA device. This parameter is required when the CurrentStage parameter is set to `MFABind`.
71
+ #
72
+ # > For more information about each authentication stage, see the parameter description of the request parameter `CurrentStage`.
73
+ self.secret = secret
74
+ # The ID of the session. The ID is returned the first time you call the `GetLoginToken` operation in the session. If MFA is required, you must specify this parameter in subsequent stages.
75
+ #
76
+ # > For more information about each authentication stage, see the parameter description of the request parameter `CurrentStage`.
77
+ self.session_id = session_id
78
+ # The ID of the Alibaba Cloud account. The ID is used for hardware client authentication.
79
+ self.tenant_id = tenant_id
80
+ # > This is a parameter only for internal use.
81
+ self.window_display_mode = window_display_mode
82
+ self.wy_id = wy_id
83
+
84
+ def validate(self):
85
+ if self.password_strategy:
86
+ self.password_strategy.validate()
87
+ if self.risk_verify_info:
88
+ self.risk_verify_info.validate()
89
+
90
+ def to_map(self):
91
+ result = dict()
92
+ _map = super().to_map()
93
+ if _map is not None:
94
+ result = _map
95
+ if self.email is not None:
96
+ result['Email'] = self.email
97
+
98
+ if self.end_user_id is not None:
99
+ result['EndUserId'] = self.end_user_id
100
+
101
+ if self.industry is not None:
102
+ result['Industry'] = self.industry
103
+
104
+ if self.keep_alive_token is not None:
105
+ result['KeepAliveToken'] = self.keep_alive_token
106
+
107
+ if self.label is not None:
108
+ result['Label'] = self.label
109
+
110
+ if self.login_token is not None:
111
+ result['LoginToken'] = self.login_token
112
+
113
+ if self.next_stage is not None:
114
+ result['NextStage'] = self.next_stage
115
+
116
+ if self.nick_name is not None:
117
+ result['NickName'] = self.nick_name
118
+
119
+ if self.password_strategy is not None:
120
+ result['PasswordStrategy'] = self.password_strategy.to_map()
121
+
122
+ if self.phone is not None:
123
+ result['Phone'] = self.phone
124
+
125
+ if self.props is not None:
126
+ result['Props'] = self.props
127
+
128
+ if self.qr_code_png is not None:
129
+ result['QrCodePng'] = self.qr_code_png
130
+
131
+ if self.reason is not None:
132
+ result['Reason'] = self.reason
133
+
134
+ if self.request_id is not None:
135
+ result['RequestId'] = self.request_id
136
+
137
+ if self.risk_verify_info is not None:
138
+ result['RiskVerifyInfo'] = self.risk_verify_info.to_map()
139
+
140
+ if self.secret is not None:
141
+ result['Secret'] = self.secret
142
+
143
+ if self.session_id is not None:
144
+ result['SessionId'] = self.session_id
145
+
146
+ if self.tenant_id is not None:
147
+ result['TenantId'] = self.tenant_id
148
+
149
+ if self.window_display_mode is not None:
150
+ result['WindowDisplayMode'] = self.window_display_mode
151
+
152
+ if self.wy_id is not None:
153
+ result['WyId'] = self.wy_id
154
+
155
+ return result
156
+
157
+ def from_map(self, m: dict = None):
158
+ m = m or dict()
159
+ if m.get('Email') is not None:
160
+ self.email = m.get('Email')
161
+
162
+ if m.get('EndUserId') is not None:
163
+ self.end_user_id = m.get('EndUserId')
164
+
165
+ if m.get('Industry') is not None:
166
+ self.industry = m.get('Industry')
167
+
168
+ if m.get('KeepAliveToken') is not None:
169
+ self.keep_alive_token = m.get('KeepAliveToken')
170
+
171
+ if m.get('Label') is not None:
172
+ self.label = m.get('Label')
173
+
174
+ if m.get('LoginToken') is not None:
175
+ self.login_token = m.get('LoginToken')
176
+
177
+ if m.get('NextStage') is not None:
178
+ self.next_stage = m.get('NextStage')
179
+
180
+ if m.get('NickName') is not None:
181
+ self.nick_name = m.get('NickName')
182
+
183
+ if m.get('PasswordStrategy') is not None:
184
+ temp_model = main_models.GetLoginTokenResponseBodyPasswordStrategy()
185
+ self.password_strategy = temp_model.from_map(m.get('PasswordStrategy'))
186
+
187
+ if m.get('Phone') is not None:
188
+ self.phone = m.get('Phone')
189
+
190
+ if m.get('Props') is not None:
191
+ self.props = m.get('Props')
192
+
193
+ if m.get('QrCodePng') is not None:
194
+ self.qr_code_png = m.get('QrCodePng')
195
+
196
+ if m.get('Reason') is not None:
197
+ self.reason = m.get('Reason')
198
+
199
+ if m.get('RequestId') is not None:
200
+ self.request_id = m.get('RequestId')
201
+
202
+ if m.get('RiskVerifyInfo') is not None:
203
+ temp_model = main_models.GetLoginTokenResponseBodyRiskVerifyInfo()
204
+ self.risk_verify_info = temp_model.from_map(m.get('RiskVerifyInfo'))
205
+
206
+ if m.get('Secret') is not None:
207
+ self.secret = m.get('Secret')
208
+
209
+ if m.get('SessionId') is not None:
210
+ self.session_id = m.get('SessionId')
211
+
212
+ if m.get('TenantId') is not None:
213
+ self.tenant_id = m.get('TenantId')
214
+
215
+ if m.get('WindowDisplayMode') is not None:
216
+ self.window_display_mode = m.get('WindowDisplayMode')
217
+
218
+ if m.get('WyId') is not None:
219
+ self.wy_id = m.get('WyId')
220
+
221
+ return self
222
+
223
+ class GetLoginTokenResponseBodyRiskVerifyInfo(DaraModel):
224
+ def __init__(
225
+ self,
226
+ email: str = None,
227
+ last_lock_duration: int = None,
228
+ locked: str = None,
229
+ phone: str = None,
230
+ ):
231
+ # The email used for authentication.
232
+ self.email = email
233
+ # The duration of the lock.
234
+ self.last_lock_duration = last_lock_duration
235
+ # Whether the account is locked or not.
236
+ self.locked = locked
237
+ # The mobile number used for authentication.
238
+ self.phone = phone
239
+
240
+ def validate(self):
241
+ pass
242
+
243
+ def to_map(self):
244
+ result = dict()
245
+ _map = super().to_map()
246
+ if _map is not None:
247
+ result = _map
248
+ if self.email is not None:
249
+ result['Email'] = self.email
250
+
251
+ if self.last_lock_duration is not None:
252
+ result['LastLockDuration'] = self.last_lock_duration
253
+
254
+ if self.locked is not None:
255
+ result['Locked'] = self.locked
256
+
257
+ if self.phone is not None:
258
+ result['Phone'] = self.phone
259
+
260
+ return result
261
+
262
+ def from_map(self, m: dict = None):
263
+ m = m or dict()
264
+ if m.get('Email') is not None:
265
+ self.email = m.get('Email')
266
+
267
+ if m.get('LastLockDuration') is not None:
268
+ self.last_lock_duration = m.get('LastLockDuration')
269
+
270
+ if m.get('Locked') is not None:
271
+ self.locked = m.get('Locked')
272
+
273
+ if m.get('Phone') is not None:
274
+ self.phone = m.get('Phone')
275
+
276
+ return self
277
+
278
+ class GetLoginTokenResponseBodyPasswordStrategy(DaraModel):
279
+ def __init__(
280
+ self,
281
+ tenant_alternative_chars: List[str] = None,
282
+ tenant_password_length: str = None,
283
+ ):
284
+ # > This is a parameter only for internal use.
285
+ self.tenant_alternative_chars = tenant_alternative_chars
286
+ # > This is a parameter only for internal use.
287
+ self.tenant_password_length = tenant_password_length
288
+
289
+ def validate(self):
290
+ pass
291
+
292
+ def to_map(self):
293
+ result = dict()
294
+ _map = super().to_map()
295
+ if _map is not None:
296
+ result = _map
297
+ if self.tenant_alternative_chars is not None:
298
+ result['TenantAlternativeChars'] = self.tenant_alternative_chars
299
+
300
+ if self.tenant_password_length is not None:
301
+ result['TenantPasswordLength'] = self.tenant_password_length
302
+
303
+ return result
304
+
305
+ def from_map(self, m: dict = None):
306
+ m = m or dict()
307
+ if m.get('TenantAlternativeChars') is not None:
308
+ self.tenant_alternative_chars = m.get('TenantAlternativeChars')
309
+
310
+ if m.get('TenantPasswordLength') is not None:
311
+ self.tenant_password_length = m.get('TenantPasswordLength')
312
+
313
+ return self
314
+
@@ -0,0 +1,233 @@
1
+ # -*- coding: utf-8 -*-
2
+ # This file is auto-generated, don't edit it. Thanks.
3
+ from __future__ import annotations
4
+
5
+ from darabonba.model import DaraModel
6
+
7
+ class GetLoginTokenShrinkRequest(DaraModel):
8
+ def __init__(
9
+ self,
10
+ authentication_code: str = None,
11
+ available_features_shrink: str = None,
12
+ client_id: str = None,
13
+ client_name: str = None,
14
+ client_os: str = None,
15
+ client_type: str = None,
16
+ client_version: str = None,
17
+ current_stage: str = None,
18
+ directory_id: str = None,
19
+ end_user_id: str = None,
20
+ keep_alive: bool = None,
21
+ keep_alive_token: str = None,
22
+ new_password: str = None,
23
+ office_site_id: str = None,
24
+ old_password: str = None,
25
+ password: str = None,
26
+ region_id: str = None,
27
+ session_id: str = None,
28
+ token_code: str = None,
29
+ uuid: str = None,
30
+ ):
31
+ # The verification code that is generated by the virtual MFA device. This parameter is required if you set `CurrentStage` to `MFAVerify`.
32
+ self.authentication_code = authentication_code
33
+ self.available_features_shrink = available_features_shrink
34
+ # The ID of the Alibaba Cloud Workspace client. The system generates a unique ID for each client.
35
+ #
36
+ # This parameter is required.
37
+ self.client_id = client_id
38
+ self.client_name = client_name
39
+ # The operating system (OS) of the device that runs an Alibaba Cloud Workspace client.
40
+ self.client_os = client_os
41
+ # The type of Alibaba Cloud Workspace clients.
42
+ #
43
+ # Valid values:
44
+ #
45
+ # * HTML5: web client.
46
+ #
47
+ # * WINDOWS: Windows client.
48
+ #
49
+ # * MACOS: macOS client.
50
+ #
51
+ # * IOS: iOS client.
52
+ #
53
+ # * ANDROID: Android client.
54
+ self.client_type = client_type
55
+ # The version of the client. When you use an Alibaba Cloud Workspace client, you can view the client version in the **About** dialog box on the client logon page.
56
+ self.client_version = client_version
57
+ # The logon authentication stage. Valid values:
58
+ #
59
+ # * `ADPassword`: the stage to verify the identity of the Active Directory (AD) user. You must specify the value when the system verifies the identity of a convenience account or an AD account.
60
+ # * `MFABind: the stage to bind a virtual multi-factor authentication (MFA) device.`
61
+ # * `MFAVerify: the stage to verify the verification code that is generated by the virtual MFA device.`
62
+ # * `TokenVerify`: the stage to perform two-factor authentication on an Alibaba Cloud Workspace client (hereinafter referred to as the client).
63
+ # * `ChangePassword`: the stage to change the password of the user.
64
+ # * `KeepAliveVerify`: the stage to obtain LoginToken if KeepAliveToken is valid.
65
+ self.current_stage = current_stage
66
+ # The office network ID. This parameter has the same meaning as `OfficeSiteId`. We recommend that you replace `DirectoryId` with `OfficeSiteId`. You can specify a value for `DirectoryId` or `OfficeSiteId`.
67
+ self.directory_id = directory_id
68
+ # The name of the convenience user or the AD user. This parameter is required if you set `CurrentStage` to `ADPassword`.
69
+ self.end_user_id = end_user_id
70
+ # Specifies whether to keep the user logged on to the client.
71
+ # Valid values:
72
+ # * null: Default value. Do not keep the user logged on to the client.
73
+ # * true: Keep the user logged on to the client.
74
+ # * false: Do not keep the user logged on to the client.
75
+ self.keep_alive = keep_alive
76
+ # The token to keep logging on to an Alibaba Cloud Workspace client. When an end user logs on to the Alibaba Cloud Workspace client and select Auto Sign-in, `KeepAliveToken` is returned after you call this operation. Within the valid period of the returned token``, you can call the `GetLoginToken` operation and set `CurrentStage` to `KeepAliveVerify`. Then, you can obtain LoginToken. If you set `CurrentStage` to `KeepAliveVerify`, `KeepAliveToken` is required.
77
+ self.keep_alive_token = keep_alive_token
78
+ # The new password. This parameter is required if you set `CurrentStage` to `ChangePassword`.
79
+ self.new_password = new_password
80
+ # The office network ID.
81
+ self.office_site_id = office_site_id
82
+ # The current password. This parameter is required if you set `CurrentStage` to `ChangePassword`.
83
+ self.old_password = old_password
84
+ # The password of the convenience user or the AD user. This parameter is required if you set `CurrentStage` to `ADPassword`.
85
+ self.password = password
86
+ # The region ID. You can call the [DescribeRegions](https://help.aliyun.com/document_detail/196646.html) operation to query the regions supported by EDS.
87
+ #
88
+ # This parameter is required.
89
+ self.region_id = region_id
90
+ # The ID of the session.
91
+ #
92
+ # * If the virtual multi-factor authentication (MFA) device is not bound or two-factor authentication is not enabled for the client, you do not need to specify a value for `SessionId`.
93
+ # * If the virtual MFA device is not bound or two-factor authentication is enabled for the client, you must specify a value for `SessionId` to verify the user identity after you specify a value for `ADPassword`. The value of the `SessionId` parameter is returned only if the CurrentStage parameter is set to `ADPassword` when you call the `GetLoginToken` operation.
94
+ self.session_id = session_id
95
+ # If two-factor authentication is enabled for Alibaba Cloud Workspace terminals in the EDS console and the system detects that the current logon user is exposed to risks, the system sends a verification code to the email address of the user. This parameter is required if you set `CurrentStage` to `TokenVerify`.
96
+ self.token_code = token_code
97
+ # The unique identifier of the client. When you use an Alibaba Cloud Workspace client, you can view the client version in the **About** dialog box on the client logon page.
98
+ self.uuid = uuid
99
+
100
+ def validate(self):
101
+ pass
102
+
103
+ def to_map(self):
104
+ result = dict()
105
+ _map = super().to_map()
106
+ if _map is not None:
107
+ result = _map
108
+ if self.authentication_code is not None:
109
+ result['AuthenticationCode'] = self.authentication_code
110
+
111
+ if self.available_features_shrink is not None:
112
+ result['AvailableFeatures'] = self.available_features_shrink
113
+
114
+ if self.client_id is not None:
115
+ result['ClientId'] = self.client_id
116
+
117
+ if self.client_name is not None:
118
+ result['ClientName'] = self.client_name
119
+
120
+ if self.client_os is not None:
121
+ result['ClientOS'] = self.client_os
122
+
123
+ if self.client_type is not None:
124
+ result['ClientType'] = self.client_type
125
+
126
+ if self.client_version is not None:
127
+ result['ClientVersion'] = self.client_version
128
+
129
+ if self.current_stage is not None:
130
+ result['CurrentStage'] = self.current_stage
131
+
132
+ if self.directory_id is not None:
133
+ result['DirectoryId'] = self.directory_id
134
+
135
+ if self.end_user_id is not None:
136
+ result['EndUserId'] = self.end_user_id
137
+
138
+ if self.keep_alive is not None:
139
+ result['KeepAlive'] = self.keep_alive
140
+
141
+ if self.keep_alive_token is not None:
142
+ result['KeepAliveToken'] = self.keep_alive_token
143
+
144
+ if self.new_password is not None:
145
+ result['NewPassword'] = self.new_password
146
+
147
+ if self.office_site_id is not None:
148
+ result['OfficeSiteId'] = self.office_site_id
149
+
150
+ if self.old_password is not None:
151
+ result['OldPassword'] = self.old_password
152
+
153
+ if self.password is not None:
154
+ result['Password'] = self.password
155
+
156
+ if self.region_id is not None:
157
+ result['RegionId'] = self.region_id
158
+
159
+ if self.session_id is not None:
160
+ result['SessionId'] = self.session_id
161
+
162
+ if self.token_code is not None:
163
+ result['TokenCode'] = self.token_code
164
+
165
+ if self.uuid is not None:
166
+ result['Uuid'] = self.uuid
167
+
168
+ return result
169
+
170
+ def from_map(self, m: dict = None):
171
+ m = m or dict()
172
+ if m.get('AuthenticationCode') is not None:
173
+ self.authentication_code = m.get('AuthenticationCode')
174
+
175
+ if m.get('AvailableFeatures') is not None:
176
+ self.available_features_shrink = m.get('AvailableFeatures')
177
+
178
+ if m.get('ClientId') is not None:
179
+ self.client_id = m.get('ClientId')
180
+
181
+ if m.get('ClientName') is not None:
182
+ self.client_name = m.get('ClientName')
183
+
184
+ if m.get('ClientOS') is not None:
185
+ self.client_os = m.get('ClientOS')
186
+
187
+ if m.get('ClientType') is not None:
188
+ self.client_type = m.get('ClientType')
189
+
190
+ if m.get('ClientVersion') is not None:
191
+ self.client_version = m.get('ClientVersion')
192
+
193
+ if m.get('CurrentStage') is not None:
194
+ self.current_stage = m.get('CurrentStage')
195
+
196
+ if m.get('DirectoryId') is not None:
197
+ self.directory_id = m.get('DirectoryId')
198
+
199
+ if m.get('EndUserId') is not None:
200
+ self.end_user_id = m.get('EndUserId')
201
+
202
+ if m.get('KeepAlive') is not None:
203
+ self.keep_alive = m.get('KeepAlive')
204
+
205
+ if m.get('KeepAliveToken') is not None:
206
+ self.keep_alive_token = m.get('KeepAliveToken')
207
+
208
+ if m.get('NewPassword') is not None:
209
+ self.new_password = m.get('NewPassword')
210
+
211
+ if m.get('OfficeSiteId') is not None:
212
+ self.office_site_id = m.get('OfficeSiteId')
213
+
214
+ if m.get('OldPassword') is not None:
215
+ self.old_password = m.get('OldPassword')
216
+
217
+ if m.get('Password') is not None:
218
+ self.password = m.get('Password')
219
+
220
+ if m.get('RegionId') is not None:
221
+ self.region_id = m.get('RegionId')
222
+
223
+ if m.get('SessionId') is not None:
224
+ self.session_id = m.get('SessionId')
225
+
226
+ if m.get('TokenCode') is not None:
227
+ self.token_code = m.get('TokenCode')
228
+
229
+ if m.get('Uuid') is not None:
230
+ self.uuid = m.get('Uuid')
231
+
232
+ return self
233
+
@@ -0,0 +1,54 @@
1
+ # -*- coding: utf-8 -*-
2
+ # This file is auto-generated, don't edit it. Thanks.
3
+ from __future__ import annotations
4
+
5
+ from darabonba.model import DaraModel
6
+
7
+ class IsKeepAliveRequest(DaraModel):
8
+ def __init__(
9
+ self,
10
+ client_id: str = None,
11
+ office_site_id: str = None,
12
+ region_id: str = None,
13
+ ):
14
+ # The client ID. The system generates a unique ID for each client.
15
+ #
16
+ # This parameter is required.
17
+ self.client_id = client_id
18
+ # The office network ID.
19
+ self.office_site_id = office_site_id
20
+ # The region ID. You can call the [DescribeRegions](https://help.aliyun.com/document_detail/196646.html) operation to query the list of regions where Elastic Desktop Service (EDS) Enterprise is available.
21
+ self.region_id = region_id
22
+
23
+ def validate(self):
24
+ pass
25
+
26
+ def to_map(self):
27
+ result = dict()
28
+ _map = super().to_map()
29
+ if _map is not None:
30
+ result = _map
31
+ if self.client_id is not None:
32
+ result['ClientId'] = self.client_id
33
+
34
+ if self.office_site_id is not None:
35
+ result['OfficeSiteId'] = self.office_site_id
36
+
37
+ if self.region_id is not None:
38
+ result['RegionId'] = self.region_id
39
+
40
+ return result
41
+
42
+ def from_map(self, m: dict = None):
43
+ m = m or dict()
44
+ if m.get('ClientId') is not None:
45
+ self.client_id = m.get('ClientId')
46
+
47
+ if m.get('OfficeSiteId') is not None:
48
+ self.office_site_id = m.get('OfficeSiteId')
49
+
50
+ if m.get('RegionId') is not None:
51
+ self.region_id = m.get('RegionId')
52
+
53
+ return self
54
+
@@ -0,0 +1,54 @@
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 Dict
6
+
7
+ from alibabacloud_ecd20201002 import models as main_models
8
+ from darabonba.model import DaraModel
9
+
10
+ class IsKeepAliveResponse(DaraModel):
11
+ def __init__(
12
+ self,
13
+ headers: Dict[str, str] = None,
14
+ status_code: int = None,
15
+ body: main_models.IsKeepAliveResponseBody = None,
16
+ ):
17
+ self.headers = headers
18
+ self.status_code = status_code
19
+ self.body = body
20
+
21
+ def validate(self):
22
+ if self.body:
23
+ self.body.validate()
24
+
25
+ def to_map(self):
26
+ result = dict()
27
+ _map = super().to_map()
28
+ if _map is not None:
29
+ result = _map
30
+ if self.headers is not None:
31
+ result['headers'] = self.headers
32
+
33
+ if self.status_code is not None:
34
+ result['statusCode'] = self.status_code
35
+
36
+ if self.body is not None:
37
+ result['body'] = self.body.to_map()
38
+
39
+ return result
40
+
41
+ def from_map(self, m: dict = None):
42
+ m = m or dict()
43
+ if m.get('headers') is not None:
44
+ self.headers = m.get('headers')
45
+
46
+ if m.get('statusCode') is not None:
47
+ self.status_code = m.get('statusCode')
48
+
49
+ if m.get('body') is not None:
50
+ temp_model = main_models.IsKeepAliveResponseBody()
51
+ self.body = temp_model.from_map(m.get('body'))
52
+
53
+ return self
54
+