# 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 # - [ ] 过滤条件
#
  • Name - String - 是否必填:否 - 操作符: ilike - 排序支持:否- 根据分组名称进行查询。
  • # 分页参数
    #
  • PageNum 从1开始,小于等于0时使用默认参数。
  • #
  • PageSize 最大值5000,最好不超过100。
  • 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 # 分页的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: 过滤条件
    #
  • Ip - String - 是否必填:否 - 操作符: eq - 排序支持:否- 按照Ip进行过滤。
  • #
  • MacAddr - String - 是否必填:否 - 操作符: eq - 排序支持:否- 按照mac地址进行过滤。
  • #
  • IoaUserName - String - 是否必填:否 - 操作符: eq - 排序支持:否- 按照ioa用户名进行过滤。
  • # 分页参数
    #
  • PageNum 从1开始,小于等于0时使用默认参数。
  • #
  • PageSize 最大值5000,最好不超过100。
  • # @type Condition: :class:`Tencentcloud::Ioa.v20220601.models.Condition` # @param GroupId: 私有化默认分组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 # @type GroupId: Integer # @param OsType: 系统类型(0: win,1:linux,2: mac,3: win_srv,4:android,5:ios 默认值0) # @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(只支持32位) # @type PageNum: Integer # @param PageSize: 每页获取数--兼容旧接口,参数同Condition(只支持32位) # @type PageSize: Integer # @param Status: 授权状态 4未授权 5已授权 # @type Status: Integer attr_accessor :Condition, :GroupId, :OsType, :OnlineStatus, :Filters, :Sort, :PageNum, :PageSize, :Status def initialize(condition=nil, groupid=nil, ostype=nil, onlinestatus=nil, filters=nil, sort=nil, pagenum=nil, pagesize=nil, status=nil) @Condition = condition @GroupId = groupid @OsType = ostype @OnlineStatus = onlinestatus @Filters = filters @Sort = sort @PageNum = pagenum @PageSize = pagesize @Status = status 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'] end end # DescribeDevices返回参数结构体 class DescribeDevicesResponse < TencentCloud::Common::AbstractModel # @param Data: 分页的data数据 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Data: :class:`Tencentcloud::Ioa.v20220601.models.DescribeDevicesPageRsp` # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 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 DeviceDetail < TencentCloud::Common::AbstractModel # @param Id: 设备ID(只支持32位) # 注意:此字段可能返回 null,表示取不到有效值。 # @type Id: Integer # @param Mid: 设备唯一标识符 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Mid: String # @param Name: 终端名(设备名) # 注意:此字段可能返回 null,表示取不到有效值。 # @type Name: String # @param GroupId: 设备所在分组ID(只支持32位) # 注意:此字段可能返回 null,表示取不到有效值。 # @type GroupId: Integer # @param OsType: OS平台(只支持32位) # 注意:此字段可能返回 null,表示取不到有效值。 # @type OsType: Integer # @param Ip: 设备IP地址(出口IP) # 注意:此字段可能返回 null,表示取不到有效值。 # @type Ip: String # @param OnlineStatus: 在线状态 2 在线 0,1 离线(只支持32位) # 注意:此字段可能返回 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 非锁定(只支持32位) # 注意:此字段可能返回 null,表示取不到有效值。 # @type Locked: Integer # @param LocalIpList: 设备本地IP列表, 包括IP # 注意:此字段可能返回 null,表示取不到有效值。 # @type LocalIpList: String # @param HostId: 主机ID(只支持32位) # 注意:此字段可能返回 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: 漏洞数(只支持32位) # 注意:此字段可能返回 null,表示取不到有效值。 # @type VulCount: Integer # @param RiskCount: 病毒风险数(只支持32位) # 注意:此字段可能返回 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: 防火墙状态(只支持32位) # 注意:此字段可能返回 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: 主机名称 # 注意:此字段可能返回 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 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 # 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