tencentcloud-sdk-dasb 1.0.320

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.
@@ -0,0 +1,1200 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright (c) 2017-2018 THL A29 Limited, a Tencent company. All Rights Reserved.
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ module TencentCloud
18
+ module Dasb
19
+ module V20191018
20
+ # 访问权限
21
+ class Acl < TencentCloud::Common::AbstractModel
22
+ # @param Id: 访问权限ID
23
+ # @type Id: Integer
24
+ # @param Name: 规则名
25
+ # @type Name: String
26
+ # @param AllowDiskRedirect: 是否开启磁盘映射
27
+ # @type AllowDiskRedirect: Boolean
28
+ # @param AllowClipFileUp: 是否开启剪贴板文件上行
29
+ # @type AllowClipFileUp: Boolean
30
+ # @param AllowClipFileDown: 是否开启剪贴板文件下行
31
+ # @type AllowClipFileDown: Boolean
32
+ # @param AllowClipTextUp: 是否开启剪贴板text(目前含图片)上行
33
+ # @type AllowClipTextUp: Boolean
34
+ # @param AllowClipTextDown: 是否开启剪贴板text(目前含图片)下行
35
+ # @type AllowClipTextDown: Boolean
36
+ # @param AllowFileUp: 是否开启文件传输上传
37
+ # @type AllowFileUp: Boolean
38
+ # @param MaxFileUpSize: 文件传输上传大小限制
39
+ # @type MaxFileUpSize: Integer
40
+ # @param AllowFileDown: 是否开启文件传输下载
41
+ # @type AllowFileDown: Boolean
42
+ # @param MaxFileDownSize: 文件传输下载大小限制
43
+ # @type MaxFileDownSize: Integer
44
+ # @param AllowAnyAccount: 是否允许任意账号登陆
45
+ # @type AllowAnyAccount: Boolean
46
+ # @param UserSet: 关联的用户列表
47
+ # @type UserSet: Array
48
+ # @param UserGroupSet: 关联的用户组列表
49
+ # @type UserGroupSet: Array
50
+ # @param DeviceSet: 关联的主机列表
51
+ # @type DeviceSet: Array
52
+ # @param DeviceGroupSet: 关联的主机组列表
53
+ # @type DeviceGroupSet: Array
54
+ # @param AccountSet: 关联的账号列表
55
+ # @type AccountSet: Array
56
+ # @param CmdTemplateSet: 关联的高危命令模板列表
57
+ # @type CmdTemplateSet: Array
58
+ # @param AllowDiskFileUp: 是否开启rdp磁盘映射文件上传
59
+ # @type AllowDiskFileUp: Boolean
60
+ # @param AllowDiskFileDown: 是否开启rdp磁盘映射文件下载
61
+ # @type AllowDiskFileDown: Boolean
62
+ # @param AllowShellFileUp: 是否开启rz sz文件上传
63
+ # @type AllowShellFileUp: Boolean
64
+ # @param AllowShellFileDown: 是否开启rz sz文件下载
65
+ # @type AllowShellFileDown: Boolean
66
+ # @param AllowFileDel: 是否开启SFTP文件删除
67
+ # @type AllowFileDel: Boolean
68
+ # @param ValidateFrom: 生效日期
69
+ # @type ValidateFrom: String
70
+ # @param ValidateTo: 失效日期
71
+ # @type ValidateTo: String
72
+ # @param Status: 策略状态,1-已生效,2-未生效,3-已过期
73
+ # @type Status: Integer
74
+
75
+ attr_accessor :Id, :Name, :AllowDiskRedirect, :AllowClipFileUp, :AllowClipFileDown, :AllowClipTextUp, :AllowClipTextDown, :AllowFileUp, :MaxFileUpSize, :AllowFileDown, :MaxFileDownSize, :AllowAnyAccount, :UserSet, :UserGroupSet, :DeviceSet, :DeviceGroupSet, :AccountSet, :CmdTemplateSet, :AllowDiskFileUp, :AllowDiskFileDown, :AllowShellFileUp, :AllowShellFileDown, :AllowFileDel, :ValidateFrom, :ValidateTo, :Status
76
+
77
+ def initialize(id=nil, name=nil, allowdiskredirect=nil, allowclipfileup=nil, allowclipfiledown=nil, allowcliptextup=nil, allowcliptextdown=nil, allowfileup=nil, maxfileupsize=nil, allowfiledown=nil, maxfiledownsize=nil, allowanyaccount=nil, userset=nil, usergroupset=nil, deviceset=nil, devicegroupset=nil, accountset=nil, cmdtemplateset=nil, allowdiskfileup=nil, allowdiskfiledown=nil, allowshellfileup=nil, allowshellfiledown=nil, allowfiledel=nil, validatefrom=nil, validateto=nil, status=nil)
78
+ @Id = id
79
+ @Name = name
80
+ @AllowDiskRedirect = allowdiskredirect
81
+ @AllowClipFileUp = allowclipfileup
82
+ @AllowClipFileDown = allowclipfiledown
83
+ @AllowClipTextUp = allowcliptextup
84
+ @AllowClipTextDown = allowcliptextdown
85
+ @AllowFileUp = allowfileup
86
+ @MaxFileUpSize = maxfileupsize
87
+ @AllowFileDown = allowfiledown
88
+ @MaxFileDownSize = maxfiledownsize
89
+ @AllowAnyAccount = allowanyaccount
90
+ @UserSet = userset
91
+ @UserGroupSet = usergroupset
92
+ @DeviceSet = deviceset
93
+ @DeviceGroupSet = devicegroupset
94
+ @AccountSet = accountset
95
+ @CmdTemplateSet = cmdtemplateset
96
+ @AllowDiskFileUp = allowdiskfileup
97
+ @AllowDiskFileDown = allowdiskfiledown
98
+ @AllowShellFileUp = allowshellfileup
99
+ @AllowShellFileDown = allowshellfiledown
100
+ @AllowFileDel = allowfiledel
101
+ @ValidateFrom = validatefrom
102
+ @ValidateTo = validateto
103
+ @Status = status
104
+ end
105
+
106
+ def deserialize(params)
107
+ @Id = params['Id']
108
+ @Name = params['Name']
109
+ @AllowDiskRedirect = params['AllowDiskRedirect']
110
+ @AllowClipFileUp = params['AllowClipFileUp']
111
+ @AllowClipFileDown = params['AllowClipFileDown']
112
+ @AllowClipTextUp = params['AllowClipTextUp']
113
+ @AllowClipTextDown = params['AllowClipTextDown']
114
+ @AllowFileUp = params['AllowFileUp']
115
+ @MaxFileUpSize = params['MaxFileUpSize']
116
+ @AllowFileDown = params['AllowFileDown']
117
+ @MaxFileDownSize = params['MaxFileDownSize']
118
+ @AllowAnyAccount = params['AllowAnyAccount']
119
+ unless params['UserSet'].nil?
120
+ @UserSet = []
121
+ params['UserSet'].each do |i|
122
+ user_tmp = User.new
123
+ user_tmp.deserialize(i)
124
+ @UserSet << user_tmp
125
+ end
126
+ end
127
+ unless params['UserGroupSet'].nil?
128
+ @UserGroupSet = []
129
+ params['UserGroupSet'].each do |i|
130
+ group_tmp = Group.new
131
+ group_tmp.deserialize(i)
132
+ @UserGroupSet << group_tmp
133
+ end
134
+ end
135
+ unless params['DeviceSet'].nil?
136
+ @DeviceSet = []
137
+ params['DeviceSet'].each do |i|
138
+ device_tmp = Device.new
139
+ device_tmp.deserialize(i)
140
+ @DeviceSet << device_tmp
141
+ end
142
+ end
143
+ unless params['DeviceGroupSet'].nil?
144
+ @DeviceGroupSet = []
145
+ params['DeviceGroupSet'].each do |i|
146
+ group_tmp = Group.new
147
+ group_tmp.deserialize(i)
148
+ @DeviceGroupSet << group_tmp
149
+ end
150
+ end
151
+ @AccountSet = params['AccountSet']
152
+ unless params['CmdTemplateSet'].nil?
153
+ @CmdTemplateSet = []
154
+ params['CmdTemplateSet'].each do |i|
155
+ cmdtemplate_tmp = CmdTemplate.new
156
+ cmdtemplate_tmp.deserialize(i)
157
+ @CmdTemplateSet << cmdtemplate_tmp
158
+ end
159
+ end
160
+ @AllowDiskFileUp = params['AllowDiskFileUp']
161
+ @AllowDiskFileDown = params['AllowDiskFileDown']
162
+ @AllowShellFileUp = params['AllowShellFileUp']
163
+ @AllowShellFileDown = params['AllowShellFileDown']
164
+ @AllowFileDel = params['AllowFileDel']
165
+ @ValidateFrom = params['ValidateFrom']
166
+ @ValidateTo = params['ValidateTo']
167
+ @Status = params['Status']
168
+ end
169
+ end
170
+
171
+ # 命令模板
172
+ class CmdTemplate < TencentCloud::Common::AbstractModel
173
+ # @param Id: 模板ID
174
+ # @type Id: Integer
175
+ # @param Name: 模板名称
176
+ # @type Name: String
177
+ # @param CmdList: 命令列表,\n分隔
178
+ # @type CmdList: String
179
+
180
+ attr_accessor :Id, :Name, :CmdList
181
+
182
+ def initialize(id=nil, name=nil, cmdlist=nil)
183
+ @Id = id
184
+ @Name = name
185
+ @CmdList = cmdlist
186
+ end
187
+
188
+ def deserialize(params)
189
+ @Id = params['Id']
190
+ @Name = params['Name']
191
+ @CmdList = params['CmdList']
192
+ end
193
+ end
194
+
195
+ # CreateAcl请求参数结构体
196
+ class CreateAclRequest < TencentCloud::Common::AbstractModel
197
+ # @param Name: 权限名称,最大32字符,不能为空,不能包含空白字符
198
+ # @type Name: String
199
+ # @param AllowDiskRedirect: 是否开启磁盘映射
200
+ # @type AllowDiskRedirect: Boolean
201
+ # @param AllowAnyAccount: 是否允许任意账号登陆
202
+ # @type AllowAnyAccount: Boolean
203
+ # @param AllowClipFileUp: 是否开启剪贴板文件上行
204
+ # @type AllowClipFileUp: Boolean
205
+ # @param AllowClipFileDown: 是否开启剪贴板文件下行
206
+ # @type AllowClipFileDown: Boolean
207
+ # @param AllowClipTextUp: 是否开启剪贴板text(含图片)上行
208
+ # @type AllowClipTextUp: Boolean
209
+ # @param AllowClipTextDown: 是否开启剪贴板text(含图片)下行
210
+ # @type AllowClipTextDown: Boolean
211
+ # @param AllowFileUp: 是否开启SFTP文件上传
212
+ # @type AllowFileUp: Boolean
213
+ # @param MaxFileUpSize: 文件传输上传大小限制
214
+ # @type MaxFileUpSize: Integer
215
+ # @param AllowFileDown: 是否开启SFTP文件下载
216
+ # @type AllowFileDown: Boolean
217
+ # @param MaxFileDownSize: 文件传输下载大小限制
218
+ # @type MaxFileDownSize: Integer
219
+ # @param UserIdSet: 关联的用户ID
220
+ # @type UserIdSet: Array
221
+ # @param UserGroupIdSet: 关联的用户组ID
222
+ # @type UserGroupIdSet: Array
223
+ # @param DeviceIdSet: 关联的主机ID
224
+ # @type DeviceIdSet: Array
225
+ # @param DeviceGroupIdSet: 关联的主机组ID
226
+ # @type DeviceGroupIdSet: Array
227
+ # @param AccountSet: 关联的账号,账号name
228
+ # @type AccountSet: Array
229
+ # @param CmdTemplateIdSet: 关联的高危命令模板ID
230
+ # @type CmdTemplateIdSet: Array
231
+ # @param AllowDiskFileUp: 是否开启rdp磁盘映射文件上传
232
+ # @type AllowDiskFileUp: Boolean
233
+ # @param AllowDiskFileDown: 是否开启rdp磁盘映射文件下载
234
+ # @type AllowDiskFileDown: Boolean
235
+ # @param AllowShellFileUp: 是否开启rz sz文件上传
236
+ # @type AllowShellFileUp: Boolean
237
+ # @param AllowShellFileDown: 是否开启rz sz文件下载
238
+ # @type AllowShellFileDown: Boolean
239
+ # @param AllowFileDel: 是否开启SFTP文件删除
240
+ # @type AllowFileDel: Boolean
241
+ # @param ValidateFrom: 生效日期,如果为空,默认1970-01-01T08:00:01+08:00
242
+ # @type ValidateFrom: String
243
+ # @param ValidateTo: 失效日期,如果为空,默认1970-01-01T08:00:01+08:00
244
+ # @type ValidateTo: String
245
+
246
+ attr_accessor :Name, :AllowDiskRedirect, :AllowAnyAccount, :AllowClipFileUp, :AllowClipFileDown, :AllowClipTextUp, :AllowClipTextDown, :AllowFileUp, :MaxFileUpSize, :AllowFileDown, :MaxFileDownSize, :UserIdSet, :UserGroupIdSet, :DeviceIdSet, :DeviceGroupIdSet, :AccountSet, :CmdTemplateIdSet, :AllowDiskFileUp, :AllowDiskFileDown, :AllowShellFileUp, :AllowShellFileDown, :AllowFileDel, :ValidateFrom, :ValidateTo
247
+
248
+ def initialize(name=nil, allowdiskredirect=nil, allowanyaccount=nil, allowclipfileup=nil, allowclipfiledown=nil, allowcliptextup=nil, allowcliptextdown=nil, allowfileup=nil, maxfileupsize=nil, allowfiledown=nil, maxfiledownsize=nil, useridset=nil, usergroupidset=nil, deviceidset=nil, devicegroupidset=nil, accountset=nil, cmdtemplateidset=nil, allowdiskfileup=nil, allowdiskfiledown=nil, allowshellfileup=nil, allowshellfiledown=nil, allowfiledel=nil, validatefrom=nil, validateto=nil)
249
+ @Name = name
250
+ @AllowDiskRedirect = allowdiskredirect
251
+ @AllowAnyAccount = allowanyaccount
252
+ @AllowClipFileUp = allowclipfileup
253
+ @AllowClipFileDown = allowclipfiledown
254
+ @AllowClipTextUp = allowcliptextup
255
+ @AllowClipTextDown = allowcliptextdown
256
+ @AllowFileUp = allowfileup
257
+ @MaxFileUpSize = maxfileupsize
258
+ @AllowFileDown = allowfiledown
259
+ @MaxFileDownSize = maxfiledownsize
260
+ @UserIdSet = useridset
261
+ @UserGroupIdSet = usergroupidset
262
+ @DeviceIdSet = deviceidset
263
+ @DeviceGroupIdSet = devicegroupidset
264
+ @AccountSet = accountset
265
+ @CmdTemplateIdSet = cmdtemplateidset
266
+ @AllowDiskFileUp = allowdiskfileup
267
+ @AllowDiskFileDown = allowdiskfiledown
268
+ @AllowShellFileUp = allowshellfileup
269
+ @AllowShellFileDown = allowshellfiledown
270
+ @AllowFileDel = allowfiledel
271
+ @ValidateFrom = validatefrom
272
+ @ValidateTo = validateto
273
+ end
274
+
275
+ def deserialize(params)
276
+ @Name = params['Name']
277
+ @AllowDiskRedirect = params['AllowDiskRedirect']
278
+ @AllowAnyAccount = params['AllowAnyAccount']
279
+ @AllowClipFileUp = params['AllowClipFileUp']
280
+ @AllowClipFileDown = params['AllowClipFileDown']
281
+ @AllowClipTextUp = params['AllowClipTextUp']
282
+ @AllowClipTextDown = params['AllowClipTextDown']
283
+ @AllowFileUp = params['AllowFileUp']
284
+ @MaxFileUpSize = params['MaxFileUpSize']
285
+ @AllowFileDown = params['AllowFileDown']
286
+ @MaxFileDownSize = params['MaxFileDownSize']
287
+ @UserIdSet = params['UserIdSet']
288
+ @UserGroupIdSet = params['UserGroupIdSet']
289
+ @DeviceIdSet = params['DeviceIdSet']
290
+ @DeviceGroupIdSet = params['DeviceGroupIdSet']
291
+ @AccountSet = params['AccountSet']
292
+ @CmdTemplateIdSet = params['CmdTemplateIdSet']
293
+ @AllowDiskFileUp = params['AllowDiskFileUp']
294
+ @AllowDiskFileDown = params['AllowDiskFileDown']
295
+ @AllowShellFileUp = params['AllowShellFileUp']
296
+ @AllowShellFileDown = params['AllowShellFileDown']
297
+ @AllowFileDel = params['AllowFileDel']
298
+ @ValidateFrom = params['ValidateFrom']
299
+ @ValidateTo = params['ValidateTo']
300
+ end
301
+ end
302
+
303
+ # CreateAcl返回参数结构体
304
+ class CreateAclResponse < TencentCloud::Common::AbstractModel
305
+ # @param Id: 访问权限ID
306
+ # @type Id: Integer
307
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
308
+ # @type RequestId: String
309
+
310
+ attr_accessor :Id, :RequestId
311
+
312
+ def initialize(id=nil, requestid=nil)
313
+ @Id = id
314
+ @RequestId = requestid
315
+ end
316
+
317
+ def deserialize(params)
318
+ @Id = params['Id']
319
+ @RequestId = params['RequestId']
320
+ end
321
+ end
322
+
323
+ # CreateUser请求参数结构体
324
+ class CreateUserRequest < TencentCloud::Common::AbstractModel
325
+ # @param UserName: 用户名,最大长度32字符,不能为空
326
+ # @type UserName: String
327
+ # @param RealName: 用户姓名,最大长度32字符,不能为空
328
+ # @type RealName: String
329
+ # @param Phone: 手机号
330
+ # @type Phone: String
331
+ # @param Email: 电子邮件
332
+ # @type Email: String
333
+ # @param ValidateFrom: 生效起始时间,不设置则为1970-01-01T08:00:01+08:00
334
+ # @type ValidateFrom: String
335
+ # @param ValidateTo: 生效结束时间,不设置则为1970-01-01T08:00:01+08:00
336
+ # @type ValidateTo: String
337
+ # @param GroupIdSet: 所属用户组ID集合
338
+ # @type GroupIdSet: Array
339
+ # @param AuthType: 认证方式,0-本地 1-ldap 2-oauth,不传则默认为0
340
+ # @type AuthType: Integer
341
+ # @param ValidateTime: 生效时间段, 0、1组成的字符串,长度168(7*24), 代表该用户的生效时间. 0 - 未生效,1 - 生效
342
+ # @type ValidateTime: String
343
+
344
+ attr_accessor :UserName, :RealName, :Phone, :Email, :ValidateFrom, :ValidateTo, :GroupIdSet, :AuthType, :ValidateTime
345
+
346
+ def initialize(username=nil, realname=nil, phone=nil, email=nil, validatefrom=nil, validateto=nil, groupidset=nil, authtype=nil, validatetime=nil)
347
+ @UserName = username
348
+ @RealName = realname
349
+ @Phone = phone
350
+ @Email = email
351
+ @ValidateFrom = validatefrom
352
+ @ValidateTo = validateto
353
+ @GroupIdSet = groupidset
354
+ @AuthType = authtype
355
+ @ValidateTime = validatetime
356
+ end
357
+
358
+ def deserialize(params)
359
+ @UserName = params['UserName']
360
+ @RealName = params['RealName']
361
+ @Phone = params['Phone']
362
+ @Email = params['Email']
363
+ @ValidateFrom = params['ValidateFrom']
364
+ @ValidateTo = params['ValidateTo']
365
+ @GroupIdSet = params['GroupIdSet']
366
+ @AuthType = params['AuthType']
367
+ @ValidateTime = params['ValidateTime']
368
+ end
369
+ end
370
+
371
+ # CreateUser返回参数结构体
372
+ class CreateUserResponse < TencentCloud::Common::AbstractModel
373
+ # @param Id: 新建成功后返回的记录ID
374
+ # @type Id: Integer
375
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
376
+ # @type RequestId: String
377
+
378
+ attr_accessor :Id, :RequestId
379
+
380
+ def initialize(id=nil, requestid=nil)
381
+ @Id = id
382
+ @RequestId = requestid
383
+ end
384
+
385
+ def deserialize(params)
386
+ @Id = params['Id']
387
+ @RequestId = params['RequestId']
388
+ end
389
+ end
390
+
391
+ # DeleteAcls请求参数结构体
392
+ class DeleteAclsRequest < TencentCloud::Common::AbstractModel
393
+ # @param IdSet: 待删除的权限ID集合
394
+ # @type IdSet: Array
395
+
396
+ attr_accessor :IdSet
397
+
398
+ def initialize(idset=nil)
399
+ @IdSet = idset
400
+ end
401
+
402
+ def deserialize(params)
403
+ @IdSet = params['IdSet']
404
+ end
405
+ end
406
+
407
+ # DeleteAcls返回参数结构体
408
+ class DeleteAclsResponse < TencentCloud::Common::AbstractModel
409
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
410
+ # @type RequestId: String
411
+
412
+ attr_accessor :RequestId
413
+
414
+ def initialize(requestid=nil)
415
+ @RequestId = requestid
416
+ end
417
+
418
+ def deserialize(params)
419
+ @RequestId = params['RequestId']
420
+ end
421
+ end
422
+
423
+ # DeleteUsers请求参数结构体
424
+ class DeleteUsersRequest < TencentCloud::Common::AbstractModel
425
+ # @param IdSet: 待删除的用户ID集合
426
+ # @type IdSet: Array
427
+
428
+ attr_accessor :IdSet
429
+
430
+ def initialize(idset=nil)
431
+ @IdSet = idset
432
+ end
433
+
434
+ def deserialize(params)
435
+ @IdSet = params['IdSet']
436
+ end
437
+ end
438
+
439
+ # DeleteUsers返回参数结构体
440
+ class DeleteUsersResponse < TencentCloud::Common::AbstractModel
441
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
442
+ # @type RequestId: String
443
+
444
+ attr_accessor :RequestId
445
+
446
+ def initialize(requestid=nil)
447
+ @RequestId = requestid
448
+ end
449
+
450
+ def deserialize(params)
451
+ @RequestId = params['RequestId']
452
+ end
453
+ end
454
+
455
+ # DescribeAcls请求参数结构体
456
+ class DescribeAclsRequest < TencentCloud::Common::AbstractModel
457
+ # @param IdSet: 访问权限ID集合,非必需
458
+ # @type IdSet: Array
459
+ # @param Name: 访问权限名称,模糊查询,最长64字符
460
+ # @type Name: String
461
+ # @param Offset: 分页,偏移位置
462
+ # @type Offset: Integer
463
+ # @param Limit: 每页条目数量,默认20
464
+ # @type Limit: Integer
465
+ # @param Exact: 是否根据Name进行精确查询,默认值false
466
+ # @type Exact: Boolean
467
+ # @param AuthorizedUserIdSet: 有权限的用户ID集合
468
+ # @type AuthorizedUserIdSet: Array
469
+ # @param AuthorizedDeviceIdSet: 有权限的主机ID集合
470
+ # @type AuthorizedDeviceIdSet: Array
471
+ # @param Status: 策略状态,0-不限,1-已生效,2-未生效,3-已过期
472
+ # @type Status: Integer
473
+
474
+ attr_accessor :IdSet, :Name, :Offset, :Limit, :Exact, :AuthorizedUserIdSet, :AuthorizedDeviceIdSet, :Status
475
+
476
+ def initialize(idset=nil, name=nil, offset=nil, limit=nil, exact=nil, authorizeduseridset=nil, authorizeddeviceidset=nil, status=nil)
477
+ @IdSet = idset
478
+ @Name = name
479
+ @Offset = offset
480
+ @Limit = limit
481
+ @Exact = exact
482
+ @AuthorizedUserIdSet = authorizeduseridset
483
+ @AuthorizedDeviceIdSet = authorizeddeviceidset
484
+ @Status = status
485
+ end
486
+
487
+ def deserialize(params)
488
+ @IdSet = params['IdSet']
489
+ @Name = params['Name']
490
+ @Offset = params['Offset']
491
+ @Limit = params['Limit']
492
+ @Exact = params['Exact']
493
+ @AuthorizedUserIdSet = params['AuthorizedUserIdSet']
494
+ @AuthorizedDeviceIdSet = params['AuthorizedDeviceIdSet']
495
+ @Status = params['Status']
496
+ end
497
+ end
498
+
499
+ # DescribeAcls返回参数结构体
500
+ class DescribeAclsResponse < TencentCloud::Common::AbstractModel
501
+ # @param TotalCount: 记录总数
502
+ # @type TotalCount: Integer
503
+ # @param AclSet: 访问权限记录集合,当前分页
504
+ # @type AclSet: Array
505
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
506
+ # @type RequestId: String
507
+
508
+ attr_accessor :TotalCount, :AclSet, :RequestId
509
+
510
+ def initialize(totalcount=nil, aclset=nil, requestid=nil)
511
+ @TotalCount = totalcount
512
+ @AclSet = aclset
513
+ @RequestId = requestid
514
+ end
515
+
516
+ def deserialize(params)
517
+ @TotalCount = params['TotalCount']
518
+ unless params['AclSet'].nil?
519
+ @AclSet = []
520
+ params['AclSet'].each do |i|
521
+ acl_tmp = Acl.new
522
+ acl_tmp.deserialize(i)
523
+ @AclSet << acl_tmp
524
+ end
525
+ end
526
+ @RequestId = params['RequestId']
527
+ end
528
+ end
529
+
530
+ # DescribeDasbImageIds请求参数结构体
531
+ class DescribeDasbImageIdsRequest < TencentCloud::Common::AbstractModel
532
+
533
+
534
+ def initialize()
535
+ end
536
+
537
+ def deserialize(params)
538
+ end
539
+ end
540
+
541
+ # DescribeDasbImageIds返回参数结构体
542
+ class DescribeDasbImageIdsResponse < TencentCloud::Common::AbstractModel
543
+ # @param BaseImageId: 基础镜像ID
544
+ # @type BaseImageId: String
545
+ # @param AiImageId: AI镜像ID
546
+ # @type AiImageId: String
547
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
548
+ # @type RequestId: String
549
+
550
+ attr_accessor :BaseImageId, :AiImageId, :RequestId
551
+
552
+ def initialize(baseimageid=nil, aiimageid=nil, requestid=nil)
553
+ @BaseImageId = baseimageid
554
+ @AiImageId = aiimageid
555
+ @RequestId = requestid
556
+ end
557
+
558
+ def deserialize(params)
559
+ @BaseImageId = params['BaseImageId']
560
+ @AiImageId = params['AiImageId']
561
+ @RequestId = params['RequestId']
562
+ end
563
+ end
564
+
565
+ # DescribeDevices请求参数结构体
566
+ class DescribeDevicesRequest < TencentCloud::Common::AbstractModel
567
+ # @param IdSet: 主机ID集合,非必需
568
+ # @type IdSet: Array
569
+ # @param Name: 主机名或主机IP,模糊查询
570
+ # @type Name: String
571
+ # @param Ip: 暂未使用
572
+ # @type Ip: String
573
+ # @param ApCodeSet: 地域码集合
574
+ # @type ApCodeSet: Array
575
+ # @param Kind: 操作系统类型
576
+ # @type Kind: Integer
577
+ # @param Offset: 分页,偏移位置
578
+ # @type Offset: Integer
579
+ # @param Limit: 每页条目数量,默认20
580
+ # @type Limit: Integer
581
+ # @param AuthorizedUserIdSet: 有该主机访问权限的用户ID集合
582
+ # @type AuthorizedUserIdSet: Array
583
+ # @param ResourceIdSet: 过滤条件,主机绑定的堡垒机服务ID集合
584
+ # @type ResourceIdSet: Array
585
+ # @param KindSet: 可提供按照多种类型过滤, 1-Linux, 2-Windows, 3-MySQL
586
+ # @type KindSet: Array
587
+
588
+ attr_accessor :IdSet, :Name, :Ip, :ApCodeSet, :Kind, :Offset, :Limit, :AuthorizedUserIdSet, :ResourceIdSet, :KindSet
589
+
590
+ def initialize(idset=nil, name=nil, ip=nil, apcodeset=nil, kind=nil, offset=nil, limit=nil, authorizeduseridset=nil, resourceidset=nil, kindset=nil)
591
+ @IdSet = idset
592
+ @Name = name
593
+ @Ip = ip
594
+ @ApCodeSet = apcodeset
595
+ @Kind = kind
596
+ @Offset = offset
597
+ @Limit = limit
598
+ @AuthorizedUserIdSet = authorizeduseridset
599
+ @ResourceIdSet = resourceidset
600
+ @KindSet = kindset
601
+ end
602
+
603
+ def deserialize(params)
604
+ @IdSet = params['IdSet']
605
+ @Name = params['Name']
606
+ @Ip = params['Ip']
607
+ @ApCodeSet = params['ApCodeSet']
608
+ @Kind = params['Kind']
609
+ @Offset = params['Offset']
610
+ @Limit = params['Limit']
611
+ @AuthorizedUserIdSet = params['AuthorizedUserIdSet']
612
+ @ResourceIdSet = params['ResourceIdSet']
613
+ @KindSet = params['KindSet']
614
+ end
615
+ end
616
+
617
+ # DescribeDevices返回参数结构体
618
+ class DescribeDevicesResponse < TencentCloud::Common::AbstractModel
619
+ # @param TotalCount: 记录总数
620
+ # @type TotalCount: Integer
621
+ # @param DeviceSet: 主机信息列表
622
+ # @type DeviceSet: Array
623
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
624
+ # @type RequestId: String
625
+
626
+ attr_accessor :TotalCount, :DeviceSet, :RequestId
627
+
628
+ def initialize(totalcount=nil, deviceset=nil, requestid=nil)
629
+ @TotalCount = totalcount
630
+ @DeviceSet = deviceset
631
+ @RequestId = requestid
632
+ end
633
+
634
+ def deserialize(params)
635
+ @TotalCount = params['TotalCount']
636
+ unless params['DeviceSet'].nil?
637
+ @DeviceSet = []
638
+ params['DeviceSet'].each do |i|
639
+ device_tmp = Device.new
640
+ device_tmp.deserialize(i)
641
+ @DeviceSet << device_tmp
642
+ end
643
+ end
644
+ @RequestId = params['RequestId']
645
+ end
646
+ end
647
+
648
+ # DescribeUsers请求参数结构体
649
+ class DescribeUsersRequest < TencentCloud::Common::AbstractModel
650
+ # @param IdSet: 如果IdSet不为空,则忽略其他参数
651
+ # @type IdSet: Array
652
+ # @param Name: 模糊查询,IdSet、UserName、Phone为空时才生效,对用户名和姓名进行模糊查询
653
+ # @type Name: String
654
+ # @param Offset: 分页,偏移位置
655
+ # @type Offset: Integer
656
+ # @param Limit: 每页条目数量,默认20
657
+ # @type Limit: Integer
658
+ # @param UserName: 精确查询,IdSet为空时才生效
659
+ # @type UserName: String
660
+ # @param Phone: 精确查询,IdSet、UserName为空时才生效
661
+ # @type Phone: String
662
+ # @param AuthorizedDeviceIdSet: 有访问权限的主机ID集合
663
+ # @type AuthorizedDeviceIdSet: Array
664
+ # @param AuthTypeSet: 认证方式,0-本地,1-ldap, 2-oauth 不传为全部
665
+ # @type AuthTypeSet: Array
666
+
667
+ attr_accessor :IdSet, :Name, :Offset, :Limit, :UserName, :Phone, :AuthorizedDeviceIdSet, :AuthTypeSet
668
+
669
+ def initialize(idset=nil, name=nil, offset=nil, limit=nil, username=nil, phone=nil, authorizeddeviceidset=nil, authtypeset=nil)
670
+ @IdSet = idset
671
+ @Name = name
672
+ @Offset = offset
673
+ @Limit = limit
674
+ @UserName = username
675
+ @Phone = phone
676
+ @AuthorizedDeviceIdSet = authorizeddeviceidset
677
+ @AuthTypeSet = authtypeset
678
+ end
679
+
680
+ def deserialize(params)
681
+ @IdSet = params['IdSet']
682
+ @Name = params['Name']
683
+ @Offset = params['Offset']
684
+ @Limit = params['Limit']
685
+ @UserName = params['UserName']
686
+ @Phone = params['Phone']
687
+ @AuthorizedDeviceIdSet = params['AuthorizedDeviceIdSet']
688
+ @AuthTypeSet = params['AuthTypeSet']
689
+ end
690
+ end
691
+
692
+ # DescribeUsers返回参数结构体
693
+ class DescribeUsersResponse < TencentCloud::Common::AbstractModel
694
+ # @param TotalCount: 记录总数
695
+ # @type TotalCount: Integer
696
+ # @param UserSet: 用户信息列表
697
+ # @type UserSet: Array
698
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
699
+ # @type RequestId: String
700
+
701
+ attr_accessor :TotalCount, :UserSet, :RequestId
702
+
703
+ def initialize(totalcount=nil, userset=nil, requestid=nil)
704
+ @TotalCount = totalcount
705
+ @UserSet = userset
706
+ @RequestId = requestid
707
+ end
708
+
709
+ def deserialize(params)
710
+ @TotalCount = params['TotalCount']
711
+ unless params['UserSet'].nil?
712
+ @UserSet = []
713
+ params['UserSet'].each do |i|
714
+ user_tmp = User.new
715
+ user_tmp.deserialize(i)
716
+ @UserSet << user_tmp
717
+ end
718
+ end
719
+ @RequestId = params['RequestId']
720
+ end
721
+ end
722
+
723
+ # 主机信息
724
+ class Device < TencentCloud::Common::AbstractModel
725
+ # @param Id: 主机记录ID
726
+ # @type Id: Integer
727
+ # @param InstanceId: 主机ID,对应cvm实例id
728
+ # @type InstanceId: String
729
+ # @param Name: 主机名
730
+ # @type Name: String
731
+ # @param PublicIp: 公网IP
732
+ # @type PublicIp: String
733
+ # @param PrivateIp: 内网IP
734
+ # @type PrivateIp: String
735
+ # @param ApCode: 地域编码
736
+ # @type ApCode: String
737
+ # @param OsName: 操作系统名称
738
+ # @type OsName: String
739
+ # @param Kind: 主机类型,1-Linux, 2-Windows
740
+ # @type Kind: Integer
741
+ # @param Port: 管理端口
742
+ # @type Port: Integer
743
+ # @param GroupSet: 所属主机组信息列表
744
+ # @type GroupSet: Array
745
+ # @param AccountCount: 主机绑定的账号数
746
+ # @type AccountCount: Integer
747
+ # @param VpcId: VPC ID
748
+ # @type VpcId: String
749
+ # @param SubnetId: 子网ID
750
+ # @type SubnetId: String
751
+ # @param Resource: 堡垒机服务信息,注意没有绑定服务时为null
752
+ # 注意:此字段可能返回 null,表示取不到有效值。
753
+ # @type Resource: :class:`Tencentcloud::Dasb.v20191018.models.Resource`
754
+
755
+ attr_accessor :Id, :InstanceId, :Name, :PublicIp, :PrivateIp, :ApCode, :OsName, :Kind, :Port, :GroupSet, :AccountCount, :VpcId, :SubnetId, :Resource
756
+
757
+ def initialize(id=nil, instanceid=nil, name=nil, publicip=nil, privateip=nil, apcode=nil, osname=nil, kind=nil, port=nil, groupset=nil, accountcount=nil, vpcid=nil, subnetid=nil, resource=nil)
758
+ @Id = id
759
+ @InstanceId = instanceid
760
+ @Name = name
761
+ @PublicIp = publicip
762
+ @PrivateIp = privateip
763
+ @ApCode = apcode
764
+ @OsName = osname
765
+ @Kind = kind
766
+ @Port = port
767
+ @GroupSet = groupset
768
+ @AccountCount = accountcount
769
+ @VpcId = vpcid
770
+ @SubnetId = subnetid
771
+ @Resource = resource
772
+ end
773
+
774
+ def deserialize(params)
775
+ @Id = params['Id']
776
+ @InstanceId = params['InstanceId']
777
+ @Name = params['Name']
778
+ @PublicIp = params['PublicIp']
779
+ @PrivateIp = params['PrivateIp']
780
+ @ApCode = params['ApCode']
781
+ @OsName = params['OsName']
782
+ @Kind = params['Kind']
783
+ @Port = params['Port']
784
+ unless params['GroupSet'].nil?
785
+ @GroupSet = []
786
+ params['GroupSet'].each do |i|
787
+ group_tmp = Group.new
788
+ group_tmp.deserialize(i)
789
+ @GroupSet << group_tmp
790
+ end
791
+ end
792
+ @AccountCount = params['AccountCount']
793
+ @VpcId = params['VpcId']
794
+ @SubnetId = params['SubnetId']
795
+ unless params['Resource'].nil?
796
+ @Resource = Resource.new
797
+ @Resource.deserialize(params['Resource'])
798
+ end
799
+ end
800
+ end
801
+
802
+ # 组信息,用于用户组、主机组
803
+ class Group < TencentCloud::Common::AbstractModel
804
+ # @param Id: 组ID
805
+ # @type Id: Integer
806
+ # @param Name: 组名称
807
+ # @type Name: String
808
+
809
+ attr_accessor :Id, :Name
810
+
811
+ def initialize(id=nil, name=nil)
812
+ @Id = id
813
+ @Name = name
814
+ end
815
+
816
+ def deserialize(params)
817
+ @Id = params['Id']
818
+ @Name = params['Name']
819
+ end
820
+ end
821
+
822
+ # ModifyAcl请求参数结构体
823
+ class ModifyAclRequest < TencentCloud::Common::AbstractModel
824
+ # @param Name: 权限名称,最大32字符,不能包含空白字符
825
+ # @type Name: String
826
+ # @param AllowDiskRedirect: 是否开启磁盘映射
827
+ # @type AllowDiskRedirect: Boolean
828
+ # @param AllowAnyAccount: 是否允许任意账号登陆
829
+ # @type AllowAnyAccount: Boolean
830
+ # @param Id: 访问权限ID
831
+ # @type Id: Integer
832
+ # @param AllowClipFileUp: 是否开启剪贴板文件上行
833
+ # @type AllowClipFileUp: Boolean
834
+ # @param AllowClipFileDown: 是否开启剪贴板文件下行
835
+ # @type AllowClipFileDown: Boolean
836
+ # @param AllowClipTextUp: 是否开启剪贴板text(含图片)上行
837
+ # @type AllowClipTextUp: Boolean
838
+ # @param AllowClipTextDown: 是否开启剪贴板text(含图片)下行
839
+ # @type AllowClipTextDown: Boolean
840
+ # @param AllowFileUp: 是否开启文件传输上传
841
+ # @type AllowFileUp: Boolean
842
+ # @param MaxFileUpSize: 文件传输上传大小限制
843
+ # @type MaxFileUpSize: Integer
844
+ # @param AllowFileDown: 是否开启文件传输下载
845
+ # @type AllowFileDown: Boolean
846
+ # @param MaxFileDownSize: 文件传输下载大小限制
847
+ # @type MaxFileDownSize: Integer
848
+ # @param UserIdSet: 关联的用户ID
849
+ # @type UserIdSet: Array
850
+ # @param UserGroupIdSet: 关联的用户组ID
851
+ # @type UserGroupIdSet: Array
852
+ # @param DeviceIdSet: 关联的主机ID
853
+ # @type DeviceIdSet: Array
854
+ # @param DeviceGroupIdSet: 关联的主机组ID
855
+ # @type DeviceGroupIdSet: Array
856
+ # @param AccountSet: 关联的账号,账号name
857
+ # @type AccountSet: Array
858
+ # @param CmdTemplateIdSet: 关联的高危命令模板ID
859
+ # @type CmdTemplateIdSet: Array
860
+ # @param AllowDiskFileUp: 是否开启rdp磁盘映射文件上传
861
+ # @type AllowDiskFileUp: Boolean
862
+ # @param AllowDiskFileDown: 是否开启rdp磁盘映射文件下载
863
+ # @type AllowDiskFileDown: Boolean
864
+ # @param AllowShellFileUp: 是否开启rz sz文件上传
865
+ # @type AllowShellFileUp: Boolean
866
+ # @param AllowShellFileDown: 是否开启rz sz文件下载
867
+ # @type AllowShellFileDown: Boolean
868
+ # @param AllowFileDel: 是否开启SFTP文件删除
869
+ # @type AllowFileDel: Boolean
870
+ # @param ValidateFrom: 生效日期,如果为空,默认1970-01-01T08:00:01+08:00
871
+ # @type ValidateFrom: String
872
+ # @param ValidateTo: 失效日期,如果为空,默认1970-01-01T08:00:01+08:00
873
+ # @type ValidateTo: String
874
+
875
+ attr_accessor :Name, :AllowDiskRedirect, :AllowAnyAccount, :Id, :AllowClipFileUp, :AllowClipFileDown, :AllowClipTextUp, :AllowClipTextDown, :AllowFileUp, :MaxFileUpSize, :AllowFileDown, :MaxFileDownSize, :UserIdSet, :UserGroupIdSet, :DeviceIdSet, :DeviceGroupIdSet, :AccountSet, :CmdTemplateIdSet, :AllowDiskFileUp, :AllowDiskFileDown, :AllowShellFileUp, :AllowShellFileDown, :AllowFileDel, :ValidateFrom, :ValidateTo
876
+
877
+ def initialize(name=nil, allowdiskredirect=nil, allowanyaccount=nil, id=nil, allowclipfileup=nil, allowclipfiledown=nil, allowcliptextup=nil, allowcliptextdown=nil, allowfileup=nil, maxfileupsize=nil, allowfiledown=nil, maxfiledownsize=nil, useridset=nil, usergroupidset=nil, deviceidset=nil, devicegroupidset=nil, accountset=nil, cmdtemplateidset=nil, allowdiskfileup=nil, allowdiskfiledown=nil, allowshellfileup=nil, allowshellfiledown=nil, allowfiledel=nil, validatefrom=nil, validateto=nil)
878
+ @Name = name
879
+ @AllowDiskRedirect = allowdiskredirect
880
+ @AllowAnyAccount = allowanyaccount
881
+ @Id = id
882
+ @AllowClipFileUp = allowclipfileup
883
+ @AllowClipFileDown = allowclipfiledown
884
+ @AllowClipTextUp = allowcliptextup
885
+ @AllowClipTextDown = allowcliptextdown
886
+ @AllowFileUp = allowfileup
887
+ @MaxFileUpSize = maxfileupsize
888
+ @AllowFileDown = allowfiledown
889
+ @MaxFileDownSize = maxfiledownsize
890
+ @UserIdSet = useridset
891
+ @UserGroupIdSet = usergroupidset
892
+ @DeviceIdSet = deviceidset
893
+ @DeviceGroupIdSet = devicegroupidset
894
+ @AccountSet = accountset
895
+ @CmdTemplateIdSet = cmdtemplateidset
896
+ @AllowDiskFileUp = allowdiskfileup
897
+ @AllowDiskFileDown = allowdiskfiledown
898
+ @AllowShellFileUp = allowshellfileup
899
+ @AllowShellFileDown = allowshellfiledown
900
+ @AllowFileDel = allowfiledel
901
+ @ValidateFrom = validatefrom
902
+ @ValidateTo = validateto
903
+ end
904
+
905
+ def deserialize(params)
906
+ @Name = params['Name']
907
+ @AllowDiskRedirect = params['AllowDiskRedirect']
908
+ @AllowAnyAccount = params['AllowAnyAccount']
909
+ @Id = params['Id']
910
+ @AllowClipFileUp = params['AllowClipFileUp']
911
+ @AllowClipFileDown = params['AllowClipFileDown']
912
+ @AllowClipTextUp = params['AllowClipTextUp']
913
+ @AllowClipTextDown = params['AllowClipTextDown']
914
+ @AllowFileUp = params['AllowFileUp']
915
+ @MaxFileUpSize = params['MaxFileUpSize']
916
+ @AllowFileDown = params['AllowFileDown']
917
+ @MaxFileDownSize = params['MaxFileDownSize']
918
+ @UserIdSet = params['UserIdSet']
919
+ @UserGroupIdSet = params['UserGroupIdSet']
920
+ @DeviceIdSet = params['DeviceIdSet']
921
+ @DeviceGroupIdSet = params['DeviceGroupIdSet']
922
+ @AccountSet = params['AccountSet']
923
+ @CmdTemplateIdSet = params['CmdTemplateIdSet']
924
+ @AllowDiskFileUp = params['AllowDiskFileUp']
925
+ @AllowDiskFileDown = params['AllowDiskFileDown']
926
+ @AllowShellFileUp = params['AllowShellFileUp']
927
+ @AllowShellFileDown = params['AllowShellFileDown']
928
+ @AllowFileDel = params['AllowFileDel']
929
+ @ValidateFrom = params['ValidateFrom']
930
+ @ValidateTo = params['ValidateTo']
931
+ end
932
+ end
933
+
934
+ # ModifyAcl返回参数结构体
935
+ class ModifyAclResponse < TencentCloud::Common::AbstractModel
936
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
937
+ # @type RequestId: String
938
+
939
+ attr_accessor :RequestId
940
+
941
+ def initialize(requestid=nil)
942
+ @RequestId = requestid
943
+ end
944
+
945
+ def deserialize(params)
946
+ @RequestId = params['RequestId']
947
+ end
948
+ end
949
+
950
+ # ModifyUser请求参数结构体
951
+ class ModifyUserRequest < TencentCloud::Common::AbstractModel
952
+ # @param Id: 用户ID
953
+ # @type Id: Integer
954
+ # @param RealName: 用户姓名,最大长度32字符,不能为空
955
+ # @type RealName: String
956
+ # @param Phone: 手机号
957
+ # @type Phone: String
958
+ # @param Email: 电子邮件
959
+ # @type Email: String
960
+ # @param ValidateFrom: 生效起始时间,不设置则为1970-01-01 08:00:01
961
+ # @type ValidateFrom: String
962
+ # @param ValidateTo: 生效结束时间,不设置则为1970-01-01 08:00:01
963
+ # @type ValidateTo: String
964
+ # @param GroupIdSet: 所属用户组ID集合
965
+ # @type GroupIdSet: Array
966
+ # @param AuthType: 认证方式,0-本地 1-ldap, 2-oauth不传则默认为0
967
+ # @type AuthType: Integer
968
+ # @param ValidateTime: 生效时间段, 0、1组成的字符串,长度168(7*24), 代表该用户的生效时间. 0 - 未生效,1 - 生效
969
+ # @type ValidateTime: String
970
+
971
+ attr_accessor :Id, :RealName, :Phone, :Email, :ValidateFrom, :ValidateTo, :GroupIdSet, :AuthType, :ValidateTime
972
+
973
+ def initialize(id=nil, realname=nil, phone=nil, email=nil, validatefrom=nil, validateto=nil, groupidset=nil, authtype=nil, validatetime=nil)
974
+ @Id = id
975
+ @RealName = realname
976
+ @Phone = phone
977
+ @Email = email
978
+ @ValidateFrom = validatefrom
979
+ @ValidateTo = validateto
980
+ @GroupIdSet = groupidset
981
+ @AuthType = authtype
982
+ @ValidateTime = validatetime
983
+ end
984
+
985
+ def deserialize(params)
986
+ @Id = params['Id']
987
+ @RealName = params['RealName']
988
+ @Phone = params['Phone']
989
+ @Email = params['Email']
990
+ @ValidateFrom = params['ValidateFrom']
991
+ @ValidateTo = params['ValidateTo']
992
+ @GroupIdSet = params['GroupIdSet']
993
+ @AuthType = params['AuthType']
994
+ @ValidateTime = params['ValidateTime']
995
+ end
996
+ end
997
+
998
+ # ModifyUser返回参数结构体
999
+ class ModifyUserResponse < TencentCloud::Common::AbstractModel
1000
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1001
+ # @type RequestId: String
1002
+
1003
+ attr_accessor :RequestId
1004
+
1005
+ def initialize(requestid=nil)
1006
+ @RequestId = requestid
1007
+ end
1008
+
1009
+ def deserialize(params)
1010
+ @RequestId = params['RequestId']
1011
+ end
1012
+ end
1013
+
1014
+ # 用户购买的堡垒机资源信息
1015
+ class Resource < TencentCloud::Common::AbstractModel
1016
+ # @param ResourceId: 资源实例id,如bh-saas-s3ed4r5e
1017
+ # @type ResourceId: String
1018
+ # @param ApCode: 地域编码
1019
+ # @type ApCode: String
1020
+ # @param SvArgs: 实例规格信息(询价参数)
1021
+ # @type SvArgs: String
1022
+ # @param VpcId: vpc id
1023
+ # @type VpcId: String
1024
+ # @param Nodes: 堡垒机规格对应的资产数
1025
+ # @type Nodes: Integer
1026
+ # @param RenewFlag: 自动续费标记,0表示默认状态,1表示自动续费,2表示明确不自动续费
1027
+ # @type RenewFlag: Integer
1028
+ # @param ExpireTime: 过期时间
1029
+ # @type ExpireTime: String
1030
+ # @param Status: 资源状态,0未初始化,1正常,2隔离,3销毁,4初始化失败,5初始化中
1031
+ # @type Status: Integer
1032
+ # @param ResourceName: 实例名,如T-Sec-堡垒机(SaaS型)
1033
+ # @type ResourceName: String
1034
+ # @param Pid: 定价模型ID
1035
+ # @type Pid: Integer
1036
+ # @param CreateTime: 资源创建时间
1037
+ # @type CreateTime: String
1038
+ # @param ProductCode: 商品码, p_cds_dasb
1039
+ # @type ProductCode: String
1040
+ # @param SubProductCode: 子商品码, sp_cds_dasb_bh_saas
1041
+ # @type SubProductCode: String
1042
+ # @param Zone: 可用区
1043
+ # @type Zone: String
1044
+ # @param Expired: 是否过期,true-过期,false-未过期
1045
+ # @type Expired: Boolean
1046
+ # @param Deployed: 是否开通,true-开通,false-未开通
1047
+ # @type Deployed: Boolean
1048
+ # @param VpcName: 开通服务的VPC名称
1049
+ # @type VpcName: String
1050
+ # @param VpcCidrBlock: 开通服务的VPC对应的网段
1051
+ # @type VpcCidrBlock: String
1052
+ # @param SubnetId: 开通服务的子网ID
1053
+ # @type SubnetId: String
1054
+ # @param SubnetName: 开通服务的子网名称
1055
+ # @type SubnetName: String
1056
+ # @param CidrBlock: 开通服务的子网网段
1057
+ # @type CidrBlock: String
1058
+ # @param PublicIpSet: 外部IP
1059
+ # @type PublicIpSet: Array
1060
+ # @param PrivateIpSet: 内部IP
1061
+ # @type PrivateIpSet: Array
1062
+ # @param ModuleSet: 资源开通的高级功能列表,如:[DB]
1063
+ # @type ModuleSet: Array
1064
+ # @param UsedNodes: 已使用的授权点数
1065
+ # @type UsedNodes: Integer
1066
+ # @param ExtendPoints: 扩展点数
1067
+ # @type ExtendPoints: Integer
1068
+ # @param PackageBandwidth: 带宽扩展包个数(4M)
1069
+ # @type PackageBandwidth: Integer
1070
+ # @param PackageNode: 授权点数扩展包个数(50点)
1071
+ # @type PackageNode: Integer
1072
+
1073
+ attr_accessor :ResourceId, :ApCode, :SvArgs, :VpcId, :Nodes, :RenewFlag, :ExpireTime, :Status, :ResourceName, :Pid, :CreateTime, :ProductCode, :SubProductCode, :Zone, :Expired, :Deployed, :VpcName, :VpcCidrBlock, :SubnetId, :SubnetName, :CidrBlock, :PublicIpSet, :PrivateIpSet, :ModuleSet, :UsedNodes, :ExtendPoints, :PackageBandwidth, :PackageNode
1074
+
1075
+ def initialize(resourceid=nil, apcode=nil, svargs=nil, vpcid=nil, nodes=nil, renewflag=nil, expiretime=nil, status=nil, resourcename=nil, pid=nil, createtime=nil, productcode=nil, subproductcode=nil, zone=nil, expired=nil, deployed=nil, vpcname=nil, vpccidrblock=nil, subnetid=nil, subnetname=nil, cidrblock=nil, publicipset=nil, privateipset=nil, moduleset=nil, usednodes=nil, extendpoints=nil, packagebandwidth=nil, packagenode=nil)
1076
+ @ResourceId = resourceid
1077
+ @ApCode = apcode
1078
+ @SvArgs = svargs
1079
+ @VpcId = vpcid
1080
+ @Nodes = nodes
1081
+ @RenewFlag = renewflag
1082
+ @ExpireTime = expiretime
1083
+ @Status = status
1084
+ @ResourceName = resourcename
1085
+ @Pid = pid
1086
+ @CreateTime = createtime
1087
+ @ProductCode = productcode
1088
+ @SubProductCode = subproductcode
1089
+ @Zone = zone
1090
+ @Expired = expired
1091
+ @Deployed = deployed
1092
+ @VpcName = vpcname
1093
+ @VpcCidrBlock = vpccidrblock
1094
+ @SubnetId = subnetid
1095
+ @SubnetName = subnetname
1096
+ @CidrBlock = cidrblock
1097
+ @PublicIpSet = publicipset
1098
+ @PrivateIpSet = privateipset
1099
+ @ModuleSet = moduleset
1100
+ @UsedNodes = usednodes
1101
+ @ExtendPoints = extendpoints
1102
+ @PackageBandwidth = packagebandwidth
1103
+ @PackageNode = packagenode
1104
+ end
1105
+
1106
+ def deserialize(params)
1107
+ @ResourceId = params['ResourceId']
1108
+ @ApCode = params['ApCode']
1109
+ @SvArgs = params['SvArgs']
1110
+ @VpcId = params['VpcId']
1111
+ @Nodes = params['Nodes']
1112
+ @RenewFlag = params['RenewFlag']
1113
+ @ExpireTime = params['ExpireTime']
1114
+ @Status = params['Status']
1115
+ @ResourceName = params['ResourceName']
1116
+ @Pid = params['Pid']
1117
+ @CreateTime = params['CreateTime']
1118
+ @ProductCode = params['ProductCode']
1119
+ @SubProductCode = params['SubProductCode']
1120
+ @Zone = params['Zone']
1121
+ @Expired = params['Expired']
1122
+ @Deployed = params['Deployed']
1123
+ @VpcName = params['VpcName']
1124
+ @VpcCidrBlock = params['VpcCidrBlock']
1125
+ @SubnetId = params['SubnetId']
1126
+ @SubnetName = params['SubnetName']
1127
+ @CidrBlock = params['CidrBlock']
1128
+ @PublicIpSet = params['PublicIpSet']
1129
+ @PrivateIpSet = params['PrivateIpSet']
1130
+ @ModuleSet = params['ModuleSet']
1131
+ @UsedNodes = params['UsedNodes']
1132
+ @ExtendPoints = params['ExtendPoints']
1133
+ @PackageBandwidth = params['PackageBandwidth']
1134
+ @PackageNode = params['PackageNode']
1135
+ end
1136
+ end
1137
+
1138
+ # 用户信息
1139
+ class User < TencentCloud::Common::AbstractModel
1140
+ # @param UserName: 用户名
1141
+ # @type UserName: String
1142
+ # @param RealName: 用户姓名
1143
+ # @type RealName: String
1144
+ # @param Phone: 手机号码
1145
+ # @type Phone: String
1146
+ # @param Id: 用户ID
1147
+ # @type Id: Integer
1148
+ # @param Email: 电子邮件
1149
+ # @type Email: String
1150
+ # @param ValidateFrom: 生效起始时间
1151
+ # @type ValidateFrom: String
1152
+ # @param ValidateTo: 生效结束时间
1153
+ # @type ValidateTo: String
1154
+ # @param GroupSet: 所属用户组列表
1155
+ # @type GroupSet: Array
1156
+ # @param AuthType: 认证方式,0-本地 1-ldap
1157
+ # @type AuthType: Integer
1158
+ # @param ValidateTime: 生效时间段, 0、1组成的字符串,长度168(7*24), 代表该用户的生效时间. 0 - 未生效,1 - 生效
1159
+ # @type ValidateTime: String
1160
+
1161
+ attr_accessor :UserName, :RealName, :Phone, :Id, :Email, :ValidateFrom, :ValidateTo, :GroupSet, :AuthType, :ValidateTime
1162
+
1163
+ def initialize(username=nil, realname=nil, phone=nil, id=nil, email=nil, validatefrom=nil, validateto=nil, groupset=nil, authtype=nil, validatetime=nil)
1164
+ @UserName = username
1165
+ @RealName = realname
1166
+ @Phone = phone
1167
+ @Id = id
1168
+ @Email = email
1169
+ @ValidateFrom = validatefrom
1170
+ @ValidateTo = validateto
1171
+ @GroupSet = groupset
1172
+ @AuthType = authtype
1173
+ @ValidateTime = validatetime
1174
+ end
1175
+
1176
+ def deserialize(params)
1177
+ @UserName = params['UserName']
1178
+ @RealName = params['RealName']
1179
+ @Phone = params['Phone']
1180
+ @Id = params['Id']
1181
+ @Email = params['Email']
1182
+ @ValidateFrom = params['ValidateFrom']
1183
+ @ValidateTo = params['ValidateTo']
1184
+ unless params['GroupSet'].nil?
1185
+ @GroupSet = []
1186
+ params['GroupSet'].each do |i|
1187
+ group_tmp = Group.new
1188
+ group_tmp.deserialize(i)
1189
+ @GroupSet << group_tmp
1190
+ end
1191
+ end
1192
+ @AuthType = params['AuthType']
1193
+ @ValidateTime = params['ValidateTime']
1194
+ end
1195
+ end
1196
+
1197
+ end
1198
+ end
1199
+ end
1200
+