tencentcloud-sdk-dasb 1.0.320

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
+