tencentcloud-sdk-iotcloud 1.0.200

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,4197 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright (c) 2017-2018 THL A29 Limited, a Tencent company. All Rights Reserved.
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ module TencentCloud
18
+ module Iotcloud
19
+ module V20180614
20
+ # 设备属性
21
+ class Attribute < TencentCloud::Common::AbstractModel
22
+ # @param Tags: 属性列表
23
+ # @type Tags: Array
24
+
25
+ attr_accessor :Tags
26
+
27
+ def initialize(tags=nil)
28
+ @Tags = tags
29
+ end
30
+
31
+ def deserialize(params)
32
+ unless params['Tags'].nil?
33
+ @Tags = []
34
+ params['Tags'].each do |i|
35
+ devicetag_tmp = DeviceTag.new
36
+ devicetag_tmp.deserialize(i)
37
+ @Tags << devicetag_tmp
38
+ end
39
+ end
40
+ end
41
+ end
42
+
43
+ # 批量发消息请求
44
+ class BatchPublishMessage < TencentCloud::Common::AbstractModel
45
+ # @param Topic: 消息发往的主题。为 Topic 权限中去除 ProductID 和 DeviceName 的部分,如 “event”
46
+ # @type Topic: String
47
+ # @param Payload: 消息内容
48
+ # @type Payload: String
49
+
50
+ attr_accessor :Topic, :Payload
51
+
52
+ def initialize(topic=nil, payload=nil)
53
+ @Topic = topic
54
+ @Payload = payload
55
+ end
56
+
57
+ def deserialize(params)
58
+ @Topic = params['Topic']
59
+ @Payload = params['Payload']
60
+ end
61
+ end
62
+
63
+ # BatchUpdateFirmware请求参数结构体
64
+ class BatchUpdateFirmwareRequest < TencentCloud::Common::AbstractModel
65
+ # @param ProductID: 产品ID
66
+ # @type ProductID: String
67
+ # @param FirmwareVersion: 固件新版本号
68
+ # @type FirmwareVersion: String
69
+ # @param FirmwareOriVersion: 固件原版本号,根据文件列表升级固件不需要填写此参数
70
+ # @type FirmwareOriVersion: String
71
+ # @param UpgradeMethod: 升级方式,0 静默升级 1 用户确认升级。 不填默认为静默升级方式
72
+ # @type UpgradeMethod: Integer
73
+ # @param FileName: 设备列表文件名称,根据文件列表升级固件需要填写此参数
74
+ # @type FileName: String
75
+ # @param FileMd5: 设备列表的文件md5值
76
+ # @type FileMd5: String
77
+ # @param FileSize: 设备列表的文件大小值
78
+ # @type FileSize: Integer
79
+ # @param DeviceNames: 需要升级的设备名称列表
80
+ # @type DeviceNames: Array
81
+ # @param TimeoutInterval: 固件升级任务,默认超时时间。 最小取值60秒,最大为3600秒
82
+ # @type TimeoutInterval: Integer
83
+
84
+ attr_accessor :ProductID, :FirmwareVersion, :FirmwareOriVersion, :UpgradeMethod, :FileName, :FileMd5, :FileSize, :DeviceNames, :TimeoutInterval
85
+
86
+ def initialize(productid=nil, firmwareversion=nil, firmwareoriversion=nil, upgrademethod=nil, filename=nil, filemd5=nil, filesize=nil, devicenames=nil, timeoutinterval=nil)
87
+ @ProductID = productid
88
+ @FirmwareVersion = firmwareversion
89
+ @FirmwareOriVersion = firmwareoriversion
90
+ @UpgradeMethod = upgrademethod
91
+ @FileName = filename
92
+ @FileMd5 = filemd5
93
+ @FileSize = filesize
94
+ @DeviceNames = devicenames
95
+ @TimeoutInterval = timeoutinterval
96
+ end
97
+
98
+ def deserialize(params)
99
+ @ProductID = params['ProductID']
100
+ @FirmwareVersion = params['FirmwareVersion']
101
+ @FirmwareOriVersion = params['FirmwareOriVersion']
102
+ @UpgradeMethod = params['UpgradeMethod']
103
+ @FileName = params['FileName']
104
+ @FileMd5 = params['FileMd5']
105
+ @FileSize = params['FileSize']
106
+ @DeviceNames = params['DeviceNames']
107
+ @TimeoutInterval = params['TimeoutInterval']
108
+ end
109
+ end
110
+
111
+ # BatchUpdateFirmware返回参数结构体
112
+ class BatchUpdateFirmwareResponse < TencentCloud::Common::AbstractModel
113
+ # @param TaskId: 任务ID
114
+ # @type TaskId: Integer
115
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
116
+ # @type RequestId: String
117
+
118
+ attr_accessor :TaskId, :RequestId
119
+
120
+ def initialize(taskid=nil, requestid=nil)
121
+ @TaskId = taskid
122
+ @RequestId = requestid
123
+ end
124
+
125
+ def deserialize(params)
126
+ @TaskId = params['TaskId']
127
+ @RequestId = params['RequestId']
128
+ end
129
+ end
130
+
131
+ # 批量更新设备影子任务
132
+ class BatchUpdateShadow < TencentCloud::Common::AbstractModel
133
+ # @param Desired: 设备影子的期望状态,格式为 Json 对象序列化之后的字符串
134
+ # @type Desired: String
135
+
136
+ attr_accessor :Desired
137
+
138
+ def initialize(desired=nil)
139
+ @Desired = desired
140
+ end
141
+
142
+ def deserialize(params)
143
+ @Desired = params['Desired']
144
+ end
145
+ end
146
+
147
+ # BindDevices请求参数结构体
148
+ class BindDevicesRequest < TencentCloud::Common::AbstractModel
149
+ # @param GatewayProductId: 网关设备的产品ID
150
+ # @type GatewayProductId: String
151
+ # @param GatewayDeviceName: 网关设备的设备名
152
+ # @type GatewayDeviceName: String
153
+ # @param ProductId: 被绑定设备的产品ID
154
+ # @type ProductId: String
155
+ # @param DeviceNames: 被绑定的多个设备名
156
+ # @type DeviceNames: Array
157
+ # @param Skey: 中兴CLAA设备的绑定需要skey,普通的设备不需要
158
+ # @type Skey: String
159
+
160
+ attr_accessor :GatewayProductId, :GatewayDeviceName, :ProductId, :DeviceNames, :Skey
161
+
162
+ def initialize(gatewayproductid=nil, gatewaydevicename=nil, productid=nil, devicenames=nil, skey=nil)
163
+ @GatewayProductId = gatewayproductid
164
+ @GatewayDeviceName = gatewaydevicename
165
+ @ProductId = productid
166
+ @DeviceNames = devicenames
167
+ @Skey = skey
168
+ end
169
+
170
+ def deserialize(params)
171
+ @GatewayProductId = params['GatewayProductId']
172
+ @GatewayDeviceName = params['GatewayDeviceName']
173
+ @ProductId = params['ProductId']
174
+ @DeviceNames = params['DeviceNames']
175
+ @Skey = params['Skey']
176
+ end
177
+ end
178
+
179
+ # BindDevices返回参数结构体
180
+ class BindDevicesResponse < TencentCloud::Common::AbstractModel
181
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
182
+ # @type RequestId: String
183
+
184
+ attr_accessor :RequestId
185
+
186
+ def initialize(requestid=nil)
187
+ @RequestId = requestid
188
+ end
189
+
190
+ def deserialize(params)
191
+ @RequestId = params['RequestId']
192
+ end
193
+ end
194
+
195
+ # 代理订阅信息
196
+ class BrokerSubscribe < TencentCloud::Common::AbstractModel
197
+ # @param ProductId: 产品ID
198
+ # @type ProductId: String
199
+ # @param DeviceName: 设备名
200
+ # @type DeviceName: String
201
+
202
+ attr_accessor :ProductId, :DeviceName
203
+
204
+ def initialize(productid=nil, devicename=nil)
205
+ @ProductId = productid
206
+ @DeviceName = devicename
207
+ end
208
+
209
+ def deserialize(params)
210
+ @ProductId = params['ProductId']
211
+ @DeviceName = params['DeviceName']
212
+ end
213
+ end
214
+
215
+ # CancelDeviceFirmwareTask请求参数结构体
216
+ class CancelDeviceFirmwareTaskRequest < TencentCloud::Common::AbstractModel
217
+ # @param ProductID: 产品ID
218
+ # @type ProductID: String
219
+ # @param DeviceName: 设备名称
220
+ # @type DeviceName: String
221
+ # @param FirmwareVersion: 固件版本号
222
+ # @type FirmwareVersion: String
223
+ # @param TaskId: 固件升级任务ID
224
+ # @type TaskId: Integer
225
+
226
+ attr_accessor :ProductID, :DeviceName, :FirmwareVersion, :TaskId
227
+
228
+ def initialize(productid=nil, devicename=nil, firmwareversion=nil, taskid=nil)
229
+ @ProductID = productid
230
+ @DeviceName = devicename
231
+ @FirmwareVersion = firmwareversion
232
+ @TaskId = taskid
233
+ end
234
+
235
+ def deserialize(params)
236
+ @ProductID = params['ProductID']
237
+ @DeviceName = params['DeviceName']
238
+ @FirmwareVersion = params['FirmwareVersion']
239
+ @TaskId = params['TaskId']
240
+ end
241
+ end
242
+
243
+ # CancelDeviceFirmwareTask返回参数结构体
244
+ class CancelDeviceFirmwareTaskResponse < TencentCloud::Common::AbstractModel
245
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
246
+ # @type RequestId: String
247
+
248
+ attr_accessor :RequestId
249
+
250
+ def initialize(requestid=nil)
251
+ @RequestId = requestid
252
+ end
253
+
254
+ def deserialize(params)
255
+ @RequestId = params['RequestId']
256
+ end
257
+ end
258
+
259
+ # CancelTask请求参数结构体
260
+ class CancelTaskRequest < TencentCloud::Common::AbstractModel
261
+ # @param Id: 任务 ID
262
+ # @type Id: String
263
+
264
+ attr_accessor :Id
265
+
266
+ def initialize(id=nil)
267
+ @Id = id
268
+ end
269
+
270
+ def deserialize(params)
271
+ @Id = params['Id']
272
+ end
273
+ end
274
+
275
+ # CancelTask返回参数结构体
276
+ class CancelTaskResponse < TencentCloud::Common::AbstractModel
277
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
278
+ # @type RequestId: String
279
+
280
+ attr_accessor :RequestId
281
+
282
+ def initialize(requestid=nil)
283
+ @RequestId = requestid
284
+ end
285
+
286
+ def deserialize(params)
287
+ @RequestId = params['RequestId']
288
+ end
289
+ end
290
+
291
+ # CreateDevice请求参数结构体
292
+ class CreateDeviceRequest < TencentCloud::Common::AbstractModel
293
+ # @param ProductId: 产品 ID 。创建产品时腾讯云为用户分配全局唯一的 ID
294
+ # @type ProductId: String
295
+ # @param DeviceName: 设备名称。命名规则:[a-zA-Z0-9:_-]{1,48}。
296
+ # @type DeviceName: String
297
+ # @param Attribute: 设备属性
298
+ # @type Attribute: :class:`Tencentcloud::Iotcloud.v20180614.models.Attribute`
299
+ # @param DefinedPsk: 是否使用自定义PSK,默认不使用
300
+ # @type DefinedPsk: String
301
+ # @param Isp: 运营商类型,当产品是NB-IoT产品时,此字段必填。1表示中国电信,2表示中国移动,3表示中国联通
302
+ # @type Isp: Integer
303
+ # @param Imei: IMEI,当产品是NB-IoT产品时,此字段必填
304
+ # @type Imei: String
305
+ # @param LoraDevEui: LoRa设备的DevEui,当创建LoRa时,此字段必填
306
+ # @type LoraDevEui: String
307
+ # @param LoraMoteType: LoRa设备的MoteType
308
+ # @type LoraMoteType: Integer
309
+ # @param Skey: 创建LoRa设备需要skey
310
+ # @type Skey: String
311
+ # @param LoraAppKey: LoRa设备的AppKey
312
+ # @type LoraAppKey: String
313
+
314
+ attr_accessor :ProductId, :DeviceName, :Attribute, :DefinedPsk, :Isp, :Imei, :LoraDevEui, :LoraMoteType, :Skey, :LoraAppKey
315
+
316
+ def initialize(productid=nil, devicename=nil, attribute=nil, definedpsk=nil, isp=nil, imei=nil, loradeveui=nil, loramotetype=nil, skey=nil, loraappkey=nil)
317
+ @ProductId = productid
318
+ @DeviceName = devicename
319
+ @Attribute = attribute
320
+ @DefinedPsk = definedpsk
321
+ @Isp = isp
322
+ @Imei = imei
323
+ @LoraDevEui = loradeveui
324
+ @LoraMoteType = loramotetype
325
+ @Skey = skey
326
+ @LoraAppKey = loraappkey
327
+ end
328
+
329
+ def deserialize(params)
330
+ @ProductId = params['ProductId']
331
+ @DeviceName = params['DeviceName']
332
+ unless params['Attribute'].nil?
333
+ @Attribute = Attribute.new
334
+ @Attribute.deserialize(params['Attribute'])
335
+ end
336
+ @DefinedPsk = params['DefinedPsk']
337
+ @Isp = params['Isp']
338
+ @Imei = params['Imei']
339
+ @LoraDevEui = params['LoraDevEui']
340
+ @LoraMoteType = params['LoraMoteType']
341
+ @Skey = params['Skey']
342
+ @LoraAppKey = params['LoraAppKey']
343
+ end
344
+ end
345
+
346
+ # CreateDevice返回参数结构体
347
+ class CreateDeviceResponse < TencentCloud::Common::AbstractModel
348
+ # @param DeviceName: 设备名称
349
+ # @type DeviceName: String
350
+ # @param DevicePsk: 对称加密密钥,base64编码。采用对称加密时返回该参数
351
+ # @type DevicePsk: String
352
+ # @param DeviceCert: 设备证书,用于 TLS 建立链接时校验客户端身份。采用非对称加密时返回该参数
353
+ # @type DeviceCert: String
354
+ # @param DevicePrivateKey: 设备私钥,用于 TLS 建立链接时校验客户端身份,腾讯云后台不保存,请妥善保管。采用非对称加密时返回该参数
355
+ # @type DevicePrivateKey: String
356
+ # @param LoraDevEui: LoRa设备的DevEui,当设备是LoRa设备时,会返回该字段
357
+ # @type LoraDevEui: String
358
+ # @param LoraMoteType: LoRa设备的MoteType,当设备是LoRa设备时,会返回该字段
359
+ # @type LoraMoteType: Integer
360
+ # @param LoraAppKey: LoRa设备的AppKey,当设备是LoRa设备时,会返回该字段
361
+ # @type LoraAppKey: String
362
+ # @param LoraNwkKey: LoRa设备的NwkKey,当设备是LoRa设备时,会返回该字段
363
+ # @type LoraNwkKey: String
364
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
365
+ # @type RequestId: String
366
+
367
+ attr_accessor :DeviceName, :DevicePsk, :DeviceCert, :DevicePrivateKey, :LoraDevEui, :LoraMoteType, :LoraAppKey, :LoraNwkKey, :RequestId
368
+
369
+ def initialize(devicename=nil, devicepsk=nil, devicecert=nil, deviceprivatekey=nil, loradeveui=nil, loramotetype=nil, loraappkey=nil, loranwkkey=nil, requestid=nil)
370
+ @DeviceName = devicename
371
+ @DevicePsk = devicepsk
372
+ @DeviceCert = devicecert
373
+ @DevicePrivateKey = deviceprivatekey
374
+ @LoraDevEui = loradeveui
375
+ @LoraMoteType = loramotetype
376
+ @LoraAppKey = loraappkey
377
+ @LoraNwkKey = loranwkkey
378
+ @RequestId = requestid
379
+ end
380
+
381
+ def deserialize(params)
382
+ @DeviceName = params['DeviceName']
383
+ @DevicePsk = params['DevicePsk']
384
+ @DeviceCert = params['DeviceCert']
385
+ @DevicePrivateKey = params['DevicePrivateKey']
386
+ @LoraDevEui = params['LoraDevEui']
387
+ @LoraMoteType = params['LoraMoteType']
388
+ @LoraAppKey = params['LoraAppKey']
389
+ @LoraNwkKey = params['LoraNwkKey']
390
+ @RequestId = params['RequestId']
391
+ end
392
+ end
393
+
394
+ # CreateLoraDevice请求参数结构体
395
+ class CreateLoraDeviceRequest < TencentCloud::Common::AbstractModel
396
+ # @param ProductId: 产品Id ,创建产品时腾讯云为用户分配全局唯一的Id
397
+ # @type ProductId: String
398
+ # @param DeviceName: 设备名称
399
+ # @type DeviceName: String
400
+ # @param DeviceType: 设备类型 ,目前支持A、B、C三种
401
+ # @type DeviceType: String
402
+ # @param AppEui: LoRa应用UUID
403
+ # @type AppEui: String
404
+ # @param DeviceEui: LoRa设备UUID
405
+ # @type DeviceEui: String
406
+ # @param AppKey: LoRa应用密钥
407
+ # @type AppKey: String
408
+ # @param AuthKey: LoRa设备验证密钥
409
+ # @type AuthKey: String
410
+ # @param Memo: 设备备注
411
+ # @type Memo: String
412
+
413
+ attr_accessor :ProductId, :DeviceName, :DeviceType, :AppEui, :DeviceEui, :AppKey, :AuthKey, :Memo
414
+
415
+ def initialize(productid=nil, devicename=nil, devicetype=nil, appeui=nil, deviceeui=nil, appkey=nil, authkey=nil, memo=nil)
416
+ @ProductId = productid
417
+ @DeviceName = devicename
418
+ @DeviceType = devicetype
419
+ @AppEui = appeui
420
+ @DeviceEui = deviceeui
421
+ @AppKey = appkey
422
+ @AuthKey = authkey
423
+ @Memo = memo
424
+ end
425
+
426
+ def deserialize(params)
427
+ @ProductId = params['ProductId']
428
+ @DeviceName = params['DeviceName']
429
+ @DeviceType = params['DeviceType']
430
+ @AppEui = params['AppEui']
431
+ @DeviceEui = params['DeviceEui']
432
+ @AppKey = params['AppKey']
433
+ @AuthKey = params['AuthKey']
434
+ @Memo = params['Memo']
435
+ end
436
+ end
437
+
438
+ # CreateLoraDevice返回参数结构体
439
+ class CreateLoraDeviceResponse < TencentCloud::Common::AbstractModel
440
+ # @param AppEui: LoRa应用UUID
441
+ # @type AppEui: String
442
+ # @param DeviceEui: LoRa设备UUID
443
+ # @type DeviceEui: String
444
+ # @param ClassType: 设备类型,目前支持A、B、C三种
445
+ # @type ClassType: String
446
+ # @param DeviceName: 设备名称
447
+ # @type DeviceName: String
448
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
449
+ # @type RequestId: String
450
+
451
+ attr_accessor :AppEui, :DeviceEui, :ClassType, :DeviceName, :RequestId
452
+
453
+ def initialize(appeui=nil, deviceeui=nil, classtype=nil, devicename=nil, requestid=nil)
454
+ @AppEui = appeui
455
+ @DeviceEui = deviceeui
456
+ @ClassType = classtype
457
+ @DeviceName = devicename
458
+ @RequestId = requestid
459
+ end
460
+
461
+ def deserialize(params)
462
+ @AppEui = params['AppEui']
463
+ @DeviceEui = params['DeviceEui']
464
+ @ClassType = params['ClassType']
465
+ @DeviceName = params['DeviceName']
466
+ @RequestId = params['RequestId']
467
+ end
468
+ end
469
+
470
+ # CreateMultiDevice请求参数结构体
471
+ class CreateMultiDeviceRequest < TencentCloud::Common::AbstractModel
472
+ # @param ProductId: 产品 ID。创建产品时腾讯云为用户分配全局唯一的 ID
473
+ # @type ProductId: String
474
+ # @param DeviceNames: 批量创建的设备名数组,单次最多创建 100 个设备。命名规则:[a-zA-Z0-9:_-]{1,48}
475
+ # @type DeviceNames: Array
476
+
477
+ attr_accessor :ProductId, :DeviceNames
478
+
479
+ def initialize(productid=nil, devicenames=nil)
480
+ @ProductId = productid
481
+ @DeviceNames = devicenames
482
+ end
483
+
484
+ def deserialize(params)
485
+ @ProductId = params['ProductId']
486
+ @DeviceNames = params['DeviceNames']
487
+ end
488
+ end
489
+
490
+ # CreateMultiDevice返回参数结构体
491
+ class CreateMultiDeviceResponse < TencentCloud::Common::AbstractModel
492
+ # @param TaskId: 任务ID,腾讯云生成全局唯一的任务 ID,有效期一个月,一个月之后任务失效。可以调用获取创建多设备任务状态接口获取该任务的执行状态,当状态为成功时,可以调用获取创建多设备任务结果接口获取该任务的结果
493
+ # @type TaskId: String
494
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
495
+ # @type RequestId: String
496
+
497
+ attr_accessor :TaskId, :RequestId
498
+
499
+ def initialize(taskid=nil, requestid=nil)
500
+ @TaskId = taskid
501
+ @RequestId = requestid
502
+ end
503
+
504
+ def deserialize(params)
505
+ @TaskId = params['TaskId']
506
+ @RequestId = params['RequestId']
507
+ end
508
+ end
509
+
510
+ # CreateMultiDevicesTask请求参数结构体
511
+ class CreateMultiDevicesTaskRequest < TencentCloud::Common::AbstractModel
512
+ # @param ProductId: 产品ID
513
+ # @type ProductId: String
514
+ # @param ParametersType: 参数类型 cosfile-文件上传 random-随机创建
515
+ # @type ParametersType: String
516
+ # @param FileName: 文件上传类型时文件名
517
+ # @type FileName: String
518
+ # @param FileSize: 文件上传类型时文件大小
519
+ # @type FileSize: Integer
520
+ # @param BatchCount: 随机创建时设备创建个数
521
+ # @type BatchCount: Integer
522
+ # @param Hash: 文件上传类型时文件md5值
523
+ # @type Hash: String
524
+
525
+ attr_accessor :ProductId, :ParametersType, :FileName, :FileSize, :BatchCount, :Hash
526
+
527
+ def initialize(productid=nil, parameterstype=nil, filename=nil, filesize=nil, batchcount=nil, hash=nil)
528
+ @ProductId = productid
529
+ @ParametersType = parameterstype
530
+ @FileName = filename
531
+ @FileSize = filesize
532
+ @BatchCount = batchcount
533
+ @Hash = hash
534
+ end
535
+
536
+ def deserialize(params)
537
+ @ProductId = params['ProductId']
538
+ @ParametersType = params['ParametersType']
539
+ @FileName = params['FileName']
540
+ @FileSize = params['FileSize']
541
+ @BatchCount = params['BatchCount']
542
+ @Hash = params['Hash']
543
+ end
544
+ end
545
+
546
+ # CreateMultiDevicesTask返回参数结构体
547
+ class CreateMultiDevicesTaskResponse < TencentCloud::Common::AbstractModel
548
+ # @param Id: 任务ID
549
+ # @type Id: Integer
550
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
551
+ # @type RequestId: String
552
+
553
+ attr_accessor :Id, :RequestId
554
+
555
+ def initialize(id=nil, requestid=nil)
556
+ @Id = id
557
+ @RequestId = requestid
558
+ end
559
+
560
+ def deserialize(params)
561
+ @Id = params['Id']
562
+ @RequestId = params['RequestId']
563
+ end
564
+ end
565
+
566
+ # CreateProduct请求参数结构体
567
+ class CreateProductRequest < TencentCloud::Common::AbstractModel
568
+ # @param ProductName: 产品名称,名称不能和已经存在的产品名称重复。命名规则:[a-zA-Z0-9:_-]{1,32}
569
+ # @type ProductName: String
570
+ # @param ProductProperties: 产品属性
571
+ # @type ProductProperties: :class:`Tencentcloud::Iotcloud.v20180614.models.ProductProperties`
572
+ # @param Skey: 创建CLAA产品时,需要Skey
573
+ # @type Skey: String
574
+
575
+ attr_accessor :ProductName, :ProductProperties, :Skey
576
+
577
+ def initialize(productname=nil, productproperties=nil, skey=nil)
578
+ @ProductName = productname
579
+ @ProductProperties = productproperties
580
+ @Skey = skey
581
+ end
582
+
583
+ def deserialize(params)
584
+ @ProductName = params['ProductName']
585
+ unless params['ProductProperties'].nil?
586
+ @ProductProperties = ProductProperties.new
587
+ @ProductProperties.deserialize(params['ProductProperties'])
588
+ end
589
+ @Skey = params['Skey']
590
+ end
591
+ end
592
+
593
+ # CreateProduct返回参数结构体
594
+ class CreateProductResponse < TencentCloud::Common::AbstractModel
595
+ # @param ProductName: 产品名称
596
+ # @type ProductName: String
597
+ # @param ProductId: 产品 ID,腾讯云生成全局唯一 ID
598
+ # @type ProductId: String
599
+ # @param ProductProperties: 产品属性
600
+ # @type ProductProperties: :class:`Tencentcloud::Iotcloud.v20180614.models.ProductProperties`
601
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
602
+ # @type RequestId: String
603
+
604
+ attr_accessor :ProductName, :ProductId, :ProductProperties, :RequestId
605
+
606
+ def initialize(productname=nil, productid=nil, productproperties=nil, requestid=nil)
607
+ @ProductName = productname
608
+ @ProductId = productid
609
+ @ProductProperties = productproperties
610
+ @RequestId = requestid
611
+ end
612
+
613
+ def deserialize(params)
614
+ @ProductName = params['ProductName']
615
+ @ProductId = params['ProductId']
616
+ unless params['ProductProperties'].nil?
617
+ @ProductProperties = ProductProperties.new
618
+ @ProductProperties.deserialize(params['ProductProperties'])
619
+ end
620
+ @RequestId = params['RequestId']
621
+ end
622
+ end
623
+
624
+ # CreateTaskFileUrl请求参数结构体
625
+ class CreateTaskFileUrlRequest < TencentCloud::Common::AbstractModel
626
+ # @param ProductId: 产品ID
627
+ # @type ProductId: String
628
+
629
+ attr_accessor :ProductId
630
+
631
+ def initialize(productid=nil)
632
+ @ProductId = productid
633
+ end
634
+
635
+ def deserialize(params)
636
+ @ProductId = params['ProductId']
637
+ end
638
+ end
639
+
640
+ # CreateTaskFileUrl返回参数结构体
641
+ class CreateTaskFileUrlResponse < TencentCloud::Common::AbstractModel
642
+ # @param Url: 任务文件上传链接
643
+ # @type Url: String
644
+ # @param FileName: 任务文件名
645
+ # @type FileName: String
646
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
647
+ # @type RequestId: String
648
+
649
+ attr_accessor :Url, :FileName, :RequestId
650
+
651
+ def initialize(url=nil, filename=nil, requestid=nil)
652
+ @Url = url
653
+ @FileName = filename
654
+ @RequestId = requestid
655
+ end
656
+
657
+ def deserialize(params)
658
+ @Url = params['Url']
659
+ @FileName = params['FileName']
660
+ @RequestId = params['RequestId']
661
+ end
662
+ end
663
+
664
+ # CreateTask请求参数结构体
665
+ class CreateTaskRequest < TencentCloud::Common::AbstractModel
666
+ # @param TaskType: 任务类型,取值为 “UpdateShadow” 或者 “PublishMessage”
667
+ # @type TaskType: String
668
+ # @param ProductId: 执行任务的产品ID
669
+ # @type ProductId: String
670
+ # @param DeviceNameFilter: 执行任务的设备名的正则表达式
671
+ # @type DeviceNameFilter: String
672
+ # @param ScheduleTimeInSeconds: 任务开始执行的时间。 取值为 Unix 时间戳,单位秒,且需大于等于当前时间时间戳,0为系统当前时间时间戳,即立即执行,最大为当前时间86400秒后,超过则取值为当前时间86400秒后
673
+ # @type ScheduleTimeInSeconds: Integer
674
+ # @param Tasks: 任务描述细节,描述见下 Task
675
+ # @type Tasks: :class:`Tencentcloud::Iotcloud.v20180614.models.Task`
676
+ # @param MaxExecutionTimeInSeconds: 最长执行时间,单位秒,被调度后超过此时间仍未有结果则视为任务失败。取值为0-86400,默认为86400
677
+ # @type MaxExecutionTimeInSeconds: Integer
678
+
679
+ attr_accessor :TaskType, :ProductId, :DeviceNameFilter, :ScheduleTimeInSeconds, :Tasks, :MaxExecutionTimeInSeconds
680
+
681
+ def initialize(tasktype=nil, productid=nil, devicenamefilter=nil, scheduletimeinseconds=nil, tasks=nil, maxexecutiontimeinseconds=nil)
682
+ @TaskType = tasktype
683
+ @ProductId = productid
684
+ @DeviceNameFilter = devicenamefilter
685
+ @ScheduleTimeInSeconds = scheduletimeinseconds
686
+ @Tasks = tasks
687
+ @MaxExecutionTimeInSeconds = maxexecutiontimeinseconds
688
+ end
689
+
690
+ def deserialize(params)
691
+ @TaskType = params['TaskType']
692
+ @ProductId = params['ProductId']
693
+ @DeviceNameFilter = params['DeviceNameFilter']
694
+ @ScheduleTimeInSeconds = params['ScheduleTimeInSeconds']
695
+ unless params['Tasks'].nil?
696
+ @Tasks = Task.new
697
+ @Tasks.deserialize(params['Tasks'])
698
+ end
699
+ @MaxExecutionTimeInSeconds = params['MaxExecutionTimeInSeconds']
700
+ end
701
+ end
702
+
703
+ # CreateTask返回参数结构体
704
+ class CreateTaskResponse < TencentCloud::Common::AbstractModel
705
+ # @param TaskId: 创建的任务ID
706
+ # @type TaskId: String
707
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
708
+ # @type RequestId: String
709
+
710
+ attr_accessor :TaskId, :RequestId
711
+
712
+ def initialize(taskid=nil, requestid=nil)
713
+ @TaskId = taskid
714
+ @RequestId = requestid
715
+ end
716
+
717
+ def deserialize(params)
718
+ @TaskId = params['TaskId']
719
+ @RequestId = params['RequestId']
720
+ end
721
+ end
722
+
723
+ # CreateTopicPolicy请求参数结构体
724
+ class CreateTopicPolicyRequest < TencentCloud::Common::AbstractModel
725
+ # @param ProductID: 产品自身ID
726
+ # @type ProductID: String
727
+ # @param TopicName: Topic名称
728
+ # @type TopicName: String
729
+ # @param Privilege: Topic权限,1发布,2订阅,3订阅和发布
730
+ # @type Privilege: Integer
731
+ # @param BrokerSubscribe: 代理订阅信息,网关产品为绑定的子产品创建topic时需要填写,内容为子产品的ID和设备信息。
732
+ # @type BrokerSubscribe: :class:`Tencentcloud::Iotcloud.v20180614.models.BrokerSubscribe`
733
+
734
+ attr_accessor :ProductID, :TopicName, :Privilege, :BrokerSubscribe
735
+
736
+ def initialize(productid=nil, topicname=nil, privilege=nil, brokersubscribe=nil)
737
+ @ProductID = productid
738
+ @TopicName = topicname
739
+ @Privilege = privilege
740
+ @BrokerSubscribe = brokersubscribe
741
+ end
742
+
743
+ def deserialize(params)
744
+ @ProductID = params['ProductID']
745
+ @TopicName = params['TopicName']
746
+ @Privilege = params['Privilege']
747
+ unless params['BrokerSubscribe'].nil?
748
+ @BrokerSubscribe = BrokerSubscribe.new
749
+ @BrokerSubscribe.deserialize(params['BrokerSubscribe'])
750
+ end
751
+ end
752
+ end
753
+
754
+ # CreateTopicPolicy返回参数结构体
755
+ class CreateTopicPolicyResponse < TencentCloud::Common::AbstractModel
756
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
757
+ # @type RequestId: String
758
+
759
+ attr_accessor :RequestId
760
+
761
+ def initialize(requestid=nil)
762
+ @RequestId = requestid
763
+ end
764
+
765
+ def deserialize(params)
766
+ @RequestId = params['RequestId']
767
+ end
768
+ end
769
+
770
+ # CreateTopicRule请求参数结构体
771
+ class CreateTopicRuleRequest < TencentCloud::Common::AbstractModel
772
+ # @param RuleName: 规则名称
773
+ # @type RuleName: String
774
+ # @param TopicRulePayload: 规则内容
775
+ # @type TopicRulePayload: :class:`Tencentcloud::Iotcloud.v20180614.models.TopicRulePayload`
776
+
777
+ attr_accessor :RuleName, :TopicRulePayload
778
+
779
+ def initialize(rulename=nil, topicrulepayload=nil)
780
+ @RuleName = rulename
781
+ @TopicRulePayload = topicrulepayload
782
+ end
783
+
784
+ def deserialize(params)
785
+ @RuleName = params['RuleName']
786
+ unless params['TopicRulePayload'].nil?
787
+ @TopicRulePayload = TopicRulePayload.new
788
+ @TopicRulePayload.deserialize(params['TopicRulePayload'])
789
+ end
790
+ end
791
+ end
792
+
793
+ # CreateTopicRule返回参数结构体
794
+ class CreateTopicRuleResponse < TencentCloud::Common::AbstractModel
795
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
796
+ # @type RequestId: String
797
+
798
+ attr_accessor :RequestId
799
+
800
+ def initialize(requestid=nil)
801
+ @RequestId = requestid
802
+ end
803
+
804
+ def deserialize(params)
805
+ @RequestId = params['RequestId']
806
+ end
807
+ end
808
+
809
+ # DeleteDevice请求参数结构体
810
+ class DeleteDeviceRequest < TencentCloud::Common::AbstractModel
811
+ # @param ProductId: 设备所属的产品 ID
812
+ # @type ProductId: String
813
+ # @param DeviceName: 需要删除的设备名称
814
+ # @type DeviceName: String
815
+ # @param Skey: 删除LoRa设备以及LoRa网关设备需要skey
816
+ # @type Skey: String
817
+
818
+ attr_accessor :ProductId, :DeviceName, :Skey
819
+
820
+ def initialize(productid=nil, devicename=nil, skey=nil)
821
+ @ProductId = productid
822
+ @DeviceName = devicename
823
+ @Skey = skey
824
+ end
825
+
826
+ def deserialize(params)
827
+ @ProductId = params['ProductId']
828
+ @DeviceName = params['DeviceName']
829
+ @Skey = params['Skey']
830
+ end
831
+ end
832
+
833
+ # DeleteDevice返回参数结构体
834
+ class DeleteDeviceResponse < TencentCloud::Common::AbstractModel
835
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
836
+ # @type RequestId: String
837
+
838
+ attr_accessor :RequestId
839
+
840
+ def initialize(requestid=nil)
841
+ @RequestId = requestid
842
+ end
843
+
844
+ def deserialize(params)
845
+ @RequestId = params['RequestId']
846
+ end
847
+ end
848
+
849
+ # DeleteLoraDevice请求参数结构体
850
+ class DeleteLoraDeviceRequest < TencentCloud::Common::AbstractModel
851
+ # @param ProductId: 设备所属产品ID
852
+ # @type ProductId: String
853
+ # @param DeviceName: 设备名称
854
+ # @type DeviceName: String
855
+
856
+ attr_accessor :ProductId, :DeviceName
857
+
858
+ def initialize(productid=nil, devicename=nil)
859
+ @ProductId = productid
860
+ @DeviceName = devicename
861
+ end
862
+
863
+ def deserialize(params)
864
+ @ProductId = params['ProductId']
865
+ @DeviceName = params['DeviceName']
866
+ end
867
+ end
868
+
869
+ # DeleteLoraDevice返回参数结构体
870
+ class DeleteLoraDeviceResponse < TencentCloud::Common::AbstractModel
871
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
872
+ # @type RequestId: String
873
+
874
+ attr_accessor :RequestId
875
+
876
+ def initialize(requestid=nil)
877
+ @RequestId = requestid
878
+ end
879
+
880
+ def deserialize(params)
881
+ @RequestId = params['RequestId']
882
+ end
883
+ end
884
+
885
+ # DeleteProduct请求参数结构体
886
+ class DeleteProductRequest < TencentCloud::Common::AbstractModel
887
+ # @param ProductId: 需要删除的产品 ID
888
+ # @type ProductId: String
889
+ # @param Skey: 删除LoRa产品需要skey
890
+ # @type Skey: String
891
+
892
+ attr_accessor :ProductId, :Skey
893
+
894
+ def initialize(productid=nil, skey=nil)
895
+ @ProductId = productid
896
+ @Skey = skey
897
+ end
898
+
899
+ def deserialize(params)
900
+ @ProductId = params['ProductId']
901
+ @Skey = params['Skey']
902
+ end
903
+ end
904
+
905
+ # DeleteProduct返回参数结构体
906
+ class DeleteProductResponse < TencentCloud::Common::AbstractModel
907
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
908
+ # @type RequestId: String
909
+
910
+ attr_accessor :RequestId
911
+
912
+ def initialize(requestid=nil)
913
+ @RequestId = requestid
914
+ end
915
+
916
+ def deserialize(params)
917
+ @RequestId = params['RequestId']
918
+ end
919
+ end
920
+
921
+ # DeleteTopicRule请求参数结构体
922
+ class DeleteTopicRuleRequest < TencentCloud::Common::AbstractModel
923
+ # @param RuleName: 规则名
924
+ # @type RuleName: String
925
+
926
+ attr_accessor :RuleName
927
+
928
+ def initialize(rulename=nil)
929
+ @RuleName = rulename
930
+ end
931
+
932
+ def deserialize(params)
933
+ @RuleName = params['RuleName']
934
+ end
935
+ end
936
+
937
+ # DeleteTopicRule返回参数结构体
938
+ class DeleteTopicRuleResponse < TencentCloud::Common::AbstractModel
939
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
940
+ # @type RequestId: String
941
+
942
+ attr_accessor :RequestId
943
+
944
+ def initialize(requestid=nil)
945
+ @RequestId = requestid
946
+ end
947
+
948
+ def deserialize(params)
949
+ @RequestId = params['RequestId']
950
+ end
951
+ end
952
+
953
+ # DescribeAllDevices请求参数结构体
954
+ class DescribeAllDevicesRequest < TencentCloud::Common::AbstractModel
955
+ # @param Offset: 查询偏移量。
956
+ # @type Offset: Integer
957
+ # @param Limit: 查询设备数量。最大支持250个
958
+ # @type Limit: Integer
959
+
960
+ attr_accessor :Offset, :Limit
961
+
962
+ def initialize(offset=nil, limit=nil)
963
+ @Offset = offset
964
+ @Limit = limit
965
+ end
966
+
967
+ def deserialize(params)
968
+ @Offset = params['Offset']
969
+ @Limit = params['Limit']
970
+ end
971
+ end
972
+
973
+ # DescribeAllDevices返回参数结构体
974
+ class DescribeAllDevicesResponse < TencentCloud::Common::AbstractModel
975
+ # @param TotalCount: 设备总数。
976
+ # @type TotalCount: Integer
977
+ # @param Devices: 查询的设备列表信息。
978
+ # @type Devices: Array
979
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
980
+ # @type RequestId: String
981
+
982
+ attr_accessor :TotalCount, :Devices, :RequestId
983
+
984
+ def initialize(totalcount=nil, devices=nil, requestid=nil)
985
+ @TotalCount = totalcount
986
+ @Devices = devices
987
+ @RequestId = requestid
988
+ end
989
+
990
+ def deserialize(params)
991
+ @TotalCount = params['TotalCount']
992
+ unless params['Devices'].nil?
993
+ @Devices = []
994
+ params['Devices'].each do |i|
995
+ deviceproperty_tmp = DeviceProperty.new
996
+ deviceproperty_tmp.deserialize(i)
997
+ @Devices << deviceproperty_tmp
998
+ end
999
+ end
1000
+ @RequestId = params['RequestId']
1001
+ end
1002
+ end
1003
+
1004
+ # DescribeDeviceClientKey请求参数结构体
1005
+ class DescribeDeviceClientKeyRequest < TencentCloud::Common::AbstractModel
1006
+ # @param ProductId: 所属产品的Id
1007
+ # @type ProductId: String
1008
+ # @param DeviceName: 设备名称
1009
+ # @type DeviceName: String
1010
+
1011
+ attr_accessor :ProductId, :DeviceName
1012
+
1013
+ def initialize(productid=nil, devicename=nil)
1014
+ @ProductId = productid
1015
+ @DeviceName = devicename
1016
+ end
1017
+
1018
+ def deserialize(params)
1019
+ @ProductId = params['ProductId']
1020
+ @DeviceName = params['DeviceName']
1021
+ end
1022
+ end
1023
+
1024
+ # DescribeDeviceClientKey返回参数结构体
1025
+ class DescribeDeviceClientKeyResponse < TencentCloud::Common::AbstractModel
1026
+ # @param ClientKey: 设备的私钥
1027
+ # @type ClientKey: String
1028
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1029
+ # @type RequestId: String
1030
+
1031
+ attr_accessor :ClientKey, :RequestId
1032
+
1033
+ def initialize(clientkey=nil, requestid=nil)
1034
+ @ClientKey = clientkey
1035
+ @RequestId = requestid
1036
+ end
1037
+
1038
+ def deserialize(params)
1039
+ @ClientKey = params['ClientKey']
1040
+ @RequestId = params['RequestId']
1041
+ end
1042
+ end
1043
+
1044
+ # DescribeDevice请求参数结构体
1045
+ class DescribeDeviceRequest < TencentCloud::Common::AbstractModel
1046
+ # @param ProductID: 产品ID
1047
+ # @type ProductID: String
1048
+ # @param DeviceName: 设备名
1049
+ # @type DeviceName: String
1050
+
1051
+ attr_accessor :ProductID, :DeviceName
1052
+
1053
+ def initialize(productid=nil, devicename=nil)
1054
+ @ProductID = productid
1055
+ @DeviceName = devicename
1056
+ end
1057
+
1058
+ def deserialize(params)
1059
+ @ProductID = params['ProductID']
1060
+ @DeviceName = params['DeviceName']
1061
+ end
1062
+ end
1063
+
1064
+ # DescribeDeviceResource请求参数结构体
1065
+ class DescribeDeviceResourceRequest < TencentCloud::Common::AbstractModel
1066
+ # @param DeviceName: 设备名称
1067
+ # @type DeviceName: String
1068
+ # @param ProductID: 产品ID
1069
+ # @type ProductID: String
1070
+ # @param Name: 具体的设备资源名称
1071
+ # @type Name: String
1072
+
1073
+ attr_accessor :DeviceName, :ProductID, :Name
1074
+
1075
+ def initialize(devicename=nil, productid=nil, name=nil)
1076
+ @DeviceName = devicename
1077
+ @ProductID = productid
1078
+ @Name = name
1079
+ end
1080
+
1081
+ def deserialize(params)
1082
+ @DeviceName = params['DeviceName']
1083
+ @ProductID = params['ProductID']
1084
+ @Name = params['Name']
1085
+ end
1086
+ end
1087
+
1088
+ # DescribeDeviceResource返回参数结构体
1089
+ class DescribeDeviceResourceResponse < TencentCloud::Common::AbstractModel
1090
+ # @param Result: 设备资源详情
1091
+ # @type Result: :class:`Tencentcloud::Iotcloud.v20180614.models.DeviceResourceInfo`
1092
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1093
+ # @type RequestId: String
1094
+
1095
+ attr_accessor :Result, :RequestId
1096
+
1097
+ def initialize(result=nil, requestid=nil)
1098
+ @Result = result
1099
+ @RequestId = requestid
1100
+ end
1101
+
1102
+ def deserialize(params)
1103
+ unless params['Result'].nil?
1104
+ @Result = DeviceResourceInfo.new
1105
+ @Result.deserialize(params['Result'])
1106
+ end
1107
+ @RequestId = params['RequestId']
1108
+ end
1109
+ end
1110
+
1111
+ # DescribeDeviceResources请求参数结构体
1112
+ class DescribeDeviceResourcesRequest < TencentCloud::Common::AbstractModel
1113
+ # @param Offset: 偏移量,Offset从0开始
1114
+ # @type Offset: Integer
1115
+ # @param Limit: 分页的大小,数值范围 10-250
1116
+ # @type Limit: Integer
1117
+ # @param ProductID: 产品ID
1118
+ # @type ProductID: String
1119
+ # @param DeviceName: 需要过滤的设备名称
1120
+ # @type DeviceName: String
1121
+ # @param StartTime: 资源搜索开始时间
1122
+ # @type StartTime: String
1123
+ # @param EndTime: 资源搜索结束时间
1124
+ # @type EndTime: String
1125
+
1126
+ attr_accessor :Offset, :Limit, :ProductID, :DeviceName, :StartTime, :EndTime
1127
+
1128
+ def initialize(offset=nil, limit=nil, productid=nil, devicename=nil, starttime=nil, endtime=nil)
1129
+ @Offset = offset
1130
+ @Limit = limit
1131
+ @ProductID = productid
1132
+ @DeviceName = devicename
1133
+ @StartTime = starttime
1134
+ @EndTime = endtime
1135
+ end
1136
+
1137
+ def deserialize(params)
1138
+ @Offset = params['Offset']
1139
+ @Limit = params['Limit']
1140
+ @ProductID = params['ProductID']
1141
+ @DeviceName = params['DeviceName']
1142
+ @StartTime = params['StartTime']
1143
+ @EndTime = params['EndTime']
1144
+ end
1145
+ end
1146
+
1147
+ # DescribeDeviceResources返回参数结构体
1148
+ class DescribeDeviceResourcesResponse < TencentCloud::Common::AbstractModel
1149
+ # @param TotalCount: 资源总数
1150
+ # @type TotalCount: Integer
1151
+ # @param Result: 资源列表
1152
+ # 注意:此字段可能返回 null,表示取不到有效值。
1153
+ # @type Result: Array
1154
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1155
+ # @type RequestId: String
1156
+
1157
+ attr_accessor :TotalCount, :Result, :RequestId
1158
+
1159
+ def initialize(totalcount=nil, result=nil, requestid=nil)
1160
+ @TotalCount = totalcount
1161
+ @Result = result
1162
+ @RequestId = requestid
1163
+ end
1164
+
1165
+ def deserialize(params)
1166
+ @TotalCount = params['TotalCount']
1167
+ unless params['Result'].nil?
1168
+ @Result = []
1169
+ params['Result'].each do |i|
1170
+ deviceresourceinfo_tmp = DeviceResourceInfo.new
1171
+ deviceresourceinfo_tmp.deserialize(i)
1172
+ @Result << deviceresourceinfo_tmp
1173
+ end
1174
+ end
1175
+ @RequestId = params['RequestId']
1176
+ end
1177
+ end
1178
+
1179
+ # DescribeDevice返回参数结构体
1180
+ class DescribeDeviceResponse < TencentCloud::Common::AbstractModel
1181
+ # @param DeviceName: 设备名
1182
+ # @type DeviceName: String
1183
+ # @param Online: 设备是否在线,0不在线,1在线
1184
+ # @type Online: Integer
1185
+ # @param LoginTime: 设备登录时间
1186
+ # @type LoginTime: Integer
1187
+ # @param Version: 设备固件版本
1188
+ # @type Version: String
1189
+ # @param LastUpdateTime: 设备最后更新时间
1190
+ # @type LastUpdateTime: Integer
1191
+ # @param DeviceCert: 设备证书
1192
+ # @type DeviceCert: String
1193
+ # @param DevicePsk: 设备密钥
1194
+ # @type DevicePsk: String
1195
+ # @param Tags: 设备属性
1196
+ # @type Tags: Array
1197
+ # @param DeviceType: 设备类型
1198
+ # @type DeviceType: Integer
1199
+ # @param Imei: 国际移动设备识别码 IMEI
1200
+ # @type Imei: String
1201
+ # @param Isp: 运营商类型
1202
+ # @type Isp: Integer
1203
+ # @param ConnIP: IP地址
1204
+ # @type ConnIP: Integer
1205
+ # @param NbiotDeviceID: NB IoT运营商处的DeviceID
1206
+ # @type NbiotDeviceID: String
1207
+ # @param LoraDevEui: Lora设备的dev eui
1208
+ # @type LoraDevEui: String
1209
+ # @param LoraMoteType: Lora设备的mote type
1210
+ # @type LoraMoteType: Integer
1211
+ # @param LogLevel: 设备的sdk日志等级
1212
+ # 注意:此字段可能返回 null,表示取不到有效值。
1213
+ # @type LogLevel: Integer
1214
+ # @param FirstOnlineTime: 首次上线时间
1215
+ # 注意:此字段可能返回 null,表示取不到有效值。
1216
+ # @type FirstOnlineTime: Integer
1217
+ # @param LastOfflineTime: 最近下线时间
1218
+ # 注意:此字段可能返回 null,表示取不到有效值。
1219
+ # @type LastOfflineTime: Integer
1220
+ # @param CreateTime: 设备创建时间
1221
+ # 注意:此字段可能返回 null,表示取不到有效值。
1222
+ # @type CreateTime: Integer
1223
+ # @param CertState: 设备证书获取状态,0 未获取过设备密钥, 1 已获取过设备密钥
1224
+ # 注意:此字段可能返回 null,表示取不到有效值。
1225
+ # @type CertState: Integer
1226
+ # @param EnableState: 设备启用状态
1227
+ # 注意:此字段可能返回 null,表示取不到有效值。
1228
+ # @type EnableState: Integer
1229
+ # @param Labels: 设备标签
1230
+ # 注意:此字段可能返回 null,表示取不到有效值。
1231
+ # @type Labels: Array
1232
+ # @param ClientIP: MQTT客户端IP地址
1233
+ # 注意:此字段可能返回 null,表示取不到有效值。
1234
+ # @type ClientIP: String
1235
+ # @param FirmwareUpdateTime: 设备固件更新时间
1236
+ # 注意:此字段可能返回 null,表示取不到有效值。
1237
+ # @type FirmwareUpdateTime: Integer
1238
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1239
+ # @type RequestId: String
1240
+
1241
+ 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
1242
+
1243
+ 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)
1244
+ @DeviceName = devicename
1245
+ @Online = online
1246
+ @LoginTime = logintime
1247
+ @Version = version
1248
+ @LastUpdateTime = lastupdatetime
1249
+ @DeviceCert = devicecert
1250
+ @DevicePsk = devicepsk
1251
+ @Tags = tags
1252
+ @DeviceType = devicetype
1253
+ @Imei = imei
1254
+ @Isp = isp
1255
+ @ConnIP = connip
1256
+ @NbiotDeviceID = nbiotdeviceid
1257
+ @LoraDevEui = loradeveui
1258
+ @LoraMoteType = loramotetype
1259
+ @LogLevel = loglevel
1260
+ @FirstOnlineTime = firstonlinetime
1261
+ @LastOfflineTime = lastofflinetime
1262
+ @CreateTime = createtime
1263
+ @CertState = certstate
1264
+ @EnableState = enablestate
1265
+ @Labels = labels
1266
+ @ClientIP = clientip
1267
+ @FirmwareUpdateTime = firmwareupdatetime
1268
+ @RequestId = requestid
1269
+ end
1270
+
1271
+ def deserialize(params)
1272
+ @DeviceName = params['DeviceName']
1273
+ @Online = params['Online']
1274
+ @LoginTime = params['LoginTime']
1275
+ @Version = params['Version']
1276
+ @LastUpdateTime = params['LastUpdateTime']
1277
+ @DeviceCert = params['DeviceCert']
1278
+ @DevicePsk = params['DevicePsk']
1279
+ unless params['Tags'].nil?
1280
+ @Tags = []
1281
+ params['Tags'].each do |i|
1282
+ devicetag_tmp = DeviceTag.new
1283
+ devicetag_tmp.deserialize(i)
1284
+ @Tags << devicetag_tmp
1285
+ end
1286
+ end
1287
+ @DeviceType = params['DeviceType']
1288
+ @Imei = params['Imei']
1289
+ @Isp = params['Isp']
1290
+ @ConnIP = params['ConnIP']
1291
+ @NbiotDeviceID = params['NbiotDeviceID']
1292
+ @LoraDevEui = params['LoraDevEui']
1293
+ @LoraMoteType = params['LoraMoteType']
1294
+ @LogLevel = params['LogLevel']
1295
+ @FirstOnlineTime = params['FirstOnlineTime']
1296
+ @LastOfflineTime = params['LastOfflineTime']
1297
+ @CreateTime = params['CreateTime']
1298
+ @CertState = params['CertState']
1299
+ @EnableState = params['EnableState']
1300
+ unless params['Labels'].nil?
1301
+ @Labels = []
1302
+ params['Labels'].each do |i|
1303
+ devicelabel_tmp = DeviceLabel.new
1304
+ devicelabel_tmp.deserialize(i)
1305
+ @Labels << devicelabel_tmp
1306
+ end
1307
+ end
1308
+ @ClientIP = params['ClientIP']
1309
+ @FirmwareUpdateTime = params['FirmwareUpdateTime']
1310
+ @RequestId = params['RequestId']
1311
+ end
1312
+ end
1313
+
1314
+ # DescribeDeviceShadow请求参数结构体
1315
+ class DescribeDeviceShadowRequest < TencentCloud::Common::AbstractModel
1316
+ # @param ProductId: 产品 ID
1317
+ # @type ProductId: String
1318
+ # @param DeviceName: 设备名称。命名规则:[a-zA-Z0-9:_-]{1,48}
1319
+ # @type DeviceName: String
1320
+
1321
+ attr_accessor :ProductId, :DeviceName
1322
+
1323
+ def initialize(productid=nil, devicename=nil)
1324
+ @ProductId = productid
1325
+ @DeviceName = devicename
1326
+ end
1327
+
1328
+ def deserialize(params)
1329
+ @ProductId = params['ProductId']
1330
+ @DeviceName = params['DeviceName']
1331
+ end
1332
+ end
1333
+
1334
+ # DescribeDeviceShadow返回参数结构体
1335
+ class DescribeDeviceShadowResponse < TencentCloud::Common::AbstractModel
1336
+ # @param Data: 设备影子数据
1337
+ # @type Data: String
1338
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1339
+ # @type RequestId: String
1340
+
1341
+ attr_accessor :Data, :RequestId
1342
+
1343
+ def initialize(data=nil, requestid=nil)
1344
+ @Data = data
1345
+ @RequestId = requestid
1346
+ end
1347
+
1348
+ def deserialize(params)
1349
+ @Data = params['Data']
1350
+ @RequestId = params['RequestId']
1351
+ end
1352
+ end
1353
+
1354
+ # DescribeDevices请求参数结构体
1355
+ class DescribeDevicesRequest < TencentCloud::Common::AbstractModel
1356
+ # @param ProductId: 需要查看设备列表的产品 ID
1357
+ # @type ProductId: String
1358
+ # @param Offset: 偏移量,Offset从0开始
1359
+ # @type Offset: Integer
1360
+ # @param Limit: 分页的大小,数值范围 10-250
1361
+ # @type Limit: Integer
1362
+ # @param FirmwareVersion: 设备固件版本号,若不带此参数会返回所有固件版本的设备。传"None-FirmwareVersion"查询无版本号的设备
1363
+ # @type FirmwareVersion: String
1364
+ # @param DeviceName: 需要过滤的设备名称
1365
+ # @type DeviceName: String
1366
+ # @param EnableState: 设备是否启用,0禁用状态1启用状态,默认不区分
1367
+ # @type EnableState: Integer
1368
+
1369
+ attr_accessor :ProductId, :Offset, :Limit, :FirmwareVersion, :DeviceName, :EnableState
1370
+
1371
+ def initialize(productid=nil, offset=nil, limit=nil, firmwareversion=nil, devicename=nil, enablestate=nil)
1372
+ @ProductId = productid
1373
+ @Offset = offset
1374
+ @Limit = limit
1375
+ @FirmwareVersion = firmwareversion
1376
+ @DeviceName = devicename
1377
+ @EnableState = enablestate
1378
+ end
1379
+
1380
+ def deserialize(params)
1381
+ @ProductId = params['ProductId']
1382
+ @Offset = params['Offset']
1383
+ @Limit = params['Limit']
1384
+ @FirmwareVersion = params['FirmwareVersion']
1385
+ @DeviceName = params['DeviceName']
1386
+ @EnableState = params['EnableState']
1387
+ end
1388
+ end
1389
+
1390
+ # DescribeDevices返回参数结构体
1391
+ class DescribeDevicesResponse < TencentCloud::Common::AbstractModel
1392
+ # @param TotalCount: 设备总数
1393
+ # @type TotalCount: Integer
1394
+ # @param Devices: 设备详细信息列表
1395
+ # @type Devices: Array
1396
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1397
+ # @type RequestId: String
1398
+
1399
+ attr_accessor :TotalCount, :Devices, :RequestId
1400
+
1401
+ def initialize(totalcount=nil, devices=nil, requestid=nil)
1402
+ @TotalCount = totalcount
1403
+ @Devices = devices
1404
+ @RequestId = requestid
1405
+ end
1406
+
1407
+ def deserialize(params)
1408
+ @TotalCount = params['TotalCount']
1409
+ unless params['Devices'].nil?
1410
+ @Devices = []
1411
+ params['Devices'].each do |i|
1412
+ deviceinfo_tmp = DeviceInfo.new
1413
+ deviceinfo_tmp.deserialize(i)
1414
+ @Devices << deviceinfo_tmp
1415
+ end
1416
+ end
1417
+ @RequestId = params['RequestId']
1418
+ end
1419
+ end
1420
+
1421
+ # DescribeFirmware请求参数结构体
1422
+ class DescribeFirmwareRequest < TencentCloud::Common::AbstractModel
1423
+ # @param ProductID: 产品ID
1424
+ # @type ProductID: String
1425
+ # @param FirmwareVersion: 固件版本号
1426
+ # @type FirmwareVersion: String
1427
+
1428
+ attr_accessor :ProductID, :FirmwareVersion
1429
+
1430
+ def initialize(productid=nil, firmwareversion=nil)
1431
+ @ProductID = productid
1432
+ @FirmwareVersion = firmwareversion
1433
+ end
1434
+
1435
+ def deserialize(params)
1436
+ @ProductID = params['ProductID']
1437
+ @FirmwareVersion = params['FirmwareVersion']
1438
+ end
1439
+ end
1440
+
1441
+ # DescribeFirmware返回参数结构体
1442
+ class DescribeFirmwareResponse < TencentCloud::Common::AbstractModel
1443
+ # @param Version: 固件版本号
1444
+ # @type Version: String
1445
+ # @param ProductId: 产品ID
1446
+ # @type ProductId: String
1447
+ # @param Name: 固件名称
1448
+ # 注意:此字段可能返回 null,表示取不到有效值。
1449
+ # @type Name: String
1450
+ # @param Description: 固件描述
1451
+ # 注意:此字段可能返回 null,表示取不到有效值。
1452
+ # @type Description: String
1453
+ # @param Md5sum: 固件Md5值
1454
+ # 注意:此字段可能返回 null,表示取不到有效值。
1455
+ # @type Md5sum: String
1456
+ # @param Createtime: 固件上传的秒级时间戳
1457
+ # 注意:此字段可能返回 null,表示取不到有效值。
1458
+ # @type Createtime: Integer
1459
+ # @param ProductName: 产品名称
1460
+ # @type ProductName: String
1461
+ # @param FwType: 固件类型。选项:mcu、module
1462
+ # @type FwType: String
1463
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1464
+ # @type RequestId: String
1465
+
1466
+ attr_accessor :Version, :ProductId, :Name, :Description, :Md5sum, :Createtime, :ProductName, :FwType, :RequestId
1467
+
1468
+ def initialize(version=nil, productid=nil, name=nil, description=nil, md5sum=nil, createtime=nil, productname=nil, fwtype=nil, requestid=nil)
1469
+ @Version = version
1470
+ @ProductId = productid
1471
+ @Name = name
1472
+ @Description = description
1473
+ @Md5sum = md5sum
1474
+ @Createtime = createtime
1475
+ @ProductName = productname
1476
+ @FwType = fwtype
1477
+ @RequestId = requestid
1478
+ end
1479
+
1480
+ def deserialize(params)
1481
+ @Version = params['Version']
1482
+ @ProductId = params['ProductId']
1483
+ @Name = params['Name']
1484
+ @Description = params['Description']
1485
+ @Md5sum = params['Md5sum']
1486
+ @Createtime = params['Createtime']
1487
+ @ProductName = params['ProductName']
1488
+ @FwType = params['FwType']
1489
+ @RequestId = params['RequestId']
1490
+ end
1491
+ end
1492
+
1493
+ # DescribeFirmwareTaskDevices请求参数结构体
1494
+ class DescribeFirmwareTaskDevicesRequest < TencentCloud::Common::AbstractModel
1495
+ # @param ProductID: 产品ID
1496
+ # @type ProductID: String
1497
+ # @param FirmwareVersion: 固件版本
1498
+ # @type FirmwareVersion: String
1499
+ # @param Filters: 筛选条件
1500
+ # @type Filters: Array
1501
+ # @param Offset: 查询偏移量
1502
+ # @type Offset: Integer
1503
+ # @param Limit: 查询的数量
1504
+ # @type Limit: Integer
1505
+
1506
+ attr_accessor :ProductID, :FirmwareVersion, :Filters, :Offset, :Limit
1507
+
1508
+ def initialize(productid=nil, firmwareversion=nil, filters=nil, offset=nil, limit=nil)
1509
+ @ProductID = productid
1510
+ @FirmwareVersion = firmwareversion
1511
+ @Filters = filters
1512
+ @Offset = offset
1513
+ @Limit = limit
1514
+ end
1515
+
1516
+ def deserialize(params)
1517
+ @ProductID = params['ProductID']
1518
+ @FirmwareVersion = params['FirmwareVersion']
1519
+ unless params['Filters'].nil?
1520
+ @Filters = []
1521
+ params['Filters'].each do |i|
1522
+ searchkeyword_tmp = SearchKeyword.new
1523
+ searchkeyword_tmp.deserialize(i)
1524
+ @Filters << searchkeyword_tmp
1525
+ end
1526
+ end
1527
+ @Offset = params['Offset']
1528
+ @Limit = params['Limit']
1529
+ end
1530
+ end
1531
+
1532
+ # DescribeFirmwareTaskDevices返回参数结构体
1533
+ class DescribeFirmwareTaskDevicesResponse < TencentCloud::Common::AbstractModel
1534
+ # @param Total: 固件升级任务的设备总数
1535
+ # 注意:此字段可能返回 null,表示取不到有效值。
1536
+ # @type Total: Integer
1537
+ # @param Devices: 固件升级任务的设备列表
1538
+ # 注意:此字段可能返回 null,表示取不到有效值。
1539
+ # @type Devices: Array
1540
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1541
+ # @type RequestId: String
1542
+
1543
+ attr_accessor :Total, :Devices, :RequestId
1544
+
1545
+ def initialize(total=nil, devices=nil, requestid=nil)
1546
+ @Total = total
1547
+ @Devices = devices
1548
+ @RequestId = requestid
1549
+ end
1550
+
1551
+ def deserialize(params)
1552
+ @Total = params['Total']
1553
+ unless params['Devices'].nil?
1554
+ @Devices = []
1555
+ params['Devices'].each do |i|
1556
+ deviceupdatestatus_tmp = DeviceUpdateStatus.new
1557
+ deviceupdatestatus_tmp.deserialize(i)
1558
+ @Devices << deviceupdatestatus_tmp
1559
+ end
1560
+ end
1561
+ @RequestId = params['RequestId']
1562
+ end
1563
+ end
1564
+
1565
+ # DescribeFirmwareTaskDistribution请求参数结构体
1566
+ class DescribeFirmwareTaskDistributionRequest < TencentCloud::Common::AbstractModel
1567
+ # @param ProductID: 产品ID
1568
+ # @type ProductID: String
1569
+ # @param FirmwareVersion: 固件版本号
1570
+ # @type FirmwareVersion: String
1571
+ # @param TaskId: 固件升级任务ID
1572
+ # @type TaskId: Integer
1573
+
1574
+ attr_accessor :ProductID, :FirmwareVersion, :TaskId
1575
+
1576
+ def initialize(productid=nil, firmwareversion=nil, taskid=nil)
1577
+ @ProductID = productid
1578
+ @FirmwareVersion = firmwareversion
1579
+ @TaskId = taskid
1580
+ end
1581
+
1582
+ def deserialize(params)
1583
+ @ProductID = params['ProductID']
1584
+ @FirmwareVersion = params['FirmwareVersion']
1585
+ @TaskId = params['TaskId']
1586
+ end
1587
+ end
1588
+
1589
+ # DescribeFirmwareTaskDistribution返回参数结构体
1590
+ class DescribeFirmwareTaskDistributionResponse < TencentCloud::Common::AbstractModel
1591
+ # @param StatusInfos: 固件升级任务状态分布信息
1592
+ # @type StatusInfos: Array
1593
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1594
+ # @type RequestId: String
1595
+
1596
+ attr_accessor :StatusInfos, :RequestId
1597
+
1598
+ def initialize(statusinfos=nil, requestid=nil)
1599
+ @StatusInfos = statusinfos
1600
+ @RequestId = requestid
1601
+ end
1602
+
1603
+ def deserialize(params)
1604
+ unless params['StatusInfos'].nil?
1605
+ @StatusInfos = []
1606
+ params['StatusInfos'].each do |i|
1607
+ statusstatistic_tmp = StatusStatistic.new
1608
+ statusstatistic_tmp.deserialize(i)
1609
+ @StatusInfos << statusstatistic_tmp
1610
+ end
1611
+ end
1612
+ @RequestId = params['RequestId']
1613
+ end
1614
+ end
1615
+
1616
+ # DescribeFirmwareTask请求参数结构体
1617
+ class DescribeFirmwareTaskRequest < TencentCloud::Common::AbstractModel
1618
+ # @param ProductID: 产品ID
1619
+ # @type ProductID: String
1620
+ # @param FirmwareVersion: 固件版本号
1621
+ # @type FirmwareVersion: String
1622
+ # @param TaskId: 固件任务ID
1623
+ # @type TaskId: Integer
1624
+
1625
+ attr_accessor :ProductID, :FirmwareVersion, :TaskId
1626
+
1627
+ def initialize(productid=nil, firmwareversion=nil, taskid=nil)
1628
+ @ProductID = productid
1629
+ @FirmwareVersion = firmwareversion
1630
+ @TaskId = taskid
1631
+ end
1632
+
1633
+ def deserialize(params)
1634
+ @ProductID = params['ProductID']
1635
+ @FirmwareVersion = params['FirmwareVersion']
1636
+ @TaskId = params['TaskId']
1637
+ end
1638
+ end
1639
+
1640
+ # DescribeFirmwareTask返回参数结构体
1641
+ class DescribeFirmwareTaskResponse < TencentCloud::Common::AbstractModel
1642
+ # @param TaskId: 固件任务ID
1643
+ # 注意:此字段可能返回 null,表示取不到有效值。
1644
+ # @type TaskId: Integer
1645
+ # @param Status: 固件任务状态
1646
+ # 注意:此字段可能返回 null,表示取不到有效值。
1647
+ # @type Status: Integer
1648
+ # @param CreateTime: 固件任务创建时间,单位:秒
1649
+ # 注意:此字段可能返回 null,表示取不到有效值。
1650
+ # @type CreateTime: Integer
1651
+ # @param Type: 固件任务升级类型
1652
+ # 注意:此字段可能返回 null,表示取不到有效值。
1653
+ # @type Type: Integer
1654
+ # @param ProductName: 产品名称
1655
+ # 注意:此字段可能返回 null,表示取不到有效值。
1656
+ # @type ProductName: String
1657
+ # @param UpgradeMode: 固件任务升级模式。originalVersion(按版本号升级)、filename(提交文件升级)、devicenames(按设备名称升级)
1658
+ # 注意:此字段可能返回 null,表示取不到有效值。
1659
+ # @type UpgradeMode: String
1660
+ # @param ProductId: 产品ID
1661
+ # 注意:此字段可能返回 null,表示取不到有效值。
1662
+ # @type ProductId: String
1663
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1664
+ # @type RequestId: String
1665
+
1666
+ attr_accessor :TaskId, :Status, :CreateTime, :Type, :ProductName, :UpgradeMode, :ProductId, :RequestId
1667
+
1668
+ def initialize(taskid=nil, status=nil, createtime=nil, type=nil, productname=nil, upgrademode=nil, productid=nil, requestid=nil)
1669
+ @TaskId = taskid
1670
+ @Status = status
1671
+ @CreateTime = createtime
1672
+ @Type = type
1673
+ @ProductName = productname
1674
+ @UpgradeMode = upgrademode
1675
+ @ProductId = productid
1676
+ @RequestId = requestid
1677
+ end
1678
+
1679
+ def deserialize(params)
1680
+ @TaskId = params['TaskId']
1681
+ @Status = params['Status']
1682
+ @CreateTime = params['CreateTime']
1683
+ @Type = params['Type']
1684
+ @ProductName = params['ProductName']
1685
+ @UpgradeMode = params['UpgradeMode']
1686
+ @ProductId = params['ProductId']
1687
+ @RequestId = params['RequestId']
1688
+ end
1689
+ end
1690
+
1691
+ # DescribeFirmwareTaskStatistics请求参数结构体
1692
+ class DescribeFirmwareTaskStatisticsRequest < TencentCloud::Common::AbstractModel
1693
+ # @param ProductID: 产品ID
1694
+ # @type ProductID: String
1695
+ # @param FirmwareVersion: 固件版本号
1696
+ # @type FirmwareVersion: String
1697
+
1698
+ attr_accessor :ProductID, :FirmwareVersion
1699
+
1700
+ def initialize(productid=nil, firmwareversion=nil)
1701
+ @ProductID = productid
1702
+ @FirmwareVersion = firmwareversion
1703
+ end
1704
+
1705
+ def deserialize(params)
1706
+ @ProductID = params['ProductID']
1707
+ @FirmwareVersion = params['FirmwareVersion']
1708
+ end
1709
+ end
1710
+
1711
+ # DescribeFirmwareTaskStatistics返回参数结构体
1712
+ class DescribeFirmwareTaskStatisticsResponse < TencentCloud::Common::AbstractModel
1713
+ # @param SuccessTotal: 升级成功的设备总数
1714
+ # 注意:此字段可能返回 null,表示取不到有效值。
1715
+ # @type SuccessTotal: Integer
1716
+ # @param FailureTotal: 升级失败的设备总数
1717
+ # 注意:此字段可能返回 null,表示取不到有效值。
1718
+ # @type FailureTotal: Integer
1719
+ # @param UpgradingTotal: 正在升级的设备总数
1720
+ # 注意:此字段可能返回 null,表示取不到有效值。
1721
+ # @type UpgradingTotal: Integer
1722
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1723
+ # @type RequestId: String
1724
+
1725
+ attr_accessor :SuccessTotal, :FailureTotal, :UpgradingTotal, :RequestId
1726
+
1727
+ def initialize(successtotal=nil, failuretotal=nil, upgradingtotal=nil, requestid=nil)
1728
+ @SuccessTotal = successtotal
1729
+ @FailureTotal = failuretotal
1730
+ @UpgradingTotal = upgradingtotal
1731
+ @RequestId = requestid
1732
+ end
1733
+
1734
+ def deserialize(params)
1735
+ @SuccessTotal = params['SuccessTotal']
1736
+ @FailureTotal = params['FailureTotal']
1737
+ @UpgradingTotal = params['UpgradingTotal']
1738
+ @RequestId = params['RequestId']
1739
+ end
1740
+ end
1741
+
1742
+ # DescribeFirmwareTasks请求参数结构体
1743
+ class DescribeFirmwareTasksRequest < TencentCloud::Common::AbstractModel
1744
+ # @param ProductID: 产品ID
1745
+ # @type ProductID: String
1746
+ # @param FirmwareVersion: 固件版本号
1747
+ # @type FirmwareVersion: String
1748
+ # @param Offset: 查询偏移量
1749
+ # @type Offset: Integer
1750
+ # @param Limit: 返回查询结果条数
1751
+ # @type Limit: Integer
1752
+ # @param Filters: 搜索过滤条件
1753
+ # @type Filters: Array
1754
+
1755
+ attr_accessor :ProductID, :FirmwareVersion, :Offset, :Limit, :Filters
1756
+
1757
+ def initialize(productid=nil, firmwareversion=nil, offset=nil, limit=nil, filters=nil)
1758
+ @ProductID = productid
1759
+ @FirmwareVersion = firmwareversion
1760
+ @Offset = offset
1761
+ @Limit = limit
1762
+ @Filters = filters
1763
+ end
1764
+
1765
+ def deserialize(params)
1766
+ @ProductID = params['ProductID']
1767
+ @FirmwareVersion = params['FirmwareVersion']
1768
+ @Offset = params['Offset']
1769
+ @Limit = params['Limit']
1770
+ unless params['Filters'].nil?
1771
+ @Filters = []
1772
+ params['Filters'].each do |i|
1773
+ searchkeyword_tmp = SearchKeyword.new
1774
+ searchkeyword_tmp.deserialize(i)
1775
+ @Filters << searchkeyword_tmp
1776
+ end
1777
+ end
1778
+ end
1779
+ end
1780
+
1781
+ # DescribeFirmwareTasks返回参数结构体
1782
+ class DescribeFirmwareTasksResponse < TencentCloud::Common::AbstractModel
1783
+ # @param TaskInfos: 固件升级任务列表
1784
+ # 注意:此字段可能返回 null,表示取不到有效值。
1785
+ # @type TaskInfos: Array
1786
+ # @param Total: 固件升级任务总数
1787
+ # 注意:此字段可能返回 null,表示取不到有效值。
1788
+ # @type Total: Integer
1789
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1790
+ # @type RequestId: String
1791
+
1792
+ attr_accessor :TaskInfos, :Total, :RequestId
1793
+
1794
+ def initialize(taskinfos=nil, total=nil, requestid=nil)
1795
+ @TaskInfos = taskinfos
1796
+ @Total = total
1797
+ @RequestId = requestid
1798
+ end
1799
+
1800
+ def deserialize(params)
1801
+ unless params['TaskInfos'].nil?
1802
+ @TaskInfos = []
1803
+ params['TaskInfos'].each do |i|
1804
+ firmwaretaskinfo_tmp = FirmwareTaskInfo.new
1805
+ firmwaretaskinfo_tmp.deserialize(i)
1806
+ @TaskInfos << firmwaretaskinfo_tmp
1807
+ end
1808
+ end
1809
+ @Total = params['Total']
1810
+ @RequestId = params['RequestId']
1811
+ end
1812
+ end
1813
+
1814
+ # DescribeLoraDevice请求参数结构体
1815
+ class DescribeLoraDeviceRequest < TencentCloud::Common::AbstractModel
1816
+ # @param ProductId: 产品ID
1817
+ # @type ProductId: String
1818
+ # @param DeviceName: 设备名称
1819
+ # @type DeviceName: String
1820
+
1821
+ attr_accessor :ProductId, :DeviceName
1822
+
1823
+ def initialize(productid=nil, devicename=nil)
1824
+ @ProductId = productid
1825
+ @DeviceName = devicename
1826
+ end
1827
+
1828
+ def deserialize(params)
1829
+ @ProductId = params['ProductId']
1830
+ @DeviceName = params['DeviceName']
1831
+ end
1832
+ end
1833
+
1834
+ # DescribeLoraDevice返回参数结构体
1835
+ class DescribeLoraDeviceResponse < TencentCloud::Common::AbstractModel
1836
+ # @param DeviceName: 设备名称
1837
+ # @type DeviceName: String
1838
+ # @param AppEui: LoRa应用UUID
1839
+ # @type AppEui: String
1840
+ # @param DeviceEui: LoRa设备UUID
1841
+ # @type DeviceEui: String
1842
+ # @param AppKey: LoRa应用密钥
1843
+ # @type AppKey: String
1844
+ # @param ClassType: 设备类型,目前支持A、B、C三种
1845
+ # @type ClassType: String
1846
+ # @param ProductId: 设备所属产品id
1847
+ # @type ProductId: String
1848
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1849
+ # @type RequestId: String
1850
+
1851
+ attr_accessor :DeviceName, :AppEui, :DeviceEui, :AppKey, :ClassType, :ProductId, :RequestId
1852
+
1853
+ def initialize(devicename=nil, appeui=nil, deviceeui=nil, appkey=nil, classtype=nil, productid=nil, requestid=nil)
1854
+ @DeviceName = devicename
1855
+ @AppEui = appeui
1856
+ @DeviceEui = deviceeui
1857
+ @AppKey = appkey
1858
+ @ClassType = classtype
1859
+ @ProductId = productid
1860
+ @RequestId = requestid
1861
+ end
1862
+
1863
+ def deserialize(params)
1864
+ @DeviceName = params['DeviceName']
1865
+ @AppEui = params['AppEui']
1866
+ @DeviceEui = params['DeviceEui']
1867
+ @AppKey = params['AppKey']
1868
+ @ClassType = params['ClassType']
1869
+ @ProductId = params['ProductId']
1870
+ @RequestId = params['RequestId']
1871
+ end
1872
+ end
1873
+
1874
+ # DescribeMultiDevTask请求参数结构体
1875
+ class DescribeMultiDevTaskRequest < TencentCloud::Common::AbstractModel
1876
+ # @param TaskId: 任务 ID,由批量创建设备接口返回
1877
+ # @type TaskId: String
1878
+ # @param ProductId: 产品 ID,创建产品时腾讯云为用户分配全局唯一的 ID
1879
+ # @type ProductId: String
1880
+
1881
+ attr_accessor :TaskId, :ProductId
1882
+
1883
+ def initialize(taskid=nil, productid=nil)
1884
+ @TaskId = taskid
1885
+ @ProductId = productid
1886
+ end
1887
+
1888
+ def deserialize(params)
1889
+ @TaskId = params['TaskId']
1890
+ @ProductId = params['ProductId']
1891
+ end
1892
+ end
1893
+
1894
+ # DescribeMultiDevTask返回参数结构体
1895
+ class DescribeMultiDevTaskResponse < TencentCloud::Common::AbstractModel
1896
+ # @param TaskId: 任务 ID
1897
+ # @type TaskId: String
1898
+ # @param TaskStatus: 任务是否完成。0 代表任务未开始,1 代表任务正在执行,2 代表任务已完成
1899
+ # @type TaskStatus: Integer
1900
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1901
+ # @type RequestId: String
1902
+
1903
+ attr_accessor :TaskId, :TaskStatus, :RequestId
1904
+
1905
+ def initialize(taskid=nil, taskstatus=nil, requestid=nil)
1906
+ @TaskId = taskid
1907
+ @TaskStatus = taskstatus
1908
+ @RequestId = requestid
1909
+ end
1910
+
1911
+ def deserialize(params)
1912
+ @TaskId = params['TaskId']
1913
+ @TaskStatus = params['TaskStatus']
1914
+ @RequestId = params['RequestId']
1915
+ end
1916
+ end
1917
+
1918
+ # DescribeMultiDevices请求参数结构体
1919
+ class DescribeMultiDevicesRequest < TencentCloud::Common::AbstractModel
1920
+ # @param ProductId: 产品 ID,创建产品时腾讯云为用户分配全局唯一的 ID
1921
+ # @type ProductId: String
1922
+ # @param TaskId: 任务 ID,由批量创建设备接口返回
1923
+ # @type TaskId: String
1924
+ # @param Offset: 分页偏移
1925
+ # @type Offset: Integer
1926
+ # @param Limit: 分页大小,每页返回的设备个数
1927
+ # @type Limit: Integer
1928
+
1929
+ attr_accessor :ProductId, :TaskId, :Offset, :Limit
1930
+
1931
+ def initialize(productid=nil, taskid=nil, offset=nil, limit=nil)
1932
+ @ProductId = productid
1933
+ @TaskId = taskid
1934
+ @Offset = offset
1935
+ @Limit = limit
1936
+ end
1937
+
1938
+ def deserialize(params)
1939
+ @ProductId = params['ProductId']
1940
+ @TaskId = params['TaskId']
1941
+ @Offset = params['Offset']
1942
+ @Limit = params['Limit']
1943
+ end
1944
+ end
1945
+
1946
+ # DescribeMultiDevices返回参数结构体
1947
+ class DescribeMultiDevicesResponse < TencentCloud::Common::AbstractModel
1948
+ # @param TaskId: 任务 ID,由批量创建设备接口返回
1949
+ # @type TaskId: String
1950
+ # @param DevicesInfo: 设备详细信息列表
1951
+ # @type DevicesInfo: Array
1952
+ # @param TotalDevNum: 该任务创建设备的总数
1953
+ # @type TotalDevNum: Integer
1954
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1955
+ # @type RequestId: String
1956
+
1957
+ attr_accessor :TaskId, :DevicesInfo, :TotalDevNum, :RequestId
1958
+
1959
+ def initialize(taskid=nil, devicesinfo=nil, totaldevnum=nil, requestid=nil)
1960
+ @TaskId = taskid
1961
+ @DevicesInfo = devicesinfo
1962
+ @TotalDevNum = totaldevnum
1963
+ @RequestId = requestid
1964
+ end
1965
+
1966
+ def deserialize(params)
1967
+ @TaskId = params['TaskId']
1968
+ unless params['DevicesInfo'].nil?
1969
+ @DevicesInfo = []
1970
+ params['DevicesInfo'].each do |i|
1971
+ multidevicesinfo_tmp = MultiDevicesInfo.new
1972
+ multidevicesinfo_tmp.deserialize(i)
1973
+ @DevicesInfo << multidevicesinfo_tmp
1974
+ end
1975
+ end
1976
+ @TotalDevNum = params['TotalDevNum']
1977
+ @RequestId = params['RequestId']
1978
+ end
1979
+ end
1980
+
1981
+ # DescribeProductResource请求参数结构体
1982
+ class DescribeProductResourceRequest < TencentCloud::Common::AbstractModel
1983
+ # @param ProductID: 需要查看资源列表的产品 ID
1984
+ # @type ProductID: String
1985
+ # @param Name: 需要过滤的资源名称
1986
+ # @type Name: String
1987
+
1988
+ attr_accessor :ProductID, :Name
1989
+
1990
+ def initialize(productid=nil, name=nil)
1991
+ @ProductID = productid
1992
+ @Name = name
1993
+ end
1994
+
1995
+ def deserialize(params)
1996
+ @ProductID = params['ProductID']
1997
+ @Name = params['Name']
1998
+ end
1999
+ end
2000
+
2001
+ # DescribeProductResource返回参数结构体
2002
+ class DescribeProductResourceResponse < TencentCloud::Common::AbstractModel
2003
+ # @param Result: 资源详情
2004
+ # 注意:此字段可能返回 null,表示取不到有效值。
2005
+ # @type Result: :class:`Tencentcloud::Iotcloud.v20180614.models.ProductResourceInfo`
2006
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
2007
+ # @type RequestId: String
2008
+
2009
+ attr_accessor :Result, :RequestId
2010
+
2011
+ def initialize(result=nil, requestid=nil)
2012
+ @Result = result
2013
+ @RequestId = requestid
2014
+ end
2015
+
2016
+ def deserialize(params)
2017
+ unless params['Result'].nil?
2018
+ @Result = ProductResourceInfo.new
2019
+ @Result.deserialize(params['Result'])
2020
+ end
2021
+ @RequestId = params['RequestId']
2022
+ end
2023
+ end
2024
+
2025
+ # DescribeProductResources请求参数结构体
2026
+ class DescribeProductResourcesRequest < TencentCloud::Common::AbstractModel
2027
+ # @param Offset: 偏移量,Offset从0开始
2028
+ # @type Offset: Integer
2029
+ # @param Limit: 分页的大小,数值范围 10-250
2030
+ # @type Limit: Integer
2031
+ # @param ProductID: 需要查看资源列表的产品 ID
2032
+ # @type ProductID: String
2033
+ # @param Name: 需要过滤的资源名称
2034
+ # @type Name: String
2035
+
2036
+ attr_accessor :Offset, :Limit, :ProductID, :Name
2037
+
2038
+ def initialize(offset=nil, limit=nil, productid=nil, name=nil)
2039
+ @Offset = offset
2040
+ @Limit = limit
2041
+ @ProductID = productid
2042
+ @Name = name
2043
+ end
2044
+
2045
+ def deserialize(params)
2046
+ @Offset = params['Offset']
2047
+ @Limit = params['Limit']
2048
+ @ProductID = params['ProductID']
2049
+ @Name = params['Name']
2050
+ end
2051
+ end
2052
+
2053
+ # DescribeProductResources返回参数结构体
2054
+ class DescribeProductResourcesResponse < TencentCloud::Common::AbstractModel
2055
+ # @param TotalCount: 资源总数
2056
+ # @type TotalCount: Integer
2057
+ # @param Result: 资源详情
2058
+ # 注意:此字段可能返回 null,表示取不到有效值。
2059
+ # @type Result: Array
2060
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
2061
+ # @type RequestId: String
2062
+
2063
+ attr_accessor :TotalCount, :Result, :RequestId
2064
+
2065
+ def initialize(totalcount=nil, result=nil, requestid=nil)
2066
+ @TotalCount = totalcount
2067
+ @Result = result
2068
+ @RequestId = requestid
2069
+ end
2070
+
2071
+ def deserialize(params)
2072
+ @TotalCount = params['TotalCount']
2073
+ unless params['Result'].nil?
2074
+ @Result = []
2075
+ params['Result'].each do |i|
2076
+ productresourceinfo_tmp = ProductResourceInfo.new
2077
+ productresourceinfo_tmp.deserialize(i)
2078
+ @Result << productresourceinfo_tmp
2079
+ end
2080
+ end
2081
+ @RequestId = params['RequestId']
2082
+ end
2083
+ end
2084
+
2085
+ # DescribeProductTask请求参数结构体
2086
+ class DescribeProductTaskRequest < TencentCloud::Common::AbstractModel
2087
+ # @param ProductId: 产品ID
2088
+ # @type ProductId: String
2089
+ # @param TaskId: 任务ID
2090
+ # @type TaskId: Integer
2091
+
2092
+ attr_accessor :ProductId, :TaskId
2093
+
2094
+ def initialize(productid=nil, taskid=nil)
2095
+ @ProductId = productid
2096
+ @TaskId = taskid
2097
+ end
2098
+
2099
+ def deserialize(params)
2100
+ @ProductId = params['ProductId']
2101
+ @TaskId = params['TaskId']
2102
+ end
2103
+ end
2104
+
2105
+ # DescribeProductTask返回参数结构体
2106
+ class DescribeProductTaskResponse < TencentCloud::Common::AbstractModel
2107
+ # @param TaskInfo: 产品任务详细信息
2108
+ # @type TaskInfo: :class:`Tencentcloud::Iotcloud.v20180614.models.ProductTaskInfo`
2109
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
2110
+ # @type RequestId: String
2111
+
2112
+ attr_accessor :TaskInfo, :RequestId
2113
+
2114
+ def initialize(taskinfo=nil, requestid=nil)
2115
+ @TaskInfo = taskinfo
2116
+ @RequestId = requestid
2117
+ end
2118
+
2119
+ def deserialize(params)
2120
+ unless params['TaskInfo'].nil?
2121
+ @TaskInfo = ProductTaskInfo.new
2122
+ @TaskInfo.deserialize(params['TaskInfo'])
2123
+ end
2124
+ @RequestId = params['RequestId']
2125
+ end
2126
+ end
2127
+
2128
+ # DescribeProductTasks请求参数结构体
2129
+ class DescribeProductTasksRequest < TencentCloud::Common::AbstractModel
2130
+ # @param ProductId: 产品ID
2131
+ # @type ProductId: String
2132
+ # @param Offset: 产品级别任务列表偏移量
2133
+ # @type Offset: Integer
2134
+ # @param Limit: 产品级别任务列表拉取个数
2135
+ # @type Limit: Integer
2136
+
2137
+ attr_accessor :ProductId, :Offset, :Limit
2138
+
2139
+ def initialize(productid=nil, offset=nil, limit=nil)
2140
+ @ProductId = productid
2141
+ @Offset = offset
2142
+ @Limit = limit
2143
+ end
2144
+
2145
+ def deserialize(params)
2146
+ @ProductId = params['ProductId']
2147
+ @Offset = params['Offset']
2148
+ @Limit = params['Limit']
2149
+ end
2150
+ end
2151
+
2152
+ # DescribeProductTasks返回参数结构体
2153
+ class DescribeProductTasksResponse < TencentCloud::Common::AbstractModel
2154
+ # @param TotalCount: 符合条件的任务总个数
2155
+ # @type TotalCount: Integer
2156
+ # @param TaskInfos: 任务详细信息列表
2157
+ # @type TaskInfos: Array
2158
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
2159
+ # @type RequestId: String
2160
+
2161
+ attr_accessor :TotalCount, :TaskInfos, :RequestId
2162
+
2163
+ def initialize(totalcount=nil, taskinfos=nil, requestid=nil)
2164
+ @TotalCount = totalcount
2165
+ @TaskInfos = taskinfos
2166
+ @RequestId = requestid
2167
+ end
2168
+
2169
+ def deserialize(params)
2170
+ @TotalCount = params['TotalCount']
2171
+ unless params['TaskInfos'].nil?
2172
+ @TaskInfos = []
2173
+ params['TaskInfos'].each do |i|
2174
+ producttaskinfo_tmp = ProductTaskInfo.new
2175
+ producttaskinfo_tmp.deserialize(i)
2176
+ @TaskInfos << producttaskinfo_tmp
2177
+ end
2178
+ end
2179
+ @RequestId = params['RequestId']
2180
+ end
2181
+ end
2182
+
2183
+ # DescribeProducts请求参数结构体
2184
+ class DescribeProductsRequest < TencentCloud::Common::AbstractModel
2185
+ # @param Offset: 偏移量,Offset从0开始
2186
+ # @type Offset: Integer
2187
+ # @param Limit: 分页大小,当前页面中显示的最大数量,值范围 10-250。
2188
+ # @type Limit: Integer
2189
+
2190
+ attr_accessor :Offset, :Limit
2191
+
2192
+ def initialize(offset=nil, limit=nil)
2193
+ @Offset = offset
2194
+ @Limit = limit
2195
+ end
2196
+
2197
+ def deserialize(params)
2198
+ @Offset = params['Offset']
2199
+ @Limit = params['Limit']
2200
+ end
2201
+ end
2202
+
2203
+ # DescribeProducts返回参数结构体
2204
+ class DescribeProductsResponse < TencentCloud::Common::AbstractModel
2205
+ # @param TotalCount: 产品总数
2206
+ # @type TotalCount: Integer
2207
+ # @param Products: 产品详细信息列表
2208
+ # @type Products: Array
2209
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
2210
+ # @type RequestId: String
2211
+
2212
+ attr_accessor :TotalCount, :Products, :RequestId
2213
+
2214
+ def initialize(totalcount=nil, products=nil, requestid=nil)
2215
+ @TotalCount = totalcount
2216
+ @Products = products
2217
+ @RequestId = requestid
2218
+ end
2219
+
2220
+ def deserialize(params)
2221
+ @TotalCount = params['TotalCount']
2222
+ unless params['Products'].nil?
2223
+ @Products = []
2224
+ params['Products'].each do |i|
2225
+ productinfo_tmp = ProductInfo.new
2226
+ productinfo_tmp.deserialize(i)
2227
+ @Products << productinfo_tmp
2228
+ end
2229
+ end
2230
+ @RequestId = params['RequestId']
2231
+ end
2232
+ end
2233
+
2234
+ # DescribePushResourceTaskStatistics请求参数结构体
2235
+ class DescribePushResourceTaskStatisticsRequest < TencentCloud::Common::AbstractModel
2236
+ # @param ProductID: 产品ID
2237
+ # @type ProductID: String
2238
+ # @param Name: 资源名称
2239
+ # @type Name: String
2240
+
2241
+ attr_accessor :ProductID, :Name
2242
+
2243
+ def initialize(productid=nil, name=nil)
2244
+ @ProductID = productid
2245
+ @Name = name
2246
+ end
2247
+
2248
+ def deserialize(params)
2249
+ @ProductID = params['ProductID']
2250
+ @Name = params['Name']
2251
+ end
2252
+ end
2253
+
2254
+ # DescribePushResourceTaskStatistics返回参数结构体
2255
+ class DescribePushResourceTaskStatisticsResponse < TencentCloud::Common::AbstractModel
2256
+ # @param SuccessTotal: 推送成功的设备总数
2257
+ # 注意:此字段可能返回 null,表示取不到有效值。
2258
+ # @type SuccessTotal: Integer
2259
+ # @param FailureTotal: 推送失败的设备总数
2260
+ # 注意:此字段可能返回 null,表示取不到有效值。
2261
+ # @type FailureTotal: Integer
2262
+ # @param UpgradingTotal: 正在推送的设备总数
2263
+ # 注意:此字段可能返回 null,表示取不到有效值。
2264
+ # @type UpgradingTotal: Integer
2265
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
2266
+ # @type RequestId: String
2267
+
2268
+ attr_accessor :SuccessTotal, :FailureTotal, :UpgradingTotal, :RequestId
2269
+
2270
+ def initialize(successtotal=nil, failuretotal=nil, upgradingtotal=nil, requestid=nil)
2271
+ @SuccessTotal = successtotal
2272
+ @FailureTotal = failuretotal
2273
+ @UpgradingTotal = upgradingtotal
2274
+ @RequestId = requestid
2275
+ end
2276
+
2277
+ def deserialize(params)
2278
+ @SuccessTotal = params['SuccessTotal']
2279
+ @FailureTotal = params['FailureTotal']
2280
+ @UpgradingTotal = params['UpgradingTotal']
2281
+ @RequestId = params['RequestId']
2282
+ end
2283
+ end
2284
+
2285
+ # DescribeResourceTasks请求参数结构体
2286
+ class DescribeResourceTasksRequest < TencentCloud::Common::AbstractModel
2287
+ # @param ProductID: 产品ID
2288
+ # @type ProductID: String
2289
+ # @param Name: 资源名称
2290
+ # @type Name: String
2291
+ # @param Offset: 查询偏移量
2292
+ # @type Offset: Integer
2293
+ # @param Limit: 返回查询结果条数
2294
+ # @type Limit: Integer
2295
+ # @param Filters: 搜索过滤条件
2296
+ # @type Filters: Array
2297
+
2298
+ attr_accessor :ProductID, :Name, :Offset, :Limit, :Filters
2299
+
2300
+ def initialize(productid=nil, name=nil, offset=nil, limit=nil, filters=nil)
2301
+ @ProductID = productid
2302
+ @Name = name
2303
+ @Offset = offset
2304
+ @Limit = limit
2305
+ @Filters = filters
2306
+ end
2307
+
2308
+ def deserialize(params)
2309
+ @ProductID = params['ProductID']
2310
+ @Name = params['Name']
2311
+ @Offset = params['Offset']
2312
+ @Limit = params['Limit']
2313
+ unless params['Filters'].nil?
2314
+ @Filters = []
2315
+ params['Filters'].each do |i|
2316
+ searchkeyword_tmp = SearchKeyword.new
2317
+ searchkeyword_tmp.deserialize(i)
2318
+ @Filters << searchkeyword_tmp
2319
+ end
2320
+ end
2321
+ end
2322
+ end
2323
+
2324
+ # DescribeResourceTasks返回参数结构体
2325
+ class DescribeResourceTasksResponse < TencentCloud::Common::AbstractModel
2326
+ # @param TaskInfos: 资源任务列表
2327
+ # 注意:此字段可能返回 null,表示取不到有效值。
2328
+ # @type TaskInfos: Array
2329
+ # @param Total: 资源任务总数
2330
+ # 注意:此字段可能返回 null,表示取不到有效值。
2331
+ # @type Total: Integer
2332
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
2333
+ # @type RequestId: String
2334
+
2335
+ attr_accessor :TaskInfos, :Total, :RequestId
2336
+
2337
+ def initialize(taskinfos=nil, total=nil, requestid=nil)
2338
+ @TaskInfos = taskinfos
2339
+ @Total = total
2340
+ @RequestId = requestid
2341
+ end
2342
+
2343
+ def deserialize(params)
2344
+ unless params['TaskInfos'].nil?
2345
+ @TaskInfos = []
2346
+ params['TaskInfos'].each do |i|
2347
+ firmwaretaskinfo_tmp = FirmwareTaskInfo.new
2348
+ firmwaretaskinfo_tmp.deserialize(i)
2349
+ @TaskInfos << firmwaretaskinfo_tmp
2350
+ end
2351
+ end
2352
+ @Total = params['Total']
2353
+ @RequestId = params['RequestId']
2354
+ end
2355
+ end
2356
+
2357
+ # DescribeTask请求参数结构体
2358
+ class DescribeTaskRequest < TencentCloud::Common::AbstractModel
2359
+ # @param Id: 任务ID
2360
+ # @type Id: String
2361
+
2362
+ attr_accessor :Id
2363
+
2364
+ def initialize(id=nil)
2365
+ @Id = id
2366
+ end
2367
+
2368
+ def deserialize(params)
2369
+ @Id = params['Id']
2370
+ end
2371
+ end
2372
+
2373
+ # DescribeTask返回参数结构体
2374
+ class DescribeTaskResponse < TencentCloud::Common::AbstractModel
2375
+ # @param Type: 任务类型,目前取值为 “UpdateShadow” 或者 “PublishMessage”
2376
+ # @type Type: String
2377
+ # @param Id: 任务 ID
2378
+ # @type Id: String
2379
+ # @param ProductId: 产品 ID
2380
+ # @type ProductId: String
2381
+ # @param Status: 状态。1表示等待处理,2表示调度处理中,3表示已完成,4表示失败,5表示已取消
2382
+ # @type Status: Integer
2383
+ # @param CreateTime: 任务创建时间,Unix 时间戳
2384
+ # @type CreateTime: Integer
2385
+ # @param UpdateTime: 最后任务更新时间,Unix 时间戳
2386
+ # @type UpdateTime: Integer
2387
+ # @param DoneTime: 任务完成时间,Unix 时间戳
2388
+ # @type DoneTime: Integer
2389
+ # @param ScheduleTime: 被调度时间,Unix 时间戳
2390
+ # @type ScheduleTime: Integer
2391
+ # @param RetCode: 返回的错误码
2392
+ # @type RetCode: Integer
2393
+ # @param ErrMsg: 返回的错误信息
2394
+ # @type ErrMsg: String
2395
+ # @param Percent: 完成任务的设备比例
2396
+ # @type Percent: Integer
2397
+ # @param AllDeviceCnt: 匹配到的需执行任务的设备数目
2398
+ # @type AllDeviceCnt: Integer
2399
+ # @param DoneDeviceCnt: 已完成任务的设备数目
2400
+ # @type DoneDeviceCnt: Integer
2401
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
2402
+ # @type RequestId: String
2403
+
2404
+ attr_accessor :Type, :Id, :ProductId, :Status, :CreateTime, :UpdateTime, :DoneTime, :ScheduleTime, :RetCode, :ErrMsg, :Percent, :AllDeviceCnt, :DoneDeviceCnt, :RequestId
2405
+
2406
+ 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)
2407
+ @Type = type
2408
+ @Id = id
2409
+ @ProductId = productid
2410
+ @Status = status
2411
+ @CreateTime = createtime
2412
+ @UpdateTime = updatetime
2413
+ @DoneTime = donetime
2414
+ @ScheduleTime = scheduletime
2415
+ @RetCode = retcode
2416
+ @ErrMsg = errmsg
2417
+ @Percent = percent
2418
+ @AllDeviceCnt = alldevicecnt
2419
+ @DoneDeviceCnt = donedevicecnt
2420
+ @RequestId = requestid
2421
+ end
2422
+
2423
+ def deserialize(params)
2424
+ @Type = params['Type']
2425
+ @Id = params['Id']
2426
+ @ProductId = params['ProductId']
2427
+ @Status = params['Status']
2428
+ @CreateTime = params['CreateTime']
2429
+ @UpdateTime = params['UpdateTime']
2430
+ @DoneTime = params['DoneTime']
2431
+ @ScheduleTime = params['ScheduleTime']
2432
+ @RetCode = params['RetCode']
2433
+ @ErrMsg = params['ErrMsg']
2434
+ @Percent = params['Percent']
2435
+ @AllDeviceCnt = params['AllDeviceCnt']
2436
+ @DoneDeviceCnt = params['DoneDeviceCnt']
2437
+ @RequestId = params['RequestId']
2438
+ end
2439
+ end
2440
+
2441
+ # DescribeTasks请求参数结构体
2442
+ class DescribeTasksRequest < TencentCloud::Common::AbstractModel
2443
+ # @param Offset: 偏移量,从0开始
2444
+ # @type Offset: Integer
2445
+ # @param Limit: 分页的大小,数值范围 1-250
2446
+ # @type Limit: Integer
2447
+
2448
+ attr_accessor :Offset, :Limit
2449
+
2450
+ def initialize(offset=nil, limit=nil)
2451
+ @Offset = offset
2452
+ @Limit = limit
2453
+ end
2454
+
2455
+ def deserialize(params)
2456
+ @Offset = params['Offset']
2457
+ @Limit = params['Limit']
2458
+ end
2459
+ end
2460
+
2461
+ # DescribeTasks返回参数结构体
2462
+ class DescribeTasksResponse < TencentCloud::Common::AbstractModel
2463
+ # @param TotalCount: 用户一个月内创建的任务总数
2464
+ # @type TotalCount: Integer
2465
+ # @param Tasks: 此页任务对象的数组,按创建时间排序
2466
+ # @type Tasks: Array
2467
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
2468
+ # @type RequestId: String
2469
+
2470
+ attr_accessor :TotalCount, :Tasks, :RequestId
2471
+
2472
+ def initialize(totalcount=nil, tasks=nil, requestid=nil)
2473
+ @TotalCount = totalcount
2474
+ @Tasks = tasks
2475
+ @RequestId = requestid
2476
+ end
2477
+
2478
+ def deserialize(params)
2479
+ @TotalCount = params['TotalCount']
2480
+ unless params['Tasks'].nil?
2481
+ @Tasks = []
2482
+ params['Tasks'].each do |i|
2483
+ taskinfo_tmp = TaskInfo.new
2484
+ taskinfo_tmp.deserialize(i)
2485
+ @Tasks << taskinfo_tmp
2486
+ end
2487
+ end
2488
+ @RequestId = params['RequestId']
2489
+ end
2490
+ end
2491
+
2492
+ # 设备详细信息
2493
+ class DeviceInfo < TencentCloud::Common::AbstractModel
2494
+ # @param DeviceName: 设备名
2495
+ # @type DeviceName: String
2496
+ # @param Online: 设备是否在线,0不在线,1在线
2497
+ # @type Online: Integer
2498
+ # @param LoginTime: 设备登录时间
2499
+ # @type LoginTime: Integer
2500
+ # @param Version: 设备版本
2501
+ # @type Version: String
2502
+ # @param DeviceCert: 设备证书,证书加密的设备返回
2503
+ # @type DeviceCert: String
2504
+ # @param DevicePsk: 设备密钥,密钥加密的设备返回
2505
+ # @type DevicePsk: String
2506
+ # @param Tags: 设备属性
2507
+ # @type Tags: Array
2508
+ # @param DeviceType: 设备类型
2509
+ # @type DeviceType: Integer
2510
+ # @param Imei: 国际移动设备识别码 IMEI
2511
+ # @type Imei: String
2512
+ # @param Isp: 运营商类型
2513
+ # @type Isp: Integer
2514
+ # @param NbiotDeviceID: NB IOT运营商处的DeviceID
2515
+ # @type NbiotDeviceID: String
2516
+ # @param ConnIP: IP地址
2517
+ # @type ConnIP: Integer
2518
+ # @param LastUpdateTime: 设备最后更新时间
2519
+ # @type LastUpdateTime: Integer
2520
+ # @param LoraDevEui: LoRa设备的dev eui
2521
+ # @type LoraDevEui: String
2522
+ # @param LoraMoteType: LoRa设备的Mote type
2523
+ # @type LoraMoteType: Integer
2524
+ # @param FirstOnlineTime: 首次上线时间
2525
+ # 注意:此字段可能返回 null,表示取不到有效值。
2526
+ # @type FirstOnlineTime: Integer
2527
+ # @param LastOfflineTime: 最近下线时间
2528
+ # 注意:此字段可能返回 null,表示取不到有效值。
2529
+ # @type LastOfflineTime: Integer
2530
+ # @param CreateTime: 设备创建时间
2531
+ # 注意:此字段可能返回 null,表示取不到有效值。
2532
+ # @type CreateTime: Integer
2533
+ # @param LogLevel: 设备日志级别
2534
+ # 注意:此字段可能返回 null,表示取不到有效值。
2535
+ # @type LogLevel: Integer
2536
+ # @param CertState: 设备证书获取状态, 1 已获取过设备密钥,0 未获取过设备密钥
2537
+ # 注意:此字段可能返回 null,表示取不到有效值。
2538
+ # @type CertState: Integer
2539
+ # @param EnableState: 设备可用状态,0禁用,1启用
2540
+ # 注意:此字段可能返回 null,表示取不到有效值。
2541
+ # @type EnableState: Integer
2542
+ # @param Labels: 设备标签
2543
+ # 注意:此字段可能返回 null,表示取不到有效值。
2544
+ # @type Labels: Array
2545
+ # @param ClientIP: MQTT客户端IP地址
2546
+ # 注意:此字段可能返回 null,表示取不到有效值。
2547
+ # @type ClientIP: String
2548
+ # @param FirmwareUpdateTime: ota最后更新时间
2549
+ # 注意:此字段可能返回 null,表示取不到有效值。
2550
+ # @type FirmwareUpdateTime: Integer
2551
+
2552
+ 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
2553
+
2554
+ 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)
2555
+ @DeviceName = devicename
2556
+ @Online = online
2557
+ @LoginTime = logintime
2558
+ @Version = version
2559
+ @DeviceCert = devicecert
2560
+ @DevicePsk = devicepsk
2561
+ @Tags = tags
2562
+ @DeviceType = devicetype
2563
+ @Imei = imei
2564
+ @Isp = isp
2565
+ @NbiotDeviceID = nbiotdeviceid
2566
+ @ConnIP = connip
2567
+ @LastUpdateTime = lastupdatetime
2568
+ @LoraDevEui = loradeveui
2569
+ @LoraMoteType = loramotetype
2570
+ @FirstOnlineTime = firstonlinetime
2571
+ @LastOfflineTime = lastofflinetime
2572
+ @CreateTime = createtime
2573
+ @LogLevel = loglevel
2574
+ @CertState = certstate
2575
+ @EnableState = enablestate
2576
+ @Labels = labels
2577
+ @ClientIP = clientip
2578
+ @FirmwareUpdateTime = firmwareupdatetime
2579
+ end
2580
+
2581
+ def deserialize(params)
2582
+ @DeviceName = params['DeviceName']
2583
+ @Online = params['Online']
2584
+ @LoginTime = params['LoginTime']
2585
+ @Version = params['Version']
2586
+ @DeviceCert = params['DeviceCert']
2587
+ @DevicePsk = params['DevicePsk']
2588
+ unless params['Tags'].nil?
2589
+ @Tags = []
2590
+ params['Tags'].each do |i|
2591
+ devicetag_tmp = DeviceTag.new
2592
+ devicetag_tmp.deserialize(i)
2593
+ @Tags << devicetag_tmp
2594
+ end
2595
+ end
2596
+ @DeviceType = params['DeviceType']
2597
+ @Imei = params['Imei']
2598
+ @Isp = params['Isp']
2599
+ @NbiotDeviceID = params['NbiotDeviceID']
2600
+ @ConnIP = params['ConnIP']
2601
+ @LastUpdateTime = params['LastUpdateTime']
2602
+ @LoraDevEui = params['LoraDevEui']
2603
+ @LoraMoteType = params['LoraMoteType']
2604
+ @FirstOnlineTime = params['FirstOnlineTime']
2605
+ @LastOfflineTime = params['LastOfflineTime']
2606
+ @CreateTime = params['CreateTime']
2607
+ @LogLevel = params['LogLevel']
2608
+ @CertState = params['CertState']
2609
+ @EnableState = params['EnableState']
2610
+ unless params['Labels'].nil?
2611
+ @Labels = []
2612
+ params['Labels'].each do |i|
2613
+ devicelabel_tmp = DeviceLabel.new
2614
+ devicelabel_tmp.deserialize(i)
2615
+ @Labels << devicelabel_tmp
2616
+ end
2617
+ end
2618
+ @ClientIP = params['ClientIP']
2619
+ @FirmwareUpdateTime = params['FirmwareUpdateTime']
2620
+ end
2621
+ end
2622
+
2623
+ # 设备标签
2624
+ class DeviceLabel < TencentCloud::Common::AbstractModel
2625
+ # @param Key: 标签标识
2626
+ # @type Key: String
2627
+ # @param Value: 标签值
2628
+ # @type Value: String
2629
+
2630
+ attr_accessor :Key, :Value
2631
+
2632
+ def initialize(key=nil, value=nil)
2633
+ @Key = key
2634
+ @Value = value
2635
+ end
2636
+
2637
+ def deserialize(params)
2638
+ @Key = params['Key']
2639
+ @Value = params['Value']
2640
+ end
2641
+ end
2642
+
2643
+ # 设备资源信息。
2644
+ class DeviceProperty < TencentCloud::Common::AbstractModel
2645
+ # @param ProductId: 产品ID。
2646
+ # 注意:此字段可能返回 null,表示取不到有效值。
2647
+ # @type ProductId: String
2648
+ # @param ProductName: 产品名称。
2649
+ # 注意:此字段可能返回 null,表示取不到有效值。
2650
+ # @type ProductName: String
2651
+ # @param DeviceName: 设备名称。
2652
+ # 注意:此字段可能返回 null,表示取不到有效值。
2653
+ # @type DeviceName: String
2654
+ # @param ResourceId: 设备资源ID。
2655
+ # 注意:此字段可能返回 null,表示取不到有效值。
2656
+ # @type ResourceId: String
2657
+
2658
+ attr_accessor :ProductId, :ProductName, :DeviceName, :ResourceId
2659
+
2660
+ def initialize(productid=nil, productname=nil, devicename=nil, resourceid=nil)
2661
+ @ProductId = productid
2662
+ @ProductName = productname
2663
+ @DeviceName = devicename
2664
+ @ResourceId = resourceid
2665
+ end
2666
+
2667
+ def deserialize(params)
2668
+ @ProductId = params['ProductId']
2669
+ @ProductName = params['ProductName']
2670
+ @DeviceName = params['DeviceName']
2671
+ @ResourceId = params['ResourceId']
2672
+ end
2673
+ end
2674
+
2675
+ # 设备资源详细信息
2676
+ class DeviceResourceInfo < TencentCloud::Common::AbstractModel
2677
+ # @param ProductID: 产品ID
2678
+ # @type ProductID: String
2679
+ # @param ProductName: 产品名
2680
+ # @type ProductName: String
2681
+ # @param Name: 资源名称
2682
+ # @type Name: String
2683
+ # @param Md5: 资源文件md5
2684
+ # @type Md5: String
2685
+ # @param Size: 资源文件大小
2686
+ # @type Size: Integer
2687
+ # @param UpdateTime: 资源更新时间
2688
+ # @type UpdateTime: String
2689
+ # @param DeviceName: 设备名称
2690
+ # @type DeviceName: String
2691
+ # @param Status: 设备资源上传状态
2692
+ # @type Status: Integer
2693
+ # @param Percent: 设备资源上传百分比
2694
+ # @type Percent: Integer
2695
+
2696
+ attr_accessor :ProductID, :ProductName, :Name, :Md5, :Size, :UpdateTime, :DeviceName, :Status, :Percent
2697
+
2698
+ def initialize(productid=nil, productname=nil, name=nil, md5=nil, size=nil, updatetime=nil, devicename=nil, status=nil, percent=nil)
2699
+ @ProductID = productid
2700
+ @ProductName = productname
2701
+ @Name = name
2702
+ @Md5 = md5
2703
+ @Size = size
2704
+ @UpdateTime = updatetime
2705
+ @DeviceName = devicename
2706
+ @Status = status
2707
+ @Percent = percent
2708
+ end
2709
+
2710
+ def deserialize(params)
2711
+ @ProductID = params['ProductID']
2712
+ @ProductName = params['ProductName']
2713
+ @Name = params['Name']
2714
+ @Md5 = params['Md5']
2715
+ @Size = params['Size']
2716
+ @UpdateTime = params['UpdateTime']
2717
+ @DeviceName = params['DeviceName']
2718
+ @Status = params['Status']
2719
+ @Percent = params['Percent']
2720
+ end
2721
+ end
2722
+
2723
+ # 设备属性
2724
+ class DeviceTag < TencentCloud::Common::AbstractModel
2725
+ # @param Tag: 属性名称
2726
+ # @type Tag: String
2727
+ # @param Type: 属性值的类型,1 int,2 string
2728
+ # @type Type: Integer
2729
+ # @param Value: 属性的值
2730
+ # @type Value: String
2731
+ # @param Name: 属性描述名称
2732
+ # 注意:此字段可能返回 null,表示取不到有效值。
2733
+ # @type Name: String
2734
+
2735
+ attr_accessor :Tag, :Type, :Value, :Name
2736
+
2737
+ def initialize(tag=nil, type=nil, value=nil, name=nil)
2738
+ @Tag = tag
2739
+ @Type = type
2740
+ @Value = value
2741
+ @Name = name
2742
+ end
2743
+
2744
+ def deserialize(params)
2745
+ @Tag = params['Tag']
2746
+ @Type = params['Type']
2747
+ @Value = params['Value']
2748
+ @Name = params['Name']
2749
+ end
2750
+ end
2751
+
2752
+ # 设备固件更新状态
2753
+ class DeviceUpdateStatus < TencentCloud::Common::AbstractModel
2754
+ # @param DeviceName: 设备名
2755
+ # @type DeviceName: String
2756
+ # @param LastProcessTime: 最后处理时间
2757
+ # @type LastProcessTime: Integer
2758
+ # @param Status: 状态
2759
+ # @type Status: Integer
2760
+ # @param ErrMsg: 错误消息
2761
+ # @type ErrMsg: String
2762
+ # @param Retcode: 返回码
2763
+ # @type Retcode: Integer
2764
+ # @param DstVersion: 目标更新版本
2765
+ # @type DstVersion: String
2766
+ # @param Percent: 下载中状态时的下载进度
2767
+ # 注意:此字段可能返回 null,表示取不到有效值。
2768
+ # @type Percent: Integer
2769
+ # @param OriVersion: 原版本号
2770
+ # 注意:此字段可能返回 null,表示取不到有效值。
2771
+ # @type OriVersion: String
2772
+ # @param TaskId: 任务ID
2773
+ # 注意:此字段可能返回 null,表示取不到有效值。
2774
+ # @type TaskId: Integer
2775
+
2776
+ attr_accessor :DeviceName, :LastProcessTime, :Status, :ErrMsg, :Retcode, :DstVersion, :Percent, :OriVersion, :TaskId
2777
+
2778
+ def initialize(devicename=nil, lastprocesstime=nil, status=nil, errmsg=nil, retcode=nil, dstversion=nil, percent=nil, oriversion=nil, taskid=nil)
2779
+ @DeviceName = devicename
2780
+ @LastProcessTime = lastprocesstime
2781
+ @Status = status
2782
+ @ErrMsg = errmsg
2783
+ @Retcode = retcode
2784
+ @DstVersion = dstversion
2785
+ @Percent = percent
2786
+ @OriVersion = oriversion
2787
+ @TaskId = taskid
2788
+ end
2789
+
2790
+ def deserialize(params)
2791
+ @DeviceName = params['DeviceName']
2792
+ @LastProcessTime = params['LastProcessTime']
2793
+ @Status = params['Status']
2794
+ @ErrMsg = params['ErrMsg']
2795
+ @Retcode = params['Retcode']
2796
+ @DstVersion = params['DstVersion']
2797
+ @Percent = params['Percent']
2798
+ @OriVersion = params['OriVersion']
2799
+ @TaskId = params['TaskId']
2800
+ end
2801
+ end
2802
+
2803
+ # DisableTopicRule请求参数结构体
2804
+ class DisableTopicRuleRequest < TencentCloud::Common::AbstractModel
2805
+ # @param RuleName: 规则名称
2806
+ # @type RuleName: String
2807
+
2808
+ attr_accessor :RuleName
2809
+
2810
+ def initialize(rulename=nil)
2811
+ @RuleName = rulename
2812
+ end
2813
+
2814
+ def deserialize(params)
2815
+ @RuleName = params['RuleName']
2816
+ end
2817
+ end
2818
+
2819
+ # DisableTopicRule返回参数结构体
2820
+ class DisableTopicRuleResponse < TencentCloud::Common::AbstractModel
2821
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
2822
+ # @type RequestId: String
2823
+
2824
+ attr_accessor :RequestId
2825
+
2826
+ def initialize(requestid=nil)
2827
+ @RequestId = requestid
2828
+ end
2829
+
2830
+ def deserialize(params)
2831
+ @RequestId = params['RequestId']
2832
+ end
2833
+ end
2834
+
2835
+ # EditFirmware请求参数结构体
2836
+ class EditFirmwareRequest < TencentCloud::Common::AbstractModel
2837
+ # @param ProductID: 产品ID。
2838
+ # @type ProductID: String
2839
+ # @param FirmwareVersion: 固件版本号。
2840
+ # @type FirmwareVersion: String
2841
+ # @param FirmwareName: 固件名称。
2842
+ # @type FirmwareName: String
2843
+ # @param FirmwareDescription: 固件描述
2844
+ # @type FirmwareDescription: String
2845
+ # @param FwType: 固件类型:选填 mcu、moudule。默认:mcu
2846
+ # @type FwType: String
2847
+
2848
+ attr_accessor :ProductID, :FirmwareVersion, :FirmwareName, :FirmwareDescription, :FwType
2849
+
2850
+ def initialize(productid=nil, firmwareversion=nil, firmwarename=nil, firmwaredescription=nil, fwtype=nil)
2851
+ @ProductID = productid
2852
+ @FirmwareVersion = firmwareversion
2853
+ @FirmwareName = firmwarename
2854
+ @FirmwareDescription = firmwaredescription
2855
+ @FwType = fwtype
2856
+ end
2857
+
2858
+ def deserialize(params)
2859
+ @ProductID = params['ProductID']
2860
+ @FirmwareVersion = params['FirmwareVersion']
2861
+ @FirmwareName = params['FirmwareName']
2862
+ @FirmwareDescription = params['FirmwareDescription']
2863
+ @FwType = params['FwType']
2864
+ end
2865
+ end
2866
+
2867
+ # EditFirmware返回参数结构体
2868
+ class EditFirmwareResponse < TencentCloud::Common::AbstractModel
2869
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
2870
+ # @type RequestId: String
2871
+
2872
+ attr_accessor :RequestId
2873
+
2874
+ def initialize(requestid=nil)
2875
+ @RequestId = requestid
2876
+ end
2877
+
2878
+ def deserialize(params)
2879
+ @RequestId = params['RequestId']
2880
+ end
2881
+ end
2882
+
2883
+ # EnableTopicRule请求参数结构体
2884
+ class EnableTopicRuleRequest < TencentCloud::Common::AbstractModel
2885
+ # @param RuleName: 规则名称
2886
+ # @type RuleName: String
2887
+
2888
+ attr_accessor :RuleName
2889
+
2890
+ def initialize(rulename=nil)
2891
+ @RuleName = rulename
2892
+ end
2893
+
2894
+ def deserialize(params)
2895
+ @RuleName = params['RuleName']
2896
+ end
2897
+ end
2898
+
2899
+ # EnableTopicRule返回参数结构体
2900
+ class EnableTopicRuleResponse < TencentCloud::Common::AbstractModel
2901
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
2902
+ # @type RequestId: String
2903
+
2904
+ attr_accessor :RequestId
2905
+
2906
+ def initialize(requestid=nil)
2907
+ @RequestId = requestid
2908
+ end
2909
+
2910
+ def deserialize(params)
2911
+ @RequestId = params['RequestId']
2912
+ end
2913
+ end
2914
+
2915
+ # 固件升级任务信息
2916
+ class FirmwareTaskInfo < TencentCloud::Common::AbstractModel
2917
+ # @param TaskId: 任务ID
2918
+ # 注意:此字段可能返回 null,表示取不到有效值。
2919
+ # @type TaskId: Integer
2920
+ # @param Status: 任务状态
2921
+ # 注意:此字段可能返回 null,表示取不到有效值。
2922
+ # @type Status: Integer
2923
+ # @param Type: 任务类型
2924
+ # 注意:此字段可能返回 null,表示取不到有效值。
2925
+ # @type Type: Integer
2926
+ # @param CreateTime: 任务创建时间
2927
+ # 注意:此字段可能返回 null,表示取不到有效值。
2928
+ # @type CreateTime: Integer
2929
+
2930
+ attr_accessor :TaskId, :Status, :Type, :CreateTime
2931
+
2932
+ def initialize(taskid=nil, status=nil, type=nil, createtime=nil)
2933
+ @TaskId = taskid
2934
+ @Status = status
2935
+ @Type = type
2936
+ @CreateTime = createtime
2937
+ end
2938
+
2939
+ def deserialize(params)
2940
+ @TaskId = params['TaskId']
2941
+ @Status = params['Status']
2942
+ @Type = params['Type']
2943
+ @CreateTime = params['CreateTime']
2944
+ end
2945
+ end
2946
+
2947
+ # GetCOSURL请求参数结构体
2948
+ class GetCOSURLRequest < TencentCloud::Common::AbstractModel
2949
+ # @param ProductID: 产品ID
2950
+ # @type ProductID: String
2951
+ # @param FirmwareVersion: 固件版本
2952
+ # @type FirmwareVersion: String
2953
+
2954
+ attr_accessor :ProductID, :FirmwareVersion
2955
+
2956
+ def initialize(productid=nil, firmwareversion=nil)
2957
+ @ProductID = productid
2958
+ @FirmwareVersion = firmwareversion
2959
+ end
2960
+
2961
+ def deserialize(params)
2962
+ @ProductID = params['ProductID']
2963
+ @FirmwareVersion = params['FirmwareVersion']
2964
+ end
2965
+ end
2966
+
2967
+ # GetCOSURL返回参数结构体
2968
+ class GetCOSURLResponse < TencentCloud::Common::AbstractModel
2969
+ # @param Url: 固件URL
2970
+ # @type Url: String
2971
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
2972
+ # @type RequestId: String
2973
+
2974
+ attr_accessor :Url, :RequestId
2975
+
2976
+ def initialize(url=nil, requestid=nil)
2977
+ @Url = url
2978
+ @RequestId = requestid
2979
+ end
2980
+
2981
+ def deserialize(params)
2982
+ @Url = params['Url']
2983
+ @RequestId = params['RequestId']
2984
+ end
2985
+ end
2986
+
2987
+ # GetUserResourceInfo请求参数结构体
2988
+ class GetUserResourceInfoRequest < TencentCloud::Common::AbstractModel
2989
+
2990
+
2991
+ def initialize()
2992
+ end
2993
+
2994
+ def deserialize(params)
2995
+ end
2996
+ end
2997
+
2998
+ # GetUserResourceInfo返回参数结构体
2999
+ class GetUserResourceInfoResponse < TencentCloud::Common::AbstractModel
3000
+ # @param UsedSize: 已使用的资源字节数
3001
+ # @type UsedSize: Integer
3002
+ # @param Limit: 可以使用资源的总大小
3003
+ # @type Limit: Integer
3004
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
3005
+ # @type RequestId: String
3006
+
3007
+ attr_accessor :UsedSize, :Limit, :RequestId
3008
+
3009
+ def initialize(usedsize=nil, limit=nil, requestid=nil)
3010
+ @UsedSize = usedsize
3011
+ @Limit = limit
3012
+ @RequestId = requestid
3013
+ end
3014
+
3015
+ def deserialize(params)
3016
+ @UsedSize = params['UsedSize']
3017
+ @Limit = params['Limit']
3018
+ @RequestId = params['RequestId']
3019
+ end
3020
+ end
3021
+
3022
+ # 创建设备时返回的设备信息
3023
+ class MultiDevicesInfo < TencentCloud::Common::AbstractModel
3024
+ # @param DeviceName: 设备名
3025
+ # @type DeviceName: String
3026
+ # @param DevicePsk: 对称加密密钥,base64 编码,采用对称加密时返回该参数
3027
+ # @type DevicePsk: String
3028
+ # @param DeviceCert: 设备证书,采用非对称加密时返回该参数
3029
+ # @type DeviceCert: String
3030
+ # @param DevicePrivateKey: 设备私钥,采用非对称加密时返回该参数,腾讯云为用户缓存起来,其生命周期与任务生命周期一致
3031
+ # @type DevicePrivateKey: String
3032
+ # @param Result: 错误码
3033
+ # @type Result: Integer
3034
+ # @param ErrMsg: 错误信息
3035
+ # @type ErrMsg: String
3036
+
3037
+ attr_accessor :DeviceName, :DevicePsk, :DeviceCert, :DevicePrivateKey, :Result, :ErrMsg
3038
+
3039
+ def initialize(devicename=nil, devicepsk=nil, devicecert=nil, deviceprivatekey=nil, result=nil, errmsg=nil)
3040
+ @DeviceName = devicename
3041
+ @DevicePsk = devicepsk
3042
+ @DeviceCert = devicecert
3043
+ @DevicePrivateKey = deviceprivatekey
3044
+ @Result = result
3045
+ @ErrMsg = errmsg
3046
+ end
3047
+
3048
+ def deserialize(params)
3049
+ @DeviceName = params['DeviceName']
3050
+ @DevicePsk = params['DevicePsk']
3051
+ @DeviceCert = params['DeviceCert']
3052
+ @DevicePrivateKey = params['DevicePrivateKey']
3053
+ @Result = params['Result']
3054
+ @ErrMsg = params['ErrMsg']
3055
+ end
3056
+ end
3057
+
3058
+ # 产品详细信息
3059
+ class ProductInfo < TencentCloud::Common::AbstractModel
3060
+ # @param ProductId: 产品ID
3061
+ # @type ProductId: String
3062
+ # @param ProductName: 产品名
3063
+ # @type ProductName: String
3064
+ # @param ProductMetadata: 产品元数据
3065
+ # @type ProductMetadata: :class:`Tencentcloud::Iotcloud.v20180614.models.ProductMetadata`
3066
+ # @param ProductProperties: 产品属性
3067
+ # @type ProductProperties: :class:`Tencentcloud::Iotcloud.v20180614.models.ProductProperties`
3068
+
3069
+ attr_accessor :ProductId, :ProductName, :ProductMetadata, :ProductProperties
3070
+
3071
+ def initialize(productid=nil, productname=nil, productmetadata=nil, productproperties=nil)
3072
+ @ProductId = productid
3073
+ @ProductName = productname
3074
+ @ProductMetadata = productmetadata
3075
+ @ProductProperties = productproperties
3076
+ end
3077
+
3078
+ def deserialize(params)
3079
+ @ProductId = params['ProductId']
3080
+ @ProductName = params['ProductName']
3081
+ unless params['ProductMetadata'].nil?
3082
+ @ProductMetadata = ProductMetadata.new
3083
+ @ProductMetadata.deserialize(params['ProductMetadata'])
3084
+ end
3085
+ unless params['ProductProperties'].nil?
3086
+ @ProductProperties = ProductProperties.new
3087
+ @ProductProperties.deserialize(params['ProductProperties'])
3088
+ end
3089
+ end
3090
+ end
3091
+
3092
+ # 产品元数据
3093
+ class ProductMetadata < TencentCloud::Common::AbstractModel
3094
+ # @param CreationDate: 产品创建时间
3095
+ # @type CreationDate: Integer
3096
+
3097
+ attr_accessor :CreationDate
3098
+
3099
+ def initialize(creationdate=nil)
3100
+ @CreationDate = creationdate
3101
+ end
3102
+
3103
+ def deserialize(params)
3104
+ @CreationDate = params['CreationDate']
3105
+ end
3106
+ end
3107
+
3108
+ # 产品属性
3109
+ class ProductProperties < TencentCloud::Common::AbstractModel
3110
+ # @param ProductDescription: 产品描述
3111
+ # @type ProductDescription: String
3112
+ # @param EncryptionType: 加密类型,1表示证书认证,2表示签名认证。如不填写,默认值是1
3113
+ # @type EncryptionType: String
3114
+ # @param Region: 产品所属区域,目前只支持广州(gz)
3115
+ # @type Region: String
3116
+ # @param ProductType: 产品类型,各个类型值代表的节点-类型如下:
3117
+ # 0 普通产品,2 NB-IoT产品,4 LoRa产品,3 LoRa网关产品,5 普通网关产品 默认值是0
3118
+ # @type ProductType: Integer
3119
+ # @param Format: 数据格式,取值为json或者custom,默认值是json
3120
+ # @type Format: String
3121
+ # @param Platform: 产品所属平台,默认值是0
3122
+ # @type Platform: String
3123
+ # @param Appeui: LoRa产品运营侧APPEUI,只有LoRa产品需要填写
3124
+ # @type Appeui: String
3125
+ # @param ModelId: 产品绑定的物模型ID,-1表示不绑定
3126
+ # @type ModelId: String
3127
+ # @param ModelName: 产品绑定的物模型名称
3128
+ # @type ModelName: String
3129
+ # @param ProductKey: 产品密钥,suite产品才会有
3130
+ # @type ProductKey: String
3131
+ # @param RegisterType: 动态注册类型 0-关闭, 1-预定义设备名 2-动态定义设备名
3132
+ # @type RegisterType: Integer
3133
+ # @param ProductSecret: 动态注册产品秘钥
3134
+ # @type ProductSecret: String
3135
+ # @param RegisterLimit: RegisterType为2时,设备动态创建的限制数量
3136
+ # @type RegisterLimit: Integer
3137
+
3138
+ attr_accessor :ProductDescription, :EncryptionType, :Region, :ProductType, :Format, :Platform, :Appeui, :ModelId, :ModelName, :ProductKey, :RegisterType, :ProductSecret, :RegisterLimit
3139
+
3140
+ 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)
3141
+ @ProductDescription = productdescription
3142
+ @EncryptionType = encryptiontype
3143
+ @Region = region
3144
+ @ProductType = producttype
3145
+ @Format = format
3146
+ @Platform = platform
3147
+ @Appeui = appeui
3148
+ @ModelId = modelid
3149
+ @ModelName = modelname
3150
+ @ProductKey = productkey
3151
+ @RegisterType = registertype
3152
+ @ProductSecret = productsecret
3153
+ @RegisterLimit = registerlimit
3154
+ end
3155
+
3156
+ def deserialize(params)
3157
+ @ProductDescription = params['ProductDescription']
3158
+ @EncryptionType = params['EncryptionType']
3159
+ @Region = params['Region']
3160
+ @ProductType = params['ProductType']
3161
+ @Format = params['Format']
3162
+ @Platform = params['Platform']
3163
+ @Appeui = params['Appeui']
3164
+ @ModelId = params['ModelId']
3165
+ @ModelName = params['ModelName']
3166
+ @ProductKey = params['ProductKey']
3167
+ @RegisterType = params['RegisterType']
3168
+ @ProductSecret = params['ProductSecret']
3169
+ @RegisterLimit = params['RegisterLimit']
3170
+ end
3171
+ end
3172
+
3173
+ # 产品资源详细信息
3174
+ class ProductResourceInfo < TencentCloud::Common::AbstractModel
3175
+ # @param ProductID: 产品ID
3176
+ # @type ProductID: String
3177
+ # @param ProductName: 产品名
3178
+ # @type ProductName: String
3179
+ # @param Name: 资源名称
3180
+ # @type Name: String
3181
+ # @param Md5: 资源文件md5
3182
+ # @type Md5: String
3183
+ # @param Size: 资源文件大小
3184
+ # @type Size: Integer
3185
+ # @param Description: 资源文件描述
3186
+ # 注意:此字段可能返回 null,表示取不到有效值。
3187
+ # @type Description: String
3188
+ # @param CreateTime: 资源创建时间
3189
+ # @type CreateTime: String
3190
+
3191
+ attr_accessor :ProductID, :ProductName, :Name, :Md5, :Size, :Description, :CreateTime
3192
+
3193
+ def initialize(productid=nil, productname=nil, name=nil, md5=nil, size=nil, description=nil, createtime=nil)
3194
+ @ProductID = productid
3195
+ @ProductName = productname
3196
+ @Name = name
3197
+ @Md5 = md5
3198
+ @Size = size
3199
+ @Description = description
3200
+ @CreateTime = createtime
3201
+ end
3202
+
3203
+ def deserialize(params)
3204
+ @ProductID = params['ProductID']
3205
+ @ProductName = params['ProductName']
3206
+ @Name = params['Name']
3207
+ @Md5 = params['Md5']
3208
+ @Size = params['Size']
3209
+ @Description = params['Description']
3210
+ @CreateTime = params['CreateTime']
3211
+ end
3212
+ end
3213
+
3214
+ # 产品级任务详细信息
3215
+ class ProductTaskInfo < TencentCloud::Common::AbstractModel
3216
+ # @param Id: 任务ID
3217
+ # @type Id: Integer
3218
+ # @param Type: 任务类型 0-批量创建设备类型
3219
+ # @type Type: Integer
3220
+ # @param State: 任务状态 0-创建中 1-待执行 2-执行中 3-执行失败 4-子任务部分失败 5-执行成功
3221
+ # @type State: Integer
3222
+ # @param ParametersType: 任务参数类型 cosfile-文件输入 random-随机生成
3223
+ # @type ParametersType: String
3224
+ # @param Parameters: 任务参数
3225
+ # @type Parameters: String
3226
+ # @param ResultType: 任务执行结果类型 cosfile-文件输出 errmsg-错误信息
3227
+ # 注意:此字段可能返回 null,表示取不到有效值。
3228
+ # @type ResultType: String
3229
+ # @param Result: 任务执行结果
3230
+ # 注意:此字段可能返回 null,表示取不到有效值。
3231
+ # @type Result: String
3232
+ # @param BatchCount: 子任务总个数
3233
+ # 注意:此字段可能返回 null,表示取不到有效值。
3234
+ # @type BatchCount: Integer
3235
+ # @param BatchOffset: 子任务已执行个数
3236
+ # 注意:此字段可能返回 null,表示取不到有效值。
3237
+ # @type BatchOffset: Integer
3238
+ # @param CreateTime: 任务创建时间
3239
+ # @type CreateTime: Integer
3240
+ # @param UpdateTime: 任务更新时间
3241
+ # @type UpdateTime: Integer
3242
+ # @param CompleteTime: 任务完成时间
3243
+ # 注意:此字段可能返回 null,表示取不到有效值。
3244
+ # @type CompleteTime: Integer
3245
+
3246
+ attr_accessor :Id, :Type, :State, :ParametersType, :Parameters, :ResultType, :Result, :BatchCount, :BatchOffset, :CreateTime, :UpdateTime, :CompleteTime
3247
+
3248
+ 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)
3249
+ @Id = id
3250
+ @Type = type
3251
+ @State = state
3252
+ @ParametersType = parameterstype
3253
+ @Parameters = parameters
3254
+ @ResultType = resulttype
3255
+ @Result = result
3256
+ @BatchCount = batchcount
3257
+ @BatchOffset = batchoffset
3258
+ @CreateTime = createtime
3259
+ @UpdateTime = updatetime
3260
+ @CompleteTime = completetime
3261
+ end
3262
+
3263
+ def deserialize(params)
3264
+ @Id = params['Id']
3265
+ @Type = params['Type']
3266
+ @State = params['State']
3267
+ @ParametersType = params['ParametersType']
3268
+ @Parameters = params['Parameters']
3269
+ @ResultType = params['ResultType']
3270
+ @Result = params['Result']
3271
+ @BatchCount = params['BatchCount']
3272
+ @BatchOffset = params['BatchOffset']
3273
+ @CreateTime = params['CreateTime']
3274
+ @UpdateTime = params['UpdateTime']
3275
+ @CompleteTime = params['CompleteTime']
3276
+ end
3277
+ end
3278
+
3279
+ # PublishAsDevice请求参数结构体
3280
+ class PublishAsDeviceRequest < TencentCloud::Common::AbstractModel
3281
+ # @param ProductId: 产品ID
3282
+ # @type ProductId: String
3283
+ # @param DeviceName: 设备名称
3284
+ # @type DeviceName: String
3285
+ # @param Port: LoRa 设备端口
3286
+ # @type Port: Integer
3287
+ # @param Payload: 消息内容
3288
+ # @type Payload: String
3289
+
3290
+ attr_accessor :ProductId, :DeviceName, :Port, :Payload
3291
+
3292
+ def initialize(productid=nil, devicename=nil, port=nil, payload=nil)
3293
+ @ProductId = productid
3294
+ @DeviceName = devicename
3295
+ @Port = port
3296
+ @Payload = payload
3297
+ end
3298
+
3299
+ def deserialize(params)
3300
+ @ProductId = params['ProductId']
3301
+ @DeviceName = params['DeviceName']
3302
+ @Port = params['Port']
3303
+ @Payload = params['Payload']
3304
+ end
3305
+ end
3306
+
3307
+ # PublishAsDevice返回参数结构体
3308
+ class PublishAsDeviceResponse < TencentCloud::Common::AbstractModel
3309
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
3310
+ # @type RequestId: String
3311
+
3312
+ attr_accessor :RequestId
3313
+
3314
+ def initialize(requestid=nil)
3315
+ @RequestId = requestid
3316
+ end
3317
+
3318
+ def deserialize(params)
3319
+ @RequestId = params['RequestId']
3320
+ end
3321
+ end
3322
+
3323
+ # PublishBroadcastMessage请求参数结构体
3324
+ class PublishBroadcastMessageRequest < TencentCloud::Common::AbstractModel
3325
+ # @param ProductId: 产品ID
3326
+ # @type ProductId: String
3327
+ # @param Payload: 消息内容
3328
+ # @type Payload: String
3329
+ # @param Qos: 消息质量等级
3330
+ # @type Qos: Integer
3331
+ # @param PayloadEncoding: Payload内容的编码格式,取值为base64或空。base64表示云端将收到的请求数据进行base64解码后下发到设备,空则直接将原始内容下发到设备
3332
+ # @type PayloadEncoding: String
3333
+
3334
+ attr_accessor :ProductId, :Payload, :Qos, :PayloadEncoding
3335
+
3336
+ def initialize(productid=nil, payload=nil, qos=nil, payloadencoding=nil)
3337
+ @ProductId = productid
3338
+ @Payload = payload
3339
+ @Qos = qos
3340
+ @PayloadEncoding = payloadencoding
3341
+ end
3342
+
3343
+ def deserialize(params)
3344
+ @ProductId = params['ProductId']
3345
+ @Payload = params['Payload']
3346
+ @Qos = params['Qos']
3347
+ @PayloadEncoding = params['PayloadEncoding']
3348
+ end
3349
+ end
3350
+
3351
+ # PublishBroadcastMessage返回参数结构体
3352
+ class PublishBroadcastMessageResponse < TencentCloud::Common::AbstractModel
3353
+ # @param TaskId: 广播消息任务ID
3354
+ # @type TaskId: Integer
3355
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
3356
+ # @type RequestId: String
3357
+
3358
+ attr_accessor :TaskId, :RequestId
3359
+
3360
+ def initialize(taskid=nil, requestid=nil)
3361
+ @TaskId = taskid
3362
+ @RequestId = requestid
3363
+ end
3364
+
3365
+ def deserialize(params)
3366
+ @TaskId = params['TaskId']
3367
+ @RequestId = params['RequestId']
3368
+ end
3369
+ end
3370
+
3371
+ # PublishMessage请求参数结构体
3372
+ class PublishMessageRequest < TencentCloud::Common::AbstractModel
3373
+ # @param Topic: 消息发往的主题。命名规则:${ProductId}/${DeviceName}/[a-zA-Z0-9:_-]{1,128}
3374
+ # @type Topic: String
3375
+ # @param Payload: 消息内容
3376
+ # @type Payload: String
3377
+ # @param ProductId: 产品ID
3378
+ # @type ProductId: String
3379
+ # @param DeviceName: 设备名称
3380
+ # @type DeviceName: String
3381
+ # @param Qos: 服务质量等级,取值为0或1
3382
+ # @type Qos: Integer
3383
+ # @param PayloadEncoding: Payload内容的编码格式,取值为base64或空。base64表示云端将收到的请求数据进行base64解码后下发到设备,空则直接将原始内容下发到设备
3384
+ # @type PayloadEncoding: String
3385
+
3386
+ attr_accessor :Topic, :Payload, :ProductId, :DeviceName, :Qos, :PayloadEncoding
3387
+
3388
+ def initialize(topic=nil, payload=nil, productid=nil, devicename=nil, qos=nil, payloadencoding=nil)
3389
+ @Topic = topic
3390
+ @Payload = payload
3391
+ @ProductId = productid
3392
+ @DeviceName = devicename
3393
+ @Qos = qos
3394
+ @PayloadEncoding = payloadencoding
3395
+ end
3396
+
3397
+ def deserialize(params)
3398
+ @Topic = params['Topic']
3399
+ @Payload = params['Payload']
3400
+ @ProductId = params['ProductId']
3401
+ @DeviceName = params['DeviceName']
3402
+ @Qos = params['Qos']
3403
+ @PayloadEncoding = params['PayloadEncoding']
3404
+ end
3405
+ end
3406
+
3407
+ # PublishMessage返回参数结构体
3408
+ class PublishMessageResponse < TencentCloud::Common::AbstractModel
3409
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
3410
+ # @type RequestId: String
3411
+
3412
+ attr_accessor :RequestId
3413
+
3414
+ def initialize(requestid=nil)
3415
+ @RequestId = requestid
3416
+ end
3417
+
3418
+ def deserialize(params)
3419
+ @RequestId = params['RequestId']
3420
+ end
3421
+ end
3422
+
3423
+ # PublishRRPCMessage请求参数结构体
3424
+ class PublishRRPCMessageRequest < TencentCloud::Common::AbstractModel
3425
+ # @param ProductId: 产品ID
3426
+ # @type ProductId: String
3427
+ # @param DeviceName: 设备名称
3428
+ # @type DeviceName: String
3429
+ # @param Payload: 消息内容,utf8编码
3430
+ # @type Payload: String
3431
+
3432
+ attr_accessor :ProductId, :DeviceName, :Payload
3433
+
3434
+ def initialize(productid=nil, devicename=nil, payload=nil)
3435
+ @ProductId = productid
3436
+ @DeviceName = devicename
3437
+ @Payload = payload
3438
+ end
3439
+
3440
+ def deserialize(params)
3441
+ @ProductId = params['ProductId']
3442
+ @DeviceName = params['DeviceName']
3443
+ @Payload = params['Payload']
3444
+ end
3445
+ end
3446
+
3447
+ # PublishRRPCMessage返回参数结构体
3448
+ class PublishRRPCMessageResponse < TencentCloud::Common::AbstractModel
3449
+ # @param MessageId: RRPC消息ID
3450
+ # @type MessageId: Integer
3451
+ # @param PayloadBase64: 设备回复的消息内容,采用base64编码
3452
+ # @type PayloadBase64: String
3453
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
3454
+ # @type RequestId: String
3455
+
3456
+ attr_accessor :MessageId, :PayloadBase64, :RequestId
3457
+
3458
+ def initialize(messageid=nil, payloadbase64=nil, requestid=nil)
3459
+ @MessageId = messageid
3460
+ @PayloadBase64 = payloadbase64
3461
+ @RequestId = requestid
3462
+ end
3463
+
3464
+ def deserialize(params)
3465
+ @MessageId = params['MessageId']
3466
+ @PayloadBase64 = params['PayloadBase64']
3467
+ @RequestId = params['RequestId']
3468
+ end
3469
+ end
3470
+
3471
+ # PublishToDevice请求参数结构体
3472
+ class PublishToDeviceRequest < TencentCloud::Common::AbstractModel
3473
+ # @param ProductId: 产品id
3474
+ # @type ProductId: String
3475
+ # @param DeviceName: 设备名称
3476
+ # @type DeviceName: String
3477
+ # @param Port: LoRa 端口
3478
+ # @type Port: Integer
3479
+ # @param Payload: 消息内容
3480
+ # @type Payload: String
3481
+
3482
+ attr_accessor :ProductId, :DeviceName, :Port, :Payload
3483
+
3484
+ def initialize(productid=nil, devicename=nil, port=nil, payload=nil)
3485
+ @ProductId = productid
3486
+ @DeviceName = devicename
3487
+ @Port = port
3488
+ @Payload = payload
3489
+ end
3490
+
3491
+ def deserialize(params)
3492
+ @ProductId = params['ProductId']
3493
+ @DeviceName = params['DeviceName']
3494
+ @Port = params['Port']
3495
+ @Payload = params['Payload']
3496
+ end
3497
+ end
3498
+
3499
+ # PublishToDevice返回参数结构体
3500
+ class PublishToDeviceResponse < TencentCloud::Common::AbstractModel
3501
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
3502
+ # @type RequestId: String
3503
+
3504
+ attr_accessor :RequestId
3505
+
3506
+ def initialize(requestid=nil)
3507
+ @RequestId = requestid
3508
+ end
3509
+
3510
+ def deserialize(params)
3511
+ @RequestId = params['RequestId']
3512
+ end
3513
+ end
3514
+
3515
+ # ReplaceTopicRule请求参数结构体
3516
+ class ReplaceTopicRuleRequest < TencentCloud::Common::AbstractModel
3517
+ # @param RuleName: 规则名称
3518
+ # @type RuleName: String
3519
+ # @param TopicRulePayload: 替换的规则包体
3520
+ # @type TopicRulePayload: :class:`Tencentcloud::Iotcloud.v20180614.models.TopicRulePayload`
3521
+ # @param ModifyType: 修改类型,0:其他,1:创建行为,2:更新行为,3:删除行为
3522
+ # @type ModifyType: Integer
3523
+ # @param ActionIndex: action增删改变更填对应topicRulePayload里面第几个action
3524
+ # @type ActionIndex: Integer
3525
+
3526
+ attr_accessor :RuleName, :TopicRulePayload, :ModifyType, :ActionIndex
3527
+
3528
+ def initialize(rulename=nil, topicrulepayload=nil, modifytype=nil, actionindex=nil)
3529
+ @RuleName = rulename
3530
+ @TopicRulePayload = topicrulepayload
3531
+ @ModifyType = modifytype
3532
+ @ActionIndex = actionindex
3533
+ end
3534
+
3535
+ def deserialize(params)
3536
+ @RuleName = params['RuleName']
3537
+ unless params['TopicRulePayload'].nil?
3538
+ @TopicRulePayload = TopicRulePayload.new
3539
+ @TopicRulePayload.deserialize(params['TopicRulePayload'])
3540
+ end
3541
+ @ModifyType = params['ModifyType']
3542
+ @ActionIndex = params['ActionIndex']
3543
+ end
3544
+ end
3545
+
3546
+ # ReplaceTopicRule返回参数结构体
3547
+ class ReplaceTopicRuleResponse < TencentCloud::Common::AbstractModel
3548
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
3549
+ # @type RequestId: String
3550
+
3551
+ attr_accessor :RequestId
3552
+
3553
+ def initialize(requestid=nil)
3554
+ @RequestId = requestid
3555
+ end
3556
+
3557
+ def deserialize(params)
3558
+ @RequestId = params['RequestId']
3559
+ end
3560
+ end
3561
+
3562
+ # 重置设备状态结果
3563
+ class ResetDeviceResult < TencentCloud::Common::AbstractModel
3564
+ # @param DeviceName: 设备名
3565
+ # @type DeviceName: String
3566
+ # @param Success: 是否成功
3567
+ # @type Success: Boolean
3568
+ # @param Reason: 失败原因
3569
+ # 注意:此字段可能返回 null,表示取不到有效值。
3570
+ # @type Reason: String
3571
+
3572
+ attr_accessor :DeviceName, :Success, :Reason
3573
+
3574
+ def initialize(devicename=nil, success=nil, reason=nil)
3575
+ @DeviceName = devicename
3576
+ @Success = success
3577
+ @Reason = reason
3578
+ end
3579
+
3580
+ def deserialize(params)
3581
+ @DeviceName = params['DeviceName']
3582
+ @Success = params['Success']
3583
+ @Reason = params['Reason']
3584
+ end
3585
+ end
3586
+
3587
+ # ResetDeviceState请求参数结构体
3588
+ class ResetDeviceStateRequest < TencentCloud::Common::AbstractModel
3589
+ # @param ProductId: 产品ID
3590
+ # @type ProductId: String
3591
+ # @param DeviceNames: 设备名称
3592
+ # @type DeviceNames: Array
3593
+
3594
+ attr_accessor :ProductId, :DeviceNames
3595
+
3596
+ def initialize(productid=nil, devicenames=nil)
3597
+ @ProductId = productid
3598
+ @DeviceNames = devicenames
3599
+ end
3600
+
3601
+ def deserialize(params)
3602
+ @ProductId = params['ProductId']
3603
+ @DeviceNames = params['DeviceNames']
3604
+ end
3605
+ end
3606
+
3607
+ # ResetDeviceState返回参数结构体
3608
+ class ResetDeviceStateResponse < TencentCloud::Common::AbstractModel
3609
+ # @param SuccessCount: 批量重置设备成功数
3610
+ # @type SuccessCount: Integer
3611
+ # @param ResetDeviceResults: 批量重置设备结果
3612
+ # @type ResetDeviceResults: Array
3613
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
3614
+ # @type RequestId: String
3615
+
3616
+ attr_accessor :SuccessCount, :ResetDeviceResults, :RequestId
3617
+
3618
+ def initialize(successcount=nil, resetdeviceresults=nil, requestid=nil)
3619
+ @SuccessCount = successcount
3620
+ @ResetDeviceResults = resetdeviceresults
3621
+ @RequestId = requestid
3622
+ end
3623
+
3624
+ def deserialize(params)
3625
+ @SuccessCount = params['SuccessCount']
3626
+ unless params['ResetDeviceResults'].nil?
3627
+ @ResetDeviceResults = []
3628
+ params['ResetDeviceResults'].each do |i|
3629
+ resetdeviceresult_tmp = ResetDeviceResult.new
3630
+ resetdeviceresult_tmp.deserialize(i)
3631
+ @ResetDeviceResults << resetdeviceresult_tmp
3632
+ end
3633
+ end
3634
+ @RequestId = params['RequestId']
3635
+ end
3636
+ end
3637
+
3638
+ # RetryDeviceFirmwareTask请求参数结构体
3639
+ class RetryDeviceFirmwareTaskRequest < TencentCloud::Common::AbstractModel
3640
+ # @param ProductID: 产品ID
3641
+ # @type ProductID: String
3642
+ # @param DeviceName: 设备名称
3643
+ # @type DeviceName: String
3644
+ # @param FirmwareVersion: 固件版本号
3645
+ # @type FirmwareVersion: String
3646
+ # @param TaskId: 固件升级任务ID
3647
+ # @type TaskId: Integer
3648
+
3649
+ attr_accessor :ProductID, :DeviceName, :FirmwareVersion, :TaskId
3650
+
3651
+ def initialize(productid=nil, devicename=nil, firmwareversion=nil, taskid=nil)
3652
+ @ProductID = productid
3653
+ @DeviceName = devicename
3654
+ @FirmwareVersion = firmwareversion
3655
+ @TaskId = taskid
3656
+ end
3657
+
3658
+ def deserialize(params)
3659
+ @ProductID = params['ProductID']
3660
+ @DeviceName = params['DeviceName']
3661
+ @FirmwareVersion = params['FirmwareVersion']
3662
+ @TaskId = params['TaskId']
3663
+ end
3664
+ end
3665
+
3666
+ # RetryDeviceFirmwareTask返回参数结构体
3667
+ class RetryDeviceFirmwareTaskResponse < TencentCloud::Common::AbstractModel
3668
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
3669
+ # @type RequestId: String
3670
+
3671
+ attr_accessor :RequestId
3672
+
3673
+ def initialize(requestid=nil)
3674
+ @RequestId = requestid
3675
+ end
3676
+
3677
+ def deserialize(params)
3678
+ @RequestId = params['RequestId']
3679
+ end
3680
+ end
3681
+
3682
+ # 搜索关键词
3683
+ class SearchKeyword < TencentCloud::Common::AbstractModel
3684
+ # @param Key: 搜索条件的Key
3685
+ # @type Key: String
3686
+ # @param Value: 搜索条件的值
3687
+ # @type Value: String
3688
+
3689
+ attr_accessor :Key, :Value
3690
+
3691
+ def initialize(key=nil, value=nil)
3692
+ @Key = key
3693
+ @Value = value
3694
+ end
3695
+
3696
+ def deserialize(params)
3697
+ @Key = params['Key']
3698
+ @Value = params['Value']
3699
+ end
3700
+ end
3701
+
3702
+ # SetProductsForbiddenStatus请求参数结构体
3703
+ class SetProductsForbiddenStatusRequest < TencentCloud::Common::AbstractModel
3704
+ # @param ProductID: 要设置禁用状态的产品列表
3705
+ # @type ProductID: Array
3706
+ # @param Status: 0启用,1禁用
3707
+ # @type Status: Integer
3708
+
3709
+ attr_accessor :ProductID, :Status
3710
+
3711
+ def initialize(productid=nil, status=nil)
3712
+ @ProductID = productid
3713
+ @Status = status
3714
+ end
3715
+
3716
+ def deserialize(params)
3717
+ @ProductID = params['ProductID']
3718
+ @Status = params['Status']
3719
+ end
3720
+ end
3721
+
3722
+ # SetProductsForbiddenStatus返回参数结构体
3723
+ class SetProductsForbiddenStatusResponse < TencentCloud::Common::AbstractModel
3724
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
3725
+ # @type RequestId: String
3726
+
3727
+ attr_accessor :RequestId
3728
+
3729
+ def initialize(requestid=nil)
3730
+ @RequestId = requestid
3731
+ end
3732
+
3733
+ def deserialize(params)
3734
+ @RequestId = params['RequestId']
3735
+ end
3736
+ end
3737
+
3738
+ # 状态统计信息
3739
+ class StatusStatistic < TencentCloud::Common::AbstractModel
3740
+ # @param Status: 任务状态
3741
+ # 注意:此字段可能返回 null,表示取不到有效值。
3742
+ # @type Status: Integer
3743
+ # @param Total: 统计总数
3744
+ # 注意:此字段可能返回 null,表示取不到有效值。
3745
+ # @type Total: Integer
3746
+
3747
+ attr_accessor :Status, :Total
3748
+
3749
+ def initialize(status=nil, total=nil)
3750
+ @Status = status
3751
+ @Total = total
3752
+ end
3753
+
3754
+ def deserialize(params)
3755
+ @Status = params['Status']
3756
+ @Total = params['Total']
3757
+ end
3758
+ end
3759
+
3760
+ # 任务描述细节
3761
+ class Task < TencentCloud::Common::AbstractModel
3762
+ # @param UpdateShadowTask: 批量更新影子任务的描述细节,当 taskType 取值为 “UpdateShadow” 时,此字段必填。描述见下 BatchUpdateShadow
3763
+ # @type UpdateShadowTask: :class:`Tencentcloud::Iotcloud.v20180614.models.BatchUpdateShadow`
3764
+ # @param PublishMessageTask: 批量下发消息任务的描述细节,当 taskType 取值为 “PublishMessage” 时,此字段必填。描述见下 BatchPublishMessage
3765
+ # @type PublishMessageTask: :class:`Tencentcloud::Iotcloud.v20180614.models.BatchPublishMessage`
3766
+
3767
+ attr_accessor :UpdateShadowTask, :PublishMessageTask
3768
+
3769
+ def initialize(updateshadowtask=nil, publishmessagetask=nil)
3770
+ @UpdateShadowTask = updateshadowtask
3771
+ @PublishMessageTask = publishmessagetask
3772
+ end
3773
+
3774
+ def deserialize(params)
3775
+ unless params['UpdateShadowTask'].nil?
3776
+ @UpdateShadowTask = BatchUpdateShadow.new
3777
+ @UpdateShadowTask.deserialize(params['UpdateShadowTask'])
3778
+ end
3779
+ unless params['PublishMessageTask'].nil?
3780
+ @PublishMessageTask = BatchPublishMessage.new
3781
+ @PublishMessageTask.deserialize(params['PublishMessageTask'])
3782
+ end
3783
+ end
3784
+ end
3785
+
3786
+ # 任务列表详细信息
3787
+ class TaskInfo < TencentCloud::Common::AbstractModel
3788
+ # @param Type: 任务类型,目前取值为 “UpdateShadow” 或者 “PublishMessage”
3789
+ # @type Type: String
3790
+ # @param Id: 任务 ID
3791
+ # @type Id: String
3792
+ # @param ProductId: 产品 ID
3793
+ # @type ProductId: String
3794
+ # @param Status: 状态。1表示等待处理,2表示调度处理中,3表示已完成,4表示失败,5表示已取消
3795
+ # @type Status: Integer
3796
+ # @param CreateTime: 任务创建时间,Unix 时间戳
3797
+ # @type CreateTime: Integer
3798
+ # @param UpdateTime: 最后任务更新时间,Unix 时间戳
3799
+ # @type UpdateTime: Integer
3800
+ # @param RetCode: 返回的错误码
3801
+ # @type RetCode: Integer
3802
+ # @param ErrMsg: 返回的错误信息
3803
+ # @type ErrMsg: String
3804
+
3805
+ attr_accessor :Type, :Id, :ProductId, :Status, :CreateTime, :UpdateTime, :RetCode, :ErrMsg
3806
+
3807
+ def initialize(type=nil, id=nil, productid=nil, status=nil, createtime=nil, updatetime=nil, retcode=nil, errmsg=nil)
3808
+ @Type = type
3809
+ @Id = id
3810
+ @ProductId = productid
3811
+ @Status = status
3812
+ @CreateTime = createtime
3813
+ @UpdateTime = updatetime
3814
+ @RetCode = retcode
3815
+ @ErrMsg = errmsg
3816
+ end
3817
+
3818
+ def deserialize(params)
3819
+ @Type = params['Type']
3820
+ @Id = params['Id']
3821
+ @ProductId = params['ProductId']
3822
+ @Status = params['Status']
3823
+ @CreateTime = params['CreateTime']
3824
+ @UpdateTime = params['UpdateTime']
3825
+ @RetCode = params['RetCode']
3826
+ @ErrMsg = params['ErrMsg']
3827
+ end
3828
+ end
3829
+
3830
+ # 创建规则请求包体
3831
+ class TopicRulePayload < TencentCloud::Common::AbstractModel
3832
+ # @param Sql: 规则的SQL语句,如: SELECT * FROM 'pid/dname/event',然后对其进行base64编码,得:U0VMRUNUICogRlJPTSAncGlkL2RuYW1lL2V2ZW50Jw==
3833
+ # @type Sql: String
3834
+ # @param Actions: 行为的JSON字符串,大部分种类举例如下:
3835
+ # [
3836
+ # {
3837
+ # "republish": {
3838
+ # "topic": "TEST/test"
3839
+ # }
3840
+ # },
3841
+ # {
3842
+ # "forward": {
3843
+ # "api": "http://127.0.0.1:8080",
3844
+ # "token":"xxx"
3845
+ # }
3846
+ # },
3847
+ # {
3848
+ # "ckafka": {
3849
+ # "instance": {
3850
+ # "id": "ckafka-test",
3851
+ # "name": ""
3852
+ # },
3853
+ # "topic": {
3854
+ # "id": "topic-test",
3855
+ # "name": "test"
3856
+ # },
3857
+ # "region": "gz"
3858
+ # }
3859
+ # },
3860
+ # {
3861
+ # "cmqqueue": {
3862
+ # "queuename": "queue-test-TEST",
3863
+ # "region": "gz"
3864
+ # }
3865
+ # },
3866
+ # {
3867
+ # "mysql": {
3868
+ # "instanceid": "cdb-test",
3869
+ # "region": "gz",
3870
+ # "username": "test",
3871
+ # "userpwd": "*****",
3872
+ # "dbname": "d_mqtt",
3873
+ # "tablename": "t_test",
3874
+ # "fieldpairs": [
3875
+ # {
3876
+ # "field": "test",
3877
+ # "value": "test"
3878
+ # }
3879
+ # ],
3880
+ # "devicetype": "CUSTOM"
3881
+ # }
3882
+ # }
3883
+ # ]
3884
+ # @type Actions: String
3885
+ # @param Description: 规则描述
3886
+ # @type Description: String
3887
+ # @param RuleDisabled: 是否禁用规则
3888
+ # @type RuleDisabled: Boolean
3889
+
3890
+ attr_accessor :Sql, :Actions, :Description, :RuleDisabled
3891
+
3892
+ def initialize(sql=nil, actions=nil, description=nil, ruledisabled=nil)
3893
+ @Sql = sql
3894
+ @Actions = actions
3895
+ @Description = description
3896
+ @RuleDisabled = ruledisabled
3897
+ end
3898
+
3899
+ def deserialize(params)
3900
+ @Sql = params['Sql']
3901
+ @Actions = params['Actions']
3902
+ @Description = params['Description']
3903
+ @RuleDisabled = params['RuleDisabled']
3904
+ end
3905
+ end
3906
+
3907
+ # UnbindDevices请求参数结构体
3908
+ class UnbindDevicesRequest < TencentCloud::Common::AbstractModel
3909
+ # @param GatewayProductId: 网关设备的产品ID
3910
+ # @type GatewayProductId: String
3911
+ # @param GatewayDeviceName: 网关设备的设备名
3912
+ # @type GatewayDeviceName: String
3913
+ # @param ProductId: 产品ID
3914
+ # @type ProductId: String
3915
+ # @param DeviceNames: 多个设备名
3916
+ # @type DeviceNames: Array
3917
+ # @param Skey: 中兴CLAA设备的解绑需要Skey,普通设备不需要
3918
+ # @type Skey: String
3919
+
3920
+ attr_accessor :GatewayProductId, :GatewayDeviceName, :ProductId, :DeviceNames, :Skey
3921
+
3922
+ def initialize(gatewayproductid=nil, gatewaydevicename=nil, productid=nil, devicenames=nil, skey=nil)
3923
+ @GatewayProductId = gatewayproductid
3924
+ @GatewayDeviceName = gatewaydevicename
3925
+ @ProductId = productid
3926
+ @DeviceNames = devicenames
3927
+ @Skey = skey
3928
+ end
3929
+
3930
+ def deserialize(params)
3931
+ @GatewayProductId = params['GatewayProductId']
3932
+ @GatewayDeviceName = params['GatewayDeviceName']
3933
+ @ProductId = params['ProductId']
3934
+ @DeviceNames = params['DeviceNames']
3935
+ @Skey = params['Skey']
3936
+ end
3937
+ end
3938
+
3939
+ # UnbindDevices返回参数结构体
3940
+ class UnbindDevicesResponse < TencentCloud::Common::AbstractModel
3941
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
3942
+ # @type RequestId: String
3943
+
3944
+ attr_accessor :RequestId
3945
+
3946
+ def initialize(requestid=nil)
3947
+ @RequestId = requestid
3948
+ end
3949
+
3950
+ def deserialize(params)
3951
+ @RequestId = params['RequestId']
3952
+ end
3953
+ end
3954
+
3955
+ # UpdateDeviceAvailableState请求参数结构体
3956
+ class UpdateDeviceAvailableStateRequest < TencentCloud::Common::AbstractModel
3957
+ # @param ProductId: 设备所属产品id
3958
+ # @type ProductId: String
3959
+ # @param DeviceName: 设备名称
3960
+ # @type DeviceName: String
3961
+ # @param EnableState: 要设置的设备状态,1为启用,0为禁用
3962
+ # @type EnableState: Integer
3963
+
3964
+ attr_accessor :ProductId, :DeviceName, :EnableState
3965
+
3966
+ def initialize(productid=nil, devicename=nil, enablestate=nil)
3967
+ @ProductId = productid
3968
+ @DeviceName = devicename
3969
+ @EnableState = enablestate
3970
+ end
3971
+
3972
+ def deserialize(params)
3973
+ @ProductId = params['ProductId']
3974
+ @DeviceName = params['DeviceName']
3975
+ @EnableState = params['EnableState']
3976
+ end
3977
+ end
3978
+
3979
+ # UpdateDeviceAvailableState返回参数结构体
3980
+ class UpdateDeviceAvailableStateResponse < TencentCloud::Common::AbstractModel
3981
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
3982
+ # @type RequestId: String
3983
+
3984
+ attr_accessor :RequestId
3985
+
3986
+ def initialize(requestid=nil)
3987
+ @RequestId = requestid
3988
+ end
3989
+
3990
+ def deserialize(params)
3991
+ @RequestId = params['RequestId']
3992
+ end
3993
+ end
3994
+
3995
+ # UpdateDeviceShadow请求参数结构体
3996
+ class UpdateDeviceShadowRequest < TencentCloud::Common::AbstractModel
3997
+ # @param ProductId: 产品ID
3998
+ # @type ProductId: String
3999
+ # @param DeviceName: 设备名称
4000
+ # @type DeviceName: String
4001
+ # @param State: 虚拟设备的状态,JSON字符串格式,由desired结构组成
4002
+ # @type State: String
4003
+ # @param ShadowVersion: 当前版本号,需要和后台的version保持一致,才能更新成功
4004
+ # @type ShadowVersion: Integer
4005
+ # @param Prefix: 下发delta消息的topic前缀,可选类型: "$shadow","$template"。不填写默认"$shadow"。
4006
+ # @type Prefix: String
4007
+
4008
+ attr_accessor :ProductId, :DeviceName, :State, :ShadowVersion, :Prefix
4009
+
4010
+ def initialize(productid=nil, devicename=nil, state=nil, shadowversion=nil, prefix=nil)
4011
+ @ProductId = productid
4012
+ @DeviceName = devicename
4013
+ @State = state
4014
+ @ShadowVersion = shadowversion
4015
+ @Prefix = prefix
4016
+ end
4017
+
4018
+ def deserialize(params)
4019
+ @ProductId = params['ProductId']
4020
+ @DeviceName = params['DeviceName']
4021
+ @State = params['State']
4022
+ @ShadowVersion = params['ShadowVersion']
4023
+ @Prefix = params['Prefix']
4024
+ end
4025
+ end
4026
+
4027
+ # UpdateDeviceShadow返回参数结构体
4028
+ class UpdateDeviceShadowResponse < TencentCloud::Common::AbstractModel
4029
+ # @param Data: 设备影子数据,JSON字符串格式
4030
+ # @type Data: String
4031
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
4032
+ # @type RequestId: String
4033
+
4034
+ attr_accessor :Data, :RequestId
4035
+
4036
+ def initialize(data=nil, requestid=nil)
4037
+ @Data = data
4038
+ @RequestId = requestid
4039
+ end
4040
+
4041
+ def deserialize(params)
4042
+ @Data = params['Data']
4043
+ @RequestId = params['RequestId']
4044
+ end
4045
+ end
4046
+
4047
+ # UpdateDevicesEnableState请求参数结构体
4048
+ class UpdateDevicesEnableStateRequest < TencentCloud::Common::AbstractModel
4049
+ # @param ProductID: 设备所属产品id
4050
+ # @type ProductID: String
4051
+ # @param DeviceNames: 设备名称集合
4052
+ # @type DeviceNames: Array
4053
+ # @param Status: 要设置的设备状态,1为启用,0为禁用
4054
+ # @type Status: Integer
4055
+
4056
+ attr_accessor :ProductID, :DeviceNames, :Status
4057
+
4058
+ def initialize(productid=nil, devicenames=nil, status=nil)
4059
+ @ProductID = productid
4060
+ @DeviceNames = devicenames
4061
+ @Status = status
4062
+ end
4063
+
4064
+ def deserialize(params)
4065
+ @ProductID = params['ProductID']
4066
+ @DeviceNames = params['DeviceNames']
4067
+ @Status = params['Status']
4068
+ end
4069
+ end
4070
+
4071
+ # UpdateDevicesEnableState返回参数结构体
4072
+ class UpdateDevicesEnableStateResponse < TencentCloud::Common::AbstractModel
4073
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
4074
+ # @type RequestId: String
4075
+
4076
+ attr_accessor :RequestId
4077
+
4078
+ def initialize(requestid=nil)
4079
+ @RequestId = requestid
4080
+ end
4081
+
4082
+ def deserialize(params)
4083
+ @RequestId = params['RequestId']
4084
+ end
4085
+ end
4086
+
4087
+ # UpdateTopicPolicy请求参数结构体
4088
+ class UpdateTopicPolicyRequest < TencentCloud::Common::AbstractModel
4089
+ # @param ProductID: 产品ID
4090
+ # @type ProductID: String
4091
+ # @param TopicName: 更新前Topic名
4092
+ # @type TopicName: String
4093
+ # @param NewTopicName: 更新后Topic名
4094
+ # @type NewTopicName: String
4095
+ # @param Privilege: Topic权限
4096
+ # @type Privilege: Integer
4097
+ # @param BrokerSubscribe: 代理订阅信息
4098
+ # @type BrokerSubscribe: :class:`Tencentcloud::Iotcloud.v20180614.models.BrokerSubscribe`
4099
+
4100
+ attr_accessor :ProductID, :TopicName, :NewTopicName, :Privilege, :BrokerSubscribe
4101
+
4102
+ def initialize(productid=nil, topicname=nil, newtopicname=nil, privilege=nil, brokersubscribe=nil)
4103
+ @ProductID = productid
4104
+ @TopicName = topicname
4105
+ @NewTopicName = newtopicname
4106
+ @Privilege = privilege
4107
+ @BrokerSubscribe = brokersubscribe
4108
+ end
4109
+
4110
+ def deserialize(params)
4111
+ @ProductID = params['ProductID']
4112
+ @TopicName = params['TopicName']
4113
+ @NewTopicName = params['NewTopicName']
4114
+ @Privilege = params['Privilege']
4115
+ unless params['BrokerSubscribe'].nil?
4116
+ @BrokerSubscribe = BrokerSubscribe.new
4117
+ @BrokerSubscribe.deserialize(params['BrokerSubscribe'])
4118
+ end
4119
+ end
4120
+ end
4121
+
4122
+ # UpdateTopicPolicy返回参数结构体
4123
+ class UpdateTopicPolicyResponse < TencentCloud::Common::AbstractModel
4124
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
4125
+ # @type RequestId: String
4126
+
4127
+ attr_accessor :RequestId
4128
+
4129
+ def initialize(requestid=nil)
4130
+ @RequestId = requestid
4131
+ end
4132
+
4133
+ def deserialize(params)
4134
+ @RequestId = params['RequestId']
4135
+ end
4136
+ end
4137
+
4138
+ # UploadFirmware请求参数结构体
4139
+ class UploadFirmwareRequest < TencentCloud::Common::AbstractModel
4140
+ # @param ProductID: 产品ID
4141
+ # @type ProductID: String
4142
+ # @param FirmwareVersion: 固件版本号
4143
+ # @type FirmwareVersion: String
4144
+ # @param Md5sum: 固件的MD5值
4145
+ # @type Md5sum: String
4146
+ # @param FileSize: 固件的大小
4147
+ # @type FileSize: Integer
4148
+ # @param FirmwareName: 固件名称
4149
+ # @type FirmwareName: String
4150
+ # @param FirmwareDescription: 固件描述
4151
+ # @type FirmwareDescription: String
4152
+ # @param FwType: 固件类型:选填 mcu、moudule。默认:mcu
4153
+ # @type FwType: String
4154
+
4155
+ attr_accessor :ProductID, :FirmwareVersion, :Md5sum, :FileSize, :FirmwareName, :FirmwareDescription, :FwType
4156
+
4157
+ def initialize(productid=nil, firmwareversion=nil, md5sum=nil, filesize=nil, firmwarename=nil, firmwaredescription=nil, fwtype=nil)
4158
+ @ProductID = productid
4159
+ @FirmwareVersion = firmwareversion
4160
+ @Md5sum = md5sum
4161
+ @FileSize = filesize
4162
+ @FirmwareName = firmwarename
4163
+ @FirmwareDescription = firmwaredescription
4164
+ @FwType = fwtype
4165
+ end
4166
+
4167
+ def deserialize(params)
4168
+ @ProductID = params['ProductID']
4169
+ @FirmwareVersion = params['FirmwareVersion']
4170
+ @Md5sum = params['Md5sum']
4171
+ @FileSize = params['FileSize']
4172
+ @FirmwareName = params['FirmwareName']
4173
+ @FirmwareDescription = params['FirmwareDescription']
4174
+ @FwType = params['FwType']
4175
+ end
4176
+ end
4177
+
4178
+ # UploadFirmware返回参数结构体
4179
+ class UploadFirmwareResponse < TencentCloud::Common::AbstractModel
4180
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
4181
+ # @type RequestId: String
4182
+
4183
+ attr_accessor :RequestId
4184
+
4185
+ def initialize(requestid=nil)
4186
+ @RequestId = requestid
4187
+ end
4188
+
4189
+ def deserialize(params)
4190
+ @RequestId = params['RequestId']
4191
+ end
4192
+ end
4193
+
4194
+ end
4195
+ end
4196
+ end
4197
+