Bladeren bron

IOT SDK Auto Released By cheyun.lxf,Version:1.21.2

Signed-off-by: yixiong.jxy <yixiong.jxy@alibaba-inc.com>
yixiong.jxy 8 jaren geleden
bovenliggende
commit
0ca5beb247
100 gewijzigde bestanden met toevoegingen van 6542 en 2 verwijderingen
  1. 5 0
      CHANGELOG
  2. 2 1
      CMakeLists.txt
  3. 1 1
      VERSION
  4. 322 0
      iot/CMakeLists.txt
  5. 526 0
      iot/include/alibabacloud/iot/IotClient.h
  6. 32 0
      iot/include/alibabacloud/iot/IotExport.h
  7. 54 0
      iot/include/alibabacloud/iot/model/ApplyDeviceWithNamesRequest.h
  8. 57 0
      iot/include/alibabacloud/iot/model/ApplyDeviceWithNamesResult.h
  9. 54 0
      iot/include/alibabacloud/iot/model/BatchCheckDeviceNamesRequest.h
  10. 61 0
      iot/include/alibabacloud/iot/model/BatchCheckDeviceNamesResult.h
  11. 54 0
      iot/include/alibabacloud/iot/model/BatchGetDeviceStateRequest.h
  12. 65 0
      iot/include/alibabacloud/iot/model/BatchGetDeviceStateResult.h
  13. 54 0
      iot/include/alibabacloud/iot/model/BatchRegisterDeviceRequest.h
  14. 61 0
      iot/include/alibabacloud/iot/model/BatchRegisterDeviceResult.h
  15. 54 0
      iot/include/alibabacloud/iot/model/BatchRegisterDeviceWithApplyIdRequest.h
  16. 61 0
      iot/include/alibabacloud/iot/model/BatchRegisterDeviceWithApplyIdResult.h
  17. 75 0
      iot/include/alibabacloud/iot/model/CreateProductRequest.h
  18. 72 0
      iot/include/alibabacloud/iot/model/CreateProductResult.h
  19. 60 0
      iot/include/alibabacloud/iot/model/CreateProductTopicRequest.h
  20. 57 0
      iot/include/alibabacloud/iot/model/CreateProductTopicResult.h
  21. 57 0
      iot/include/alibabacloud/iot/model/CreateRuleActionRequest.h
  22. 57 0
      iot/include/alibabacloud/iot/model/CreateRuleActionResult.h
  23. 69 0
      iot/include/alibabacloud/iot/model/CreateRuleRequest.h
  24. 57 0
      iot/include/alibabacloud/iot/model/CreateRuleResult.h
  25. 57 0
      iot/include/alibabacloud/iot/model/CreateTopicRouteTableRequest.h
  26. 59 0
      iot/include/alibabacloud/iot/model/CreateTopicRouteTableResult.h
  27. 57 0
      iot/include/alibabacloud/iot/model/DeleteDevicePropRequest.h
  28. 55 0
      iot/include/alibabacloud/iot/model/DeleteDevicePropResult.h
  29. 57 0
      iot/include/alibabacloud/iot/model/DeleteDeviceRequest.h
  30. 55 0
      iot/include/alibabacloud/iot/model/DeleteDeviceResult.h
  31. 51 0
      iot/include/alibabacloud/iot/model/DeleteProductTopicRequest.h
  32. 55 0
      iot/include/alibabacloud/iot/model/DeleteProductTopicResult.h
  33. 51 0
      iot/include/alibabacloud/iot/model/DeleteRuleActionRequest.h
  34. 55 0
      iot/include/alibabacloud/iot/model/DeleteRuleActionResult.h
  35. 51 0
      iot/include/alibabacloud/iot/model/DeleteRuleRequest.h
  36. 55 0
      iot/include/alibabacloud/iot/model/DeleteRuleResult.h
  37. 57 0
      iot/include/alibabacloud/iot/model/DeleteTopicRouteTableRequest.h
  38. 59 0
      iot/include/alibabacloud/iot/model/DeleteTopicRouteTableResult.h
  39. 57 0
      iot/include/alibabacloud/iot/model/DisableThingRequest.h
  40. 55 0
      iot/include/alibabacloud/iot/model/DisableThingResult.h
  41. 57 0
      iot/include/alibabacloud/iot/model/EnableThingRequest.h
  42. 55 0
      iot/include/alibabacloud/iot/model/EnableThingResult.h
  43. 57 0
      iot/include/alibabacloud/iot/model/GetDeviceShadowRequest.h
  44. 57 0
      iot/include/alibabacloud/iot/model/GetDeviceShadowResult.h
  45. 57 0
      iot/include/alibabacloud/iot/model/GetDeviceStatusRequest.h
  46. 61 0
      iot/include/alibabacloud/iot/model/GetDeviceStatusResult.h
  47. 57 0
      iot/include/alibabacloud/iot/model/GetGatewayBySubDeviceRequest.h
  48. 76 0
      iot/include/alibabacloud/iot/model/GetGatewayBySubDeviceResult.h
  49. 51 0
      iot/include/alibabacloud/iot/model/GetRuleActionRequest.h
  50. 64 0
      iot/include/alibabacloud/iot/model/GetRuleActionResult.h
  51. 51 0
      iot/include/alibabacloud/iot/model/GetRuleRequest.h
  52. 73 0
      iot/include/alibabacloud/iot/model/GetRuleResult.h
  53. 63 0
      iot/include/alibabacloud/iot/model/GetThingTopoRequest.h
  54. 71 0
      iot/include/alibabacloud/iot/model/GetThingTopoResult.h
  55. 63 0
      iot/include/alibabacloud/iot/model/InvokeThingServiceRequest.h
  56. 62 0
      iot/include/alibabacloud/iot/model/InvokeThingServiceResult.h
  57. 51 0
      iot/include/alibabacloud/iot/model/ListRuleActionsRequest.h
  58. 64 0
      iot/include/alibabacloud/iot/model/ListRuleActionsResult.h
  59. 54 0
      iot/include/alibabacloud/iot/model/ListRuleRequest.h
  60. 79 0
      iot/include/alibabacloud/iot/model/ListRuleResult.h
  61. 60 0
      iot/include/alibabacloud/iot/model/NotifyAddThingTopoRequest.h
  62. 61 0
      iot/include/alibabacloud/iot/model/NotifyAddThingTopoResult.h
  63. 57 0
      iot/include/alibabacloud/iot/model/PubBroadcastRequest.h
  64. 55 0
      iot/include/alibabacloud/iot/model/PubBroadcastResult.h
  65. 60 0
      iot/include/alibabacloud/iot/model/PubRequest.h
  66. 57 0
      iot/include/alibabacloud/iot/model/PubResult.h
  67. 51 0
      iot/include/alibabacloud/iot/model/QueryApplyStatusRequest.h
  68. 57 0
      iot/include/alibabacloud/iot/model/QueryApplyStatusResult.h
  69. 54 0
      iot/include/alibabacloud/iot/model/QueryBatchRegisterDeviceStatusRequest.h
  70. 63 0
      iot/include/alibabacloud/iot/model/QueryBatchRegisterDeviceStatusResult.h
  71. 54 0
      iot/include/alibabacloud/iot/model/QueryDeviceByNameRequest.h
  72. 69 0
      iot/include/alibabacloud/iot/model/QueryDeviceByNameResult.h
  73. 57 0
      iot/include/alibabacloud/iot/model/QueryDeviceDetailRequest.h
  74. 76 0
      iot/include/alibabacloud/iot/model/QueryDeviceDetailResult.h
  75. 75 0
      iot/include/alibabacloud/iot/model/QueryDeviceEventDataRequest.h
  76. 71 0
      iot/include/alibabacloud/iot/model/QueryDeviceEventDataResult.h
  77. 54 0
      iot/include/alibabacloud/iot/model/QueryDevicePropRequest.h
  78. 57 0
      iot/include/alibabacloud/iot/model/QueryDevicePropResult.h
  79. 72 0
      iot/include/alibabacloud/iot/model/QueryDevicePropertyDataRequest.h
  80. 68 0
      iot/include/alibabacloud/iot/model/QueryDevicePropertyDataResult.h
  81. 57 0
      iot/include/alibabacloud/iot/model/QueryDevicePropertyStatusRequest.h
  82. 70 0
      iot/include/alibabacloud/iot/model/QueryDevicePropertyStatusResult.h
  83. 57 0
      iot/include/alibabacloud/iot/model/QueryDeviceRequest.h
  84. 76 0
      iot/include/alibabacloud/iot/model/QueryDeviceResult.h
  85. 72 0
      iot/include/alibabacloud/iot/model/QueryDeviceServiceDataRequest.h
  86. 71 0
      iot/include/alibabacloud/iot/model/QueryDeviceServiceDataResult.h
  87. 51 0
      iot/include/alibabacloud/iot/model/QueryDeviceStatisticsRequest.h
  88. 63 0
      iot/include/alibabacloud/iot/model/QueryDeviceStatisticsResult.h
  89. 57 0
      iot/include/alibabacloud/iot/model/QueryPageByApplyIdRequest.h
  90. 71 0
      iot/include/alibabacloud/iot/model/QueryPageByApplyIdResult.h
  91. 57 0
      iot/include/alibabacloud/iot/model/QueryProductListRequest.h
  92. 75 0
      iot/include/alibabacloud/iot/model/QueryProductListResult.h
  93. 51 0
      iot/include/alibabacloud/iot/model/QueryProductRequest.h
  94. 72 0
      iot/include/alibabacloud/iot/model/QueryProductResult.h
  95. 51 0
      iot/include/alibabacloud/iot/model/QueryProductTopicRequest.h
  96. 65 0
      iot/include/alibabacloud/iot/model/QueryProductTopicResult.h
  97. 54 0
      iot/include/alibabacloud/iot/model/QueryTopicReverseRouteTableRequest.h
  98. 57 0
      iot/include/alibabacloud/iot/model/QueryTopicReverseRouteTableResult.h
  99. 54 0
      iot/include/alibabacloud/iot/model/QueryTopicRouteTableRequest.h
  100. 57 0
      iot/include/alibabacloud/iot/model/QueryTopicRouteTableResult.h

+ 5 - 0
CHANGELOG

@@ -1,3 +1,8 @@
+2018-08-07 Version: 1.21.2
+1, Add api GetGatewayBySubDevice.
+2, Modified the time related response parameters.
+3, Add messageId in response with InvokeThingService,SetDeviceProperty and NotifyAddThingTopo.
+
 2018-08-05 Version: 1.21.1
 1, Add Interface SubmitSubtitleJob
 2, Support convert ttml、stl subtitle to vtt

+ 2 - 1
CMakeLists.txt

@@ -82,4 +82,5 @@ add_subdirectory(rtc)
 add_subdirectory(chatbot)
 add_subdirectory(teslastream)
 add_subdirectory(mopen)
-add_subdirectory(mts)
+add_subdirectory(mts)
+add_subdirectory(iot)

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.21.1
+1.21.2

+ 322 - 0
iot/CMakeLists.txt

