# 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 Iotcloud module V20180614 # 设备属性 class Attribute < TencentCloud::Common::AbstractModel # @param Tags: 属性列表 # @type Tags: Array attr_accessor :Tags def initialize(tags=nil) @Tags = tags end def deserialize(params) unless params['Tags'].nil? @Tags = [] params['Tags'].each do |i| devicetag_tmp = DeviceTag.new devicetag_tmp.deserialize(i) @Tags << devicetag_tmp end end end end # 批量发消息请求 class BatchPublishMessage < TencentCloud::Common::AbstractModel # @param Topic: 消息发往的主题。为 Topic 权限中去除 ProductID 和 DeviceName 的部分,如 “event” # @type Topic: String # @param Payload: 消息内容 # @type Payload: String attr_accessor :Topic, :Payload def initialize(topic=nil, payload=nil) @Topic = topic @Payload = payload end def deserialize(params) @Topic = params['Topic'] @Payload = params['Payload'] end end # BatchUpdateFirmware请求参数结构体 class BatchUpdateFirmwareRequest < TencentCloud::Common::AbstractModel # @param ProductID: 产品ID # @type ProductID: String # @param FirmwareVersion: 固件新版本号 # @type FirmwareVersion: String # @param FirmwareOriVersion: 固件原版本号,根据文件列表升级固件不需要填写此参数 # @type FirmwareOriVersion: String # @param UpgradeMethod: 升级方式,0 静默升级 1 用户确认升级。 不填默认为静默升级方式 # @type UpgradeMethod: Integer # @param FileName: 设备列表文件名称,根据文件列表升级固件需要填写此参数 # @type FileName: String # @param FileMd5: 设备列表的文件md5值 # @type FileMd5: String # @param FileSize: 设备列表的文件大小值 # @type FileSize: Integer # @param DeviceNames: 需要升级的设备名称列表 # @type DeviceNames: Array # @param TimeoutInterval: 固件升级任务,默认超时时间。 最小取值60秒,最大为3600秒 # @type TimeoutInterval: Integer attr_accessor :ProductID, :FirmwareVersion, :FirmwareOriVersion, :UpgradeMethod, :FileName, :FileMd5, :FileSize, :DeviceNames, :TimeoutInterval def initialize(productid=nil, firmwareversion=nil, firmwareoriversion=nil, upgrademethod=nil, filename=nil, filemd5=nil, filesize=nil, devicenames=nil, timeoutinterval=nil) @ProductID = productid @FirmwareVersion = firmwareversion @FirmwareOriVersion = firmwareoriversion @UpgradeMethod = upgrademethod @FileName = filename @FileMd5 = filemd5 @FileSize = filesize @DeviceNames = devicenames @TimeoutInterval = timeoutinterval end def deserialize(params) @ProductID = params['ProductID'] @FirmwareVersion = params['FirmwareVersion'] @FirmwareOriVersion = params['FirmwareOriVersion'] @UpgradeMethod = params['UpgradeMethod'] @FileName = params['FileName'] @FileMd5 = params['FileMd5'] @FileSize = params['FileSize'] @DeviceNames = params['DeviceNames'] @TimeoutInterval = params['TimeoutInterval'] end end # BatchUpdateFirmware返回参数结构体 class BatchUpdateFirmwareResponse < TencentCloud::Common::AbstractModel # @param TaskId: 任务ID # @type TaskId: Integer # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :TaskId, :RequestId def initialize(taskid=nil, requestid=nil) @TaskId = taskid @RequestId = requestid end def deserialize(params) @TaskId = params['TaskId'] @RequestId = params['RequestId'] end end # 批量更新设备影子任务 class BatchUpdateShadow < TencentCloud::Common::AbstractModel # @param Desired: 设备影子的期望状态,格式为 Json 对象序列化之后的字符串 # @type Desired: String attr_accessor :Desired def initialize(desired=nil) @Desired = desired end def deserialize(params) @Desired = params['Desired'] end end # BindDevices请求参数结构体 class BindDevicesRequest < TencentCloud::Common::AbstractModel # @param GatewayProductId: 网关设备的产品ID # @type GatewayProductId: String # @param GatewayDeviceName: 网关设备的设备名 # @type GatewayDeviceName: String # @param ProductId: 被绑定设备的产品ID # @type ProductId: String # @param DeviceNames: 被绑定的多个设备名 # @type DeviceNames: Array # @param Skey: 中兴CLAA设备的绑定需要skey,普通的设备不需要 # @type Skey: String attr_accessor :GatewayProductId, :GatewayDeviceName, :ProductId, :DeviceNames, :Skey def initialize(gatewayproductid=nil, gatewaydevicename=nil, productid=nil, devicenames=nil, skey=nil) @GatewayProductId = gatewayproductid @GatewayDeviceName = gatewaydevicename @ProductId = productid @DeviceNames = devicenames @Skey = skey end def deserialize(params) @GatewayProductId = params['GatewayProductId'] @GatewayDeviceName = params['GatewayDeviceName'] @ProductId = params['ProductId'] @DeviceNames = params['DeviceNames'] @Skey = params['Skey'] end end # BindDevices返回参数结构体 class BindDevicesResponse < TencentCloud::Common::AbstractModel # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RequestId def initialize(requestid=nil) @RequestId = requestid end def deserialize(params) @RequestId = params['RequestId'] end end # 代理订阅信息 class BrokerSubscribe < TencentCloud::Common::AbstractModel # @param ProductId: 产品ID # @type ProductId: String # @param DeviceName: 设备名 # @type DeviceName: String attr_accessor :ProductId, :DeviceName def initialize(productid=nil, devicename=nil) @ProductId = productid @DeviceName = devicename end def deserialize(params) @ProductId = params['ProductId'] @DeviceName = params['DeviceName'] end end # CLS日志 class CLSLogItem < TencentCloud::Common::AbstractModel # @param Content: 日志内容 # @type Content: String # @param Devicename: 设备名称 # @type Devicename: String # @param Productid: 产品ID # @type Productid: String # @param Requestid: 请求ID # @type Requestid: String # @param Result: 结果 # @type Result: String # @param Scene: 模块 # @type Scene: String # @param Time: 日志时间 # @type Time: String # @param Userid: 腾讯云账号 # @type Userid: String attr_accessor :Content, :Devicename, :Productid, :Requestid, :Result, :Scene, :Time, :Userid def initialize(content=nil, devicename=nil, productid=nil, requestid=nil, result=nil, scene=nil, time=nil, userid=nil) @Content = content @Devicename = devicename @Productid = productid @Requestid = requestid @Result = result @Scene = scene @Time = time @Userid = userid end def deserialize(params) @Content = params['Content'] @Devicename = params['Devicename'] @Productid = params['Productid'] @Requestid = params['Requestid'] @Result = params['Result'] @Scene = params['Scene'] @Time = params['Time'] @Userid = params['Userid'] end end # CancelDeviceFirmwareTask请求参数结构体 class CancelDeviceFirmwareTaskRequest < TencentCloud::Common::AbstractModel # @param ProductID: 产品ID # @type ProductID: String # @param DeviceName: 设备名称 # @type DeviceName: String # @param FirmwareVersion: 固件版本号 # @type FirmwareVersion: String # @param TaskId: 固件升级任务ID # @type TaskId: Integer attr_accessor :ProductID, :DeviceName, :FirmwareVersion, :TaskId def initialize(productid=nil, devicename=nil, firmwareversion=nil, taskid=nil) @ProductID = productid @DeviceName = devicename @FirmwareVersion = firmwareversion @TaskId = taskid end def deserialize(params) @ProductID = params['ProductID'] @DeviceName = params['DeviceName'] @FirmwareVersion = params['FirmwareVersion'] @TaskId = params['TaskId'] end end # CancelDeviceFirmwareTask返回参数结构体 class CancelDeviceFirmwareTaskResponse < TencentCloud::Common::AbstractModel # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RequestId def initialize(requestid=nil) @RequestId = requestid end def deserialize(params) @RequestId = params['RequestId'] end end # CancelTask请求参数结构体 class CancelTaskRequest < TencentCloud::Common::AbstractModel # @param Id: 任务 ID # @type Id: String attr_accessor :Id def initialize(id=nil) @Id = id end def deserialize(params) @Id = params['Id'] end end # CancelTask返回参数结构体 class CancelTaskResponse < TencentCloud::Common::AbstractModel # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RequestId def initialize(requestid=nil) @RequestId = requestid end def deserialize(params) @RequestId = params['RequestId'] end end # CreateDevice请求参数结构体 class CreateDeviceRequest < TencentCloud::Common::AbstractModel # @param ProductId: 产品 ID 。创建产品时腾讯云为用户分配全局唯一的 ID # @type ProductId: String # @param DeviceName: 设备名称。命名规则:[a-zA-Z0-9:_-]{1,48}。 # @type DeviceName: String # @param Attribute: 设备属性 # @type Attribute: :class:`Tencentcloud::Iotcloud.v20180614.models.Attribute` # @param DefinedPsk: 是否使用自定义PSK,默认不使用 # @type DefinedPsk: String # @param Isp: 运营商类型,当产品是NB-IoT产品时,此字段必填。1表示中国电信,2表示中国移动,3表示中国联通 # @type Isp: Integer # @param Imei: IMEI,当产品是NB-IoT产品时,此字段必填 # @type Imei: String # @param LoraDevEui: LoRa设备的DevEui,当创建LoRa时,此字段必填 # @type LoraDevEui: String # @param LoraMoteType: LoRa设备的MoteType # @type LoraMoteType: Integer # @param Skey: 创建LoRa设备需要skey # @type Skey: String # @param LoraAppKey: LoRa设备的AppKey # @type LoraAppKey: String attr_accessor :ProductId, :DeviceName, :Attribute, :DefinedPsk, :Isp, :Imei, :LoraDevEui, :LoraMoteType, :Skey, :LoraAppKey def initialize(productid=nil, devicename=nil, attribute=nil, definedpsk=nil, isp=nil, imei=nil, loradeveui=nil, loramotetype=nil, skey=nil, loraappkey=nil) @ProductId = productid @DeviceName = devicename @Attribute = attribute @DefinedPsk = definedpsk @Isp = isp @Imei = imei @LoraDevEui = loradeveui @LoraMoteType = loramotetype @Skey = skey @LoraAppKey = loraappkey end def deserialize(params) @ProductId = params['ProductId'] @DeviceName = params['DeviceName'] unless params['Attribute'].nil? @Attribute = Attribute.new @Attribute.deserialize(params['Attribute']) end @DefinedPsk = params['DefinedPsk'] @Isp = params['Isp'] @Imei = params['Imei'] @LoraDevEui = params['LoraDevEui'] @LoraMoteType = params['LoraMoteType'] @Skey = params['Skey'] @LoraAppKey = params['LoraAppKey'] end end # CreateDevice返回参数结构体 class CreateDeviceResponse < TencentCloud::Common::AbstractModel # @param DeviceName: 设备名称 # @type DeviceName: String # @param DevicePsk: 对称加密密钥,base64编码。采用对称加密时返回该参数 # @type DevicePsk: String # @param DeviceCert: 设备证书,用于 TLS 建立链接时校验客户端身份。采用非对称加密时返回该参数 # @type DeviceCert: String # @param DevicePrivateKey: 设备私钥,用于 TLS 建立链接时校验客户端身份,腾讯云后台不保存,请妥善保管。采用非对称加密时返回该参数 # @type DevicePrivateKey: String # @param LoraDevEui: LoRa设备的DevEui,当设备是LoRa设备时,会返回该字段 # @type LoraDevEui: String # @param LoraMoteType: LoRa设备的MoteType,当设备是LoRa设备时,会返回该字段 # @type LoraMoteType: Integer # @param LoraAppKey: LoRa设备的AppKey,当设备是LoRa设备时,会返回该字段 # @type LoraAppKey: String # @param LoraNwkKey: LoRa设备的NwkKey,当设备是LoRa设备时,会返回该字段 # @type LoraNwkKey: String # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :DeviceName, :DevicePsk, :DeviceCert, :DevicePrivateKey, :LoraDevEui, :LoraMoteType, :LoraAppKey, :LoraNwkKey, :RequestId def initialize(devicename=nil, devicepsk=nil, devicecert=nil, deviceprivatekey=nil, loradeveui=nil, loramotetype=nil, loraappkey=nil, loranwkkey=nil, requestid=nil) @DeviceName = devicename @DevicePsk = devicepsk @DeviceCert = devicecert @DevicePrivateKey = deviceprivatekey @LoraDevEui = loradeveui @LoraMoteType = loramotetype @LoraAppKey = loraappkey @LoraNwkKey = loranwkkey @RequestId = requestid end def deserialize(params) @DeviceName = params['DeviceName'] @DevicePsk = params['DevicePsk'] @DeviceCert = params['DeviceCert'] @DevicePrivateKey = params['DevicePrivateKey'] @LoraDevEui = params['LoraDevEui'] @LoraMoteType = params['LoraMoteType'] @LoraAppKey = params['LoraAppKey'] @LoraNwkKey = params['LoraNwkKey'] @RequestId = params['RequestId'] end end # CreateLoraDevice请求参数结构体 class CreateLoraDeviceRequest < TencentCloud::Common::AbstractModel # @param ProductId: 产品Id ,创建产品时腾讯云为用户分配全局唯一的Id # @type ProductId: String # @param DeviceName: 设备名称 # @type DeviceName: String # @param DeviceType: 设备类型 ,目前支持A、B、C三种 # @type DeviceType: String # @param AppEui: LoRa应用UUID # @type AppEui: String # @param DeviceEui: LoRa设备UUID # @type DeviceEui: String # @param AppKey: LoRa应用密钥 # @type AppKey: String # @param AuthKey: LoRa设备验证密钥 # @type AuthKey: String # @param Memo: 设备备注 # @type Memo: String attr_accessor :ProductId, :DeviceName, :DeviceType, :AppEui, :DeviceEui, :AppKey, :AuthKey, :Memo def initialize(productid=nil, devicename=nil, devicetype=nil, appeui=nil, deviceeui=nil, appkey=nil, authkey=nil, memo=nil) @ProductId = productid @DeviceName = devicename @DeviceType = devicetype @AppEui = appeui @DeviceEui = deviceeui @AppKey = appkey @AuthKey = authkey @Memo = memo end def deserialize(params) @ProductId = params['ProductId'] @DeviceName = params['DeviceName'] @DeviceType = params['DeviceType'] @AppEui = params['AppEui'] @DeviceEui = params['DeviceEui'] @AppKey = params['AppKey'] @AuthKey = params['AuthKey'] @Memo = params['Memo'] end end # CreateLoraDevice返回参数结构体 class CreateLoraDeviceResponse < TencentCloud::Common::AbstractModel # @param AppEui: LoRa应用UUID # @type AppEui: String # @param DeviceEui: LoRa设备UUID # @type DeviceEui: String # @param ClassType: 设备类型,目前支持A、B、C三种 # @type ClassType: String # @param DeviceName: 设备名称 # @type DeviceName: String # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :AppEui, :DeviceEui, :ClassType, :DeviceName, :RequestId def initialize(appeui=nil, deviceeui=nil, classtype=nil, devicename=nil, requestid=nil) @AppEui = appeui @DeviceEui = deviceeui @ClassType = classtype @DeviceName = devicename @RequestId = requestid end def deserialize(params) @AppEui = params['AppEui'] @DeviceEui = params['DeviceEui'] @ClassType = params['ClassType'] @DeviceName = params['DeviceName'] @RequestId = params['RequestId'] end end # CreateMultiDevice请求参数结构体 class CreateMultiDeviceRequest < TencentCloud::Common::AbstractModel # @param ProductId: 产品 ID。创建产品时腾讯云为用户分配全局唯一的 ID # @type ProductId: String # @param DeviceNames: 批量创建的设备名数组,单次最多创建 100 个设备。命名规则:[a-zA-Z0-9:_-]{1,48} # @type DeviceNames: Array attr_accessor :ProductId, :DeviceNames def initialize(productid=nil, devicenames=nil) @ProductId = productid @DeviceNames = devicenames end def deserialize(params) @ProductId = params['ProductId'] @DeviceNames = params['DeviceNames'] end end # CreateMultiDevice返回参数结构体 class CreateMultiDeviceResponse < TencentCloud::Common::AbstractModel # @param TaskId: 任务ID,腾讯云生成全局唯一的任务 ID,有效期一个月,一个月之后任务失效。可以调用获取创建多设备任务状态接口获取该任务的执行状态,当状态为成功时,可以调用获取创建多设备任务结果接口获取该任务的结果 # @type TaskId: String # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :TaskId, :RequestId def initialize(taskid=nil, requestid=nil) @TaskId = taskid @RequestId = requestid end def deserialize(params) @TaskId = params['TaskId'] @RequestId = params['RequestId'] end end # CreateMultiDevicesTask请求参数结构体 class CreateMultiDevicesTaskRequest < TencentCloud::Common::AbstractModel # @param ProductId: 产品ID # @type ProductId: String # @param ParametersType: 参数类型 cosfile-文件上传 random-随机创建 # @type ParametersType: String # @param FileName: 文件上传类型时文件名 # @type FileName: String # @param FileSize: 文件上传类型时文件大小 # @type FileSize: Integer # @param BatchCount: 随机创建时设备创建个数 # @type BatchCount: Integer # @param Hash: 文件上传类型时文件md5值 # @type Hash: String attr_accessor :ProductId, :ParametersType, :FileName, :FileSize, :BatchCount, :Hash def initialize(productid=nil, parameterstype=nil, filename=nil, filesize=nil, batchcount=nil, hash=nil) @ProductId = productid @ParametersType = parameterstype @FileName = filename @FileSize = filesize @BatchCount = batchcount @Hash = hash end def deserialize(params) @ProductId = params['ProductId'] @ParametersType = params['ParametersType'] @FileName = params['FileName'] @FileSize = params['FileSize'] @BatchCount = params['BatchCount'] @Hash = params['Hash'] end end # CreateMultiDevicesTask返回参数结构体 class CreateMultiDevicesTaskResponse < TencentCloud::Common::AbstractModel # @param Id: 任务ID # @type Id: Integer # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :Id, :RequestId def initialize(id=nil, requestid=nil) @Id = id @RequestId = requestid end def deserialize(params) @Id = params['Id'] @RequestId = params['RequestId'] end end # CreateProduct请求参数结构体 class CreateProductRequest < TencentCloud::Common::AbstractModel # @param ProductName: 产品名称,名称不能和已经存在的产品名称重复。命名规则:[a-zA-Z0-9:_-]{1,32} # @type ProductName: String # @param ProductProperties: 产品属性 # @type ProductProperties: :class:`Tencentcloud::Iotcloud.v20180614.models.ProductProperties` # @param Skey: 创建CLAA产品时,需要Skey # @type Skey: String attr_accessor :ProductName, :ProductProperties, :Skey def initialize(productname=nil, productproperties=nil, skey=nil) @ProductName = productname @ProductProperties = productproperties @Skey = skey end def deserialize(params) @ProductName = params['ProductName'] unless params['ProductProperties'].nil? @ProductProperties = ProductProperties.new @ProductProperties.deserialize(params['ProductProperties']) end @Skey = params['Skey'] end end # CreateProduct返回参数结构体 class CreateProductResponse < TencentCloud::Common::AbstractModel # @param ProductName: 产品名称 # @type ProductName: String # @param ProductId: 产品 ID,腾讯云生成全局唯一 ID # @type ProductId: String # @param ProductProperties: 产品属性 # @type ProductProperties: :class:`Tencentcloud::Iotcloud.v20180614.models.ProductProperties` # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :ProductName, :ProductId, :ProductProperties, :RequestId def initialize(productname=nil, productid=nil, productproperties=nil, requestid=nil) @ProductName = productname @ProductId = productid @ProductProperties = productproperties @RequestId = requestid end def deserialize(params) @ProductName = params['ProductName'] @ProductId = params['ProductId'] unless params['ProductProperties'].nil? @ProductProperties = ProductProperties.new @ProductProperties.deserialize(params['ProductProperties']) end @RequestId = params['RequestId'] end end # CreateTaskFileUrl请求参数结构体 class CreateTaskFileUrlRequest < TencentCloud::Common::AbstractModel # @param ProductId: 产品ID # @type ProductId: String attr_accessor :ProductId def initialize(productid=nil) @ProductId = productid end def deserialize(params) @ProductId = params['ProductId'] end end # CreateTaskFileUrl返回参数结构体 class CreateTaskFileUrlResponse < TencentCloud::Common::AbstractModel # @param Url: 任务文件上传链接 # @type Url: String # @param FileName: 任务文件名 # @type FileName: String # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :Url, :FileName, :RequestId def initialize(url=nil, filename=nil, requestid=nil) @Url = url @FileName = filename @RequestId = requestid end def deserialize(params) @Url = params['Url'] @FileName = params['FileName'] @RequestId = params['RequestId'] end end # CreateTask请求参数结构体 class CreateTaskRequest < TencentCloud::Common::AbstractModel # @param TaskType: 任务类型,取值为 “UpdateShadow” 或者 “PublishMessage” # @type TaskType: String # @param ProductId: 执行任务的产品ID # @type ProductId: String # @param DeviceNameFilter: 执行任务的设备名的正则表达式 # @type DeviceNameFilter: String # @param ScheduleTimeInSeconds: 任务开始执行的时间。 取值为 Unix 时间戳,单位秒,且需大于等于当前时间时间戳,0为系统当前时间时间戳,即立即执行,最大为当前时间86400秒后,超过则取值为当前时间86400秒后 # @type ScheduleTimeInSeconds: Integer # @param Tasks: 任务描述细节,描述见下 Task # @type Tasks: :class:`Tencentcloud::Iotcloud.v20180614.models.Task` # @param MaxExecutionTimeInSeconds: 最长执行时间,单位秒,被调度后超过此时间仍未有结果则视为任务失败。取值为0-86400,默认为86400 # @type MaxExecutionTimeInSeconds: Integer attr_accessor :TaskType, :ProductId, :DeviceNameFilter, :ScheduleTimeInSeconds, :Tasks, :MaxExecutionTimeInSeconds def initialize(tasktype=nil, productid=nil, devicenamefilter=nil, scheduletimeinseconds=nil, tasks=nil, maxexecutiontimeinseconds=nil) @TaskType = tasktype @ProductId = productid @DeviceNameFilter = devicenamefilter @ScheduleTimeInSeconds = scheduletimeinseconds @Tasks = tasks @MaxExecutionTimeInSeconds = maxexecutiontimeinseconds end def deserialize(params) @TaskType = params['TaskType'] @ProductId = params['ProductId'] @DeviceNameFilter = params['DeviceNameFilter'] @ScheduleTimeInSeconds = params['ScheduleTimeInSeconds'] unless params['Tasks'].nil? @Tasks = Task.new @Tasks.deserialize(params['Tasks']) end @MaxExecutionTimeInSeconds = params['MaxExecutionTimeInSeconds'] end end # CreateTask返回参数结构体 class CreateTaskResponse < TencentCloud::Common::AbstractModel # @param TaskId: 创建的任务ID # @type TaskId: String # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :TaskId, :RequestId def initialize(taskid=nil, requestid=nil) @TaskId = taskid @RequestId = requestid end def deserialize(params) @TaskId = params['TaskId'] @RequestId = params['RequestId'] end end # CreateTopicPolicy请求参数结构体 class CreateTopicPolicyRequest < TencentCloud::Common::AbstractModel # @param ProductID: 产品自身ID # @type ProductID: String # @param TopicName: Topic名称 # @type TopicName: String # @param Privilege: Topic权限,1发布,2订阅,3订阅和发布 # @type Privilege: Integer # @param BrokerSubscribe: 代理订阅信息,网关产品为绑定的子产品创建topic时需要填写,内容为子产品的ID和设备信息。 # @type BrokerSubscribe: :class:`Tencentcloud::Iotcloud.v20180614.models.BrokerSubscribe` attr_accessor :ProductID, :TopicName, :Privilege, :BrokerSubscribe def initialize(productid=nil, topicname=nil, privilege=nil, brokersubscribe=nil) @ProductID = productid @TopicName = topicname @Privilege = privilege @BrokerSubscribe = brokersubscribe end def deserialize(params) @ProductID = params['ProductID'] @TopicName = params['TopicName'] @Privilege = params['Privilege'] unless params['BrokerSubscribe'].nil? @BrokerSubscribe = BrokerSubscribe.new @BrokerSubscribe.deserialize(params['BrokerSubscribe']) end end end # CreateTopicPolicy返回参数结构体 class CreateTopicPolicyResponse < TencentCloud::Common::AbstractModel # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RequestId def initialize(requestid=nil) @RequestId = requestid end def deserialize(params) @RequestId = params['RequestId'] end end # CreateTopicRule请求参数结构体 class CreateTopicRuleRequest < TencentCloud::Common::AbstractModel # @param RuleName: 规则名称 # @type RuleName: String # @param TopicRulePayload: 规则内容 # @type TopicRulePayload: :class:`Tencentcloud::Iotcloud.v20180614.models.TopicRulePayload` attr_accessor :RuleName, :TopicRulePayload def initialize(rulename=nil, topicrulepayload=nil) @RuleName = rulename @TopicRulePayload = topicrulepayload end def deserialize(params) @RuleName = params['RuleName'] unless params['TopicRulePayload'].nil? @TopicRulePayload = TopicRulePayload.new @TopicRulePayload.deserialize(params['TopicRulePayload']) end end end # CreateTopicRule返回参数结构体 class CreateTopicRuleResponse < TencentCloud::Common::AbstractModel # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RequestId def initialize(requestid=nil) @RequestId = requestid end def deserialize(params) @RequestId = params['RequestId'] end end # DeleteDevice请求参数结构体 class DeleteDeviceRequest < TencentCloud::Common::AbstractModel # @param ProductId: 设备所属的产品 ID # @type ProductId: String # @param DeviceName: 需要删除的设备名称 # @type DeviceName: String # @param Skey: 删除LoRa设备以及LoRa网关设备需要skey # @type Skey: String attr_accessor :ProductId, :DeviceName, :Skey def initialize(productid=nil, devicename=nil, skey=nil) @ProductId = productid @DeviceName = devicename @Skey = skey end def deserialize(params) @ProductId = params['ProductId'] @DeviceName = params['DeviceName'] @Skey = params['Skey'] end end # DeleteDeviceResource请求参数结构体 class DeleteDeviceResourceRequest < TencentCloud::Common::AbstractModel # @param ProductID: 产品ID # @type ProductID: String # @param Name: 资源名称 # @type Name: String # @param DeviceName: 设备名称 # @type DeviceName: String attr_accessor :ProductID, :Name, :DeviceName def initialize(productid=nil, name=nil, devicename=nil) @ProductID = productid @Name = name @DeviceName = devicename end def deserialize(params) @ProductID = params['ProductID'] @Name = params['Name'] @DeviceName = params['DeviceName'] end end # DeleteDeviceResource返回参数结构体 class DeleteDeviceResourceResponse < TencentCloud::Common::AbstractModel # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RequestId def initialize(requestid=nil) @RequestId = requestid end def deserialize(params) @RequestId = params['RequestId'] end end # DeleteDevice返回参数结构体 class DeleteDeviceResponse < TencentCloud::Common::AbstractModel # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RequestId def initialize(requestid=nil) @RequestId = requestid end def deserialize(params) @RequestId = params['RequestId'] end end # DeleteLoraDevice请求参数结构体 class DeleteLoraDeviceRequest < TencentCloud::Common::AbstractModel # @param ProductId: 设备所属产品ID # @type ProductId: String # @param DeviceName: 设备名称 # @type DeviceName: String attr_accessor :ProductId, :DeviceName def initialize(productid=nil, devicename=nil) @ProductId = productid @DeviceName = devicename end def deserialize(params) @ProductId = params['ProductId'] @DeviceName = params['DeviceName'] end end # DeleteLoraDevice返回参数结构体 class DeleteLoraDeviceResponse < TencentCloud::Common::AbstractModel # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RequestId def initialize(requestid=nil) @RequestId = requestid end def deserialize(params) @RequestId = params['RequestId'] end end # DeleteProduct请求参数结构体 class DeleteProductRequest < TencentCloud::Common::AbstractModel # @param ProductId: 需要删除的产品 ID # @type ProductId: String # @param Skey: 删除LoRa产品需要skey # @type Skey: String attr_accessor :ProductId, :Skey def initialize(productid=nil, skey=nil) @ProductId = productid @Skey = skey end def deserialize(params) @ProductId = params['ProductId'] @Skey = params['Skey'] end end # DeleteProduct返回参数结构体 class DeleteProductResponse < TencentCloud::Common::AbstractModel # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RequestId def initialize(requestid=nil) @RequestId = requestid end def deserialize(params) @RequestId = params['RequestId'] end end # DeleteTopicRule请求参数结构体 class DeleteTopicRuleRequest < TencentCloud::Common::AbstractModel # @param RuleName: 规则名 # @type RuleName: String attr_accessor :RuleName def initialize(rulename=nil) @RuleName = rulename end def deserialize(params) @RuleName = params['RuleName'] end end # DeleteTopicRule返回参数结构体 class DeleteTopicRuleResponse < TencentCloud::Common::AbstractModel # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RequestId def initialize(requestid=nil) @RequestId = requestid end def deserialize(params) @RequestId = params['RequestId'] end end # DescribeAllDevices请求参数结构体 class DescribeAllDevicesRequest < TencentCloud::Common::AbstractModel # @param Offset: 查询偏移量。 # @type Offset: Integer # @param Limit: 查询设备数量。最大支持250个 # @type Limit: Integer attr_accessor :Offset, :Limit def initialize(offset=nil, limit=nil) @Offset = offset @Limit = limit end def deserialize(params) @Offset = params['Offset'] @Limit = params['Limit'] end end # DescribeAllDevices返回参数结构体 class DescribeAllDevicesResponse < TencentCloud::Common::AbstractModel # @param TotalCount: 设备总数。 # @type TotalCount: Integer # @param Devices: 查询的设备列表信息。 # @type Devices: Array # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :TotalCount, :Devices, :RequestId def initialize(totalcount=nil, devices=nil, requestid=nil) @TotalCount = totalcount @Devices = devices @RequestId = requestid end def deserialize(params) @TotalCount = params['TotalCount'] unless params['Devices'].nil? @Devices = [] params['Devices'].each do |i| deviceproperty_tmp = DeviceProperty.new deviceproperty_tmp.deserialize(i) @Devices << deviceproperty_tmp end end @RequestId = params['RequestId'] end end # DescribeDeviceClientKey请求参数结构体 class DescribeDeviceClientKeyRequest < TencentCloud::Common::AbstractModel # @param ProductId: 所属产品的Id # @type ProductId: String # @param DeviceName: 设备名称 # @type DeviceName: String attr_accessor :ProductId, :DeviceName def initialize(productid=nil, devicename=nil) @ProductId = productid @DeviceName = devicename end def deserialize(params) @ProductId = params['ProductId'] @DeviceName = params['DeviceName'] end end # DescribeDeviceClientKey返回参数结构体 class DescribeDeviceClientKeyResponse < TencentCloud::Common::AbstractModel # @param ClientKey: 设备的私钥 # @type ClientKey: String # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :ClientKey, :RequestId def initialize(clientkey=nil, requestid=nil) @ClientKey = clientkey @RequestId = requestid end def deserialize(params) @ClientKey = params['ClientKey'] @RequestId = params['RequestId'] end end # DescribeDevice请求参数结构体 class DescribeDeviceRequest < TencentCloud::Common::AbstractModel # @param ProductID: 产品ID # @type ProductID: String # @param DeviceName: 设备名 # @type DeviceName: String attr_accessor :ProductID, :DeviceName def initialize(productid=nil, devicename=nil) @ProductID = productid @DeviceName = devicename end def deserialize(params) @ProductID = params['ProductID'] @DeviceName = params['DeviceName'] end end # DescribeDeviceResource请求参数结构体 class DescribeDeviceResourceRequest < TencentCloud::Common::AbstractModel # @param DeviceName: 设备名称 # @type DeviceName: String # @param ProductID: 产品ID # @type ProductID: String # @param Name: 具体的设备资源名称 # @type Name: String attr_accessor :DeviceName, :ProductID, :Name def initialize(devicename=nil, productid=nil, name=nil) @DeviceName = devicename @ProductID = productid @Name = name end def deserialize(params) @DeviceName = params['DeviceName'] @ProductID = params['ProductID'] @Name = params['Name'] end end # DescribeDeviceResource返回参数结构体 class DescribeDeviceResourceResponse < TencentCloud::Common::AbstractModel # @param Result: 设备资源详情 # @type Result: :class:`Tencentcloud::Iotcloud.v20180614.models.DeviceResourceInfo` # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :Result, :RequestId def initialize(result=nil, requestid=nil) @Result = result @RequestId = requestid end def deserialize(params) unless params['Result'].nil? @Result = DeviceResourceInfo.new @Result.deserialize(params['Result']) end @RequestId = params['RequestId'] end end # DescribeDeviceResources请求参数结构体 class DescribeDeviceResourcesRequest < TencentCloud::Common::AbstractModel # @param Offset: 偏移量,Offset从0开始 # @type Offset: Integer # @param Limit: 分页的大小,数值范围 10-250 # @type Limit: Integer # @param ProductID: 产品ID # @type ProductID: String # @param DeviceName: 需要过滤的设备名称 # @type DeviceName: String # @param StartTime: 资源搜索开始时间 # @type StartTime: String # @param EndTime: 资源搜索结束时间 # @type EndTime: String attr_accessor :Offset, :Limit, :ProductID, :DeviceName, :StartTime, :EndTime def initialize(offset=nil, limit=nil, productid=nil, devicename=nil, starttime=nil, endtime=nil) @Offset = offset @Limit = limit @ProductID = productid @DeviceName = devicename @StartTime = starttime @EndTime = endtime end def deserialize(params) @Offset = params['Offset'] @Limit = params['Limit'] @ProductID = params['ProductID'] @DeviceName = params['DeviceName'] @StartTime = params['StartTime'] @EndTime = params['EndTime'] end end # DescribeDeviceResources返回参数结构体 class DescribeDeviceResourcesResponse < TencentCloud::Common::AbstractModel # @param TotalCount: 资源总数 # @type TotalCount: Integer # @param Result: 资源列表 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Result: Array # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :TotalCount, :Result, :RequestId def initialize(totalcount=nil, result=nil, requestid=nil) @TotalCount = totalcount @Result = result @RequestId = requestid end def deserialize(params) @TotalCount = params['TotalCount'] unless params['Result'].nil? @Result = [] params['Result'].each do |i| deviceresourceinfo_tmp = DeviceResourceInfo.new deviceresourceinfo_tmp.deserialize(i) @Result << deviceresourceinfo_tmp end end @RequestId = params['RequestId'] end end # DescribeDevice返回参数结构体 class DescribeDeviceResponse < TencentCloud::Common::AbstractModel # @param DeviceName: 设备名 # @type DeviceName: String # @param Online: 设备是否在线,0不在线,1在线 # @type Online: Integer # @param LoginTime: 设备登录时间 # @type LoginTime: Integer # @param Version: 设备固件版本 # @type Version: String # @param LastUpdateTime: 设备最后更新时间 # @type LastUpdateTime: Integer # @param DeviceCert: 设备证书 # @type DeviceCert: String # @param DevicePsk: 设备密钥 # @type DevicePsk: String # @param Tags: 设备属性 # @type Tags: Array # @param DeviceType: 设备类型 # @type DeviceType: Integer # @param Imei: 国际移动设备识别码 IMEI # @type Imei: String # @param Isp: 运营商类型 # @type Isp: Integer # @param ConnIP: IP地址 # @type ConnIP: Integer # @param NbiotDeviceID: NB IoT运营商处的DeviceID # @type NbiotDeviceID: String # @param LoraDevEui: Lora设备的dev eui # @type LoraDevEui: String # @param LoraMoteType: Lora设备的mote type # @type LoraMoteType: Integer # @param LogLevel: 设备的sdk日志等级 # 注意:此字段可能返回 null,表示取不到有效值。 # @type LogLevel: Integer # @param FirstOnlineTime: 首次上线时间 # 注意:此字段可能返回 null,表示取不到有效值。 # @type FirstOnlineTime: Integer # @param LastOfflineTime: 最近下线时间 # 注意:此字段可能返回 null,表示取不到有效值。 # @type LastOfflineTime: Integer # @param CreateTime: 设备创建时间 # 注意:此字段可能返回 null,表示取不到有效值。 # @type CreateTime: Integer # @param CertState: 设备证书获取状态,0 未获取过设备密钥, 1 已获取过设备密钥 # 注意:此字段可能返回 null,表示取不到有效值。 # @type CertState: Integer # @param EnableState: 设备启用状态 # 注意:此字段可能返回 null,表示取不到有效值。 # @type EnableState: Integer # @param Labels: 设备标签 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Labels: Array # @param ClientIP: MQTT客户端IP地址 # 注意:此字段可能返回 null,表示取不到有效值。 # @type ClientIP: String # @param FirmwareUpdateTime: 设备固件更新时间 # 注意:此字段可能返回 null,表示取不到有效值。 # @type FirmwareUpdateTime: Integer # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :DeviceName, :Online, :LoginTime, :Version, :LastUpdateTime, :DeviceCert, :DevicePsk, :Tags, :DeviceType, :Imei, :Isp, :ConnIP, :NbiotDeviceID, :LoraDevEui, :LoraMoteType, :LogLevel, :FirstOnlineTime, :LastOfflineTime, :CreateTime, :CertState, :EnableState, :Labels, :ClientIP, :FirmwareUpdateTime, :RequestId def initialize(devicename=nil, online=nil, logintime=nil, version=nil, lastupdatetime=nil, devicecert=nil, devicepsk=nil, tags=nil, devicetype=nil, imei=nil, isp=nil, connip=nil, nbiotdeviceid=nil, loradeveui=nil, loramotetype=nil, loglevel=nil, firstonlinetime=nil, lastofflinetime=nil, createtime=nil, certstate=nil, enablestate=nil, labels=nil, clientip=nil, firmwareupdatetime=nil, requestid=nil) @DeviceName = devicename @Online = online @LoginTime = logintime @Version = version @LastUpdateTime = lastupdatetime @DeviceCert = devicecert @DevicePsk = devicepsk @Tags = tags @DeviceType = devicetype @Imei = imei @Isp = isp @ConnIP = connip @NbiotDeviceID = nbiotdeviceid @LoraDevEui = loradeveui @LoraMoteType = loramotetype @LogLevel = loglevel @FirstOnlineTime = firstonlinetime @LastOfflineTime = lastofflinetime @CreateTime = createtime @CertState = certstate @EnableState = enablestate @Labels = labels @ClientIP = clientip @FirmwareUpdateTime = firmwareupdatetime @RequestId = requestid end def deserialize(params) @DeviceName = params['DeviceName'] @Online = params['Online'] @LoginTime = params['LoginTime'] @Version = params['Version'] @LastUpdateTime = params['LastUpdateTime'] @DeviceCert = params['DeviceCert'] @DevicePsk = params['DevicePsk'] unless params['Tags'].nil? @Tags = [] params['Tags'].each do |i| devicetag_tmp = DeviceTag.new devicetag_tmp.deserialize(i) @Tags << devicetag_tmp end end @DeviceType = params['DeviceType'] @Imei = params['Imei'] @Isp = params['Isp'] @ConnIP = params['ConnIP'] @NbiotDeviceID = params['NbiotDeviceID'] @LoraDevEui = params['LoraDevEui'] @LoraMoteType = params['LoraMoteType'] @LogLevel = params['LogLevel'] @FirstOnlineTime = params['FirstOnlineTime'] @LastOfflineTime = params['LastOfflineTime'] @CreateTime = params['CreateTime'] @CertState = params['CertState'] @EnableState = params['EnableState'] unless params['Labels'].nil? @Labels = [] params['Labels'].each do |i| devicelabel_tmp = DeviceLabel.new devicelabel_tmp.deserialize(i) @Labels << devicelabel_tmp end end @ClientIP = params['ClientIP'] @FirmwareUpdateTime = params['FirmwareUpdateTime'] @RequestId = params['RequestId'] end end # DescribeDeviceShadow请求参数结构体 class DescribeDeviceShadowRequest < TencentCloud::Common::AbstractModel # @param ProductId: 产品 ID # @type ProductId: String # @param DeviceName: 设备名称。命名规则:[a-zA-Z0-9:_-]{1,48} # @type DeviceName: String attr_accessor :ProductId, :DeviceName def initialize(productid=nil, devicename=nil) @ProductId = productid @DeviceName = devicename end def deserialize(params) @ProductId = params['ProductId'] @DeviceName = params['DeviceName'] end end # DescribeDeviceShadow返回参数结构体 class DescribeDeviceShadowResponse < TencentCloud::Common::AbstractModel # @param Data: 设备影子数据 # @type Data: String # @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) @Data = params['Data'] @RequestId = params['RequestId'] end end # DescribeDevices请求参数结构体 class DescribeDevicesRequest < TencentCloud::Common::AbstractModel # @param ProductId: 需要查看设备列表的产品 ID # @type ProductId: String # @param Offset: 偏移量,Offset从0开始 # @type Offset: Integer # @param Limit: 分页的大小,数值范围 10-250 # @type Limit: Integer # @param FirmwareVersion: 设备固件版本号,若不带此参数会返回所有固件版本的设备。传"None-FirmwareVersion"查询无版本号的设备 # @type FirmwareVersion: String # @param DeviceName: 需要过滤的设备名称 # @type DeviceName: String # @param EnableState: 设备是否启用,0禁用状态1启用状态,默认不区分 # @type EnableState: Integer attr_accessor :ProductId, :Offset, :Limit, :FirmwareVersion, :DeviceName, :EnableState def initialize(productid=nil, offset=nil, limit=nil, firmwareversion=nil, devicename=nil, enablestate=nil) @ProductId = productid @Offset = offset @Limit = limit @FirmwareVersion = firmwareversion @DeviceName = devicename @EnableState = enablestate end def deserialize(params) @ProductId = params['ProductId'] @Offset = params['Offset'] @Limit = params['Limit'] @FirmwareVersion = params['FirmwareVersion'] @DeviceName = params['DeviceName'] @EnableState = params['EnableState'] end end # DescribeDevices返回参数结构体 class DescribeDevicesResponse < TencentCloud::Common::AbstractModel # @param TotalCount: 设备总数 # @type TotalCount: Integer # @param Devices: 设备详细信息列表 # @type Devices: Array # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :TotalCount, :Devices, :RequestId def initialize(totalcount=nil, devices=nil, requestid=nil) @TotalCount = totalcount @Devices = devices @RequestId = requestid end def deserialize(params) @TotalCount = params['TotalCount'] unless params['Devices'].nil? @Devices = [] params['Devices'].each do |i| deviceinfo_tmp = DeviceInfo.new deviceinfo_tmp.deserialize(i) @Devices << deviceinfo_tmp end end @RequestId = params['RequestId'] end end # DescribeFirmware请求参数结构体 class DescribeFirmwareRequest < TencentCloud::Common::AbstractModel # @param ProductID: 产品ID # @type ProductID: String # @param FirmwareVersion: 固件版本号 # @type FirmwareVersion: String attr_accessor :ProductID, :FirmwareVersion def initialize(productid=nil, firmwareversion=nil) @ProductID = productid @FirmwareVersion = firmwareversion end def deserialize(params) @ProductID = params['ProductID'] @FirmwareVersion = params['FirmwareVersion'] end end # DescribeFirmware返回参数结构体 class DescribeFirmwareResponse < TencentCloud::Common::AbstractModel # @param Version: 固件版本号 # @type Version: String # @param ProductId: 产品ID # @type ProductId: String # @param Name: 固件名称 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Name: String # @param Description: 固件描述 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Description: String # @param Md5sum: 固件Md5值 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Md5sum: String # @param Createtime: 固件上传的秒级时间戳 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Createtime: Integer # @param ProductName: 产品名称 # @type ProductName: String # @param FwType: 固件类型。选项:mcu、module # @type FwType: String # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :Version, :ProductId, :Name, :Description, :Md5sum, :Createtime, :ProductName, :FwType, :RequestId def initialize(version=nil, productid=nil, name=nil, description=nil, md5sum=nil, createtime=nil, productname=nil, fwtype=nil, requestid=nil) @Version = version @ProductId = productid @Name = name @Description = description @Md5sum = md5sum @Createtime = createtime @ProductName = productname @FwType = fwtype @RequestId = requestid end def deserialize(params) @Version = params['Version'] @ProductId = params['ProductId'] @Name = params['Name'] @Description = params['Description'] @Md5sum = params['Md5sum'] @Createtime = params['Createtime'] @ProductName = params['ProductName'] @FwType = params['FwType'] @RequestId = params['RequestId'] end end # DescribeFirmwareTaskDevices请求参数结构体 class DescribeFirmwareTaskDevicesRequest < TencentCloud::Common::AbstractModel # @param ProductID: 产品ID # @type ProductID: String # @param FirmwareVersion: 固件版本 # @type FirmwareVersion: String # @param Filters: 筛选条件 # @type Filters: Array # @param Offset: 查询偏移量 # @type Offset: Integer # @param Limit: 查询的数量 # @type Limit: Integer attr_accessor :ProductID, :FirmwareVersion, :Filters, :Offset, :Limit def initialize(productid=nil, firmwareversion=nil, filters=nil, offset=nil, limit=nil) @ProductID = productid @FirmwareVersion = firmwareversion @Filters = filters @Offset = offset @Limit = limit end def deserialize(params) @ProductID = params['ProductID'] @FirmwareVersion = params['FirmwareVersion'] unless params['Filters'].nil? @Filters = [] params['Filters'].each do |i| searchkeyword_tmp = SearchKeyword.new searchkeyword_tmp.deserialize(i) @Filters << searchkeyword_tmp end end @Offset = params['Offset'] @Limit = params['Limit'] end end # DescribeFirmwareTaskDevices返回参数结构体 class DescribeFirmwareTaskDevicesResponse < TencentCloud::Common::AbstractModel # @param Total: 固件升级任务的设备总数 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Total: Integer # @param Devices: 固件升级任务的设备列表 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Devices: Array # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :Total, :Devices, :RequestId def initialize(total=nil, devices=nil, requestid=nil) @Total = total @Devices = devices @RequestId = requestid end def deserialize(params) @Total = params['Total'] unless params['Devices'].nil? @Devices = [] params['Devices'].each do |i| deviceupdatestatus_tmp = DeviceUpdateStatus.new deviceupdatestatus_tmp.deserialize(i) @Devices << deviceupdatestatus_tmp end end @RequestId = params['RequestId'] end end # DescribeFirmwareTaskDistribution请求参数结构体 class DescribeFirmwareTaskDistributionRequest < TencentCloud::Common::AbstractModel # @param ProductID: 产品ID # @type ProductID: String # @param FirmwareVersion: 固件版本号 # @type FirmwareVersion: String # @param TaskId: 固件升级任务ID # @type TaskId: Integer attr_accessor :ProductID, :FirmwareVersion, :TaskId def initialize(productid=nil, firmwareversion=nil, taskid=nil) @ProductID = productid @FirmwareVersion = firmwareversion @TaskId = taskid end def deserialize(params) @ProductID = params['ProductID'] @FirmwareVersion = params['FirmwareVersion'] @TaskId = params['TaskId'] end end # DescribeFirmwareTaskDistribution返回参数结构体 class DescribeFirmwareTaskDistributionResponse < TencentCloud::Common::AbstractModel # @param StatusInfos: 固件升级任务状态分布信息 # @type StatusInfos: Array # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :StatusInfos, :RequestId def initialize(statusinfos=nil, requestid=nil) @StatusInfos = statusinfos @RequestId = requestid end def deserialize(params) unless params['StatusInfos'].nil? @StatusInfos = [] params['StatusInfos'].each do |i| statusstatistic_tmp = StatusStatistic.new statusstatistic_tmp.deserialize(i) @StatusInfos << statusstatistic_tmp end end @RequestId = params['RequestId'] end end # DescribeFirmwareTask请求参数结构体 class DescribeFirmwareTaskRequest < TencentCloud::Common::AbstractModel # @param ProductID: 产品ID # @type ProductID: String # @param FirmwareVersion: 固件版本号 # @type FirmwareVersion: String # @param TaskId: 固件任务ID # @type TaskId: Integer attr_accessor :ProductID, :FirmwareVersion, :TaskId def initialize(productid=nil, firmwareversion=nil, taskid=nil) @ProductID = productid @FirmwareVersion = firmwareversion @TaskId = taskid end def deserialize(params) @ProductID = params['ProductID'] @FirmwareVersion = params['FirmwareVersion'] @TaskId = params['TaskId'] end end # DescribeFirmwareTask返回参数结构体 class DescribeFirmwareTaskResponse < TencentCloud::Common::AbstractModel # @param TaskId: 固件任务ID # 注意:此字段可能返回 null,表示取不到有效值。 # @type TaskId: Integer # @param Status: 固件任务状态 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Status: Integer # @param CreateTime: 固件任务创建时间,单位:秒 # 注意:此字段可能返回 null,表示取不到有效值。 # @type CreateTime: Integer # @param Type: 固件任务升级类型 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Type: Integer # @param ProductName: 产品名称 # 注意:此字段可能返回 null,表示取不到有效值。 # @type ProductName: String # @param UpgradeMode: 固件任务升级模式。originalVersion(按版本号升级)、filename(提交文件升级)、devicenames(按设备名称升级) # 注意:此字段可能返回 null,表示取不到有效值。 # @type UpgradeMode: String # @param ProductId: 产品ID # 注意:此字段可能返回 null,表示取不到有效值。 # @type ProductId: String # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :TaskId, :Status, :CreateTime, :Type, :ProductName, :UpgradeMode, :ProductId, :RequestId def initialize(taskid=nil, status=nil, createtime=nil, type=nil, productname=nil, upgrademode=nil, productid=nil, requestid=nil) @TaskId = taskid @Status = status @CreateTime = createtime @Type = type @ProductName = productname @UpgradeMode = upgrademode @ProductId = productid @RequestId = requestid end def deserialize(params) @TaskId = params['TaskId'] @Status = params['Status'] @CreateTime = params['CreateTime'] @Type = params['Type'] @ProductName = params['ProductName'] @UpgradeMode = params['UpgradeMode'] @ProductId = params['ProductId'] @RequestId = params['RequestId'] end end # DescribeFirmwareTaskStatistics请求参数结构体 class DescribeFirmwareTaskStatisticsRequest < TencentCloud::Common::AbstractModel # @param ProductID: 产品ID # @type ProductID: String # @param FirmwareVersion: 固件版本号 # @type FirmwareVersion: String attr_accessor :ProductID, :FirmwareVersion def initialize(productid=nil, firmwareversion=nil) @ProductID = productid @FirmwareVersion = firmwareversion end def deserialize(params) @ProductID = params['ProductID'] @FirmwareVersion = params['FirmwareVersion'] end end # DescribeFirmwareTaskStatistics返回参数结构体 class DescribeFirmwareTaskStatisticsResponse < TencentCloud::Common::AbstractModel # @param SuccessTotal: 升级成功的设备总数 # 注意:此字段可能返回 null,表示取不到有效值。 # @type SuccessTotal: Integer # @param FailureTotal: 升级失败的设备总数 # 注意:此字段可能返回 null,表示取不到有效值。 # @type FailureTotal: Integer # @param UpgradingTotal: 正在升级的设备总数 # 注意:此字段可能返回 null,表示取不到有效值。 # @type UpgradingTotal: Integer # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :SuccessTotal, :FailureTotal, :UpgradingTotal, :RequestId def initialize(successtotal=nil, failuretotal=nil, upgradingtotal=nil, requestid=nil) @SuccessTotal = successtotal @FailureTotal = failuretotal @UpgradingTotal = upgradingtotal @RequestId = requestid end def deserialize(params) @SuccessTotal = params['SuccessTotal'] @FailureTotal = params['FailureTotal'] @UpgradingTotal = params['UpgradingTotal'] @RequestId = params['RequestId'] end end # DescribeFirmwareTasks请求参数结构体 class DescribeFirmwareTasksRequest < TencentCloud::Common::AbstractModel # @param ProductID: 产品ID # @type ProductID: String # @param FirmwareVersion: 固件版本号 # @type FirmwareVersion: String # @param Offset: 查询偏移量 # @type Offset: Integer # @param Limit: 返回查询结果条数 # @type Limit: Integer # @param Filters: 搜索过滤条件 # @type Filters: Array attr_accessor :ProductID, :FirmwareVersion, :Offset, :Limit, :Filters def initialize(productid=nil, firmwareversion=nil, offset=nil, limit=nil, filters=nil) @ProductID = productid @FirmwareVersion = firmwareversion @Offset = offset @Limit = limit @Filters = filters end def deserialize(params) @ProductID = params['ProductID'] @FirmwareVersion = params['FirmwareVersion'] @Offset = params['Offset'] @Limit = params['Limit'] unless params['Filters'].nil? @Filters = [] params['Filters'].each do |i| searchkeyword_tmp = SearchKeyword.new searchkeyword_tmp.deserialize(i) @Filters << searchkeyword_tmp end end end end # DescribeFirmwareTasks返回参数结构体 class DescribeFirmwareTasksResponse < TencentCloud::Common::AbstractModel # @param TaskInfos: 固件升级任务列表 # 注意:此字段可能返回 null,表示取不到有效值。 # @type TaskInfos: Array # @param Total: 固件升级任务总数 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Total: Integer # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :TaskInfos, :Total, :RequestId def initialize(taskinfos=nil, total=nil, requestid=nil) @TaskInfos = taskinfos @Total = total @RequestId = requestid end def deserialize(params) unless params['TaskInfos'].nil? @TaskInfos = [] params['TaskInfos'].each do |i| firmwaretaskinfo_tmp = FirmwareTaskInfo.new firmwaretaskinfo_tmp.deserialize(i) @TaskInfos << firmwaretaskinfo_tmp end end @Total = params['Total'] @RequestId = params['RequestId'] end end # DescribeLoraDevice请求参数结构体 class DescribeLoraDeviceRequest < TencentCloud::Common::AbstractModel # @param ProductId: 产品ID # @type ProductId: String # @param DeviceName: 设备名称 # @type DeviceName: String attr_accessor :ProductId, :DeviceName def initialize(productid=nil, devicename=nil) @ProductId = productid @DeviceName = devicename end def deserialize(params) @ProductId = params['ProductId'] @DeviceName = params['DeviceName'] end end # DescribeLoraDevice返回参数结构体 class DescribeLoraDeviceResponse < TencentCloud::Common::AbstractModel # @param DeviceName: 设备名称 # @type DeviceName: String # @param AppEui: LoRa应用UUID # @type AppEui: String # @param DeviceEui: LoRa设备UUID # @type DeviceEui: String # @param AppKey: LoRa应用密钥 # @type AppKey: String # @param ClassType: 设备类型,目前支持A、B、C三种 # @type ClassType: String # @param ProductId: 设备所属产品id # @type ProductId: String # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :DeviceName, :AppEui, :DeviceEui, :AppKey, :ClassType, :ProductId, :RequestId def initialize(devicename=nil, appeui=nil, deviceeui=nil, appkey=nil, classtype=nil, productid=nil, requestid=nil) @DeviceName = devicename @AppEui = appeui @DeviceEui = deviceeui @AppKey = appkey @ClassType = classtype @ProductId = productid @RequestId = requestid end def deserialize(params) @DeviceName = params['DeviceName'] @AppEui = params['AppEui'] @DeviceEui = params['DeviceEui'] @AppKey = params['AppKey'] @ClassType = params['ClassType'] @ProductId = params['ProductId'] @RequestId = params['RequestId'] end end # DescribeMultiDevTask请求参数结构体 class DescribeMultiDevTaskRequest < TencentCloud::Common::AbstractModel # @param TaskId: 任务 ID,由批量创建设备接口返回 # @type TaskId: String # @param ProductId: 产品 ID,创建产品时腾讯云为用户分配全局唯一的 ID # @type ProductId: String attr_accessor :TaskId, :ProductId def initialize(taskid=nil, productid=nil) @TaskId = taskid @ProductId = productid end def deserialize(params) @TaskId = params['TaskId'] @ProductId = params['ProductId'] end end # DescribeMultiDevTask返回参数结构体 class DescribeMultiDevTaskResponse < TencentCloud::Common::AbstractModel # @param TaskId: 任务 ID # @type TaskId: String # @param TaskStatus: 任务是否完成。0 代表任务未开始,1 代表任务正在执行,2 代表任务已完成 # @type TaskStatus: Integer # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :TaskId, :TaskStatus, :RequestId def initialize(taskid=nil, taskstatus=nil, requestid=nil) @TaskId = taskid @TaskStatus = taskstatus @RequestId = requestid end def deserialize(params) @TaskId = params['TaskId'] @TaskStatus = params['TaskStatus'] @RequestId = params['RequestId'] end end # DescribeMultiDevices请求参数结构体 class DescribeMultiDevicesRequest < TencentCloud::Common::AbstractModel # @param ProductId: 产品 ID,创建产品时腾讯云为用户分配全局唯一的 ID # @type ProductId: String # @param TaskId: 任务 ID,由批量创建设备接口返回 # @type TaskId: String # @param Offset: 分页偏移 # @type Offset: Integer # @param Limit: 分页大小,每页返回的设备个数 # @type Limit: Integer attr_accessor :ProductId, :TaskId, :Offset, :Limit def initialize(productid=nil, taskid=nil, offset=nil, limit=nil) @ProductId = productid @TaskId = taskid @Offset = offset @Limit = limit end def deserialize(params) @ProductId = params['ProductId'] @TaskId = params['TaskId'] @Offset = params['Offset'] @Limit = params['Limit'] end end # DescribeMultiDevices返回参数结构体 class DescribeMultiDevicesResponse < TencentCloud::Common::AbstractModel # @param TaskId: 任务 ID,由批量创建设备接口返回 # @type TaskId: String # @param DevicesInfo: 设备详细信息列表 # @type DevicesInfo: Array # @param TotalDevNum: 该任务创建设备的总数 # @type TotalDevNum: Integer # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :TaskId, :DevicesInfo, :TotalDevNum, :RequestId def initialize(taskid=nil, devicesinfo=nil, totaldevnum=nil, requestid=nil) @TaskId = taskid @DevicesInfo = devicesinfo @TotalDevNum = totaldevnum @RequestId = requestid end def deserialize(params) @TaskId = params['TaskId'] unless params['DevicesInfo'].nil? @DevicesInfo = [] params['DevicesInfo'].each do |i| multidevicesinfo_tmp = MultiDevicesInfo.new multidevicesinfo_tmp.deserialize(i) @DevicesInfo << multidevicesinfo_tmp end end @TotalDevNum = params['TotalDevNum'] @RequestId = params['RequestId'] end end # DescribeProduct请求参数结构体 class DescribeProductRequest < TencentCloud::Common::AbstractModel # @param ProductId: 产品ID # @type ProductId: String attr_accessor :ProductId def initialize(productid=nil) @ProductId = productid end def deserialize(params) @ProductId = params['ProductId'] end end # DescribeProductResource请求参数结构体 class DescribeProductResourceRequest < TencentCloud::Common::AbstractModel # @param ProductID: 需要查看资源列表的产品 ID # @type ProductID: String # @param Name: 需要过滤的资源名称 # @type Name: String attr_accessor :ProductID, :Name def initialize(productid=nil, name=nil) @ProductID = productid @Name = name end def deserialize(params) @ProductID = params['ProductID'] @Name = params['Name'] end end # DescribeProductResource返回参数结构体 class DescribeProductResourceResponse < TencentCloud::Common::AbstractModel # @param Result: 资源详情 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Result: :class:`Tencentcloud::Iotcloud.v20180614.models.ProductResourceInfo` # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :Result, :RequestId def initialize(result=nil, requestid=nil) @Result = result @RequestId = requestid end def deserialize(params) unless params['Result'].nil? @Result = ProductResourceInfo.new @Result.deserialize(params['Result']) end @RequestId = params['RequestId'] end end # DescribeProductResources请求参数结构体 class DescribeProductResourcesRequest < TencentCloud::Common::AbstractModel # @param Offset: 偏移量,Offset从0开始 # @type Offset: Integer # @param Limit: 分页的大小,数值范围 10-250 # @type Limit: Integer # @param ProductID: 需要查看资源列表的产品 ID # @type ProductID: String # @param Name: 需要过滤的资源名称 # @type Name: String attr_accessor :Offset, :Limit, :ProductID, :Name def initialize(offset=nil, limit=nil, productid=nil, name=nil) @Offset = offset @Limit = limit @ProductID = productid @Name = name end def deserialize(params) @Offset = params['Offset'] @Limit = params['Limit'] @ProductID = params['ProductID'] @Name = params['Name'] end end # DescribeProductResources返回参数结构体 class DescribeProductResourcesResponse < TencentCloud::Common::AbstractModel # @param TotalCount: 资源总数 # @type TotalCount: Integer # @param Result: 资源详情 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Result: Array # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :TotalCount, :Result, :RequestId def initialize(totalcount=nil, result=nil, requestid=nil) @TotalCount = totalcount @Result = result @RequestId = requestid end def deserialize(params) @TotalCount = params['TotalCount'] unless params['Result'].nil? @Result = [] params['Result'].each do |i| productresourceinfo_tmp = ProductResourceInfo.new productresourceinfo_tmp.deserialize(i) @Result << productresourceinfo_tmp end end @RequestId = params['RequestId'] end end # DescribeProduct返回参数结构体 class DescribeProductResponse < TencentCloud::Common::AbstractModel # @param ProductId: 产品ID # @type ProductId: String # @param ProductName: 产品名 # @type ProductName: String # @param ProductMetadata: 产品元数据 # @type ProductMetadata: :class:`Tencentcloud::Iotcloud.v20180614.models.ProductMetadata` # @param ProductProperties: 产品属性 # @type ProductProperties: :class:`Tencentcloud::Iotcloud.v20180614.models.ProductProperties` # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :ProductId, :ProductName, :ProductMetadata, :ProductProperties, :RequestId def initialize(productid=nil, productname=nil, productmetadata=nil, productproperties=nil, requestid=nil) @ProductId = productid @ProductName = productname @ProductMetadata = productmetadata @ProductProperties = productproperties @RequestId = requestid end def deserialize(params) @ProductId = params['ProductId'] @ProductName = params['ProductName'] unless params['ProductMetadata'].nil? @ProductMetadata = ProductMetadata.new @ProductMetadata.deserialize(params['ProductMetadata']) end unless params['ProductProperties'].nil? @ProductProperties = ProductProperties.new @ProductProperties.deserialize(params['ProductProperties']) end @RequestId = params['RequestId'] end end # DescribeProductTask请求参数结构体 class DescribeProductTaskRequest < TencentCloud::Common::AbstractModel # @param ProductId: 产品ID # @type ProductId: String # @param TaskId: 任务ID # @type TaskId: Integer attr_accessor :ProductId, :TaskId def initialize(productid=nil, taskid=nil) @ProductId = productid @TaskId = taskid end def deserialize(params) @ProductId = params['ProductId'] @TaskId = params['TaskId'] end end # DescribeProductTask返回参数结构体 class DescribeProductTaskResponse < TencentCloud::Common::AbstractModel # @param TaskInfo: 产品任务详细信息 # @type TaskInfo: :class:`Tencentcloud::Iotcloud.v20180614.models.ProductTaskInfo` # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :TaskInfo, :RequestId def initialize(taskinfo=nil, requestid=nil) @TaskInfo = taskinfo @RequestId = requestid end def deserialize(params) unless params['TaskInfo'].nil? @TaskInfo = ProductTaskInfo.new @TaskInfo.deserialize(params['TaskInfo']) end @RequestId = params['RequestId'] end end # DescribeProductTasks请求参数结构体 class DescribeProductTasksRequest < TencentCloud::Common::AbstractModel # @param ProductId: 产品ID # @type ProductId: String # @param Offset: 产品级别任务列表偏移量 # @type Offset: Integer # @param Limit: 产品级别任务列表拉取个数 # @type Limit: Integer attr_accessor :ProductId, :Offset, :Limit def initialize(productid=nil, offset=nil, limit=nil) @ProductId = productid @Offset = offset @Limit = limit end def deserialize(params) @ProductId = params['ProductId'] @Offset = params['Offset'] @Limit = params['Limit'] end end # DescribeProductTasks返回参数结构体 class DescribeProductTasksResponse < TencentCloud::Common::AbstractModel # @param TotalCount: 符合条件的任务总个数 # @type TotalCount: Integer # @param TaskInfos: 任务详细信息列表 # @type TaskInfos: Array # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :TotalCount, :TaskInfos, :RequestId def initialize(totalcount=nil, taskinfos=nil, requestid=nil) @TotalCount = totalcount @TaskInfos = taskinfos @RequestId = requestid end def deserialize(params) @TotalCount = params['TotalCount'] unless params['TaskInfos'].nil? @TaskInfos = [] params['TaskInfos'].each do |i| producttaskinfo_tmp = ProductTaskInfo.new producttaskinfo_tmp.deserialize(i) @TaskInfos << producttaskinfo_tmp end end @RequestId = params['RequestId'] end end # DescribeProducts请求参数结构体 class DescribeProductsRequest < TencentCloud::Common::AbstractModel # @param Offset: 偏移量,Offset从0开始 # @type Offset: Integer # @param Limit: 分页大小,当前页面中显示的最大数量,值范围 10-250。 # @type Limit: Integer attr_accessor :Offset, :Limit def initialize(offset=nil, limit=nil) @Offset = offset @Limit = limit end def deserialize(params) @Offset = params['Offset'] @Limit = params['Limit'] end end # DescribeProducts返回参数结构体 class DescribeProductsResponse < TencentCloud::Common::AbstractModel # @param TotalCount: 产品总数 # @type TotalCount: Integer # @param Products: 产品详细信息列表 # @type Products: Array # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :TotalCount, :Products, :RequestId def initialize(totalcount=nil, products=nil, requestid=nil) @TotalCount = totalcount @Products = products @RequestId = requestid end def deserialize(params) @TotalCount = params['TotalCount'] unless params['Products'].nil? @Products = [] params['Products'].each do |i| productinfo_tmp = ProductInfo.new productinfo_tmp.deserialize(i) @Products << productinfo_tmp end end @RequestId = params['RequestId'] end end # DescribePushResourceTaskStatistics请求参数结构体 class DescribePushResourceTaskStatisticsRequest < TencentCloud::Common::AbstractModel # @param ProductID: 产品ID # @type ProductID: String # @param Name: 资源名称 # @type Name: String attr_accessor :ProductID, :Name def initialize(productid=nil, name=nil) @ProductID = productid @Name = name end def deserialize(params) @ProductID = params['ProductID'] @Name = params['Name'] end end # DescribePushResourceTaskStatistics返回参数结构体 class DescribePushResourceTaskStatisticsResponse < TencentCloud::Common::AbstractModel # @param SuccessTotal: 推送成功的设备总数 # 注意:此字段可能返回 null,表示取不到有效值。 # @type SuccessTotal: Integer # @param FailureTotal: 推送失败的设备总数 # 注意:此字段可能返回 null,表示取不到有效值。 # @type FailureTotal: Integer # @param UpgradingTotal: 正在推送的设备总数 # 注意:此字段可能返回 null,表示取不到有效值。 # @type UpgradingTotal: Integer # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :SuccessTotal, :FailureTotal, :UpgradingTotal, :RequestId def initialize(successtotal=nil, failuretotal=nil, upgradingtotal=nil, requestid=nil) @SuccessTotal = successtotal @FailureTotal = failuretotal @UpgradingTotal = upgradingtotal @RequestId = requestid end def deserialize(params) @SuccessTotal = params['SuccessTotal'] @FailureTotal = params['FailureTotal'] @UpgradingTotal = params['UpgradingTotal'] @RequestId = params['RequestId'] end end # DescribeResourceTasks请求参数结构体 class DescribeResourceTasksRequest < TencentCloud::Common::AbstractModel # @param ProductID: 产品ID # @type ProductID: String # @param Name: 资源名称 # @type Name: String # @param Offset: 查询偏移量 # @type Offset: Integer # @param Limit: 返回查询结果条数 # @type Limit: Integer # @param Filters: 搜索过滤条件 # @type Filters: Array attr_accessor :ProductID, :Name, :Offset, :Limit, :Filters def initialize(productid=nil, name=nil, offset=nil, limit=nil, filters=nil) @ProductID = productid @Name = name @Offset = offset @Limit = limit @Filters = filters end def deserialize(params) @ProductID = params['ProductID'] @Name = params['Name'] @Offset = params['Offset'] @Limit = params['Limit'] unless params['Filters'].nil? @Filters = [] params['Filters'].each do |i| searchkeyword_tmp = SearchKeyword.new searchkeyword_tmp.deserialize(i) @Filters << searchkeyword_tmp end end end end # DescribeResourceTasks返回参数结构体 class DescribeResourceTasksResponse < TencentCloud::Common::AbstractModel # @param TaskInfos: 资源任务列表 # 注意:此字段可能返回 null,表示取不到有效值。 # @type TaskInfos: Array # @param Total: 资源任务总数 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Total: Integer # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :TaskInfos, :Total, :RequestId def initialize(taskinfos=nil, total=nil, requestid=nil) @TaskInfos = taskinfos @Total = total @RequestId = requestid end def deserialize(params) unless params['TaskInfos'].nil? @TaskInfos = [] params['TaskInfos'].each do |i| firmwaretaskinfo_tmp = FirmwareTaskInfo.new firmwaretaskinfo_tmp.deserialize(i) @TaskInfos << firmwaretaskinfo_tmp end end @Total = params['Total'] @RequestId = params['RequestId'] end end # DescribeTask请求参数结构体 class DescribeTaskRequest < TencentCloud::Common::AbstractModel # @param Id: 任务ID # @type Id: String attr_accessor :Id def initialize(id=nil) @Id = id end def deserialize(params) @Id = params['Id'] end end # DescribeTask返回参数结构体 class DescribeTaskResponse < TencentCloud::Common::AbstractModel # @param Type: 任务类型,目前取值为 “UpdateShadow” 或者 “PublishMessage” # @type Type: String # @param Id: 任务 ID # @type Id: String # @param ProductId: 产品 ID # @type ProductId: String # @param Status: 状态。1表示等待处理,2表示调度处理中,3表示已完成,4表示失败,5表示已取消 # @type Status: Integer # @param CreateTime: 任务创建时间,Unix 时间戳 # @type CreateTime: Integer # @param UpdateTime: 最后任务更新时间,Unix 时间戳 # @type UpdateTime: Integer # @param DoneTime: 任务完成时间,Unix 时间戳 # @type DoneTime: Integer # @param ScheduleTime: 被调度时间,Unix 时间戳 # @type ScheduleTime: Integer # @param RetCode: 返回的错误码 # @type RetCode: Integer # @param ErrMsg: 返回的错误信息 # @type ErrMsg: String # @param Percent: 完成任务的设备比例 # @type Percent: Integer # @param AllDeviceCnt: 匹配到的需执行任务的设备数目 # @type AllDeviceCnt: Integer # @param DoneDeviceCnt: 已完成任务的设备数目 # @type DoneDeviceCnt: Integer # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :Type, :Id, :ProductId, :Status, :CreateTime, :UpdateTime, :DoneTime, :ScheduleTime, :RetCode, :ErrMsg, :Percent, :AllDeviceCnt, :DoneDeviceCnt, :RequestId def initialize(type=nil, id=nil, productid=nil, status=nil, createtime=nil, updatetime=nil, donetime=nil, scheduletime=nil, retcode=nil, errmsg=nil, percent=nil, alldevicecnt=nil, donedevicecnt=nil, requestid=nil) @Type = type @Id = id @ProductId = productid @Status = status @CreateTime = createtime @UpdateTime = updatetime @DoneTime = donetime @ScheduleTime = scheduletime @RetCode = retcode @ErrMsg = errmsg @Percent = percent @AllDeviceCnt = alldevicecnt @DoneDeviceCnt = donedevicecnt @RequestId = requestid end def deserialize(params) @Type = params['Type'] @Id = params['Id'] @ProductId = params['ProductId'] @Status = params['Status'] @CreateTime = params['CreateTime'] @UpdateTime = params['UpdateTime'] @DoneTime = params['DoneTime'] @ScheduleTime = params['ScheduleTime'] @RetCode = params['RetCode'] @ErrMsg = params['ErrMsg'] @Percent = params['Percent'] @AllDeviceCnt = params['AllDeviceCnt'] @DoneDeviceCnt = params['DoneDeviceCnt'] @RequestId = params['RequestId'] end end # DescribeTasks请求参数结构体 class DescribeTasksRequest < TencentCloud::Common::AbstractModel # @param Offset: 偏移量,从0开始 # @type Offset: Integer # @param Limit: 分页的大小,数值范围 1-250 # @type Limit: Integer attr_accessor :Offset, :Limit def initialize(offset=nil, limit=nil) @Offset = offset @Limit = limit end def deserialize(params) @Offset = params['Offset'] @Limit = params['Limit'] end end # DescribeTasks返回参数结构体 class DescribeTasksResponse < TencentCloud::Common::AbstractModel # @param TotalCount: 用户一个月内创建的任务总数 # @type TotalCount: Integer # @param Tasks: 此页任务对象的数组,按创建时间排序 # @type Tasks: Array # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :TotalCount, :Tasks, :RequestId def initialize(totalcount=nil, tasks=nil, requestid=nil) @TotalCount = totalcount @Tasks = tasks @RequestId = requestid end def deserialize(params) @TotalCount = params['TotalCount'] unless params['Tasks'].nil? @Tasks = [] params['Tasks'].each do |i| taskinfo_tmp = TaskInfo.new taskinfo_tmp.deserialize(i) @Tasks << taskinfo_tmp end end @RequestId = params['RequestId'] end end # 设备详细信息 class DeviceInfo < TencentCloud::Common::AbstractModel # @param DeviceName: 设备名 # @type DeviceName: String # @param Online: 设备是否在线,0不在线,1在线 # @type Online: Integer # @param LoginTime: 设备登录时间 # @type LoginTime: Integer # @param Version: 设备版本 # @type Version: String # @param DeviceCert: 设备证书,证书加密的设备返回 # @type DeviceCert: String # @param DevicePsk: 设备密钥,密钥加密的设备返回 # @type DevicePsk: String # @param Tags: 设备属性 # @type Tags: Array # @param DeviceType: 设备类型 # @type DeviceType: Integer # @param Imei: 国际移动设备识别码 IMEI # @type Imei: String # @param Isp: 运营商类型 # @type Isp: Integer # @param NbiotDeviceID: NB IOT运营商处的DeviceID # @type NbiotDeviceID: String # @param ConnIP: IP地址 # @type ConnIP: Integer # @param LastUpdateTime: 设备最后更新时间 # @type LastUpdateTime: Integer # @param LoraDevEui: LoRa设备的dev eui # @type LoraDevEui: String # @param LoraMoteType: LoRa设备的Mote type # @type LoraMoteType: Integer # @param FirstOnlineTime: 首次上线时间 # 注意:此字段可能返回 null,表示取不到有效值。 # @type FirstOnlineTime: Integer # @param LastOfflineTime: 最近下线时间 # 注意:此字段可能返回 null,表示取不到有效值。 # @type LastOfflineTime: Integer # @param CreateTime: 设备创建时间 # 注意:此字段可能返回 null,表示取不到有效值。 # @type CreateTime: Integer # @param LogLevel: 设备日志级别 # 注意:此字段可能返回 null,表示取不到有效值。 # @type LogLevel: Integer # @param CertState: 设备证书获取状态, 1 已获取过设备密钥,0 未获取过设备密钥 # 注意:此字段可能返回 null,表示取不到有效值。 # @type CertState: Integer # @param EnableState: 设备可用状态,0禁用,1启用 # 注意:此字段可能返回 null,表示取不到有效值。 # @type EnableState: Integer # @param Labels: 设备标签 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Labels: Array # @param ClientIP: MQTT客户端IP地址 # 注意:此字段可能返回 null,表示取不到有效值。 # @type ClientIP: String # @param FirmwareUpdateTime: ota最后更新时间 # 注意:此字段可能返回 null,表示取不到有效值。 # @type FirmwareUpdateTime: Integer attr_accessor :DeviceName, :Online, :LoginTime, :Version, :DeviceCert, :DevicePsk, :Tags, :DeviceType, :Imei, :Isp, :NbiotDeviceID, :ConnIP, :LastUpdateTime, :LoraDevEui, :LoraMoteType, :FirstOnlineTime, :LastOfflineTime, :CreateTime, :LogLevel, :CertState, :EnableState, :Labels, :ClientIP, :FirmwareUpdateTime def initialize(devicename=nil, online=nil, logintime=nil, version=nil, devicecert=nil, devicepsk=nil, tags=nil, devicetype=nil, imei=nil, isp=nil, nbiotdeviceid=nil, connip=nil, lastupdatetime=nil, loradeveui=nil, loramotetype=nil, firstonlinetime=nil, lastofflinetime=nil, createtime=nil, loglevel=nil, certstate=nil, enablestate=nil, labels=nil, clientip=nil, firmwareupdatetime=nil) @DeviceName = devicename @Online = online @LoginTime = logintime @Version = version @DeviceCert = devicecert @DevicePsk = devicepsk @Tags = tags @DeviceType = devicetype @Imei = imei @Isp = isp @NbiotDeviceID = nbiotdeviceid @ConnIP = connip @LastUpdateTime = lastupdatetime @LoraDevEui = loradeveui @LoraMoteType = loramotetype @FirstOnlineTime = firstonlinetime @LastOfflineTime = lastofflinetime @CreateTime = createtime @LogLevel = loglevel @CertState = certstate @EnableState = enablestate @Labels = labels @ClientIP = clientip @FirmwareUpdateTime = firmwareupdatetime end def deserialize(params) @DeviceName = params['DeviceName'] @Online = params['Online'] @LoginTime = params['LoginTime'] @Version = params['Version'] @DeviceCert = params['DeviceCert'] @DevicePsk = params['DevicePsk'] unless params['Tags'].nil? @Tags = [] params['Tags'].each do |i| devicetag_tmp = DeviceTag.new devicetag_tmp.deserialize(i) @Tags << devicetag_tmp end end @DeviceType = params['DeviceType'] @Imei = params['Imei'] @Isp = params['Isp'] @NbiotDeviceID = params['NbiotDeviceID'] @ConnIP = params['ConnIP'] @LastUpdateTime = params['LastUpdateTime'] @LoraDevEui = params['LoraDevEui'] @LoraMoteType = params['LoraMoteType'] @FirstOnlineTime = params['FirstOnlineTime'] @LastOfflineTime = params['LastOfflineTime'] @CreateTime = params['CreateTime'] @LogLevel = params['LogLevel'] @CertState = params['CertState'] @EnableState = params['EnableState'] unless params['Labels'].nil? @Labels = [] params['Labels'].each do |i| devicelabel_tmp = DeviceLabel.new devicelabel_tmp.deserialize(i) @Labels << devicelabel_tmp end end @ClientIP = params['ClientIP'] @FirmwareUpdateTime = params['FirmwareUpdateTime'] end end # 设备标签 class DeviceLabel < TencentCloud::Common::AbstractModel # @param Key: 标签标识 # @type Key: String # @param Value: 标签值 # @type Value: String attr_accessor :Key, :Value def initialize(key=nil, value=nil) @Key = key @Value = value end def deserialize(params) @Key = params['Key'] @Value = params['Value'] end end # 设备资源信息。 class DeviceProperty < TencentCloud::Common::AbstractModel # @param ProductId: 产品ID。 # 注意:此字段可能返回 null,表示取不到有效值。 # @type ProductId: String # @param ProductName: 产品名称。 # 注意:此字段可能返回 null,表示取不到有效值。 # @type ProductName: String # @param DeviceName: 设备名称。 # 注意:此字段可能返回 null,表示取不到有效值。 # @type DeviceName: String # @param ResourceId: 设备资源ID。 # 注意:此字段可能返回 null,表示取不到有效值。 # @type ResourceId: String attr_accessor :ProductId, :ProductName, :DeviceName, :ResourceId def initialize(productid=nil, productname=nil, devicename=nil, resourceid=nil) @ProductId = productid @ProductName = productname @DeviceName = devicename @ResourceId = resourceid end def deserialize(params) @ProductId = params['ProductId'] @ProductName = params['ProductName'] @DeviceName = params['DeviceName'] @ResourceId = params['ResourceId'] end end # 设备资源详细信息 class DeviceResourceInfo < TencentCloud::Common::AbstractModel # @param ProductID: 产品ID # @type ProductID: String # @param ProductName: 产品名 # @type ProductName: String # @param Name: 资源名称 # @type Name: String # @param Md5: 资源文件md5 # @type Md5: String # @param Size: 资源文件大小 # @type Size: Integer # @param UpdateTime: 资源更新时间 # @type UpdateTime: String # @param DeviceName: 设备名称 # @type DeviceName: String # @param Status: 设备资源上传状态 # @type Status: Integer # @param Percent: 设备资源上传百分比 # @type Percent: Integer attr_accessor :ProductID, :ProductName, :Name, :Md5, :Size, :UpdateTime, :DeviceName, :Status, :Percent def initialize(productid=nil, productname=nil, name=nil, md5=nil, size=nil, updatetime=nil, devicename=nil, status=nil, percent=nil) @ProductID = productid @ProductName = productname @Name = name @Md5 = md5 @Size = size @UpdateTime = updatetime @DeviceName = devicename @Status = status @Percent = percent end def deserialize(params) @ProductID = params['ProductID'] @ProductName = params['ProductName'] @Name = params['Name'] @Md5 = params['Md5'] @Size = params['Size'] @UpdateTime = params['UpdateTime'] @DeviceName = params['DeviceName'] @Status = params['Status'] @Percent = params['Percent'] end end # 设备属性 class DeviceTag < TencentCloud::Common::AbstractModel # @param Tag: 属性名称 # @type Tag: String # @param Type: 属性值的类型,1 int,2 string # @type Type: Integer # @param Value: 属性的值 # @type Value: String # @param Name: 属性描述名称 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Name: String attr_accessor :Tag, :Type, :Value, :Name def initialize(tag=nil, type=nil, value=nil, name=nil) @Tag = tag @Type = type @Value = value @Name = name end def deserialize(params) @Tag = params['Tag'] @Type = params['Type'] @Value = params['Value'] @Name = params['Name'] end end # 设备固件更新状态 class DeviceUpdateStatus < TencentCloud::Common::AbstractModel # @param DeviceName: 设备名 # @type DeviceName: String # @param LastProcessTime: 最后处理时间 # @type LastProcessTime: Integer # @param Status: 状态 # @type Status: Integer # @param ErrMsg: 错误消息 # @type ErrMsg: String # @param Retcode: 返回码 # @type Retcode: Integer # @param DstVersion: 目标更新版本 # @type DstVersion: String # @param Percent: 下载中状态时的下载进度 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Percent: Integer # @param OriVersion: 原版本号 # 注意:此字段可能返回 null,表示取不到有效值。 # @type OriVersion: String # @param TaskId: 任务ID # 注意:此字段可能返回 null,表示取不到有效值。 # @type TaskId: Integer attr_accessor :DeviceName, :LastProcessTime, :Status, :ErrMsg, :Retcode, :DstVersion, :Percent, :OriVersion, :TaskId def initialize(devicename=nil, lastprocesstime=nil, status=nil, errmsg=nil, retcode=nil, dstversion=nil, percent=nil, oriversion=nil, taskid=nil) @DeviceName = devicename @LastProcessTime = lastprocesstime @Status = status @ErrMsg = errmsg @Retcode = retcode @DstVersion = dstversion @Percent = percent @OriVersion = oriversion @TaskId = taskid end def deserialize(params) @DeviceName = params['DeviceName'] @LastProcessTime = params['LastProcessTime'] @Status = params['Status'] @ErrMsg = params['ErrMsg'] @Retcode = params['Retcode'] @DstVersion = params['DstVersion'] @Percent = params['Percent'] @OriVersion = params['OriVersion'] @TaskId = params['TaskId'] end end # DisableTopicRule请求参数结构体 class DisableTopicRuleRequest < TencentCloud::Common::AbstractModel # @param RuleName: 规则名称 # @type RuleName: String attr_accessor :RuleName def initialize(rulename=nil) @RuleName = rulename end def deserialize(params) @RuleName = params['RuleName'] end end # DisableTopicRule返回参数结构体 class DisableTopicRuleResponse < TencentCloud::Common::AbstractModel # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RequestId def initialize(requestid=nil) @RequestId = requestid end def deserialize(params) @RequestId = params['RequestId'] end end # DownloadDeviceResource请求参数结构体 class DownloadDeviceResourceRequest < TencentCloud::Common::AbstractModel # @param ProductID: 产品ID # @type ProductID: String # @param Name: 资源名称 # @type Name: String # @param DeviceName: 设备名称 # @type DeviceName: String attr_accessor :ProductID, :Name, :DeviceName def initialize(productid=nil, name=nil, devicename=nil) @ProductID = productid @Name = name @DeviceName = devicename end def deserialize(params) @ProductID = params['ProductID'] @Name = params['Name'] @DeviceName = params['DeviceName'] end end # DownloadDeviceResource返回参数结构体 class DownloadDeviceResourceResponse < TencentCloud::Common::AbstractModel # @param Url: 设备资源的cos链接 # @type Url: String # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :Url, :RequestId def initialize(url=nil, requestid=nil) @Url = url @RequestId = requestid end def deserialize(params) @Url = params['Url'] @RequestId = params['RequestId'] end end # EditFirmware请求参数结构体 class EditFirmwareRequest < TencentCloud::Common::AbstractModel # @param ProductID: 产品ID。 # @type ProductID: String # @param FirmwareVersion: 固件版本号。 # @type FirmwareVersion: String # @param FirmwareName: 固件名称。 # @type FirmwareName: String # @param FirmwareDescription: 固件描述 # @type FirmwareDescription: String # @param FwType: 固件类型:选填 mcu、moudule。默认:mcu # @type FwType: String attr_accessor :ProductID, :FirmwareVersion, :FirmwareName, :FirmwareDescription, :FwType def initialize(productid=nil, firmwareversion=nil, firmwarename=nil, firmwaredescription=nil, fwtype=nil) @ProductID = productid @FirmwareVersion = firmwareversion @FirmwareName = firmwarename @FirmwareDescription = firmwaredescription @FwType = fwtype end def deserialize(params) @ProductID = params['ProductID'] @FirmwareVersion = params['FirmwareVersion'] @FirmwareName = params['FirmwareName'] @FirmwareDescription = params['FirmwareDescription'] @FwType = params['FwType'] end end # EditFirmware返回参数结构体 class EditFirmwareResponse < TencentCloud::Common::AbstractModel # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RequestId def initialize(requestid=nil) @RequestId = requestid end def deserialize(params) @RequestId = params['RequestId'] end end # EnableTopicRule请求参数结构体 class EnableTopicRuleRequest < TencentCloud::Common::AbstractModel # @param RuleName: 规则名称 # @type RuleName: String attr_accessor :RuleName def initialize(rulename=nil) @RuleName = rulename end def deserialize(params) @RuleName = params['RuleName'] end end # EnableTopicRule返回参数结构体 class EnableTopicRuleResponse < TencentCloud::Common::AbstractModel # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RequestId def initialize(requestid=nil) @RequestId = requestid end def deserialize(params) @RequestId = params['RequestId'] end end # 固件升级任务信息 class FirmwareTaskInfo < TencentCloud::Common::AbstractModel # @param TaskId: 任务ID # 注意:此字段可能返回 null,表示取不到有效值。 # @type TaskId: Integer # @param Status: 任务状态 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Status: Integer # @param Type: 任务类型 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Type: Integer # @param CreateTime: 任务创建时间 # 注意:此字段可能返回 null,表示取不到有效值。 # @type CreateTime: Integer attr_accessor :TaskId, :Status, :Type, :CreateTime def initialize(taskid=nil, status=nil, type=nil, createtime=nil) @TaskId = taskid @Status = status @Type = type @CreateTime = createtime end def deserialize(params) @TaskId = params['TaskId'] @Status = params['Status'] @Type = params['Type'] @CreateTime = params['CreateTime'] end end # GetCOSURL请求参数结构体 class GetCOSURLRequest < TencentCloud::Common::AbstractModel # @param ProductID: 产品ID # @type ProductID: String # @param FirmwareVersion: 固件版本 # @type FirmwareVersion: String attr_accessor :ProductID, :FirmwareVersion def initialize(productid=nil, firmwareversion=nil) @ProductID = productid @FirmwareVersion = firmwareversion end def deserialize(params) @ProductID = params['ProductID'] @FirmwareVersion = params['FirmwareVersion'] end end # GetCOSURL返回参数结构体 class GetCOSURLResponse < TencentCloud::Common::AbstractModel # @param Url: 固件URL # @type Url: String # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :Url, :RequestId def initialize(url=nil, requestid=nil) @Url = url @RequestId = requestid end def deserialize(params) @Url = params['Url'] @RequestId = params['RequestId'] end end # GetUserResourceInfo请求参数结构体 class GetUserResourceInfoRequest < TencentCloud::Common::AbstractModel def initialize() end def deserialize(params) end end # GetUserResourceInfo返回参数结构体 class GetUserResourceInfoResponse < TencentCloud::Common::AbstractModel # @param UsedSize: 已使用的资源字节数 # @type UsedSize: Integer # @param Limit: 可以使用资源的总大小 # @type Limit: Integer # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :UsedSize, :Limit, :RequestId def initialize(usedsize=nil, limit=nil, requestid=nil) @UsedSize = usedsize @Limit = limit @RequestId = requestid end def deserialize(params) @UsedSize = params['UsedSize'] @Limit = params['Limit'] @RequestId = params['RequestId'] end end # ListLogPayload请求参数结构体 class ListLogPayloadRequest < TencentCloud::Common::AbstractModel # @param MinTime: 日志开始时间 # @type MinTime: Integer # @param MaxTime: 日志结束时间 # @type MaxTime: Integer # @param Keywords: 查询关键字,可以同时支持键值查询和文本查询,例如,查询某key的值为value,并且包含某word的日志,该参数为:key:value word。键值或文本可以包含多个,以空格隔开。其中可以索引的key比如:RequestID、ProductID、DeviceName等。 # 一个典型的查询示例:ProductID:ABCDE12345 DeviceName:test publish # @type Keywords: String # @param Context: 日志检索上下文 # @type Context: String # @param MaxNum: 日志最大条数 # @type MaxNum: Integer attr_accessor :MinTime, :MaxTime, :Keywords, :Context, :MaxNum def initialize(mintime=nil, maxtime=nil, keywords=nil, context=nil, maxnum=nil) @MinTime = mintime @MaxTime = maxtime @Keywords = keywords @Context = context @MaxNum = maxnum end def deserialize(params) @MinTime = params['MinTime'] @MaxTime = params['MaxTime'] @Keywords = params['Keywords'] @Context = params['Context'] @MaxNum = params['MaxNum'] end end # ListLogPayload返回参数结构体 class ListLogPayloadResponse < TencentCloud::Common::AbstractModel # @param Context: 日志上下文 # @type Context: String # @param Listover: 是否还有日志,如有仍有日志,下次查询的请求带上当前请求返回的Context # @type Listover: Boolean # @param Results: 日志列表 # @type Results: Array # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :Context, :Listover, :Results, :RequestId def initialize(context=nil, listover=nil, results=nil, requestid=nil) @Context = context @Listover = listover @Results = results @RequestId = requestid end def deserialize(params) @Context = params['Context'] @Listover = params['Listover'] unless params['Results'].nil? @Results = [] params['Results'].each do |i| payloadlogitem_tmp = PayloadLogItem.new payloadlogitem_tmp.deserialize(i) @Results << payloadlogitem_tmp end end @RequestId = params['RequestId'] end end # ListLog请求参数结构体 class ListLogRequest < TencentCloud::Common::AbstractModel # @param MinTime: 日志开始时间 # @type MinTime: Integer # @param MaxTime: 日志结束时间 # @type MaxTime: Integer # @param Keywords: 查询关键字,可以同时支持键值查询和文本查询,例如,查询某key的值为value,并且包含某word的日志,该参数为:key:value word。键值或文本可以包含多个,以空格隔开。其中可以索引的key包括:requestid、productid、devicename、scene、content。 # 一个典型的查询示例:productid:ABCDE12345 devicename:test scene:SHADOW content:Device%20connect publish # @type Keywords: String # @param Context: 日志检索上下文 # @type Context: String # @param MaxNum: 查询条数 # @type MaxNum: Integer attr_accessor :MinTime, :MaxTime, :Keywords, :Context, :MaxNum def initialize(mintime=nil, maxtime=nil, keywords=nil, context=nil, maxnum=nil) @MinTime = mintime @MaxTime = maxtime @Keywords = keywords @Context = context @MaxNum = maxnum end def deserialize(params) @MinTime = params['MinTime'] @MaxTime = params['MaxTime'] @Keywords = params['Keywords'] @Context = params['Context'] @MaxNum = params['MaxNum'] end end # ListLog返回参数结构体 class ListLogResponse < TencentCloud::Common::AbstractModel # @param Context: 日志上下文 # @type Context: String # @param Listover: 是否还有日志,如有仍有日志,下次查询的请求带上当前请求返回的Context # @type Listover: Boolean # @param Results: 日志列表 # @type Results: Array # @param TotalCount: 日志总条数 # @type TotalCount: Integer # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :Context, :Listover, :Results, :TotalCount, :RequestId def initialize(context=nil, listover=nil, results=nil, totalcount=nil, requestid=nil) @Context = context @Listover = listover @Results = results @TotalCount = totalcount @RequestId = requestid end def deserialize(params) @Context = params['Context'] @Listover = params['Listover'] unless params['Results'].nil? @Results = [] params['Results'].each do |i| clslogitem_tmp = CLSLogItem.new clslogitem_tmp.deserialize(i) @Results << clslogitem_tmp end end @TotalCount = params['TotalCount'] @RequestId = params['RequestId'] end end # ListSDKLog请求参数结构体 class ListSDKLogRequest < TencentCloud::Common::AbstractModel # @param MinTime: 日志开始时间 # @type MinTime: Integer # @param MaxTime: 日志结束时间 # @type MaxTime: Integer # @param Keywords: 查询关键字,可以同时支持键值查询和文本查询, # 例如,查询某key的值为value,并且包含某word的日志,该参数为:key:value word。 # 键值或文本可以包含多个,以空格隔开。 # 其中可以索引的key包括:productid、devicename、loglevel # 一个典型的查询示例:productid:7JK1G72JNE devicename:name publish loglevel:WARN一个典型的查询示例:productid:ABCDE12345 devicename:test scene:SHADOW publish # @type Keywords: String # @param Context: 日志检索上下文 # @type Context: String # @param MaxNum: 查询条数 # @type MaxNum: Integer attr_accessor :MinTime, :MaxTime, :Keywords, :Context, :MaxNum def initialize(mintime=nil, maxtime=nil, keywords=nil, context=nil, maxnum=nil) @MinTime = mintime @MaxTime = maxtime @Keywords = keywords @Context = context @MaxNum = maxnum end def deserialize(params) @MinTime = params['MinTime'] @MaxTime = params['MaxTime'] @Keywords = params['Keywords'] @Context = params['Context'] @MaxNum = params['MaxNum'] end end # ListSDKLog返回参数结构体 class ListSDKLogResponse < TencentCloud::Common::AbstractModel # @param Context: 日志检索上下文 # @type Context: String # @param Listover: 是否还有日志,如有仍有日志,下次查询的请求带上当前请求返回的Context # @type Listover: Boolean # @param Results: 日志列表 # @type Results: Array # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :Context, :Listover, :Results, :RequestId def initialize(context=nil, listover=nil, results=nil, requestid=nil) @Context = context @Listover = listover @Results = results @RequestId = requestid end def deserialize(params) @Context = params['Context'] @Listover = params['Listover'] unless params['Results'].nil? @Results = [] params['Results'].each do |i| sdklogitem_tmp = SDKLogItem.new sdklogitem_tmp.deserialize(i) @Results << sdklogitem_tmp end end @RequestId = params['RequestId'] end end # 创建设备时返回的设备信息 class MultiDevicesInfo < TencentCloud::Common::AbstractModel # @param DeviceName: 设备名 # @type DeviceName: String # @param DevicePsk: 对称加密密钥,base64 编码,采用对称加密时返回该参数 # @type DevicePsk: String # @param DeviceCert: 设备证书,采用非对称加密时返回该参数 # @type DeviceCert: String # @param DevicePrivateKey: 设备私钥,采用非对称加密时返回该参数,腾讯云为用户缓存起来,其生命周期与任务生命周期一致 # @type DevicePrivateKey: String # @param Result: 错误码 # @type Result: Integer # @param ErrMsg: 错误信息 # @type ErrMsg: String attr_accessor :DeviceName, :DevicePsk, :DeviceCert, :DevicePrivateKey, :Result, :ErrMsg def initialize(devicename=nil, devicepsk=nil, devicecert=nil, deviceprivatekey=nil, result=nil, errmsg=nil) @DeviceName = devicename @DevicePsk = devicepsk @DeviceCert = devicecert @DevicePrivateKey = deviceprivatekey @Result = result @ErrMsg = errmsg end def deserialize(params) @DeviceName = params['DeviceName'] @DevicePsk = params['DevicePsk'] @DeviceCert = params['DeviceCert'] @DevicePrivateKey = params['DevicePrivateKey'] @Result = params['Result'] @ErrMsg = params['ErrMsg'] end end # 内容日志项 class PayloadLogItem < TencentCloud::Common::AbstractModel # @param Uin: 账号id # @type Uin: String # @param ProductID: 产品id # @type ProductID: String # @param DeviceName: 设备名称 # @type DeviceName: String # @param SrcType: 来源类型 # @type SrcType: String # @param SrcName: 来源名称 # @type SrcName: String # @param Topic: 消息topic # @type Topic: String # @param PayloadFmtType: 内容格式类型 # @type PayloadFmtType: String # @param Payload: 内容信息 # @type Payload: String # @param RequestID: 请求ID # @type RequestID: String # @param DateTime: 日期时间 # @type DateTime: String attr_accessor :Uin, :ProductID, :DeviceName, :SrcType, :SrcName, :Topic, :PayloadFmtType, :Payload, :RequestID, :DateTime def initialize(uin=nil, productid=nil, devicename=nil, srctype=nil, srcname=nil, topic=nil, payloadfmttype=nil, payload=nil, requestid=nil, datetime=nil) @Uin = uin @ProductID = productid @DeviceName = devicename @SrcType = srctype @SrcName = srcname @Topic = topic @PayloadFmtType = payloadfmttype @Payload = payload @RequestID = requestid @DateTime = datetime end def deserialize(params) @Uin = params['Uin'] @ProductID = params['ProductID'] @DeviceName = params['DeviceName'] @SrcType = params['SrcType'] @SrcName = params['SrcName'] @Topic = params['Topic'] @PayloadFmtType = params['PayloadFmtType'] @Payload = params['Payload'] @RequestID = params['RequestID'] @DateTime = params['DateTime'] end end # 产品详细信息 class ProductInfo < TencentCloud::Common::AbstractModel # @param ProductId: 产品ID # @type ProductId: String # @param ProductName: 产品名 # @type ProductName: String # @param ProductMetadata: 产品元数据 # @type ProductMetadata: :class:`Tencentcloud::Iotcloud.v20180614.models.ProductMetadata` # @param ProductProperties: 产品属性 # @type ProductProperties: :class:`Tencentcloud::Iotcloud.v20180614.models.ProductProperties` attr_accessor :ProductId, :ProductName, :ProductMetadata, :ProductProperties def initialize(productid=nil, productname=nil, productmetadata=nil, productproperties=nil) @ProductId = productid @ProductName = productname @ProductMetadata = productmetadata @ProductProperties = productproperties end def deserialize(params) @ProductId = params['ProductId'] @ProductName = params['ProductName'] unless params['ProductMetadata'].nil? @ProductMetadata = ProductMetadata.new @ProductMetadata.deserialize(params['ProductMetadata']) end unless params['ProductProperties'].nil? @ProductProperties = ProductProperties.new @ProductProperties.deserialize(params['ProductProperties']) end end end # 产品元数据 class ProductMetadata < TencentCloud::Common::AbstractModel # @param CreationDate: 产品创建时间 # @type CreationDate: Integer attr_accessor :CreationDate def initialize(creationdate=nil) @CreationDate = creationdate end def deserialize(params) @CreationDate = params['CreationDate'] end end # 产品属性 class ProductProperties < TencentCloud::Common::AbstractModel # @param ProductDescription: 产品描述 # @type ProductDescription: String # @param EncryptionType: 加密类型,1表示证书认证,2表示签名认证。如不填写,默认值是1 # @type EncryptionType: String # @param Region: 产品所属区域,目前只支持广州(gz) # @type Region: String # @param ProductType: 产品类型,各个类型值代表的节点-类型如下: # 0 普通产品,2 NB-IoT产品,4 LoRa产品,3 LoRa网关产品,5 普通网关产品 默认值是0 # @type ProductType: Integer # @param Format: 数据格式,取值为json或者custom,默认值是json # @type Format: String # @param Platform: 产品所属平台,默认值是0 # @type Platform: String # @param Appeui: LoRa产品运营侧APPEUI,只有LoRa产品需要填写 # @type Appeui: String # @param ModelId: 产品绑定的物模型ID,-1表示不绑定 # @type ModelId: String # @param ModelName: 产品绑定的物模型名称 # @type ModelName: String # @param ProductKey: 产品密钥,suite产品才会有 # @type ProductKey: String # @param RegisterType: 动态注册类型 0-关闭, 1-预定义设备名 2-动态定义设备名 # @type RegisterType: Integer # @param ProductSecret: 动态注册产品秘钥 # @type ProductSecret: String # @param RegisterLimit: RegisterType为2时,设备动态创建的限制数量 # @type RegisterLimit: Integer attr_accessor :ProductDescription, :EncryptionType, :Region, :ProductType, :Format, :Platform, :Appeui, :ModelId, :ModelName, :ProductKey, :RegisterType, :ProductSecret, :RegisterLimit def initialize(productdescription=nil, encryptiontype=nil, region=nil, producttype=nil, format=nil, platform=nil, appeui=nil, modelid=nil, modelname=nil, productkey=nil, registertype=nil, productsecret=nil, registerlimit=nil) @ProductDescription = productdescription @EncryptionType = encryptiontype @Region = region @ProductType = producttype @Format = format @Platform = platform @Appeui = appeui @ModelId = modelid @ModelName = modelname @ProductKey = productkey @RegisterType = registertype @ProductSecret = productsecret @RegisterLimit = registerlimit end def deserialize(params) @ProductDescription = params['ProductDescription'] @EncryptionType = params['EncryptionType'] @Region = params['Region'] @ProductType = params['ProductType'] @Format = params['Format'] @Platform = params['Platform'] @Appeui = params['Appeui'] @ModelId = params['ModelId'] @ModelName = params['ModelName'] @ProductKey = params['ProductKey'] @RegisterType = params['RegisterType'] @ProductSecret = params['ProductSecret'] @RegisterLimit = params['RegisterLimit'] end end # 产品资源详细信息 class ProductResourceInfo < TencentCloud::Common::AbstractModel # @param ProductID: 产品ID # @type ProductID: String # @param ProductName: 产品名 # @type ProductName: String # @param Name: 资源名称 # @type Name: String # @param Md5: 资源文件md5 # @type Md5: String # @param Size: 资源文件大小 # @type Size: Integer # @param Description: 资源文件描述 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Description: String # @param CreateTime: 资源创建时间 # @type CreateTime: String attr_accessor :ProductID, :ProductName, :Name, :Md5, :Size, :Description, :CreateTime def initialize(productid=nil, productname=nil, name=nil, md5=nil, size=nil, description=nil, createtime=nil) @ProductID = productid @ProductName = productname @Name = name @Md5 = md5 @Size = size @Description = description @CreateTime = createtime end def deserialize(params) @ProductID = params['ProductID'] @ProductName = params['ProductName'] @Name = params['Name'] @Md5 = params['Md5'] @Size = params['Size'] @Description = params['Description'] @CreateTime = params['CreateTime'] end end # 产品级任务详细信息 class ProductTaskInfo < TencentCloud::Common::AbstractModel # @param Id: 任务ID # @type Id: Integer # @param Type: 任务类型 0-批量创建设备类型 # @type Type: Integer # @param State: 任务状态 0-创建中 1-待执行 2-执行中 3-执行失败 4-子任务部分失败 5-执行成功 # @type State: Integer # @param ParametersType: 任务参数类型 cosfile-文件输入 random-随机生成 # @type ParametersType: String # @param Parameters: 任务参数 # @type Parameters: String # @param ResultType: 任务执行结果类型 cosfile-文件输出 errmsg-错误信息 # 注意:此字段可能返回 null,表示取不到有效值。 # @type ResultType: String # @param Result: 任务执行结果 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Result: String # @param BatchCount: 子任务总个数 # 注意:此字段可能返回 null,表示取不到有效值。 # @type BatchCount: Integer # @param BatchOffset: 子任务已执行个数 # 注意:此字段可能返回 null,表示取不到有效值。 # @type BatchOffset: Integer # @param CreateTime: 任务创建时间 # @type CreateTime: Integer # @param UpdateTime: 任务更新时间 # @type UpdateTime: Integer # @param CompleteTime: 任务完成时间 # 注意:此字段可能返回 null,表示取不到有效值。 # @type CompleteTime: Integer attr_accessor :Id, :Type, :State, :ParametersType, :Parameters, :ResultType, :Result, :BatchCount, :BatchOffset, :CreateTime, :UpdateTime, :CompleteTime def initialize(id=nil, type=nil, state=nil, parameterstype=nil, parameters=nil, resulttype=nil, result=nil, batchcount=nil, batchoffset=nil, createtime=nil, updatetime=nil, completetime=nil) @Id = id @Type = type @State = state @ParametersType = parameterstype @Parameters = parameters @ResultType = resulttype @Result = result @BatchCount = batchcount @BatchOffset = batchoffset @CreateTime = createtime @UpdateTime = updatetime @CompleteTime = completetime end def deserialize(params) @Id = params['Id'] @Type = params['Type'] @State = params['State'] @ParametersType = params['ParametersType'] @Parameters = params['Parameters'] @ResultType = params['ResultType'] @Result = params['Result'] @BatchCount = params['BatchCount'] @BatchOffset = params['BatchOffset'] @CreateTime = params['CreateTime'] @UpdateTime = params['UpdateTime'] @CompleteTime = params['CompleteTime'] end end # PublishAsDevice请求参数结构体 class PublishAsDeviceRequest < TencentCloud::Common::AbstractModel # @param ProductId: 产品ID # @type ProductId: String # @param DeviceName: 设备名称 # @type DeviceName: String # @param Port: LoRa 设备端口 # @type Port: Integer # @param Payload: 消息内容 # @type Payload: String attr_accessor :ProductId, :DeviceName, :Port, :Payload def initialize(productid=nil, devicename=nil, port=nil, payload=nil) @ProductId = productid @DeviceName = devicename @Port = port @Payload = payload end def deserialize(params) @ProductId = params['ProductId'] @DeviceName = params['DeviceName'] @Port = params['Port'] @Payload = params['Payload'] end end # PublishAsDevice返回参数结构体 class PublishAsDeviceResponse < TencentCloud::Common::AbstractModel # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RequestId def initialize(requestid=nil) @RequestId = requestid end def deserialize(params) @RequestId = params['RequestId'] end end # PublishBroadcastMessage请求参数结构体 class PublishBroadcastMessageRequest < TencentCloud::Common::AbstractModel # @param ProductId: 产品ID # @type ProductId: String # @param Payload: 消息内容 # @type Payload: String # @param Qos: 消息质量等级 # @type Qos: Integer # @param PayloadEncoding: Payload内容的编码格式,取值为base64或空。base64表示云端将收到的请求数据进行base64解码后下发到设备,空则直接将原始内容下发到设备 # @type PayloadEncoding: String attr_accessor :ProductId, :Payload, :Qos, :PayloadEncoding def initialize(productid=nil, payload=nil, qos=nil, payloadencoding=nil) @ProductId = productid @Payload = payload @Qos = qos @PayloadEncoding = payloadencoding end def deserialize(params) @ProductId = params['ProductId'] @Payload = params['Payload'] @Qos = params['Qos'] @PayloadEncoding = params['PayloadEncoding'] end end # PublishBroadcastMessage返回参数结构体 class PublishBroadcastMessageResponse < TencentCloud::Common::AbstractModel # @param TaskId: 广播消息任务ID # @type TaskId: Integer # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :TaskId, :RequestId def initialize(taskid=nil, requestid=nil) @TaskId = taskid @RequestId = requestid end def deserialize(params) @TaskId = params['TaskId'] @RequestId = params['RequestId'] end end # PublishMessage请求参数结构体 class PublishMessageRequest < TencentCloud::Common::AbstractModel # @param Topic: 消息发往的主题。命名规则:${ProductId}/${DeviceName}/[a-zA-Z0-9:_-]{1,128} # @type Topic: String # @param Payload: 消息内容 # @type Payload: String # @param ProductId: 产品ID # @type ProductId: String # @param DeviceName: 设备名称 # @type DeviceName: String # @param Qos: 服务质量等级,取值为0或1 # @type Qos: Integer # @param PayloadEncoding: Payload内容的编码格式,取值为base64或空。base64表示云端将收到的请求数据进行base64解码后下发到设备,空则直接将原始内容下发到设备 # @type PayloadEncoding: String attr_accessor :Topic, :Payload, :ProductId, :DeviceName, :Qos, :PayloadEncoding def initialize(topic=nil, payload=nil, productid=nil, devicename=nil, qos=nil, payloadencoding=nil) @Topic = topic @Payload = payload @ProductId = productid @DeviceName = devicename @Qos = qos @PayloadEncoding = payloadencoding end def deserialize(params) @Topic = params['Topic'] @Payload = params['Payload'] @ProductId = params['ProductId'] @DeviceName = params['DeviceName'] @Qos = params['Qos'] @PayloadEncoding = params['PayloadEncoding'] end end # PublishMessage返回参数结构体 class PublishMessageResponse < TencentCloud::Common::AbstractModel # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RequestId def initialize(requestid=nil) @RequestId = requestid end def deserialize(params) @RequestId = params['RequestId'] end end # PublishRRPCMessage请求参数结构体 class PublishRRPCMessageRequest < TencentCloud::Common::AbstractModel # @param ProductId: 产品ID # @type ProductId: String # @param DeviceName: 设备名称 # @type DeviceName: String # @param Payload: 消息内容,utf8编码 # @type Payload: String attr_accessor :ProductId, :DeviceName, :Payload def initialize(productid=nil, devicename=nil, payload=nil) @ProductId = productid @DeviceName = devicename @Payload = payload end def deserialize(params) @ProductId = params['ProductId'] @DeviceName = params['DeviceName'] @Payload = params['Payload'] end end # PublishRRPCMessage返回参数结构体 class PublishRRPCMessageResponse < TencentCloud::Common::AbstractModel # @param MessageId: RRPC消息ID # @type MessageId: Integer # @param PayloadBase64: 设备回复的消息内容,采用base64编码 # @type PayloadBase64: String # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :MessageId, :PayloadBase64, :RequestId def initialize(messageid=nil, payloadbase64=nil, requestid=nil) @MessageId = messageid @PayloadBase64 = payloadbase64 @RequestId = requestid end def deserialize(params) @MessageId = params['MessageId'] @PayloadBase64 = params['PayloadBase64'] @RequestId = params['RequestId'] end end # PublishToDevice请求参数结构体 class PublishToDeviceRequest < TencentCloud::Common::AbstractModel # @param ProductId: 产品id # @type ProductId: String # @param DeviceName: 设备名称 # @type DeviceName: String # @param Port: LoRa 端口 # @type Port: Integer # @param Payload: 消息内容 # @type Payload: String attr_accessor :ProductId, :DeviceName, :Port, :Payload def initialize(productid=nil, devicename=nil, port=nil, payload=nil) @ProductId = productid @DeviceName = devicename @Port = port @Payload = payload end def deserialize(params) @ProductId = params['ProductId'] @DeviceName = params['DeviceName'] @Port = params['Port'] @Payload = params['Payload'] end end # PublishToDevice返回参数结构体 class PublishToDeviceResponse < TencentCloud::Common::AbstractModel # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RequestId def initialize(requestid=nil) @RequestId = requestid end def deserialize(params) @RequestId = params['RequestId'] end end # ReplaceTopicRule请求参数结构体 class ReplaceTopicRuleRequest < TencentCloud::Common::AbstractModel # @param RuleName: 规则名称 # @type RuleName: String # @param TopicRulePayload: 替换的规则包体 # @type TopicRulePayload: :class:`Tencentcloud::Iotcloud.v20180614.models.TopicRulePayload` # @param ModifyType: 修改类型,0:其他,1:创建行为,2:更新行为,3:删除行为 # @type ModifyType: Integer # @param ActionIndex: action增删改变更填对应topicRulePayload里面第几个action # @type ActionIndex: Integer attr_accessor :RuleName, :TopicRulePayload, :ModifyType, :ActionIndex def initialize(rulename=nil, topicrulepayload=nil, modifytype=nil, actionindex=nil) @RuleName = rulename @TopicRulePayload = topicrulepayload @ModifyType = modifytype @ActionIndex = actionindex end def deserialize(params) @RuleName = params['RuleName'] unless params['TopicRulePayload'].nil? @TopicRulePayload = TopicRulePayload.new @TopicRulePayload.deserialize(params['TopicRulePayload']) end @ModifyType = params['ModifyType'] @ActionIndex = params['ActionIndex'] end end # ReplaceTopicRule返回参数结构体 class ReplaceTopicRuleResponse < TencentCloud::Common::AbstractModel # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RequestId def initialize(requestid=nil) @RequestId = requestid end def deserialize(params) @RequestId = params['RequestId'] end end # 重置设备状态结果 class ResetDeviceResult < TencentCloud::Common::AbstractModel # @param DeviceName: 设备名 # @type DeviceName: String # @param Success: 是否成功 # @type Success: Boolean # @param Reason: 失败原因 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Reason: String attr_accessor :DeviceName, :Success, :Reason def initialize(devicename=nil, success=nil, reason=nil) @DeviceName = devicename @Success = success @Reason = reason end def deserialize(params) @DeviceName = params['DeviceName'] @Success = params['Success'] @Reason = params['Reason'] end end # ResetDeviceState请求参数结构体 class ResetDeviceStateRequest < TencentCloud::Common::AbstractModel # @param ProductId: 产品ID # @type ProductId: String # @param DeviceNames: 设备名称 # @type DeviceNames: Array attr_accessor :ProductId, :DeviceNames def initialize(productid=nil, devicenames=nil) @ProductId = productid @DeviceNames = devicenames end def deserialize(params) @ProductId = params['ProductId'] @DeviceNames = params['DeviceNames'] end end # ResetDeviceState返回参数结构体 class ResetDeviceStateResponse < TencentCloud::Common::AbstractModel # @param SuccessCount: 批量重置设备成功数 # @type SuccessCount: Integer # @param ResetDeviceResults: 批量重置设备结果 # @type ResetDeviceResults: Array # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :SuccessCount, :ResetDeviceResults, :RequestId def initialize(successcount=nil, resetdeviceresults=nil, requestid=nil) @SuccessCount = successcount @ResetDeviceResults = resetdeviceresults @RequestId = requestid end def deserialize(params) @SuccessCount = params['SuccessCount'] unless params['ResetDeviceResults'].nil? @ResetDeviceResults = [] params['ResetDeviceResults'].each do |i| resetdeviceresult_tmp = ResetDeviceResult.new resetdeviceresult_tmp.deserialize(i) @ResetDeviceResults << resetdeviceresult_tmp end end @RequestId = params['RequestId'] end end # RetryDeviceFirmwareTask请求参数结构体 class RetryDeviceFirmwareTaskRequest < TencentCloud::Common::AbstractModel # @param ProductID: 产品ID # @type ProductID: String # @param DeviceName: 设备名称 # @type DeviceName: String # @param FirmwareVersion: 固件版本号 # @type FirmwareVersion: String # @param TaskId: 固件升级任务ID # @type TaskId: Integer attr_accessor :ProductID, :DeviceName, :FirmwareVersion, :TaskId def initialize(productid=nil, devicename=nil, firmwareversion=nil, taskid=nil) @ProductID = productid @DeviceName = devicename @FirmwareVersion = firmwareversion @TaskId = taskid end def deserialize(params) @ProductID = params['ProductID'] @DeviceName = params['DeviceName'] @FirmwareVersion = params['FirmwareVersion'] @TaskId = params['TaskId'] end end # RetryDeviceFirmwareTask返回参数结构体 class RetryDeviceFirmwareTaskResponse < TencentCloud::Common::AbstractModel # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RequestId def initialize(requestid=nil) @RequestId = requestid end def deserialize(params) @RequestId = params['RequestId'] end end # SDK日志项 class SDKLogItem < TencentCloud::Common::AbstractModel # @param ProductID: 产品ID # @type ProductID: String # @param DeviceName: 设备名称 # @type DeviceName: String # @param Level: 日志等级 # @type Level: String # @param DateTime: 日志时间 # @type DateTime: String # @param Content: 日志内容 # @type Content: String attr_accessor :ProductID, :DeviceName, :Level, :DateTime, :Content def initialize(productid=nil, devicename=nil, level=nil, datetime=nil, content=nil) @ProductID = productid @DeviceName = devicename @Level = level @DateTime = datetime @Content = content end def deserialize(params) @ProductID = params['ProductID'] @DeviceName = params['DeviceName'] @Level = params['Level'] @DateTime = params['DateTime'] @Content = params['Content'] end end # 搜索关键词 class SearchKeyword < TencentCloud::Common::AbstractModel # @param Key: 搜索条件的Key # @type Key: String # @param Value: 搜索条件的值 # @type Value: String attr_accessor :Key, :Value def initialize(key=nil, value=nil) @Key = key @Value = value end def deserialize(params) @Key = params['Key'] @Value = params['Value'] end end # SetProductsForbiddenStatus请求参数结构体 class SetProductsForbiddenStatusRequest < TencentCloud::Common::AbstractModel # @param ProductID: 要设置禁用状态的产品列表 # @type ProductID: Array # @param Status: 0启用,1禁用 # @type Status: Integer attr_accessor :ProductID, :Status def initialize(productid=nil, status=nil) @ProductID = productid @Status = status end def deserialize(params) @ProductID = params['ProductID'] @Status = params['Status'] end end # SetProductsForbiddenStatus返回参数结构体 class SetProductsForbiddenStatusResponse < TencentCloud::Common::AbstractModel # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RequestId def initialize(requestid=nil) @RequestId = requestid end def deserialize(params) @RequestId = params['RequestId'] end end # 状态统计信息 class StatusStatistic < TencentCloud::Common::AbstractModel # @param Status: 任务状态 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Status: Integer # @param Total: 统计总数 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Total: Integer attr_accessor :Status, :Total def initialize(status=nil, total=nil) @Status = status @Total = total end def deserialize(params) @Status = params['Status'] @Total = params['Total'] end end # 任务描述细节 class Task < TencentCloud::Common::AbstractModel # @param UpdateShadowTask: 批量更新影子任务的描述细节,当 taskType 取值为 “UpdateShadow” 时,此字段必填。描述见下 BatchUpdateShadow # @type UpdateShadowTask: :class:`Tencentcloud::Iotcloud.v20180614.models.BatchUpdateShadow` # @param PublishMessageTask: 批量下发消息任务的描述细节,当 taskType 取值为 “PublishMessage” 时,此字段必填。描述见下 BatchPublishMessage # @type PublishMessageTask: :class:`Tencentcloud::Iotcloud.v20180614.models.BatchPublishMessage` attr_accessor :UpdateShadowTask, :PublishMessageTask def initialize(updateshadowtask=nil, publishmessagetask=nil) @UpdateShadowTask = updateshadowtask @PublishMessageTask = publishmessagetask end def deserialize(params) unless params['UpdateShadowTask'].nil? @UpdateShadowTask = BatchUpdateShadow.new @UpdateShadowTask.deserialize(params['UpdateShadowTask']) end unless params['PublishMessageTask'].nil? @PublishMessageTask = BatchPublishMessage.new @PublishMessageTask.deserialize(params['PublishMessageTask']) end end end # 任务列表详细信息 class TaskInfo < TencentCloud::Common::AbstractModel # @param Type: 任务类型,目前取值为 “UpdateShadow” 或者 “PublishMessage” # @type Type: String # @param Id: 任务 ID # @type Id: String # @param ProductId: 产品 ID # @type ProductId: String # @param Status: 状态。1表示等待处理,2表示调度处理中,3表示已完成,4表示失败,5表示已取消 # @type Status: Integer # @param CreateTime: 任务创建时间,Unix 时间戳 # @type CreateTime: Integer # @param UpdateTime: 最后任务更新时间,Unix 时间戳 # @type UpdateTime: Integer # @param RetCode: 返回的错误码 # @type RetCode: Integer # @param ErrMsg: 返回的错误信息 # @type ErrMsg: String attr_accessor :Type, :Id, :ProductId, :Status, :CreateTime, :UpdateTime, :RetCode, :ErrMsg def initialize(type=nil, id=nil, productid=nil, status=nil, createtime=nil, updatetime=nil, retcode=nil, errmsg=nil) @Type = type @Id = id @ProductId = productid @Status = status @CreateTime = createtime @UpdateTime = updatetime @RetCode = retcode @ErrMsg = errmsg end def deserialize(params) @Type = params['Type'] @Id = params['Id'] @ProductId = params['ProductId'] @Status = params['Status'] @CreateTime = params['CreateTime'] @UpdateTime = params['UpdateTime'] @RetCode = params['RetCode'] @ErrMsg = params['ErrMsg'] end end # 创建规则请求包体 class TopicRulePayload < TencentCloud::Common::AbstractModel # @param Sql: 规则的SQL语句,如: SELECT * FROM 'pid/dname/event',然后对其进行base64编码,得:U0VMRUNUICogRlJPTSAncGlkL2RuYW1lL2V2ZW50Jw== # @type Sql: String # @param Actions: 行为的JSON字符串,大部分种类举例如下: # [ # { # "republish": { # "topic": "TEST/test" # } # }, # { # "forward": { # "api": "http://127.0.0.1:8080", # "token":"xxx" # } # }, # { # "ckafka": { # "instance": { # "id": "ckafka-test", # "name": "" # }, # "topic": { # "id": "topic-test", # "name": "test" # }, # "region": "gz" # } # }, # { # "cmqqueue": { # "queuename": "queue-test-TEST", # "region": "gz" # } # }, # { # "mysql": { # "instanceid": "cdb-test", # "region": "gz", # "username": "test", # "userpwd": "*****", # "dbname": "d_mqtt", # "tablename": "t_test", # "fieldpairs": [ # { # "field": "test", # "value": "test" # } # ], # "devicetype": "CUSTOM" # } # } # ] # @type Actions: String # @param Description: 规则描述 # @type Description: String # @param RuleDisabled: 是否禁用规则 # @type RuleDisabled: Boolean attr_accessor :Sql, :Actions, :Description, :RuleDisabled def initialize(sql=nil, actions=nil, description=nil, ruledisabled=nil) @Sql = sql @Actions = actions @Description = description @RuleDisabled = ruledisabled end def deserialize(params) @Sql = params['Sql'] @Actions = params['Actions'] @Description = params['Description'] @RuleDisabled = params['RuleDisabled'] end end # UnbindDevices请求参数结构体 class UnbindDevicesRequest < TencentCloud::Common::AbstractModel # @param GatewayProductId: 网关设备的产品ID # @type GatewayProductId: String # @param GatewayDeviceName: 网关设备的设备名 # @type GatewayDeviceName: String # @param ProductId: 产品ID # @type ProductId: String # @param DeviceNames: 多个设备名 # @type DeviceNames: Array # @param Skey: 中兴CLAA设备的解绑需要Skey,普通设备不需要 # @type Skey: String attr_accessor :GatewayProductId, :GatewayDeviceName, :ProductId, :DeviceNames, :Skey def initialize(gatewayproductid=nil, gatewaydevicename=nil, productid=nil, devicenames=nil, skey=nil) @GatewayProductId = gatewayproductid @GatewayDeviceName = gatewaydevicename @ProductId = productid @DeviceNames = devicenames @Skey = skey end def deserialize(params) @GatewayProductId = params['GatewayProductId'] @GatewayDeviceName = params['GatewayDeviceName'] @ProductId = params['ProductId'] @DeviceNames = params['DeviceNames'] @Skey = params['Skey'] end end # UnbindDevices返回参数结构体 class UnbindDevicesResponse < TencentCloud::Common::AbstractModel # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RequestId def initialize(requestid=nil) @RequestId = requestid end def deserialize(params) @RequestId = params['RequestId'] end end # UpdateDeviceAvailableState请求参数结构体 class UpdateDeviceAvailableStateRequest < TencentCloud::Common::AbstractModel # @param ProductId: 设备所属产品id # @type ProductId: String # @param DeviceName: 设备名称 # @type DeviceName: String # @param EnableState: 要设置的设备状态,1为启用,0为禁用 # @type EnableState: Integer attr_accessor :ProductId, :DeviceName, :EnableState def initialize(productid=nil, devicename=nil, enablestate=nil) @ProductId = productid @DeviceName = devicename @EnableState = enablestate end def deserialize(params) @ProductId = params['ProductId'] @DeviceName = params['DeviceName'] @EnableState = params['EnableState'] end end # UpdateDeviceAvailableState返回参数结构体 class UpdateDeviceAvailableStateResponse < TencentCloud::Common::AbstractModel # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RequestId def initialize(requestid=nil) @RequestId = requestid end def deserialize(params) @RequestId = params['RequestId'] end end # UpdateDeviceShadow请求参数结构体 class UpdateDeviceShadowRequest < TencentCloud::Common::AbstractModel # @param ProductId: 产品ID # @type ProductId: String # @param DeviceName: 设备名称 # @type DeviceName: String # @param State: 虚拟设备的状态,JSON字符串格式,由desired结构组成 # @type State: String # @param ShadowVersion: 当前版本号,需要和后台的version保持一致,才能更新成功 # @type ShadowVersion: Integer # @param Prefix: 下发delta消息的topic前缀,可选类型: "$shadow","$template"。不填写默认"$shadow"。 # @type Prefix: String attr_accessor :ProductId, :DeviceName, :State, :ShadowVersion, :Prefix def initialize(productid=nil, devicename=nil, state=nil, shadowversion=nil, prefix=nil) @ProductId = productid @DeviceName = devicename @State = state @ShadowVersion = shadowversion @Prefix = prefix end def deserialize(params) @ProductId = params['ProductId'] @DeviceName = params['DeviceName'] @State = params['State'] @ShadowVersion = params['ShadowVersion'] @Prefix = params['Prefix'] end end # UpdateDeviceShadow返回参数结构体 class UpdateDeviceShadowResponse < TencentCloud::Common::AbstractModel # @param Data: 设备影子数据,JSON字符串格式 # @type Data: String # @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) @Data = params['Data'] @RequestId = params['RequestId'] end end # UpdateDevicesEnableState请求参数结构体 class UpdateDevicesEnableStateRequest < TencentCloud::Common::AbstractModel # @param ProductID: 设备所属产品id # @type ProductID: String # @param DeviceNames: 设备名称集合 # @type DeviceNames: Array # @param Status: 要设置的设备状态,1为启用,0为禁用 # @type Status: Integer attr_accessor :ProductID, :DeviceNames, :Status def initialize(productid=nil, devicenames=nil, status=nil) @ProductID = productid @DeviceNames = devicenames @Status = status end def deserialize(params) @ProductID = params['ProductID'] @DeviceNames = params['DeviceNames'] @Status = params['Status'] end end # UpdateDevicesEnableState返回参数结构体 class UpdateDevicesEnableStateResponse < TencentCloud::Common::AbstractModel # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RequestId def initialize(requestid=nil) @RequestId = requestid end def deserialize(params) @RequestId = params['RequestId'] end end # UpdateProductDynamicRegister请求参数结构体 class UpdateProductDynamicRegisterRequest < TencentCloud::Common::AbstractModel # @param ProductId: 产品Id # @type ProductId: String # @param RegisterType: 动态注册类型,0-关闭 1-预创建设备 2-自动创建设备 # @type RegisterType: Integer # @param RegisterLimit: 动态注册设备上限 # @type RegisterLimit: Integer attr_accessor :ProductId, :RegisterType, :RegisterLimit def initialize(productid=nil, registertype=nil, registerlimit=nil) @ProductId = productid @RegisterType = registertype @RegisterLimit = registerlimit end def deserialize(params) @ProductId = params['ProductId'] @RegisterType = params['RegisterType'] @RegisterLimit = params['RegisterLimit'] end end # UpdateProductDynamicRegister返回参数结构体 class UpdateProductDynamicRegisterResponse < TencentCloud::Common::AbstractModel # @param RegisterType: 动态注册类型,0-关闭 1-预创建设备 2-自动创建设备 # @type RegisterType: Integer # @param ProductSecret: 动态注册产品密钥 # @type ProductSecret: String # @param RegisterLimit: 动态注册设备上限 # @type RegisterLimit: Integer # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RegisterType, :ProductSecret, :RegisterLimit, :RequestId def initialize(registertype=nil, productsecret=nil, registerlimit=nil, requestid=nil) @RegisterType = registertype @ProductSecret = productsecret @RegisterLimit = registerlimit @RequestId = requestid end def deserialize(params) @RegisterType = params['RegisterType'] @ProductSecret = params['ProductSecret'] @RegisterLimit = params['RegisterLimit'] @RequestId = params['RequestId'] end end # UpdateTopicPolicy请求参数结构体 class UpdateTopicPolicyRequest < TencentCloud::Common::AbstractModel # @param ProductID: 产品ID # @type ProductID: String # @param TopicName: 更新前Topic名 # @type TopicName: String # @param NewTopicName: 更新后Topic名 # @type NewTopicName: String # @param Privilege: Topic权限 # @type Privilege: Integer # @param BrokerSubscribe: 代理订阅信息 # @type BrokerSubscribe: :class:`Tencentcloud::Iotcloud.v20180614.models.BrokerSubscribe` attr_accessor :ProductID, :TopicName, :NewTopicName, :Privilege, :BrokerSubscribe def initialize(productid=nil, topicname=nil, newtopicname=nil, privilege=nil, brokersubscribe=nil) @ProductID = productid @TopicName = topicname @NewTopicName = newtopicname @Privilege = privilege @BrokerSubscribe = brokersubscribe end def deserialize(params) @ProductID = params['ProductID'] @TopicName = params['TopicName'] @NewTopicName = params['NewTopicName'] @Privilege = params['Privilege'] unless params['BrokerSubscribe'].nil? @BrokerSubscribe = BrokerSubscribe.new @BrokerSubscribe.deserialize(params['BrokerSubscribe']) end end end # UpdateTopicPolicy返回参数结构体 class UpdateTopicPolicyResponse < TencentCloud::Common::AbstractModel # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RequestId def initialize(requestid=nil) @RequestId = requestid end def deserialize(params) @RequestId = params['RequestId'] end end # UploadFirmware请求参数结构体 class UploadFirmwareRequest < TencentCloud::Common::AbstractModel # @param ProductID: 产品ID # @type ProductID: String # @param FirmwareVersion: 固件版本号 # @type FirmwareVersion: String # @param Md5sum: 固件的MD5值 # @type Md5sum: String # @param FileSize: 固件的大小 # @type FileSize: Integer # @param FirmwareName: 固件名称 # @type FirmwareName: String # @param FirmwareDescription: 固件描述 # @type FirmwareDescription: String # @param FwType: 固件类型:选填 mcu、moudule。默认:mcu # @type FwType: String attr_accessor :ProductID, :FirmwareVersion, :Md5sum, :FileSize, :FirmwareName, :FirmwareDescription, :FwType def initialize(productid=nil, firmwareversion=nil, md5sum=nil, filesize=nil, firmwarename=nil, firmwaredescription=nil, fwtype=nil) @ProductID = productid @FirmwareVersion = firmwareversion @Md5sum = md5sum @FileSize = filesize @FirmwareName = firmwarename @FirmwareDescription = firmwaredescription @FwType = fwtype end def deserialize(params) @ProductID = params['ProductID'] @FirmwareVersion = params['FirmwareVersion'] @Md5sum = params['Md5sum'] @FileSize = params['FileSize'] @FirmwareName = params['FirmwareName'] @FirmwareDescription = params['FirmwareDescription'] @FwType = params['FwType'] end end # UploadFirmware返回参数结构体 class UploadFirmwareResponse < TencentCloud::Common::AbstractModel # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RequestId def initialize(requestid=nil) @RequestId = requestid end def deserialize(params) @RequestId = params['RequestId'] end end end end end