tencentcloud-sdk-iotcloud 1.0.200

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