@@ -0,0 +1,322 @@
+#
+# Copyright 2009-2017 Alibaba Cloud All rights reserved.
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#      http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+set(public_header_dir ${CMAKE_CURRENT_SOURCE_DIR}/../include)
+
+set(iot_public_header 
+	include/alibabacloud/iot/IotClient.h
+	include/alibabacloud/iot/IotExport.h )
+
+set(iot_public_header_model 
+	include/alibabacloud/iot/model/RegistDeviceRequest.h
+	include/alibabacloud/iot/model/RegistDeviceResult.h
+	include/alibabacloud/iot/model/DeleteTopicRouteTableRequest.h
+	include/alibabacloud/iot/model/DeleteTopicRouteTableResult.h
+	include/alibabacloud/iot/model/QueryDeviceEventDataRequest.h
+	include/alibabacloud/iot/model/QueryDeviceEventDataResult.h
+	include/alibabacloud/iot/model/GetDeviceStatusRequest.h
+	include/alibabacloud/iot/model/GetDeviceStatusResult.h
+	include/alibabacloud/iot/model/DeleteDeviceRequest.h
+	include/alibabacloud/iot/model/DeleteDeviceResult.h
+	include/alibabacloud/iot/model/EnableThingRequest.h
+	include/alibabacloud/iot/model/EnableThingResult.h
+	include/alibabacloud/iot/model/RRpcRequest.h
+	include/alibabacloud/iot/model/RRpcResult.h
+	include/alibabacloud/iot/model/DeleteRuleRequest.h
+	include/alibabacloud/iot/model/DeleteRuleResult.h
+	include/alibabacloud/iot/model/QueryDeviceByNameRequest.h
+	include/alibabacloud/iot/model/QueryDeviceByNameResult.h
+	include/alibabacloud/iot/model/QueryProductTopicRequest.h
+	include/alibabacloud/iot/model/QueryProductTopicResult.h
+	include/alibabacloud/iot/model/GetThingTopoRequest.h
+	include/alibabacloud/iot/model/GetThingTopoResult.h
+	include/alibabacloud/iot/model/QueryPageByApplyIdRequest.h
+	include/alibabacloud/iot/model/QueryPageByApplyIdResult.h
+	include/alibabacloud/iot/model/CreateTopicRouteTableRequest.h
+	include/alibabacloud/iot/model/CreateTopicRouteTableResult.h
+	include/alibabacloud/iot/model/CreateProductRequest.h
+	include/alibabacloud/iot/model/CreateProductResult.h
+	include/alibabacloud/iot/model/UpdateRuleRequest.h
+	include/alibabacloud/iot/model/UpdateRuleResult.h
+	include/alibabacloud/iot/model/QueryDevicePropertyDataRequest.h
+	include/alibabacloud/iot/model/QueryDevicePropertyDataResult.h
+	include/alibabacloud/iot/model/QueryDevicePropRequest.h
+	include/alibabacloud/iot/model/QueryDevicePropResult.h
+	include/alibabacloud/iot/model/DeleteDevicePropRequest.h
+	include/alibabacloud/iot/model/DeleteDevicePropResult.h
+	include/alibabacloud/iot/model/StopRuleRequest.h
+	include/alibabacloud/iot/model/StopRuleResult.h
+	include/alibabacloud/iot/model/QueryDeviceDetailRequest.h
+	include/alibabacloud/iot/model/QueryDeviceDetailResult.h
+	include/alibabacloud/iot/model/NotifyAddThingTopoRequest.h
+	include/alibabacloud/iot/model/NotifyAddThingTopoResult.h
+	include/alibabacloud/iot/model/InvokeThingServiceRequest.h
+	include/alibabacloud/iot/model/InvokeThingServiceResult.h
+	include/alibabacloud/iot/model/ListRuleActionsRequest.h
+	include/alibabacloud/iot/model/ListRuleActionsResult.h
+	include/alibabacloud/iot/model/BatchCheckDeviceNamesRequest.h
+	include/alibabacloud/iot/model/BatchCheckDeviceNamesResult.h
+	include/alibabacloud/iot/model/UpdateProductTopicRequest.h
+	include/alibabacloud/iot/model/UpdateProductTopicResult.h
+	include/alibabacloud/iot/model/UpdateRuleActionRequest.h
+	include/alibabacloud/iot/model/UpdateRuleActionResult.h
+	include/alibabacloud/iot/model/UpdateProductRequest.h
+	include/alibabacloud/iot/model/UpdateProductResult.h
+	include/alibabacloud/iot/model/QueryProductRequest.h
+	include/alibabacloud/iot/model/QueryProductResult.h
+	include/alibabacloud/iot/model/UpdateDeviceShadowRequest.h
+	include/alibabacloud/iot/model/UpdateDeviceShadowResult.h
+	include/alibabacloud/iot/model/QueryBatchRegisterDeviceStatusRequest.h
+	include/alibabacloud/iot/model/QueryBatchRegisterDeviceStatusResult.h
+	include/alibabacloud/iot/model/SetDevicePropertyRequest.h
+	include/alibabacloud/iot/model/SetDevicePropertyResult.h
+	include/alibabacloud/iot/model/RegisterDeviceRequest.h
+	include/alibabacloud/iot/model/RegisterDeviceResult.h
+	include/alibabacloud/iot/model/QueryDeviceRequest.h
+	include/alibabacloud/iot/model/QueryDeviceResult.h
+	include/alibabacloud/iot/model/ListRuleRequest.h
+	include/alibabacloud/iot/model/ListRuleResult.h
+	include/alibabacloud/iot/model/QueryTopicRouteTableRequest.h
+	include/alibabacloud/iot/model/QueryTopicRouteTableResult.h
+	include/alibabacloud/iot/model/CreateRuleRequest.h
+	include/alibabacloud/iot/model/CreateRuleResult.h
+	include/alibabacloud/iot/model/StartRuleRequest.h
+	include/alibabacloud/iot/model/StartRuleResult.h
+	include/alibabacloud/iot/model/ApplyDeviceWithNamesRequest.h
+	include/alibabacloud/iot/model/ApplyDeviceWithNamesResult.h
+	include/alibabacloud/iot/model/QueryProductListRequest.h
+	include/alibabacloud/iot/model/QueryProductListResult.h
+	include/alibabacloud/iot/model/QueryDevicePropertyStatusRequest.h
+	include/alibabacloud/iot/model/QueryDevicePropertyStatusResult.h
+	include/alibabacloud/iot/model/QueryDeviceStatisticsRequest.h
+	include/alibabacloud/iot/model/QueryDeviceStatisticsResult.h
+	include/alibabacloud/iot/model/PubRequest.h
+	include/alibabacloud/iot/model/PubResult.h
+	include/alibabacloud/iot/model/SaveDevicePropRequest.h
+	include/alibabacloud/iot/model/SaveDevicePropResult.h
+	include/alibabacloud/iot/model/DeleteProductTopicRequest.h
+	include/alibabacloud/iot/model/DeleteProductTopicResult.h
+	include/alibabacloud/iot/model/QueryApplyStatusRequest.h
+	include/alibabacloud/iot/model/QueryApplyStatusResult.h
+	include/alibabacloud/iot/model/QueryDeviceServiceDataRequest.h
+	include/alibabacloud/iot/model/QueryDeviceServiceDataResult.h
+	include/alibabacloud/iot/model/BatchRegisterDeviceWithApplyIdRequest.h
+	include/alibabacloud/iot/model/BatchRegisterDeviceWithApplyIdResult.h
+	include/alibabacloud/iot/model/DisableThingRequest.h
+	include/alibabacloud/iot/model/DisableThingResult.h
+	include/alibabacloud/iot/model/CreateProductTopicRequest.h
+	include/alibabacloud/iot/model/CreateProductTopicResult.h
+	include/alibabacloud/iot/model/RemoveThingTopoRequest.h
+	include/alibabacloud/iot/model/RemoveThingTopoResult.h
+	include/alibabacloud/iot/model/QueryTopicReverseRouteTableRequest.h
+	include/alibabacloud/iot/model/QueryTopicReverseRouteTableResult.h
+	include/alibabacloud/iot/model/BatchGetDeviceStateRequest.h
+	include/alibabacloud/iot/model/BatchGetDeviceStateResult.h
+	include/alibabacloud/iot/model/GetRuleActionRequest.h
+	include/alibabacloud/iot/model/GetRuleActionResult.h
+	include/alibabacloud/iot/model/GetRuleRequest.h
+	include/alibabacloud/iot/model/GetRuleResult.h
+	include/alibabacloud/iot/model/GetDeviceShadowRequest.h
+	include/alibabacloud/iot/model/GetDeviceShadowResult.h
+	include/alibabacloud/iot/model/GetGatewayBySubDeviceRequest.h
+	include/alibabacloud/iot/model/GetGatewayBySubDeviceResult.h
+	include/alibabacloud/iot/model/CreateRuleActionRequest.h
+	include/alibabacloud/iot/model/CreateRuleActionResult.h
+	include/alibabacloud/iot/model/BatchRegisterDeviceRequest.h
+	include/alibabacloud/iot/model/BatchRegisterDeviceResult.h
+	include/alibabacloud/iot/model/DeleteRuleActionRequest.h
+	include/alibabacloud/iot/model/DeleteRuleActionResult.h
+	include/alibabacloud/iot/model/PubBroadcastRequest.h
+	include/alibabacloud/iot/model/PubBroadcastResult.h )
+
+set(iot_src 
+	src/IotClient.cc
+	src/model/RegistDeviceRequest.cc
+	src/model/RegistDeviceResult.cc
+	src/model/DeleteTopicRouteTableRequest.cc
+	src/model/DeleteTopicRouteTableResult.cc
+	src/model/QueryDeviceEventDataRequest.cc
+	src/model/QueryDeviceEventDataResult.cc
+	src/model/GetDeviceStatusRequest.cc
+	src/model/GetDeviceStatusResult.cc
+	src/model/DeleteDeviceRequest.cc
+	src/model/DeleteDeviceResult.cc
+	src/model/EnableThingRequest.cc
+	src/model/EnableThingResult.cc
+	src/model/RRpcRequest.cc
+	src/model/RRpcResult.cc
+	src/model/DeleteRuleRequest.cc
+	src/model/DeleteRuleResult.cc
+	src/model/QueryDeviceByNameRequest.cc
+	src/model/QueryDeviceByNameResult.cc
+	src/model/QueryProductTopicRequest.cc
+	src/model/QueryProductTopicResult.cc
+	src/model/GetThingTopoRequest.cc
+	src/model/GetThingTopoResult.cc
+	src/model/QueryPageByApplyIdRequest.cc
+	src/model/QueryPageByApplyIdResult.cc
+	src/model/CreateTopicRouteTableRequest.cc
+	src/model/CreateTopicRouteTableResult.cc
+	src/model/CreateProductRequest.cc
+	src/model/CreateProductResult.cc
+	src/model/UpdateRuleRequest.cc
+	src/model/UpdateRuleResult.cc
+	src/model/QueryDevicePropertyDataRequest.cc
+	src/model/QueryDevicePropertyDataResult.cc
+	src/model/QueryDevicePropRequest.cc
+	src/model/QueryDevicePropResult.cc
+	src/model/DeleteDevicePropRequest.cc
+	src/model/DeleteDevicePropResult.cc
+	src/model/StopRuleRequest.cc
+	src/model/StopRuleResult.cc
+	src/model/QueryDeviceDetailRequest.cc
+	src/model/QueryDeviceDetailResult.cc
+	src/model/NotifyAddThingTopoRequest.cc
+	src/model/NotifyAddThingTopoResult.cc
+	src/model/InvokeThingServiceRequest.cc
+	src/model/InvokeThingServiceResult.cc
+	src/model/ListRuleActionsRequest.cc
+	src/model/ListRuleActionsResult.cc
+	src/model/BatchCheckDeviceNamesRequest.cc
+	src/model/BatchCheckDeviceNamesResult.cc
+	src/model/UpdateProductTopicRequest.cc
+	src/model/UpdateProductTopicResult.cc
+	src/model/UpdateRuleActionRequest.cc
+	src/model/UpdateRuleActionResult.cc
+	src/model/UpdateProductRequest.cc
+	src/model/UpdateProductResult.cc
+	src/model/QueryProductRequest.cc
+	src/model/QueryProductResult.cc
+	src/model/UpdateDeviceShadowRequest.cc
+	src/model/UpdateDeviceShadowResult.cc
+	src/model/QueryBatchRegisterDeviceStatusRequest.cc
+	src/model/QueryBatchRegisterDeviceStatusResult.cc
+	src/model/SetDevicePropertyRequest.cc
+	src/model/SetDevicePropertyResult.cc
+	src/model/RegisterDeviceRequest.cc
+	src/model/RegisterDeviceResult.cc
+	src/model/QueryDeviceRequest.cc
+	src/model/QueryDeviceResult.cc
+	src/model/ListRuleRequest.cc
+	src/model/ListRuleResult.cc
+	src/model/QueryTopicRouteTableRequest.cc
+	src/model/QueryTopicRouteTableResult.cc
+	src/model/CreateRuleRequest.cc
+	src/model/CreateRuleResult.cc
+	src/model/StartRuleRequest.cc
+	src/model/StartRuleResult.cc
+	src/model/ApplyDeviceWithNamesRequest.cc
+	src/model/ApplyDeviceWithNamesResult.cc
+	src/model/QueryProductListRequest.cc
+	src/model/QueryProductListResult.cc
+	src/model/QueryDevicePropertyStatusRequest.cc
+	src/model/QueryDevicePropertyStatusResult.cc
+	src/model/QueryDeviceStatisticsRequest.cc
+	src/model/QueryDeviceStatisticsResult.cc
+	src/model/PubRequest.cc
+	src/model/PubResult.cc
+	src/model/SaveDevicePropRequest.cc
+	src/model/SaveDevicePropResult.cc
+	src/model/DeleteProductTopicRequest.cc
+	src/model/DeleteProductTopicResult.cc
+	src/model/QueryApplyStatusRequest.cc
+	src/model/QueryApplyStatusResult.cc
+	src/model/QueryDeviceServiceDataRequest.cc
+	src/model/QueryDeviceServiceDataResult.cc
+	src/model/BatchRegisterDeviceWithApplyIdRequest.cc
+	src/model/BatchRegisterDeviceWithApplyIdResult.cc
+	src/model/DisableThingRequest.cc
+	src/model/DisableThingResult.cc
+	src/model/CreateProductTopicRequest.cc
+	src/model/CreateProductTopicResult.cc
+	src/model/RemoveThingTopoRequest.cc
+	src/model/RemoveThingTopoResult.cc
+	src/model/QueryTopicReverseRouteTableRequest.cc
+	src/model/QueryTopicReverseRouteTableResult.cc
+	src/model/BatchGetDeviceStateRequest.cc
+	src/model/BatchGetDeviceStateResult.cc
+	src/model/GetRuleActionRequest.cc
+	src/model/GetRuleActionResult.cc
+	src/model/GetRuleRequest.cc
+	src/model/GetRuleResult.cc
+	src/model/GetDeviceShadowRequest.cc
+	src/model/GetDeviceShadowResult.cc
+	src/model/GetGatewayBySubDeviceRequest.cc
+	src/model/GetGatewayBySubDeviceResult.cc
+	src/model/CreateRuleActionRequest.cc
+	src/model/CreateRuleActionResult.cc
+	src/model/BatchRegisterDeviceRequest.cc
+	src/model/BatchRegisterDeviceResult.cc
+	src/model/DeleteRuleActionRequest.cc
+	src/model/DeleteRuleActionResult.cc
+	src/model/PubBroadcastRequest.cc
+	src/model/PubBroadcastResult.cc )
+
+add_library(iot ${LIB_TYPE}
+	${iot_public_header}
+	${iot_public_header_model}
+	${iot_src})
+
+set_target_properties(iot
+	PROPERTIES
+	LINKER_LANGUAGE CXX
+	ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib
+	LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib
+	RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin
+	OUTPUT_NAME ${TARGET_OUTPUT_NAME_PREFIX}iot
+	)
+
+if(${LIB_TYPE} STREQUAL "SHARED")
+	set_target_properties(iot
+		PROPERTIES
+		DEFINE_SYMBOL ALIBABACLOUD_IOT_LIBRARY)
+endif()
+
+target_include_directories(iot
+	PRIVATE include
+		${CMAKE_SOURCE_DIR}/core/include
+	)
+target_link_libraries(iot
+	core)
+
+if(CMAKE_HOST_WIN32)
+	ExternalProject_Get_Property(jsoncpp INSTALL_DIR)
+	set(jsoncpp_install_dir ${INSTALL_DIR})
+	add_dependencies(iot
+		jsoncpp)
+	target_include_directories(iot
+		PRIVATE	${jsoncpp_install_dir}/include)
+	target_link_libraries(iot
+		${jsoncpp_install_dir}/lib/jsoncpp.lib)
+	set_target_properties(iot
+    	PROPERTIES
+    		COMPILE_OPTIONS "/bigobj")
+else()
+	target_include_directories(iot
+		PRIVATE /usr/include/jsoncpp)
+	target_link_libraries(iot
+		jsoncpp)
+endif()
+
+install(FILES ${iot_public_header}
+	DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/alibabacloud/iot)
+install(FILES ${iot_public_header_model}
+	DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/alibabacloud/iot/model)
+install(TARGETS iot
+	ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+	LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+	RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+	)

+ 526 - 0
iot/include/alibabacloud/iot/IotClient.h

