tencentcloud-sdk-iot 1.0.200

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