tencentcloud-sdk-iot 1.0.200

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,1116 @@
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
+ require 'json'
18
+
19
+ module TencentCloud
20
+ module Iot
21
+ module V20180123
22
+ class Client < TencentCloud::Common::AbstractClient
23
+
24
+ def initialize(credential, region, profile = nil)
25
+ api_version = '2018-01-23'
26
+ api_endpoint = 'iot.tencentcloudapi.com'
27
+ sdk_version = 'IOT_' + File.read(File.expand_path('../VERSION', __dir__)).strip
28
+ super(credential, region, api_version, api_endpoint, sdk_version, profile)
29
+ end
30
+
31
+
32
+ # 启用规则
33
+
34
+ # @param request: Request instance for ActivateRule.
35
+ # @type request: :class:`Tencentcloud::iot::V20180123::ActivateRuleRequest`
36
+ # @rtype: :class:`Tencentcloud::iot::V20180123::ActivateRuleResponse`
37
+ def ActivateRule(request)
38
+ body = send_request('ActivateRule', request.serialize)
39
+ response = JSON.parse(body)
40
+ if response['Response'].key?('Error') == false
41
+ model = ActivateRuleResponse.new
42
+ model.deserialize(response['Response'])
43
+ model
44
+ else
45
+ code = response['Response']['Error']['Code']
46
+ message = response['Response']['Error']['Message']
47
+ reqid = response['Response']['RequestId']
48
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
49
+ end
50
+ rescue TencentCloud::Common::TencentCloudSDKException => e
51
+ raise e
52
+ rescue StandardError => e
53
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
54
+ end
55
+
56
+ # 提供在指定的产品Id下创建一个设备的能力,生成设备名称与设备秘钥。
57
+
58
+ # @param request: Request instance for AddDevice.
59
+ # @type request: :class:`Tencentcloud::iot::V20180123::AddDeviceRequest`
60
+ # @rtype: :class:`Tencentcloud::iot::V20180123::AddDeviceResponse`
61
+ def AddDevice(request)
62
+ body = send_request('AddDevice', request.serialize)
63
+ response = JSON.parse(body)
64
+ if response['Response'].key?('Error') == false
65
+ model = AddDeviceResponse.new
66
+ model.deserialize(response['Response'])
67
+ model
68
+ else
69
+ code = response['Response']['Error']['Code']
70
+ message = response['Response']['Error']['Message']
71
+ reqid = response['Response']['RequestId']
72
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
73
+ end
74
+ rescue TencentCloud::Common::TencentCloudSDKException => e
75
+ raise e
76
+ rescue StandardError => e
77
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
78
+ end
79
+
80
+ # 本接口(AddProduct)用于创建、定义某款硬件产品。
81
+
82
+ # @param request: Request instance for AddProduct.
83
+ # @type request: :class:`Tencentcloud::iot::V20180123::AddProductRequest`
84
+ # @rtype: :class:`Tencentcloud::iot::V20180123::AddProductResponse`
85
+ def AddProduct(request)
86
+ body = send_request('AddProduct', request.serialize)
87
+ response = JSON.parse(body)
88
+ if response['Response'].key?('Error') == false
89
+ model = AddProductResponse.new
90
+ model.deserialize(response['Response'])
91
+ model
92
+ else
93
+ code = response['Response']['Error']['Code']
94
+ message = response['Response']['Error']['Message']
95
+ reqid = response['Response']['RequestId']
96
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
97
+ end
98
+ rescue TencentCloud::Common::TencentCloudSDKException => e
99
+ raise e
100
+ rescue StandardError => e
101
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
102
+ end
103
+
104
+ # 新增规则
105
+
106
+ # @param request: Request instance for AddRule.
107
+ # @type request: :class:`Tencentcloud::iot::V20180123::AddRuleRequest`
108
+ # @rtype: :class:`Tencentcloud::iot::V20180123::AddRuleResponse`
109
+ def AddRule(request)
110
+ body = send_request('AddRule', request.serialize)
111
+ response = JSON.parse(body)
112
+ if response['Response'].key?('Error') == false
113
+ model = AddRuleResponse.new
114
+ model.deserialize(response['Response'])
115
+ model
116
+ else
117
+ code = response['Response']['Error']['Code']
118
+ message = response['Response']['Error']['Message']
119
+ reqid = response['Response']['RequestId']
120
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
121
+ end
122
+ rescue TencentCloud::Common::TencentCloudSDKException => e
123
+ raise e
124
+ rescue StandardError => e
125
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
126
+ end
127
+
128
+ # 新增Topic,用于设备或应用发布消息至该Topic或订阅该Topic的消息。
129
+
130
+ # @param request: Request instance for AddTopic.
131
+ # @type request: :class:`Tencentcloud::iot::V20180123::AddTopicRequest`
132
+ # @rtype: :class:`Tencentcloud::iot::V20180123::AddTopicResponse`
133
+ def AddTopic(request)
134
+ body = send_request('AddTopic', request.serialize)
135
+ response = JSON.parse(body)
136
+ if response['Response'].key?('Error') == false
137
+ model = AddTopicResponse.new
138
+ model.deserialize(response['Response'])
139
+ model
140
+ else
141
+ code = response['Response']['Error']['Code']
142
+ message = response['Response']['Error']['Message']
143
+ reqid = response['Response']['RequestId']
144
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
145
+ end
146
+ rescue TencentCloud::Common::TencentCloudSDKException => e
147
+ raise e
148
+ rescue StandardError => e
149
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
150
+ end
151
+
152
+ # 为APP提供用户注册功能
153
+
154
+ # @param request: Request instance for AppAddUser.
155
+ # @type request: :class:`Tencentcloud::iot::V20180123::AppAddUserRequest`
156
+ # @rtype: :class:`Tencentcloud::iot::V20180123::AppAddUserResponse`
157
+ def AppAddUser(request)
158
+ body = send_request('AppAddUser', request.serialize)
159
+ response = JSON.parse(body)
160
+ if response['Response'].key?('Error') == false
161
+ model = AppAddUserResponse.new
162
+ model.deserialize(response['Response'])
163
+ model
164
+ else
165
+ code = response['Response']['Error']['Code']
166
+ message = response['Response']['Error']['Message']
167
+ reqid = response['Response']['RequestId']
168
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
169
+ end
170
+ rescue TencentCloud::Common::TencentCloudSDKException => e
171
+ raise e
172
+ rescue StandardError => e
173
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
174
+ end
175
+
176
+ # 用户解除与设备的关联关系,解除后APP用户无法控制设备,获取设备数据
177
+
178
+ # @param request: Request instance for AppDeleteDevice.
179
+ # @type request: :class:`Tencentcloud::iot::V20180123::AppDeleteDeviceRequest`
180
+ # @rtype: :class:`Tencentcloud::iot::V20180123::AppDeleteDeviceResponse`
181
+ def AppDeleteDevice(request)
182
+ body = send_request('AppDeleteDevice', request.serialize)
183
+ response = JSON.parse(body)
184
+ if response['Response'].key?('Error') == false
185
+ model = AppDeleteDeviceResponse.new
186
+ model.deserialize(response['Response'])
187
+ model
188
+ else
189
+ code = response['Response']['Error']['Code']
190
+ message = response['Response']['Error']['Message']
191
+ reqid = response['Response']['RequestId']
192
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
193
+ end
194
+ rescue TencentCloud::Common::TencentCloudSDKException => e
195
+ raise e
196
+ rescue StandardError => e
197
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
198
+ end
199
+
200
+ # 获取绑定设备的基本信息与数据模板定义
201
+
202
+ # @param request: Request instance for AppGetDevice.
203
+ # @type request: :class:`Tencentcloud::iot::V20180123::AppGetDeviceRequest`
204
+ # @rtype: :class:`Tencentcloud::iot::V20180123::AppGetDeviceResponse`
205
+ def AppGetDevice(request)
206
+ body = send_request('AppGetDevice', request.serialize)
207
+ response = JSON.parse(body)
208
+ if response['Response'].key?('Error') == false
209
+ model = AppGetDeviceResponse.new
210
+ model.deserialize(response['Response'])
211
+ model
212
+ else
213
+ code = response['Response']['Error']['Code']
214
+ message = response['Response']['Error']['Message']
215
+ reqid = response['Response']['RequestId']
216
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
217
+ end
218
+ rescue TencentCloud::Common::TencentCloudSDKException => e
219
+ raise e
220
+ rescue StandardError => e
221
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
222
+ end
223
+
224
+ # 获取绑定设备数据,用于实时展示设备的最新数据
225
+
226
+ # @param request: Request instance for AppGetDeviceData.
227
+ # @type request: :class:`Tencentcloud::iot::V20180123::AppGetDeviceDataRequest`
228
+ # @rtype: :class:`Tencentcloud::iot::V20180123::AppGetDeviceDataResponse`
229
+ def AppGetDeviceData(request)
230
+ body = send_request('AppGetDeviceData', request.serialize)
231
+ response = JSON.parse(body)
232
+ if response['Response'].key?('Error') == false
233
+ model = AppGetDeviceDataResponse.new
234
+ model.deserialize(response['Response'])
235
+ model
236
+ else
237
+ code = response['Response']['Error']['Code']
238
+ message = response['Response']['Error']['Message']
239
+ reqid = response['Response']['RequestId']
240
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
241
+ end
242
+ rescue TencentCloud::Common::TencentCloudSDKException => e
243
+ raise e
244
+ rescue StandardError => e
245
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
246
+ end
247
+
248
+ # 获取绑定设备的上下线状态
249
+
250
+ # @param request: Request instance for AppGetDeviceStatuses.
251
+ # @type request: :class:`Tencentcloud::iot::V20180123::AppGetDeviceStatusesRequest`
252
+ # @rtype: :class:`Tencentcloud::iot::V20180123::AppGetDeviceStatusesResponse`
253
+ def AppGetDeviceStatuses(request)
254
+ body = send_request('AppGetDeviceStatuses', request.serialize)
255
+ response = JSON.parse(body)
256
+ if response['Response'].key?('Error') == false
257
+ model = AppGetDeviceStatusesResponse.new
258
+ model.deserialize(response['Response'])
259
+ model
260
+ else
261
+ code = response['Response']['Error']['Code']
262
+ message = response['Response']['Error']['Message']
263
+ reqid = response['Response']['RequestId']
264
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
265
+ end
266
+ rescue TencentCloud::Common::TencentCloudSDKException => e
267
+ raise e
268
+ rescue StandardError => e
269
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
270
+ end
271
+
272
+ # 获取用户的绑定设备列表
273
+
274
+ # @param request: Request instance for AppGetDevices.
275
+ # @type request: :class:`Tencentcloud::iot::V20180123::AppGetDevicesRequest`
276
+ # @rtype: :class:`Tencentcloud::iot::V20180123::AppGetDevicesResponse`
277
+ def AppGetDevices(request)
278
+ body = send_request('AppGetDevices', request.serialize)
279
+ response = JSON.parse(body)
280
+ if response['Response'].key?('Error') == false
281
+ model = AppGetDevicesResponse.new
282
+ model.deserialize(response['Response'])
283
+ model
284
+ else
285
+ code = response['Response']['Error']['Code']
286
+ message = response['Response']['Error']['Message']
287
+ reqid = response['Response']['RequestId']
288
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
289
+ end
290
+ rescue TencentCloud::Common::TencentCloudSDKException => e
291
+ raise e
292
+ rescue StandardError => e
293
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
294
+ end
295
+
296
+ # 获取用户token
297
+
298
+ # @param request: Request instance for AppGetToken.
299
+ # @type request: :class:`Tencentcloud::iot::V20180123::AppGetTokenRequest`
300
+ # @rtype: :class:`Tencentcloud::iot::V20180123::AppGetTokenResponse`
301
+ def AppGetToken(request)
302
+ body = send_request('AppGetToken', request.serialize)
303
+ response = JSON.parse(body)
304
+ if response['Response'].key?('Error') == false
305
+ model = AppGetTokenResponse.new
306
+ model.deserialize(response['Response'])
307
+ model
308
+ else
309
+ code = response['Response']['Error']['Code']
310
+ message = response['Response']['Error']['Message']
311
+ reqid = response['Response']['RequestId']
312
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
313
+ end
314
+ rescue TencentCloud::Common::TencentCloudSDKException => e
315
+ raise e
316
+ rescue StandardError => e
317
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
318
+ end
319
+
320
+ # 获取用户信息
321
+
322
+ # @param request: Request instance for AppGetUser.
323
+ # @type request: :class:`Tencentcloud::iot::V20180123::AppGetUserRequest`
324
+ # @rtype: :class:`Tencentcloud::iot::V20180123::AppGetUserResponse`
325
+ def AppGetUser(request)
326
+ body = send_request('AppGetUser', request.serialize)
327
+ response = JSON.parse(body)
328
+ if response['Response'].key?('Error') == false
329
+ model = AppGetUserResponse.new
330
+ model.deserialize(response['Response'])
331
+ model
332
+ else
333
+ code = response['Response']['Error']['Code']
334
+ message = response['Response']['Error']['Message']
335
+ reqid = response['Response']['RequestId']
336
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
337
+ end
338
+ rescue TencentCloud::Common::TencentCloudSDKException => e
339
+ raise e
340
+ rescue StandardError => e
341
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
342
+ end
343
+
344
+ # 用户通过APP控制设备
345
+
346
+ # @param request: Request instance for AppIssueDeviceControl.
347
+ # @type request: :class:`Tencentcloud::iot::V20180123::AppIssueDeviceControlRequest`
348
+ # @rtype: :class:`Tencentcloud::iot::V20180123::AppIssueDeviceControlResponse`
349
+ def AppIssueDeviceControl(request)
350
+ body = send_request('AppIssueDeviceControl', request.serialize)
351
+ response = JSON.parse(body)
352
+ if response['Response'].key?('Error') == false
353
+ model = AppIssueDeviceControlResponse.new
354
+ model.deserialize(response['Response'])
355
+ model
356
+ else
357
+ code = response['Response']['Error']['Code']
358
+ message = response['Response']['Error']['Message']
359
+ reqid = response['Response']['RequestId']
360
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
361
+ end
362
+ rescue TencentCloud::Common::TencentCloudSDKException => e
363
+ raise e
364
+ rescue StandardError => e
365
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
366
+ end
367
+
368
+ # 重置APP用户密码
369
+
370
+ # @param request: Request instance for AppResetPassword.
371
+ # @type request: :class:`Tencentcloud::iot::V20180123::AppResetPasswordRequest`
372
+ # @rtype: :class:`Tencentcloud::iot::V20180123::AppResetPasswordResponse`
373
+ def AppResetPassword(request)
374
+ body = send_request('AppResetPassword', request.serialize)
375
+ response = JSON.parse(body)
376
+ if response['Response'].key?('Error') == false
377
+ model = AppResetPasswordResponse.new
378
+ model.deserialize(response['Response'])
379
+ model
380
+ else
381
+ code = response['Response']['Error']['Code']
382
+ message = response['Response']['Error']['Message']
383
+ reqid = response['Response']['RequestId']
384
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
385
+ end
386
+ rescue TencentCloud::Common::TencentCloudSDKException => e
387
+ raise e
388
+ rescue StandardError => e
389
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
390
+ end
391
+
392
+ # 用户绑定设备,绑定后可以在APP端进行控制。绑定设备前需调用“获取设备绑定签名”接口
393
+
394
+ # @param request: Request instance for AppSecureAddDevice.
395
+ # @type request: :class:`Tencentcloud::iot::V20180123::AppSecureAddDeviceRequest`
396
+ # @rtype: :class:`Tencentcloud::iot::V20180123::AppSecureAddDeviceResponse`
397
+ def AppSecureAddDevice(request)
398
+ body = send_request('AppSecureAddDevice', request.serialize)
399
+ response = JSON.parse(body)
400
+ if response['Response'].key?('Error') == false
401
+ model = AppSecureAddDeviceResponse.new
402
+ model.deserialize(response['Response'])
403
+ model
404
+ else
405
+ code = response['Response']['Error']['Code']
406
+ message = response['Response']['Error']['Message']
407
+ reqid = response['Response']['RequestId']
408
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
409
+ end
410
+ rescue TencentCloud::Common::TencentCloudSDKException => e
411
+ raise e
412
+ rescue StandardError => e
413
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
414
+ end
415
+
416
+ # 修改设备别名,便于用户个性化定义设备的名称
417
+
418
+ # @param request: Request instance for AppUpdateDevice.
419
+ # @type request: :class:`Tencentcloud::iot::V20180123::AppUpdateDeviceRequest`
420
+ # @rtype: :class:`Tencentcloud::iot::V20180123::AppUpdateDeviceResponse`
421
+ def AppUpdateDevice(request)
422
+ body = send_request('AppUpdateDevice', request.serialize)
423
+ response = JSON.parse(body)
424
+ if response['Response'].key?('Error') == false
425
+ model = AppUpdateDeviceResponse.new
426
+ model.deserialize(response['Response'])
427
+ model
428
+ else
429
+ code = response['Response']['Error']['Code']
430
+ message = response['Response']['Error']['Message']
431
+ reqid = response['Response']['RequestId']
432
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
433
+ end
434
+ rescue TencentCloud::Common::TencentCloudSDKException => e
435
+ raise e
436
+ rescue StandardError => e
437
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
438
+ end
439
+
440
+ # 修改用户信息
441
+
442
+ # @param request: Request instance for AppUpdateUser.
443
+ # @type request: :class:`Tencentcloud::iot::V20180123::AppUpdateUserRequest`
444
+ # @rtype: :class:`Tencentcloud::iot::V20180123::AppUpdateUserResponse`
445
+ def AppUpdateUser(request)
446
+ body = send_request('AppUpdateUser', request.serialize)
447
+ response = JSON.parse(body)
448
+ if response['Response'].key?('Error') == false
449
+ model = AppUpdateUserResponse.new
450
+ model.deserialize(response['Response'])
451
+ model
452
+ else
453
+ code = response['Response']['Error']['Code']
454
+ message = response['Response']['Error']['Message']
455
+ reqid = response['Response']['RequestId']
456
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
457
+ end
458
+ rescue TencentCloud::Common::TencentCloudSDKException => e
459
+ raise e
460
+ rescue StandardError => e
461
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
462
+ end
463
+
464
+ # 关联子设备产品和网关产品
465
+
466
+ # @param request: Request instance for AssociateSubDeviceToGatewayProduct.
467
+ # @type request: :class:`Tencentcloud::iot::V20180123::AssociateSubDeviceToGatewayProductRequest`
468
+ # @rtype: :class:`Tencentcloud::iot::V20180123::AssociateSubDeviceToGatewayProductResponse`
469
+ def AssociateSubDeviceToGatewayProduct(request)
470
+ body = send_request('AssociateSubDeviceToGatewayProduct', request.serialize)
471
+ response = JSON.parse(body)
472
+ if response['Response'].key?('Error') == false
473
+ model = AssociateSubDeviceToGatewayProductResponse.new
474
+ model.deserialize(response['Response'])
475
+ model
476
+ else
477
+ code = response['Response']['Error']['Code']
478
+ message = response['Response']['Error']['Message']
479
+ reqid = response['Response']['RequestId']
480
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
481
+ end
482
+ rescue TencentCloud::Common::TencentCloudSDKException => e
483
+ raise e
484
+ rescue StandardError => e
485
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
486
+ end
487
+
488
+ # 禁用规则
489
+
490
+ # @param request: Request instance for DeactivateRule.
491
+ # @type request: :class:`Tencentcloud::iot::V20180123::DeactivateRuleRequest`
492
+ # @rtype: :class:`Tencentcloud::iot::V20180123::DeactivateRuleResponse`
493
+ def DeactivateRule(request)
494
+ body = send_request('DeactivateRule', request.serialize)
495
+ response = JSON.parse(body)
496
+ if response['Response'].key?('Error') == false
497
+ model = DeactivateRuleResponse.new
498
+ model.deserialize(response['Response'])
499
+ model
500
+ else
501
+ code = response['Response']['Error']['Code']
502
+ message = response['Response']['Error']['Message']
503
+ reqid = response['Response']['RequestId']
504
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
505
+ end
506
+ rescue TencentCloud::Common::TencentCloudSDKException => e
507
+ raise e
508
+ rescue StandardError => e
509
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
510
+ end
511
+
512
+ # 提供在指定的产品Id下删除一个设备的能力。
513
+
514
+ # @param request: Request instance for DeleteDevice.
515
+ # @type request: :class:`Tencentcloud::iot::V20180123::DeleteDeviceRequest`
516
+ # @rtype: :class:`Tencentcloud::iot::V20180123::DeleteDeviceResponse`
517
+ def DeleteDevice(request)
518
+ body = send_request('DeleteDevice', request.serialize)
519
+ response = JSON.parse(body)
520
+ if response['Response'].key?('Error') == false
521
+ model = DeleteDeviceResponse.new
522
+ model.deserialize(response['Response'])
523
+ model
524
+ else
525
+ code = response['Response']['Error']['Code']
526
+ message = response['Response']['Error']['Message']
527
+ reqid = response['Response']['RequestId']
528
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
529
+ end
530
+ rescue TencentCloud::Common::TencentCloudSDKException => e
531
+ raise e
532
+ rescue StandardError => e
533
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
534
+ end
535
+
536
+ # 删除用户指定的产品Id对应的信息。
537
+
538
+ # @param request: Request instance for DeleteProduct.
539
+ # @type request: :class:`Tencentcloud::iot::V20180123::DeleteProductRequest`
540
+ # @rtype: :class:`Tencentcloud::iot::V20180123::DeleteProductResponse`
541
+ def DeleteProduct(request)
542
+ body = send_request('DeleteProduct', request.serialize)
543
+ response = JSON.parse(body)
544
+ if response['Response'].key?('Error') == false
545
+ model = DeleteProductResponse.new
546
+ model.deserialize(response['Response'])
547
+ model
548
+ else
549
+ code = response['Response']['Error']['Code']
550
+ message = response['Response']['Error']['Message']
551
+ reqid = response['Response']['RequestId']
552
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
553
+ end
554
+ rescue TencentCloud::Common::TencentCloudSDKException => e
555
+ raise e
556
+ rescue StandardError => e
557
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
558
+ end
559
+
560
+ # 删除规则
561
+
562
+ # @param request: Request instance for DeleteRule.
563
+ # @type request: :class:`Tencentcloud::iot::V20180123::DeleteRuleRequest`
564
+ # @rtype: :class:`Tencentcloud::iot::V20180123::DeleteRuleResponse`
565
+ def DeleteRule(request)
566
+ body = send_request('DeleteRule', request.serialize)
567
+ response = JSON.parse(body)
568
+ if response['Response'].key?('Error') == false
569
+ model = DeleteRuleResponse.new
570
+ model.deserialize(response['Response'])
571
+ model
572
+ else
573
+ code = response['Response']['Error']['Code']
574
+ message = response['Response']['Error']['Message']
575
+ reqid = response['Response']['RequestId']
576
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
577
+ end
578
+ rescue TencentCloud::Common::TencentCloudSDKException => e
579
+ raise e
580
+ rescue StandardError => e
581
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
582
+ end
583
+
584
+ # 删除Topic
585
+
586
+ # @param request: Request instance for DeleteTopic.
587
+ # @type request: :class:`Tencentcloud::iot::V20180123::DeleteTopicRequest`
588
+ # @rtype: :class:`Tencentcloud::iot::V20180123::DeleteTopicResponse`
589
+ def DeleteTopic(request)
590
+ body = send_request('DeleteTopic', request.serialize)
591
+ response = JSON.parse(body)
592
+ if response['Response'].key?('Error') == false
593
+ model = DeleteTopicResponse.new
594
+ model.deserialize(response['Response'])
595
+ model
596
+ else
597
+ code = response['Response']['Error']['Code']
598
+ message = response['Response']['Error']['Message']
599
+ reqid = response['Response']['RequestId']
600
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
601
+ end
602
+ rescue TencentCloud::Common::TencentCloudSDKException => e
603
+ raise e
604
+ rescue StandardError => e
605
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
606
+ end
607
+
608
+ # 批量获取设备某一段时间范围的设备上报数据。该接口适用于使用高级版类型的产品
609
+
610
+ # @param request: Request instance for GetDataHistory.
611
+ # @type request: :class:`Tencentcloud::iot::V20180123::GetDataHistoryRequest`
612
+ # @rtype: :class:`Tencentcloud::iot::V20180123::GetDataHistoryResponse`
613
+ def GetDataHistory(request)
614
+ body = send_request('GetDataHistory', request.serialize)
615
+ response = JSON.parse(body)
616
+ if response['Response'].key?('Error') == false
617
+ model = GetDataHistoryResponse.new
618
+ model.deserialize(response['Response'])
619
+ model
620
+ else
621
+ code = response['Response']['Error']['Code']
622
+ message = response['Response']['Error']['Message']
623
+ reqid = response['Response']['RequestId']
624
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
625
+ end
626
+ rescue TencentCloud::Common::TencentCloudSDKException => e
627
+ raise e
628
+ rescue StandardError => e
629
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
630
+ end
631
+
632
+ # 获取设备的调试日志,用于定位问题
633
+
634
+ # @param request: Request instance for GetDebugLog.
635
+ # @type request: :class:`Tencentcloud::iot::V20180123::GetDebugLogRequest`
636
+ # @rtype: :class:`Tencentcloud::iot::V20180123::GetDebugLogResponse`
637
+ def GetDebugLog(request)
638
+ body = send_request('GetDebugLog', request.serialize)
639
+ response = JSON.parse(body)
640
+ if response['Response'].key?('Error') == false
641
+ model = GetDebugLogResponse.new
642
+ model.deserialize(response['Response'])
643
+ model
644
+ else
645
+ code = response['Response']['Error']['Code']
646
+ message = response['Response']['Error']['Message']
647
+ reqid = response['Response']['RequestId']
648
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
649
+ end
650
+ rescue TencentCloud::Common::TencentCloudSDKException => e
651
+ raise e
652
+ rescue StandardError => e
653
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
654
+ end
655
+
656
+ # 提供查询某个设备详细信息的能力。
657
+
658
+ # @param request: Request instance for GetDevice.
659
+ # @type request: :class:`Tencentcloud::iot::V20180123::GetDeviceRequest`
660
+ # @rtype: :class:`Tencentcloud::iot::V20180123::GetDeviceResponse`
661
+ def GetDevice(request)
662
+ body = send_request('GetDevice', request.serialize)
663
+ response = JSON.parse(body)
664
+ if response['Response'].key?('Error') == false
665
+ model = GetDeviceResponse.new
666
+ model.deserialize(response['Response'])
667
+ model
668
+ else
669
+ code = response['Response']['Error']['Code']
670
+ message = response['Response']['Error']['Message']
671
+ reqid = response['Response']['RequestId']
672
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
673
+ end
674
+ rescue TencentCloud::Common::TencentCloudSDKException => e
675
+ raise e
676
+ rescue StandardError => e
677
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
678
+ end
679
+
680
+ # 获取某个设备当前上报到云端的数据,该接口适用于使用数据模板协议的产品。
681
+
682
+ # @param request: Request instance for GetDeviceData.
683
+ # @type request: :class:`Tencentcloud::iot::V20180123::GetDeviceDataRequest`
684
+ # @rtype: :class:`Tencentcloud::iot::V20180123::GetDeviceDataResponse`
685
+ def GetDeviceData(request)
686
+ body = send_request('GetDeviceData', request.serialize)
687
+ response = JSON.parse(body)
688
+ if response['Response'].key?('Error') == false
689
+ model = GetDeviceDataResponse.new
690
+ model.deserialize(response['Response'])
691
+ model
692
+ else
693
+ code = response['Response']['Error']['Code']
694
+ message = response['Response']['Error']['Message']
695
+ reqid = response['Response']['RequestId']
696
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
697
+ end
698
+ rescue TencentCloud::Common::TencentCloudSDKException => e
699
+ raise e
700
+ rescue StandardError => e
701
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
702
+ end
703
+
704
+ # 批量获取设备与云端的详细通信日志,该接口适用于使用高级版类型的产品。
705
+
706
+ # @param request: Request instance for GetDeviceLog.
707
+ # @type request: :class:`Tencentcloud::iot::V20180123::GetDeviceLogRequest`
708
+ # @rtype: :class:`Tencentcloud::iot::V20180123::GetDeviceLogResponse`
709
+ def GetDeviceLog(request)
710
+ body = send_request('GetDeviceLog', request.serialize)
711
+ response = JSON.parse(body)
712
+ if response['Response'].key?('Error') == false
713
+ model = GetDeviceLogResponse.new
714
+ model.deserialize(response['Response'])
715
+ model
716
+ else
717
+ code = response['Response']['Error']['Code']
718
+ message = response['Response']['Error']['Message']
719
+ reqid = response['Response']['RequestId']
720
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
721
+ end
722
+ rescue TencentCloud::Common::TencentCloudSDKException => e
723
+ raise e
724
+ rescue StandardError => e
725
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
726
+ end
727
+
728
+ # 获取设备绑定签名,用于用户绑定某个设备的应用场景
729
+
730
+ # @param request: Request instance for GetDeviceSignatures.
731
+ # @type request: :class:`Tencentcloud::iot::V20180123::GetDeviceSignaturesRequest`
732
+ # @rtype: :class:`Tencentcloud::iot::V20180123::GetDeviceSignaturesResponse`
733
+ def GetDeviceSignatures(request)
734
+ body = send_request('GetDeviceSignatures', request.serialize)
735
+ response = JSON.parse(body)
736
+ if response['Response'].key?('Error') == false
737
+ model = GetDeviceSignaturesResponse.new
738
+ model.deserialize(response['Response'])
739
+ model
740
+ else
741
+ code = response['Response']['Error']['Code']
742
+ message = response['Response']['Error']['Message']
743
+ reqid = response['Response']['RequestId']
744
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
745
+ end
746
+ rescue TencentCloud::Common::TencentCloudSDKException => e
747
+ raise e
748
+ rescue StandardError => e
749
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
750
+ end
751
+
752
+ # 查询某段时间范围内产品的在线、激活设备数
753
+
754
+ # @param request: Request instance for GetDeviceStatistics.
755
+ # @type request: :class:`Tencentcloud::iot::V20180123::GetDeviceStatisticsRequest`
756
+ # @rtype: :class:`Tencentcloud::iot::V20180123::GetDeviceStatisticsResponse`
757
+ def GetDeviceStatistics(request)
758
+ body = send_request('GetDeviceStatistics', request.serialize)
759
+ response = JSON.parse(body)
760
+ if response['Response'].key?('Error') == false
761
+ model = GetDeviceStatisticsResponse.new
762
+ model.deserialize(response['Response'])
763
+ model
764
+ else
765
+ code = response['Response']['Error']['Code']
766
+ message = response['Response']['Error']['Message']
767
+ reqid = response['Response']['RequestId']
768
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
769
+ end
770
+ rescue TencentCloud::Common::TencentCloudSDKException => e
771
+ raise e
772
+ rescue StandardError => e
773
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
774
+ end
775
+
776
+ # 批量获取设备的当前状态,状态包括在线、离线或未激活状态。
777
+
778
+ # @param request: Request instance for GetDeviceStatuses.
779
+ # @type request: :class:`Tencentcloud::iot::V20180123::GetDeviceStatusesRequest`
780
+ # @rtype: :class:`Tencentcloud::iot::V20180123::GetDeviceStatusesResponse`
781
+ def GetDeviceStatuses(request)
782
+ body = send_request('GetDeviceStatuses', request.serialize)
783
+ response = JSON.parse(body)
784
+ if response['Response'].key?('Error') == false
785
+ model = GetDeviceStatusesResponse.new
786
+ model.deserialize(response['Response'])
787
+ model
788
+ else
789
+ code = response['Response']['Error']['Code']
790
+ message = response['Response']['Error']['Message']
791
+ reqid = response['Response']['RequestId']
792
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
793
+ end
794
+ rescue TencentCloud::Common::TencentCloudSDKException => e
795
+ raise e
796
+ rescue StandardError => e
797
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
798
+ end
799
+
800
+ # 提供分页查询某个产品Id下设备信息的能力。
801
+
802
+ # @param request: Request instance for GetDevices.
803
+ # @type request: :class:`Tencentcloud::iot::V20180123::GetDevicesRequest`
804
+ # @rtype: :class:`Tencentcloud::iot::V20180123::GetDevicesResponse`
805
+ def GetDevices(request)
806
+ body = send_request('GetDevices', request.serialize)
807
+ response = JSON.parse(body)
808
+ if response['Response'].key?('Error') == false
809
+ model = GetDevicesResponse.new
810
+ model.deserialize(response['Response'])
811
+ model
812
+ else
813
+ code = response['Response']['Error']['Code']
814
+ message = response['Response']['Error']['Message']
815
+ reqid = response['Response']['RequestId']
816
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
817
+ end
818
+ rescue TencentCloud::Common::TencentCloudSDKException => e
819
+ raise e
820
+ rescue StandardError => e
821
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
822
+ end
823
+
824
+ # 获取产品定义的详细信息,包括产品名称、产品描述,鉴权模式等信息。
825
+
826
+ # @param request: Request instance for GetProduct.
827
+ # @type request: :class:`Tencentcloud::iot::V20180123::GetProductRequest`
828
+ # @rtype: :class:`Tencentcloud::iot::V20180123::GetProductResponse`
829
+ def GetProduct(request)
830
+ body = send_request('GetProduct', request.serialize)
831
+ response = JSON.parse(body)
832
+ if response['Response'].key?('Error') == false
833
+ model = GetProductResponse.new
834
+ model.deserialize(response['Response'])
835
+ model
836
+ else
837
+ code = response['Response']['Error']['Code']
838
+ message = response['Response']['Error']['Message']
839
+ reqid = response['Response']['RequestId']
840
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
841
+ end
842
+ rescue TencentCloud::Common::TencentCloudSDKException => e
843
+ raise e
844
+ rescue StandardError => e
845
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
846
+ end
847
+
848
+ # 获取用户在物联网套件所创建的所有产品信息。
849
+
850
+ # @param request: Request instance for GetProducts.
851
+ # @type request: :class:`Tencentcloud::iot::V20180123::GetProductsRequest`
852
+ # @rtype: :class:`Tencentcloud::iot::V20180123::GetProductsResponse`
853
+ def GetProducts(request)
854
+ body = send_request('GetProducts', request.serialize)
855
+ response = JSON.parse(body)
856
+ if response['Response'].key?('Error') == false
857
+ model = GetProductsResponse.new
858
+ model.deserialize(response['Response'])
859
+ model
860
+ else
861
+ code = response['Response']['Error']['Code']
862
+ message = response['Response']['Error']['Message']
863
+ reqid = response['Response']['RequestId']
864
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
865
+ end
866
+ rescue TencentCloud::Common::TencentCloudSDKException => e
867
+ raise e
868
+ rescue StandardError => e
869
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
870
+ end
871
+
872
+ # 获取转发规则信息
873
+
874
+ # @param request: Request instance for GetRule.
875
+ # @type request: :class:`Tencentcloud::iot::V20180123::GetRuleRequest`
876
+ # @rtype: :class:`Tencentcloud::iot::V20180123::GetRuleResponse`
877
+ def GetRule(request)
878
+ body = send_request('GetRule', request.serialize)
879
+ response = JSON.parse(body)
880
+ if response['Response'].key?('Error') == false
881
+ model = GetRuleResponse.new
882
+ model.deserialize(response['Response'])
883
+ model
884
+ else
885
+ code = response['Response']['Error']['Code']
886
+ message = response['Response']['Error']['Message']
887
+ reqid = response['Response']['RequestId']
888
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
889
+ end
890
+ rescue TencentCloud::Common::TencentCloudSDKException => e
891
+ raise e
892
+ rescue StandardError => e
893
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
894
+ end
895
+
896
+ # 获取转发规则列表
897
+
898
+ # @param request: Request instance for GetRules.
899
+ # @type request: :class:`Tencentcloud::iot::V20180123::GetRulesRequest`
900
+ # @rtype: :class:`Tencentcloud::iot::V20180123::GetRulesResponse`
901
+ def GetRules(request)
902
+ body = send_request('GetRules', request.serialize)
903
+ response = JSON.parse(body)
904
+ if response['Response'].key?('Error') == false
905
+ model = GetRulesResponse.new
906
+ model.deserialize(response['Response'])
907
+ model
908
+ else
909
+ code = response['Response']['Error']['Code']
910
+ message = response['Response']['Error']['Message']
911
+ reqid = response['Response']['RequestId']
912
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
913
+ end
914
+ rescue TencentCloud::Common::TencentCloudSDKException => e
915
+ raise e
916
+ rescue StandardError => e
917
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
918
+ end
919
+
920
+ # 获取Topic信息
921
+
922
+ # @param request: Request instance for GetTopic.
923
+ # @type request: :class:`Tencentcloud::iot::V20180123::GetTopicRequest`
924
+ # @rtype: :class:`Tencentcloud::iot::V20180123::GetTopicResponse`
925
+ def GetTopic(request)
926
+ body = send_request('GetTopic', request.serialize)
927
+ response = JSON.parse(body)
928
+ if response['Response'].key?('Error') == false
929
+ model = GetTopicResponse.new
930
+ model.deserialize(response['Response'])
931
+ model
932
+ else
933
+ code = response['Response']['Error']['Code']
934
+ message = response['Response']['Error']['Message']
935
+ reqid = response['Response']['RequestId']
936
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
937
+ end
938
+ rescue TencentCloud::Common::TencentCloudSDKException => e
939
+ raise e
940
+ rescue StandardError => e
941
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
942
+ end
943
+
944
+ # 获取Topic列表
945
+
946
+ # @param request: Request instance for GetTopics.
947
+ # @type request: :class:`Tencentcloud::iot::V20180123::GetTopicsRequest`
948
+ # @rtype: :class:`Tencentcloud::iot::V20180123::GetTopicsResponse`
949
+ def GetTopics(request)
950
+ body = send_request('GetTopics', request.serialize)
951
+ response = JSON.parse(body)
952
+ if response['Response'].key?('Error') == false
953
+ model = GetTopicsResponse.new
954
+ model.deserialize(response['Response'])
955
+ model
956
+ else
957
+ code = response['Response']['Error']['Code']
958
+ message = response['Response']['Error']['Message']
959
+ reqid = response['Response']['RequestId']
960
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
961
+ end
962
+ rescue TencentCloud::Common::TencentCloudSDKException => e
963
+ raise e
964
+ rescue StandardError => e
965
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
966
+ end
967
+
968
+ # 提供下发控制指令到指定设备的能力,该接口适用于使用高级版类型的产品。
969
+
970
+ # @param request: Request instance for IssueDeviceControl.
971
+ # @type request: :class:`Tencentcloud::iot::V20180123::IssueDeviceControlRequest`
972
+ # @rtype: :class:`Tencentcloud::iot::V20180123::IssueDeviceControlResponse`
973
+ def IssueDeviceControl(request)
974
+ body = send_request('IssueDeviceControl', request.serialize)
975
+ response = JSON.parse(body)
976
+ if response['Response'].key?('Error') == false
977
+ model = IssueDeviceControlResponse.new
978
+ model.deserialize(response['Response'])
979
+ model
980
+ else
981
+ code = response['Response']['Error']['Code']
982
+ message = response['Response']['Error']['Message']
983
+ reqid = response['Response']['RequestId']
984
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
985
+ end
986
+ rescue TencentCloud::Common::TencentCloudSDKException => e
987
+ raise e
988
+ rescue StandardError => e
989
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
990
+ end
991
+
992
+ # 提供向指定的Topic发布消息的能力,常用于向设备下发控制指令。该接口只适用于产品版本为“基础版”类型的产品,使用高级版的产品需使用“下发设备控制指令”接口
993
+
994
+ # @param request: Request instance for PublishMsg.
995
+ # @type request: :class:`Tencentcloud::iot::V20180123::PublishMsgRequest`
996
+ # @rtype: :class:`Tencentcloud::iot::V20180123::PublishMsgResponse`
997
+ def PublishMsg(request)
998
+ body = send_request('PublishMsg', request.serialize)
999
+ response = JSON.parse(body)
1000
+ if response['Response'].key?('Error') == false
1001
+ model = PublishMsgResponse.new
1002
+ model.deserialize(response['Response'])
1003
+ model
1004
+ else
1005
+ code = response['Response']['Error']['Code']
1006
+ message = response['Response']['Error']['Message']
1007
+ reqid = response['Response']['RequestId']
1008
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
1009
+ end
1010
+ rescue TencentCloud::Common::TencentCloudSDKException => e
1011
+ raise e
1012
+ rescue StandardError => e
1013
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
1014
+ end
1015
+
1016
+ # 重置设备操作,将会为设备生成新的证书及清空最新数据,需谨慎操作。
1017
+
1018
+ # @param request: Request instance for ResetDevice.
1019
+ # @type request: :class:`Tencentcloud::iot::V20180123::ResetDeviceRequest`
1020
+ # @rtype: :class:`Tencentcloud::iot::V20180123::ResetDeviceResponse`
1021
+ def ResetDevice(request)
1022
+ body = send_request('ResetDevice', request.serialize)
1023
+ response = JSON.parse(body)
1024
+ if response['Response'].key?('Error') == false
1025
+ model = ResetDeviceResponse.new
1026
+ model.deserialize(response['Response'])
1027
+ model
1028
+ else
1029
+ code = response['Response']['Error']['Code']
1030
+ message = response['Response']['Error']['Message']
1031
+ reqid = response['Response']['RequestId']
1032
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
1033
+ end
1034
+ rescue TencentCloud::Common::TencentCloudSDKException => e
1035
+ raise e
1036
+ rescue StandardError => e
1037
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
1038
+ end
1039
+
1040
+ # 取消子设备产品与网关设备产品的关联
1041
+
1042
+ # @param request: Request instance for UnassociateSubDeviceFromGatewayProduct.
1043
+ # @type request: :class:`Tencentcloud::iot::V20180123::UnassociateSubDeviceFromGatewayProductRequest`
1044
+ # @rtype: :class:`Tencentcloud::iot::V20180123::UnassociateSubDeviceFromGatewayProductResponse`
1045
+ def UnassociateSubDeviceFromGatewayProduct(request)
1046
+ body = send_request('UnassociateSubDeviceFromGatewayProduct', request.serialize)
1047
+ response = JSON.parse(body)
1048
+ if response['Response'].key?('Error') == false
1049
+ model = UnassociateSubDeviceFromGatewayProductResponse.new
1050
+ model.deserialize(response['Response'])
1051
+ model
1052
+ else
1053
+ code = response['Response']['Error']['Code']
1054
+ message = response['Response']['Error']['Message']
1055
+ reqid = response['Response']['RequestId']
1056
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
1057
+ end
1058
+ rescue TencentCloud::Common::TencentCloudSDKException => e
1059
+ raise e
1060
+ rescue StandardError => e
1061
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
1062
+ end
1063
+
1064
+ # 提供修改产品信息及数据模板的能力。
1065
+
1066
+ # @param request: Request instance for UpdateProduct.
1067
+ # @type request: :class:`Tencentcloud::iot::V20180123::UpdateProductRequest`
1068
+ # @rtype: :class:`Tencentcloud::iot::V20180123::UpdateProductResponse`
1069
+ def UpdateProduct(request)
1070
+ body = send_request('UpdateProduct', request.serialize)
1071
+ response = JSON.parse(body)
1072
+ if response['Response'].key?('Error') == false
1073
+ model = UpdateProductResponse.new
1074
+ model.deserialize(response['Response'])
1075
+ model
1076
+ else
1077
+ code = response['Response']['Error']['Code']
1078
+ message = response['Response']['Error']['Message']
1079
+ reqid = response['Response']['RequestId']
1080
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
1081
+ end
1082
+ rescue TencentCloud::Common::TencentCloudSDKException => e
1083
+ raise e
1084
+ rescue StandardError => e
1085
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
1086
+ end
1087
+
1088
+ # 更新规则
1089
+
1090
+ # @param request: Request instance for UpdateRule.
1091
+ # @type request: :class:`Tencentcloud::iot::V20180123::UpdateRuleRequest`
1092
+ # @rtype: :class:`Tencentcloud::iot::V20180123::UpdateRuleResponse`
1093
+ def UpdateRule(request)
1094
+ body = send_request('UpdateRule', request.serialize)
1095
+ response = JSON.parse(body)
1096
+ if response['Response'].key?('Error') == false
1097
+ model = UpdateRuleResponse.new
1098
+ model.deserialize(response['Response'])
1099
+ model
1100
+ else
1101
+ code = response['Response']['Error']['Code']
1102
+ message = response['Response']['Error']['Message']
1103
+ reqid = response['Response']['RequestId']
1104
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
1105
+ end
1106
+ rescue TencentCloud::Common::TencentCloudSDKException => e
1107
+ raise e
1108
+ rescue StandardError => e
1109
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
1110
+ end
1111
+
1112
+
1113
+ end
1114
+ end
1115
+ end
1116
+ end