# frozen_string_literal: true
# Copyright (c) 2017-2018 THL A29 Limited, a Tencent company. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
module TencentCloud
module Ioa
module V20220601
# 自动划分规则数据
class ComplexRule < TencentCloud::Common::AbstractModel
# @param SimpleRules: 简单规则表达式
# 注意:此字段可能返回 null,表示取不到有效值。
# @type SimpleRules: Array
# @param Relation: 表达式间逻辑关系
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Relation: String
attr_accessor :SimpleRules, :Relation
def initialize(simplerules=nil, relation=nil)
@SimpleRules = simplerules
@Relation = relation
end
def deserialize(params)
unless params['SimpleRules'].nil?
@SimpleRules = []
params['SimpleRules'].each do |i|
simplerule_tmp = SimpleRule.new
simplerule_tmp.deserialize(i)
@SimpleRules << simplerule_tmp
end
end
@Relation = params['Relation']
end
end
# - [ ] 过滤条件<br>
# <li>Name - String - 是否必填:否 - 操作符: ilike - 排序支持:否- 根据分组名称进行查询。</li>
# 分页参数<br>
# <li>PageNum 从1开始,小于等于0时使用默认参数。</li>
# <li>PageSize 最大值5000,最好不超过100。</li>
class Condition < TencentCloud::Common::AbstractModel
# @param Filters: Filters 条件过滤
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Filters: Array
# @param FilterGroups: FilterGroups 条件过滤组
# 注意:此字段可能返回 null,表示取不到有效值。
# @type FilterGroups: Array
# @param Sort: Sort 排序字段
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Sort: :class:`Tencentcloud::Ioa.v20220601.models.Sort`
# @param PageSize: PageSize 每页获取数(只支持32位)
# 注意:此字段可能返回 null,表示取不到有效值。
# @type PageSize: Integer
# @param PageNum: PageNum 获取第几页(只支持32位)
# 注意:此字段可能返回 null,表示取不到有效值。
# @type PageNum: Integer
attr_accessor :Filters, :FilterGroups, :Sort, :PageSize, :PageNum
def initialize(filters=nil, filtergroups=nil, sort=nil, pagesize=nil, pagenum=nil)
@Filters = filters
@FilterGroups = filtergroups
@Sort = sort
@PageSize = pagesize
@PageNum = pagenum
end
def deserialize(params)
unless params['Filters'].nil?
@Filters = []
params['Filters'].each do |i|
filter_tmp = Filter.new
filter_tmp.deserialize(i)
@Filters << filter_tmp
end
end
unless params['FilterGroups'].nil?
@FilterGroups = []
params['FilterGroups'].each do |i|
filtergroup_tmp = FilterGroup.new
filtergroup_tmp.deserialize(i)
@FilterGroups << filtergroup_tmp
end
end
unless params['Sort'].nil?
@Sort = Sort.new
@Sort.deserialize(params['Sort'])
end
@PageSize = params['PageSize']
@PageNum = params['PageNum']
end
end
# CreateDeviceVirtualGroup请求参数结构体
class CreateDeviceVirtualGroupRequest < TencentCloud::Common::AbstractModel
# @param DeviceVirtualGroupName: 终端自定义分组名
# @type DeviceVirtualGroupName: String
# @param Description: 详情
# @type Description: String
# @param OsType: 系统类型(0: win,1:linux,2: mac,3: win_srv,4:android,5:ios 默认值0)(只支持32位)
# @type OsType: Integer
# @param TimeType: 时间设置类型(1:自动小时、2:自动每天、3:自定义、0:手动分组)(只支持32位)
# @type TimeType: Integer
# @param AutoMinute: 自动划分时间(单位min)(只支持32位)
# @type AutoMinute: Integer
# @param AutoRules: 自动划分规则数据
# @type AutoRules: :class:`Tencentcloud::Ioa.v20220601.models.ComplexRule`
attr_accessor :DeviceVirtualGroupName, :Description, :OsType, :TimeType, :AutoMinute, :AutoRules
def initialize(devicevirtualgroupname=nil, description=nil, ostype=nil, timetype=nil, autominute=nil, autorules=nil)
@DeviceVirtualGroupName = devicevirtualgroupname
@Description = description
@OsType = ostype
@TimeType = timetype
@AutoMinute = autominute
@AutoRules = autorules
end
def deserialize(params)
@DeviceVirtualGroupName = params['DeviceVirtualGroupName']
@Description = params['Description']
@OsType = params['OsType']
@TimeType = params['TimeType']
@AutoMinute = params['AutoMinute']
unless params['AutoRules'].nil?
@AutoRules = ComplexRule.new
@AutoRules.deserialize(params['AutoRules'])
end
end
end
# CreateDeviceVirtualGroup返回参数结构体
class CreateDeviceVirtualGroupResponse < TencentCloud::Common::AbstractModel
# @param Data: 响应返回的data
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Data: :class:`Tencentcloud::Ioa.v20220601.models.CreateDeviceVirtualGroupRspData`
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :Data, :RequestId
def initialize(data=nil, requestid=nil)
@Data = data
@RequestId = requestid
end
def deserialize(params)
unless params['Data'].nil?
@Data = CreateDeviceVirtualGroupRspData.new
@Data.deserialize(params['Data'])
end
@RequestId = params['RequestId']
end
end
# 响应返回的data
class CreateDeviceVirtualGroupRspData < TencentCloud::Common::AbstractModel
# @param Id: 返回的自定义分组id
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Id: Integer
attr_accessor :Id
def initialize(id=nil)
@Id = id
end
def deserialize(params)
@Id = params['Id']
end
end
# 账号分组信息
class DescribeAccountGroupsData < TencentCloud::Common::AbstractModel
# @param NamePath: 账号分组名全路径,点分格式
# 注意:此字段可能返回 null,表示取不到有效值。
# @type NamePath: String
# @param IdPathArr: 账号分组ID全路径,数组格式
# 注意:此字段可能返回 null,表示取不到有效值。
# @type IdPathArr: Array
# @param ExtraInfo: 扩展信息
# 注意:此字段可能返回 null,表示取不到有效值。
# @type ExtraInfo: String
# @param Utime: 最后更新时间
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Utime: String
# @param ParentId: 父分组ID
# 注意:此字段可能返回 null,表示取不到有效值。
# @type ParentId: Integer
# @param OrgId: 源账号组织ID。使用第三方导入用户源时,记录该分组在源组织架构下的分组ID
# 注意:此字段可能返回 null,表示取不到有效值。
# @type OrgId: String
# @param Name: 分组名称
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Name: String
# @param Id: 分组ID
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Id: Integer
# @param Description: 分组描述
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Description: String
# @param Source: 同步数据源
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Source: Integer
# @param IdPath: 账号分组ID全路径,点分格式
# 注意:此字段可能返回 null,表示取不到有效值。
# @type IdPath: String
# @param Itime: 创建时间
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Itime: String
# @param ParentOrgId: 父源账号组织ID。使用第三方导入用户源时,记录该分组在源组织架构下的分组ID
# 注意:此字段可能返回 null,表示取不到有效值。
# @type ParentOrgId: String
# @param ImportType: 导入类型
# 注意:此字段可能返回 null,表示取不到有效值。
# @type ImportType: String
# @param MiniIamId: miniIAM id
# 注意:此字段可能返回 null,表示取不到有效值。
# @type MiniIamId: String
# @param UserTotal: 该分组下含子组的所有用户总数
# 注意:此字段可能返回 null,表示取不到有效值。
# @type UserTotal: Integer
# @param IsLeaf: 是否叶子节点
# 注意:此字段可能返回 null,表示取不到有效值。
# @type IsLeaf: Boolean
# @param ReadOnly: 是否该账户的直接权限
# 注意:此字段可能返回 null,表示取不到有效值。
# @type ReadOnly: Boolean
# @param LatestSyncResult: 最新一次同步任务的结果
# 注意:此字段可能返回 null,表示取不到有效值。
# @type LatestSyncResult: String
# @param LatestSyncTime: 最新一次同步任务的结束时间
# 注意:此字段可能返回 null,表示取不到有效值。
# @type LatestSyncTime: String
attr_accessor :NamePath, :IdPathArr, :ExtraInfo, :Utime, :ParentId, :OrgId, :Name, :Id, :Description, :Source, :IdPath, :Itime, :ParentOrgId, :ImportType, :MiniIamId, :UserTotal, :IsLeaf, :ReadOnly, :LatestSyncResult, :LatestSyncTime
def initialize(namepath=nil, idpatharr=nil, extrainfo=nil, utime=nil, parentid=nil, orgid=nil, name=nil, id=nil, description=nil, source=nil, idpath=nil, itime=nil, parentorgid=nil, importtype=nil, miniiamid=nil, usertotal=nil, isleaf=nil, readonly=nil, latestsyncresult=nil, latestsynctime=nil)
@NamePath = namepath
@IdPathArr = idpatharr
@ExtraInfo = extrainfo
@Utime = utime
@ParentId = parentid
@OrgId = orgid
@Name = name
@Id = id
@Description = description
@Source = source
@IdPath = idpath
@Itime = itime
@ParentOrgId = parentorgid
@ImportType = importtype
@MiniIamId = miniiamid
@UserTotal = usertotal
@IsLeaf = isleaf
@ReadOnly = readonly
@LatestSyncResult = latestsyncresult
@LatestSyncTime = latestsynctime
end
def deserialize(params)
@NamePath = params['NamePath']
@IdPathArr = params['IdPathArr']
@ExtraInfo = params['ExtraInfo']
@Utime = params['Utime']
@ParentId = params['ParentId']
@OrgId = params['OrgId']
@Name = params['Name']
@Id = params['Id']
@Description = params['Description']
@Source = params['Source']
@IdPath = params['IdPath']
@Itime = params['Itime']
@ParentOrgId = params['ParentOrgId']
@ImportType = params['ImportType']
@MiniIamId = params['MiniIamId']
@UserTotal = params['UserTotal']
@IsLeaf = params['IsLeaf']
@ReadOnly = params['ReadOnly']
@LatestSyncResult = params['LatestSyncResult']
@LatestSyncTime = params['LatestSyncTime']
end
end
# 账户分组详情响应数据
class DescribeAccountGroupsPageResp < TencentCloud::Common::AbstractModel
# @param Items: 账户分响应对象集合
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Items: Array
# @param Page: 分页公共对象
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Page: :class:`Tencentcloud::Ioa.v20220601.models.Paging`
attr_accessor :Items, :Page
def initialize(items=nil, page=nil)
@Items = items
@Page = page
end
def deserialize(params)
unless params['Items'].nil?
@Items = []
params['Items'].each do |i|
describeaccountgroupsdata_tmp = DescribeAccountGroupsData.new
describeaccountgroupsdata_tmp.deserialize(i)
@Items << describeaccountgroupsdata_tmp
end
end
unless params['Page'].nil?
@Page = Paging.new
@Page.deserialize(params['Page'])
end
end
end
# DescribeAccountGroups请求参数结构体
class DescribeAccountGroupsRequest < TencentCloud::Common::AbstractModel
# @param Deepin: 搜索范围:0-仅当前分组的直接子组,1-当前分组的所有子组。默认为0。
# @type Deepin: Integer
# @param Condition: 查询条件
# 过滤参数
# 1、Name,string类型,按分组名过滤
# 是否必填:否
# 操作符: like
# 排序条件
# 1、Itime,string类型,按分组创建时间排序
# 是否必填:否
# 2、Utime,string类型,按分组更新时间排序
# 是否必填:否
# @type Condition: :class:`Tencentcloud::Ioa.v20220601.models.Condition`
# @param ParentId: 父分组ID,获取该分组下的子组信息。默认查询全网根分组下子组信息。
# @type ParentId: Integer
attr_accessor :Deepin, :Condition, :ParentId
def initialize(deepin=nil, condition=nil, parentid=nil)
@Deepin = deepin
@Condition = condition
@ParentId = parentid
end
def deserialize(params)
@Deepin = params['Deepin']
unless params['Condition'].nil?
@Condition = Condition.new
@Condition.deserialize(params['Condition'])
end
@ParentId = params['ParentId']
end
end
# DescribeAccountGroups返回参数结构体
class DescribeAccountGroupsResponse < TencentCloud::Common::AbstractModel
# @param Data: 账号分组详情响应数据
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Data: :class:`Tencentcloud::Ioa.v20220601.models.DescribeAccountGroupsPageResp`
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :Data, :RequestId
def initialize(data=nil, requestid=nil)
@Data = data
@RequestId = requestid
end
def deserialize(params)
unless params['Data'].nil?
@Data = DescribeAccountGroupsPageResp.new
@Data.deserialize(params['Data'])
end
@RequestId = params['RequestId']
end
end
# 分页的data数据
class DescribeDevicesPageRsp < TencentCloud::Common::AbstractModel
# @param Paging: 数据分页信息
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Paging: :class:`Tencentcloud::Ioa.v20220601.models.Paging`
# @param Items: 业务响应数据
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Items: Array
attr_accessor :Paging, :Items
def initialize(paging=nil, items=nil)
@Paging = paging
@Items = items
end
def deserialize(params)
unless params['Paging'].nil?
@Paging = Paging.new
@Paging.deserialize(params['Paging'])
end
unless params['Items'].nil?
@Items = []
params['Items'].each do |i|
devicedetail_tmp = DeviceDetail.new
devicedetail_tmp.deserialize(i)
@Items << devicedetail_tmp
end
end
end
end
# DescribeDevices请求参数结构体
class DescribeDevicesRequest < TencentCloud::Common::AbstractModel
# @param Condition: 过滤条件参数(字段含义请参考接口返回值)
# - Mid, 类型String,支持操作:【eq,like,ilike】,支持排序
# - Name, 类型String,支持操作:【eq,like,ilike】,支持排序
# - Itime, 类型String,支持操作:【eq,like,ilike】,支持排序
# - UserName, 类型String,支持操作:【eq,like,ilike】,支持排序
# - MacAddr, 类型String,支持操作:【eq,like,ilike】,支持排序
# - UserId, 类型String,支持操作:【eq,like,ilike】,支持排序
# - Ip, 类型String,支持操作:【eq,like,ilike】,支持排序
# - Tags,类型String,支持操作:【eq,like,ilike】,支持排序
# - LocalIpList,类型String,支持操作:【eq,like,ilike】,支持排序
# - SerialNum,类型String,支持操作:【eq,like,ilike】,支持排序
# - Version,类型String,支持操作:【eq,like,ilike】,支持排序
# - StrVersion,类型String,支持操作:【eq,like,ilike】,支持排序
# - RtpStatus,类型String,支持操作:【eq,like,ilike】,**不支持排序**
# - HostName,类型String,支持操作:【eq,like,ilike】,支持排序
# - IoaUserName,类型String,支持操作:【eq,like,ilike】,支持排序
# - GroupName,类型String,支持操作:【eq,like,ilike】,支持排序
# - CriticalVulListCount,**类型Int**,支持操作:【eq】,**不支持排序**
# - RiskCount,**类型Int**,支持操作:【eq】,**不支持排序**
# - VulVersion,类型String,支持操作:【eq,like,ilike】,**不支持排序**
# - Virusver,类型String,支持操作:【eq,like,ilike】,**不支持排序**
# - SysRepver,类型String,支持操作:【eq,like,ilike】,**不支持排序**
# - BaseBoardSn,类型String,支持操作:【eq,like,ilike】,支持排序
# - Os,类型String,支持操作:【eq,like,ilike】,支持排序
# - ConnActiveTime,类型String,支持操作:【eq,like,ilike】,**不支持排序**
# - FirewallStatus,**类型Int**,支持操作:【eq】,**不支持排序**
# - ProfileName,类型String,支持操作:【eq,like,ilike】,支持排序
# - DomainName,类型String,支持操作:【eq,like,ilike】,支持排序
# - SysRepVersion,类型String,支持操作:【eq,like,ilike】,支持排序
# - VirusVer,类型String,支持操作:【eq,like,ilike】,支持排序
# - Cpu,类型String,支持操作:【eq,like,ilike】,支持排序
# - Memory,类型String,支持操作:【eq,like,ilike】,支持排序
# - HardDiskSize,类型String,支持操作:【eq,like,ilike】,支持排序
# - HardwareChangeCount,**类型Int**,支持操作:【eq】,支持排序
# - AccountName,类型String,支持操作:【like.ilike】,支持排序
# - AccountGroupName,类型String,支持操作:【like.ilike】,支持排序
# - ScreenRecordingPermission,**类型Int**,支持操作:【eq】,支持排序
# - DiskAccessPermission,**类型Int**,支持操作:【eq】,支持排序
# 分页参数
# - PageNum 从1开始,小于等于0时使用默认参数
# - PageSize 最大值5000,最好不超过100
# @type Condition: :class:`Tencentcloud::Ioa.v20220601.models.Condition`
# @param GroupId: 【和GroupIds必须有一个填写】设备分组id(需要和OsType匹配),下面是私有化场景下默认id:
# id-名称-操作系统
# 1 全网终端 Win
# 2 未分组终端 Win
# 30000000 服务器 Win
# 40000101 全网终端 Linux
# 40000102 未分组终端 Linux
# 40000103 服务器 Linux
# 40000201 全网终端 macOS
# 40000202 未分组终端 macOS
# 40000203 服务器 macOS
# 40000401 全网终端 Android
# 40000402 未分组终端 Android
# 40000501 全网终端 iOS
# 40000502 未分组终端 iOS
# SaaS需要调用分组接口DescribeDeviceChildGroups获取对应分组id
# @type GroupId: Integer
# @param OsType: 【必填】操作系统类型(0: win,1:linux,2: mac,4:android,5:ios 默认值0),需要和GroupId或者GroupIds匹配
# @type OsType: Integer
# @param OnlineStatus: 在线状态 (2表示在线,0或者1表示离线)
# @type OnlineStatus: Integer
# @param Filters: 过滤条件--兼容旧接口,参数同Condition
# @type Filters: Array
# @param Sort: 排序字段--兼容旧接口,参数同Condition
# @type Sort: :class:`Tencentcloud::Ioa.v20220601.models.Sort`
# @param PageNum: 获取第几页--兼容旧接口,参数同Condition
# @type PageNum: Integer
# @param PageSize: 每页获取数--兼容旧接口,参数同Condition
# @type PageSize: Integer
# @param Status: 授权状态: 4基础授权 5高级授权
# @type Status: Integer
# @param GroupIds: 【和GroupId必须有一个填写】设备分组id列表(需要和OsType匹配)
# @type GroupIds: Array
attr_accessor :Condition, :GroupId, :OsType, :OnlineStatus, :Filters, :Sort, :PageNum, :PageSize, :Status, :GroupIds
def initialize(condition=nil, groupid=nil, ostype=nil, onlinestatus=nil, filters=nil, sort=nil, pagenum=nil, pagesize=nil, status=nil, groupids=nil)
@Condition = condition
@GroupId = groupid
@OsType = ostype
@OnlineStatus = onlinestatus
@Filters = filters
@Sort = sort
@PageNum = pagenum
@PageSize = pagesize
@Status = status
@GroupIds = groupids
end
def deserialize(params)
unless params['Condition'].nil?
@Condition = Condition.new
@Condition.deserialize(params['Condition'])
end
@GroupId = params['GroupId']
@OsType = params['OsType']
@OnlineStatus = params['OnlineStatus']
unless params['Filters'].nil?
@Filters = []
params['Filters'].each do |i|
filter_tmp = Filter.new
filter_tmp.deserialize(i)
@Filters << filter_tmp
end
end
unless params['Sort'].nil?
@Sort = Sort.new
@Sort.deserialize(params['Sort'])
end
@PageNum = params['PageNum']
@PageSize = params['PageSize']
@Status = params['Status']
@GroupIds = params['GroupIds']
end
end
# DescribeDevices返回参数结构体
class DescribeDevicesResponse < TencentCloud::Common::AbstractModel
# @param Data: 分页的data数据
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Data: :class:`Tencentcloud::Ioa.v20220601.models.DescribeDevicesPageRsp`
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :Data, :RequestId
def initialize(data=nil, requestid=nil)
@Data = data
@RequestId = requestid
end
def deserialize(params)
unless params['Data'].nil?
@Data = DescribeDevicesPageRsp.new
@Data.deserialize(params['Data'])
end
@RequestId = params['RequestId']
end
end
# 所属组
class DescribeLocalAccountAccountGroupsData < TencentCloud::Common::AbstractModel
# @param AccountGroupId: 组Id(只支持32位)
# 注意:此字段可能返回 null,表示取不到有效值。
# @type AccountGroupId: Integer
attr_accessor :AccountGroupId
def initialize(accountgroupid=nil)
@AccountGroupId = accountgroupid
end
def deserialize(params)
@AccountGroupId = params['AccountGroupId']
end
end
# 获取账号列表响应的单个对象
class DescribeLocalAccountsData < TencentCloud::Common::AbstractModel
# @param Id: uid,数据库中唯一
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Id: Integer
# @param UserId: 账号,登录账号
# 注意:此字段可能返回 null,表示取不到有效值。
# @type UserId: String
# @param UserName: 用户名
# 注意:此字段可能返回 null,表示取不到有效值。
# @type UserName: String
# @param AccountId: 账号id,同Id字段
# 注意:此字段可能返回 null,表示取不到有效值。
# @type AccountId: Integer
# @param GroupId: 账号所在的分组id
# 注意:此字段可能返回 null,表示取不到有效值。
# @type GroupId: Integer
# @param GroupName: 账号所在的分组名称
# 注意:此字段可能返回 null,表示取不到有效值。
# @type GroupName: String
# @param NamePath: 账号所在的分组名称路径,用英文.分割
# 注意:此字段可能返回 null,表示取不到有效值。
# @type NamePath: String
# @param Source: 账号来源,0表示本地账号(只支持32位)
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Source: Integer
# @param Status: 账号状态,0禁用,1启用(只支持32位)
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Status: Integer
# @param Itime: 账号的创建时间
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Itime: String
# @param Utime: 账号的最后更新时间
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Utime: String
# @param ExtraInfo: 账号的扩展信息,包含邮箱、手机号、身份证、职位等信息
# 注意:此字段可能返回 null,表示取不到有效值。
# @type ExtraInfo: String
# @param RiskLevel: 用户风险等级,枚举:none, low, middle, high
# 注意:此字段可能返回 null,表示取不到有效值。
# @type RiskLevel: String
# @param AccountGroups: 所属组
# 注意:此字段可能返回 null,表示取不到有效值。
# @type AccountGroups: Array
# @param MobileBindNum: 绑定手机端设备数
# 注意:此字段可能返回 null,表示取不到有效值。
# @type MobileBindNum: Integer
# @param PcBindNum: 绑定Pc端设备数
# 注意:此字段可能返回 null,表示取不到有效值。
# @type PcBindNum: Integer
# @param OnlineStatus: 账号在线状态 1:在线 2:离线
# 注意:此字段可能返回 null,表示取不到有效值。
# @type OnlineStatus: Integer
# @param ActiveStatus: 账号活跃状态 1:活跃 2:非活跃
# 注意:此字段可能返回 null,表示取不到有效值。
# @type ActiveStatus: Integer
# @param LoginTime: 账号登录时间
# 注意:此字段可能返回 null,表示取不到有效值。
# @type LoginTime: String
# @param LogoutTime: 账号登出时间
# 注意:此字段可能返回 null,表示取不到有效值。
# @type LogoutTime: String
attr_accessor :Id, :UserId, :UserName, :AccountId, :GroupId, :GroupName, :NamePath, :Source, :Status, :Itime, :Utime, :ExtraInfo, :RiskLevel, :AccountGroups, :MobileBindNum, :PcBindNum, :OnlineStatus, :ActiveStatus, :LoginTime, :LogoutTime
def initialize(id=nil, userid=nil, username=nil, accountid=nil, groupid=nil, groupname=nil, namepath=nil, source=nil, status=nil, itime=nil, utime=nil, extrainfo=nil, risklevel=nil, accountgroups=nil, mobilebindnum=nil, pcbindnum=nil, onlinestatus=nil, activestatus=nil, logintime=nil, logouttime=nil)
@Id = id
@UserId = userid
@UserName = username
@AccountId = accountid
@GroupId = groupid
@GroupName = groupname
@NamePath = namepath
@Source = source
@Status = status
@Itime = itime
@Utime = utime
@ExtraInfo = extrainfo
@RiskLevel = risklevel
@AccountGroups = accountgroups
@MobileBindNum = mobilebindnum
@PcBindNum = pcbindnum
@OnlineStatus = onlinestatus
@ActiveStatus = activestatus
@LoginTime = logintime
@LogoutTime = logouttime
end
def deserialize(params)
@Id = params['Id']
@UserId = params['UserId']
@UserName = params['UserName']
@AccountId = params['AccountId']
@GroupId = params['GroupId']
@GroupName = params['GroupName']
@NamePath = params['NamePath']
@Source = params['Source']
@Status = params['Status']
@Itime = params['Itime']
@Utime = params['Utime']
@ExtraInfo = params['ExtraInfo']
@RiskLevel = params['RiskLevel']
unless params['AccountGroups'].nil?
@AccountGroups = []
params['AccountGroups'].each do |i|
describelocalaccountaccountgroupsdata_tmp = DescribeLocalAccountAccountGroupsData.new
describelocalaccountaccountgroupsdata_tmp.deserialize(i)
@AccountGroups << describelocalaccountaccountgroupsdata_tmp
end
end
@MobileBindNum = params['MobileBindNum']
@PcBindNum = params['PcBindNum']
@OnlineStatus = params['OnlineStatus']
@ActiveStatus = params['ActiveStatus']
@LoginTime = params['LoginTime']
@LogoutTime = params['LogoutTime']
end
end
# 获取账号列表响应的分页对象
class DescribeLocalAccountsPage < TencentCloud::Common::AbstractModel
# @param Page: 公共分页对象
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Page: :class:`Tencentcloud::Ioa.v20220601.models.Paging`
# @param Items: 获取账号列表响应的单个对象
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Items: Array
attr_accessor :Page, :Items
def initialize(page=nil, items=nil)
@Page = page
@Items = items
end
def deserialize(params)
unless params['Page'].nil?
@Page = Paging.new
@Page.deserialize(params['Page'])
end
unless params['Items'].nil?
@Items = []
params['Items'].each do |i|
describelocalaccountsdata_tmp = DescribeLocalAccountsData.new
describelocalaccountsdata_tmp.deserialize(i)
@Items << describelocalaccountsdata_tmp
end
end
end
end
# DescribeLocalAccounts请求参数结构体
class DescribeLocalAccountsRequest < TencentCloud::Common::AbstractModel
# @param Condition: 查询条件:过滤或排序
# 1、UserName,string类型,姓名
# 是否必填:否
# 过滤支持:是,支持eq、like、ilike
# 排序支持:否
# 2、UserId,string类型,账户
# 是否必填:否
# 过滤支持:是,支持eq、like、ilike
# 排序支持:否
# 3、Phone,string类型,手机号
# 是否必填:否
# 过滤支持:是,支持eq、like、ilike
# 排序支持:否
# @type Condition: :class:`Tencentcloud::Ioa.v20220601.models.Condition`
# @param AccountGroupId: 获取账号的分组ID,不传默认获取全网根账号组
# @type AccountGroupId: Integer
# @param ShowFlag: 是否仅展示当前目录下用户 1: 递归显示 2:仅显示当前目录下用户(只支持32位)
# @type ShowFlag: Integer
attr_accessor :Condition, :AccountGroupId, :ShowFlag
def initialize(condition=nil, accountgroupid=nil, showflag=nil)
@Condition = condition
@AccountGroupId = accountgroupid
@ShowFlag = showflag
end
def deserialize(params)
unless params['Condition'].nil?
@Condition = Condition.new
@Condition.deserialize(params['Condition'])
end
@AccountGroupId = params['AccountGroupId']
@ShowFlag = params['ShowFlag']
end
end
# DescribeLocalAccounts返回参数结构体
class DescribeLocalAccountsResponse < TencentCloud::Common::AbstractModel
# @param Data: 获取账号列表响应的分页对象
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Data: :class:`Tencentcloud::Ioa.v20220601.models.DescribeLocalAccountsPage`
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :Data, :RequestId
def initialize(data=nil, requestid=nil)
@Data = data
@RequestId = requestid
end
def deserialize(params)
unless params['Data'].nil?
@Data = DescribeLocalAccountsPage.new
@Data.deserialize(params['Data'])
end
@RequestId = params['RequestId']
end
end
# DescribeRootAccountGroup请求参数结构体
class DescribeRootAccountGroupRequest < TencentCloud::Common::AbstractModel
def initialize()
end
def deserialize(params)
end
end
# DescribeRootAccountGroup返回参数结构体
class DescribeRootAccountGroupResponse < TencentCloud::Common::AbstractModel
# @param Data: 账号根分组响应详情
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Data: :class:`Tencentcloud::Ioa.v20220601.models.GetAccountGroupData`
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :Data, :RequestId
def initialize(data=nil, requestid=nil)
@Data = data
@RequestId = requestid
end
def deserialize(params)
unless params['Data'].nil?
@Data = GetAccountGroupData.new
@Data.deserialize(params['Data'])
end
@RequestId = params['RequestId']
end
end
# 业务响应数据
class DeviceDetail < TencentCloud::Common::AbstractModel
# @param Id: 设备ID
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Id: Integer
# @param Mid: 设备唯一标识码,在ioa中每个设备有唯一标识码
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Mid: String
# @param Name: 终端名(设备名)
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Name: String
# @param GroupId: 设备所在分组ID
# 注意:此字段可能返回 null,表示取不到有效值。
# @type GroupId: Integer
# @param OsType: OS平台,0:Windows 、1: Linux、 2:macOS 、4: Android、 5: iOS。默认是0
# 注意:此字段可能返回 null,表示取不到有效值。
# @type OsType: Integer
# @param Ip: 设备IP地址(出口IP)
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Ip: String
# @param OnlineStatus: 在线状态,2:在线、0或者1:离线
# 注意:此字段可能返回 null,表示取不到有效值。
# @type OnlineStatus: Integer
# @param Version: 客户端版本号-大整数
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Version: String
# @param StrVersion: 客户端版本号-点分字符串
# 注意:此字段可能返回 null,表示取不到有效值。
# @type StrVersion: String
# @param Itime: 首次在线时间
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Itime: String
# @param ConnActiveTime: 最后一次在线时间
# 注意:此字段可能返回 null,表示取不到有效值。
# @type ConnActiveTime: String
# @param Locked: 设备是否加锁 ,1:锁定 0或者2:未锁定。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Locked: Integer
# @param LocalIpList: 设备本地IP列表, 包括IP
# 注意:此字段可能返回 null,表示取不到有效值。
# @type LocalIpList: String
# @param HostId: 宿主机id(需要宿主机也安装iOA才能显示)
# 注意:此字段可能返回 null,表示取不到有效值。
# @type HostId: Integer
# @param GroupName: 设备所属分组名
# 注意:此字段可能返回 null,表示取不到有效值。
# @type GroupName: String
# @param GroupNamePath: 设备所属分组路径
# 注意:此字段可能返回 null,表示取不到有效值。
# @type GroupNamePath: String
# @param CriticalVulListCount: 未修复高危漏洞数(只支持32位)
# 注意:此字段可能返回 null,表示取不到有效值。
# @type CriticalVulListCount: Integer
# @param ComputerName: 设备名,和Name相同
# 注意:此字段可能返回 null,表示取不到有效值。
# @type ComputerName: String
# @param DomainName: 登录域名
# 注意:此字段可能返回 null,表示取不到有效值。
# @type DomainName: String
# @param MacAddr: MAC地址
# 注意:此字段可能返回 null,表示取不到有效值。
# @type MacAddr: String
# @param VulCount: 漏洞数
# 注意:此字段可能返回 null,表示取不到有效值。
# @type VulCount: Integer
# @param RiskCount: 病毒风险数
# 注意:此字段可能返回 null,表示取不到有效值。
# @type RiskCount: Integer
# @param VirusVer: 病毒库版本
# 注意:此字段可能返回 null,表示取不到有效值。
# @type VirusVer: String
# @param VulVersion: 漏洞库版本
# 注意:此字段可能返回 null,表示取不到有效值。
# @type VulVersion: String
# @param SysRepVersion: 系统修复引擎版本
# 注意:此字段可能返回 null,表示取不到有效值。
# @type SysRepVersion: String
# @param VulCriticalList: 高危补丁列表
# 注意:此字段可能返回 null,表示取不到有效值。
# @type VulCriticalList: Array
# @param Tags: 标签
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Tags: String
# @param UserName: 终端用户名
# 注意:此字段可能返回 null,表示取不到有效值。
# @type UserName: String
# @param FirewallStatus: 防火墙状态,不等于0表示开启
# 注意:此字段可能返回 null,表示取不到有效值。
# @type FirewallStatus: Integer
# @param SerialNum: SN序列号
# 注意:此字段可能返回 null,表示取不到有效值。
# @type SerialNum: String
# @param DeviceStrategyVer: 设备管控策略版本
# 注意:此字段可能返回 null,表示取不到有效值。
# @type DeviceStrategyVer: String
# @param NGNStrategyVer: NGN策略版本
# 注意:此字段可能返回 null,表示取不到有效值。
# @type NGNStrategyVer: String
# @param IOAUserName: 最近登录账户的账号
# 注意:此字段可能返回 null,表示取不到有效值。
# @type IOAUserName: String
# @param DeviceNewStrategyVer: 设备管控新策略
# 注意:此字段可能返回 null,表示取不到有效值。
# @type DeviceNewStrategyVer: String
# @param NGNNewStrategyVer: NGN策略新版本
# 注意:此字段可能返回 null,表示取不到有效值。
# @type NGNNewStrategyVer: String
# @param HostName: 宿主机名称(需要宿主机也安装iOA才能显示)
# 注意:此字段可能返回 null,表示取不到有效值。
# @type HostName: String
# @param BaseBoardSn: 主板序列号
# 注意:此字段可能返回 null,表示取不到有效值。
# @type BaseBoardSn: String
# @param AccountUsers: 绑定账户名称
# 注意:此字段可能返回 null,表示取不到有效值。
# @type AccountUsers: String
# @param IdentityStrategyVer: 身份策略版本
# 注意:此字段可能返回 null,表示取不到有效值。
# @type IdentityStrategyVer: String
# @param IdentityNewStrategyVer: 身份策略新版本
# 注意:此字段可能返回 null,表示取不到有效值。
# @type IdentityNewStrategyVer: String
# @param AccountGroupName: 最近登录账号部门
# 注意:此字段可能返回 null,表示取不到有效值。
# @type AccountGroupName: String
# @param AccountName: 最近登录账户的姓名
# 注意:此字段可能返回 null,表示取不到有效值。
# @type AccountName: String
# @param AccountGroupId: 账号组id
# 注意:此字段可能返回 null,表示取不到有效值。
# @type AccountGroupId: Integer
attr_accessor :Id, :Mid, :Name, :GroupId, :OsType, :Ip, :OnlineStatus, :Version, :StrVersion, :Itime, :ConnActiveTime, :Locked, :LocalIpList, :HostId, :GroupName, :GroupNamePath, :CriticalVulListCount, :ComputerName, :DomainName, :MacAddr, :VulCount, :RiskCount, :VirusVer, :VulVersion, :SysRepVersion, :VulCriticalList, :Tags, :UserName, :FirewallStatus, :SerialNum, :DeviceStrategyVer, :NGNStrategyVer, :IOAUserName, :DeviceNewStrategyVer, :NGNNewStrategyVer, :HostName, :BaseBoardSn, :AccountUsers, :IdentityStrategyVer, :IdentityNewStrategyVer, :AccountGroupName, :AccountName, :AccountGroupId
def initialize(id=nil, mid=nil, name=nil, groupid=nil, ostype=nil, ip=nil, onlinestatus=nil, version=nil, strversion=nil, itime=nil, connactivetime=nil, locked=nil, localiplist=nil, hostid=nil, groupname=nil, groupnamepath=nil, criticalvullistcount=nil, computername=nil, domainname=nil, macaddr=nil, vulcount=nil, riskcount=nil, virusver=nil, vulversion=nil, sysrepversion=nil, vulcriticallist=nil, tags=nil, username=nil, firewallstatus=nil, serialnum=nil, devicestrategyver=nil, ngnstrategyver=nil, ioausername=nil, devicenewstrategyver=nil, ngnnewstrategyver=nil, hostname=nil, baseboardsn=nil, accountusers=nil, identitystrategyver=nil, identitynewstrategyver=nil, accountgroupname=nil, accountname=nil, accountgroupid=nil)
@Id = id
@Mid = mid
@Name = name
@GroupId = groupid
@OsType = ostype
@Ip = ip
@OnlineStatus = onlinestatus
@Version = version
@StrVersion = strversion
@Itime = itime
@ConnActiveTime = connactivetime
@Locked = locked
@LocalIpList = localiplist
@HostId = hostid
@GroupName = groupname
@GroupNamePath = groupnamepath
@CriticalVulListCount = criticalvullistcount
@ComputerName = computername
@DomainName = domainname
@MacAddr = macaddr
@VulCount = vulcount
@RiskCount = riskcount
@VirusVer = virusver
@VulVersion = vulversion
@SysRepVersion = sysrepversion
@VulCriticalList = vulcriticallist
@Tags = tags
@UserName = username
@FirewallStatus = firewallstatus
@SerialNum = serialnum
@DeviceStrategyVer = devicestrategyver
@NGNStrategyVer = ngnstrategyver
@IOAUserName = ioausername
@DeviceNewStrategyVer = devicenewstrategyver
@NGNNewStrategyVer = ngnnewstrategyver
@HostName = hostname
@BaseBoardSn = baseboardsn
@AccountUsers = accountusers
@IdentityStrategyVer = identitystrategyver
@IdentityNewStrategyVer = identitynewstrategyver
@AccountGroupName = accountgroupname
@AccountName = accountname
@AccountGroupId = accountgroupid
end
def deserialize(params)
@Id = params['Id']
@Mid = params['Mid']
@Name = params['Name']
@GroupId = params['GroupId']
@OsType = params['OsType']
@Ip = params['Ip']
@OnlineStatus = params['OnlineStatus']
@Version = params['Version']
@StrVersion = params['StrVersion']
@Itime = params['Itime']
@ConnActiveTime = params['ConnActiveTime']
@Locked = params['Locked']
@LocalIpList = params['LocalIpList']
@HostId = params['HostId']
@GroupName = params['GroupName']
@GroupNamePath = params['GroupNamePath']
@CriticalVulListCount = params['CriticalVulListCount']
@ComputerName = params['ComputerName']
@DomainName = params['DomainName']
@MacAddr = params['MacAddr']
@VulCount = params['VulCount']
@RiskCount = params['RiskCount']
@VirusVer = params['VirusVer']
@VulVersion = params['VulVersion']
@SysRepVersion = params['SysRepVersion']
@VulCriticalList = params['VulCriticalList']
@Tags = params['Tags']
@UserName = params['UserName']
@FirewallStatus = params['FirewallStatus']
@SerialNum = params['SerialNum']
@DeviceStrategyVer = params['DeviceStrategyVer']
@NGNStrategyVer = params['NGNStrategyVer']
@IOAUserName = params['IOAUserName']
@DeviceNewStrategyVer = params['DeviceNewStrategyVer']
@NGNNewStrategyVer = params['NGNNewStrategyVer']
@HostName = params['HostName']
@BaseBoardSn = params['BaseBoardSn']
@AccountUsers = params['AccountUsers']
@IdentityStrategyVer = params['IdentityStrategyVer']
@IdentityNewStrategyVer = params['IdentityNewStrategyVer']
@AccountGroupName = params['AccountGroupName']
@AccountName = params['AccountName']
@AccountGroupId = params['AccountGroupId']
end
end
# Filters 条件过滤
class Filter < TencentCloud::Common::AbstractModel
# @param Field: 过滤字段
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Field: String
# @param Operator: 过滤方式 eq:等于,net:不等于,like,nlike,gt:大于,lt:小于,egt:大于等于,elt:小于等于
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Operator: String
# @param Values: 过滤条件
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Values: Array
attr_accessor :Field, :Operator, :Values
def initialize(field=nil, operator=nil, values=nil)
@Field = field
@Operator = operator
@Values = values
end
def deserialize(params)
@Field = params['Field']
@Operator = params['Operator']
@Values = params['Values']
end
end
# FilterGroups 条件过滤组
class FilterGroup < TencentCloud::Common::AbstractModel
# @param Filters: Filters 条件过滤
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Filters: Array
attr_accessor :Filters
def initialize(filters=nil)
@Filters = filters
end
def deserialize(params)
unless params['Filters'].nil?
@Filters = []
params['Filters'].each do |i|
filter_tmp = Filter.new
filter_tmp.deserialize(i)
@Filters << filter_tmp
end
end
end
end
# 账号分组详情响应数据
class GetAccountGroupData < TencentCloud::Common::AbstractModel
# @param NamePath: 分组名称全路径,点分格式
# 注意:此字段可能返回 null,表示取不到有效值。
# @type NamePath: String
# @param IdPathArr: 分组ID全路径,数组格式
# 注意:此字段可能返回 null,表示取不到有效值。
# @type IdPathArr: Array
# @param ExtraInfo: 分组扩展信息
# 注意:此字段可能返回 null,表示取不到有效值。
# @type ExtraInfo: String
# @param Utime: 最后更新时间
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Utime: String
# @param ParentId: 当前分组的父分组ID
# 注意:此字段可能返回 null,表示取不到有效值。
# @type ParentId: Integer
# @param OrgId: 源账号组ID,该字段仅适用于第三方同步的组织架构,通过OrgId-Id构成源组织架构分组ID-现组织架构分组ID映射关系
# 注意:此字段可能返回 null,表示取不到有效值。
# @type OrgId: String
# @param Name: 分组名称
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Name: String
# @param Id: 分组ID
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Id: Integer
# @param Description: 分组描述
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Description: String
# @param Source: 分组导入源(只支持32位)
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Source: Integer
# @param IdPath: 分组ID全路径,点分格式
# 注意:此字段可能返回 null,表示取不到有效值。
# @type IdPath: String
# @param Itime: 创建时间
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Itime: String
# @param ParentOrgId: 父源账号组ID,该字段仅适用于第三方同步的组织架构
# 注意:此字段可能返回 null,表示取不到有效值。
# @type ParentOrgId: String
# @param Import: 导入信息,json格式
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Import: String
# @param ImportEnable: 是否开启导入架构
# 注意:此字段可能返回 null,表示取不到有效值。
# @type ImportEnable: Boolean
# @param ImportType: 导入类型
# 注意:此字段可能返回 null,表示取不到有效值。
# @type ImportType: String
# @param MiniIamId: miniIAMId,MiniIAM源才有
# 注意:此字段可能返回 null,表示取不到有效值。
# @type MiniIamId: String
attr_accessor :NamePath, :IdPathArr, :ExtraInfo, :Utime, :ParentId, :OrgId, :Name, :Id, :Description, :Source, :IdPath, :Itime, :ParentOrgId, :Import, :ImportEnable, :ImportType, :MiniIamId
def initialize(namepath=nil, idpatharr=nil, extrainfo=nil, utime=nil, parentid=nil, orgid=nil, name=nil, id=nil, description=nil, source=nil, idpath=nil, itime=nil, parentorgid=nil, import=nil, importenable=nil, importtype=nil, miniiamid=nil)
@NamePath = namepath
@IdPathArr = idpatharr
@ExtraInfo = extrainfo
@Utime = utime
@ParentId = parentid
@OrgId = orgid
@Name = name
@Id = id
@Description = description
@Source = source
@IdPath = idpath
@Itime = itime
@ParentOrgId = parentorgid
@Import = import
@ImportEnable = importenable
@ImportType = importtype
@MiniIamId = miniiamid
end
def deserialize(params)
@NamePath = params['NamePath']
@IdPathArr = params['IdPathArr']
@ExtraInfo = params['ExtraInfo']
@Utime = params['Utime']
@ParentId = params['ParentId']
@OrgId = params['OrgId']
@Name = params['Name']
@Id = params['Id']
@Description = params['Description']
@Source = params['Source']
@IdPath = params['IdPath']
@Itime = params['Itime']
@ParentOrgId = params['ParentOrgId']
@Import = params['Import']
@ImportEnable = params['ImportEnable']
@ImportType = params['ImportType']
@MiniIamId = params['MiniIamId']
end
end
# 页码
class Paging < TencentCloud::Common::AbstractModel
# @param PageSize: 每页条数(只支持32位)
# 注意:此字段可能返回 null,表示取不到有效值。
# @type PageSize: Integer
# @param PageNum: 页码(只支持32位)
# 注意:此字段可能返回 null,表示取不到有效值。
# @type PageNum: Integer
# @param PageCount: 总页数(只支持32位)
# 注意:此字段可能返回 null,表示取不到有效值。
# @type PageCount: Integer
# @param Total: 记录总数
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Total: Integer
attr_accessor :PageSize, :PageNum, :PageCount, :Total
def initialize(pagesize=nil, pagenum=nil, pagecount=nil, total=nil)
@PageSize = pagesize
@PageNum = pagenum
@PageCount = pagecount
@Total = total
end
def deserialize(params)
@PageSize = params['PageSize']
@PageNum = params['PageNum']
@PageCount = params['PageCount']
@Total = params['Total']
end
end
# 规则表达式
class RuleExpression < TencentCloud::Common::AbstractModel
# @param Items: 规则元数据
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Items: Array
# @param Relation: 关系
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Relation: String
attr_accessor :Items, :Relation
def initialize(items=nil, relation=nil)
@Items = items
@Relation = relation
end
def deserialize(params)
unless params['Items'].nil?
@Items = []
params['Items'].each do |i|
ruleitem_tmp = RuleItem.new
ruleitem_tmp.deserialize(i)
@Items << ruleitem_tmp
end
end
@Relation = params['Relation']
end
end
# 规则元数据
class RuleItem < TencentCloud::Common::AbstractModel
# @param Key: 字段名称
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Key: String
# @param Operate: 操作关系(等于、不等于、包含、不包含)
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Operate: String
# @param Value: 内容
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Value: String
# @param Values: 内容,v2多值版本使用
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Values: Array
attr_accessor :Key, :Operate, :Value, :Values
def initialize(key=nil, operate=nil, value=nil, values=nil)
@Key = key
@Operate = operate
@Value = value
@Values = values
end
def deserialize(params)
@Key = params['Key']
@Operate = params['Operate']
@Value = params['Value']
@Values = params['Values']
end
end
# 简单规则表达式
class SimpleRule < TencentCloud::Common::AbstractModel
# @param Expressions: 规则表达式
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Expressions: Array
# @param Relation: 表达式间逻辑关系
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Relation: String
attr_accessor :Expressions, :Relation
def initialize(expressions=nil, relation=nil)
@Expressions = expressions
@Relation = relation
end
def deserialize(params)
unless params['Expressions'].nil?
@Expressions = []
params['Expressions'].each do |i|
ruleexpression_tmp = RuleExpression.new
ruleexpression_tmp.deserialize(i)
@Expressions << ruleexpression_tmp
end
end
@Relation = params['Relation']
end
end
# Sort 排序字段
class Sort < TencentCloud::Common::AbstractModel
# @param Field: 排序字段
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Field: String
# @param Order: 排序方式
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Order: String
attr_accessor :Field, :Order
def initialize(field=nil, order=nil)
@Field = field
@Order = order
end
def deserialize(params)
@Field = params['Field']
@Order = params['Order']
end
end
end
end
end