@@ -0,0 +1,526 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_IOTCLIENT_H_
+#define ALIBABACLOUD_IOT_IOTCLIENT_H_
+
+#include <future>
+#include <alibabacloud/core/AsyncCallerContext.h>
+#include <alibabacloud/core/EndpointProvider.h>
+#include <alibabacloud/core/RpcServiceClient.h>
+#include "IotExport.h"
+#include "model/RegistDeviceRequest.h"
+#include "model/RegistDeviceResult.h"
+#include "model/DeleteTopicRouteTableRequest.h"
+#include "model/DeleteTopicRouteTableResult.h"
+#include "model/QueryDeviceEventDataRequest.h"
+#include "model/QueryDeviceEventDataResult.h"
+#include "model/GetDeviceStatusRequest.h"
+#include "model/GetDeviceStatusResult.h"
+#include "model/DeleteDeviceRequest.h"
+#include "model/DeleteDeviceResult.h"
+#include "model/EnableThingRequest.h"
+#include "model/EnableThingResult.h"
+#include "model/RRpcRequest.h"
+#include "model/RRpcResult.h"
+#include "model/DeleteRuleRequest.h"
+#include "model/DeleteRuleResult.h"
+#include "model/QueryDeviceByNameRequest.h"
+#include "model/QueryDeviceByNameResult.h"
+#include "model/QueryProductTopicRequest.h"
+#include "model/QueryProductTopicResult.h"
+#include "model/GetThingTopoRequest.h"
+#include "model/GetThingTopoResult.h"
+#include "model/QueryPageByApplyIdRequest.h"
+#include "model/QueryPageByApplyIdResult.h"
+#include "model/CreateTopicRouteTableRequest.h"
+#include "model/CreateTopicRouteTableResult.h"
+#include "model/CreateProductRequest.h"
+#include "model/CreateProductResult.h"
+#include "model/UpdateRuleRequest.h"
+#include "model/UpdateRuleResult.h"
+#include "model/QueryDevicePropertyDataRequest.h"
+#include "model/QueryDevicePropertyDataResult.h"
+#include "model/QueryDevicePropRequest.h"
+#include "model/QueryDevicePropResult.h"
+#include "model/DeleteDevicePropRequest.h"
+#include "model/DeleteDevicePropResult.h"
+#include "model/StopRuleRequest.h"
+#include "model/StopRuleResult.h"
+#include "model/QueryDeviceDetailRequest.h"
+#include "model/QueryDeviceDetailResult.h"
+#include "model/NotifyAddThingTopoRequest.h"
+#include "model/NotifyAddThingTopoResult.h"
+#include "model/InvokeThingServiceRequest.h"
+#include "model/InvokeThingServiceResult.h"
+#include "model/ListRuleActionsRequest.h"
+#include "model/ListRuleActionsResult.h"
+#include "model/BatchCheckDeviceNamesRequest.h"
+#include "model/BatchCheckDeviceNamesResult.h"
+#include "model/UpdateProductTopicRequest.h"
+#include "model/UpdateProductTopicResult.h"
+#include "model/UpdateRuleActionRequest.h"
+#include "model/UpdateRuleActionResult.h"
+#include "model/UpdateProductRequest.h"
+#include "model/UpdateProductResult.h"
+#include "model/QueryProductRequest.h"
+#include "model/QueryProductResult.h"
+#include "model/UpdateDeviceShadowRequest.h"
+#include "model/UpdateDeviceShadowResult.h"
+#include "model/QueryBatchRegisterDeviceStatusRequest.h"
+#include "model/QueryBatchRegisterDeviceStatusResult.h"
+#include "model/SetDevicePropertyRequest.h"
+#include "model/SetDevicePropertyResult.h"
+#include "model/RegisterDeviceRequest.h"
+#include "model/RegisterDeviceResult.h"
+#include "model/QueryDeviceRequest.h"
+#include "model/QueryDeviceResult.h"
+#include "model/ListRuleRequest.h"
+#include "model/ListRuleResult.h"
+#include "model/QueryTopicRouteTableRequest.h"
+#include "model/QueryTopicRouteTableResult.h"
+#include "model/CreateRuleRequest.h"
+#include "model/CreateRuleResult.h"
+#include "model/StartRuleRequest.h"
+#include "model/StartRuleResult.h"
+#include "model/ApplyDeviceWithNamesRequest.h"
+#include "model/ApplyDeviceWithNamesResult.h"
+#include "model/QueryProductListRequest.h"
+#include "model/QueryProductListResult.h"
+#include "model/QueryDevicePropertyStatusRequest.h"
+#include "model/QueryDevicePropertyStatusResult.h"
+#include "model/QueryDeviceStatisticsRequest.h"
+#include "model/QueryDeviceStatisticsResult.h"
+#include "model/PubRequest.h"
+#include "model/PubResult.h"
+#include "model/SaveDevicePropRequest.h"
+#include "model/SaveDevicePropResult.h"
+#include "model/DeleteProductTopicRequest.h"
+#include "model/DeleteProductTopicResult.h"
+#include "model/QueryApplyStatusRequest.h"
+#include "model/QueryApplyStatusResult.h"
+#include "model/QueryDeviceServiceDataRequest.h"
+#include "model/QueryDeviceServiceDataResult.h"
+#include "model/BatchRegisterDeviceWithApplyIdRequest.h"
+#include "model/BatchRegisterDeviceWithApplyIdResult.h"
+#include "model/DisableThingRequest.h"
+#include "model/DisableThingResult.h"
+#include "model/CreateProductTopicRequest.h"
+#include "model/CreateProductTopicResult.h"
+#include "model/RemoveThingTopoRequest.h"
+#include "model/RemoveThingTopoResult.h"
+#include "model/QueryTopicReverseRouteTableRequest.h"
+#include "model/QueryTopicReverseRouteTableResult.h"
+#include "model/BatchGetDeviceStateRequest.h"
+#include "model/BatchGetDeviceStateResult.h"
+#include "model/GetRuleActionRequest.h"
+#include "model/GetRuleActionResult.h"
+#include "model/GetRuleRequest.h"
+#include "model/GetRuleResult.h"
+#include "model/GetDeviceShadowRequest.h"
+#include "model/GetDeviceShadowResult.h"
+#include "model/GetGatewayBySubDeviceRequest.h"
+#include "model/GetGatewayBySubDeviceResult.h"
+#include "model/CreateRuleActionRequest.h"
+#include "model/CreateRuleActionResult.h"
+#include "model/BatchRegisterDeviceRequest.h"
+#include "model/BatchRegisterDeviceResult.h"
+#include "model/DeleteRuleActionRequest.h"
+#include "model/DeleteRuleActionResult.h"
+#include "model/PubBroadcastRequest.h"
+#include "model/PubBroadcastResult.h"
+
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		class ALIBABACLOUD_IOT_EXPORT IotClient : public RpcServiceClient
+		{
+		public:
+			typedef Outcome<Error, Model::RegistDeviceResult> RegistDeviceOutcome;
+			typedef std::future<RegistDeviceOutcome> RegistDeviceOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::RegistDeviceRequest&, const RegistDeviceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> RegistDeviceAsyncHandler;
+			typedef Outcome<Error, Model::DeleteTopicRouteTableResult> DeleteTopicRouteTableOutcome;
+			typedef std::future<DeleteTopicRouteTableOutcome> DeleteTopicRouteTableOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::DeleteTopicRouteTableRequest&, const DeleteTopicRouteTableOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteTopicRouteTableAsyncHandler;
+			typedef Outcome<Error, Model::QueryDeviceEventDataResult> QueryDeviceEventDataOutcome;
+			typedef std::future<QueryDeviceEventDataOutcome> QueryDeviceEventDataOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::QueryDeviceEventDataRequest&, const QueryDeviceEventDataOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryDeviceEventDataAsyncHandler;
+			typedef Outcome<Error, Model::GetDeviceStatusResult> GetDeviceStatusOutcome;
+			typedef std::future<GetDeviceStatusOutcome> GetDeviceStatusOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::GetDeviceStatusRequest&, const GetDeviceStatusOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetDeviceStatusAsyncHandler;
+			typedef Outcome<Error, Model::DeleteDeviceResult> DeleteDeviceOutcome;
+			typedef std::future<DeleteDeviceOutcome> DeleteDeviceOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::DeleteDeviceRequest&, const DeleteDeviceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteDeviceAsyncHandler;
+			typedef Outcome<Error, Model::EnableThingResult> EnableThingOutcome;
+			typedef std::future<EnableThingOutcome> EnableThingOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::EnableThingRequest&, const EnableThingOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> EnableThingAsyncHandler;
+			typedef Outcome<Error, Model::RRpcResult> RRpcOutcome;
+			typedef std::future<RRpcOutcome> RRpcOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::RRpcRequest&, const RRpcOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> RRpcAsyncHandler;
+			typedef Outcome<Error, Model::DeleteRuleResult> DeleteRuleOutcome;
+			typedef std::future<DeleteRuleOutcome> DeleteRuleOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::DeleteRuleRequest&, const DeleteRuleOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteRuleAsyncHandler;
+			typedef Outcome<Error, Model::QueryDeviceByNameResult> QueryDeviceByNameOutcome;
+			typedef std::future<QueryDeviceByNameOutcome> QueryDeviceByNameOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::QueryDeviceByNameRequest&, const QueryDeviceByNameOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryDeviceByNameAsyncHandler;
+			typedef Outcome<Error, Model::QueryProductTopicResult> QueryProductTopicOutcome;
+			typedef std::future<QueryProductTopicOutcome> QueryProductTopicOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::QueryProductTopicRequest&, const QueryProductTopicOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryProductTopicAsyncHandler;
+			typedef Outcome<Error, Model::GetThingTopoResult> GetThingTopoOutcome;
+			typedef std::future<GetThingTopoOutcome> GetThingTopoOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::GetThingTopoRequest&, const GetThingTopoOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetThingTopoAsyncHandler;
+			typedef Outcome<Error, Model::QueryPageByApplyIdResult> QueryPageByApplyIdOutcome;
+			typedef std::future<QueryPageByApplyIdOutcome> QueryPageByApplyIdOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::QueryPageByApplyIdRequest&, const QueryPageByApplyIdOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryPageByApplyIdAsyncHandler;
+			typedef Outcome<Error, Model::CreateTopicRouteTableResult> CreateTopicRouteTableOutcome;
+			typedef std::future<CreateTopicRouteTableOutcome> CreateTopicRouteTableOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::CreateTopicRouteTableRequest&, const CreateTopicRouteTableOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateTopicRouteTableAsyncHandler;
+			typedef Outcome<Error, Model::CreateProductResult> CreateProductOutcome;
+			typedef std::future<CreateProductOutcome> CreateProductOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::CreateProductRequest&, const CreateProductOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateProductAsyncHandler;
+			typedef Outcome<Error, Model::UpdateRuleResult> UpdateRuleOutcome;
+			typedef std::future<UpdateRuleOutcome> UpdateRuleOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::UpdateRuleRequest&, const UpdateRuleOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateRuleAsyncHandler;
+			typedef Outcome<Error, Model::QueryDevicePropertyDataResult> QueryDevicePropertyDataOutcome;
+			typedef std::future<QueryDevicePropertyDataOutcome> QueryDevicePropertyDataOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::QueryDevicePropertyDataRequest&, const QueryDevicePropertyDataOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryDevicePropertyDataAsyncHandler;
+			typedef Outcome<Error, Model::QueryDevicePropResult> QueryDevicePropOutcome;
+			typedef std::future<QueryDevicePropOutcome> QueryDevicePropOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::QueryDevicePropRequest&, const QueryDevicePropOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryDevicePropAsyncHandler;
+			typedef Outcome<Error, Model::DeleteDevicePropResult> DeleteDevicePropOutcome;
+			typedef std::future<DeleteDevicePropOutcome> DeleteDevicePropOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::DeleteDevicePropRequest&, const DeleteDevicePropOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteDevicePropAsyncHandler;
+			typedef Outcome<Error, Model::StopRuleResult> StopRuleOutcome;
+			typedef std::future<StopRuleOutcome> StopRuleOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::StopRuleRequest&, const StopRuleOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> StopRuleAsyncHandler;
+			typedef Outcome<Error, Model::QueryDeviceDetailResult> QueryDeviceDetailOutcome;
+			typedef std::future<QueryDeviceDetailOutcome> QueryDeviceDetailOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::QueryDeviceDetailRequest&, const QueryDeviceDetailOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryDeviceDetailAsyncHandler;
+			typedef Outcome<Error, Model::NotifyAddThingTopoResult> NotifyAddThingTopoOutcome;
+			typedef std::future<NotifyAddThingTopoOutcome> NotifyAddThingTopoOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::NotifyAddThingTopoRequest&, const NotifyAddThingTopoOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> NotifyAddThingTopoAsyncHandler;
+			typedef Outcome<Error, Model::InvokeThingServiceResult> InvokeThingServiceOutcome;
+			typedef std::future<InvokeThingServiceOutcome> InvokeThingServiceOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::InvokeThingServiceRequest&, const InvokeThingServiceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> InvokeThingServiceAsyncHandler;
+			typedef Outcome<Error, Model::ListRuleActionsResult> ListRuleActionsOutcome;
+			typedef std::future<ListRuleActionsOutcome> ListRuleActionsOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::ListRuleActionsRequest&, const ListRuleActionsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListRuleActionsAsyncHandler;
+			typedef Outcome<Error, Model::BatchCheckDeviceNamesResult> BatchCheckDeviceNamesOutcome;
+			typedef std::future<BatchCheckDeviceNamesOutcome> BatchCheckDeviceNamesOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::BatchCheckDeviceNamesRequest&, const BatchCheckDeviceNamesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> BatchCheckDeviceNamesAsyncHandler;
+			typedef Outcome<Error, Model::UpdateProductTopicResult> UpdateProductTopicOutcome;
+			typedef std::future<UpdateProductTopicOutcome> UpdateProductTopicOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::UpdateProductTopicRequest&, const UpdateProductTopicOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateProductTopicAsyncHandler;
+			typedef Outcome<Error, Model::UpdateRuleActionResult> UpdateRuleActionOutcome;
+			typedef std::future<UpdateRuleActionOutcome> UpdateRuleActionOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::UpdateRuleActionRequest&, const UpdateRuleActionOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateRuleActionAsyncHandler;
+			typedef Outcome<Error, Model::UpdateProductResult> UpdateProductOutcome;
+			typedef std::future<UpdateProductOutcome> UpdateProductOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::UpdateProductRequest&, const UpdateProductOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateProductAsyncHandler;
+			typedef Outcome<Error, Model::QueryProductResult> QueryProductOutcome;
+			typedef std::future<QueryProductOutcome> QueryProductOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::QueryProductRequest&, const QueryProductOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryProductAsyncHandler;
+			typedef Outcome<Error, Model::UpdateDeviceShadowResult> UpdateDeviceShadowOutcome;
+			typedef std::future<UpdateDeviceShadowOutcome> UpdateDeviceShadowOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::UpdateDeviceShadowRequest&, const UpdateDeviceShadowOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateDeviceShadowAsyncHandler;
+			typedef Outcome<Error, Model::QueryBatchRegisterDeviceStatusResult> QueryBatchRegisterDeviceStatusOutcome;
+			typedef std::future<QueryBatchRegisterDeviceStatusOutcome> QueryBatchRegisterDeviceStatusOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::QueryBatchRegisterDeviceStatusRequest&, const QueryBatchRegisterDeviceStatusOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryBatchRegisterDeviceStatusAsyncHandler;
+			typedef Outcome<Error, Model::SetDevicePropertyResult> SetDevicePropertyOutcome;
+			typedef std::future<SetDevicePropertyOutcome> SetDevicePropertyOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::SetDevicePropertyRequest&, const SetDevicePropertyOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SetDevicePropertyAsyncHandler;
+			typedef Outcome<Error, Model::RegisterDeviceResult> RegisterDeviceOutcome;
+			typedef std::future<RegisterDeviceOutcome> RegisterDeviceOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::RegisterDeviceRequest&, const RegisterDeviceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> RegisterDeviceAsyncHandler;
+			typedef Outcome<Error, Model::QueryDeviceResult> QueryDeviceOutcome;
+			typedef std::future<QueryDeviceOutcome> QueryDeviceOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::QueryDeviceRequest&, const QueryDeviceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryDeviceAsyncHandler;
+			typedef Outcome<Error, Model::ListRuleResult> ListRuleOutcome;
+			typedef std::future<ListRuleOutcome> ListRuleOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::ListRuleRequest&, const ListRuleOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListRuleAsyncHandler;
+			typedef Outcome<Error, Model::QueryTopicRouteTableResult> QueryTopicRouteTableOutcome;
+			typedef std::future<QueryTopicRouteTableOutcome> QueryTopicRouteTableOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::QueryTopicRouteTableRequest&, const QueryTopicRouteTableOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryTopicRouteTableAsyncHandler;
+			typedef Outcome<Error, Model::CreateRuleResult> CreateRuleOutcome;
+			typedef std::future<CreateRuleOutcome> CreateRuleOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::CreateRuleRequest&, const CreateRuleOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateRuleAsyncHandler;
+			typedef Outcome<Error, Model::StartRuleResult> StartRuleOutcome;
+			typedef std::future<StartRuleOutcome> StartRuleOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::StartRuleRequest&, const StartRuleOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> StartRuleAsyncHandler;
+			typedef Outcome<Error, Model::ApplyDeviceWithNamesResult> ApplyDeviceWithNamesOutcome;
+			typedef std::future<ApplyDeviceWithNamesOutcome> ApplyDeviceWithNamesOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::ApplyDeviceWithNamesRequest&, const ApplyDeviceWithNamesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ApplyDeviceWithNamesAsyncHandler;
+			typedef Outcome<Error, Model::QueryProductListResult> QueryProductListOutcome;
+			typedef std::future<QueryProductListOutcome> QueryProductListOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::QueryProductListRequest&, const QueryProductListOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryProductListAsyncHandler;
+			typedef Outcome<Error, Model::QueryDevicePropertyStatusResult> QueryDevicePropertyStatusOutcome;
+			typedef std::future<QueryDevicePropertyStatusOutcome> QueryDevicePropertyStatusOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::QueryDevicePropertyStatusRequest&, const QueryDevicePropertyStatusOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryDevicePropertyStatusAsyncHandler;
+			typedef Outcome<Error, Model::QueryDeviceStatisticsResult> QueryDeviceStatisticsOutcome;
+			typedef std::future<QueryDeviceStatisticsOutcome> QueryDeviceStatisticsOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::QueryDeviceStatisticsRequest&, const QueryDeviceStatisticsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryDeviceStatisticsAsyncHandler;
+			typedef Outcome<Error, Model::PubResult> PubOutcome;
+			typedef std::future<PubOutcome> PubOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::PubRequest&, const PubOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> PubAsyncHandler;
+			typedef Outcome<Error, Model::SaveDevicePropResult> SaveDevicePropOutcome;
+			typedef std::future<SaveDevicePropOutcome> SaveDevicePropOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::SaveDevicePropRequest&, const SaveDevicePropOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SaveDevicePropAsyncHandler;
+			typedef Outcome<Error, Model::DeleteProductTopicResult> DeleteProductTopicOutcome;
+			typedef std::future<DeleteProductTopicOutcome> DeleteProductTopicOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::DeleteProductTopicRequest&, const DeleteProductTopicOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteProductTopicAsyncHandler;
+			typedef Outcome<Error, Model::QueryApplyStatusResult> QueryApplyStatusOutcome;
+			typedef std::future<QueryApplyStatusOutcome> QueryApplyStatusOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::QueryApplyStatusRequest&, const QueryApplyStatusOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryApplyStatusAsyncHandler;
+			typedef Outcome<Error, Model::QueryDeviceServiceDataResult> QueryDeviceServiceDataOutcome;
+			typedef std::future<QueryDeviceServiceDataOutcome> QueryDeviceServiceDataOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::QueryDeviceServiceDataRequest&, const QueryDeviceServiceDataOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryDeviceServiceDataAsyncHandler;
+			typedef Outcome<Error, Model::BatchRegisterDeviceWithApplyIdResult> BatchRegisterDeviceWithApplyIdOutcome;
+			typedef std::future<BatchRegisterDeviceWithApplyIdOutcome> BatchRegisterDeviceWithApplyIdOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::BatchRegisterDeviceWithApplyIdRequest&, const BatchRegisterDeviceWithApplyIdOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> BatchRegisterDeviceWithApplyIdAsyncHandler;
+			typedef Outcome<Error, Model::DisableThingResult> DisableThingOutcome;
+			typedef std::future<DisableThingOutcome> DisableThingOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::DisableThingRequest&, const DisableThingOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DisableThingAsyncHandler;
+			typedef Outcome<Error, Model::CreateProductTopicResult> CreateProductTopicOutcome;
+			typedef std::future<CreateProductTopicOutcome> CreateProductTopicOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::CreateProductTopicRequest&, const CreateProductTopicOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateProductTopicAsyncHandler;
+			typedef Outcome<Error, Model::RemoveThingTopoResult> RemoveThingTopoOutcome;
+			typedef std::future<RemoveThingTopoOutcome> RemoveThingTopoOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::RemoveThingTopoRequest&, const RemoveThingTopoOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> RemoveThingTopoAsyncHandler;
+			typedef Outcome<Error, Model::QueryTopicReverseRouteTableResult> QueryTopicReverseRouteTableOutcome;
+			typedef std::future<QueryTopicReverseRouteTableOutcome> QueryTopicReverseRouteTableOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::QueryTopicReverseRouteTableRequest&, const QueryTopicReverseRouteTableOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryTopicReverseRouteTableAsyncHandler;
+			typedef Outcome<Error, Model::BatchGetDeviceStateResult> BatchGetDeviceStateOutcome;
+			typedef std::future<BatchGetDeviceStateOutcome> BatchGetDeviceStateOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::BatchGetDeviceStateRequest&, const BatchGetDeviceStateOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> BatchGetDeviceStateAsyncHandler;
+			typedef Outcome<Error, Model::GetRuleActionResult> GetRuleActionOutcome;
+			typedef std::future<GetRuleActionOutcome> GetRuleActionOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::GetRuleActionRequest&, const GetRuleActionOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetRuleActionAsyncHandler;
+			typedef Outcome<Error, Model::GetRuleResult> GetRuleOutcome;
+			typedef std::future<GetRuleOutcome> GetRuleOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::GetRuleRequest&, const GetRuleOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetRuleAsyncHandler;
+			typedef Outcome<Error, Model::GetDeviceShadowResult> GetDeviceShadowOutcome;
+			typedef std::future<GetDeviceShadowOutcome> GetDeviceShadowOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::GetDeviceShadowRequest&, const GetDeviceShadowOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetDeviceShadowAsyncHandler;
+			typedef Outcome<Error, Model::GetGatewayBySubDeviceResult> GetGatewayBySubDeviceOutcome;
+			typedef std::future<GetGatewayBySubDeviceOutcome> GetGatewayBySubDeviceOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::GetGatewayBySubDeviceRequest&, const GetGatewayBySubDeviceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetGatewayBySubDeviceAsyncHandler;
+			typedef Outcome<Error, Model::CreateRuleActionResult> CreateRuleActionOutcome;
+			typedef std::future<CreateRuleActionOutcome> CreateRuleActionOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::CreateRuleActionRequest&, const CreateRuleActionOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateRuleActionAsyncHandler;
+			typedef Outcome<Error, Model::BatchRegisterDeviceResult> BatchRegisterDeviceOutcome;
+			typedef std::future<BatchRegisterDeviceOutcome> BatchRegisterDeviceOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::BatchRegisterDeviceRequest&, const BatchRegisterDeviceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> BatchRegisterDeviceAsyncHandler;
+			typedef Outcome<Error, Model::DeleteRuleActionResult> DeleteRuleActionOutcome;
+			typedef std::future<DeleteRuleActionOutcome> DeleteRuleActionOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::DeleteRuleActionRequest&, const DeleteRuleActionOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteRuleActionAsyncHandler;
+			typedef Outcome<Error, Model::PubBroadcastResult> PubBroadcastOutcome;
+			typedef std::future<PubBroadcastOutcome> PubBroadcastOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::PubBroadcastRequest&, const PubBroadcastOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> PubBroadcastAsyncHandler;
+
+			IotClient(const Credentials &credentials, const ClientConfiguration &configuration);
+			IotClient(const std::shared_ptr<CredentialsProvider> &credentialsProvider, const ClientConfiguration &configuration);
+			IotClient(const std::string &accessKeyId, const std::string &accessKeySecret, const ClientConfiguration &configuration);
+			~IotClient();
+			RegistDeviceOutcome registDevice(const Model::RegistDeviceRequest &request)const;
+			void registDeviceAsync(const Model::RegistDeviceRequest& request, const RegistDeviceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			RegistDeviceOutcomeCallable registDeviceCallable(const Model::RegistDeviceRequest& request) const;
+			DeleteTopicRouteTableOutcome deleteTopicRouteTable(const Model::DeleteTopicRouteTableRequest &request)const;
+			void deleteTopicRouteTableAsync(const Model::DeleteTopicRouteTableRequest& request, const DeleteTopicRouteTableAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteTopicRouteTableOutcomeCallable deleteTopicRouteTableCallable(const Model::DeleteTopicRouteTableRequest& request) const;
+			QueryDeviceEventDataOutcome queryDeviceEventData(const Model::QueryDeviceEventDataRequest &request)const;
+			void queryDeviceEventDataAsync(const Model::QueryDeviceEventDataRequest& request, const QueryDeviceEventDataAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			QueryDeviceEventDataOutcomeCallable queryDeviceEventDataCallable(const Model::QueryDeviceEventDataRequest& request) const;
+			GetDeviceStatusOutcome getDeviceStatus(const Model::GetDeviceStatusRequest &request)const;
+			void getDeviceStatusAsync(const Model::GetDeviceStatusRequest& request, const GetDeviceStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GetDeviceStatusOutcomeCallable getDeviceStatusCallable(const Model::GetDeviceStatusRequest& request) const;
+			DeleteDeviceOutcome deleteDevice(const Model::DeleteDeviceRequest &request)const;
+			void deleteDeviceAsync(const Model::DeleteDeviceRequest& request, const DeleteDeviceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteDeviceOutcomeCallable deleteDeviceCallable(const Model::DeleteDeviceRequest& request) const;
+			EnableThingOutcome enableThing(const Model::EnableThingRequest &request)const;
+			void enableThingAsync(const Model::EnableThingRequest& request, const EnableThingAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			EnableThingOutcomeCallable enableThingCallable(const Model::EnableThingRequest& request) const;
+			RRpcOutcome rRpc(const Model::RRpcRequest &request)const;
+			void rRpcAsync(const Model::RRpcRequest& request, const RRpcAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			RRpcOutcomeCallable rRpcCallable(const Model::RRpcRequest& request) const;
+			DeleteRuleOutcome deleteRule(const Model::DeleteRuleRequest &request)const;
+			void deleteRuleAsync(const Model::DeleteRuleRequest& request, const DeleteRuleAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteRuleOutcomeCallable deleteRuleCallable(const Model::DeleteRuleRequest& request) const;
+			QueryDeviceByNameOutcome queryDeviceByName(const Model::QueryDeviceByNameRequest &request)const;
+			void queryDeviceByNameAsync(const Model::QueryDeviceByNameRequest& request, const QueryDeviceByNameAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			QueryDeviceByNameOutcomeCallable queryDeviceByNameCallable(const Model::QueryDeviceByNameRequest& request) const;
+			QueryProductTopicOutcome queryProductTopic(const Model::QueryProductTopicRequest &request)const;
+			void queryProductTopicAsync(const Model::QueryProductTopicRequest& request, const QueryProductTopicAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			QueryProductTopicOutcomeCallable queryProductTopicCallable(const Model::QueryProductTopicRequest& request) const;
+			GetThingTopoOutcome getThingTopo(const Model::GetThingTopoRequest &request)const;
+			void getThingTopoAsync(const Model::GetThingTopoRequest& request, const GetThingTopoAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GetThingTopoOutcomeCallable getThingTopoCallable(const Model::GetThingTopoRequest& request) const;
+			QueryPageByApplyIdOutcome queryPageByApplyId(const Model::QueryPageByApplyIdRequest &request)const;
+			void queryPageByApplyIdAsync(const Model::QueryPageByApplyIdRequest& request, const QueryPageByApplyIdAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			QueryPageByApplyIdOutcomeCallable queryPageByApplyIdCallable(const Model::QueryPageByApplyIdRequest& request) const;
+			CreateTopicRouteTableOutcome createTopicRouteTable(const Model::CreateTopicRouteTableRequest &request)const;
+			void createTopicRouteTableAsync(const Model::CreateTopicRouteTableRequest& request, const CreateTopicRouteTableAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateTopicRouteTableOutcomeCallable createTopicRouteTableCallable(const Model::CreateTopicRouteTableRequest& request) const;
+			CreateProductOutcome createProduct(const Model::CreateProductRequest &request)const;
+			void createProductAsync(const Model::CreateProductRequest& request, const CreateProductAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateProductOutcomeCallable createProductCallable(const Model::CreateProductRequest& request) const;
+			UpdateRuleOutcome updateRule(const Model::UpdateRuleRequest &request)const;
+			void updateRuleAsync(const Model::UpdateRuleRequest& request, const UpdateRuleAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UpdateRuleOutcomeCallable updateRuleCallable(const Model::UpdateRuleRequest& request) const;
+			QueryDevicePropertyDataOutcome queryDevicePropertyData(const Model::QueryDevicePropertyDataRequest &request)const;
+			void queryDevicePropertyDataAsync(const Model::QueryDevicePropertyDataRequest& request, const QueryDevicePropertyDataAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			QueryDevicePropertyDataOutcomeCallable queryDevicePropertyDataCallable(const Model::QueryDevicePropertyDataRequest& request) const;
+			QueryDevicePropOutcome queryDeviceProp(const Model::QueryDevicePropRequest &request)const;
+			void queryDevicePropAsync(const Model::QueryDevicePropRequest& request, const QueryDevicePropAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			QueryDevicePropOutcomeCallable queryDevicePropCallable(const Model::QueryDevicePropRequest& request) const;
+			DeleteDevicePropOutcome deleteDeviceProp(const Model::DeleteDevicePropRequest &request)const;
+			void deleteDevicePropAsync(const Model::DeleteDevicePropRequest& request, const DeleteDevicePropAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteDevicePropOutcomeCallable deleteDevicePropCallable(const Model::DeleteDevicePropRequest& request) const;
+			StopRuleOutcome stopRule(const Model::StopRuleRequest &request)const;
+			void stopRuleAsync(const Model::StopRuleRequest& request, const StopRuleAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			StopRuleOutcomeCallable stopRuleCallable(const Model::StopRuleRequest& request) const;
+			QueryDeviceDetailOutcome queryDeviceDetail(const Model::QueryDeviceDetailRequest &request)const;
+			void queryDeviceDetailAsync(const Model::QueryDeviceDetailRequest& request, const QueryDeviceDetailAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			QueryDeviceDetailOutcomeCallable queryDeviceDetailCallable(const Model::QueryDeviceDetailRequest& request) const;
+			NotifyAddThingTopoOutcome notifyAddThingTopo(const Model::NotifyAddThingTopoRequest &request)const;
+			void notifyAddThingTopoAsync(const Model::NotifyAddThingTopoRequest& request, const NotifyAddThingTopoAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			NotifyAddThingTopoOutcomeCallable notifyAddThingTopoCallable(const Model::NotifyAddThingTopoRequest& request) const;
+			InvokeThingServiceOutcome invokeThingService(const Model::InvokeThingServiceRequest &request)const;
+			void invokeThingServiceAsync(const Model::InvokeThingServiceRequest& request, const InvokeThingServiceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			InvokeThingServiceOutcomeCallable invokeThingServiceCallable(const Model::InvokeThingServiceRequest& request) const;
+			ListRuleActionsOutcome listRuleActions(const Model::ListRuleActionsRequest &request)const;
+			void listRuleActionsAsync(const Model::ListRuleActionsRequest& request, const ListRuleActionsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListRuleActionsOutcomeCallable listRuleActionsCallable(const Model::ListRuleActionsRequest& request) const;
+			BatchCheckDeviceNamesOutcome batchCheckDeviceNames(const Model::BatchCheckDeviceNamesRequest &request)const;
+			void batchCheckDeviceNamesAsync(const Model::BatchCheckDeviceNamesRequest& request, const BatchCheckDeviceNamesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			BatchCheckDeviceNamesOutcomeCallable batchCheckDeviceNamesCallable(const Model::BatchCheckDeviceNamesRequest& request) const;
+			UpdateProductTopicOutcome updateProductTopic(const Model::UpdateProductTopicRequest &request)const;
+			void updateProductTopicAsync(const Model::UpdateProductTopicRequest& request, const UpdateProductTopicAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UpdateProductTopicOutcomeCallable updateProductTopicCallable(const Model::UpdateProductTopicRequest& request) const;
+			UpdateRuleActionOutcome updateRuleAction(const Model::UpdateRuleActionRequest &request)const;
+			void updateRuleActionAsync(const Model::UpdateRuleActionRequest& request, const UpdateRuleActionAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UpdateRuleActionOutcomeCallable updateRuleActionCallable(const Model::UpdateRuleActionRequest& request) const;
+			UpdateProductOutcome updateProduct(const Model::UpdateProductRequest &request)const;
+			void updateProductAsync(const Model::UpdateProductRequest& request, const UpdateProductAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UpdateProductOutcomeCallable updateProductCallable(const Model::UpdateProductRequest& request) const;
+			QueryProductOutcome queryProduct(const Model::QueryProductRequest &request)const;
+			void queryProductAsync(const Model::QueryProductRequest& request, const QueryProductAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			QueryProductOutcomeCallable queryProductCallable(const Model::QueryProductRequest& request) const;
+			UpdateDeviceShadowOutcome updateDeviceShadow(const Model::UpdateDeviceShadowRequest &request)const;
+			void updateDeviceShadowAsync(const Model::UpdateDeviceShadowRequest& request, const UpdateDeviceShadowAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UpdateDeviceShadowOutcomeCallable updateDeviceShadowCallable(const Model::UpdateDeviceShadowRequest& request) const;
+			QueryBatchRegisterDeviceStatusOutcome queryBatchRegisterDeviceStatus(const Model::QueryBatchRegisterDeviceStatusRequest &request)const;
+			void queryBatchRegisterDeviceStatusAsync(const Model::QueryBatchRegisterDeviceStatusRequest& request, const QueryBatchRegisterDeviceStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			QueryBatchRegisterDeviceStatusOutcomeCallable queryBatchRegisterDeviceStatusCallable(const Model::QueryBatchRegisterDeviceStatusRequest& request) const;
+			SetDevicePropertyOutcome setDeviceProperty(const Model::SetDevicePropertyRequest &request)const;
+			void setDevicePropertyAsync(const Model::SetDevicePropertyRequest& request, const SetDevicePropertyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			SetDevicePropertyOutcomeCallable setDevicePropertyCallable(const Model::SetDevicePropertyRequest& request) const;
+			RegisterDeviceOutcome registerDevice(const Model::RegisterDeviceRequest &request)const;
+			void registerDeviceAsync(const Model::RegisterDeviceRequest& request, const RegisterDeviceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			RegisterDeviceOutcomeCallable registerDeviceCallable(const Model::RegisterDeviceRequest& request) const;
+			QueryDeviceOutcome queryDevice(const Model::QueryDeviceRequest &request)const;
+			void queryDeviceAsync(const Model::QueryDeviceRequest& request, const QueryDeviceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			QueryDeviceOutcomeCallable queryDeviceCallable(const Model::QueryDeviceRequest& request) const;
+			ListRuleOutcome listRule(const Model::ListRuleRequest &request)const;
+			void listRuleAsync(const Model::ListRuleRequest& request, const ListRuleAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListRuleOutcomeCallable listRuleCallable(const Model::ListRuleRequest& request) const;
+			QueryTopicRouteTableOutcome queryTopicRouteTable(const Model::QueryTopicRouteTableRequest &request)const;
+			void queryTopicRouteTableAsync(const Model::QueryTopicRouteTableRequest& request, const QueryTopicRouteTableAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			QueryTopicRouteTableOutcomeCallable queryTopicRouteTableCallable(const Model::QueryTopicRouteTableRequest& request) const;
+			CreateRuleOutcome createRule(const Model::CreateRuleRequest &request)const;
+			void createRuleAsync(const Model::CreateRuleRequest& request, const CreateRuleAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateRuleOutcomeCallable createRuleCallable(const Model::CreateRuleRequest& request) const;
+			StartRuleOutcome startRule(const Model::StartRuleRequest &request)const;
+			void startRuleAsync(const Model::StartRuleRequest& request, const StartRuleAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			StartRuleOutcomeCallable startRuleCallable(const Model::StartRuleRequest& request) const;
+			ApplyDeviceWithNamesOutcome applyDeviceWithNames(const Model::ApplyDeviceWithNamesRequest &request)const;
+			void applyDeviceWithNamesAsync(const Model::ApplyDeviceWithNamesRequest& request, const ApplyDeviceWithNamesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ApplyDeviceWithNamesOutcomeCallable applyDeviceWithNamesCallable(const Model::ApplyDeviceWithNamesRequest& request) const;
+			QueryProductListOutcome queryProductList(const Model::QueryProductListRequest &request)const;
+			void queryProductListAsync(const Model::QueryProductListRequest& request, const QueryProductListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			QueryProductListOutcomeCallable queryProductListCallable(const Model::QueryProductListRequest& request) const;
+			QueryDevicePropertyStatusOutcome queryDevicePropertyStatus(const Model::QueryDevicePropertyStatusRequest &request)const;
+			void queryDevicePropertyStatusAsync(const Model::QueryDevicePropertyStatusRequest& request, const QueryDevicePropertyStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			QueryDevicePropertyStatusOutcomeCallable queryDevicePropertyStatusCallable(const Model::QueryDevicePropertyStatusRequest& request) const;
+			QueryDeviceStatisticsOutcome queryDeviceStatistics(const Model::QueryDeviceStatisticsRequest &request)const;
+			void queryDeviceStatisticsAsync(const Model::QueryDeviceStatisticsRequest& request, const QueryDeviceStatisticsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			QueryDeviceStatisticsOutcomeCallable queryDeviceStatisticsCallable(const Model::QueryDeviceStatisticsRequest& request) const;
+			PubOutcome pub(const Model::PubRequest &request)const;
+			void pubAsync(const Model::PubRequest& request, const PubAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			PubOutcomeCallable pubCallable(const Model::PubRequest& request) const;
+			SaveDevicePropOutcome saveDeviceProp(const Model::SaveDevicePropRequest &request)const;
+			void saveDevicePropAsync(const Model::SaveDevicePropRequest& request, const SaveDevicePropAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			SaveDevicePropOutcomeCallable saveDevicePropCallable(const Model::SaveDevicePropRequest& request) const;
+			DeleteProductTopicOutcome deleteProductTopic(const Model::DeleteProductTopicRequest &request)const;
+			void deleteProductTopicAsync(const Model::DeleteProductTopicRequest& request, const DeleteProductTopicAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteProductTopicOutcomeCallable deleteProductTopicCallable(const Model::DeleteProductTopicRequest& request) const;
+			QueryApplyStatusOutcome queryApplyStatus(const Model::QueryApplyStatusRequest &request)const;
+			void queryApplyStatusAsync(const Model::QueryApplyStatusRequest& request, const QueryApplyStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			QueryApplyStatusOutcomeCallable queryApplyStatusCallable(const Model::QueryApplyStatusRequest& request) const;
+			QueryDeviceServiceDataOutcome queryDeviceServiceData(const Model::QueryDeviceServiceDataRequest &request)const;
+			void queryDeviceServiceDataAsync(const Model::QueryDeviceServiceDataRequest& request, const QueryDeviceServiceDataAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			QueryDeviceServiceDataOutcomeCallable queryDeviceServiceDataCallable(const Model::QueryDeviceServiceDataRequest& request) const;
+			BatchRegisterDeviceWithApplyIdOutcome batchRegisterDeviceWithApplyId(const Model::BatchRegisterDeviceWithApplyIdRequest &request)const;
+			void batchRegisterDeviceWithApplyIdAsync(const Model::BatchRegisterDeviceWithApplyIdRequest& request, const BatchRegisterDeviceWithApplyIdAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			BatchRegisterDeviceWithApplyIdOutcomeCallable batchRegisterDeviceWithApplyIdCallable(const Model::BatchRegisterDeviceWithApplyIdRequest& request) const;
+			DisableThingOutcome disableThing(const Model::DisableThingRequest &request)const;
+			void disableThingAsync(const Model::DisableThingRequest& request, const DisableThingAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DisableThingOutcomeCallable disableThingCallable(const Model::DisableThingRequest& request) const;
+			CreateProductTopicOutcome createProductTopic(const Model::CreateProductTopicRequest &request)const;
+			void createProductTopicAsync(const Model::CreateProductTopicRequest& request, const CreateProductTopicAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateProductTopicOutcomeCallable createProductTopicCallable(const Model::CreateProductTopicRequest& request) const;
+			RemoveThingTopoOutcome removeThingTopo(const Model::RemoveThingTopoRequest &request)const;
+			void removeThingTopoAsync(const Model::RemoveThingTopoRequest& request, const RemoveThingTopoAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			RemoveThingTopoOutcomeCallable removeThingTopoCallable(const Model::RemoveThingTopoRequest& request) const;
+			QueryTopicReverseRouteTableOutcome queryTopicReverseRouteTable(const Model::QueryTopicReverseRouteTableRequest &request)const;
+			void queryTopicReverseRouteTableAsync(const Model::QueryTopicReverseRouteTableRequest& request, const QueryTopicReverseRouteTableAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			QueryTopicReverseRouteTableOutcomeCallable queryTopicReverseRouteTableCallable(const Model::QueryTopicReverseRouteTableRequest& request) const;
+			BatchGetDeviceStateOutcome batchGetDeviceState(const Model::BatchGetDeviceStateRequest &request)const;
+			void batchGetDeviceStateAsync(const Model::BatchGetDeviceStateRequest& request, const BatchGetDeviceStateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			BatchGetDeviceStateOutcomeCallable batchGetDeviceStateCallable(const Model::BatchGetDeviceStateRequest& request) const;
+			GetRuleActionOutcome getRuleAction(const Model::GetRuleActionRequest &request)const;
+			void getRuleActionAsync(const Model::GetRuleActionRequest& request, const GetRuleActionAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GetRuleActionOutcomeCallable getRuleActionCallable(const Model::GetRuleActionRequest& request) const;
+			GetRuleOutcome getRule(const Model::GetRuleRequest &request)const;
+			void getRuleAsync(const Model::GetRuleRequest& request, const GetRuleAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GetRuleOutcomeCallable getRuleCallable(const Model::GetRuleRequest& request) const;
+			GetDeviceShadowOutcome getDeviceShadow(const Model::GetDeviceShadowRequest &request)const;
+			void getDeviceShadowAsync(const Model::GetDeviceShadowRequest& request, const GetDeviceShadowAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GetDeviceShadowOutcomeCallable getDeviceShadowCallable(const Model::GetDeviceShadowRequest& request) const;
+			GetGatewayBySubDeviceOutcome getGatewayBySubDevice(const Model::GetGatewayBySubDeviceRequest &request)const;
+			void getGatewayBySubDeviceAsync(const Model::GetGatewayBySubDeviceRequest& request, const GetGatewayBySubDeviceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GetGatewayBySubDeviceOutcomeCallable getGatewayBySubDeviceCallable(const Model::GetGatewayBySubDeviceRequest& request) const;
+			CreateRuleActionOutcome createRuleAction(const Model::CreateRuleActionRequest &request)const;
+			void createRuleActionAsync(const Model::CreateRuleActionRequest& request, const CreateRuleActionAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateRuleActionOutcomeCallable createRuleActionCallable(const Model::CreateRuleActionRequest& request) const;
+			BatchRegisterDeviceOutcome batchRegisterDevice(const Model::BatchRegisterDeviceRequest &request)const;
+			void batchRegisterDeviceAsync(const Model::BatchRegisterDeviceRequest& request, const BatchRegisterDeviceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			BatchRegisterDeviceOutcomeCallable batchRegisterDeviceCallable(const Model::BatchRegisterDeviceRequest& request) const;
+			DeleteRuleActionOutcome deleteRuleAction(const Model::DeleteRuleActionRequest &request)const;
+			void deleteRuleActionAsync(const Model::DeleteRuleActionRequest& request, const DeleteRuleActionAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteRuleActionOutcomeCallable deleteRuleActionCallable(const Model::DeleteRuleActionRequest& request) const;
+			PubBroadcastOutcome pubBroadcast(const Model::PubBroadcastRequest &request)const;
+			void pubBroadcastAsync(const Model::PubBroadcastRequest& request, const PubBroadcastAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			PubBroadcastOutcomeCallable pubBroadcastCallable(const Model::PubBroadcastRequest& request) const;
+	
+		private:
+			std::shared_ptr<EndpointProvider> endpointProvider_;
+		};
+	}
+}
+
+#endif // !ALIBABACLOUD_IOT_IOTCLIENT_H_

+ 32 - 0
iot/include/alibabacloud/iot/IotExport.h

@@ -0,0 +1,32 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_IOTEXPORT_H_
+#define ALIBABACLOUD_IOT_IOTEXPORT_H_
+
+#include <alibabacloud/core/Global.h>
+
+#if defined(ALIBABACLOUD_SHARED)
+#	if defined(ALIBABACLOUD_IOT_LIBRARY)
+#		define ALIBABACLOUD_IOT_EXPORT ALIBABACLOUD_DECL_EXPORT
+#	else
+#		define ALIBABACLOUD_IOT_EXPORT ALIBABACLOUD_DECL_IMPORT
+#	endif
+#else
+#	define ALIBABACLOUD_IOT_EXPORT
+#endif
+
+#endif // !ALIBABACLOUD_IOT_IOTEXPORT_H_

+ 54 - 0
iot/include/alibabacloud/iot/model/ApplyDeviceWithNamesRequest.h

@@ -0,0 +1,54 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_APPLYDEVICEWITHNAMESREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_APPLYDEVICEWITHNAMESREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT ApplyDeviceWithNamesRequest : public RpcServiceRequest
+			{
+
+			public:
+				ApplyDeviceWithNamesRequest();
+				~ApplyDeviceWithNamesRequest();
+
+				std::vector<std::string> getDeviceName()const;
+				void setDeviceName(const std::vector<std::string>& deviceName);
+				std::string getProductKey()const;
+				void setProductKey(const std::string& productKey);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::vector<std::string> deviceName_;
+				std::string productKey_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_APPLYDEVICEWITHNAMESREQUEST_H_

+ 57 - 0
iot/include/alibabacloud/iot/model/ApplyDeviceWithNamesResult.h

@@ -0,0 +1,57 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_APPLYDEVICEWITHNAMESRESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_APPLYDEVICEWITHNAMESRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT ApplyDeviceWithNamesResult : public ServiceResult
+			{
+			public:
+
+
+				ApplyDeviceWithNamesResult();
+				explicit ApplyDeviceWithNamesResult(const std::string &payload);
+				~ApplyDeviceWithNamesResult();
+				long getApplyId()const;
+				std::string getErrorMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				long applyId_;
+				std::string errorMessage_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_APPLYDEVICEWITHNAMESRESULT_H_

+ 54 - 0
iot/include/alibabacloud/iot/model/BatchCheckDeviceNamesRequest.h

@@ -0,0 +1,54 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_BATCHCHECKDEVICENAMESREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_BATCHCHECKDEVICENAMESREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT BatchCheckDeviceNamesRequest : public RpcServiceRequest
+			{
+
+			public:
+				BatchCheckDeviceNamesRequest();
+				~BatchCheckDeviceNamesRequest();
+
+				std::vector<std::string> getDeviceName()const;
+				void setDeviceName(const std::vector<std::string>& deviceName);
+				std::string getProductKey()const;
+				void setProductKey(const std::string& productKey);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::vector<std::string> deviceName_;
+				std::string productKey_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_BATCHCHECKDEVICENAMESREQUEST_H_

+ 61 - 0
iot/include/alibabacloud/iot/model/BatchCheckDeviceNamesResult.h

@@ -0,0 +1,61 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_BATCHCHECKDEVICENAMESRESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_BATCHCHECKDEVICENAMESRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT BatchCheckDeviceNamesResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					long applyId;
+				};
+
+
+				BatchCheckDeviceNamesResult();
+				explicit BatchCheckDeviceNamesResult(const std::string &payload);
+				~BatchCheckDeviceNamesResult();
+				Data getData()const;
+				std::string getErrorMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Data data_;
+				std::string errorMessage_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_BATCHCHECKDEVICENAMESRESULT_H_

+ 54 - 0
iot/include/alibabacloud/iot/model/BatchGetDeviceStateRequest.h

@@ -0,0 +1,54 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_BATCHGETDEVICESTATEREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_BATCHGETDEVICESTATEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT BatchGetDeviceStateRequest : public RpcServiceRequest
+			{
+
+			public:
+				BatchGetDeviceStateRequest();
+				~BatchGetDeviceStateRequest();
+
+				std::vector<std::string> getDeviceName()const;
+				void setDeviceName(const std::vector<std::string>& deviceName);
+				std::string getProductKey()const;
+				void setProductKey(const std::string& productKey);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::vector<std::string> deviceName_;
+				std::string productKey_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_BATCHGETDEVICESTATEREQUEST_H_

+ 65 - 0
iot/include/alibabacloud/iot/model/BatchGetDeviceStateResult.h

@@ -0,0 +1,65 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_BATCHGETDEVICESTATERESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_BATCHGETDEVICESTATERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT BatchGetDeviceStateResult : public ServiceResult
+			{
+			public:
+				struct DeviceStatus
+				{
+					std::string status;
+					std::string lastOnlineTime;
+					std::string asAddress;
+					std::string deviceId;
+					std::string deviceName;
+				};
+
+
+				BatchGetDeviceStateResult();
+				explicit BatchGetDeviceStateResult(const std::string &payload);
+				~BatchGetDeviceStateResult();
+				std::vector<DeviceStatus> getDeviceStatusList()const;
+				std::string getErrorMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<DeviceStatus> deviceStatusList_;
+				std::string errorMessage_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_BATCHGETDEVICESTATERESULT_H_

+ 54 - 0
iot/include/alibabacloud/iot/model/BatchRegisterDeviceRequest.h

@@ -0,0 +1,54 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_BATCHREGISTERDEVICEREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_BATCHREGISTERDEVICEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT BatchRegisterDeviceRequest : public RpcServiceRequest
+			{
+
+			public:
+				BatchRegisterDeviceRequest();
+				~BatchRegisterDeviceRequest();
+
+				int getCount()const;
+				void setCount(int count);
+				std::string getProductKey()const;
+				void setProductKey(const std::string& productKey);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				int count_;
+				std::string productKey_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_BATCHREGISTERDEVICEREQUEST_H_

+ 61 - 0
iot/include/alibabacloud/iot/model/BatchRegisterDeviceResult.h

@@ -0,0 +1,61 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_BATCHREGISTERDEVICERESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_BATCHREGISTERDEVICERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT BatchRegisterDeviceResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					long applyId;
+				};
+
+
+				BatchRegisterDeviceResult();
+				explicit BatchRegisterDeviceResult(const std::string &payload);
+				~BatchRegisterDeviceResult();
+				Data getData()const;
+				std::string getErrorMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Data data_;
+				std::string errorMessage_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_BATCHREGISTERDEVICERESULT_H_

+ 54 - 0
iot/include/alibabacloud/iot/model/BatchRegisterDeviceWithApplyIdRequest.h

@@ -0,0 +1,54 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_BATCHREGISTERDEVICEWITHAPPLYIDREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_BATCHREGISTERDEVICEWITHAPPLYIDREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT BatchRegisterDeviceWithApplyIdRequest : public RpcServiceRequest
+			{
+
+			public:
+				BatchRegisterDeviceWithApplyIdRequest();
+				~BatchRegisterDeviceWithApplyIdRequest();
+
+				long getApplyId()const;
+				void setApplyId(long applyId);
+				std::string getProductKey()const;
+				void setProductKey(const std::string& productKey);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				long applyId_;
+				std::string productKey_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_BATCHREGISTERDEVICEWITHAPPLYIDREQUEST_H_

+ 61 - 0
iot/include/alibabacloud/iot/model/BatchRegisterDeviceWithApplyIdResult.h

@@ -0,0 +1,61 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_BATCHREGISTERDEVICEWITHAPPLYIDRESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_BATCHREGISTERDEVICEWITHAPPLYIDRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT BatchRegisterDeviceWithApplyIdResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					long applyId;
+				};
+
+
+				BatchRegisterDeviceWithApplyIdResult();
+				explicit BatchRegisterDeviceWithApplyIdResult(const std::string &payload);
+				~BatchRegisterDeviceWithApplyIdResult();
+				Data getData()const;
+				std::string getErrorMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Data data_;
+				std::string errorMessage_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_BATCHREGISTERDEVICEWITHAPPLYIDRESULT_H_

+ 75 - 0
iot/include/alibabacloud/iot/model/CreateProductRequest.h

@@ -0,0 +1,75 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_CREATEPRODUCTREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_CREATEPRODUCTREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT CreateProductRequest : public RpcServiceRequest
+			{
+
+			public:
+				CreateProductRequest();
+				~CreateProductRequest();
+
+				long getCatId()const;
+				void setCatId(long catId);
+				int getNodeType()const;
+				void setNodeType(int nodeType);
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
+				bool getId2()const;
+				void setId2(bool id2);
+				std::string getName()const;
+				void setName(const std::string& name);
+				std::string getExtProps()const;
+				void setExtProps(const std::string& extProps);
+				std::string getSecurityPolicy()const;
+				void setSecurityPolicy(const std::string& securityPolicy);
+				int getPayType()const;
+				void setPayType(int payType);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getDesc()const;
+				void setDesc(const std::string& desc);
+
+            private:
+				long catId_;
+				int nodeType_;
+				std::string regionId_;
+				bool id2_;
+				std::string name_;
+				std::string extProps_;
+				std::string securityPolicy_;
+				int payType_;
+				std::string accessKeyId_;
+				std::string desc_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_CREATEPRODUCTREQUEST_H_

+ 72 - 0
iot/include/alibabacloud/iot/model/CreateProductResult.h

@@ -0,0 +1,72 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_CREATEPRODUCTRESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_CREATEPRODUCTRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT CreateProductResult : public ServiceResult
+			{
+			public:
+				struct ProductInfo
+				{
+					std::string gmtCreate;
+					std::string productName;
+					std::string extProps;
+					bool id2;
+					int nodeType;
+					std::string fromSource;
+					std::string gmtModified;
+					long createUserId;
+					std::string productDesc;
+					std::string productSecret;
+					long catId;
+					std::string productKey;
+				};
+
+
+				CreateProductResult();
+				explicit CreateProductResult(const std::string &payload);
+				~CreateProductResult();
+				ProductInfo getProductInfo()const;
+				std::string getErrorMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				ProductInfo productInfo_;
+				std::string errorMessage_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_CREATEPRODUCTRESULT_H_

+ 60 - 0
iot/include/alibabacloud/iot/model/CreateProductTopicRequest.h

@@ -0,0 +1,60 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_CREATEPRODUCTTOPICREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_CREATEPRODUCTTOPICREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT CreateProductTopicRequest : public RpcServiceRequest
+			{
+
+			public:
+				CreateProductTopicRequest();
+				~CreateProductTopicRequest();
+
+				std::string getProductKey()const;
+				void setProductKey(const std::string& productKey);
+				std::string getTopicShortName()const;
+				void setTopicShortName(const std::string& topicShortName);
+				std::string getOperation()const;
+				void setOperation(const std::string& operation);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getDesc()const;
+				void setDesc(const std::string& desc);
+
+            private:
+				std::string productKey_;
+				std::string topicShortName_;
+				std::string operation_;
+				std::string accessKeyId_;
+				std::string desc_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_CREATEPRODUCTTOPICREQUEST_H_

+ 57 - 0
iot/include/alibabacloud/iot/model/CreateProductTopicResult.h

@@ -0,0 +1,57 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_CREATEPRODUCTTOPICRESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_CREATEPRODUCTTOPICRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT CreateProductTopicResult : public ServiceResult
+			{
+			public:
+
+
+				CreateProductTopicResult();
+				explicit CreateProductTopicResult(const std::string &payload);
+				~CreateProductTopicResult();
+				long getTopicId()const;
+				std::string getErrorMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				long topicId_;
+				std::string errorMessage_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_CREATEPRODUCTTOPICRESULT_H_

+ 57 - 0
iot/include/alibabacloud/iot/model/CreateRuleActionRequest.h

@@ -0,0 +1,57 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_CREATERULEACTIONREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_CREATERULEACTIONREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT CreateRuleActionRequest : public RpcServiceRequest
+			{
+
+			public:
+				CreateRuleActionRequest();
+				~CreateRuleActionRequest();
+
+				std::string getConfiguration()const;
+				void setConfiguration(const std::string& configuration);
+				long getRuleId()const;
+				void setRuleId(long ruleId);
+				std::string getType()const;
+				void setType(const std::string& type);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string configuration_;
+				long ruleId_;
+				std::string type_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_CREATERULEACTIONREQUEST_H_

+ 57 - 0
iot/include/alibabacloud/iot/model/CreateRuleActionResult.h

@@ -0,0 +1,57 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_CREATERULEACTIONRESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_CREATERULEACTIONRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT CreateRuleActionResult : public ServiceResult
+			{
+			public:
+
+
+				CreateRuleActionResult();
+				explicit CreateRuleActionResult(const std::string &payload);
+				~CreateRuleActionResult();
+				long getActionId()const;
+				std::string getErrorMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				long actionId_;
+				std::string errorMessage_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_CREATERULEACTIONRESULT_H_

+ 69 - 0
iot/include/alibabacloud/iot/model/CreateRuleRequest.h

@@ -0,0 +1,69 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_CREATERULEREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_CREATERULEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT CreateRuleRequest : public RpcServiceRequest
+			{
+
+			public:
+				CreateRuleRequest();
+				~CreateRuleRequest();
+
+				std::string getSelect()const;
+				void setSelect(const std::string& select);
+				std::string getRuleDesc()const;
+				void setRuleDesc(const std::string& ruleDesc);
+				std::string getDataType()const;
+				void setDataType(const std::string& dataType);
+				std::string getName()const;
+				void setName(const std::string& name);
+				std::string getWhere()const;
+				void setWhere(const std::string& where);
+				std::string getProductKey()const;
+				void setProductKey(const std::string& productKey);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getShortTopic()const;
+				void setShortTopic(const std::string& shortTopic);
+
+            private:
+				std::string select_;
+				std::string ruleDesc_;
+				std::string dataType_;
+				std::string name_;
+				std::string where_;
+				std::string productKey_;
+				std::string accessKeyId_;
+				std::string shortTopic_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_CREATERULEREQUEST_H_

+ 57 - 0
iot/include/alibabacloud/iot/model/CreateRuleResult.h

@@ -0,0 +1,57 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_CREATERULERESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_CREATERULERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT CreateRuleResult : public ServiceResult
+			{
+			public:
+
+
+				CreateRuleResult();
+				explicit CreateRuleResult(const std::string &payload);
+				~CreateRuleResult();
+				long getRuleId()const;
+				std::string getErrorMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				long ruleId_;
+				std::string errorMessage_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_CREATERULERESULT_H_

+ 57 - 0
iot/include/alibabacloud/iot/model/CreateTopicRouteTableRequest.h

@@ -0,0 +1,57 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_CREATETOPICROUTETABLEREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_CREATETOPICROUTETABLEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT CreateTopicRouteTableRequest : public RpcServiceRequest
+			{
+
+			public:
+				CreateTopicRouteTableRequest();
+				~CreateTopicRouteTableRequest();
+
+				std::vector<std::string> getDstTopic()const;
+				void setDstTopic(const std::vector<std::string>& dstTopic);
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getSrcTopic()const;
+				void setSrcTopic(const std::string& srcTopic);
+
+            private:
+				std::vector<std::string> dstTopic_;
+				std::string regionId_;
+				std::string accessKeyId_;
+				std::string srcTopic_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_CREATETOPICROUTETABLEREQUEST_H_

+ 59 - 0
iot/include/alibabacloud/iot/model/CreateTopicRouteTableResult.h

@@ -0,0 +1,59 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_CREATETOPICROUTETABLERESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_CREATETOPICROUTETABLERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT CreateTopicRouteTableResult : public ServiceResult
+			{
+			public:
+
+
+				CreateTopicRouteTableResult();
+				explicit CreateTopicRouteTableResult(const std::string &payload);
+				~CreateTopicRouteTableResult();
+				std::vector<std::string> getFailureTopics()const;
+				std::string getErrorMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+				bool getIsAllSucceed()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<std::string> failureTopics_;
+				std::string errorMessage_;
+				std::string code_;
+				bool success_;
+				bool isAllSucceed_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_CREATETOPICROUTETABLERESULT_H_

+ 57 - 0
iot/include/alibabacloud/iot/model/DeleteDevicePropRequest.h

@@ -0,0 +1,57 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_DELETEDEVICEPROPREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_DELETEDEVICEPROPREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT DeleteDevicePropRequest : public RpcServiceRequest
+			{
+
+			public:
+				DeleteDevicePropRequest();
+				~DeleteDevicePropRequest();
+
+				std::string getDeviceName()const;
+				void setDeviceName(const std::string& deviceName);
+				std::string getProductKey()const;
+				void setProductKey(const std::string& productKey);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getPropKey()const;
+				void setPropKey(const std::string& propKey);
+
+            private:
+				std::string deviceName_;
+				std::string productKey_;
+				std::string accessKeyId_;
+				std::string propKey_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_DELETEDEVICEPROPREQUEST_H_

+ 55 - 0
iot/include/alibabacloud/iot/model/DeleteDevicePropResult.h

@@ -0,0 +1,55 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_DELETEDEVICEPROPRESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_DELETEDEVICEPROPRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT DeleteDevicePropResult : public ServiceResult
+			{
+			public:
+
+
+				DeleteDevicePropResult();
+				explicit DeleteDevicePropResult(const std::string &payload);
+				~DeleteDevicePropResult();
+				std::string getErrorMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string errorMessage_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_DELETEDEVICEPROPRESULT_H_

+ 57 - 0
iot/include/alibabacloud/iot/model/DeleteDeviceRequest.h

@@ -0,0 +1,57 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_DELETEDEVICEREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_DELETEDEVICEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT DeleteDeviceRequest : public RpcServiceRequest
+			{
+
+			public:
+				DeleteDeviceRequest();
+				~DeleteDeviceRequest();
+
+				std::string getIotId()const;
+				void setIotId(const std::string& iotId);
+				std::string getDeviceName()const;
+				void setDeviceName(const std::string& deviceName);
+				std::string getProductKey()const;
+				void setProductKey(const std::string& productKey);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string iotId_;
+				std::string deviceName_;
+				std::string productKey_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_DELETEDEVICEREQUEST_H_

+ 55 - 0
iot/include/alibabacloud/iot/model/DeleteDeviceResult.h

@@ -0,0 +1,55 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_DELETEDEVICERESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_DELETEDEVICERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT DeleteDeviceResult : public ServiceResult
+			{
+			public:
+
+
+				DeleteDeviceResult();
+				explicit DeleteDeviceResult(const std::string &payload);
+				~DeleteDeviceResult();
+				std::string getErrorMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string errorMessage_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_DELETEDEVICERESULT_H_

+ 51 - 0
iot/include/alibabacloud/iot/model/DeleteProductTopicRequest.h

@@ -0,0 +1,51 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_DELETEPRODUCTTOPICREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_DELETEPRODUCTTOPICREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT DeleteProductTopicRequest : public RpcServiceRequest
+			{
+
+			public:
+				DeleteProductTopicRequest();
+				~DeleteProductTopicRequest();
+
+				std::string getTopicId()const;
+				void setTopicId(const std::string& topicId);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string topicId_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_DELETEPRODUCTTOPICREQUEST_H_

+ 55 - 0
iot/include/alibabacloud/iot/model/DeleteProductTopicResult.h

@@ -0,0 +1,55 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_DELETEPRODUCTTOPICRESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_DELETEPRODUCTTOPICRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT DeleteProductTopicResult : public ServiceResult
+			{
+			public:
+
+
+				DeleteProductTopicResult();
+				explicit DeleteProductTopicResult(const std::string &payload);
+				~DeleteProductTopicResult();
+				std::string getErrorMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string errorMessage_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_DELETEPRODUCTTOPICRESULT_H_

+ 51 - 0
iot/include/alibabacloud/iot/model/DeleteRuleActionRequest.h

@@ -0,0 +1,51 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_DELETERULEACTIONREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_DELETERULEACTIONREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT DeleteRuleActionRequest : public RpcServiceRequest
+			{
+
+			public:
+				DeleteRuleActionRequest();
+				~DeleteRuleActionRequest();
+
+				long getActionId()const;
+				void setActionId(long actionId);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				long actionId_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_DELETERULEACTIONREQUEST_H_

+ 55 - 0
iot/include/alibabacloud/iot/model/DeleteRuleActionResult.h

@@ -0,0 +1,55 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_DELETERULEACTIONRESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_DELETERULEACTIONRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT DeleteRuleActionResult : public ServiceResult
+			{
+			public:
+
+
+				DeleteRuleActionResult();
+				explicit DeleteRuleActionResult(const std::string &payload);
+				~DeleteRuleActionResult();
+				std::string getErrorMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string errorMessage_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_DELETERULEACTIONRESULT_H_

+ 51 - 0
iot/include/alibabacloud/iot/model/DeleteRuleRequest.h

@@ -0,0 +1,51 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_DELETERULEREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_DELETERULEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT DeleteRuleRequest : public RpcServiceRequest
+			{
+
+			public:
+				DeleteRuleRequest();
+				~DeleteRuleRequest();
+
+				long getRuleId()const;
+				void setRuleId(long ruleId);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				long ruleId_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_DELETERULEREQUEST_H_

+ 55 - 0
iot/include/alibabacloud/iot/model/DeleteRuleResult.h

@@ -0,0 +1,55 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_DELETERULERESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_DELETERULERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT DeleteRuleResult : public ServiceResult
+			{
+			public:
+
+
+				DeleteRuleResult();
+				explicit DeleteRuleResult(const std::string &payload);
+				~DeleteRuleResult();
+				std::string getErrorMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string errorMessage_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_DELETERULERESULT_H_

+ 57 - 0
iot/include/alibabacloud/iot/model/DeleteTopicRouteTableRequest.h

@@ -0,0 +1,57 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_DELETETOPICROUTETABLEREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_DELETETOPICROUTETABLEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT DeleteTopicRouteTableRequest : public RpcServiceRequest
+			{
+
+			public:
+				DeleteTopicRouteTableRequest();
+				~DeleteTopicRouteTableRequest();
+
+				std::vector<std::string> getDstTopic()const;
+				void setDstTopic(const std::vector<std::string>& dstTopic);
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getSrcTopic()const;
+				void setSrcTopic(const std::string& srcTopic);
+
+            private:
+				std::vector<std::string> dstTopic_;
+				std::string regionId_;
+				std::string accessKeyId_;
+				std::string srcTopic_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_DELETETOPICROUTETABLEREQUEST_H_

+ 59 - 0
iot/include/alibabacloud/iot/model/DeleteTopicRouteTableResult.h

@@ -0,0 +1,59 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_DELETETOPICROUTETABLERESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_DELETETOPICROUTETABLERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT DeleteTopicRouteTableResult : public ServiceResult
+			{
+			public:
+
+
+				DeleteTopicRouteTableResult();
+				explicit DeleteTopicRouteTableResult(const std::string &payload);
+				~DeleteTopicRouteTableResult();
+				std::vector<std::string> getFailureTopics()const;
+				std::string getErrorMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+				bool getIsAllSucceed()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<std::string> failureTopics_;
+				std::string errorMessage_;
+				std::string code_;
+				bool success_;
+				bool isAllSucceed_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_DELETETOPICROUTETABLERESULT_H_

+ 57 - 0
iot/include/alibabacloud/iot/model/DisableThingRequest.h

@@ -0,0 +1,57 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_DISABLETHINGREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_DISABLETHINGREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT DisableThingRequest : public RpcServiceRequest
+			{
+
+			public:
+				DisableThingRequest();
+				~DisableThingRequest();
+
+				std::string getIotId()const;
+				void setIotId(const std::string& iotId);
+				std::string getDeviceName()const;
+				void setDeviceName(const std::string& deviceName);
+				std::string getProductKey()const;
+				void setProductKey(const std::string& productKey);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string iotId_;
+				std::string deviceName_;
+				std::string productKey_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_DISABLETHINGREQUEST_H_

+ 55 - 0
iot/include/alibabacloud/iot/model/DisableThingResult.h

@@ -0,0 +1,55 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_DISABLETHINGRESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_DISABLETHINGRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT DisableThingResult : public ServiceResult
+			{
+			public:
+
+
+				DisableThingResult();
+				explicit DisableThingResult(const std::string &payload);
+				~DisableThingResult();
+				std::string getErrorMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string errorMessage_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_DISABLETHINGRESULT_H_

+ 57 - 0
iot/include/alibabacloud/iot/model/EnableThingRequest.h

@@ -0,0 +1,57 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_ENABLETHINGREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_ENABLETHINGREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT EnableThingRequest : public RpcServiceRequest
+			{
+
+			public:
+				EnableThingRequest();
+				~EnableThingRequest();
+
+				std::string getIotId()const;
+				void setIotId(const std::string& iotId);
+				std::string getDeviceName()const;
+				void setDeviceName(const std::string& deviceName);
+				std::string getProductKey()const;
+				void setProductKey(const std::string& productKey);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string iotId_;
+				std::string deviceName_;
+				std::string productKey_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_ENABLETHINGREQUEST_H_

+ 55 - 0
iot/include/alibabacloud/iot/model/EnableThingResult.h

@@ -0,0 +1,55 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_ENABLETHINGRESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_ENABLETHINGRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT EnableThingResult : public ServiceResult
+			{
+			public:
+
+
+				EnableThingResult();
+				explicit EnableThingResult(const std::string &payload);
+				~EnableThingResult();
+				std::string getErrorMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string errorMessage_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_ENABLETHINGRESULT_H_

+ 57 - 0
iot/include/alibabacloud/iot/model/GetDeviceShadowRequest.h

@@ -0,0 +1,57 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_GETDEVICESHADOWREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_GETDEVICESHADOWREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT GetDeviceShadowRequest : public RpcServiceRequest
+			{
+
+			public:
+				GetDeviceShadowRequest();
+				~GetDeviceShadowRequest();
+
+				std::string getShadowMessage()const;
+				void setShadowMessage(const std::string& shadowMessage);
+				std::string getDeviceName()const;
+				void setDeviceName(const std::string& deviceName);
+				std::string getProductKey()const;
+				void setProductKey(const std::string& productKey);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string shadowMessage_;
+				std::string deviceName_;
+				std::string productKey_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_GETDEVICESHADOWREQUEST_H_

+ 57 - 0
iot/include/alibabacloud/iot/model/GetDeviceShadowResult.h

@@ -0,0 +1,57 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_GETDEVICESHADOWRESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_GETDEVICESHADOWRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT GetDeviceShadowResult : public ServiceResult
+			{
+			public:
+
+
+				GetDeviceShadowResult();
+				explicit GetDeviceShadowResult(const std::string &payload);
+				~GetDeviceShadowResult();
+				std::string getErrorMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+				std::string getShadowMessage()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string errorMessage_;
+				std::string code_;
+				bool success_;
+				std::string shadowMessage_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_GETDEVICESHADOWRESULT_H_

+ 57 - 0
iot/include/alibabacloud/iot/model/GetDeviceStatusRequest.h

@@ -0,0 +1,57 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_GETDEVICESTATUSREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_GETDEVICESTATUSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT GetDeviceStatusRequest : public RpcServiceRequest
+			{
+
+			public:
+				GetDeviceStatusRequest();
+				~GetDeviceStatusRequest();
+
+				std::string getIotId()const;
+				void setIotId(const std::string& iotId);
+				std::string getDeviceName()const;
+				void setDeviceName(const std::string& deviceName);
+				std::string getProductKey()const;
+				void setProductKey(const std::string& productKey);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string iotId_;
+				std::string deviceName_;
+				std::string productKey_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_GETDEVICESTATUSREQUEST_H_

+ 61 - 0
iot/include/alibabacloud/iot/model/GetDeviceStatusResult.h

@@ -0,0 +1,61 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_GETDEVICESTATUSRESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_GETDEVICESTATUSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT GetDeviceStatusResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					std::string status;
+				};
+
+
+				GetDeviceStatusResult();
+				explicit GetDeviceStatusResult(const std::string &payload);
+				~GetDeviceStatusResult();
+				Data getData()const;
+				std::string getErrorMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Data data_;
+				std::string errorMessage_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_GETDEVICESTATUSRESULT_H_

+ 57 - 0
iot/include/alibabacloud/iot/model/GetGatewayBySubDeviceRequest.h

@@ -0,0 +1,57 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_GETGATEWAYBYSUBDEVICEREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_GETGATEWAYBYSUBDEVICEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT GetGatewayBySubDeviceRequest : public RpcServiceRequest
+			{
+
+			public:
+				GetGatewayBySubDeviceRequest();
+				~GetGatewayBySubDeviceRequest();
+
+				std::string getIotId()const;
+				void setIotId(const std::string& iotId);
+				std::string getDeviceName()const;
+				void setDeviceName(const std::string& deviceName);
+				std::string getProductKey()const;
+				void setProductKey(const std::string& productKey);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string iotId_;
+				std::string deviceName_;
+				std::string productKey_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_GETGATEWAYBYSUBDEVICEREQUEST_H_

+ 76 - 0
iot/include/alibabacloud/iot/model/GetGatewayBySubDeviceResult.h

@@ -0,0 +1,76 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_GETGATEWAYBYSUBDEVICERESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_GETGATEWAYBYSUBDEVICERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT GetGatewayBySubDeviceResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					std::string status;
+					std::string productName;
+					std::string deviceSecret;
+					std::string firmwareVersion;
+					std::string utcOnline;
+					std::string iotId;
+					std::string gmtCreate;
+					std::string utcCreate;
+					std::string utcActive;
+					std::string gmtActive;
+					std::string nodeType;
+					std::string region;
+					std::string ipAddress;
+					std::string gmtOnline;
+					std::string productKey;
+					std::string deviceName;
+				};
+
+
+				GetGatewayBySubDeviceResult();
+				explicit GetGatewayBySubDeviceResult(const std::string &payload);
+				~GetGatewayBySubDeviceResult();
+				Data getData()const;
+				std::string getErrorMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Data data_;
+				std::string errorMessage_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_GETGATEWAYBYSUBDEVICERESULT_H_

+ 51 - 0
iot/include/alibabacloud/iot/model/GetRuleActionRequest.h

@@ -0,0 +1,51 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_GETRULEACTIONREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_GETRULEACTIONREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT GetRuleActionRequest : public RpcServiceRequest
+			{
+
+			public:
+				GetRuleActionRequest();
+				~GetRuleActionRequest();
+
+				long getActionId()const;
+				void setActionId(long actionId);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				long actionId_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_GETRULEACTIONREQUEST_H_

+ 64 - 0
iot/include/alibabacloud/iot/model/GetRuleActionResult.h

@@ -0,0 +1,64 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_GETRULEACTIONRESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_GETRULEACTIONRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT GetRuleActionResult : public ServiceResult
+			{
+			public:
+				struct RuleActionInfo
+				{
+					std::string type;
+					std::string configuration;
+					long ruleId;
+					long id;
+				};
+
+
+				GetRuleActionResult();
+				explicit GetRuleActionResult(const std::string &payload);
+				~GetRuleActionResult();
+				RuleActionInfo getRuleActionInfo()const;
+				std::string getErrorMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				RuleActionInfo ruleActionInfo_;
+				std::string errorMessage_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_GETRULEACTIONRESULT_H_

+ 51 - 0
iot/include/alibabacloud/iot/model/GetRuleRequest.h

@@ -0,0 +1,51 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_GETRULEREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_GETRULEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT GetRuleRequest : public RpcServiceRequest
+			{
+
+			public:
+				GetRuleRequest();
+				~GetRuleRequest();
+
+				long getRuleId()const;
+				void setRuleId(long ruleId);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				long ruleId_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_GETRULEREQUEST_H_

+ 73 - 0
iot/include/alibabacloud/iot/model/GetRuleResult.h

@@ -0,0 +1,73 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_GETRULERESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_GETRULERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT GetRuleResult : public ServiceResult
+			{
+			public:
+				struct RuleInfo
+				{
+					std::string status;
+					std::string modified;
+					long createUserId;
+					std::string name;
+					std::string created;
+					std::string select;
+					std::string shortTopic;
+					std::string ruleDesc;
+					std::string dataType;
+					long id;
+					std::string topic;
+					std::string where;
+					std::string productKey;
+				};
+
+
+				GetRuleResult();
+				explicit GetRuleResult(const std::string &payload);
+				~GetRuleResult();
+				RuleInfo getRuleInfo()const;
+				std::string getErrorMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				RuleInfo ruleInfo_;
+				std::string errorMessage_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_GETRULERESULT_H_

+ 63 - 0
iot/include/alibabacloud/iot/model/GetThingTopoRequest.h

@@ -0,0 +1,63 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_GETTHINGTOPOREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_GETTHINGTOPOREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT GetThingTopoRequest : public RpcServiceRequest
+			{
+
+			public:
+				GetThingTopoRequest();
+				~GetThingTopoRequest();
+
+				std::string getIotId()const;
+				void setIotId(const std::string& iotId);
+				int getPageNo()const;
+				void setPageNo(int pageNo);
+				int getPageSize()const;
+				void setPageSize(int pageSize);
+				std::string getDeviceName()const;
+				void setDeviceName(const std::string& deviceName);
+				std::string getProductKey()const;
+				void setProductKey(const std::string& productKey);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string iotId_;
+				int pageNo_;
+				int pageSize_;
+				std::string deviceName_;
+				std::string productKey_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_GETTHINGTOPOREQUEST_H_

+ 71 - 0
iot/include/alibabacloud/iot/model/GetThingTopoResult.h

@@ -0,0 +1,71 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_GETTHINGTOPORESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_GETTHINGTOPORESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT GetThingTopoResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					struct DeviceInfo
+					{
+						std::string iotId;
+						std::string productKey;
+						std::string deviceName;
+					};
+					int pageSize;
+					long pageCount;
+					int currentPage;
+					long total;
+					std::vector<DeviceInfo> list;
+				};
+
+
+				GetThingTopoResult();
+				explicit GetThingTopoResult(const std::string &payload);
+				~GetThingTopoResult();
+				Data getData()const;
+				std::string getErrorMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Data data_;
+				std::string errorMessage_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_GETTHINGTOPORESULT_H_

+ 63 - 0
iot/include/alibabacloud/iot/model/InvokeThingServiceRequest.h

@@ -0,0 +1,63 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_INVOKETHINGSERVICEREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_INVOKETHINGSERVICEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT InvokeThingServiceRequest : public RpcServiceRequest
+			{
+
+			public:
+				InvokeThingServiceRequest();
+				~InvokeThingServiceRequest();
+
+				std::string getArgs()const;
+				void setArgs(const std::string& args);
+				std::string getIdentifier()const;
+				void setIdentifier(const std::string& identifier);
+				std::string getIotId()const;
+				void setIotId(const std::string& iotId);
+				std::string getDeviceName()const;
+				void setDeviceName(const std::string& deviceName);
+				std::string getProductKey()const;
+				void setProductKey(const std::string& productKey);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string args_;
+				std::string identifier_;
+				std::string iotId_;
+				std::string deviceName_;
+				std::string productKey_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_INVOKETHINGSERVICEREQUEST_H_

+ 62 - 0
iot/include/alibabacloud/iot/model/InvokeThingServiceResult.h

@@ -0,0 +1,62 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_INVOKETHINGSERVICERESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_INVOKETHINGSERVICERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT InvokeThingServiceResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					std::string result;
+					std::string messageId;
+				};
+
+
+				InvokeThingServiceResult();
+				explicit InvokeThingServiceResult(const std::string &payload);
+				~InvokeThingServiceResult();
+				Data getData()const;
+				std::string getErrorMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Data data_;
+				std::string errorMessage_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_INVOKETHINGSERVICERESULT_H_

+ 51 - 0
iot/include/alibabacloud/iot/model/ListRuleActionsRequest.h

@@ -0,0 +1,51 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_LISTRULEACTIONSREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_LISTRULEACTIONSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT ListRuleActionsRequest : public RpcServiceRequest
+			{
+
+			public:
+				ListRuleActionsRequest();
+				~ListRuleActionsRequest();
+
+				long getRuleId()const;
+				void setRuleId(long ruleId);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				long ruleId_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_LISTRULEACTIONSREQUEST_H_

+ 64 - 0
iot/include/alibabacloud/iot/model/ListRuleActionsResult.h

@@ -0,0 +1,64 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_LISTRULEACTIONSRESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_LISTRULEACTIONSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT ListRuleActionsResult : public ServiceResult
+			{
+			public:
+				struct RuleActionInfo
+				{
+					std::string type;
+					std::string configuration;
+					long ruleId;
+					long id;
+				};
+
+
+				ListRuleActionsResult();
+				explicit ListRuleActionsResult(const std::string &payload);
+				~ListRuleActionsResult();
+				std::vector<RuleActionInfo> getRuleActionList()const;
+				std::string getErrorMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<RuleActionInfo> ruleActionList_;
+				std::string errorMessage_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_LISTRULEACTIONSRESULT_H_

+ 54 - 0
iot/include/alibabacloud/iot/model/ListRuleRequest.h

@@ -0,0 +1,54 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_LISTRULEREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_LISTRULEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT ListRuleRequest : public RpcServiceRequest
+			{
+
+			public:
+				ListRuleRequest();
+				~ListRuleRequest();
+
+				int getPageSize()const;
+				void setPageSize(int pageSize);
+				int getCurrentPage()const;
+				void setCurrentPage(int currentPage);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				int pageSize_;
+				int currentPage_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_LISTRULEREQUEST_H_

+ 79 - 0
iot/include/alibabacloud/iot/model/ListRuleResult.h

@@ -0,0 +1,79 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_LISTRULERESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_LISTRULERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT ListRuleResult : public ServiceResult
+			{
+			public:
+				struct RuleInfo
+				{
+					std::string status;
+					std::string modified;
+					long createUserId;
+					std::string name;
+					std::string created;
+					std::string select;
+					std::string shortTopic;
+					std::string dataType;
+					std::string ruleDesc;
+					long id;
+					std::string topic;
+					std::string where;
+					std::string productKey;
+				};
+
+
+				ListRuleResult();
+				explicit ListRuleResult(const std::string &payload);
+				~ListRuleResult();
+				int getPageSize()const;
+				int getTotal()const;
+				std::vector<RuleInfo> getData()const;
+				int getPage()const;
+				std::string getErrorMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				int pageSize_;
+				int total_;
+				std::vector<RuleInfo> data_;
+				int page_;
+				std::string errorMessage_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_LISTRULERESULT_H_

+ 60 - 0
iot/include/alibabacloud/iot/model/NotifyAddThingTopoRequest.h

@@ -0,0 +1,60 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_NOTIFYADDTHINGTOPOREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_NOTIFYADDTHINGTOPOREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT NotifyAddThingTopoRequest : public RpcServiceRequest
+			{
+
+			public:
+				NotifyAddThingTopoRequest();
+				~NotifyAddThingTopoRequest();
+
+				std::string getGwProductKey()const;
+				void setGwProductKey(const std::string& gwProductKey);
+				std::string getGwDeviceName()const;
+				void setGwDeviceName(const std::string& gwDeviceName);
+				std::string getGwIotId()const;
+				void setGwIotId(const std::string& gwIotId);
+				std::string getDeviceListStr()const;
+				void setDeviceListStr(const std::string& deviceListStr);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string gwProductKey_;
+				std::string gwDeviceName_;
+				std::string gwIotId_;
+				std::string deviceListStr_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_NOTIFYADDTHINGTOPOREQUEST_H_

+ 61 - 0
iot/include/alibabacloud/iot/model/NotifyAddThingTopoResult.h

@@ -0,0 +1,61 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_NOTIFYADDTHINGTOPORESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_NOTIFYADDTHINGTOPORESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT NotifyAddThingTopoResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					std::string messageId;
+				};
+
+
+				NotifyAddThingTopoResult();
+				explicit NotifyAddThingTopoResult(const std::string &payload);
+				~NotifyAddThingTopoResult();
+				Data getData()const;
+				std::string getErrorMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Data data_;
+				std::string errorMessage_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_NOTIFYADDTHINGTOPORESULT_H_

+ 57 - 0
iot/include/alibabacloud/iot/model/PubBroadcastRequest.h

@@ -0,0 +1,57 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_PUBBROADCASTREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_PUBBROADCASTREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT PubBroadcastRequest : public RpcServiceRequest
+			{
+
+			public:
+				PubBroadcastRequest();
+				~PubBroadcastRequest();
+
+				std::string getTopicFullName()const;
+				void setTopicFullName(const std::string& topicFullName);
+				std::string getMessageContent()const;
+				void setMessageContent(const std::string& messageContent);
+				std::string getProductKey()const;
+				void setProductKey(const std::string& productKey);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string topicFullName_;
+				std::string messageContent_;
+				std::string productKey_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_PUBBROADCASTREQUEST_H_

+ 55 - 0
iot/include/alibabacloud/iot/model/PubBroadcastResult.h

@@ -0,0 +1,55 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_PUBBROADCASTRESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_PUBBROADCASTRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT PubBroadcastResult : public ServiceResult
+			{
+			public:
+
+
+				PubBroadcastResult();
+				explicit PubBroadcastResult(const std::string &payload);
+				~PubBroadcastResult();
+				std::string getErrorMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string errorMessage_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_PUBBROADCASTRESULT_H_

+ 60 - 0
iot/include/alibabacloud/iot/model/PubRequest.h

@@ -0,0 +1,60 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_PUBREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_PUBREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT PubRequest : public RpcServiceRequest
+			{
+
+			public:
+				PubRequest();
+				~PubRequest();
+
+				std::string getTopicFullName()const;
+				void setTopicFullName(const std::string& topicFullName);
+				int getQos()const;
+				void setQos(int qos);
+				std::string getMessageContent()const;
+				void setMessageContent(const std::string& messageContent);
+				std::string getProductKey()const;
+				void setProductKey(const std::string& productKey);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string topicFullName_;
+				int qos_;
+				std::string messageContent_;
+				std::string productKey_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_PUBREQUEST_H_

+ 57 - 0
iot/include/alibabacloud/iot/model/PubResult.h

@@ -0,0 +1,57 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_PUBRESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_PUBRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT PubResult : public ServiceResult
+			{
+			public:
+
+
+				PubResult();
+				explicit PubResult(const std::string &payload);
+				~PubResult();
+				std::string getErrorMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+				std::string getMessageId()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string errorMessage_;
+				std::string code_;
+				bool success_;
+				std::string messageId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_PUBRESULT_H_

+ 51 - 0
iot/include/alibabacloud/iot/model/QueryApplyStatusRequest.h

@@ -0,0 +1,51 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_QUERYAPPLYSTATUSREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_QUERYAPPLYSTATUSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT QueryApplyStatusRequest : public RpcServiceRequest
+			{
+
+			public:
+				QueryApplyStatusRequest();
+				~QueryApplyStatusRequest();
+
+				long getApplyId()const;
+				void setApplyId(long applyId);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				long applyId_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_QUERYAPPLYSTATUSREQUEST_H_

+ 57 - 0
iot/include/alibabacloud/iot/model/QueryApplyStatusResult.h

@@ -0,0 +1,57 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_QUERYAPPLYSTATUSRESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_QUERYAPPLYSTATUSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT QueryApplyStatusResult : public ServiceResult
+			{
+			public:
+
+
+				QueryApplyStatusResult();
+				explicit QueryApplyStatusResult(const std::string &payload);
+				~QueryApplyStatusResult();
+				std::string getErrorMessage()const;
+				std::string getCode()const;
+				bool getFinish()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string errorMessage_;
+				std::string code_;
+				bool finish_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_QUERYAPPLYSTATUSRESULT_H_

+ 54 - 0
iot/include/alibabacloud/iot/model/QueryBatchRegisterDeviceStatusRequest.h

@@ -0,0 +1,54 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_QUERYBATCHREGISTERDEVICESTATUSREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_QUERYBATCHREGISTERDEVICESTATUSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT QueryBatchRegisterDeviceStatusRequest : public RpcServiceRequest
+			{
+
+			public:
+				QueryBatchRegisterDeviceStatusRequest();
+				~QueryBatchRegisterDeviceStatusRequest();
+
+				long getApplyId()const;
+				void setApplyId(long applyId);
+				std::string getProductKey()const;
+				void setProductKey(const std::string& productKey);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				long applyId_;
+				std::string productKey_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_QUERYBATCHREGISTERDEVICESTATUSREQUEST_H_

+ 63 - 0
iot/include/alibabacloud/iot/model/QueryBatchRegisterDeviceStatusResult.h

@@ -0,0 +1,63 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_QUERYBATCHREGISTERDEVICESTATUSRESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_QUERYBATCHREGISTERDEVICESTATUSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT QueryBatchRegisterDeviceStatusResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					std::string status;
+					std::vector<std::string> invalidList;
+					std::vector<std::string> validList;
+				};
+
+
+				QueryBatchRegisterDeviceStatusResult();
+				explicit QueryBatchRegisterDeviceStatusResult(const std::string &payload);
+				~QueryBatchRegisterDeviceStatusResult();
+				Data getData()const;
+				std::string getErrorMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Data data_;
+				std::string errorMessage_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_QUERYBATCHREGISTERDEVICESTATUSRESULT_H_

+ 54 - 0
iot/include/alibabacloud/iot/model/QueryDeviceByNameRequest.h

@@ -0,0 +1,54 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_QUERYDEVICEBYNAMEREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_QUERYDEVICEBYNAMEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT QueryDeviceByNameRequest : public RpcServiceRequest
+			{
+
+			public:
+				QueryDeviceByNameRequest();
+				~QueryDeviceByNameRequest();
+
+				std::string getDeviceName()const;
+				void setDeviceName(const std::string& deviceName);
+				std::string getProductKey()const;
+				void setProductKey(const std::string& productKey);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string deviceName_;
+				std::string productKey_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_QUERYDEVICEBYNAMEREQUEST_H_

+ 69 - 0
iot/include/alibabacloud/iot/model/QueryDeviceByNameResult.h

@@ -0,0 +1,69 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_QUERYDEVICEBYNAMERESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_QUERYDEVICEBYNAMERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT QueryDeviceByNameResult : public ServiceResult
+			{
+			public:
+				struct DeviceInfo
+				{
+					std::string deviceType;
+					std::string gmtCreate;
+					std::string deviceId;
+					std::string deviceSecret;
+					std::string gmtModified;
+					std::string deviceStatus;
+					std::string clientIp;
+					std::string productKey;
+					std::string deviceName;
+				};
+
+
+				QueryDeviceByNameResult();
+				explicit QueryDeviceByNameResult(const std::string &payload);
+				~QueryDeviceByNameResult();
+				DeviceInfo getDeviceInfo()const;
+				std::string getErrorMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				DeviceInfo deviceInfo_;
+				std::string errorMessage_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_QUERYDEVICEBYNAMERESULT_H_

+ 57 - 0
iot/include/alibabacloud/iot/model/QueryDeviceDetailRequest.h

@@ -0,0 +1,57 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_QUERYDEVICEDETAILREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_QUERYDEVICEDETAILREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT QueryDeviceDetailRequest : public RpcServiceRequest
+			{
+
+			public:
+				QueryDeviceDetailRequest();
+				~QueryDeviceDetailRequest();
+
+				std::string getIotId()const;
+				void setIotId(const std::string& iotId);
+				std::string getDeviceName()const;
+				void setDeviceName(const std::string& deviceName);
+				std::string getProductKey()const;
+				void setProductKey(const std::string& productKey);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string iotId_;
+				std::string deviceName_;
+				std::string productKey_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_QUERYDEVICEDETAILREQUEST_H_

+ 76 - 0
iot/include/alibabacloud/iot/model/QueryDeviceDetailResult.h

@@ -0,0 +1,76 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_QUERYDEVICEDETAILRESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_QUERYDEVICEDETAILRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT QueryDeviceDetailResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					std::string status;
+					std::string productName;
+					std::string deviceSecret;
+					std::string firmwareVersion;
+					std::string utcOnline;
+					std::string iotId;
+					std::string gmtCreate;
+					std::string utcCreate;
+					std::string utcActive;
+					std::string gmtActive;
+					int nodeType;
+					std::string region;
+					std::string ipAddress;
+					std::string gmtOnline;
+					std::string productKey;
+					std::string deviceName;
+				};
+
+
+				QueryDeviceDetailResult();
+				explicit QueryDeviceDetailResult(const std::string &payload);
+				~QueryDeviceDetailResult();
+				Data getData()const;
+				std::string getErrorMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Data data_;
+				std::string errorMessage_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_QUERYDEVICEDETAILRESULT_H_

+ 75 - 0
iot/include/alibabacloud/iot/model/QueryDeviceEventDataRequest.h

@@ -0,0 +1,75 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_QUERYDEVICEEVENTDATAREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_QUERYDEVICEEVENTDATAREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT QueryDeviceEventDataRequest : public RpcServiceRequest
+			{
+
+			public:
+				QueryDeviceEventDataRequest();
+				~QueryDeviceEventDataRequest();
+
+				int getAsc()const;
+				void setAsc(int asc);
+				std::string getIdentifier()const;
+				void setIdentifier(const std::string& identifier);
+				std::string getIotId()const;
+				void setIotId(const std::string& iotId);
+				int getPageSize()const;
+				void setPageSize(int pageSize);
+				long getEndTime()const;
+				void setEndTime(long endTime);
+				std::string getEventType()const;
+				void setEventType(const std::string& eventType);
+				std::string getDeviceName()const;
+				void setDeviceName(const std::string& deviceName);
+				long getStartTime()const;
+				void setStartTime(long startTime);
+				std::string getProductKey()const;
+				void setProductKey(const std::string& productKey);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				int asc_;
+				std::string identifier_;
+				std::string iotId_;
+				int pageSize_;
+				long endTime_;
+				std::string eventType_;
+				std::string deviceName_;
+				long startTime_;
+				std::string productKey_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_QUERYDEVICEEVENTDATAREQUEST_H_

+ 71 - 0
iot/include/alibabacloud/iot/model/QueryDeviceEventDataResult.h

@@ -0,0 +1,71 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_QUERYDEVICEEVENTDATARESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_QUERYDEVICEEVENTDATARESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT QueryDeviceEventDataResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					struct EventInfo
+					{
+						std::string identifier;
+						std::string eventType;
+						std::string outputData;
+						std::string time;
+						std::string name;
+					};
+					long nextTime;
+					bool nextValid;
+					std::vector<EventInfo> list;
+				};
+
+
+				QueryDeviceEventDataResult();
+				explicit QueryDeviceEventDataResult(const std::string &payload);
+				~QueryDeviceEventDataResult();
+				Data getData()const;
+				std::string getErrorMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Data data_;
+				std::string errorMessage_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_QUERYDEVICEEVENTDATARESULT_H_

+ 54 - 0
iot/include/alibabacloud/iot/model/QueryDevicePropRequest.h

@@ -0,0 +1,54 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_QUERYDEVICEPROPREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_QUERYDEVICEPROPREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT QueryDevicePropRequest : public RpcServiceRequest
+			{
+
+			public:
+				QueryDevicePropRequest();
+				~QueryDevicePropRequest();
+
+				std::string getDeviceName()const;
+				void setDeviceName(const std::string& deviceName);
+				std::string getProductKey()const;
+				void setProductKey(const std::string& productKey);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string deviceName_;
+				std::string productKey_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_QUERYDEVICEPROPREQUEST_H_

+ 57 - 0
iot/include/alibabacloud/iot/model/QueryDevicePropResult.h

@@ -0,0 +1,57 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_QUERYDEVICEPROPRESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_QUERYDEVICEPROPRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT QueryDevicePropResult : public ServiceResult
+			{
+			public:
+
+
+				QueryDevicePropResult();
+				explicit QueryDevicePropResult(const std::string &payload);
+				~QueryDevicePropResult();
+				std::string getErrorMessage()const;
+				std::string getProps()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string errorMessage_;
+				std::string props_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_QUERYDEVICEPROPRESULT_H_

+ 72 - 0
iot/include/alibabacloud/iot/model/QueryDevicePropertyDataRequest.h

@@ -0,0 +1,72 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_QUERYDEVICEPROPERTYDATAREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_QUERYDEVICEPROPERTYDATAREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT QueryDevicePropertyDataRequest : public RpcServiceRequest
+			{
+
+			public:
+				QueryDevicePropertyDataRequest();
+				~QueryDevicePropertyDataRequest();
+
+				int getAsc()const;
+				void setAsc(int asc);
+				std::string getIdentifier()const;
+				void setIdentifier(const std::string& identifier);
+				std::string getIotId()const;
+				void setIotId(const std::string& iotId);
+				int getPageSize()const;
+				void setPageSize(int pageSize);
+				long getEndTime()const;
+				void setEndTime(long endTime);
+				std::string getDeviceName()const;
+				void setDeviceName(const std::string& deviceName);
+				long getStartTime()const;
+				void setStartTime(long startTime);
+				std::string getProductKey()const;
+				void setProductKey(const std::string& productKey);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				int asc_;
+				std::string identifier_;
+				std::string iotId_;
+				int pageSize_;
+				long endTime_;
+				std::string deviceName_;
+				long startTime_;
+				std::string productKey_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_QUERYDEVICEPROPERTYDATAREQUEST_H_

+ 68 - 0
iot/include/alibabacloud/iot/model/QueryDevicePropertyDataResult.h

@@ -0,0 +1,68 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_QUERYDEVICEPROPERTYDATARESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_QUERYDEVICEPROPERTYDATARESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT QueryDevicePropertyDataResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					struct PropertyInfo
+					{
+						std::string value;
+						std::string time;
+					};
+					bool nextValid;
+					long nextTime;
+					std::vector<PropertyInfo> list;
+				};
+
+
+				QueryDevicePropertyDataResult();
+				explicit QueryDevicePropertyDataResult(const std::string &payload);
+				~QueryDevicePropertyDataResult();
+				Data getData()const;
+				std::string getErrorMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Data data_;
+				std::string errorMessage_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_QUERYDEVICEPROPERTYDATARESULT_H_

+ 57 - 0
iot/include/alibabacloud/iot/model/QueryDevicePropertyStatusRequest.h

@@ -0,0 +1,57 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_QUERYDEVICEPROPERTYSTATUSREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_QUERYDEVICEPROPERTYSTATUSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT QueryDevicePropertyStatusRequest : public RpcServiceRequest
+			{
+
+			public:
+				QueryDevicePropertyStatusRequest();
+				~QueryDevicePropertyStatusRequest();
+
+				std::string getIotId()const;
+				void setIotId(const std::string& iotId);
+				std::string getDeviceName()const;
+				void setDeviceName(const std::string& deviceName);
+				std::string getProductKey()const;
+				void setProductKey(const std::string& productKey);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string iotId_;
+				std::string deviceName_;
+				std::string productKey_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_QUERYDEVICEPROPERTYSTATUSREQUEST_H_

+ 70 - 0
iot/include/alibabacloud/iot/model/QueryDevicePropertyStatusResult.h

@@ -0,0 +1,70 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_QUERYDEVICEPROPERTYSTATUSRESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_QUERYDEVICEPROPERTYSTATUSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT QueryDevicePropertyStatusResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					struct PropertyStatusInfo
+					{
+						std::string identifier;
+						std::string value;
+						std::string dataType;
+						std::string time;
+						std::string unit;
+						std::string name;
+					};
+					std::vector<PropertyStatusInfo> list;
+				};
+
+
+				QueryDevicePropertyStatusResult();
+				explicit QueryDevicePropertyStatusResult(const std::string &payload);
+				~QueryDevicePropertyStatusResult();
+				Data getData()const;
+				std::string getErrorMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Data data_;
+				std::string errorMessage_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_QUERYDEVICEPROPERTYSTATUSRESULT_H_

+ 57 - 0
iot/include/alibabacloud/iot/model/QueryDeviceRequest.h

@@ -0,0 +1,57 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_QUERYDEVICEREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_QUERYDEVICEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT QueryDeviceRequest : public RpcServiceRequest
+			{
+
+			public:
+				QueryDeviceRequest();
+				~QueryDeviceRequest();
+
+				int getPageSize()const;
+				void setPageSize(int pageSize);
+				int getCurrentPage()const;
+				void setCurrentPage(int currentPage);
+				std::string getProductKey()const;
+				void setProductKey(const std::string& productKey);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				int pageSize_;
+				int currentPage_;
+				std::string productKey_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_QUERYDEVICEREQUEST_H_

+ 76 - 0
iot/include/alibabacloud/iot/model/QueryDeviceResult.h

@@ -0,0 +1,76 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_QUERYDEVICERESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_QUERYDEVICERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT QueryDeviceResult : public ServiceResult
+			{
+			public:
+				struct DeviceInfo
+				{
+					std::string deviceType;
+					std::string gmtCreate;
+					std::string deviceId;
+					std::string deviceSecret;
+					std::string gmtModified;
+					std::string deviceStatus;
+					std::string productKey;
+					std::string deviceName;
+				};
+
+
+				QueryDeviceResult();
+				explicit QueryDeviceResult(const std::string &payload);
+				~QueryDeviceResult();
+				int getPageSize()const;
+				int getPageCount()const;
+				int getTotal()const;
+				std::vector<DeviceInfo> getData()const;
+				int getPage()const;
+				std::string getErrorMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				int pageSize_;
+				int pageCount_;
+				int total_;
+				std::vector<DeviceInfo> data_;
+				int page_;
+				std::string errorMessage_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_QUERYDEVICERESULT_H_

+ 72 - 0
iot/include/alibabacloud/iot/model/QueryDeviceServiceDataRequest.h

@@ -0,0 +1,72 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_QUERYDEVICESERVICEDATAREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_QUERYDEVICESERVICEDATAREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT QueryDeviceServiceDataRequest : public RpcServiceRequest
+			{
+
+			public:
+				QueryDeviceServiceDataRequest();
+				~QueryDeviceServiceDataRequest();
+
+				int getAsc()const;
+				void setAsc(int asc);
+				std::string getIdentifier()const;
+				void setIdentifier(const std::string& identifier);
+				std::string getIotId()const;
+				void setIotId(const std::string& iotId);
+				int getPageSize()const;
+				void setPageSize(int pageSize);
+				long getEndTime()const;
+				void setEndTime(long endTime);
+				std::string getDeviceName()const;
+				void setDeviceName(const std::string& deviceName);
+				long getStartTime()const;
+				void setStartTime(long startTime);
+				std::string getProductKey()const;
+				void setProductKey(const std::string& productKey);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				int asc_;
+				std::string identifier_;
+				std::string iotId_;
+				int pageSize_;
+				long endTime_;
+				std::string deviceName_;
+				long startTime_;
+				std::string productKey_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_QUERYDEVICESERVICEDATAREQUEST_H_

+ 71 - 0
iot/include/alibabacloud/iot/model/QueryDeviceServiceDataResult.h

@@ -0,0 +1,71 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_QUERYDEVICESERVICEDATARESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_QUERYDEVICESERVICEDATARESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT QueryDeviceServiceDataResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					struct ServiceInfo
+					{
+						std::string identifier;
+						std::string outputData;
+						std::string time;
+						std::string inputData;
+						std::string name;
+					};
+					long nextTime;
+					bool nextValid;
+					std::vector<ServiceInfo> list;
+				};
+
+
+				QueryDeviceServiceDataResult();
+				explicit QueryDeviceServiceDataResult(const std::string &payload);
+				~QueryDeviceServiceDataResult();
+				Data getData()const;
+				std::string getErrorMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Data data_;
+				std::string errorMessage_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_QUERYDEVICESERVICEDATARESULT_H_

+ 51 - 0
iot/include/alibabacloud/iot/model/QueryDeviceStatisticsRequest.h

@@ -0,0 +1,51 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_QUERYDEVICESTATISTICSREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_QUERYDEVICESTATISTICSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT QueryDeviceStatisticsRequest : public RpcServiceRequest
+			{
+
+			public:
+				QueryDeviceStatisticsRequest();
+				~QueryDeviceStatisticsRequest();
+
+				std::string getProductKey()const;
+				void setProductKey(const std::string& productKey);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string productKey_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_QUERYDEVICESTATISTICSREQUEST_H_

+ 63 - 0
iot/include/alibabacloud/iot/model/QueryDeviceStatisticsResult.h

@@ -0,0 +1,63 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_QUERYDEVICESTATISTICSRESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_QUERYDEVICESTATISTICSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT QueryDeviceStatisticsResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					long onlineCount;
+					long activeCount;
+					long deviceCount;
+				};
+
+
+				QueryDeviceStatisticsResult();
+				explicit QueryDeviceStatisticsResult(const std::string &payload);
+				~QueryDeviceStatisticsResult();
+				Data getData()const;
+				std::string getErrorMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Data data_;
+				std::string errorMessage_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_QUERYDEVICESTATISTICSRESULT_H_

+ 57 - 0
iot/include/alibabacloud/iot/model/QueryPageByApplyIdRequest.h

@@ -0,0 +1,57 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_QUERYPAGEBYAPPLYIDREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_QUERYPAGEBYAPPLYIDREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT QueryPageByApplyIdRequest : public RpcServiceRequest
+			{
+
+			public:
+				QueryPageByApplyIdRequest();
+				~QueryPageByApplyIdRequest();
+
+				long getApplyId()const;
+				void setApplyId(long applyId);
+				int getPageSize()const;
+				void setPageSize(int pageSize);
+				int getCurrentPage()const;
+				void setCurrentPage(int currentPage);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				long applyId_;
+				int pageSize_;
+				int currentPage_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_QUERYPAGEBYAPPLYIDREQUEST_H_

+ 71 - 0
iot/include/alibabacloud/iot/model/QueryPageByApplyIdResult.h

@@ -0,0 +1,71 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_QUERYPAGEBYAPPLYIDRESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_QUERYPAGEBYAPPLYIDRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT QueryPageByApplyIdResult : public ServiceResult
+			{
+			public:
+				struct ApplyDeviceInfo
+				{
+					std::string deviceId;
+					std::string deviceSecret;
+					std::string deviceName;
+				};
+
+
+				QueryPageByApplyIdResult();
+				explicit QueryPageByApplyIdResult(const std::string &payload);
+				~QueryPageByApplyIdResult();
+				int getPageSize()const;
+				int getPageCount()const;
+				int getTotal()const;
+				int getPage()const;
+				std::vector<ApplyDeviceInfo> getApplyDeviceList()const;
+				std::string getErrorMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				int pageSize_;
+				int pageCount_;
+				int total_;
+				int page_;
+				std::vector<ApplyDeviceInfo> applyDeviceList_;
+				std::string errorMessage_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_QUERYPAGEBYAPPLYIDRESULT_H_

+ 57 - 0
iot/include/alibabacloud/iot/model/QueryProductListRequest.h

@@ -0,0 +1,57 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_QUERYPRODUCTLISTREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_QUERYPRODUCTLISTREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT QueryProductListRequest : public RpcServiceRequest
+			{
+
+			public:
+				QueryProductListRequest();
+				~QueryProductListRequest();
+
+				int getPageSize()const;
+				void setPageSize(int pageSize);
+				int getCurrentPage()const;
+				void setCurrentPage(int currentPage);
+				std::string getAliyunCommodityCode()const;
+				void setAliyunCommodityCode(const std::string& aliyunCommodityCode);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				int pageSize_;
+				int currentPage_;
+				std::string aliyunCommodityCode_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_QUERYPRODUCTLISTREQUEST_H_

+ 75 - 0
iot/include/alibabacloud/iot/model/QueryProductListResult.h

@@ -0,0 +1,75 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_QUERYPRODUCTLISTRESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_QUERYPRODUCTLISTRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT QueryProductListResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					struct ProductInfo
+					{
+						long gmtCreate;
+						std::string description;
+						std::string productName;
+						int nodeType;
+						int dataFormat;
+						std::string productKey;
+						int deviceCount;
+					};
+					int pageCount;
+					int pageSize;
+					int currentPage;
+					int total;
+					std::vector<ProductInfo> list;
+				};
+
+
+				QueryProductListResult();
+				explicit QueryProductListResult(const std::string &payload);
+				~QueryProductListResult();
+				Data getData()const;
+				std::string getErrorMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Data data_;
+				std::string errorMessage_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_QUERYPRODUCTLISTRESULT_H_

+ 51 - 0
iot/include/alibabacloud/iot/model/QueryProductRequest.h

@@ -0,0 +1,51 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_QUERYPRODUCTREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_QUERYPRODUCTREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT QueryProductRequest : public RpcServiceRequest
+			{
+
+			public:
+				QueryProductRequest();
+				~QueryProductRequest();
+
+				std::string getProductKey()const;
+				void setProductKey(const std::string& productKey);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string productKey_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_QUERYPRODUCTREQUEST_H_

+ 72 - 0
iot/include/alibabacloud/iot/model/QueryProductResult.h

@@ -0,0 +1,72 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_QUERYPRODUCTRESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_QUERYPRODUCTRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT QueryProductResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					long gmtCreate;
+					std::string description;
+					std::string categoryKey;
+					std::string productName;
+					std::string aliyunCommodityCode;
+					bool id2;
+					int nodeType;
+					int dataFormat;
+					std::string categoryName;
+					std::string productSecret;
+					std::string productKey;
+					int deviceCount;
+				};
+
+
+				QueryProductResult();
+				explicit QueryProductResult(const std::string &payload);
+				~QueryProductResult();
+				Data getData()const;
+				std::string getErrorMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Data data_;
+				std::string errorMessage_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_QUERYPRODUCTRESULT_H_

+ 51 - 0
iot/include/alibabacloud/iot/model/QueryProductTopicRequest.h

@@ -0,0 +1,51 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_QUERYPRODUCTTOPICREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_QUERYPRODUCTTOPICREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT QueryProductTopicRequest : public RpcServiceRequest
+			{
+
+			public:
+				QueryProductTopicRequest();
+				~QueryProductTopicRequest();
+
+				std::string getProductKey()const;
+				void setProductKey(const std::string& productKey);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string productKey_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_QUERYPRODUCTTOPICREQUEST_H_

+ 65 - 0
iot/include/alibabacloud/iot/model/QueryProductTopicResult.h

@@ -0,0 +1,65 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_QUERYPRODUCTTOPICRESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_QUERYPRODUCTTOPICRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT QueryProductTopicResult : public ServiceResult
+			{
+			public:
+				struct ProductTopicInfo
+				{
+					std::string desc;
+					std::string topicShortName;
+					std::string operation;
+					std::string id;
+					std::string productKey;
+				};
+
+
+				QueryProductTopicResult();
+				explicit QueryProductTopicResult(const std::string &payload);
+				~QueryProductTopicResult();
+				std::vector<ProductTopicInfo> getData()const;
+				std::string getErrorMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<ProductTopicInfo> data_;
+				std::string errorMessage_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_QUERYPRODUCTTOPICRESULT_H_

+ 54 - 0
iot/include/alibabacloud/iot/model/QueryTopicReverseRouteTableRequest.h

@@ -0,0 +1,54 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_QUERYTOPICREVERSEROUTETABLEREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_QUERYTOPICREVERSEROUTETABLEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT QueryTopicReverseRouteTableRequest : public RpcServiceRequest
+			{
+
+			public:
+				QueryTopicReverseRouteTableRequest();
+				~QueryTopicReverseRouteTableRequest();
+
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
+				std::string getTopic()const;
+				void setTopic(const std::string& topic);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string regionId_;
+				std::string topic_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_QUERYTOPICREVERSEROUTETABLEREQUEST_H_

+ 57 - 0
iot/include/alibabacloud/iot/model/QueryTopicReverseRouteTableResult.h

@@ -0,0 +1,57 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_QUERYTOPICREVERSEROUTETABLERESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_QUERYTOPICREVERSEROUTETABLERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT QueryTopicReverseRouteTableResult : public ServiceResult
+			{
+			public:
+
+
+				QueryTopicReverseRouteTableResult();
+				explicit QueryTopicReverseRouteTableResult(const std::string &payload);
+				~QueryTopicReverseRouteTableResult();
+				std::string getErrorMessage()const;
+				std::string getCode()const;
+				std::vector<std::string> getSrcTopics()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string errorMessage_;
+				std::string code_;
+				std::vector<std::string> srcTopics_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_QUERYTOPICREVERSEROUTETABLERESULT_H_

+ 54 - 0
iot/include/alibabacloud/iot/model/QueryTopicRouteTableRequest.h

@@ -0,0 +1,54 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_QUERYTOPICROUTETABLEREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_QUERYTOPICROUTETABLEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT QueryTopicRouteTableRequest : public RpcServiceRequest
+			{
+
+			public:
+				QueryTopicRouteTableRequest();
+				~QueryTopicRouteTableRequest();
+
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
+				std::string getTopic()const;
+				void setTopic(const std::string& topic);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+
+            private:
+				std::string regionId_;
+				std::string topic_;
+				std::string accessKeyId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_QUERYTOPICROUTETABLEREQUEST_H_

+ 57 - 0
iot/include/alibabacloud/iot/model/QueryTopicRouteTableResult.h

@@ -0,0 +1,57 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_QUERYTOPICROUTETABLERESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_QUERYTOPICROUTETABLERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT QueryTopicRouteTableResult : public ServiceResult
+			{
+			public:
+
+
+				QueryTopicRouteTableResult();
+				explicit QueryTopicRouteTableResult(const std::string &payload);
+				~QueryTopicRouteTableResult();
+				std::vector<std::string> getDstTopics()const;
+				std::string getErrorMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<std::string> dstTopics_;
+				std::string errorMessage_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_QUERYTOPICROUTETABLERESULT_H_

Some files were not shown because too many files changed in this diff