tencentcloud-sdk-iot 1.0.200

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,3096 @@
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 Iot
19
+ module V20180123
20
+ # 规则引擎转发动作
21
+ class Action < TencentCloud::Common::AbstractModel
22
+ # @param Topic: 转发至topic
23
+ # 注意:此字段可能返回 null,表示取不到有效值。
24
+ # @type Topic: :class:`Tencentcloud::Iot.v20180123.models.TopicAction`
25
+ # @param Service: 转发至第三发
26
+ # 注意:此字段可能返回 null,表示取不到有效值。
27
+ # @type Service: :class:`Tencentcloud::Iot.v20180123.models.ServiceAction`
28
+ # @param Ckafka: 转发至第三发Ckafka
29
+ # 注意:此字段可能返回 null,表示取不到有效值。
30
+ # @type Ckafka: :class:`Tencentcloud::Iot.v20180123.models.CkafkaAction`
31
+
32
+ attr_accessor :Topic, :Service, :Ckafka
33
+
34
+ def initialize(topic=nil, service=nil, ckafka=nil)
35
+ @Topic = topic
36
+ @Service = service
37
+ @Ckafka = ckafka
38
+ end
39
+
40
+ def deserialize(params)
41
+ unless params['Topic'].nil?
42
+ @Topic = TopicAction.new
43
+ @Topic.deserialize(params['Topic'])
44
+ end
45
+ unless params['Service'].nil?
46
+ @Service = ServiceAction.new
47
+ @Service.deserialize(params['Service'])
48
+ end
49
+ unless params['Ckafka'].nil?
50
+ @Ckafka = CkafkaAction.new
51
+ @Ckafka.deserialize(params['Ckafka'])
52
+ end
53
+ end
54
+ end
55
+
56
+ # ActivateRule请求参数结构体
57
+ class ActivateRuleRequest < TencentCloud::Common::AbstractModel
58
+ # @param RuleId: 规则Id
59
+ # @type RuleId: String
60
+
61
+ attr_accessor :RuleId
62
+
63
+ def initialize(ruleid=nil)
64
+ @RuleId = ruleid
65
+ end
66
+
67
+ def deserialize(params)
68
+ @RuleId = params['RuleId']
69
+ end
70
+ end
71
+
72
+ # ActivateRule返回参数结构体
73
+ class ActivateRuleResponse < TencentCloud::Common::AbstractModel
74
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
75
+ # @type RequestId: String
76
+
77
+ attr_accessor :RequestId
78
+
79
+ def initialize(requestid=nil)
80
+ @RequestId = requestid
81
+ end
82
+
83
+ def deserialize(params)
84
+ @RequestId = params['RequestId']
85
+ end
86
+ end
87
+
88
+ # AddDevice请求参数结构体
89
+ class AddDeviceRequest < TencentCloud::Common::AbstractModel
90
+ # @param ProductId: 产品Id
91
+ # @type ProductId: String
92
+ # @param DeviceName: 设备名称,唯一标识某产品下的一个设备
93
+ # @type DeviceName: String
94
+
95
+ attr_accessor :ProductId, :DeviceName
96
+
97
+ def initialize(productid=nil, devicename=nil)
98
+ @ProductId = productid
99
+ @DeviceName = devicename
100
+ end
101
+
102
+ def deserialize(params)
103
+ @ProductId = params['ProductId']
104
+ @DeviceName = params['DeviceName']
105
+ end
106
+ end
107
+
108
+ # AddDevice返回参数结构体
109
+ class AddDeviceResponse < TencentCloud::Common::AbstractModel
110
+ # @param Device: 设备信息
111
+ # @type Device: :class:`Tencentcloud::Iot.v20180123.models.Device`
112
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
113
+ # @type RequestId: String
114
+
115
+ attr_accessor :Device, :RequestId
116
+
117
+ def initialize(device=nil, requestid=nil)
118
+ @Device = device
119
+ @RequestId = requestid
120
+ end
121
+
122
+ def deserialize(params)
123
+ unless params['Device'].nil?
124
+ @Device = Device.new
125
+ @Device.deserialize(params['Device'])
126
+ end
127
+ @RequestId = params['RequestId']
128
+ end
129
+ end
130
+
131
+ # AddProduct请求参数结构体
132
+ class AddProductRequest < TencentCloud::Common::AbstractModel
133
+ # @param Name: 产品名称,同一区域产品名称需唯一,支持中文、英文字母、中划线和下划线,长度不超过31个字符,中文占两个字符
134
+ # @type Name: String
135
+ # @param Description: 产品描述
136
+ # @type Description: String
137
+ # @param DataTemplate: 数据模版
138
+ # @type DataTemplate: Array
139
+ # @param DataProtocol: 产品版本(native表示基础版,template表示高级版,默认值为template)
140
+ # @type DataProtocol: String
141
+ # @param AuthType: 设备认证方式(1:动态令牌,2:签名直连鉴权)
142
+ # @type AuthType: Integer
143
+ # @param CommProtocol: 通信方式(other/wifi/cellular/nb-iot)
144
+ # @type CommProtocol: String
145
+ # @param DeviceType: 产品的设备类型(device: 直连设备;sub_device:子设备;gateway:网关设备)
146
+ # @type DeviceType: String
147
+
148
+ attr_accessor :Name, :Description, :DataTemplate, :DataProtocol, :AuthType, :CommProtocol, :DeviceType
149
+
150
+ def initialize(name=nil, description=nil, datatemplate=nil, dataprotocol=nil, authtype=nil, commprotocol=nil, devicetype=nil)
151
+ @Name = name
152
+ @Description = description
153
+ @DataTemplate = datatemplate
154
+ @DataProtocol = dataprotocol
155
+ @AuthType = authtype
156
+ @CommProtocol = commprotocol
157
+ @DeviceType = devicetype
158
+ end
159
+
160
+ def deserialize(params)
161
+ @Name = params['Name']
162
+ @Description = params['Description']
163
+ unless params['DataTemplate'].nil?
164
+ @DataTemplate = []
165
+ params['DataTemplate'].each do |i|
166
+ datatemplate_tmp = DataTemplate.new
167
+ datatemplate_tmp.deserialize(i)
168
+ @DataTemplate << datatemplate_tmp
169
+ end
170
+ end
171
+ @DataProtocol = params['DataProtocol']
172
+ @AuthType = params['AuthType']
173
+ @CommProtocol = params['CommProtocol']
174
+ @DeviceType = params['DeviceType']
175
+ end
176
+ end
177
+
178
+ # AddProduct返回参数结构体
179
+ class AddProductResponse < TencentCloud::Common::AbstractModel
180
+ # @param Product: 产品信息
181
+ # @type Product: :class:`Tencentcloud::Iot.v20180123.models.Product`
182
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
183
+ # @type RequestId: String
184
+
185
+ attr_accessor :Product, :RequestId
186
+
187
+ def initialize(product=nil, requestid=nil)
188
+ @Product = product
189
+ @RequestId = requestid
190
+ end
191
+
192
+ def deserialize(params)
193
+ unless params['Product'].nil?
194
+ @Product = Product.new
195
+ @Product.deserialize(params['Product'])
196
+ end
197
+ @RequestId = params['RequestId']
198
+ end
199
+ end
200
+
201
+ # AddRule请求参数结构体
202
+ class AddRuleRequest < TencentCloud::Common::AbstractModel
203
+ # @param Name: 名称
204
+ # @type Name: String
205
+ # @param Description: 描述
206
+ # @type Description: String
207
+ # @param Query: 查询
208
+ # @type Query: :class:`Tencentcloud::Iot.v20180123.models.RuleQuery`
209
+ # @param Actions: 转发动作列表
210
+ # @type Actions: Array
211
+ # @param DataType: 数据类型(0:文本,1:二进制)
212
+ # @type DataType: Integer
213
+
214
+ attr_accessor :Name, :Description, :Query, :Actions, :DataType
215
+
216
+ def initialize(name=nil, description=nil, query=nil, actions=nil, datatype=nil)
217
+ @Name = name
218
+ @Description = description
219
+ @Query = query
220
+ @Actions = actions
221
+ @DataType = datatype
222
+ end
223
+
224
+ def deserialize(params)
225
+ @Name = params['Name']
226
+ @Description = params['Description']
227
+ unless params['Query'].nil?
228
+ @Query = RuleQuery.new
229
+ @Query.deserialize(params['Query'])
230
+ end
231
+ unless params['Actions'].nil?
232
+ @Actions = []
233
+ params['Actions'].each do |i|
234
+ action_tmp = Action.new
235
+ action_tmp.deserialize(i)
236
+ @Actions << action_tmp
237
+ end
238
+ end
239
+ @DataType = params['DataType']
240
+ end
241
+ end
242
+
243
+ # AddRule返回参数结构体
244
+ class AddRuleResponse < TencentCloud::Common::AbstractModel
245
+ # @param Rule: 规则
246
+ # @type Rule: :class:`Tencentcloud::Iot.v20180123.models.Rule`
247
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
248
+ # @type RequestId: String
249
+
250
+ attr_accessor :Rule, :RequestId
251
+
252
+ def initialize(rule=nil, requestid=nil)
253
+ @Rule = rule
254
+ @RequestId = requestid
255
+ end
256
+
257
+ def deserialize(params)
258
+ unless params['Rule'].nil?
259
+ @Rule = Rule.new
260
+ @Rule.deserialize(params['Rule'])
261
+ end
262
+ @RequestId = params['RequestId']
263
+ end
264
+ end
265
+
266
+ # AddTopic请求参数结构体
267
+ class AddTopicRequest < TencentCloud::Common::AbstractModel
268
+ # @param ProductId: 产品Id
269
+ # @type ProductId: String
270
+ # @param TopicName: Topic名称
271
+ # @type TopicName: String
272
+
273
+ attr_accessor :ProductId, :TopicName
274
+
275
+ def initialize(productid=nil, topicname=nil)
276
+ @ProductId = productid
277
+ @TopicName = topicname
278
+ end
279
+
280
+ def deserialize(params)
281
+ @ProductId = params['ProductId']
282
+ @TopicName = params['TopicName']
283
+ end
284
+ end
285
+
286
+ # AddTopic返回参数结构体
287
+ class AddTopicResponse < TencentCloud::Common::AbstractModel
288
+ # @param Topic: Topic信息
289
+ # @type Topic: :class:`Tencentcloud::Iot.v20180123.models.Topic`
290
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
291
+ # @type RequestId: String
292
+
293
+ attr_accessor :Topic, :RequestId
294
+
295
+ def initialize(topic=nil, requestid=nil)
296
+ @Topic = topic
297
+ @RequestId = requestid
298
+ end
299
+
300
+ def deserialize(params)
301
+ unless params['Topic'].nil?
302
+ @Topic = Topic.new
303
+ @Topic.deserialize(params['Topic'])
304
+ end
305
+ @RequestId = params['RequestId']
306
+ end
307
+ end
308
+
309
+ # AppAddUser请求参数结构体
310
+ class AppAddUserRequest < TencentCloud::Common::AbstractModel
311
+ # @param UserName: 用户名
312
+ # @type UserName: String
313
+ # @param Password: 密码
314
+ # @type Password: String
315
+
316
+ attr_accessor :UserName, :Password
317
+
318
+ def initialize(username=nil, password=nil)
319
+ @UserName = username
320
+ @Password = password
321
+ end
322
+
323
+ def deserialize(params)
324
+ @UserName = params['UserName']
325
+ @Password = params['Password']
326
+ end
327
+ end
328
+
329
+ # AppAddUser返回参数结构体
330
+ class AppAddUserResponse < TencentCloud::Common::AbstractModel
331
+ # @param AppUser: 应用用户
332
+ # @type AppUser: :class:`Tencentcloud::Iot.v20180123.models.AppUser`
333
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
334
+ # @type RequestId: String
335
+
336
+ attr_accessor :AppUser, :RequestId
337
+
338
+ def initialize(appuser=nil, requestid=nil)
339
+ @AppUser = appuser
340
+ @RequestId = requestid
341
+ end
342
+
343
+ def deserialize(params)
344
+ unless params['AppUser'].nil?
345
+ @AppUser = AppUser.new
346
+ @AppUser.deserialize(params['AppUser'])
347
+ end
348
+ @RequestId = params['RequestId']
349
+ end
350
+ end
351
+
352
+ # AppDeleteDevice请求参数结构体
353
+ class AppDeleteDeviceRequest < TencentCloud::Common::AbstractModel
354
+ # @param AccessToken: 访问Token
355
+ # @type AccessToken: String
356
+ # @param ProductId: 产品Id
357
+ # @type ProductId: String
358
+ # @param DeviceName: 设备名称
359
+ # @type DeviceName: String
360
+
361
+ attr_accessor :AccessToken, :ProductId, :DeviceName
362
+
363
+ def initialize(accesstoken=nil, productid=nil, devicename=nil)
364
+ @AccessToken = accesstoken
365
+ @ProductId = productid
366
+ @DeviceName = devicename
367
+ end
368
+
369
+ def deserialize(params)
370
+ @AccessToken = params['AccessToken']
371
+ @ProductId = params['ProductId']
372
+ @DeviceName = params['DeviceName']
373
+ end
374
+ end
375
+
376
+ # AppDeleteDevice返回参数结构体
377
+ class AppDeleteDeviceResponse < TencentCloud::Common::AbstractModel
378
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
379
+ # @type RequestId: String
380
+
381
+ attr_accessor :RequestId
382
+
383
+ def initialize(requestid=nil)
384
+ @RequestId = requestid
385
+ end
386
+
387
+ def deserialize(params)
388
+ @RequestId = params['RequestId']
389
+ end
390
+ end
391
+
392
+ # 绑定设备
393
+ class AppDevice < TencentCloud::Common::AbstractModel
394
+ # @param DeviceId: 设备Id
395
+ # @type DeviceId: String
396
+ # @param ProductId: 所属产品Id
397
+ # @type ProductId: String
398
+ # @param DeviceName: 设备名称
399
+ # @type DeviceName: String
400
+ # @param AliasName: 别名
401
+ # @type AliasName: String
402
+ # @param Region: 地区
403
+ # @type Region: String
404
+ # @param CreateTime: 创建时间
405
+ # @type CreateTime: String
406
+ # @param UpdateTime: 更新时间
407
+ # @type UpdateTime: String
408
+
409
+ attr_accessor :DeviceId, :ProductId, :DeviceName, :AliasName, :Region, :CreateTime, :UpdateTime
410
+
411
+ def initialize(deviceid=nil, productid=nil, devicename=nil, aliasname=nil, region=nil, createtime=nil, updatetime=nil)
412
+ @DeviceId = deviceid
413
+ @ProductId = productid
414
+ @DeviceName = devicename
415
+ @AliasName = aliasname
416
+ @Region = region
417
+ @CreateTime = createtime
418
+ @UpdateTime = updatetime
419
+ end
420
+
421
+ def deserialize(params)
422
+ @DeviceId = params['DeviceId']
423
+ @ProductId = params['ProductId']
424
+ @DeviceName = params['DeviceName']
425
+ @AliasName = params['AliasName']
426
+ @Region = params['Region']
427
+ @CreateTime = params['CreateTime']
428
+ @UpdateTime = params['UpdateTime']
429
+ end
430
+ end
431
+
432
+ # 绑定设备详情
433
+ class AppDeviceDetail < TencentCloud::Common::AbstractModel
434
+ # @param DeviceId: 设备Id
435
+ # @type DeviceId: String
436
+ # @param ProductId: 所属产品Id
437
+ # @type ProductId: String
438
+ # @param DeviceName: 设备名称
439
+ # @type DeviceName: String
440
+ # @param AliasName: 别名
441
+ # @type AliasName: String
442
+ # @param Region: 地区
443
+ # @type Region: String
444
+ # @param CreateTime: 创建时间
445
+ # @type CreateTime: String
446
+ # @param UpdateTime: 更新时间
447
+ # @type UpdateTime: String
448
+ # @param DeviceInfo: 设备信息(json)
449
+ # @type DeviceInfo: String
450
+ # @param DataTemplate: 数据模板
451
+ # @type DataTemplate: Array
452
+
453
+ attr_accessor :DeviceId, :ProductId, :DeviceName, :AliasName, :Region, :CreateTime, :UpdateTime, :DeviceInfo, :DataTemplate
454
+
455
+ def initialize(deviceid=nil, productid=nil, devicename=nil, aliasname=nil, region=nil, createtime=nil, updatetime=nil, deviceinfo=nil, datatemplate=nil)
456
+ @DeviceId = deviceid
457
+ @ProductId = productid
458
+ @DeviceName = devicename
459
+ @AliasName = aliasname
460
+ @Region = region
461
+ @CreateTime = createtime
462
+ @UpdateTime = updatetime
463
+ @DeviceInfo = deviceinfo
464
+ @DataTemplate = datatemplate
465
+ end
466
+
467
+ def deserialize(params)
468
+ @DeviceId = params['DeviceId']
469
+ @ProductId = params['ProductId']
470
+ @DeviceName = params['DeviceName']
471
+ @AliasName = params['AliasName']
472
+ @Region = params['Region']
473
+ @CreateTime = params['CreateTime']
474
+ @UpdateTime = params['UpdateTime']
475
+ @DeviceInfo = params['DeviceInfo']
476
+ unless params['DataTemplate'].nil?
477
+ @DataTemplate = []
478
+ params['DataTemplate'].each do |i|
479
+ datatemplate_tmp = DataTemplate.new
480
+ datatemplate_tmp.deserialize(i)
481
+ @DataTemplate << datatemplate_tmp
482
+ end
483
+ end
484
+ end
485
+ end
486
+
487
+ # AppGetDeviceData请求参数结构体
488
+ class AppGetDeviceDataRequest < TencentCloud::Common::AbstractModel
489
+ # @param AccessToken: 访问Token
490
+ # @type AccessToken: String
491
+ # @param ProductId: 产品Id
492
+ # @type ProductId: String
493
+ # @param DeviceName: 设备名称
494
+ # @type DeviceName: String
495
+
496
+ attr_accessor :AccessToken, :ProductId, :DeviceName
497
+
498
+ def initialize(accesstoken=nil, productid=nil, devicename=nil)
499
+ @AccessToken = accesstoken
500
+ @ProductId = productid
501
+ @DeviceName = devicename
502
+ end
503
+
504
+ def deserialize(params)
505
+ @AccessToken = params['AccessToken']
506
+ @ProductId = params['ProductId']
507
+ @DeviceName = params['DeviceName']
508
+ end
509
+ end
510
+
511
+ # AppGetDeviceData返回参数结构体
512
+ class AppGetDeviceDataResponse < TencentCloud::Common::AbstractModel
513
+ # @param DeviceData: 设备数据。
514
+ # @type DeviceData: String
515
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
516
+ # @type RequestId: String
517
+
518
+ attr_accessor :DeviceData, :RequestId
519
+
520
+ def initialize(devicedata=nil, requestid=nil)
521
+ @DeviceData = devicedata
522
+ @RequestId = requestid
523
+ end
524
+
525
+ def deserialize(params)
526
+ @DeviceData = params['DeviceData']
527
+ @RequestId = params['RequestId']
528
+ end
529
+ end
530
+
531
+ # AppGetDevice请求参数结构体
532
+ class AppGetDeviceRequest < TencentCloud::Common::AbstractModel
533
+ # @param AccessToken: 访问Token
534
+ # @type AccessToken: String
535
+ # @param ProductId: 产品Id
536
+ # @type ProductId: String
537
+ # @param DeviceName: 设备名称
538
+ # @type DeviceName: String
539
+
540
+ attr_accessor :AccessToken, :ProductId, :DeviceName
541
+
542
+ def initialize(accesstoken=nil, productid=nil, devicename=nil)
543
+ @AccessToken = accesstoken
544
+ @ProductId = productid
545
+ @DeviceName = devicename
546
+ end
547
+
548
+ def deserialize(params)
549
+ @AccessToken = params['AccessToken']
550
+ @ProductId = params['ProductId']
551
+ @DeviceName = params['DeviceName']
552
+ end
553
+ end
554
+
555
+ # AppGetDevice返回参数结构体
556
+ class AppGetDeviceResponse < TencentCloud::Common::AbstractModel
557
+ # @param AppDevice: 绑定设备详情
558
+ # @type AppDevice: :class:`Tencentcloud::Iot.v20180123.models.AppDeviceDetail`
559
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
560
+ # @type RequestId: String
561
+
562
+ attr_accessor :AppDevice, :RequestId
563
+
564
+ def initialize(appdevice=nil, requestid=nil)
565
+ @AppDevice = appdevice
566
+ @RequestId = requestid
567
+ end
568
+
569
+ def deserialize(params)
570
+ unless params['AppDevice'].nil?
571
+ @AppDevice = AppDeviceDetail.new
572
+ @AppDevice.deserialize(params['AppDevice'])
573
+ end
574
+ @RequestId = params['RequestId']
575
+ end
576
+ end
577
+
578
+ # AppGetDeviceStatuses请求参数结构体
579
+ class AppGetDeviceStatusesRequest < TencentCloud::Common::AbstractModel
580
+ # @param AccessToken: 访问Token
581
+ # @type AccessToken: String
582
+ # @param DeviceIds: 设备Id列表(单次限制1000个设备)
583
+ # @type DeviceIds: Array
584
+
585
+ attr_accessor :AccessToken, :DeviceIds
586
+
587
+ def initialize(accesstoken=nil, deviceids=nil)
588
+ @AccessToken = accesstoken
589
+ @DeviceIds = deviceids
590
+ end
591
+
592
+ def deserialize(params)
593
+ @AccessToken = params['AccessToken']
594
+ @DeviceIds = params['DeviceIds']
595
+ end
596
+ end
597
+
598
+ # AppGetDeviceStatuses返回参数结构体
599
+ class AppGetDeviceStatusesResponse < TencentCloud::Common::AbstractModel
600
+ # @param DeviceStatuses: 设备状态
601
+ # @type DeviceStatuses: Array
602
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
603
+ # @type RequestId: String
604
+
605
+ attr_accessor :DeviceStatuses, :RequestId
606
+
607
+ def initialize(devicestatuses=nil, requestid=nil)
608
+ @DeviceStatuses = devicestatuses
609
+ @RequestId = requestid
610
+ end
611
+
612
+ def deserialize(params)
613
+ unless params['DeviceStatuses'].nil?
614
+ @DeviceStatuses = []
615
+ params['DeviceStatuses'].each do |i|
616
+ devicestatus_tmp = DeviceStatus.new
617
+ devicestatus_tmp.deserialize(i)
618
+ @DeviceStatuses << devicestatus_tmp
619
+ end
620
+ end
621
+ @RequestId = params['RequestId']
622
+ end
623
+ end
624
+
625
+ # AppGetDevices请求参数结构体
626
+ class AppGetDevicesRequest < TencentCloud::Common::AbstractModel
627
+ # @param AccessToken: 访问Token
628
+ # @type AccessToken: String
629
+
630
+ attr_accessor :AccessToken
631
+
632
+ def initialize(accesstoken=nil)
633
+ @AccessToken = accesstoken
634
+ end
635
+
636
+ def deserialize(params)
637
+ @AccessToken = params['AccessToken']
638
+ end
639
+ end
640
+
641
+ # AppGetDevices返回参数结构体
642
+ class AppGetDevicesResponse < TencentCloud::Common::AbstractModel
643
+ # @param Devices: 绑定设备列表
644
+ # @type Devices: Array
645
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
646
+ # @type RequestId: String
647
+
648
+ attr_accessor :Devices, :RequestId
649
+
650
+ def initialize(devices=nil, requestid=nil)
651
+ @Devices = devices
652
+ @RequestId = requestid
653
+ end
654
+
655
+ def deserialize(params)
656
+ unless params['Devices'].nil?
657
+ @Devices = []
658
+ params['Devices'].each do |i|
659
+ appdevice_tmp = AppDevice.new
660
+ appdevice_tmp.deserialize(i)
661
+ @Devices << appdevice_tmp
662
+ end
663
+ end
664
+ @RequestId = params['RequestId']
665
+ end
666
+ end
667
+
668
+ # AppGetToken请求参数结构体
669
+ class AppGetTokenRequest < TencentCloud::Common::AbstractModel
670
+ # @param UserName: 用户名
671
+ # @type UserName: String
672
+ # @param Password: 密码
673
+ # @type Password: String
674
+ # @param Expire: TTL
675
+ # @type Expire: Integer
676
+
677
+ attr_accessor :UserName, :Password, :Expire
678
+
679
+ def initialize(username=nil, password=nil, expire=nil)
680
+ @UserName = username
681
+ @Password = password
682
+ @Expire = expire
683
+ end
684
+
685
+ def deserialize(params)
686
+ @UserName = params['UserName']
687
+ @Password = params['Password']
688
+ @Expire = params['Expire']
689
+ end
690
+ end
691
+
692
+ # AppGetToken返回参数结构体
693
+ class AppGetTokenResponse < TencentCloud::Common::AbstractModel
694
+ # @param AccessToken: 访问Token
695
+ # @type AccessToken: String
696
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
697
+ # @type RequestId: String
698
+
699
+ attr_accessor :AccessToken, :RequestId
700
+
701
+ def initialize(accesstoken=nil, requestid=nil)
702
+ @AccessToken = accesstoken
703
+ @RequestId = requestid
704
+ end
705
+
706
+ def deserialize(params)
707
+ @AccessToken = params['AccessToken']
708
+ @RequestId = params['RequestId']
709
+ end
710
+ end
711
+
712
+ # AppGetUser请求参数结构体
713
+ class AppGetUserRequest < TencentCloud::Common::AbstractModel
714
+ # @param AccessToken: 访问Token
715
+ # @type AccessToken: String
716
+
717
+ attr_accessor :AccessToken
718
+
719
+ def initialize(accesstoken=nil)
720
+ @AccessToken = accesstoken
721
+ end
722
+
723
+ def deserialize(params)
724
+ @AccessToken = params['AccessToken']
725
+ end
726
+ end
727
+
728
+ # AppGetUser返回参数结构体
729
+ class AppGetUserResponse < TencentCloud::Common::AbstractModel
730
+ # @param AppUser: 用户信息
731
+ # @type AppUser: :class:`Tencentcloud::Iot.v20180123.models.AppUser`
732
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
733
+ # @type RequestId: String
734
+
735
+ attr_accessor :AppUser, :RequestId
736
+
737
+ def initialize(appuser=nil, requestid=nil)
738
+ @AppUser = appuser
739
+ @RequestId = requestid
740
+ end
741
+
742
+ def deserialize(params)
743
+ unless params['AppUser'].nil?
744
+ @AppUser = AppUser.new
745
+ @AppUser.deserialize(params['AppUser'])
746
+ end
747
+ @RequestId = params['RequestId']
748
+ end
749
+ end
750
+
751
+ # AppIssueDeviceControl请求参数结构体
752
+ class AppIssueDeviceControlRequest < TencentCloud::Common::AbstractModel
753
+ # @param AccessToken: 访问Token
754
+ # @type AccessToken: String
755
+ # @param ProductId: 产品Id
756
+ # @type ProductId: String
757
+ # @param DeviceName: 设备名称
758
+ # @type DeviceName: String
759
+ # @param ControlData: 控制数据(json)
760
+ # @type ControlData: String
761
+ # @param Metadata: 是否发送metadata字段
762
+ # @type Metadata: Boolean
763
+
764
+ attr_accessor :AccessToken, :ProductId, :DeviceName, :ControlData, :Metadata
765
+
766
+ def initialize(accesstoken=nil, productid=nil, devicename=nil, controldata=nil, metadata=nil)
767
+ @AccessToken = accesstoken
768
+ @ProductId = productid
769
+ @DeviceName = devicename
770
+ @ControlData = controldata
771
+ @Metadata = metadata
772
+ end
773
+
774
+ def deserialize(params)
775
+ @AccessToken = params['AccessToken']
776
+ @ProductId = params['ProductId']
777
+ @DeviceName = params['DeviceName']
778
+ @ControlData = params['ControlData']
779
+ @Metadata = params['Metadata']
780
+ end
781
+ end
782
+
783
+ # AppIssueDeviceControl返回参数结构体
784
+ class AppIssueDeviceControlResponse < TencentCloud::Common::AbstractModel
785
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
786
+ # @type RequestId: String
787
+
788
+ attr_accessor :RequestId
789
+
790
+ def initialize(requestid=nil)
791
+ @RequestId = requestid
792
+ end
793
+
794
+ def deserialize(params)
795
+ @RequestId = params['RequestId']
796
+ end
797
+ end
798
+
799
+ # AppResetPassword请求参数结构体
800
+ class AppResetPasswordRequest < TencentCloud::Common::AbstractModel
801
+ # @param AccessToken: 访问Token
802
+ # @type AccessToken: String
803
+ # @param OldPassword: 旧密码
804
+ # @type OldPassword: String
805
+ # @param NewPassword: 新密码
806
+ # @type NewPassword: String
807
+
808
+ attr_accessor :AccessToken, :OldPassword, :NewPassword
809
+
810
+ def initialize(accesstoken=nil, oldpassword=nil, newpassword=nil)
811
+ @AccessToken = accesstoken
812
+ @OldPassword = oldpassword
813
+ @NewPassword = newpassword
814
+ end
815
+
816
+ def deserialize(params)
817
+ @AccessToken = params['AccessToken']
818
+ @OldPassword = params['OldPassword']
819
+ @NewPassword = params['NewPassword']
820
+ end
821
+ end
822
+
823
+ # AppResetPassword返回参数结构体
824
+ class AppResetPasswordResponse < TencentCloud::Common::AbstractModel
825
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
826
+ # @type RequestId: String
827
+
828
+ attr_accessor :RequestId
829
+
830
+ def initialize(requestid=nil)
831
+ @RequestId = requestid
832
+ end
833
+
834
+ def deserialize(params)
835
+ @RequestId = params['RequestId']
836
+ end
837
+ end
838
+
839
+ # AppSecureAddDevice请求参数结构体
840
+ class AppSecureAddDeviceRequest < TencentCloud::Common::AbstractModel
841
+ # @param AccessToken: 访问Token
842
+ # @type AccessToken: String
843
+ # @param DeviceSignature: 设备签名
844
+ # @type DeviceSignature: String
845
+
846
+ attr_accessor :AccessToken, :DeviceSignature
847
+
848
+ def initialize(accesstoken=nil, devicesignature=nil)
849
+ @AccessToken = accesstoken
850
+ @DeviceSignature = devicesignature
851
+ end
852
+
853
+ def deserialize(params)
854
+ @AccessToken = params['AccessToken']
855
+ @DeviceSignature = params['DeviceSignature']
856
+ end
857
+ end
858
+
859
+ # AppSecureAddDevice返回参数结构体
860
+ class AppSecureAddDeviceResponse < TencentCloud::Common::AbstractModel
861
+ # @param AppDevice: 绑定设备信息
862
+ # @type AppDevice: :class:`Tencentcloud::Iot.v20180123.models.AppDevice`
863
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
864
+ # @type RequestId: String
865
+
866
+ attr_accessor :AppDevice, :RequestId
867
+
868
+ def initialize(appdevice=nil, requestid=nil)
869
+ @AppDevice = appdevice
870
+ @RequestId = requestid
871
+ end
872
+
873
+ def deserialize(params)
874
+ unless params['AppDevice'].nil?
875
+ @AppDevice = AppDevice.new
876
+ @AppDevice.deserialize(params['AppDevice'])
877
+ end
878
+ @RequestId = params['RequestId']
879
+ end
880
+ end
881
+
882
+ # AppUpdateDevice请求参数结构体
883
+ class AppUpdateDeviceRequest < TencentCloud::Common::AbstractModel
884
+ # @param AccessToken: 访问Token
885
+ # @type AccessToken: String
886
+ # @param ProductId: 产品Id
887
+ # @type ProductId: String
888
+ # @param DeviceName: 设备名称
889
+ # @type DeviceName: String
890
+ # @param AliasName: 设备别名
891
+ # @type AliasName: String
892
+
893
+ attr_accessor :AccessToken, :ProductId, :DeviceName, :AliasName
894
+
895
+ def initialize(accesstoken=nil, productid=nil, devicename=nil, aliasname=nil)
896
+ @AccessToken = accesstoken
897
+ @ProductId = productid
898
+ @DeviceName = devicename
899
+ @AliasName = aliasname
900
+ end
901
+
902
+ def deserialize(params)
903
+ @AccessToken = params['AccessToken']
904
+ @ProductId = params['ProductId']
905
+ @DeviceName = params['DeviceName']
906
+ @AliasName = params['AliasName']
907
+ end
908
+ end
909
+
910
+ # AppUpdateDevice返回参数结构体
911
+ class AppUpdateDeviceResponse < TencentCloud::Common::AbstractModel
912
+ # @param AppDevice: 设备信息
913
+ # @type AppDevice: :class:`Tencentcloud::Iot.v20180123.models.AppDevice`
914
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
915
+ # @type RequestId: String
916
+
917
+ attr_accessor :AppDevice, :RequestId
918
+
919
+ def initialize(appdevice=nil, requestid=nil)
920
+ @AppDevice = appdevice
921
+ @RequestId = requestid
922
+ end
923
+
924
+ def deserialize(params)
925
+ unless params['AppDevice'].nil?
926
+ @AppDevice = AppDevice.new
927
+ @AppDevice.deserialize(params['AppDevice'])
928
+ end
929
+ @RequestId = params['RequestId']
930
+ end
931
+ end
932
+
933
+ # AppUpdateUser请求参数结构体
934
+ class AppUpdateUserRequest < TencentCloud::Common::AbstractModel
935
+ # @param AccessToken: 访问Token
936
+ # @type AccessToken: String
937
+ # @param NickName: 昵称
938
+ # @type NickName: String
939
+
940
+ attr_accessor :AccessToken, :NickName
941
+
942
+ def initialize(accesstoken=nil, nickname=nil)
943
+ @AccessToken = accesstoken
944
+ @NickName = nickname
945
+ end
946
+
947
+ def deserialize(params)
948
+ @AccessToken = params['AccessToken']
949
+ @NickName = params['NickName']
950
+ end
951
+ end
952
+
953
+ # AppUpdateUser返回参数结构体
954
+ class AppUpdateUserResponse < TencentCloud::Common::AbstractModel
955
+ # @param AppUser: 应用用户
956
+ # @type AppUser: :class:`Tencentcloud::Iot.v20180123.models.AppUser`
957
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
958
+ # @type RequestId: String
959
+
960
+ attr_accessor :AppUser, :RequestId
961
+
962
+ def initialize(appuser=nil, requestid=nil)
963
+ @AppUser = appuser
964
+ @RequestId = requestid
965
+ end
966
+
967
+ def deserialize(params)
968
+ unless params['AppUser'].nil?
969
+ @AppUser = AppUser.new
970
+ @AppUser.deserialize(params['AppUser'])
971
+ end
972
+ @RequestId = params['RequestId']
973
+ end
974
+ end
975
+
976
+ # 应用用户
977
+ class AppUser < TencentCloud::Common::AbstractModel
978
+ # @param ApplicationId: 应用Id
979
+ # @type ApplicationId: String
980
+ # @param UserName: 用户名
981
+ # @type UserName: String
982
+ # @param NickName: 昵称
983
+ # @type NickName: String
984
+ # @param CreateTime: 创建时间
985
+ # @type CreateTime: String
986
+ # @param UpdateTime: 修改时间
987
+ # @type UpdateTime: String
988
+
989
+ attr_accessor :ApplicationId, :UserName, :NickName, :CreateTime, :UpdateTime
990
+
991
+ def initialize(applicationid=nil, username=nil, nickname=nil, createtime=nil, updatetime=nil)
992
+ @ApplicationId = applicationid
993
+ @UserName = username
994
+ @NickName = nickname
995
+ @CreateTime = createtime
996
+ @UpdateTime = updatetime
997
+ end
998
+
999
+ def deserialize(params)
1000
+ @ApplicationId = params['ApplicationId']
1001
+ @UserName = params['UserName']
1002
+ @NickName = params['NickName']
1003
+ @CreateTime = params['CreateTime']
1004
+ @UpdateTime = params['UpdateTime']
1005
+ end
1006
+ end
1007
+
1008
+ # AssociateSubDeviceToGatewayProduct请求参数结构体
1009
+ class AssociateSubDeviceToGatewayProductRequest < TencentCloud::Common::AbstractModel
1010
+ # @param SubDeviceProductId: 子设备产品Id
1011
+ # @type SubDeviceProductId: String
1012
+ # @param GatewayProductId: 网关产品Id
1013
+ # @type GatewayProductId: String
1014
+
1015
+ attr_accessor :SubDeviceProductId, :GatewayProductId
1016
+
1017
+ def initialize(subdeviceproductid=nil, gatewayproductid=nil)
1018
+ @SubDeviceProductId = subdeviceproductid
1019
+ @GatewayProductId = gatewayproductid
1020
+ end
1021
+
1022
+ def deserialize(params)
1023
+ @SubDeviceProductId = params['SubDeviceProductId']
1024
+ @GatewayProductId = params['GatewayProductId']
1025
+ end
1026
+ end
1027
+
1028
+ # AssociateSubDeviceToGatewayProduct返回参数结构体
1029
+ class AssociateSubDeviceToGatewayProductResponse < TencentCloud::Common::AbstractModel
1030
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1031
+ # @type RequestId: String
1032
+
1033
+ attr_accessor :RequestId
1034
+
1035
+ def initialize(requestid=nil)
1036
+ @RequestId = requestid
1037
+ end
1038
+
1039
+ def deserialize(params)
1040
+ @RequestId = params['RequestId']
1041
+ end
1042
+ end
1043
+
1044
+ # 布尔类型数据
1045
+ class BoolData < TencentCloud::Common::AbstractModel
1046
+ # @param Name: 名称
1047
+ # @type Name: String
1048
+ # @param Desc: 描述
1049
+ # @type Desc: String
1050
+ # @param Mode: 读写模式
1051
+ # @type Mode: String
1052
+ # @param Range: 取值列表
1053
+ # @type Range: Array
1054
+
1055
+ attr_accessor :Name, :Desc, :Mode, :Range
1056
+
1057
+ def initialize(name=nil, desc=nil, mode=nil, range=nil)
1058
+ @Name = name
1059
+ @Desc = desc
1060
+ @Mode = mode
1061
+ @Range = range
1062
+ end
1063
+
1064
+ def deserialize(params)
1065
+ @Name = params['Name']
1066
+ @Desc = params['Desc']
1067
+ @Mode = params['Mode']
1068
+ @Range = params['Range']
1069
+ end
1070
+ end
1071
+
1072
+ # 转发至Ckafka
1073
+ class CkafkaAction < TencentCloud::Common::AbstractModel
1074
+ # @param InstanceId: 实例Id
1075
+ # @type InstanceId: String
1076
+ # @param TopicName: topic名称
1077
+ # @type TopicName: String
1078
+ # @param Region: 地域
1079
+ # @type Region: String
1080
+
1081
+ attr_accessor :InstanceId, :TopicName, :Region
1082
+
1083
+ def initialize(instanceid=nil, topicname=nil, region=nil)
1084
+ @InstanceId = instanceid
1085
+ @TopicName = topicname
1086
+ @Region = region
1087
+ end
1088
+
1089
+ def deserialize(params)
1090
+ @InstanceId = params['InstanceId']
1091
+ @TopicName = params['TopicName']
1092
+ @Region = params['Region']
1093
+ end
1094
+ end
1095
+
1096
+ # 数据历史条目
1097
+ class DataHistoryEntry < TencentCloud::Common::AbstractModel
1098
+ # @param Id: 日志id
1099
+ # @type Id: String
1100
+ # @param Timestamp: 时间戳
1101
+ # @type Timestamp: Integer
1102
+ # @param DeviceName: 设备名称
1103
+ # @type DeviceName: String
1104
+ # @param Data: 数据
1105
+ # @type Data: String
1106
+
1107
+ attr_accessor :Id, :Timestamp, :DeviceName, :Data
1108
+
1109
+ def initialize(id=nil, timestamp=nil, devicename=nil, data=nil)
1110
+ @Id = id
1111
+ @Timestamp = timestamp
1112
+ @DeviceName = devicename
1113
+ @Data = data
1114
+ end
1115
+
1116
+ def deserialize(params)
1117
+ @Id = params['Id']
1118
+ @Timestamp = params['Timestamp']
1119
+ @DeviceName = params['DeviceName']
1120
+ @Data = params['Data']
1121
+ end
1122
+ end
1123
+
1124
+ # 数据模版
1125
+ class DataTemplate < TencentCloud::Common::AbstractModel
1126
+ # @param Number: 数字类型
1127
+ # 注意:此字段可能返回 null,表示取不到有效值。
1128
+ # @type Number: :class:`Tencentcloud::Iot.v20180123.models.NumberData`
1129
+ # @param String: 字符串类型
1130
+ # 注意:此字段可能返回 null,表示取不到有效值。
1131
+ # @type String: :class:`Tencentcloud::Iot.v20180123.models.StringData`
1132
+ # @param Enum: 枚举类型
1133
+ # 注意:此字段可能返回 null,表示取不到有效值。
1134
+ # @type Enum: :class:`Tencentcloud::Iot.v20180123.models.EnumData`
1135
+ # @param Bool: 布尔类型
1136
+ # 注意:此字段可能返回 null,表示取不到有效值。
1137
+ # @type Bool: :class:`Tencentcloud::Iot.v20180123.models.BoolData`
1138
+
1139
+ attr_accessor :Number, :String, :Enum, :Bool
1140
+
1141
+ def initialize(number=nil, string=nil, enum=nil, bool=nil)
1142
+ @Number = number
1143
+ @String = string
1144
+ @Enum = enum
1145
+ @Bool = bool
1146
+ end
1147
+
1148
+ def deserialize(params)
1149
+ unless params['Number'].nil?
1150
+ @Number = NumberData.new
1151
+ @Number.deserialize(params['Number'])
1152
+ end
1153
+ unless params['String'].nil?
1154
+ @String = StringData.new
1155
+ @String.deserialize(params['String'])
1156
+ end
1157
+ unless params['Enum'].nil?
1158
+ @Enum = EnumData.new
1159
+ @Enum.deserialize(params['Enum'])
1160
+ end
1161
+ unless params['Bool'].nil?
1162
+ @Bool = BoolData.new
1163
+ @Bool.deserialize(params['Bool'])
1164
+ end
1165
+ end
1166
+ end
1167
+
1168
+ # DeactivateRule请求参数结构体
1169
+ class DeactivateRuleRequest < TencentCloud::Common::AbstractModel
1170
+ # @param RuleId: 规则Id
1171
+ # @type RuleId: String
1172
+
1173
+ attr_accessor :RuleId
1174
+
1175
+ def initialize(ruleid=nil)
1176
+ @RuleId = ruleid
1177
+ end
1178
+
1179
+ def deserialize(params)
1180
+ @RuleId = params['RuleId']
1181
+ end
1182
+ end
1183
+
1184
+ # DeactivateRule返回参数结构体
1185
+ class DeactivateRuleResponse < TencentCloud::Common::AbstractModel
1186
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1187
+ # @type RequestId: String
1188
+
1189
+ attr_accessor :RequestId
1190
+
1191
+ def initialize(requestid=nil)
1192
+ @RequestId = requestid
1193
+ end
1194
+
1195
+ def deserialize(params)
1196
+ @RequestId = params['RequestId']
1197
+ end
1198
+ end
1199
+
1200
+ # 设备日志条目
1201
+ class DebugLogEntry < TencentCloud::Common::AbstractModel
1202
+ # @param Id: 日志id
1203
+ # @type Id: String
1204
+ # @param Event: 行为(事件)
1205
+ # @type Event: String
1206
+ # @param LogType: shadow/action/mqtt, 分别表示:影子/规则引擎/上下线日志
1207
+ # @type LogType: String
1208
+ # @param Timestamp: 时间戳
1209
+ # @type Timestamp: Integer
1210
+ # @param Result: success/fail
1211
+ # @type Result: String
1212
+ # @param Data: 日志详细内容
1213
+ # @type Data: String
1214
+ # @param Topic: 数据来源topic
1215
+ # @type Topic: String
1216
+ # @param DeviceName: 设备名称
1217
+ # @type DeviceName: String
1218
+
1219
+ attr_accessor :Id, :Event, :LogType, :Timestamp, :Result, :Data, :Topic, :DeviceName
1220
+
1221
+ def initialize(id=nil, event=nil, logtype=nil, timestamp=nil, result=nil, data=nil, topic=nil, devicename=nil)
1222
+ @Id = id
1223
+ @Event = event
1224
+ @LogType = logtype
1225
+ @Timestamp = timestamp
1226
+ @Result = result
1227
+ @Data = data
1228
+ @Topic = topic
1229
+ @DeviceName = devicename
1230
+ end
1231
+
1232
+ def deserialize(params)
1233
+ @Id = params['Id']
1234
+ @Event = params['Event']
1235
+ @LogType = params['LogType']
1236
+ @Timestamp = params['Timestamp']
1237
+ @Result = params['Result']
1238
+ @Data = params['Data']
1239
+ @Topic = params['Topic']
1240
+ @DeviceName = params['DeviceName']
1241
+ end
1242
+ end
1243
+
1244
+ # DeleteDevice请求参数结构体
1245
+ class DeleteDeviceRequest < TencentCloud::Common::AbstractModel
1246
+ # @param ProductId: 产品Id
1247
+ # @type ProductId: String
1248
+ # @param DeviceName: 设备名称
1249
+ # @type DeviceName: String
1250
+
1251
+ attr_accessor :ProductId, :DeviceName
1252
+
1253
+ def initialize(productid=nil, devicename=nil)
1254
+ @ProductId = productid
1255
+ @DeviceName = devicename
1256
+ end
1257
+
1258
+ def deserialize(params)
1259
+ @ProductId = params['ProductId']
1260
+ @DeviceName = params['DeviceName']
1261
+ end
1262
+ end
1263
+
1264
+ # DeleteDevice返回参数结构体
1265
+ class DeleteDeviceResponse < TencentCloud::Common::AbstractModel
1266
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1267
+ # @type RequestId: String
1268
+
1269
+ attr_accessor :RequestId
1270
+
1271
+ def initialize(requestid=nil)
1272
+ @RequestId = requestid
1273
+ end
1274
+
1275
+ def deserialize(params)
1276
+ @RequestId = params['RequestId']
1277
+ end
1278
+ end
1279
+
1280
+ # DeleteProduct请求参数结构体
1281
+ class DeleteProductRequest < TencentCloud::Common::AbstractModel
1282
+ # @param ProductId: 产品Id
1283
+ # @type ProductId: String
1284
+
1285
+ attr_accessor :ProductId
1286
+
1287
+ def initialize(productid=nil)
1288
+ @ProductId = productid
1289
+ end
1290
+
1291
+ def deserialize(params)
1292
+ @ProductId = params['ProductId']
1293
+ end
1294
+ end
1295
+
1296
+ # DeleteProduct返回参数结构体
1297
+ class DeleteProductResponse < TencentCloud::Common::AbstractModel
1298
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1299
+ # @type RequestId: String
1300
+
1301
+ attr_accessor :RequestId
1302
+
1303
+ def initialize(requestid=nil)
1304
+ @RequestId = requestid
1305
+ end
1306
+
1307
+ def deserialize(params)
1308
+ @RequestId = params['RequestId']
1309
+ end
1310
+ end
1311
+
1312
+ # DeleteRule请求参数结构体
1313
+ class DeleteRuleRequest < TencentCloud::Common::AbstractModel
1314
+ # @param RuleId: 规则Id
1315
+ # @type RuleId: String
1316
+
1317
+ attr_accessor :RuleId
1318
+
1319
+ def initialize(ruleid=nil)
1320
+ @RuleId = ruleid
1321
+ end
1322
+
1323
+ def deserialize(params)
1324
+ @RuleId = params['RuleId']
1325
+ end
1326
+ end
1327
+
1328
+ # DeleteRule返回参数结构体
1329
+ class DeleteRuleResponse < TencentCloud::Common::AbstractModel
1330
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1331
+ # @type RequestId: String
1332
+
1333
+ attr_accessor :RequestId
1334
+
1335
+ def initialize(requestid=nil)
1336
+ @RequestId = requestid
1337
+ end
1338
+
1339
+ def deserialize(params)
1340
+ @RequestId = params['RequestId']
1341
+ end
1342
+ end
1343
+
1344
+ # DeleteTopic请求参数结构体
1345
+ class DeleteTopicRequest < TencentCloud::Common::AbstractModel
1346
+ # @param TopicId: TopicId
1347
+ # @type TopicId: String
1348
+ # @param ProductId: 产品Id
1349
+ # @type ProductId: String
1350
+
1351
+ attr_accessor :TopicId, :ProductId
1352
+
1353
+ def initialize(topicid=nil, productid=nil)
1354
+ @TopicId = topicid
1355
+ @ProductId = productid
1356
+ end
1357
+
1358
+ def deserialize(params)
1359
+ @TopicId = params['TopicId']
1360
+ @ProductId = params['ProductId']
1361
+ end
1362
+ end
1363
+
1364
+ # DeleteTopic返回参数结构体
1365
+ class DeleteTopicResponse < TencentCloud::Common::AbstractModel
1366
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1367
+ # @type RequestId: String
1368
+
1369
+ attr_accessor :RequestId
1370
+
1371
+ def initialize(requestid=nil)
1372
+ @RequestId = requestid
1373
+ end
1374
+
1375
+ def deserialize(params)
1376
+ @RequestId = params['RequestId']
1377
+ end
1378
+ end
1379
+
1380
+ # 设备
1381
+ class Device < TencentCloud::Common::AbstractModel
1382
+ # @param ProductId: 产品Id
1383
+ # @type ProductId: String
1384
+ # @param DeviceName: 设备名称
1385
+ # @type DeviceName: String
1386
+ # @param DeviceSecret: 设备密钥
1387
+ # @type DeviceSecret: String
1388
+ # @param UpdateTime: 更新时间
1389
+ # @type UpdateTime: String
1390
+ # @param CreateTime: 创建时间
1391
+ # @type CreateTime: String
1392
+ # @param DeviceInfo: 设备信息(json)
1393
+ # @type DeviceInfo: String
1394
+
1395
+ attr_accessor :ProductId, :DeviceName, :DeviceSecret, :UpdateTime, :CreateTime, :DeviceInfo
1396
+
1397
+ def initialize(productid=nil, devicename=nil, devicesecret=nil, updatetime=nil, createtime=nil, deviceinfo=nil)
1398
+ @ProductId = productid
1399
+ @DeviceName = devicename
1400
+ @DeviceSecret = devicesecret
1401
+ @UpdateTime = updatetime
1402
+ @CreateTime = createtime
1403
+ @DeviceInfo = deviceinfo
1404
+ end
1405
+
1406
+ def deserialize(params)
1407
+ @ProductId = params['ProductId']
1408
+ @DeviceName = params['DeviceName']
1409
+ @DeviceSecret = params['DeviceSecret']
1410
+ @UpdateTime = params['UpdateTime']
1411
+ @CreateTime = params['CreateTime']
1412
+ @DeviceInfo = params['DeviceInfo']
1413
+ end
1414
+ end
1415
+
1416
+ # 设备条目
1417
+ class DeviceEntry < TencentCloud::Common::AbstractModel
1418
+ # @param ProductId: 产品Id
1419
+ # @type ProductId: String
1420
+ # @param DeviceName: 设备名称
1421
+ # @type DeviceName: String
1422
+ # @param DeviceSecret: 设备密钥
1423
+ # @type DeviceSecret: String
1424
+ # @param CreateTime: 创建时间
1425
+ # @type CreateTime: String
1426
+
1427
+ attr_accessor :ProductId, :DeviceName, :DeviceSecret, :CreateTime
1428
+
1429
+ def initialize(productid=nil, devicename=nil, devicesecret=nil, createtime=nil)
1430
+ @ProductId = productid
1431
+ @DeviceName = devicename
1432
+ @DeviceSecret = devicesecret
1433
+ @CreateTime = createtime
1434
+ end
1435
+
1436
+ def deserialize(params)
1437
+ @ProductId = params['ProductId']
1438
+ @DeviceName = params['DeviceName']
1439
+ @DeviceSecret = params['DeviceSecret']
1440
+ @CreateTime = params['CreateTime']
1441
+ end
1442
+ end
1443
+
1444
+ # 设备日志条目
1445
+ class DeviceLogEntry < TencentCloud::Common::AbstractModel
1446
+ # @param Id: 日志id
1447
+ # @type Id: String
1448
+ # @param Msg: 日志内容
1449
+ # @type Msg: String
1450
+ # @param Code: 状态码
1451
+ # @type Code: String
1452
+ # @param Timestamp: 时间戳
1453
+ # @type Timestamp: Integer
1454
+ # @param DeviceName: 设备名称
1455
+ # @type DeviceName: String
1456
+ # @param Method: 设备动作
1457
+ # @type Method: String
1458
+
1459
+ attr_accessor :Id, :Msg, :Code, :Timestamp, :DeviceName, :Method
1460
+
1461
+ def initialize(id=nil, msg=nil, code=nil, timestamp=nil, devicename=nil, method=nil)
1462
+ @Id = id
1463
+ @Msg = msg
1464
+ @Code = code
1465
+ @Timestamp = timestamp
1466
+ @DeviceName = devicename
1467
+ @Method = method
1468
+ end
1469
+
1470
+ def deserialize(params)
1471
+ @Id = params['Id']
1472
+ @Msg = params['Msg']
1473
+ @Code = params['Code']
1474
+ @Timestamp = params['Timestamp']
1475
+ @DeviceName = params['DeviceName']
1476
+ @Method = params['Method']
1477
+ end
1478
+ end
1479
+
1480
+ # 设备签名
1481
+ class DeviceSignature < TencentCloud::Common::AbstractModel
1482
+ # @param DeviceName: 设备名称
1483
+ # @type DeviceName: String
1484
+ # @param DeviceSignature: 设备签名
1485
+ # @type DeviceSignature: String
1486
+
1487
+ attr_accessor :DeviceName, :DeviceSignature
1488
+
1489
+ def initialize(devicename=nil, devicesignature=nil)
1490
+ @DeviceName = devicename
1491
+ @DeviceSignature = devicesignature
1492
+ end
1493
+
1494
+ def deserialize(params)
1495
+ @DeviceName = params['DeviceName']
1496
+ @DeviceSignature = params['DeviceSignature']
1497
+ end
1498
+ end
1499
+
1500
+ # 设备统计数据
1501
+ class DeviceStatData < TencentCloud::Common::AbstractModel
1502
+ # @param Datetime: 时间点
1503
+ # @type Datetime: String
1504
+ # @param DeviceOnline: 在线设备数
1505
+ # @type DeviceOnline: Integer
1506
+ # @param DeviceActive: 激活设备数
1507
+ # @type DeviceActive: Integer
1508
+ # @param DeviceTotal: 设备总数
1509
+ # @type DeviceTotal: Integer
1510
+
1511
+ attr_accessor :Datetime, :DeviceOnline, :DeviceActive, :DeviceTotal
1512
+
1513
+ def initialize(datetime=nil, deviceonline=nil, deviceactive=nil, devicetotal=nil)
1514
+ @Datetime = datetime
1515
+ @DeviceOnline = deviceonline
1516
+ @DeviceActive = deviceactive
1517
+ @DeviceTotal = devicetotal
1518
+ end
1519
+
1520
+ def deserialize(params)
1521
+ @Datetime = params['Datetime']
1522
+ @DeviceOnline = params['DeviceOnline']
1523
+ @DeviceActive = params['DeviceActive']
1524
+ @DeviceTotal = params['DeviceTotal']
1525
+ end
1526
+ end
1527
+
1528
+ # 设备状态
1529
+ class DeviceStatus < TencentCloud::Common::AbstractModel
1530
+ # @param DeviceName: 设备名称
1531
+ # @type DeviceName: String
1532
+ # @param Status: 设备状态(inactive, online, offline)
1533
+ # @type Status: String
1534
+ # @param FirstOnline: 首次上线时间
1535
+ # 注意:此字段可能返回 null,表示取不到有效值。
1536
+ # @type FirstOnline: String
1537
+ # @param LastOnline: 最后上线时间
1538
+ # 注意:此字段可能返回 null,表示取不到有效值。
1539
+ # @type LastOnline: String
1540
+ # @param OnlineTimes: 上线次数
1541
+ # @type OnlineTimes: Integer
1542
+
1543
+ attr_accessor :DeviceName, :Status, :FirstOnline, :LastOnline, :OnlineTimes
1544
+
1545
+ def initialize(devicename=nil, status=nil, firstonline=nil, lastonline=nil, onlinetimes=nil)
1546
+ @DeviceName = devicename
1547
+ @Status = status
1548
+ @FirstOnline = firstonline
1549
+ @LastOnline = lastonline
1550
+ @OnlineTimes = onlinetimes
1551
+ end
1552
+
1553
+ def deserialize(params)
1554
+ @DeviceName = params['DeviceName']
1555
+ @Status = params['Status']
1556
+ @FirstOnline = params['FirstOnline']
1557
+ @LastOnline = params['LastOnline']
1558
+ @OnlineTimes = params['OnlineTimes']
1559
+ end
1560
+ end
1561
+
1562
+ # 枚举类型数据
1563
+ class EnumData < TencentCloud::Common::AbstractModel
1564
+ # @param Name: 名称
1565
+ # @type Name: String
1566
+ # @param Desc: 描述
1567
+ # @type Desc: String
1568
+ # @param Mode: 读写模式
1569
+ # @type Mode: String
1570
+ # @param Range: 取值列表
1571
+ # @type Range: Array
1572
+
1573
+ attr_accessor :Name, :Desc, :Mode, :Range
1574
+
1575
+ def initialize(name=nil, desc=nil, mode=nil, range=nil)
1576
+ @Name = name
1577
+ @Desc = desc
1578
+ @Mode = mode
1579
+ @Range = range
1580
+ end
1581
+
1582
+ def deserialize(params)
1583
+ @Name = params['Name']
1584
+ @Desc = params['Desc']
1585
+ @Mode = params['Mode']
1586
+ @Range = params['Range']
1587
+ end
1588
+ end
1589
+
1590
+ # GetDataHistory请求参数结构体
1591
+ class GetDataHistoryRequest < TencentCloud::Common::AbstractModel
1592
+ # @param ProductId: 产品Id
1593
+ # @type ProductId: String
1594
+ # @param DeviceNames: 设备名称列表,允许最多一次100台
1595
+ # @type DeviceNames: Array
1596
+ # @param StartTime: 查询开始时间
1597
+ # @type StartTime: String
1598
+ # @param EndTime: 查询结束时间
1599
+ # @type EndTime: String
1600
+ # @param Size: 查询数据量
1601
+ # @type Size: Integer
1602
+ # @param Order: 时间排序(desc/asc)
1603
+ # @type Order: String
1604
+ # @param ScrollId: 查询游标
1605
+ # @type ScrollId: String
1606
+
1607
+ attr_accessor :ProductId, :DeviceNames, :StartTime, :EndTime, :Size, :Order, :ScrollId
1608
+
1609
+ def initialize(productid=nil, devicenames=nil, starttime=nil, endtime=nil, size=nil, order=nil, scrollid=nil)
1610
+ @ProductId = productid
1611
+ @DeviceNames = devicenames
1612
+ @StartTime = starttime
1613
+ @EndTime = endtime
1614
+ @Size = size
1615
+ @Order = order
1616
+ @ScrollId = scrollid
1617
+ end
1618
+
1619
+ def deserialize(params)
1620
+ @ProductId = params['ProductId']
1621
+ @DeviceNames = params['DeviceNames']
1622
+ @StartTime = params['StartTime']
1623
+ @EndTime = params['EndTime']
1624
+ @Size = params['Size']
1625
+ @Order = params['Order']
1626
+ @ScrollId = params['ScrollId']
1627
+ end
1628
+ end
1629
+
1630
+ # GetDataHistory返回参数结构体
1631
+ class GetDataHistoryResponse < TencentCloud::Common::AbstractModel
1632
+ # @param DataHistory: 数据历史
1633
+ # @type DataHistory: Array
1634
+ # @param ScrollId: 查询游标
1635
+ # @type ScrollId: String
1636
+ # @param ScrollTimeout: 查询游标超时
1637
+ # @type ScrollTimeout: Integer
1638
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1639
+ # @type RequestId: String
1640
+
1641
+ attr_accessor :DataHistory, :ScrollId, :ScrollTimeout, :RequestId
1642
+
1643
+ def initialize(datahistory=nil, scrollid=nil, scrolltimeout=nil, requestid=nil)
1644
+ @DataHistory = datahistory
1645
+ @ScrollId = scrollid
1646
+ @ScrollTimeout = scrolltimeout
1647
+ @RequestId = requestid
1648
+ end
1649
+
1650
+ def deserialize(params)
1651
+ unless params['DataHistory'].nil?
1652
+ @DataHistory = []
1653
+ params['DataHistory'].each do |i|
1654
+ datahistoryentry_tmp = DataHistoryEntry.new
1655
+ datahistoryentry_tmp.deserialize(i)
1656
+ @DataHistory << datahistoryentry_tmp
1657
+ end
1658
+ end
1659
+ @ScrollId = params['ScrollId']
1660
+ @ScrollTimeout = params['ScrollTimeout']
1661
+ @RequestId = params['RequestId']
1662
+ end
1663
+ end
1664
+
1665
+ # GetDebugLog请求参数结构体
1666
+ class GetDebugLogRequest < TencentCloud::Common::AbstractModel
1667
+ # @param ProductId: 产品Id
1668
+ # @type ProductId: String
1669
+ # @param DeviceNames: 设备名称列表,最大支持100台
1670
+ # @type DeviceNames: Array
1671
+ # @param StartTime: 查询开始时间
1672
+ # @type StartTime: String
1673
+ # @param EndTime: 查询结束时间
1674
+ # @type EndTime: String
1675
+ # @param Size: 查询数据量
1676
+ # @type Size: Integer
1677
+ # @param Order: 时间排序(desc/asc)
1678
+ # @type Order: String
1679
+ # @param ScrollId: 查询游标
1680
+ # @type ScrollId: String
1681
+ # @param Type: 日志类型(shadow/action/mqtt)
1682
+ # @type Type: String
1683
+
1684
+ attr_accessor :ProductId, :DeviceNames, :StartTime, :EndTime, :Size, :Order, :ScrollId, :Type
1685
+
1686
+ def initialize(productid=nil, devicenames=nil, starttime=nil, endtime=nil, size=nil, order=nil, scrollid=nil, type=nil)
1687
+ @ProductId = productid
1688
+ @DeviceNames = devicenames
1689
+ @StartTime = starttime
1690
+ @EndTime = endtime
1691
+ @Size = size
1692
+ @Order = order
1693
+ @ScrollId = scrollid
1694
+ @Type = type
1695
+ end
1696
+
1697
+ def deserialize(params)
1698
+ @ProductId = params['ProductId']
1699
+ @DeviceNames = params['DeviceNames']
1700
+ @StartTime = params['StartTime']
1701
+ @EndTime = params['EndTime']
1702
+ @Size = params['Size']
1703
+ @Order = params['Order']
1704
+ @ScrollId = params['ScrollId']
1705
+ @Type = params['Type']
1706
+ end
1707
+ end
1708
+
1709
+ # GetDebugLog返回参数结构体
1710
+ class GetDebugLogResponse < TencentCloud::Common::AbstractModel
1711
+ # @param DebugLog: 调试日志
1712
+ # @type DebugLog: Array
1713
+ # @param ScrollId: 查询游标
1714
+ # @type ScrollId: String
1715
+ # @param ScrollTimeout: 游标超时
1716
+ # @type ScrollTimeout: Integer
1717
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1718
+ # @type RequestId: String
1719
+
1720
+ attr_accessor :DebugLog, :ScrollId, :ScrollTimeout, :RequestId
1721
+
1722
+ def initialize(debuglog=nil, scrollid=nil, scrolltimeout=nil, requestid=nil)
1723
+ @DebugLog = debuglog
1724
+ @ScrollId = scrollid
1725
+ @ScrollTimeout = scrolltimeout
1726
+ @RequestId = requestid
1727
+ end
1728
+
1729
+ def deserialize(params)
1730
+ unless params['DebugLog'].nil?
1731
+ @DebugLog = []
1732
+ params['DebugLog'].each do |i|
1733
+ debuglogentry_tmp = DebugLogEntry.new
1734
+ debuglogentry_tmp.deserialize(i)
1735
+ @DebugLog << debuglogentry_tmp
1736
+ end
1737
+ end
1738
+ @ScrollId = params['ScrollId']
1739
+ @ScrollTimeout = params['ScrollTimeout']
1740
+ @RequestId = params['RequestId']
1741
+ end
1742
+ end
1743
+
1744
+ # GetDeviceData请求参数结构体
1745
+ class GetDeviceDataRequest < TencentCloud::Common::AbstractModel
1746
+ # @param ProductId: 产品Id
1747
+ # @type ProductId: String
1748
+ # @param DeviceName: 设备名称
1749
+ # @type DeviceName: String
1750
+
1751
+ attr_accessor :ProductId, :DeviceName
1752
+
1753
+ def initialize(productid=nil, devicename=nil)
1754
+ @ProductId = productid
1755
+ @DeviceName = devicename
1756
+ end
1757
+
1758
+ def deserialize(params)
1759
+ @ProductId = params['ProductId']
1760
+ @DeviceName = params['DeviceName']
1761
+ end
1762
+ end
1763
+
1764
+ # GetDeviceData返回参数结构体
1765
+ class GetDeviceDataResponse < TencentCloud::Common::AbstractModel
1766
+ # @param DeviceData: 设备数据
1767
+ # @type DeviceData: String
1768
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1769
+ # @type RequestId: String
1770
+
1771
+ attr_accessor :DeviceData, :RequestId
1772
+
1773
+ def initialize(devicedata=nil, requestid=nil)
1774
+ @DeviceData = devicedata
1775
+ @RequestId = requestid
1776
+ end
1777
+
1778
+ def deserialize(params)
1779
+ @DeviceData = params['DeviceData']
1780
+ @RequestId = params['RequestId']
1781
+ end
1782
+ end
1783
+
1784
+ # GetDeviceLog请求参数结构体
1785
+ class GetDeviceLogRequest < TencentCloud::Common::AbstractModel
1786
+ # @param ProductId: 产品Id
1787
+ # @type ProductId: String
1788
+ # @param DeviceNames: 设备名称列表,最大支持100台
1789
+ # @type DeviceNames: Array
1790
+ # @param StartTime: 查询开始时间
1791
+ # @type StartTime: String
1792
+ # @param EndTime: 查询结束时间
1793
+ # @type EndTime: String
1794
+ # @param Size: 查询数据量
1795
+ # @type Size: Integer
1796
+ # @param Order: 时间排序(desc/asc)
1797
+ # @type Order: String
1798
+ # @param ScrollId: 查询游标
1799
+ # @type ScrollId: String
1800
+ # @param Type: 日志类型(comm/status)
1801
+ # @type Type: String
1802
+
1803
+ attr_accessor :ProductId, :DeviceNames, :StartTime, :EndTime, :Size, :Order, :ScrollId, :Type
1804
+
1805
+ def initialize(productid=nil, devicenames=nil, starttime=nil, endtime=nil, size=nil, order=nil, scrollid=nil, type=nil)
1806
+ @ProductId = productid
1807
+ @DeviceNames = devicenames
1808
+ @StartTime = starttime
1809
+ @EndTime = endtime
1810
+ @Size = size
1811
+ @Order = order
1812
+ @ScrollId = scrollid
1813
+ @Type = type
1814
+ end
1815
+
1816
+ def deserialize(params)
1817
+ @ProductId = params['ProductId']
1818
+ @DeviceNames = params['DeviceNames']
1819
+ @StartTime = params['StartTime']
1820
+ @EndTime = params['EndTime']
1821
+ @Size = params['Size']
1822
+ @Order = params['Order']
1823
+ @ScrollId = params['ScrollId']
1824
+ @Type = params['Type']
1825
+ end
1826
+ end
1827
+
1828
+ # GetDeviceLog返回参数结构体
1829
+ class GetDeviceLogResponse < TencentCloud::Common::AbstractModel
1830
+ # @param DeviceLog: 设备日志
1831
+ # @type DeviceLog: Array
1832
+ # @param ScrollId: 查询游标
1833
+ # @type ScrollId: String
1834
+ # @param ScrollTimeout: 游标超时
1835
+ # @type ScrollTimeout: Integer
1836
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1837
+ # @type RequestId: String
1838
+
1839
+ attr_accessor :DeviceLog, :ScrollId, :ScrollTimeout, :RequestId
1840
+
1841
+ def initialize(devicelog=nil, scrollid=nil, scrolltimeout=nil, requestid=nil)
1842
+ @DeviceLog = devicelog
1843
+ @ScrollId = scrollid
1844
+ @ScrollTimeout = scrolltimeout
1845
+ @RequestId = requestid
1846
+ end
1847
+
1848
+ def deserialize(params)
1849
+ unless params['DeviceLog'].nil?
1850
+ @DeviceLog = []
1851
+ params['DeviceLog'].each do |i|
1852
+ devicelogentry_tmp = DeviceLogEntry.new
1853
+ devicelogentry_tmp.deserialize(i)
1854
+ @DeviceLog << devicelogentry_tmp
1855
+ end
1856
+ end
1857
+ @ScrollId = params['ScrollId']
1858
+ @ScrollTimeout = params['ScrollTimeout']
1859
+ @RequestId = params['RequestId']
1860
+ end
1861
+ end
1862
+
1863
+ # GetDevice请求参数结构体
1864
+ class GetDeviceRequest < TencentCloud::Common::AbstractModel
1865
+ # @param ProductId: 产品Id
1866
+ # @type ProductId: String
1867
+ # @param DeviceName: 设备名称
1868
+ # @type DeviceName: String
1869
+
1870
+ attr_accessor :ProductId, :DeviceName
1871
+
1872
+ def initialize(productid=nil, devicename=nil)
1873
+ @ProductId = productid
1874
+ @DeviceName = devicename
1875
+ end
1876
+
1877
+ def deserialize(params)
1878
+ @ProductId = params['ProductId']
1879
+ @DeviceName = params['DeviceName']
1880
+ end
1881
+ end
1882
+
1883
+ # GetDevice返回参数结构体
1884
+ class GetDeviceResponse < TencentCloud::Common::AbstractModel
1885
+ # @param Device: 设备信息
1886
+ # @type Device: :class:`Tencentcloud::Iot.v20180123.models.Device`
1887
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1888
+ # @type RequestId: String
1889
+
1890
+ attr_accessor :Device, :RequestId
1891
+
1892
+ def initialize(device=nil, requestid=nil)
1893
+ @Device = device
1894
+ @RequestId = requestid
1895
+ end
1896
+
1897
+ def deserialize(params)
1898
+ unless params['Device'].nil?
1899
+ @Device = Device.new
1900
+ @Device.deserialize(params['Device'])
1901
+ end
1902
+ @RequestId = params['RequestId']
1903
+ end
1904
+ end
1905
+
1906
+ # GetDeviceSignatures请求参数结构体
1907
+ class GetDeviceSignaturesRequest < TencentCloud::Common::AbstractModel
1908
+ # @param ProductId: 产品ID
1909
+ # @type ProductId: String
1910
+ # @param DeviceNames: 设备名称列表(单次限制1000个设备)
1911
+ # @type DeviceNames: Array
1912
+ # @param Expire: 过期时间
1913
+ # @type Expire: Integer
1914
+
1915
+ attr_accessor :ProductId, :DeviceNames, :Expire
1916
+
1917
+ def initialize(productid=nil, devicenames=nil, expire=nil)
1918
+ @ProductId = productid
1919
+ @DeviceNames = devicenames
1920
+ @Expire = expire
1921
+ end
1922
+
1923
+ def deserialize(params)
1924
+ @ProductId = params['ProductId']
1925
+ @DeviceNames = params['DeviceNames']
1926
+ @Expire = params['Expire']
1927
+ end
1928
+ end
1929
+
1930
+ # GetDeviceSignatures返回参数结构体
1931
+ class GetDeviceSignaturesResponse < TencentCloud::Common::AbstractModel
1932
+ # @param DeviceSignatures: 设备绑定签名列表
1933
+ # @type DeviceSignatures: Array
1934
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1935
+ # @type RequestId: String
1936
+
1937
+ attr_accessor :DeviceSignatures, :RequestId
1938
+
1939
+ def initialize(devicesignatures=nil, requestid=nil)
1940
+ @DeviceSignatures = devicesignatures
1941
+ @RequestId = requestid
1942
+ end
1943
+
1944
+ def deserialize(params)
1945
+ unless params['DeviceSignatures'].nil?
1946
+ @DeviceSignatures = []
1947
+ params['DeviceSignatures'].each do |i|
1948
+ devicesignature_tmp = DeviceSignature.new
1949
+ devicesignature_tmp.deserialize(i)
1950
+ @DeviceSignatures << devicesignature_tmp
1951
+ end
1952
+ end
1953
+ @RequestId = params['RequestId']
1954
+ end
1955
+ end
1956
+
1957
+ # GetDeviceStatistics请求参数结构体
1958
+ class GetDeviceStatisticsRequest < TencentCloud::Common::AbstractModel
1959
+ # @param Products: 产品Id列表
1960
+ # @type Products: Array
1961
+ # @param StartDate: 开始日期
1962
+ # @type StartDate: String
1963
+ # @param EndDate: 结束日期
1964
+ # @type EndDate: String
1965
+
1966
+ attr_accessor :Products, :StartDate, :EndDate
1967
+
1968
+ def initialize(products=nil, startdate=nil, enddate=nil)
1969
+ @Products = products
1970
+ @StartDate = startdate
1971
+ @EndDate = enddate
1972
+ end
1973
+
1974
+ def deserialize(params)
1975
+ @Products = params['Products']
1976
+ @StartDate = params['StartDate']
1977
+ @EndDate = params['EndDate']
1978
+ end
1979
+ end
1980
+
1981
+ # GetDeviceStatistics返回参数结构体
1982
+ class GetDeviceStatisticsResponse < TencentCloud::Common::AbstractModel
1983
+ # @param DeviceStatistics: 统计数据
1984
+ # @type DeviceStatistics: Array
1985
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1986
+ # @type RequestId: String
1987
+
1988
+ attr_accessor :DeviceStatistics, :RequestId
1989
+
1990
+ def initialize(devicestatistics=nil, requestid=nil)
1991
+ @DeviceStatistics = devicestatistics
1992
+ @RequestId = requestid
1993
+ end
1994
+
1995
+ def deserialize(params)
1996
+ unless params['DeviceStatistics'].nil?
1997
+ @DeviceStatistics = []
1998
+ params['DeviceStatistics'].each do |i|
1999
+ devicestatdata_tmp = DeviceStatData.new
2000
+ devicestatdata_tmp.deserialize(i)
2001
+ @DeviceStatistics << devicestatdata_tmp
2002
+ end
2003
+ end
2004
+ @RequestId = params['RequestId']
2005
+ end
2006
+ end
2007
+
2008
+ # GetDeviceStatuses请求参数结构体
2009
+ class GetDeviceStatusesRequest < TencentCloud::Common::AbstractModel
2010
+ # @param ProductId: 产品ID
2011
+ # @type ProductId: String
2012
+ # @param DeviceNames: 设备名称列表(单次限制1000个设备)
2013
+ # @type DeviceNames: Array
2014
+
2015
+ attr_accessor :ProductId, :DeviceNames
2016
+
2017
+ def initialize(productid=nil, devicenames=nil)
2018
+ @ProductId = productid
2019
+ @DeviceNames = devicenames
2020
+ end
2021
+
2022
+ def deserialize(params)
2023
+ @ProductId = params['ProductId']
2024
+ @DeviceNames = params['DeviceNames']
2025
+ end
2026
+ end
2027
+
2028
+ # GetDeviceStatuses返回参数结构体
2029
+ class GetDeviceStatusesResponse < TencentCloud::Common::AbstractModel
2030
+ # @param DeviceStatuses: 设备状态列表
2031
+ # @type DeviceStatuses: Array
2032
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
2033
+ # @type RequestId: String
2034
+
2035
+ attr_accessor :DeviceStatuses, :RequestId
2036
+
2037
+ def initialize(devicestatuses=nil, requestid=nil)
2038
+ @DeviceStatuses = devicestatuses
2039
+ @RequestId = requestid
2040
+ end
2041
+
2042
+ def deserialize(params)
2043
+ unless params['DeviceStatuses'].nil?
2044
+ @DeviceStatuses = []
2045
+ params['DeviceStatuses'].each do |i|
2046
+ devicestatus_tmp = DeviceStatus.new
2047
+ devicestatus_tmp.deserialize(i)
2048
+ @DeviceStatuses << devicestatus_tmp
2049
+ end
2050
+ end
2051
+ @RequestId = params['RequestId']
2052
+ end
2053
+ end
2054
+
2055
+ # GetDevices请求参数结构体
2056
+ class GetDevicesRequest < TencentCloud::Common::AbstractModel
2057
+ # @param ProductId: 产品Id
2058
+ # @type ProductId: String
2059
+ # @param Offset: 偏移
2060
+ # @type Offset: Integer
2061
+ # @param Length: 长度
2062
+ # @type Length: Integer
2063
+ # @param Keyword: 关键字查询
2064
+ # @type Keyword: String
2065
+
2066
+ attr_accessor :ProductId, :Offset, :Length, :Keyword
2067
+
2068
+ def initialize(productid=nil, offset=nil, length=nil, keyword=nil)
2069
+ @ProductId = productid
2070
+ @Offset = offset
2071
+ @Length = length
2072
+ @Keyword = keyword
2073
+ end
2074
+
2075
+ def deserialize(params)
2076
+ @ProductId = params['ProductId']
2077
+ @Offset = params['Offset']
2078
+ @Length = params['Length']
2079
+ @Keyword = params['Keyword']
2080
+ end
2081
+ end
2082
+
2083
+ # GetDevices返回参数结构体
2084
+ class GetDevicesResponse < TencentCloud::Common::AbstractModel
2085
+ # @param Devices: 设备列表
2086
+ # @type Devices: Array
2087
+ # @param Total: 设备总数
2088
+ # @type Total: Integer
2089
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
2090
+ # @type RequestId: String
2091
+
2092
+ attr_accessor :Devices, :Total, :RequestId
2093
+
2094
+ def initialize(devices=nil, total=nil, requestid=nil)
2095
+ @Devices = devices
2096
+ @Total = total
2097
+ @RequestId = requestid
2098
+ end
2099
+
2100
+ def deserialize(params)
2101
+ unless params['Devices'].nil?
2102
+ @Devices = []
2103
+ params['Devices'].each do |i|
2104
+ deviceentry_tmp = DeviceEntry.new
2105
+ deviceentry_tmp.deserialize(i)
2106
+ @Devices << deviceentry_tmp
2107
+ end
2108
+ end
2109
+ @Total = params['Total']
2110
+ @RequestId = params['RequestId']
2111
+ end
2112
+ end
2113
+
2114
+ # GetProduct请求参数结构体
2115
+ class GetProductRequest < TencentCloud::Common::AbstractModel
2116
+ # @param ProductId: 产品Id
2117
+ # @type ProductId: String
2118
+
2119
+ attr_accessor :ProductId
2120
+
2121
+ def initialize(productid=nil)
2122
+ @ProductId = productid
2123
+ end
2124
+
2125
+ def deserialize(params)
2126
+ @ProductId = params['ProductId']
2127
+ end
2128
+ end
2129
+
2130
+ # GetProduct返回参数结构体
2131
+ class GetProductResponse < TencentCloud::Common::AbstractModel
2132
+ # @param Product: 产品信息
2133
+ # @type Product: :class:`Tencentcloud::Iot.v20180123.models.Product`
2134
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
2135
+ # @type RequestId: String
2136
+
2137
+ attr_accessor :Product, :RequestId
2138
+
2139
+ def initialize(product=nil, requestid=nil)
2140
+ @Product = product
2141
+ @RequestId = requestid
2142
+ end
2143
+
2144
+ def deserialize(params)
2145
+ unless params['Product'].nil?
2146
+ @Product = Product.new
2147
+ @Product.deserialize(params['Product'])
2148
+ end
2149
+ @RequestId = params['RequestId']
2150
+ end
2151
+ end
2152
+
2153
+ # GetProducts请求参数结构体
2154
+ class GetProductsRequest < TencentCloud::Common::AbstractModel
2155
+ # @param Offset: 偏移
2156
+ # @type Offset: Integer
2157
+ # @param Length: 长度
2158
+ # @type Length: Integer
2159
+
2160
+ attr_accessor :Offset, :Length
2161
+
2162
+ def initialize(offset=nil, length=nil)
2163
+ @Offset = offset
2164
+ @Length = length
2165
+ end
2166
+
2167
+ def deserialize(params)
2168
+ @Offset = params['Offset']
2169
+ @Length = params['Length']
2170
+ end
2171
+ end
2172
+
2173
+ # GetProducts返回参数结构体
2174
+ class GetProductsResponse < TencentCloud::Common::AbstractModel
2175
+ # @param Products: Product列表
2176
+ # @type Products: Array
2177
+ # @param Total: Product总数
2178
+ # @type Total: Integer
2179
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
2180
+ # @type RequestId: String
2181
+
2182
+ attr_accessor :Products, :Total, :RequestId
2183
+
2184
+ def initialize(products=nil, total=nil, requestid=nil)
2185
+ @Products = products
2186
+ @Total = total
2187
+ @RequestId = requestid
2188
+ end
2189
+
2190
+ def deserialize(params)
2191
+ unless params['Products'].nil?
2192
+ @Products = []
2193
+ params['Products'].each do |i|
2194
+ productentry_tmp = ProductEntry.new
2195
+ productentry_tmp.deserialize(i)
2196
+ @Products << productentry_tmp
2197
+ end
2198
+ end
2199
+ @Total = params['Total']
2200
+ @RequestId = params['RequestId']
2201
+ end
2202
+ end
2203
+
2204
+ # GetRule请求参数结构体
2205
+ class GetRuleRequest < TencentCloud::Common::AbstractModel
2206
+ # @param RuleId: 规则Id
2207
+ # @type RuleId: String
2208
+
2209
+ attr_accessor :RuleId
2210
+
2211
+ def initialize(ruleid=nil)
2212
+ @RuleId = ruleid
2213
+ end
2214
+
2215
+ def deserialize(params)
2216
+ @RuleId = params['RuleId']
2217
+ end
2218
+ end
2219
+
2220
+ # GetRule返回参数结构体
2221
+ class GetRuleResponse < TencentCloud::Common::AbstractModel
2222
+ # @param Rule: 规则
2223
+ # @type Rule: :class:`Tencentcloud::Iot.v20180123.models.Rule`
2224
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
2225
+ # @type RequestId: String
2226
+
2227
+ attr_accessor :Rule, :RequestId
2228
+
2229
+ def initialize(rule=nil, requestid=nil)
2230
+ @Rule = rule
2231
+ @RequestId = requestid
2232
+ end
2233
+
2234
+ def deserialize(params)
2235
+ unless params['Rule'].nil?
2236
+ @Rule = Rule.new
2237
+ @Rule.deserialize(params['Rule'])
2238
+ end
2239
+ @RequestId = params['RequestId']
2240
+ end
2241
+ end
2242
+
2243
+ # GetRules请求参数结构体
2244
+ class GetRulesRequest < TencentCloud::Common::AbstractModel
2245
+ # @param Offset: 偏移
2246
+ # @type Offset: Integer
2247
+ # @param Length: 长度
2248
+ # @type Length: Integer
2249
+
2250
+ attr_accessor :Offset, :Length
2251
+
2252
+ def initialize(offset=nil, length=nil)
2253
+ @Offset = offset
2254
+ @Length = length
2255
+ end
2256
+
2257
+ def deserialize(params)
2258
+ @Offset = params['Offset']
2259
+ @Length = params['Length']
2260
+ end
2261
+ end
2262
+
2263
+ # GetRules返回参数结构体
2264
+ class GetRulesResponse < TencentCloud::Common::AbstractModel
2265
+ # @param Rules: 规则列表
2266
+ # @type Rules: Array
2267
+ # @param Total: 规则总数
2268
+ # @type Total: Integer
2269
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
2270
+ # @type RequestId: String
2271
+
2272
+ attr_accessor :Rules, :Total, :RequestId
2273
+
2274
+ def initialize(rules=nil, total=nil, requestid=nil)
2275
+ @Rules = rules
2276
+ @Total = total
2277
+ @RequestId = requestid
2278
+ end
2279
+
2280
+ def deserialize(params)
2281
+ unless params['Rules'].nil?
2282
+ @Rules = []
2283
+ params['Rules'].each do |i|
2284
+ rule_tmp = Rule.new
2285
+ rule_tmp.deserialize(i)
2286
+ @Rules << rule_tmp
2287
+ end
2288
+ end
2289
+ @Total = params['Total']
2290
+ @RequestId = params['RequestId']
2291
+ end
2292
+ end
2293
+
2294
+ # GetTopic请求参数结构体
2295
+ class GetTopicRequest < TencentCloud::Common::AbstractModel
2296
+ # @param TopicId: TopicId
2297
+ # @type TopicId: String
2298
+ # @param ProductId: 产品Id
2299
+ # @type ProductId: String
2300
+
2301
+ attr_accessor :TopicId, :ProductId
2302
+
2303
+ def initialize(topicid=nil, productid=nil)
2304
+ @TopicId = topicid
2305
+ @ProductId = productid
2306
+ end
2307
+
2308
+ def deserialize(params)
2309
+ @TopicId = params['TopicId']
2310
+ @ProductId = params['ProductId']
2311
+ end
2312
+ end
2313
+
2314
+ # GetTopic返回参数结构体
2315
+ class GetTopicResponse < TencentCloud::Common::AbstractModel
2316
+ # @param Topic: Topic信息
2317
+ # @type Topic: :class:`Tencentcloud::Iot.v20180123.models.Topic`
2318
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
2319
+ # @type RequestId: String
2320
+
2321
+ attr_accessor :Topic, :RequestId
2322
+
2323
+ def initialize(topic=nil, requestid=nil)
2324
+ @Topic = topic
2325
+ @RequestId = requestid
2326
+ end
2327
+
2328
+ def deserialize(params)
2329
+ unless params['Topic'].nil?
2330
+ @Topic = Topic.new
2331
+ @Topic.deserialize(params['Topic'])
2332
+ end
2333
+ @RequestId = params['RequestId']
2334
+ end
2335
+ end
2336
+
2337
+ # GetTopics请求参数结构体
2338
+ class GetTopicsRequest < TencentCloud::Common::AbstractModel
2339
+ # @param ProductId: 产品Id
2340
+ # @type ProductId: String
2341
+ # @param Offset: 偏移
2342
+ # @type Offset: Integer
2343
+ # @param Length: 长度
2344
+ # @type Length: Integer
2345
+
2346
+ attr_accessor :ProductId, :Offset, :Length
2347
+
2348
+ def initialize(productid=nil, offset=nil, length=nil)
2349
+ @ProductId = productid
2350
+ @Offset = offset
2351
+ @Length = length
2352
+ end
2353
+
2354
+ def deserialize(params)
2355
+ @ProductId = params['ProductId']
2356
+ @Offset = params['Offset']
2357
+ @Length = params['Length']
2358
+ end
2359
+ end
2360
+
2361
+ # GetTopics返回参数结构体
2362
+ class GetTopicsResponse < TencentCloud::Common::AbstractModel
2363
+ # @param Topics: Topic列表
2364
+ # @type Topics: Array
2365
+ # @param Total: Topic总数
2366
+ # @type Total: Integer
2367
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
2368
+ # @type RequestId: String
2369
+
2370
+ attr_accessor :Topics, :Total, :RequestId
2371
+
2372
+ def initialize(topics=nil, total=nil, requestid=nil)
2373
+ @Topics = topics
2374
+ @Total = total
2375
+ @RequestId = requestid
2376
+ end
2377
+
2378
+ def deserialize(params)
2379
+ unless params['Topics'].nil?
2380
+ @Topics = []
2381
+ params['Topics'].each do |i|
2382
+ topic_tmp = Topic.new
2383
+ topic_tmp.deserialize(i)
2384
+ @Topics << topic_tmp
2385
+ end
2386
+ end
2387
+ @Total = params['Total']
2388
+ @RequestId = params['RequestId']
2389
+ end
2390
+ end
2391
+
2392
+ # IssueDeviceControl请求参数结构体
2393
+ class IssueDeviceControlRequest < TencentCloud::Common::AbstractModel
2394
+ # @param ProductId: 产品Id
2395
+ # @type ProductId: String
2396
+ # @param DeviceName: 设备名称
2397
+ # @type DeviceName: String
2398
+ # @param ControlData: 控制数据(json)
2399
+ # @type ControlData: String
2400
+ # @param Metadata: 是否发送metadata字段
2401
+ # @type Metadata: Boolean
2402
+
2403
+ attr_accessor :ProductId, :DeviceName, :ControlData, :Metadata
2404
+
2405
+ def initialize(productid=nil, devicename=nil, controldata=nil, metadata=nil)
2406
+ @ProductId = productid
2407
+ @DeviceName = devicename
2408
+ @ControlData = controldata
2409
+ @Metadata = metadata
2410
+ end
2411
+
2412
+ def deserialize(params)
2413
+ @ProductId = params['ProductId']
2414
+ @DeviceName = params['DeviceName']
2415
+ @ControlData = params['ControlData']
2416
+ @Metadata = params['Metadata']
2417
+ end
2418
+ end
2419
+
2420
+ # IssueDeviceControl返回参数结构体
2421
+ class IssueDeviceControlResponse < TencentCloud::Common::AbstractModel
2422
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
2423
+ # @type RequestId: String
2424
+
2425
+ attr_accessor :RequestId
2426
+
2427
+ def initialize(requestid=nil)
2428
+ @RequestId = requestid
2429
+ end
2430
+
2431
+ def deserialize(params)
2432
+ @RequestId = params['RequestId']
2433
+ end
2434
+ end
2435
+
2436
+ # 数字类型数据
2437
+ class NumberData < TencentCloud::Common::AbstractModel
2438
+ # @param Name: 名称
2439
+ # @type Name: String
2440
+ # @param Desc: 描述
2441
+ # @type Desc: String
2442
+ # @param Mode: 读写模式
2443
+ # @type Mode: String
2444
+ # @param Range: 取值范围
2445
+ # @type Range: Array
2446
+
2447
+ attr_accessor :Name, :Desc, :Mode, :Range
2448
+
2449
+ def initialize(name=nil, desc=nil, mode=nil, range=nil)
2450
+ @Name = name
2451
+ @Desc = desc
2452
+ @Mode = mode
2453
+ @Range = range
2454
+ end
2455
+
2456
+ def deserialize(params)
2457
+ @Name = params['Name']
2458
+ @Desc = params['Desc']
2459
+ @Mode = params['Mode']
2460
+ @Range = params['Range']
2461
+ end
2462
+ end
2463
+
2464
+ # 产品
2465
+ class Product < TencentCloud::Common::AbstractModel
2466
+ # @param ProductId: 产品Id
2467
+ # @type ProductId: String
2468
+ # @param ProductKey: 产品Key
2469
+ # @type ProductKey: String
2470
+ # @param AppId: AppId
2471
+ # @type AppId: Integer
2472
+ # @param Name: 产品名称
2473
+ # @type Name: String
2474
+ # @param Description: 产品描述
2475
+ # @type Description: String
2476
+ # @param Domain: 连接域名
2477
+ # @type Domain: String
2478
+ # @param Standard: 产品规格
2479
+ # @type Standard: Integer
2480
+ # @param AuthType: 鉴权类型(0:直连,1:Token)
2481
+ # @type AuthType: Integer
2482
+ # @param Deleted: 删除(0未删除)
2483
+ # @type Deleted: Integer
2484
+ # @param Message: 备注
2485
+ # @type Message: String
2486
+ # @param CreateTime: 创建时间
2487
+ # @type CreateTime: String
2488
+ # @param UpdateTime: 更新时间
2489
+ # @type UpdateTime: String
2490
+ # @param DataTemplate: 数据模版
2491
+ # @type DataTemplate: Array
2492
+ # @param DataProtocol: 数据协议(native/template)
2493
+ # @type DataProtocol: String
2494
+ # @param Username: 直连用户名
2495
+ # @type Username: String
2496
+ # @param Password: 直连密码
2497
+ # @type Password: String
2498
+ # @param CommProtocol: 通信方式
2499
+ # @type CommProtocol: String
2500
+ # @param Qps: qps
2501
+ # @type Qps: Integer
2502
+ # @param Region: 地域
2503
+ # @type Region: String
2504
+ # @param DeviceType: 产品的设备类型
2505
+ # @type DeviceType: String
2506
+ # @param AssociatedProducts: 关联的产品列表
2507
+ # @type AssociatedProducts: Array
2508
+
2509
+ attr_accessor :ProductId, :ProductKey, :AppId, :Name, :Description, :Domain, :Standard, :AuthType, :Deleted, :Message, :CreateTime, :UpdateTime, :DataTemplate, :DataProtocol, :Username, :Password, :CommProtocol, :Qps, :Region, :DeviceType, :AssociatedProducts
2510
+
2511
+ def initialize(productid=nil, productkey=nil, appid=nil, name=nil, description=nil, domain=nil, standard=nil, authtype=nil, deleted=nil, message=nil, createtime=nil, updatetime=nil, datatemplate=nil, dataprotocol=nil, username=nil, password=nil, commprotocol=nil, qps=nil, region=nil, devicetype=nil, associatedproducts=nil)
2512
+ @ProductId = productid
2513
+ @ProductKey = productkey
2514
+ @AppId = appid
2515
+ @Name = name
2516
+ @Description = description
2517
+ @Domain = domain
2518
+ @Standard = standard
2519
+ @AuthType = authtype
2520
+ @Deleted = deleted
2521
+ @Message = message
2522
+ @CreateTime = createtime
2523
+ @UpdateTime = updatetime
2524
+ @DataTemplate = datatemplate
2525
+ @DataProtocol = dataprotocol
2526
+ @Username = username
2527
+ @Password = password
2528
+ @CommProtocol = commprotocol
2529
+ @Qps = qps
2530
+ @Region = region
2531
+ @DeviceType = devicetype
2532
+ @AssociatedProducts = associatedproducts
2533
+ end
2534
+
2535
+ def deserialize(params)
2536
+ @ProductId = params['ProductId']
2537
+ @ProductKey = params['ProductKey']
2538
+ @AppId = params['AppId']
2539
+ @Name = params['Name']
2540
+ @Description = params['Description']
2541
+ @Domain = params['Domain']
2542
+ @Standard = params['Standard']
2543
+ @AuthType = params['AuthType']
2544
+ @Deleted = params['Deleted']
2545
+ @Message = params['Message']
2546
+ @CreateTime = params['CreateTime']
2547
+ @UpdateTime = params['UpdateTime']
2548
+ unless params['DataTemplate'].nil?
2549
+ @DataTemplate = []
2550
+ params['DataTemplate'].each do |i|
2551
+ datatemplate_tmp = DataTemplate.new
2552
+ datatemplate_tmp.deserialize(i)
2553
+ @DataTemplate << datatemplate_tmp
2554
+ end
2555
+ end
2556
+ @DataProtocol = params['DataProtocol']
2557
+ @Username = params['Username']
2558
+ @Password = params['Password']
2559
+ @CommProtocol = params['CommProtocol']
2560
+ @Qps = params['Qps']
2561
+ @Region = params['Region']
2562
+ @DeviceType = params['DeviceType']
2563
+ @AssociatedProducts = params['AssociatedProducts']
2564
+ end
2565
+ end
2566
+
2567
+ # 产品条目
2568
+ class ProductEntry < TencentCloud::Common::AbstractModel
2569
+ # @param ProductId: 产品Id
2570
+ # @type ProductId: String
2571
+ # @param ProductKey: 产品Key
2572
+ # @type ProductKey: String
2573
+ # @param AppId: AppId
2574
+ # @type AppId: Integer
2575
+ # @param Name: 产品名称
2576
+ # @type Name: String
2577
+ # @param Description: 产品描述
2578
+ # @type Description: String
2579
+ # @param Domain: 连接域名
2580
+ # @type Domain: String
2581
+ # @param AuthType: 鉴权类型(0:直连,1:Token)
2582
+ # @type AuthType: Integer
2583
+ # @param DataProtocol: 数据协议(native/template)
2584
+ # @type DataProtocol: String
2585
+ # @param Deleted: 删除(0未删除)
2586
+ # @type Deleted: Integer
2587
+ # @param Message: 备注
2588
+ # @type Message: String
2589
+ # @param CreateTime: 创建时间
2590
+ # @type CreateTime: String
2591
+ # @param CommProtocol: 通信方式
2592
+ # @type CommProtocol: String
2593
+ # @param Region: 地域
2594
+ # @type Region: String
2595
+ # @param DeviceType: 设备类型
2596
+ # @type DeviceType: String
2597
+
2598
+ attr_accessor :ProductId, :ProductKey, :AppId, :Name, :Description, :Domain, :AuthType, :DataProtocol, :Deleted, :Message, :CreateTime, :CommProtocol, :Region, :DeviceType
2599
+
2600
+ def initialize(productid=nil, productkey=nil, appid=nil, name=nil, description=nil, domain=nil, authtype=nil, dataprotocol=nil, deleted=nil, message=nil, createtime=nil, commprotocol=nil, region=nil, devicetype=nil)
2601
+ @ProductId = productid
2602
+ @ProductKey = productkey
2603
+ @AppId = appid
2604
+ @Name = name
2605
+ @Description = description
2606
+ @Domain = domain
2607
+ @AuthType = authtype
2608
+ @DataProtocol = dataprotocol
2609
+ @Deleted = deleted
2610
+ @Message = message
2611
+ @CreateTime = createtime
2612
+ @CommProtocol = commprotocol
2613
+ @Region = region
2614
+ @DeviceType = devicetype
2615
+ end
2616
+
2617
+ def deserialize(params)
2618
+ @ProductId = params['ProductId']
2619
+ @ProductKey = params['ProductKey']
2620
+ @AppId = params['AppId']
2621
+ @Name = params['Name']
2622
+ @Description = params['Description']
2623
+ @Domain = params['Domain']
2624
+ @AuthType = params['AuthType']
2625
+ @DataProtocol = params['DataProtocol']
2626
+ @Deleted = params['Deleted']
2627
+ @Message = params['Message']
2628
+ @CreateTime = params['CreateTime']
2629
+ @CommProtocol = params['CommProtocol']
2630
+ @Region = params['Region']
2631
+ @DeviceType = params['DeviceType']
2632
+ end
2633
+ end
2634
+
2635
+ # PublishMsg请求参数结构体
2636
+ class PublishMsgRequest < TencentCloud::Common::AbstractModel
2637
+ # @param Topic: Topic
2638
+ # @type Topic: String
2639
+ # @param Message: 消息内容
2640
+ # @type Message: String
2641
+ # @param Qos: Qos(目前QoS支持0与1)
2642
+ # @type Qos: Integer
2643
+
2644
+ attr_accessor :Topic, :Message, :Qos
2645
+
2646
+ def initialize(topic=nil, message=nil, qos=nil)
2647
+ @Topic = topic
2648
+ @Message = message
2649
+ @Qos = qos
2650
+ end
2651
+
2652
+ def deserialize(params)
2653
+ @Topic = params['Topic']
2654
+ @Message = params['Message']
2655
+ @Qos = params['Qos']
2656
+ end
2657
+ end
2658
+
2659
+ # PublishMsg返回参数结构体
2660
+ class PublishMsgResponse < TencentCloud::Common::AbstractModel
2661
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
2662
+ # @type RequestId: String
2663
+
2664
+ attr_accessor :RequestId
2665
+
2666
+ def initialize(requestid=nil)
2667
+ @RequestId = requestid
2668
+ end
2669
+
2670
+ def deserialize(params)
2671
+ @RequestId = params['RequestId']
2672
+ end
2673
+ end
2674
+
2675
+ # ResetDevice请求参数结构体
2676
+ class ResetDeviceRequest < TencentCloud::Common::AbstractModel
2677
+ # @param ProductId: 产品Id
2678
+ # @type ProductId: String
2679
+ # @param DeviceName: 设备名称
2680
+ # @type DeviceName: String
2681
+
2682
+ attr_accessor :ProductId, :DeviceName
2683
+
2684
+ def initialize(productid=nil, devicename=nil)
2685
+ @ProductId = productid
2686
+ @DeviceName = devicename
2687
+ end
2688
+
2689
+ def deserialize(params)
2690
+ @ProductId = params['ProductId']
2691
+ @DeviceName = params['DeviceName']
2692
+ end
2693
+ end
2694
+
2695
+ # ResetDevice返回参数结构体
2696
+ class ResetDeviceResponse < TencentCloud::Common::AbstractModel
2697
+ # @param Device: 设备信息
2698
+ # @type Device: :class:`Tencentcloud::Iot.v20180123.models.Device`
2699
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
2700
+ # @type RequestId: String
2701
+
2702
+ attr_accessor :Device, :RequestId
2703
+
2704
+ def initialize(device=nil, requestid=nil)
2705
+ @Device = device
2706
+ @RequestId = requestid
2707
+ end
2708
+
2709
+ def deserialize(params)
2710
+ unless params['Device'].nil?
2711
+ @Device = Device.new
2712
+ @Device.deserialize(params['Device'])
2713
+ end
2714
+ @RequestId = params['RequestId']
2715
+ end
2716
+ end
2717
+
2718
+ # 规则
2719
+ class Rule < TencentCloud::Common::AbstractModel
2720
+ # @param RuleId: 规则Id
2721
+ # @type RuleId: String
2722
+ # @param AppId: AppId
2723
+ # @type AppId: Integer
2724
+ # @param Name: 名称
2725
+ # @type Name: String
2726
+ # @param Description: 描述
2727
+ # @type Description: String
2728
+ # @param Query: 查询
2729
+ # @type Query: :class:`Tencentcloud::Iot.v20180123.models.RuleQuery`
2730
+ # @param Actions: 转发
2731
+ # @type Actions: Array
2732
+ # @param Active: 已启动
2733
+ # @type Active: Integer
2734
+ # @param Deleted: 已删除
2735
+ # @type Deleted: Integer
2736
+ # @param CreateTime: 创建时间
2737
+ # @type CreateTime: String
2738
+ # @param UpdateTime: 更新时间
2739
+ # @type UpdateTime: String
2740
+ # @param MsgOrder: 消息顺序
2741
+ # @type MsgOrder: Integer
2742
+ # @param DataType: 数据类型(0:文本,1:二进制)
2743
+ # @type DataType: Integer
2744
+
2745
+ attr_accessor :RuleId, :AppId, :Name, :Description, :Query, :Actions, :Active, :Deleted, :CreateTime, :UpdateTime, :MsgOrder, :DataType
2746
+
2747
+ def initialize(ruleid=nil, appid=nil, name=nil, description=nil, query=nil, actions=nil, active=nil, deleted=nil, createtime=nil, updatetime=nil, msgorder=nil, datatype=nil)
2748
+ @RuleId = ruleid
2749
+ @AppId = appid
2750
+ @Name = name
2751
+ @Description = description
2752
+ @Query = query
2753
+ @Actions = actions
2754
+ @Active = active
2755
+ @Deleted = deleted
2756
+ @CreateTime = createtime
2757
+ @UpdateTime = updatetime
2758
+ @MsgOrder = msgorder
2759
+ @DataType = datatype
2760
+ end
2761
+
2762
+ def deserialize(params)
2763
+ @RuleId = params['RuleId']
2764
+ @AppId = params['AppId']
2765
+ @Name = params['Name']
2766
+ @Description = params['Description']
2767
+ unless params['Query'].nil?
2768
+ @Query = RuleQuery.new
2769
+ @Query.deserialize(params['Query'])
2770
+ end
2771
+ unless params['Actions'].nil?
2772
+ @Actions = []
2773
+ params['Actions'].each do |i|
2774
+ action_tmp = Action.new
2775
+ action_tmp.deserialize(i)
2776
+ @Actions << action_tmp
2777
+ end
2778
+ end
2779
+ @Active = params['Active']
2780
+ @Deleted = params['Deleted']
2781
+ @CreateTime = params['CreateTime']
2782
+ @UpdateTime = params['UpdateTime']
2783
+ @MsgOrder = params['MsgOrder']
2784
+ @DataType = params['DataType']
2785
+ end
2786
+ end
2787
+
2788
+ # 查询
2789
+ class RuleQuery < TencentCloud::Common::AbstractModel
2790
+ # @param Field: 字段
2791
+ # @type Field: String
2792
+ # @param Condition: 过滤规则
2793
+ # @type Condition: String
2794
+ # @param Topic: Topic
2795
+ # 注意:此字段可能返回 null,表示取不到有效值。
2796
+ # @type Topic: String
2797
+ # @param ProductId: 产品Id
2798
+ # 注意:此字段可能返回 null,表示取不到有效值。
2799
+ # @type ProductId: String
2800
+
2801
+ attr_accessor :Field, :Condition, :Topic, :ProductId
2802
+
2803
+ def initialize(field=nil, condition=nil, topic=nil, productid=nil)
2804
+ @Field = field
2805
+ @Condition = condition
2806
+ @Topic = topic
2807
+ @ProductId = productid
2808
+ end
2809
+
2810
+ def deserialize(params)
2811
+ @Field = params['Field']
2812
+ @Condition = params['Condition']
2813
+ @Topic = params['Topic']
2814
+ @ProductId = params['ProductId']
2815
+ end
2816
+ end
2817
+
2818
+ # 转发到第三方http(s)服务
2819
+ class ServiceAction < TencentCloud::Common::AbstractModel
2820
+ # @param Url: 服务url地址
2821
+ # @type Url: String
2822
+
2823
+ attr_accessor :Url
2824
+
2825
+ def initialize(url=nil)
2826
+ @Url = url
2827
+ end
2828
+
2829
+ def deserialize(params)
2830
+ @Url = params['Url']
2831
+ end
2832
+ end
2833
+
2834
+ # 数字类型数据
2835
+ class StringData < TencentCloud::Common::AbstractModel
2836
+ # @param Name: 名称
2837
+ # @type Name: String
2838
+ # @param Desc: 描述
2839
+ # @type Desc: String
2840
+ # @param Mode: 读写模式
2841
+ # @type Mode: String
2842
+ # @param Range: 长度范围
2843
+ # @type Range: Array
2844
+
2845
+ attr_accessor :Name, :Desc, :Mode, :Range
2846
+
2847
+ def initialize(name=nil, desc=nil, mode=nil, range=nil)
2848
+ @Name = name
2849
+ @Desc = desc
2850
+ @Mode = mode
2851
+ @Range = range
2852
+ end
2853
+
2854
+ def deserialize(params)
2855
+ @Name = params['Name']
2856
+ @Desc = params['Desc']
2857
+ @Mode = params['Mode']
2858
+ @Range = params['Range']
2859
+ end
2860
+ end
2861
+
2862
+ # Topic
2863
+ class Topic < TencentCloud::Common::AbstractModel
2864
+ # @param TopicId: TopicId
2865
+ # @type TopicId: String
2866
+ # @param TopicName: Topic名称
2867
+ # @type TopicName: String
2868
+ # @param ProductId: 产品Id
2869
+ # @type ProductId: String
2870
+ # @param MsgLife: 消息最大生命周期
2871
+ # @type MsgLife: Integer
2872
+ # @param MsgSize: 消息最大大小
2873
+ # @type MsgSize: Integer
2874
+ # @param MsgCount: 消息最大数量
2875
+ # @type MsgCount: Integer
2876
+ # @param Deleted: 已删除
2877
+ # @type Deleted: Integer
2878
+ # @param Path: Topic完整路径
2879
+ # @type Path: String
2880
+ # @param CreateTime: 创建时间
2881
+ # @type CreateTime: String
2882
+ # @param UpdateTime: 更新时间
2883
+ # @type UpdateTime: String
2884
+
2885
+ attr_accessor :TopicId, :TopicName, :ProductId, :MsgLife, :MsgSize, :MsgCount, :Deleted, :Path, :CreateTime, :UpdateTime
2886
+
2887
+ def initialize(topicid=nil, topicname=nil, productid=nil, msglife=nil, msgsize=nil, msgcount=nil, deleted=nil, path=nil, createtime=nil, updatetime=nil)
2888
+ @TopicId = topicid
2889
+ @TopicName = topicname
2890
+ @ProductId = productid
2891
+ @MsgLife = msglife
2892
+ @MsgSize = msgsize
2893
+ @MsgCount = msgcount
2894
+ @Deleted = deleted
2895
+ @Path = path
2896
+ @CreateTime = createtime
2897
+ @UpdateTime = updatetime
2898
+ end
2899
+
2900
+ def deserialize(params)
2901
+ @TopicId = params['TopicId']
2902
+ @TopicName = params['TopicName']
2903
+ @ProductId = params['ProductId']
2904
+ @MsgLife = params['MsgLife']
2905
+ @MsgSize = params['MsgSize']
2906
+ @MsgCount = params['MsgCount']
2907
+ @Deleted = params['Deleted']
2908
+ @Path = params['Path']
2909
+ @CreateTime = params['CreateTime']
2910
+ @UpdateTime = params['UpdateTime']
2911
+ end
2912
+ end
2913
+
2914
+ # 转发到topic动作
2915
+ class TopicAction < TencentCloud::Common::AbstractModel
2916
+ # @param Topic: 目标topic
2917
+ # @type Topic: String
2918
+
2919
+ attr_accessor :Topic
2920
+
2921
+ def initialize(topic=nil)
2922
+ @Topic = topic
2923
+ end
2924
+
2925
+ def deserialize(params)
2926
+ @Topic = params['Topic']
2927
+ end
2928
+ end
2929
+
2930
+ # UnassociateSubDeviceFromGatewayProduct请求参数结构体
2931
+ class UnassociateSubDeviceFromGatewayProductRequest < TencentCloud::Common::AbstractModel
2932
+ # @param SubDeviceProductId: 子设备产品Id
2933
+ # @type SubDeviceProductId: String
2934
+ # @param GatewayProductId: 网关设备产品Id
2935
+ # @type GatewayProductId: String
2936
+
2937
+ attr_accessor :SubDeviceProductId, :GatewayProductId
2938
+
2939
+ def initialize(subdeviceproductid=nil, gatewayproductid=nil)
2940
+ @SubDeviceProductId = subdeviceproductid
2941
+ @GatewayProductId = gatewayproductid
2942
+ end
2943
+
2944
+ def deserialize(params)
2945
+ @SubDeviceProductId = params['SubDeviceProductId']
2946
+ @GatewayProductId = params['GatewayProductId']
2947
+ end
2948
+ end
2949
+
2950
+ # UnassociateSubDeviceFromGatewayProduct返回参数结构体
2951
+ class UnassociateSubDeviceFromGatewayProductResponse < TencentCloud::Common::AbstractModel
2952
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
2953
+ # @type RequestId: String
2954
+
2955
+ attr_accessor :RequestId
2956
+
2957
+ def initialize(requestid=nil)
2958
+ @RequestId = requestid
2959
+ end
2960
+
2961
+ def deserialize(params)
2962
+ @RequestId = params['RequestId']
2963
+ end
2964
+ end
2965
+
2966
+ # UpdateProduct请求参数结构体
2967
+ class UpdateProductRequest < TencentCloud::Common::AbstractModel
2968
+ # @param ProductId: 产品Id
2969
+ # @type ProductId: String
2970
+ # @param Name: 产品名称
2971
+ # @type Name: String
2972
+ # @param Description: 产品描述
2973
+ # @type Description: String
2974
+ # @param DataTemplate: 数据模版
2975
+ # @type DataTemplate: Array
2976
+
2977
+ attr_accessor :ProductId, :Name, :Description, :DataTemplate
2978
+
2979
+ def initialize(productid=nil, name=nil, description=nil, datatemplate=nil)
2980
+ @ProductId = productid
2981
+ @Name = name
2982
+ @Description = description
2983
+ @DataTemplate = datatemplate
2984
+ end
2985
+
2986
+ def deserialize(params)
2987
+ @ProductId = params['ProductId']
2988
+ @Name = params['Name']
2989
+ @Description = params['Description']
2990
+ unless params['DataTemplate'].nil?
2991
+ @DataTemplate = []
2992
+ params['DataTemplate'].each do |i|
2993
+ datatemplate_tmp = DataTemplate.new
2994
+ datatemplate_tmp.deserialize(i)
2995
+ @DataTemplate << datatemplate_tmp
2996
+ end
2997
+ end
2998
+ end
2999
+ end
3000
+
3001
+ # UpdateProduct返回参数结构体
3002
+ class UpdateProductResponse < TencentCloud::Common::AbstractModel
3003
+ # @param Product: 更新后的产品信息
3004
+ # @type Product: :class:`Tencentcloud::Iot.v20180123.models.Product`
3005
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
3006
+ # @type RequestId: String
3007
+
3008
+ attr_accessor :Product, :RequestId
3009
+
3010
+ def initialize(product=nil, requestid=nil)
3011
+ @Product = product
3012
+ @RequestId = requestid
3013
+ end
3014
+
3015
+ def deserialize(params)
3016
+ unless params['Product'].nil?
3017
+ @Product = Product.new
3018
+ @Product.deserialize(params['Product'])
3019
+ end
3020
+ @RequestId = params['RequestId']
3021
+ end
3022
+ end
3023
+
3024
+ # UpdateRule请求参数结构体
3025
+ class UpdateRuleRequest < TencentCloud::Common::AbstractModel
3026
+ # @param RuleId: 规则Id
3027
+ # @type RuleId: String
3028
+ # @param Name: 名称
3029
+ # @type Name: String
3030
+ # @param Description: 描述
3031
+ # @type Description: String
3032
+ # @param Query: 查询
3033
+ # @type Query: :class:`Tencentcloud::Iot.v20180123.models.RuleQuery`
3034
+ # @param Actions: 转发动作列表
3035
+ # @type Actions: Array
3036
+ # @param DataType: 数据类型(0:文本,1:二进制)
3037
+ # @type DataType: Integer
3038
+
3039
+ attr_accessor :RuleId, :Name, :Description, :Query, :Actions, :DataType
3040
+
3041
+ def initialize(ruleid=nil, name=nil, description=nil, query=nil, actions=nil, datatype=nil)
3042
+ @RuleId = ruleid
3043
+ @Name = name
3044
+ @Description = description
3045
+ @Query = query
3046
+ @Actions = actions
3047
+ @DataType = datatype
3048
+ end
3049
+
3050
+ def deserialize(params)
3051
+ @RuleId = params['RuleId']
3052
+ @Name = params['Name']
3053
+ @Description = params['Description']
3054
+ unless params['Query'].nil?
3055
+ @Query = RuleQuery.new
3056
+ @Query.deserialize(params['Query'])
3057
+ end
3058
+ unless params['Actions'].nil?
3059
+ @Actions = []
3060
+ params['Actions'].each do |i|
3061
+ action_tmp = Action.new
3062
+ action_tmp.deserialize(i)
3063
+ @Actions << action_tmp
3064
+ end
3065
+ end
3066
+ @DataType = params['DataType']
3067
+ end
3068
+ end
3069
+
3070
+ # UpdateRule返回参数结构体
3071
+ class UpdateRuleResponse < TencentCloud::Common::AbstractModel
3072
+ # @param Rule: 规则
3073
+ # @type Rule: :class:`Tencentcloud::Iot.v20180123.models.Rule`
3074
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
3075
+ # @type RequestId: String
3076
+
3077
+ attr_accessor :Rule, :RequestId
3078
+
3079
+ def initialize(rule=nil, requestid=nil)
3080
+ @Rule = rule
3081
+ @RequestId = requestid
3082
+ end
3083
+
3084
+ def deserialize(params)
3085
+ unless params['Rule'].nil?
3086
+ @Rule = Rule.new
3087
+ @Rule.deserialize(params['Rule'])
3088
+ end
3089
+ @RequestId = params['RequestId']
3090
+ end
3091
+ end
3092
+
3093
+ end
3094
+ end
3095
+ end
3096
+