Просмотр исходного кода

Add support for thing model function block features, including thing model APIs like CreateThingModel,UpdateThingModel,SetDeviceProperty,InvokeThingService etc.

sdk-team 5 лет назад
Родитель
Сommit
7da7f672b5
100 измененных файлов с 5323 добавлено и 50 удалено
  1. 3 0
      CHANGELOG
  2. 106 2
      iot/CMakeLists.txt
  3. 208 0
      iot/include/alibabacloud/iot/IotClient.h
  4. 9 0
      iot/include/alibabacloud/iot/model/BatchCheckDeviceNamesRequest.h
  5. 1 0
      iot/include/alibabacloud/iot/model/BatchCheckDeviceNamesResult.h
  6. 69 0
      iot/include/alibabacloud/iot/model/BatchPubRequest.h
  7. 55 0
      iot/include/alibabacloud/iot/model/BatchPubResult.h
  8. 66 0
      iot/include/alibabacloud/iot/model/BindRoleToEdgeInstanceRequest.h
  9. 55 0
      iot/include/alibabacloud/iot/model/BindRoleToEdgeInstanceResult.h
  10. 6 0
      iot/include/alibabacloud/iot/model/CopyThingModelRequest.h
  11. 15 0
      iot/include/alibabacloud/iot/model/CreateOTADynamicUpgradeJobRequest.h
  12. 3 0
      iot/include/alibabacloud/iot/model/CreateOTAFirmwareRequest.h
  13. 66 0
      iot/include/alibabacloud/iot/model/CreateOTAModuleRequest.h
  14. 55 0
      iot/include/alibabacloud/iot/model/CreateOTAModuleResult.h
  15. 18 0
      iot/include/alibabacloud/iot/model/CreateOTAStaticUpgradeJobRequest.h
  16. 9 0
      iot/include/alibabacloud/iot/model/CreateProductRequest.h
  17. 9 0
      iot/include/alibabacloud/iot/model/CreateSubscribeRelationRequest.h
  18. 12 0
      iot/include/alibabacloud/iot/model/CreateThingModelRequest.h
  19. 63 0
      iot/include/alibabacloud/iot/model/CreateThingScriptRequest.h
  20. 55 0
      iot/include/alibabacloud/iot/model/CreateThingScriptResult.h
  21. 60 0
      iot/include/alibabacloud/iot/model/DeleteClientIdsRequest.h
  22. 55 0
      iot/include/alibabacloud/iot/model/DeleteClientIdsResult.h
  23. 63 0
      iot/include/alibabacloud/iot/model/DeleteOTAModuleRequest.h
  24. 55 0
      iot/include/alibabacloud/iot/model/DeleteOTAModuleResult.h
  25. 12 0
      iot/include/alibabacloud/iot/model/DeleteThingModelRequest.h
  26. 54 0
      iot/include/alibabacloud/iot/model/GenerateDeviceNameListURLRequest.h
  27. 68 0
      iot/include/alibabacloud/iot/model/GenerateDeviceNameListURLResult.h
  28. 3 0
      iot/include/alibabacloud/iot/model/GenerateOTAUploadURLRequest.h
  29. 2 0
      iot/include/alibabacloud/iot/model/GenerateOTAUploadURLResult.h
  30. 78 0
      iot/include/alibabacloud/iot/model/GetThingModelTslPublishedRequest.h
  31. 62 0
      iot/include/alibabacloud/iot/model/GetThingModelTslPublishedResult.h
  32. 9 0
      iot/include/alibabacloud/iot/model/GetThingModelTslRequest.h
  33. 57 0
      iot/include/alibabacloud/iot/model/GetThingScriptRequest.h
  34. 62 0
      iot/include/alibabacloud/iot/model/GetThingScriptResult.h
  35. 12 0
      iot/include/alibabacloud/iot/model/ImportThingModelTslRequest.h
  36. 6 0
      iot/include/alibabacloud/iot/model/ListOTAJobByDeviceResult.h
  37. 6 0
      iot/include/alibabacloud/iot/model/ListOTAJobByFirmwareResult.h
  38. 60 0
      iot/include/alibabacloud/iot/model/ListOTAModuleByProductRequest.h
  39. 66 0
      iot/include/alibabacloud/iot/model/ListOTAModuleByProductResult.h
  40. 69 0
      iot/include/alibabacloud/iot/model/ListOTAModuleVersionsByDeviceRequest.h
  41. 73 0
      iot/include/alibabacloud/iot/model/ListOTAModuleVersionsByDeviceResult.h
  42. 3 0
      iot/include/alibabacloud/iot/model/ListOTATaskByJobRequest.h
  43. 15 0
      iot/include/alibabacloud/iot/model/PubRequest.h
  44. 6 0
      iot/include/alibabacloud/iot/model/PublishThingModelRequest.h
  45. 12 6
      iot/include/alibabacloud/iot/model/QueryAppDeviceListRequest.h
  46. 60 0
      iot/include/alibabacloud/iot/model/QueryClientIdsRequest.h
  47. 67 0
      iot/include/alibabacloud/iot/model/QueryClientIdsResult.h
  48. 57 0
      iot/include/alibabacloud/iot/model/QueryDeviceBySQLRequest.h
  49. 87 0
      iot/include/alibabacloud/iot/model/QueryDeviceBySQLResult.h
  50. 3 0
      iot/include/alibabacloud/iot/model/QueryDeviceDesiredPropertyRequest.h
  51. 81 0
      iot/include/alibabacloud/iot/model/QueryDeviceOriginalEventDataRequest.h
  52. 71 0
      iot/include/alibabacloud/iot/model/QueryDeviceOriginalEventDataResult.h
  53. 81 0
      iot/include/alibabacloud/iot/model/QueryDeviceOriginalPropertyDataRequest.h
  54. 68 0
      iot/include/alibabacloud/iot/model/QueryDeviceOriginalPropertyDataResult.h
  55. 75 0
      iot/include/alibabacloud/iot/model/QueryDeviceOriginalPropertyStatusRequest.h
  56. 69 0
      iot/include/alibabacloud/iot/model/QueryDeviceOriginalPropertyStatusResult.h
  57. 81 0
      iot/include/alibabacloud/iot/model/QueryDeviceOriginalServiceDataRequest.h
  58. 71 0
      iot/include/alibabacloud/iot/model/QueryDeviceOriginalServiceDataResult.h
  59. 6 0
      iot/include/alibabacloud/iot/model/QueryDevicePropertyDataRequest.h
  60. 9 0
      iot/include/alibabacloud/iot/model/QueryDevicePropertyStatusRequest.h
  61. 17 8
      iot/include/alibabacloud/iot/model/QueryOTAJobResult.h
  62. 6 0
      iot/include/alibabacloud/iot/model/QuerySubscribeRelationResult.h
  63. 69 0
      iot/include/alibabacloud/iot/model/QueryThingModelExtendConfigPublishedRequest.h
  64. 61 0
      iot/include/alibabacloud/iot/model/QueryThingModelExtendConfigPublishedResult.h
  65. 72 0
      iot/include/alibabacloud/iot/model/QueryThingModelExtendConfigRequest.h
  66. 61 0
      iot/include/alibabacloud/iot/model/QueryThingModelExtendConfigResult.h
  67. 75 0
      iot/include/alibabacloud/iot/model/QueryThingModelPublishedRequest.h
  68. 63 0
      iot/include/alibabacloud/iot/model/QueryThingModelPublishedResult.h
  69. 9 0
      iot/include/alibabacloud/iot/model/QueryThingModelRequest.h
  70. 1 1
      iot/include/alibabacloud/iot/model/RRpcResult.h
  71. 9 0
      iot/include/alibabacloud/iot/model/RegisterDeviceRequest.h
  72. 2 0
      iot/include/alibabacloud/iot/model/SetDeviceDesiredPropertyResult.h
  73. 63 0
      iot/include/alibabacloud/iot/model/SpeechByCombinationRequest.h
  74. 55 0
      iot/include/alibabacloud/iot/model/SpeechByCombinationResult.h
  75. 63 0
      iot/include/alibabacloud/iot/model/TransformClientIdRequest.h
  76. 55 0
      iot/include/alibabacloud/iot/model/TransformClientIdResult.h
  77. 60 0
      iot/include/alibabacloud/iot/model/UnbindRoleFromEdgeInstanceRequest.h
  78. 55 0
      iot/include/alibabacloud/iot/model/UnbindRoleFromEdgeInstanceResult.h
  79. 3 0
      iot/include/alibabacloud/iot/model/UpdateDeviceShadowRequest.h
  80. 66 0
      iot/include/alibabacloud/iot/model/UpdateOTAModuleRequest.h
  81. 55 0
      iot/include/alibabacloud/iot/model/UpdateOTAModuleResult.h
  82. 9 0
      iot/include/alibabacloud/iot/model/UpdateSubscribeRelationRequest.h
  83. 12 0
      iot/include/alibabacloud/iot/model/UpdateThingModelRequest.h
  84. 60 0
      iot/include/alibabacloud/iot/model/UpdateThingModelValidationConfigRequest.h
  85. 55 0
      iot/include/alibabacloud/iot/model/UpdateThingModelValidationConfigResult.h
  86. 63 0
      iot/include/alibabacloud/iot/model/UpdateThingScriptRequest.h
  87. 55 0
      iot/include/alibabacloud/iot/model/UpdateThingScriptResult.h
  88. 841 13
      iot/src/IotClient.cc
  89. 16 0
      iot/src/model/BatchCheckDeviceNamesRequest.cc
  90. 3 0
      iot/src/model/BatchCheckDeviceNamesResult.cc
  91. 10 10
      iot/src/model/BatchGetEdgeInstanceChannelResult.cc
  92. 10 10
      iot/src/model/BatchGetEdgeInstanceDriverConfigsResult.cc
  93. 119 0
      iot/src/model/BatchPubRequest.cc
  94. 65 0
      iot/src/model/BatchPubResult.cc
  95. 106 0
      iot/src/model/BindRoleToEdgeInstanceRequest.cc
  96. 65 0
      iot/src/model/BindRoleToEdgeInstanceResult.cc
  97. 22 0
      iot/src/model/CopyThingModelRequest.cc
  98. 38 0
      iot/src/model/CreateOTADynamicUpgradeJobRequest.cc
  99. 11 0
      iot/src/model/CreateOTAFirmwareRequest.cc
  100. 106 0
      iot/src/model/CreateOTAModuleRequest.cc

+ 3 - 0
CHANGELOG

@@ -1,3 +1,6 @@
+2020-12-31 Version: patch
+- Add support for thing model function block features, including thing model APIs like CreateThingModel,UpdateThingModel,SetDeviceProperty,InvokeThingService etc.
+
 2020-12-31 Version: patch
 - Update Open API.
 

+ 106 - 2
iot/CMakeLists.txt

@@ -51,6 +51,8 @@ set(iot_public_header_model
 	include/alibabacloud/iot/model/BatchGetEdgeInstanceDeviceDriverResult.h
 	include/alibabacloud/iot/model/BatchGetEdgeInstanceDriverConfigsRequest.h
 	include/alibabacloud/iot/model/BatchGetEdgeInstanceDriverConfigsResult.h
+	include/alibabacloud/iot/model/BatchPubRequest.h
+	include/alibabacloud/iot/model/BatchPubResult.h
 	include/alibabacloud/iot/model/BatchQueryDeviceDetailRequest.h
 	include/alibabacloud/iot/model/BatchQueryDeviceDetailResult.h
 	include/alibabacloud/iot/model/BatchRegisterDeviceRequest.h
@@ -71,6 +73,8 @@ set(iot_public_header_model
 	include/alibabacloud/iot/model/BindDriverToEdgeInstanceResult.h
 	include/alibabacloud/iot/model/BindGatewayToEdgeInstanceRequest.h
 	include/alibabacloud/iot/model/BindGatewayToEdgeInstanceResult.h
+	include/alibabacloud/iot/model/BindRoleToEdgeInstanceRequest.h
+	include/alibabacloud/iot/model/BindRoleToEdgeInstanceResult.h
 	include/alibabacloud/iot/model/BindSceneRuleToEdgeInstanceRequest.h
 	include/alibabacloud/iot/model/BindSceneRuleToEdgeInstanceResult.h
 	include/alibabacloud/iot/model/CancelOTAStrategyByJobRequest.h
@@ -111,6 +115,8 @@ set(iot_public_header_model
 	include/alibabacloud/iot/model/CreateOTADynamicUpgradeJobResult.h
 	include/alibabacloud/iot/model/CreateOTAFirmwareRequest.h
 	include/alibabacloud/iot/model/CreateOTAFirmwareResult.h
+	include/alibabacloud/iot/model/CreateOTAModuleRequest.h
+	include/alibabacloud/iot/model/CreateOTAModuleResult.h
 	include/alibabacloud/iot/model/CreateOTAStaticUpgradeJobRequest.h
 	include/alibabacloud/iot/model/CreateOTAStaticUpgradeJobResult.h
 	include/alibabacloud/iot/model/CreateOTAVerifyJobRequest.h
@@ -131,8 +137,12 @@ set(iot_public_header_model
 	include/alibabacloud/iot/model/CreateSubscribeRelationResult.h
 	include/alibabacloud/iot/model/CreateThingModelRequest.h
 	include/alibabacloud/iot/model/CreateThingModelResult.h
+	include/alibabacloud/iot/model/CreateThingScriptRequest.h
+	include/alibabacloud/iot/model/CreateThingScriptResult.h
 	include/alibabacloud/iot/model/CreateTopicRouteTableRequest.h
 	include/alibabacloud/iot/model/CreateTopicRouteTableResult.h
+	include/alibabacloud/iot/model/DeleteClientIdsRequest.h
+	include/alibabacloud/iot/model/DeleteClientIdsResult.h
 	include/alibabacloud/iot/model/DeleteConsumerGroupRequest.h
 	include/alibabacloud/iot/model/DeleteConsumerGroupResult.h
 	include/alibabacloud/iot/model/DeleteConsumerGroupSubscribeRelationRequest.h
@@ -153,6 +163,8 @@ set(iot_public_header_model
 	include/alibabacloud/iot/model/DeleteEdgeInstanceResult.h
 	include/alibabacloud/iot/model/DeleteOTAFirmwareRequest.h
 	include/alibabacloud/iot/model/DeleteOTAFirmwareResult.h
+	include/alibabacloud/iot/model/DeleteOTAModuleRequest.h
+	include/alibabacloud/iot/model/DeleteOTAModuleResult.h
 	include/alibabacloud/iot/model/DeleteProductRequest.h
 	include/alibabacloud/iot/model/DeleteProductResult.h
 	include/alibabacloud/iot/model/DeleteProductTagsRequest.h
@@ -179,6 +191,8 @@ set(iot_public_header_model
 	include/alibabacloud/iot/model/EnableSceneRuleResult.h
 	include/alibabacloud/iot/model/EnableThingRequest.h
 	include/alibabacloud/iot/model/EnableThingResult.h
+	include/alibabacloud/iot/model/GenerateDeviceNameListURLRequest.h
+	include/alibabacloud/iot/model/GenerateDeviceNameListURLResult.h
 	include/alibabacloud/iot/model/GenerateOTAUploadURLRequest.h
 	include/alibabacloud/iot/model/GenerateOTAUploadURLResult.h
 	include/alibabacloud/iot/model/GetDataAPIServiceDetailRequest.h
@@ -207,6 +221,10 @@ set(iot_public_header_model
 	include/alibabacloud/iot/model/GetSceneRuleResult.h
 	include/alibabacloud/iot/model/GetThingModelTslRequest.h
 	include/alibabacloud/iot/model/GetThingModelTslResult.h
+	include/alibabacloud/iot/model/GetThingModelTslPublishedRequest.h
+	include/alibabacloud/iot/model/GetThingModelTslPublishedResult.h
+	include/alibabacloud/iot/model/GetThingScriptRequest.h
+	include/alibabacloud/iot/model/GetThingScriptResult.h
 	include/alibabacloud/iot/model/GetThingTemplateRequest.h
 	include/alibabacloud/iot/model/GetThingTemplateResult.h
 	include/alibabacloud/iot/model/GetThingTopoRequest.h
@@ -225,6 +243,10 @@ set(iot_public_header_model
 	include/alibabacloud/iot/model/ListOTAJobByDeviceResult.h
 	include/alibabacloud/iot/model/ListOTAJobByFirmwareRequest.h
 	include/alibabacloud/iot/model/ListOTAJobByFirmwareResult.h
+	include/alibabacloud/iot/model/ListOTAModuleByProductRequest.h
+	include/alibabacloud/iot/model/ListOTAModuleByProductResult.h
+	include/alibabacloud/iot/model/ListOTAModuleVersionsByDeviceRequest.h
+	include/alibabacloud/iot/model/ListOTAModuleVersionsByDeviceResult.h
 	include/alibabacloud/iot/model/ListOTATaskByJobRequest.h
 	include/alibabacloud/iot/model/ListOTATaskByJobResult.h
 	include/alibabacloud/iot/model/ListProductByTagsRequest.h
@@ -253,6 +275,8 @@ set(iot_public_header_model
 	include/alibabacloud/iot/model/QueryBatchRegisterDeviceStatusResult.h
 	include/alibabacloud/iot/model/QueryCertUrlByApplyIdRequest.h
 	include/alibabacloud/iot/model/QueryCertUrlByApplyIdResult.h
+	include/alibabacloud/iot/model/QueryClientIdsRequest.h
+	include/alibabacloud/iot/model/QueryClientIdsResult.h
 	include/alibabacloud/iot/model/QueryConsumerGroupByGroupIdRequest.h
 	include/alibabacloud/iot/model/QueryConsumerGroupByGroupIdResult.h
 	include/alibabacloud/iot/model/QueryConsumerGroupListRequest.h
@@ -263,6 +287,8 @@ set(iot_public_header_model
 	include/alibabacloud/iot/model/QueryDetailSceneRuleLogResult.h
 	include/alibabacloud/iot/model/QueryDeviceRequest.h
 	include/alibabacloud/iot/model/QueryDeviceResult.h
+	include/alibabacloud/iot/model/QueryDeviceBySQLRequest.h
+	include/alibabacloud/iot/model/QueryDeviceBySQLResult.h
 	include/alibabacloud/iot/model/QueryDeviceByStatusRequest.h
 	include/alibabacloud/iot/model/QueryDeviceByStatusResult.h
 	include/alibabacloud/iot/model/QueryDeviceByTagsRequest.h
@@ -291,6 +317,14 @@ set(iot_public_header_model
 	include/alibabacloud/iot/model/QueryDeviceGroupTagListResult.h
 	include/alibabacloud/iot/model/QueryDeviceListByDeviceGroupRequest.h
 	include/alibabacloud/iot/model/QueryDeviceListByDeviceGroupResult.h
+	include/alibabacloud/iot/model/QueryDeviceOriginalEventDataRequest.h
+	include/alibabacloud/iot/model/QueryDeviceOriginalEventDataResult.h
+	include/alibabacloud/iot/model/QueryDeviceOriginalPropertyDataRequest.h
+	include/alibabacloud/iot/model/QueryDeviceOriginalPropertyDataResult.h
+	include/alibabacloud/iot/model/QueryDeviceOriginalPropertyStatusRequest.h
+	include/alibabacloud/iot/model/QueryDeviceOriginalPropertyStatusResult.h
+	include/alibabacloud/iot/model/QueryDeviceOriginalServiceDataRequest.h
+	include/alibabacloud/iot/model/QueryDeviceOriginalServiceDataResult.h
 	include/alibabacloud/iot/model/QueryDevicePropRequest.h
 	include/alibabacloud/iot/model/QueryDevicePropResult.h
 	include/alibabacloud/iot/model/QueryDevicePropertiesDataRequest.h
@@ -349,6 +383,12 @@ set(iot_public_header_model
 	include/alibabacloud/iot/model/QuerySuperDeviceGroupResult.h
 	include/alibabacloud/iot/model/QueryThingModelRequest.h
 	include/alibabacloud/iot/model/QueryThingModelResult.h
+	include/alibabacloud/iot/model/QueryThingModelExtendConfigRequest.h
+	include/alibabacloud/iot/model/QueryThingModelExtendConfigResult.h
+	include/alibabacloud/iot/model/QueryThingModelExtendConfigPublishedRequest.h
+	include/alibabacloud/iot/model/QueryThingModelExtendConfigPublishedResult.h
+	include/alibabacloud/iot/model/QueryThingModelPublishedRequest.h
+	include/alibabacloud/iot/model/QueryThingModelPublishedResult.h
 	include/alibabacloud/iot/model/QueryTopicReverseRouteTableRequest.h
 	include/alibabacloud/iot/model/QueryTopicReverseRouteTableResult.h
 	include/alibabacloud/iot/model/QueryTopicRouteTableRequest.h
@@ -381,16 +421,22 @@ set(iot_public_header_model
 	include/alibabacloud/iot/model/SetEdgeInstanceDriverConfigsResult.h
 	include/alibabacloud/iot/model/SetProductCertInfoRequest.h
 	include/alibabacloud/iot/model/SetProductCertInfoResult.h
+	include/alibabacloud/iot/model/SpeechByCombinationRequest.h
+	include/alibabacloud/iot/model/SpeechByCombinationResult.h
 	include/alibabacloud/iot/model/StartRuleRequest.h
 	include/alibabacloud/iot/model/StartRuleResult.h
 	include/alibabacloud/iot/model/StopRuleRequest.h
 	include/alibabacloud/iot/model/StopRuleResult.h
+	include/alibabacloud/iot/model/TransformClientIdRequest.h
+	include/alibabacloud/iot/model/TransformClientIdResult.h
 	include/alibabacloud/iot/model/TriggerSceneRuleRequest.h
 	include/alibabacloud/iot/model/TriggerSceneRuleResult.h
 	include/alibabacloud/iot/model/UnbindApplicationFromEdgeInstanceRequest.h
 	include/alibabacloud/iot/model/UnbindApplicationFromEdgeInstanceResult.h
 	include/alibabacloud/iot/model/UnbindDriverFromEdgeInstanceRequest.h
 	include/alibabacloud/iot/model/UnbindDriverFromEdgeInstanceResult.h
+	include/alibabacloud/iot/model/UnbindRoleFromEdgeInstanceRequest.h
+	include/alibabacloud/iot/model/UnbindRoleFromEdgeInstanceResult.h
 	include/alibabacloud/iot/model/UnbindSceneRuleFromEdgeInstanceRequest.h
 	include/alibabacloud/iot/model/UnbindSceneRuleFromEdgeInstanceResult.h
 	include/alibabacloud/iot/model/UpdateConsumerGroupRequest.h
@@ -405,6 +451,8 @@ set(iot_public_header_model
 	include/alibabacloud/iot/model/UpdateEdgeInstanceResult.h
 	include/alibabacloud/iot/model/UpdateEdgeInstanceChannelRequest.h
 	include/alibabacloud/iot/model/UpdateEdgeInstanceChannelResult.h
+	include/alibabacloud/iot/model/UpdateOTAModuleRequest.h
+	include/alibabacloud/iot/model/UpdateOTAModuleResult.h
 	include/alibabacloud/iot/model/UpdateProductRequest.h
 	include/alibabacloud/iot/model/UpdateProductResult.h
 	include/alibabacloud/iot/model/UpdateProductFilterConfigRequest.h
@@ -422,7 +470,11 @@ set(iot_public_header_model
 	include/alibabacloud/iot/model/UpdateSubscribeRelationRequest.h
 	include/alibabacloud/iot/model/UpdateSubscribeRelationResult.h
 	include/alibabacloud/iot/model/UpdateThingModelRequest.h
-	include/alibabacloud/iot/model/UpdateThingModelResult.h )
+	include/alibabacloud/iot/model/UpdateThingModelResult.h
+	include/alibabacloud/iot/model/UpdateThingModelValidationConfigRequest.h
+	include/alibabacloud/iot/model/UpdateThingModelValidationConfigResult.h
+	include/alibabacloud/iot/model/UpdateThingScriptRequest.h
+	include/alibabacloud/iot/model/UpdateThingScriptResult.h )
 
 set(iot_src 
 	src/IotClient.cc
@@ -456,6 +508,8 @@ set(iot_src
 	src/model/BatchGetEdgeInstanceDeviceDriverResult.cc
 	src/model/BatchGetEdgeInstanceDriverConfigsRequest.cc
 	src/model/BatchGetEdgeInstanceDriverConfigsResult.cc
+	src/model/BatchPubRequest.cc
+	src/model/BatchPubResult.cc
 	src/model/BatchQueryDeviceDetailRequest.cc
 	src/model/BatchQueryDeviceDetailResult.cc
 	src/model/BatchRegisterDeviceRequest.cc
@@ -476,6 +530,8 @@ set(iot_src
 	src/model/BindDriverToEdgeInstanceResult.cc
 	src/model/BindGatewayToEdgeInstanceRequest.cc
 	src/model/BindGatewayToEdgeInstanceResult.cc
+	src/model/BindRoleToEdgeInstanceRequest.cc
+	src/model/BindRoleToEdgeInstanceResult.cc
 	src/model/BindSceneRuleToEdgeInstanceRequest.cc
 	src/model/BindSceneRuleToEdgeInstanceResult.cc
 	src/model/CancelOTAStrategyByJobRequest.cc
@@ -516,6 +572,8 @@ set(iot_src
 	src/model/CreateOTADynamicUpgradeJobResult.cc
 	src/model/CreateOTAFirmwareRequest.cc
 	src/model/CreateOTAFirmwareResult.cc
+	src/model/CreateOTAModuleRequest.cc
+	src/model/CreateOTAModuleResult.cc
 	src/model/CreateOTAStaticUpgradeJobRequest.cc
 	src/model/CreateOTAStaticUpgradeJobResult.cc
 	src/model/CreateOTAVerifyJobRequest.cc
@@ -536,8 +594,12 @@ set(iot_src
 	src/model/CreateSubscribeRelationResult.cc
 	src/model/CreateThingModelRequest.cc
 	src/model/CreateThingModelResult.cc
+	src/model/CreateThingScriptRequest.cc
+	src/model/CreateThingScriptResult.cc
 	src/model/CreateTopicRouteTableRequest.cc
 	src/model/CreateTopicRouteTableResult.cc
+	src/model/DeleteClientIdsRequest.cc
+	src/model/DeleteClientIdsResult.cc
 	src/model/DeleteConsumerGroupRequest.cc
 	src/model/DeleteConsumerGroupResult.cc
 	src/model/DeleteConsumerGroupSubscribeRelationRequest.cc
@@ -558,6 +620,8 @@ set(iot_src
 	src/model/DeleteEdgeInstanceResult.cc
 	src/model/DeleteOTAFirmwareRequest.cc
 	src/model/DeleteOTAFirmwareResult.cc
+	src/model/DeleteOTAModuleRequest.cc
+	src/model/DeleteOTAModuleResult.cc
 	src/model/DeleteProductRequest.cc
 	src/model/DeleteProductResult.cc
 	src/model/DeleteProductTagsRequest.cc
@@ -584,6 +648,8 @@ set(iot_src
 	src/model/EnableSceneRuleResult.cc
 	src/model/EnableThingRequest.cc
 	src/model/EnableThingResult.cc
+	src/model/GenerateDeviceNameListURLRequest.cc
+	src/model/GenerateDeviceNameListURLResult.cc
 	src/model/GenerateOTAUploadURLRequest.cc
 	src/model/GenerateOTAUploadURLResult.cc
 	src/model/GetDataAPIServiceDetailRequest.cc
@@ -612,6 +678,10 @@ set(iot_src
 	src/model/GetSceneRuleResult.cc
 	src/model/GetThingModelTslRequest.cc
 	src/model/GetThingModelTslResult.cc
+	src/model/GetThingModelTslPublishedRequest.cc
+	src/model/GetThingModelTslPublishedResult.cc
+	src/model/GetThingScriptRequest.cc
+	src/model/GetThingScriptResult.cc
 	src/model/GetThingTemplateRequest.cc
 	src/model/GetThingTemplateResult.cc
 	src/model/GetThingTopoRequest.cc
@@ -630,6 +700,10 @@ set(iot_src
 	src/model/ListOTAJobByDeviceResult.cc
 	src/model/ListOTAJobByFirmwareRequest.cc
 	src/model/ListOTAJobByFirmwareResult.cc
+	src/model/ListOTAModuleByProductRequest.cc
+	src/model/ListOTAModuleByProductResult.cc
+	src/model/ListOTAModuleVersionsByDeviceRequest.cc
+	src/model/ListOTAModuleVersionsByDeviceResult.cc
 	src/model/ListOTATaskByJobRequest.cc
 	src/model/ListOTATaskByJobResult.cc
 	src/model/ListProductByTagsRequest.cc
@@ -658,6 +732,8 @@ set(iot_src
 	src/model/QueryBatchRegisterDeviceStatusResult.cc
 	src/model/QueryCertUrlByApplyIdRequest.cc
 	src/model/QueryCertUrlByApplyIdResult.cc
+	src/model/QueryClientIdsRequest.cc
+	src/model/QueryClientIdsResult.cc
 	src/model/QueryConsumerGroupByGroupIdRequest.cc
 	src/model/QueryConsumerGroupByGroupIdResult.cc
 	src/model/QueryConsumerGroupListRequest.cc
@@ -668,6 +744,8 @@ set(iot_src
 	src/model/QueryDetailSceneRuleLogResult.cc
 	src/model/QueryDeviceRequest.cc
 	src/model/QueryDeviceResult.cc
+	src/model/QueryDeviceBySQLRequest.cc
+	src/model/QueryDeviceBySQLResult.cc
 	src/model/QueryDeviceByStatusRequest.cc
 	src/model/QueryDeviceByStatusResult.cc
 	src/model/QueryDeviceByTagsRequest.cc
@@ -696,6 +774,14 @@ set(iot_src
 	src/model/QueryDeviceGroupTagListResult.cc
 	src/model/QueryDeviceListByDeviceGroupRequest.cc
 	src/model/QueryDeviceListByDeviceGroupResult.cc
+	src/model/QueryDeviceOriginalEventDataRequest.cc
+	src/model/QueryDeviceOriginalEventDataResult.cc
+	src/model/QueryDeviceOriginalPropertyDataRequest.cc
+	src/model/QueryDeviceOriginalPropertyDataResult.cc
+	src/model/QueryDeviceOriginalPropertyStatusRequest.cc
+	src/model/QueryDeviceOriginalPropertyStatusResult.cc
+	src/model/QueryDeviceOriginalServiceDataRequest.cc
+	src/model/QueryDeviceOriginalServiceDataResult.cc
 	src/model/QueryDevicePropRequest.cc
 	src/model/QueryDevicePropResult.cc
 	src/model/QueryDevicePropertiesDataRequest.cc
@@ -754,6 +840,12 @@ set(iot_src
 	src/model/QuerySuperDeviceGroupResult.cc
 	src/model/QueryThingModelRequest.cc
 	src/model/QueryThingModelResult.cc
+	src/model/QueryThingModelExtendConfigRequest.cc
+	src/model/QueryThingModelExtendConfigResult.cc
+	src/model/QueryThingModelExtendConfigPublishedRequest.cc
+	src/model/QueryThingModelExtendConfigPublishedResult.cc
+	src/model/QueryThingModelPublishedRequest.cc
+	src/model/QueryThingModelPublishedResult.cc
 	src/model/QueryTopicReverseRouteTableRequest.cc
 	src/model/QueryTopicReverseRouteTableResult.cc
 	src/model/QueryTopicRouteTableRequest.cc
@@ -786,16 +878,22 @@ set(iot_src
 	src/model/SetEdgeInstanceDriverConfigsResult.cc
 	src/model/SetProductCertInfoRequest.cc
 	src/model/SetProductCertInfoResult.cc
+	src/model/SpeechByCombinationRequest.cc
+	src/model/SpeechByCombinationResult.cc
 	src/model/StartRuleRequest.cc
 	src/model/StartRuleResult.cc
 	src/model/StopRuleRequest.cc
 	src/model/StopRuleResult.cc
+	src/model/TransformClientIdRequest.cc
+	src/model/TransformClientIdResult.cc
 	src/model/TriggerSceneRuleRequest.cc
 	src/model/TriggerSceneRuleResult.cc
 	src/model/UnbindApplicationFromEdgeInstanceRequest.cc
 	src/model/UnbindApplicationFromEdgeInstanceResult.cc
 	src/model/UnbindDriverFromEdgeInstanceRequest.cc
 	src/model/UnbindDriverFromEdgeInstanceResult.cc
+	src/model/UnbindRoleFromEdgeInstanceRequest.cc
+	src/model/UnbindRoleFromEdgeInstanceResult.cc
 	src/model/UnbindSceneRuleFromEdgeInstanceRequest.cc
 	src/model/UnbindSceneRuleFromEdgeInstanceResult.cc
 	src/model/UpdateConsumerGroupRequest.cc
@@ -810,6 +908,8 @@ set(iot_src
 	src/model/UpdateEdgeInstanceResult.cc
 	src/model/UpdateEdgeInstanceChannelRequest.cc
 	src/model/UpdateEdgeInstanceChannelResult.cc
+	src/model/UpdateOTAModuleRequest.cc
+	src/model/UpdateOTAModuleResult.cc
 	src/model/UpdateProductRequest.cc
 	src/model/UpdateProductResult.cc
 	src/model/UpdateProductFilterConfigRequest.cc
@@ -827,7 +927,11 @@ set(iot_src
 	src/model/UpdateSubscribeRelationRequest.cc
 	src/model/UpdateSubscribeRelationResult.cc
 	src/model/UpdateThingModelRequest.cc
-	src/model/UpdateThingModelResult.cc )
+	src/model/UpdateThingModelResult.cc
+	src/model/UpdateThingModelValidationConfigRequest.cc
+	src/model/UpdateThingModelValidationConfigResult.cc
+	src/model/UpdateThingScriptRequest.cc
+	src/model/UpdateThingScriptResult.cc )
 
 add_library(iot ${LIB_TYPE}
 	${iot_public_header}

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

@@ -52,6 +52,8 @@
 #include "model/BatchGetEdgeInstanceDeviceDriverResult.h"
 #include "model/BatchGetEdgeInstanceDriverConfigsRequest.h"
 #include "model/BatchGetEdgeInstanceDriverConfigsResult.h"
+#include "model/BatchPubRequest.h"
+#include "model/BatchPubResult.h"
 #include "model/BatchQueryDeviceDetailRequest.h"
 #include "model/BatchQueryDeviceDetailResult.h"
 #include "model/BatchRegisterDeviceRequest.h"
@@ -72,6 +74,8 @@
 #include "model/BindDriverToEdgeInstanceResult.h"
 #include "model/BindGatewayToEdgeInstanceRequest.h"
 #include "model/BindGatewayToEdgeInstanceResult.h"
+#include "model/BindRoleToEdgeInstanceRequest.h"
+#include "model/BindRoleToEdgeInstanceResult.h"
 #include "model/BindSceneRuleToEdgeInstanceRequest.h"
 #include "model/BindSceneRuleToEdgeInstanceResult.h"
 #include "model/CancelOTAStrategyByJobRequest.h"
@@ -112,6 +116,8 @@
 #include "model/CreateOTADynamicUpgradeJobResult.h"
 #include "model/CreateOTAFirmwareRequest.h"
 #include "model/CreateOTAFirmwareResult.h"
+#include "model/CreateOTAModuleRequest.h"
+#include "model/CreateOTAModuleResult.h"
 #include "model/CreateOTAStaticUpgradeJobRequest.h"
 #include "model/CreateOTAStaticUpgradeJobResult.h"
 #include "model/CreateOTAVerifyJobRequest.h"
@@ -132,8 +138,12 @@
 #include "model/CreateSubscribeRelationResult.h"
 #include "model/CreateThingModelRequest.h"
 #include "model/CreateThingModelResult.h"
+#include "model/CreateThingScriptRequest.h"
+#include "model/CreateThingScriptResult.h"
 #include "model/CreateTopicRouteTableRequest.h"
 #include "model/CreateTopicRouteTableResult.h"
+#include "model/DeleteClientIdsRequest.h"
+#include "model/DeleteClientIdsResult.h"
 #include "model/DeleteConsumerGroupRequest.h"
 #include "model/DeleteConsumerGroupResult.h"
 #include "model/DeleteConsumerGroupSubscribeRelationRequest.h"
@@ -154,6 +164,8 @@
 #include "model/DeleteEdgeInstanceResult.h"
 #include "model/DeleteOTAFirmwareRequest.h"
 #include "model/DeleteOTAFirmwareResult.h"
+#include "model/DeleteOTAModuleRequest.h"
+#include "model/DeleteOTAModuleResult.h"
 #include "model/DeleteProductRequest.h"
 #include "model/DeleteProductResult.h"
 #include "model/DeleteProductTagsRequest.h"
@@ -180,6 +192,8 @@
 #include "model/EnableSceneRuleResult.h"
 #include "model/EnableThingRequest.h"
 #include "model/EnableThingResult.h"
+#include "model/GenerateDeviceNameListURLRequest.h"
+#include "model/GenerateDeviceNameListURLResult.h"
 #include "model/GenerateOTAUploadURLRequest.h"
 #include "model/GenerateOTAUploadURLResult.h"
 #include "model/GetDataAPIServiceDetailRequest.h"
@@ -208,6 +222,10 @@
 #include "model/GetSceneRuleResult.h"
 #include "model/GetThingModelTslRequest.h"
 #include "model/GetThingModelTslResult.h"
+#include "model/GetThingModelTslPublishedRequest.h"
+#include "model/GetThingModelTslPublishedResult.h"
+#include "model/GetThingScriptRequest.h"
+#include "model/GetThingScriptResult.h"
 #include "model/GetThingTemplateRequest.h"
 #include "model/GetThingTemplateResult.h"
 #include "model/GetThingTopoRequest.h"
@@ -226,6 +244,10 @@
 #include "model/ListOTAJobByDeviceResult.h"
 #include "model/ListOTAJobByFirmwareRequest.h"
 #include "model/ListOTAJobByFirmwareResult.h"
+#include "model/ListOTAModuleByProductRequest.h"
+#include "model/ListOTAModuleByProductResult.h"
+#include "model/ListOTAModuleVersionsByDeviceRequest.h"
+#include "model/ListOTAModuleVersionsByDeviceResult.h"
 #include "model/ListOTATaskByJobRequest.h"
 #include "model/ListOTATaskByJobResult.h"
 #include "model/ListProductByTagsRequest.h"
@@ -254,6 +276,8 @@
 #include "model/QueryBatchRegisterDeviceStatusResult.h"
 #include "model/QueryCertUrlByApplyIdRequest.h"
 #include "model/QueryCertUrlByApplyIdResult.h"
+#include "model/QueryClientIdsRequest.h"
+#include "model/QueryClientIdsResult.h"
 #include "model/QueryConsumerGroupByGroupIdRequest.h"
 #include "model/QueryConsumerGroupByGroupIdResult.h"
 #include "model/QueryConsumerGroupListRequest.h"
@@ -264,6 +288,8 @@
 #include "model/QueryDetailSceneRuleLogResult.h"
 #include "model/QueryDeviceRequest.h"
 #include "model/QueryDeviceResult.h"
+#include "model/QueryDeviceBySQLRequest.h"
+#include "model/QueryDeviceBySQLResult.h"
 #include "model/QueryDeviceByStatusRequest.h"
 #include "model/QueryDeviceByStatusResult.h"
 #include "model/QueryDeviceByTagsRequest.h"
@@ -292,6 +318,14 @@
 #include "model/QueryDeviceGroupTagListResult.h"
 #include "model/QueryDeviceListByDeviceGroupRequest.h"
 #include "model/QueryDeviceListByDeviceGroupResult.h"
+#include "model/QueryDeviceOriginalEventDataRequest.h"
+#include "model/QueryDeviceOriginalEventDataResult.h"
+#include "model/QueryDeviceOriginalPropertyDataRequest.h"
+#include "model/QueryDeviceOriginalPropertyDataResult.h"
+#include "model/QueryDeviceOriginalPropertyStatusRequest.h"
+#include "model/QueryDeviceOriginalPropertyStatusResult.h"
+#include "model/QueryDeviceOriginalServiceDataRequest.h"
+#include "model/QueryDeviceOriginalServiceDataResult.h"
 #include "model/QueryDevicePropRequest.h"
 #include "model/QueryDevicePropResult.h"
 #include "model/QueryDevicePropertiesDataRequest.h"
@@ -350,6 +384,12 @@
 #include "model/QuerySuperDeviceGroupResult.h"
 #include "model/QueryThingModelRequest.h"
 #include "model/QueryThingModelResult.h"
+#include "model/QueryThingModelExtendConfigRequest.h"
+#include "model/QueryThingModelExtendConfigResult.h"
+#include "model/QueryThingModelExtendConfigPublishedRequest.h"
+#include "model/QueryThingModelExtendConfigPublishedResult.h"
+#include "model/QueryThingModelPublishedRequest.h"
+#include "model/QueryThingModelPublishedResult.h"
 #include "model/QueryTopicReverseRouteTableRequest.h"
 #include "model/QueryTopicReverseRouteTableResult.h"
 #include "model/QueryTopicRouteTableRequest.h"
@@ -382,16 +422,22 @@
 #include "model/SetEdgeInstanceDriverConfigsResult.h"
 #include "model/SetProductCertInfoRequest.h"
 #include "model/SetProductCertInfoResult.h"
+#include "model/SpeechByCombinationRequest.h"
+#include "model/SpeechByCombinationResult.h"
 #include "model/StartRuleRequest.h"
 #include "model/StartRuleResult.h"
 #include "model/StopRuleRequest.h"
 #include "model/StopRuleResult.h"
+#include "model/TransformClientIdRequest.h"
+#include "model/TransformClientIdResult.h"
 #include "model/TriggerSceneRuleRequest.h"
 #include "model/TriggerSceneRuleResult.h"
 #include "model/UnbindApplicationFromEdgeInstanceRequest.h"
 #include "model/UnbindApplicationFromEdgeInstanceResult.h"
 #include "model/UnbindDriverFromEdgeInstanceRequest.h"
 #include "model/UnbindDriverFromEdgeInstanceResult.h"
+#include "model/UnbindRoleFromEdgeInstanceRequest.h"
+#include "model/UnbindRoleFromEdgeInstanceResult.h"
 #include "model/UnbindSceneRuleFromEdgeInstanceRequest.h"
 #include "model/UnbindSceneRuleFromEdgeInstanceResult.h"
 #include "model/UpdateConsumerGroupRequest.h"
@@ -406,6 +452,8 @@
 #include "model/UpdateEdgeInstanceResult.h"
 #include "model/UpdateEdgeInstanceChannelRequest.h"
 #include "model/UpdateEdgeInstanceChannelResult.h"
+#include "model/UpdateOTAModuleRequest.h"
+#include "model/UpdateOTAModuleResult.h"
 #include "model/UpdateProductRequest.h"
 #include "model/UpdateProductResult.h"
 #include "model/UpdateProductFilterConfigRequest.h"
@@ -424,6 +472,10 @@
 #include "model/UpdateSubscribeRelationResult.h"
 #include "model/UpdateThingModelRequest.h"
 #include "model/UpdateThingModelResult.h"
+#include "model/UpdateThingModelValidationConfigRequest.h"
+#include "model/UpdateThingModelValidationConfigResult.h"
+#include "model/UpdateThingScriptRequest.h"
+#include "model/UpdateThingScriptResult.h"
 
 
 namespace AlibabaCloud
@@ -478,6 +530,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::BatchGetEdgeInstanceDriverConfigsResult> BatchGetEdgeInstanceDriverConfigsOutcome;
 			typedef std::future<BatchGetEdgeInstanceDriverConfigsOutcome> BatchGetEdgeInstanceDriverConfigsOutcomeCallable;
 			typedef std::function<void(const IotClient*, const Model::BatchGetEdgeInstanceDriverConfigsRequest&, const BatchGetEdgeInstanceDriverConfigsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> BatchGetEdgeInstanceDriverConfigsAsyncHandler;
+			typedef Outcome<Error, Model::BatchPubResult> BatchPubOutcome;
+			typedef std::future<BatchPubOutcome> BatchPubOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::BatchPubRequest&, const BatchPubOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> BatchPubAsyncHandler;
 			typedef Outcome<Error, Model::BatchQueryDeviceDetailResult> BatchQueryDeviceDetailOutcome;
 			typedef std::future<BatchQueryDeviceDetailOutcome> BatchQueryDeviceDetailOutcomeCallable;
 			typedef std::function<void(const IotClient*, const Model::BatchQueryDeviceDetailRequest&, const BatchQueryDeviceDetailOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> BatchQueryDeviceDetailAsyncHandler;
@@ -508,6 +563,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::BindGatewayToEdgeInstanceResult> BindGatewayToEdgeInstanceOutcome;
 			typedef std::future<BindGatewayToEdgeInstanceOutcome> BindGatewayToEdgeInstanceOutcomeCallable;
 			typedef std::function<void(const IotClient*, const Model::BindGatewayToEdgeInstanceRequest&, const BindGatewayToEdgeInstanceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> BindGatewayToEdgeInstanceAsyncHandler;
+			typedef Outcome<Error, Model::BindRoleToEdgeInstanceResult> BindRoleToEdgeInstanceOutcome;
+			typedef std::future<BindRoleToEdgeInstanceOutcome> BindRoleToEdgeInstanceOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::BindRoleToEdgeInstanceRequest&, const BindRoleToEdgeInstanceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> BindRoleToEdgeInstanceAsyncHandler;
 			typedef Outcome<Error, Model::BindSceneRuleToEdgeInstanceResult> BindSceneRuleToEdgeInstanceOutcome;
 			typedef std::future<BindSceneRuleToEdgeInstanceOutcome> BindSceneRuleToEdgeInstanceOutcomeCallable;
 			typedef std::function<void(const IotClient*, const Model::BindSceneRuleToEdgeInstanceRequest&, const BindSceneRuleToEdgeInstanceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> BindSceneRuleToEdgeInstanceAsyncHandler;
@@ -568,6 +626,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::CreateOTAFirmwareResult> CreateOTAFirmwareOutcome;
 			typedef std::future<CreateOTAFirmwareOutcome> CreateOTAFirmwareOutcomeCallable;
 			typedef std::function<void(const IotClient*, const Model::CreateOTAFirmwareRequest&, const CreateOTAFirmwareOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateOTAFirmwareAsyncHandler;
+			typedef Outcome<Error, Model::CreateOTAModuleResult> CreateOTAModuleOutcome;
+			typedef std::future<CreateOTAModuleOutcome> CreateOTAModuleOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::CreateOTAModuleRequest&, const CreateOTAModuleOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateOTAModuleAsyncHandler;
 			typedef Outcome<Error, Model::CreateOTAStaticUpgradeJobResult> CreateOTAStaticUpgradeJobOutcome;
 			typedef std::future<CreateOTAStaticUpgradeJobOutcome> CreateOTAStaticUpgradeJobOutcomeCallable;
 			typedef std::function<void(const IotClient*, const Model::CreateOTAStaticUpgradeJobRequest&, const CreateOTAStaticUpgradeJobOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateOTAStaticUpgradeJobAsyncHandler;
@@ -598,9 +659,15 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::CreateThingModelResult> CreateThingModelOutcome;
 			typedef std::future<CreateThingModelOutcome> CreateThingModelOutcomeCallable;
 			typedef std::function<void(const IotClient*, const Model::CreateThingModelRequest&, const CreateThingModelOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateThingModelAsyncHandler;
+			typedef Outcome<Error, Model::CreateThingScriptResult> CreateThingScriptOutcome;
+			typedef std::future<CreateThingScriptOutcome> CreateThingScriptOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::CreateThingScriptRequest&, const CreateThingScriptOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateThingScriptAsyncHandler;
 			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::DeleteClientIdsResult> DeleteClientIdsOutcome;
+			typedef std::future<DeleteClientIdsOutcome> DeleteClientIdsOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::DeleteClientIdsRequest&, const DeleteClientIdsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteClientIdsAsyncHandler;
 			typedef Outcome<Error, Model::DeleteConsumerGroupResult> DeleteConsumerGroupOutcome;
 			typedef std::future<DeleteConsumerGroupOutcome> DeleteConsumerGroupOutcomeCallable;
 			typedef std::function<void(const IotClient*, const Model::DeleteConsumerGroupRequest&, const DeleteConsumerGroupOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteConsumerGroupAsyncHandler;
@@ -631,6 +698,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DeleteOTAFirmwareResult> DeleteOTAFirmwareOutcome;
 			typedef std::future<DeleteOTAFirmwareOutcome> DeleteOTAFirmwareOutcomeCallable;
 			typedef std::function<void(const IotClient*, const Model::DeleteOTAFirmwareRequest&, const DeleteOTAFirmwareOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteOTAFirmwareAsyncHandler;
+			typedef Outcome<Error, Model::DeleteOTAModuleResult> DeleteOTAModuleOutcome;
+			typedef std::future<DeleteOTAModuleOutcome> DeleteOTAModuleOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::DeleteOTAModuleRequest&, const DeleteOTAModuleOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteOTAModuleAsyncHandler;
 			typedef Outcome<Error, Model::DeleteProductResult> DeleteProductOutcome;
 			typedef std::future<DeleteProductOutcome> DeleteProductOutcomeCallable;
 			typedef std::function<void(const IotClient*, const Model::DeleteProductRequest&, const DeleteProductOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteProductAsyncHandler;
@@ -670,6 +740,9 @@ namespace AlibabaCloud
 			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::GenerateDeviceNameListURLResult> GenerateDeviceNameListURLOutcome;
+			typedef std::future<GenerateDeviceNameListURLOutcome> GenerateDeviceNameListURLOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::GenerateDeviceNameListURLRequest&, const GenerateDeviceNameListURLOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GenerateDeviceNameListURLAsyncHandler;
 			typedef Outcome<Error, Model::GenerateOTAUploadURLResult> GenerateOTAUploadURLOutcome;
 			typedef std::future<GenerateOTAUploadURLOutcome> GenerateOTAUploadURLOutcomeCallable;
 			typedef std::function<void(const IotClient*, const Model::GenerateOTAUploadURLRequest&, const GenerateOTAUploadURLOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GenerateOTAUploadURLAsyncHandler;
@@ -712,6 +785,12 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::GetThingModelTslResult> GetThingModelTslOutcome;
 			typedef std::future<GetThingModelTslOutcome> GetThingModelTslOutcomeCallable;
 			typedef std::function<void(const IotClient*, const Model::GetThingModelTslRequest&, const GetThingModelTslOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetThingModelTslAsyncHandler;
+			typedef Outcome<Error, Model::GetThingModelTslPublishedResult> GetThingModelTslPublishedOutcome;
+			typedef std::future<GetThingModelTslPublishedOutcome> GetThingModelTslPublishedOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::GetThingModelTslPublishedRequest&, const GetThingModelTslPublishedOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetThingModelTslPublishedAsyncHandler;
+			typedef Outcome<Error, Model::GetThingScriptResult> GetThingScriptOutcome;
+			typedef std::future<GetThingScriptOutcome> GetThingScriptOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::GetThingScriptRequest&, const GetThingScriptOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetThingScriptAsyncHandler;
 			typedef Outcome<Error, Model::GetThingTemplateResult> GetThingTemplateOutcome;
 			typedef std::future<GetThingTemplateOutcome> GetThingTemplateOutcomeCallable;
 			typedef std::function<void(const IotClient*, const Model::GetThingTemplateRequest&, const GetThingTemplateOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetThingTemplateAsyncHandler;
@@ -739,6 +818,12 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::ListOTAJobByFirmwareResult> ListOTAJobByFirmwareOutcome;
 			typedef std::future<ListOTAJobByFirmwareOutcome> ListOTAJobByFirmwareOutcomeCallable;
 			typedef std::function<void(const IotClient*, const Model::ListOTAJobByFirmwareRequest&, const ListOTAJobByFirmwareOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListOTAJobByFirmwareAsyncHandler;
+			typedef Outcome<Error, Model::ListOTAModuleByProductResult> ListOTAModuleByProductOutcome;
+			typedef std::future<ListOTAModuleByProductOutcome> ListOTAModuleByProductOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::ListOTAModuleByProductRequest&, const ListOTAModuleByProductOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListOTAModuleByProductAsyncHandler;
+			typedef Outcome<Error, Model::ListOTAModuleVersionsByDeviceResult> ListOTAModuleVersionsByDeviceOutcome;
+			typedef std::future<ListOTAModuleVersionsByDeviceOutcome> ListOTAModuleVersionsByDeviceOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::ListOTAModuleVersionsByDeviceRequest&, const ListOTAModuleVersionsByDeviceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListOTAModuleVersionsByDeviceAsyncHandler;
 			typedef Outcome<Error, Model::ListOTATaskByJobResult> ListOTATaskByJobOutcome;
 			typedef std::future<ListOTATaskByJobOutcome> ListOTATaskByJobOutcomeCallable;
 			typedef std::function<void(const IotClient*, const Model::ListOTATaskByJobRequest&, const ListOTATaskByJobOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListOTATaskByJobAsyncHandler;
@@ -781,6 +866,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::QueryCertUrlByApplyIdResult> QueryCertUrlByApplyIdOutcome;
 			typedef std::future<QueryCertUrlByApplyIdOutcome> QueryCertUrlByApplyIdOutcomeCallable;
 			typedef std::function<void(const IotClient*, const Model::QueryCertUrlByApplyIdRequest&, const QueryCertUrlByApplyIdOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryCertUrlByApplyIdAsyncHandler;
+			typedef Outcome<Error, Model::QueryClientIdsResult> QueryClientIdsOutcome;
+			typedef std::future<QueryClientIdsOutcome> QueryClientIdsOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::QueryClientIdsRequest&, const QueryClientIdsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryClientIdsAsyncHandler;
 			typedef Outcome<Error, Model::QueryConsumerGroupByGroupIdResult> QueryConsumerGroupByGroupIdOutcome;
 			typedef std::future<QueryConsumerGroupByGroupIdOutcome> QueryConsumerGroupByGroupIdOutcomeCallable;
 			typedef std::function<void(const IotClient*, const Model::QueryConsumerGroupByGroupIdRequest&, const QueryConsumerGroupByGroupIdOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryConsumerGroupByGroupIdAsyncHandler;
@@ -796,6 +884,9 @@ namespace AlibabaCloud
 			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::QueryDeviceBySQLResult> QueryDeviceBySQLOutcome;
+			typedef std::future<QueryDeviceBySQLOutcome> QueryDeviceBySQLOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::QueryDeviceBySQLRequest&, const QueryDeviceBySQLOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryDeviceBySQLAsyncHandler;
 			typedef Outcome<Error, Model::QueryDeviceByStatusResult> QueryDeviceByStatusOutcome;
 			typedef std::future<QueryDeviceByStatusOutcome> QueryDeviceByStatusOutcomeCallable;
 			typedef std::function<void(const IotClient*, const Model::QueryDeviceByStatusRequest&, const QueryDeviceByStatusOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryDeviceByStatusAsyncHandler;
@@ -838,6 +929,18 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::QueryDeviceListByDeviceGroupResult> QueryDeviceListByDeviceGroupOutcome;
 			typedef std::future<QueryDeviceListByDeviceGroupOutcome> QueryDeviceListByDeviceGroupOutcomeCallable;
 			typedef std::function<void(const IotClient*, const Model::QueryDeviceListByDeviceGroupRequest&, const QueryDeviceListByDeviceGroupOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryDeviceListByDeviceGroupAsyncHandler;
+			typedef Outcome<Error, Model::QueryDeviceOriginalEventDataResult> QueryDeviceOriginalEventDataOutcome;
+			typedef std::future<QueryDeviceOriginalEventDataOutcome> QueryDeviceOriginalEventDataOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::QueryDeviceOriginalEventDataRequest&, const QueryDeviceOriginalEventDataOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryDeviceOriginalEventDataAsyncHandler;
+			typedef Outcome<Error, Model::QueryDeviceOriginalPropertyDataResult> QueryDeviceOriginalPropertyDataOutcome;
+			typedef std::future<QueryDeviceOriginalPropertyDataOutcome> QueryDeviceOriginalPropertyDataOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::QueryDeviceOriginalPropertyDataRequest&, const QueryDeviceOriginalPropertyDataOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryDeviceOriginalPropertyDataAsyncHandler;
+			typedef Outcome<Error, Model::QueryDeviceOriginalPropertyStatusResult> QueryDeviceOriginalPropertyStatusOutcome;
+			typedef std::future<QueryDeviceOriginalPropertyStatusOutcome> QueryDeviceOriginalPropertyStatusOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::QueryDeviceOriginalPropertyStatusRequest&, const QueryDeviceOriginalPropertyStatusOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryDeviceOriginalPropertyStatusAsyncHandler;
+			typedef Outcome<Error, Model::QueryDeviceOriginalServiceDataResult> QueryDeviceOriginalServiceDataOutcome;
+			typedef std::future<QueryDeviceOriginalServiceDataOutcome> QueryDeviceOriginalServiceDataOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::QueryDeviceOriginalServiceDataRequest&, const QueryDeviceOriginalServiceDataOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryDeviceOriginalServiceDataAsyncHandler;
 			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;
@@ -925,6 +1028,15 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::QueryThingModelResult> QueryThingModelOutcome;
 			typedef std::future<QueryThingModelOutcome> QueryThingModelOutcomeCallable;
 			typedef std::function<void(const IotClient*, const Model::QueryThingModelRequest&, const QueryThingModelOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryThingModelAsyncHandler;
+			typedef Outcome<Error, Model::QueryThingModelExtendConfigResult> QueryThingModelExtendConfigOutcome;
+			typedef std::future<QueryThingModelExtendConfigOutcome> QueryThingModelExtendConfigOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::QueryThingModelExtendConfigRequest&, const QueryThingModelExtendConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryThingModelExtendConfigAsyncHandler;
+			typedef Outcome<Error, Model::QueryThingModelExtendConfigPublishedResult> QueryThingModelExtendConfigPublishedOutcome;
+			typedef std::future<QueryThingModelExtendConfigPublishedOutcome> QueryThingModelExtendConfigPublishedOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::QueryThingModelExtendConfigPublishedRequest&, const QueryThingModelExtendConfigPublishedOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryThingModelExtendConfigPublishedAsyncHandler;
+			typedef Outcome<Error, Model::QueryThingModelPublishedResult> QueryThingModelPublishedOutcome;
+			typedef std::future<QueryThingModelPublishedOutcome> QueryThingModelPublishedOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::QueryThingModelPublishedRequest&, const QueryThingModelPublishedOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryThingModelPublishedAsyncHandler;
 			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;
@@ -973,12 +1085,18 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::SetProductCertInfoResult> SetProductCertInfoOutcome;
 			typedef std::future<SetProductCertInfoOutcome> SetProductCertInfoOutcomeCallable;
 			typedef std::function<void(const IotClient*, const Model::SetProductCertInfoRequest&, const SetProductCertInfoOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SetProductCertInfoAsyncHandler;
+			typedef Outcome<Error, Model::SpeechByCombinationResult> SpeechByCombinationOutcome;
+			typedef std::future<SpeechByCombinationOutcome> SpeechByCombinationOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::SpeechByCombinationRequest&, const SpeechByCombinationOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SpeechByCombinationAsyncHandler;
 			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::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::TransformClientIdResult> TransformClientIdOutcome;
+			typedef std::future<TransformClientIdOutcome> TransformClientIdOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::TransformClientIdRequest&, const TransformClientIdOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> TransformClientIdAsyncHandler;
 			typedef Outcome<Error, Model::TriggerSceneRuleResult> TriggerSceneRuleOutcome;
 			typedef std::future<TriggerSceneRuleOutcome> TriggerSceneRuleOutcomeCallable;
 			typedef std::function<void(const IotClient*, const Model::TriggerSceneRuleRequest&, const TriggerSceneRuleOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> TriggerSceneRuleAsyncHandler;
@@ -988,6 +1106,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::UnbindDriverFromEdgeInstanceResult> UnbindDriverFromEdgeInstanceOutcome;
 			typedef std::future<UnbindDriverFromEdgeInstanceOutcome> UnbindDriverFromEdgeInstanceOutcomeCallable;
 			typedef std::function<void(const IotClient*, const Model::UnbindDriverFromEdgeInstanceRequest&, const UnbindDriverFromEdgeInstanceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UnbindDriverFromEdgeInstanceAsyncHandler;
+			typedef Outcome<Error, Model::UnbindRoleFromEdgeInstanceResult> UnbindRoleFromEdgeInstanceOutcome;
+			typedef std::future<UnbindRoleFromEdgeInstanceOutcome> UnbindRoleFromEdgeInstanceOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::UnbindRoleFromEdgeInstanceRequest&, const UnbindRoleFromEdgeInstanceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UnbindRoleFromEdgeInstanceAsyncHandler;
 			typedef Outcome<Error, Model::UnbindSceneRuleFromEdgeInstanceResult> UnbindSceneRuleFromEdgeInstanceOutcome;
 			typedef std::future<UnbindSceneRuleFromEdgeInstanceOutcome> UnbindSceneRuleFromEdgeInstanceOutcomeCallable;
 			typedef std::function<void(const IotClient*, const Model::UnbindSceneRuleFromEdgeInstanceRequest&, const UnbindSceneRuleFromEdgeInstanceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UnbindSceneRuleFromEdgeInstanceAsyncHandler;
@@ -1009,6 +1130,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::UpdateEdgeInstanceChannelResult> UpdateEdgeInstanceChannelOutcome;
 			typedef std::future<UpdateEdgeInstanceChannelOutcome> UpdateEdgeInstanceChannelOutcomeCallable;
 			typedef std::function<void(const IotClient*, const Model::UpdateEdgeInstanceChannelRequest&, const UpdateEdgeInstanceChannelOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateEdgeInstanceChannelAsyncHandler;
+			typedef Outcome<Error, Model::UpdateOTAModuleResult> UpdateOTAModuleOutcome;
+			typedef std::future<UpdateOTAModuleOutcome> UpdateOTAModuleOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::UpdateOTAModuleRequest&, const UpdateOTAModuleOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateOTAModuleAsyncHandler;
 			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;
@@ -1036,6 +1160,12 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::UpdateThingModelResult> UpdateThingModelOutcome;
 			typedef std::future<UpdateThingModelOutcome> UpdateThingModelOutcomeCallable;
 			typedef std::function<void(const IotClient*, const Model::UpdateThingModelRequest&, const UpdateThingModelOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateThingModelAsyncHandler;
+			typedef Outcome<Error, Model::UpdateThingModelValidationConfigResult> UpdateThingModelValidationConfigOutcome;
+			typedef std::future<UpdateThingModelValidationConfigOutcome> UpdateThingModelValidationConfigOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::UpdateThingModelValidationConfigRequest&, const UpdateThingModelValidationConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateThingModelValidationConfigAsyncHandler;
+			typedef Outcome<Error, Model::UpdateThingScriptResult> UpdateThingScriptOutcome;
+			typedef std::future<UpdateThingScriptOutcome> UpdateThingScriptOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::UpdateThingScriptRequest&, const UpdateThingScriptOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateThingScriptAsyncHandler;
 
 			IotClient(const Credentials &credentials, const ClientConfiguration &configuration);
 			IotClient(const std::shared_ptr<CredentialsProvider> &credentialsProvider, const ClientConfiguration &configuration);
@@ -1086,6 +1216,9 @@ namespace AlibabaCloud
 			BatchGetEdgeInstanceDriverConfigsOutcome batchGetEdgeInstanceDriverConfigs(const Model::BatchGetEdgeInstanceDriverConfigsRequest &request)const;
 			void batchGetEdgeInstanceDriverConfigsAsync(const Model::BatchGetEdgeInstanceDriverConfigsRequest& request, const BatchGetEdgeInstanceDriverConfigsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			BatchGetEdgeInstanceDriverConfigsOutcomeCallable batchGetEdgeInstanceDriverConfigsCallable(const Model::BatchGetEdgeInstanceDriverConfigsRequest& request) const;
+			BatchPubOutcome batchPub(const Model::BatchPubRequest &request)const;
+			void batchPubAsync(const Model::BatchPubRequest& request, const BatchPubAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			BatchPubOutcomeCallable batchPubCallable(const Model::BatchPubRequest& request) const;
 			BatchQueryDeviceDetailOutcome batchQueryDeviceDetail(const Model::BatchQueryDeviceDetailRequest &request)const;
 			void batchQueryDeviceDetailAsync(const Model::BatchQueryDeviceDetailRequest& request, const BatchQueryDeviceDetailAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			BatchQueryDeviceDetailOutcomeCallable batchQueryDeviceDetailCallable(const Model::BatchQueryDeviceDetailRequest& request) const;
@@ -1116,6 +1249,9 @@ namespace AlibabaCloud
 			BindGatewayToEdgeInstanceOutcome bindGatewayToEdgeInstance(const Model::BindGatewayToEdgeInstanceRequest &request)const;
 			void bindGatewayToEdgeInstanceAsync(const Model::BindGatewayToEdgeInstanceRequest& request, const BindGatewayToEdgeInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			BindGatewayToEdgeInstanceOutcomeCallable bindGatewayToEdgeInstanceCallable(const Model::BindGatewayToEdgeInstanceRequest& request) const;
+			BindRoleToEdgeInstanceOutcome bindRoleToEdgeInstance(const Model::BindRoleToEdgeInstanceRequest &request)const;
+			void bindRoleToEdgeInstanceAsync(const Model::BindRoleToEdgeInstanceRequest& request, const BindRoleToEdgeInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			BindRoleToEdgeInstanceOutcomeCallable bindRoleToEdgeInstanceCallable(const Model::BindRoleToEdgeInstanceRequest& request) const;
 			BindSceneRuleToEdgeInstanceOutcome bindSceneRuleToEdgeInstance(const Model::BindSceneRuleToEdgeInstanceRequest &request)const;
 			void bindSceneRuleToEdgeInstanceAsync(const Model::BindSceneRuleToEdgeInstanceRequest& request, const BindSceneRuleToEdgeInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			BindSceneRuleToEdgeInstanceOutcomeCallable bindSceneRuleToEdgeInstanceCallable(const Model::BindSceneRuleToEdgeInstanceRequest& request) const;
@@ -1176,6 +1312,9 @@ namespace AlibabaCloud
 			CreateOTAFirmwareOutcome createOTAFirmware(const Model::CreateOTAFirmwareRequest &request)const;
 			void createOTAFirmwareAsync(const Model::CreateOTAFirmwareRequest& request, const CreateOTAFirmwareAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateOTAFirmwareOutcomeCallable createOTAFirmwareCallable(const Model::CreateOTAFirmwareRequest& request) const;
+			CreateOTAModuleOutcome createOTAModule(const Model::CreateOTAModuleRequest &request)const;
+			void createOTAModuleAsync(const Model::CreateOTAModuleRequest& request, const CreateOTAModuleAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateOTAModuleOutcomeCallable createOTAModuleCallable(const Model::CreateOTAModuleRequest& request) const;
 			CreateOTAStaticUpgradeJobOutcome createOTAStaticUpgradeJob(const Model::CreateOTAStaticUpgradeJobRequest &request)const;
 			void createOTAStaticUpgradeJobAsync(const Model::CreateOTAStaticUpgradeJobRequest& request, const CreateOTAStaticUpgradeJobAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateOTAStaticUpgradeJobOutcomeCallable createOTAStaticUpgradeJobCallable(const Model::CreateOTAStaticUpgradeJobRequest& request) const;
@@ -1206,9 +1345,15 @@ namespace AlibabaCloud
 			CreateThingModelOutcome createThingModel(const Model::CreateThingModelRequest &request)const;
 			void createThingModelAsync(const Model::CreateThingModelRequest& request, const CreateThingModelAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateThingModelOutcomeCallable createThingModelCallable(const Model::CreateThingModelRequest& request) const;
+			CreateThingScriptOutcome createThingScript(const Model::CreateThingScriptRequest &request)const;
+			void createThingScriptAsync(const Model::CreateThingScriptRequest& request, const CreateThingScriptAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateThingScriptOutcomeCallable createThingScriptCallable(const Model::CreateThingScriptRequest& 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;
+			DeleteClientIdsOutcome deleteClientIds(const Model::DeleteClientIdsRequest &request)const;
+			void deleteClientIdsAsync(const Model::DeleteClientIdsRequest& request, const DeleteClientIdsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteClientIdsOutcomeCallable deleteClientIdsCallable(const Model::DeleteClientIdsRequest& request) const;
 			DeleteConsumerGroupOutcome deleteConsumerGroup(const Model::DeleteConsumerGroupRequest &request)const;
 			void deleteConsumerGroupAsync(const Model::DeleteConsumerGroupRequest& request, const DeleteConsumerGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteConsumerGroupOutcomeCallable deleteConsumerGroupCallable(const Model::DeleteConsumerGroupRequest& request) const;
@@ -1239,6 +1384,9 @@ namespace AlibabaCloud
 			DeleteOTAFirmwareOutcome deleteOTAFirmware(const Model::DeleteOTAFirmwareRequest &request)const;
 			void deleteOTAFirmwareAsync(const Model::DeleteOTAFirmwareRequest& request, const DeleteOTAFirmwareAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteOTAFirmwareOutcomeCallable deleteOTAFirmwareCallable(const Model::DeleteOTAFirmwareRequest& request) const;
+			DeleteOTAModuleOutcome deleteOTAModule(const Model::DeleteOTAModuleRequest &request)const;
+			void deleteOTAModuleAsync(const Model::DeleteOTAModuleRequest& request, const DeleteOTAModuleAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteOTAModuleOutcomeCallable deleteOTAModuleCallable(const Model::DeleteOTAModuleRequest& request) const;
 			DeleteProductOutcome deleteProduct(const Model::DeleteProductRequest &request)const;
 			void deleteProductAsync(const Model::DeleteProductRequest& request, const DeleteProductAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteProductOutcomeCallable deleteProductCallable(const Model::DeleteProductRequest& request) const;
@@ -1278,6 +1426,9 @@ namespace AlibabaCloud
 			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;
+			GenerateDeviceNameListURLOutcome generateDeviceNameListURL(const Model::GenerateDeviceNameListURLRequest &request)const;
+			void generateDeviceNameListURLAsync(const Model::GenerateDeviceNameListURLRequest& request, const GenerateDeviceNameListURLAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GenerateDeviceNameListURLOutcomeCallable generateDeviceNameListURLCallable(const Model::GenerateDeviceNameListURLRequest& request) const;
 			GenerateOTAUploadURLOutcome generateOTAUploadURL(const Model::GenerateOTAUploadURLRequest &request)const;
 			void generateOTAUploadURLAsync(const Model::GenerateOTAUploadURLRequest& request, const GenerateOTAUploadURLAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			GenerateOTAUploadURLOutcomeCallable generateOTAUploadURLCallable(const Model::GenerateOTAUploadURLRequest& request) const;
@@ -1320,6 +1471,12 @@ namespace AlibabaCloud
 			GetThingModelTslOutcome getThingModelTsl(const Model::GetThingModelTslRequest &request)const;
 			void getThingModelTslAsync(const Model::GetThingModelTslRequest& request, const GetThingModelTslAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			GetThingModelTslOutcomeCallable getThingModelTslCallable(const Model::GetThingModelTslRequest& request) const;
+			GetThingModelTslPublishedOutcome getThingModelTslPublished(const Model::GetThingModelTslPublishedRequest &request)const;
+			void getThingModelTslPublishedAsync(const Model::GetThingModelTslPublishedRequest& request, const GetThingModelTslPublishedAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GetThingModelTslPublishedOutcomeCallable getThingModelTslPublishedCallable(const Model::GetThingModelTslPublishedRequest& request) const;
+			GetThingScriptOutcome getThingScript(const Model::GetThingScriptRequest &request)const;
+			void getThingScriptAsync(const Model::GetThingScriptRequest& request, const GetThingScriptAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GetThingScriptOutcomeCallable getThingScriptCallable(const Model::GetThingScriptRequest& request) const;
 			GetThingTemplateOutcome getThingTemplate(const Model::GetThingTemplateRequest &request)const;
 			void getThingTemplateAsync(const Model::GetThingTemplateRequest& request, const GetThingTemplateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			GetThingTemplateOutcomeCallable getThingTemplateCallable(const Model::GetThingTemplateRequest& request) const;
@@ -1347,6 +1504,12 @@ namespace AlibabaCloud
 			ListOTAJobByFirmwareOutcome listOTAJobByFirmware(const Model::ListOTAJobByFirmwareRequest &request)const;
 			void listOTAJobByFirmwareAsync(const Model::ListOTAJobByFirmwareRequest& request, const ListOTAJobByFirmwareAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ListOTAJobByFirmwareOutcomeCallable listOTAJobByFirmwareCallable(const Model::ListOTAJobByFirmwareRequest& request) const;
+			ListOTAModuleByProductOutcome listOTAModuleByProduct(const Model::ListOTAModuleByProductRequest &request)const;
+			void listOTAModuleByProductAsync(const Model::ListOTAModuleByProductRequest& request, const ListOTAModuleByProductAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListOTAModuleByProductOutcomeCallable listOTAModuleByProductCallable(const Model::ListOTAModuleByProductRequest& request) const;
+			ListOTAModuleVersionsByDeviceOutcome listOTAModuleVersionsByDevice(const Model::ListOTAModuleVersionsByDeviceRequest &request)const;
+			void listOTAModuleVersionsByDeviceAsync(const Model::ListOTAModuleVersionsByDeviceRequest& request, const ListOTAModuleVersionsByDeviceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListOTAModuleVersionsByDeviceOutcomeCallable listOTAModuleVersionsByDeviceCallable(const Model::ListOTAModuleVersionsByDeviceRequest& request) const;
 			ListOTATaskByJobOutcome listOTATaskByJob(const Model::ListOTATaskByJobRequest &request)const;
 			void listOTATaskByJobAsync(const Model::ListOTATaskByJobRequest& request, const ListOTATaskByJobAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ListOTATaskByJobOutcomeCallable listOTATaskByJobCallable(const Model::ListOTATaskByJobRequest& request) const;
@@ -1389,6 +1552,9 @@ namespace AlibabaCloud
 			QueryCertUrlByApplyIdOutcome queryCertUrlByApplyId(const Model::QueryCertUrlByApplyIdRequest &request)const;
 			void queryCertUrlByApplyIdAsync(const Model::QueryCertUrlByApplyIdRequest& request, const QueryCertUrlByApplyIdAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			QueryCertUrlByApplyIdOutcomeCallable queryCertUrlByApplyIdCallable(const Model::QueryCertUrlByApplyIdRequest& request) const;
+			QueryClientIdsOutcome queryClientIds(const Model::QueryClientIdsRequest &request)const;
+			void queryClientIdsAsync(const Model::QueryClientIdsRequest& request, const QueryClientIdsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			QueryClientIdsOutcomeCallable queryClientIdsCallable(const Model::QueryClientIdsRequest& request) const;
 			QueryConsumerGroupByGroupIdOutcome queryConsumerGroupByGroupId(const Model::QueryConsumerGroupByGroupIdRequest &request)const;
 			void queryConsumerGroupByGroupIdAsync(const Model::QueryConsumerGroupByGroupIdRequest& request, const QueryConsumerGroupByGroupIdAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			QueryConsumerGroupByGroupIdOutcomeCallable queryConsumerGroupByGroupIdCallable(const Model::QueryConsumerGroupByGroupIdRequest& request) const;
@@ -1404,6 +1570,9 @@ namespace AlibabaCloud
 			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;
+			QueryDeviceBySQLOutcome queryDeviceBySQL(const Model::QueryDeviceBySQLRequest &request)const;
+			void queryDeviceBySQLAsync(const Model::QueryDeviceBySQLRequest& request, const QueryDeviceBySQLAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			QueryDeviceBySQLOutcomeCallable queryDeviceBySQLCallable(const Model::QueryDeviceBySQLRequest& request) const;
 			QueryDeviceByStatusOutcome queryDeviceByStatus(const Model::QueryDeviceByStatusRequest &request)const;
 			void queryDeviceByStatusAsync(const Model::QueryDeviceByStatusRequest& request, const QueryDeviceByStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			QueryDeviceByStatusOutcomeCallable queryDeviceByStatusCallable(const Model::QueryDeviceByStatusRequest& request) const;
@@ -1446,6 +1615,18 @@ namespace AlibabaCloud
 			QueryDeviceListByDeviceGroupOutcome queryDeviceListByDeviceGroup(const Model::QueryDeviceListByDeviceGroupRequest &request)const;
 			void queryDeviceListByDeviceGroupAsync(const Model::QueryDeviceListByDeviceGroupRequest& request, const QueryDeviceListByDeviceGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			QueryDeviceListByDeviceGroupOutcomeCallable queryDeviceListByDeviceGroupCallable(const Model::QueryDeviceListByDeviceGroupRequest& request) const;
+			QueryDeviceOriginalEventDataOutcome queryDeviceOriginalEventData(const Model::QueryDeviceOriginalEventDataRequest &request)const;
+			void queryDeviceOriginalEventDataAsync(const Model::QueryDeviceOriginalEventDataRequest& request, const QueryDeviceOriginalEventDataAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			QueryDeviceOriginalEventDataOutcomeCallable queryDeviceOriginalEventDataCallable(const Model::QueryDeviceOriginalEventDataRequest& request) const;
+			QueryDeviceOriginalPropertyDataOutcome queryDeviceOriginalPropertyData(const Model::QueryDeviceOriginalPropertyDataRequest &request)const;
+			void queryDeviceOriginalPropertyDataAsync(const Model::QueryDeviceOriginalPropertyDataRequest& request, const QueryDeviceOriginalPropertyDataAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			QueryDeviceOriginalPropertyDataOutcomeCallable queryDeviceOriginalPropertyDataCallable(const Model::QueryDeviceOriginalPropertyDataRequest& request) const;
+			QueryDeviceOriginalPropertyStatusOutcome queryDeviceOriginalPropertyStatus(const Model::QueryDeviceOriginalPropertyStatusRequest &request)const;
+			void queryDeviceOriginalPropertyStatusAsync(const Model::QueryDeviceOriginalPropertyStatusRequest& request, const QueryDeviceOriginalPropertyStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			QueryDeviceOriginalPropertyStatusOutcomeCallable queryDeviceOriginalPropertyStatusCallable(const Model::QueryDeviceOriginalPropertyStatusRequest& request) const;
+			QueryDeviceOriginalServiceDataOutcome queryDeviceOriginalServiceData(const Model::QueryDeviceOriginalServiceDataRequest &request)const;
+			void queryDeviceOriginalServiceDataAsync(const Model::QueryDeviceOriginalServiceDataRequest& request, const QueryDeviceOriginalServiceDataAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			QueryDeviceOriginalServiceDataOutcomeCallable queryDeviceOriginalServiceDataCallable(const Model::QueryDeviceOriginalServiceDataRequest& 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;
@@ -1533,6 +1714,15 @@ namespace AlibabaCloud
 			QueryThingModelOutcome queryThingModel(const Model::QueryThingModelRequest &request)const;
 			void queryThingModelAsync(const Model::QueryThingModelRequest& request, const QueryThingModelAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			QueryThingModelOutcomeCallable queryThingModelCallable(const Model::QueryThingModelRequest& request) const;
+			QueryThingModelExtendConfigOutcome queryThingModelExtendConfig(const Model::QueryThingModelExtendConfigRequest &request)const;
+			void queryThingModelExtendConfigAsync(const Model::QueryThingModelExtendConfigRequest& request, const QueryThingModelExtendConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			QueryThingModelExtendConfigOutcomeCallable queryThingModelExtendConfigCallable(const Model::QueryThingModelExtendConfigRequest& request) const;
+			QueryThingModelExtendConfigPublishedOutcome queryThingModelExtendConfigPublished(const Model::QueryThingModelExtendConfigPublishedRequest &request)const;
+			void queryThingModelExtendConfigPublishedAsync(const Model::QueryThingModelExtendConfigPublishedRequest& request, const QueryThingModelExtendConfigPublishedAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			QueryThingModelExtendConfigPublishedOutcomeCallable queryThingModelExtendConfigPublishedCallable(const Model::QueryThingModelExtendConfigPublishedRequest& request) const;
+			QueryThingModelPublishedOutcome queryThingModelPublished(const Model::QueryThingModelPublishedRequest &request)const;
+			void queryThingModelPublishedAsync(const Model::QueryThingModelPublishedRequest& request, const QueryThingModelPublishedAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			QueryThingModelPublishedOutcomeCallable queryThingModelPublishedCallable(const Model::QueryThingModelPublishedRequest& 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;
@@ -1581,12 +1771,18 @@ namespace AlibabaCloud
 			SetProductCertInfoOutcome setProductCertInfo(const Model::SetProductCertInfoRequest &request)const;
 			void setProductCertInfoAsync(const Model::SetProductCertInfoRequest& request, const SetProductCertInfoAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			SetProductCertInfoOutcomeCallable setProductCertInfoCallable(const Model::SetProductCertInfoRequest& request) const;
+			SpeechByCombinationOutcome speechByCombination(const Model::SpeechByCombinationRequest &request)const;
+			void speechByCombinationAsync(const Model::SpeechByCombinationRequest& request, const SpeechByCombinationAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			SpeechByCombinationOutcomeCallable speechByCombinationCallable(const Model::SpeechByCombinationRequest& 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;
 			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;
+			TransformClientIdOutcome transformClientId(const Model::TransformClientIdRequest &request)const;
+			void transformClientIdAsync(const Model::TransformClientIdRequest& request, const TransformClientIdAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			TransformClientIdOutcomeCallable transformClientIdCallable(const Model::TransformClientIdRequest& request) const;
 			TriggerSceneRuleOutcome triggerSceneRule(const Model::TriggerSceneRuleRequest &request)const;
 			void triggerSceneRuleAsync(const Model::TriggerSceneRuleRequest& request, const TriggerSceneRuleAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			TriggerSceneRuleOutcomeCallable triggerSceneRuleCallable(const Model::TriggerSceneRuleRequest& request) const;
@@ -1596,6 +1792,9 @@ namespace AlibabaCloud
 			UnbindDriverFromEdgeInstanceOutcome unbindDriverFromEdgeInstance(const Model::UnbindDriverFromEdgeInstanceRequest &request)const;
 			void unbindDriverFromEdgeInstanceAsync(const Model::UnbindDriverFromEdgeInstanceRequest& request, const UnbindDriverFromEdgeInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			UnbindDriverFromEdgeInstanceOutcomeCallable unbindDriverFromEdgeInstanceCallable(const Model::UnbindDriverFromEdgeInstanceRequest& request) const;
+			UnbindRoleFromEdgeInstanceOutcome unbindRoleFromEdgeInstance(const Model::UnbindRoleFromEdgeInstanceRequest &request)const;
+			void unbindRoleFromEdgeInstanceAsync(const Model::UnbindRoleFromEdgeInstanceRequest& request, const UnbindRoleFromEdgeInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UnbindRoleFromEdgeInstanceOutcomeCallable unbindRoleFromEdgeInstanceCallable(const Model::UnbindRoleFromEdgeInstanceRequest& request) const;
 			UnbindSceneRuleFromEdgeInstanceOutcome unbindSceneRuleFromEdgeInstance(const Model::UnbindSceneRuleFromEdgeInstanceRequest &request)const;
 			void unbindSceneRuleFromEdgeInstanceAsync(const Model::UnbindSceneRuleFromEdgeInstanceRequest& request, const UnbindSceneRuleFromEdgeInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			UnbindSceneRuleFromEdgeInstanceOutcomeCallable unbindSceneRuleFromEdgeInstanceCallable(const Model::UnbindSceneRuleFromEdgeInstanceRequest& request) const;
@@ -1617,6 +1816,9 @@ namespace AlibabaCloud
 			UpdateEdgeInstanceChannelOutcome updateEdgeInstanceChannel(const Model::UpdateEdgeInstanceChannelRequest &request)const;
 			void updateEdgeInstanceChannelAsync(const Model::UpdateEdgeInstanceChannelRequest& request, const UpdateEdgeInstanceChannelAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			UpdateEdgeInstanceChannelOutcomeCallable updateEdgeInstanceChannelCallable(const Model::UpdateEdgeInstanceChannelRequest& request) const;
+			UpdateOTAModuleOutcome updateOTAModule(const Model::UpdateOTAModuleRequest &request)const;
+			void updateOTAModuleAsync(const Model::UpdateOTAModuleRequest& request, const UpdateOTAModuleAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UpdateOTAModuleOutcomeCallable updateOTAModuleCallable(const Model::UpdateOTAModuleRequest& 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;
@@ -1644,6 +1846,12 @@ namespace AlibabaCloud
 			UpdateThingModelOutcome updateThingModel(const Model::UpdateThingModelRequest &request)const;
 			void updateThingModelAsync(const Model::UpdateThingModelRequest& request, const UpdateThingModelAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			UpdateThingModelOutcomeCallable updateThingModelCallable(const Model::UpdateThingModelRequest& request) const;
+			UpdateThingModelValidationConfigOutcome updateThingModelValidationConfig(const Model::UpdateThingModelValidationConfigRequest &request)const;
+			void updateThingModelValidationConfigAsync(const Model::UpdateThingModelValidationConfigRequest& request, const UpdateThingModelValidationConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UpdateThingModelValidationConfigOutcomeCallable updateThingModelValidationConfigCallable(const Model::UpdateThingModelValidationConfigRequest& request) const;
+			UpdateThingScriptOutcome updateThingScript(const Model::UpdateThingScriptRequest &request)const;
+			void updateThingScriptAsync(const Model::UpdateThingScriptRequest& request, const UpdateThingScriptAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UpdateThingScriptOutcomeCallable updateThingScriptCallable(const Model::UpdateThingScriptRequest& request) const;
 	
 		private:
 			std::shared_ptr<EndpointProvider> endpointProvider_;

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

@@ -30,6 +30,12 @@ namespace AlibabaCloud
 		{
 			class ALIBABACLOUD_IOT_EXPORT BatchCheckDeviceNamesRequest : public RpcServiceRequest
 			{
+			public:
+				struct DeviceNameList
+				{
+					std::string deviceNickname;
+					std::string deviceName;
+				};
 
 			public:
 				BatchCheckDeviceNamesRequest();
@@ -37,6 +43,8 @@ namespace AlibabaCloud
 
 				std::string getAccessKeyId()const;
 				void setAccessKeyId(const std::string& accessKeyId);
+				std::vector<DeviceNameList> getDeviceNameList()const;
+				void setDeviceNameList(const std::vector<DeviceNameList>& deviceNameList);
 				std::string getIotInstanceId()const;
 				void setIotInstanceId(const std::string& iotInstanceId);
 				std::string getProductKey()const;
@@ -50,6 +58,7 @@ namespace AlibabaCloud
 
             private:
 				std::string accessKeyId_;
+				std::vector<DeviceNameList> deviceNameList_;
 				std::string iotInstanceId_;
 				std::string productKey_;
 				std::string apiProduct_;

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

@@ -36,6 +36,7 @@ namespace AlibabaCloud
 				{
 					std::vector<std::string> invalidDeviceNameList;
 					long applyId;
+					std::vector<std::string> invalidDeviceNicknameList;
 				};
 
 

+ 69 - 0
iot/include/alibabacloud/iot/model/BatchPubRequest.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_BATCHPUBREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_BATCHPUBREQUEST_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 BatchPubRequest : public RpcServiceRequest
+			{
+
+			public:
+				BatchPubRequest();
+				~BatchPubRequest();
+
+				std::string getMessageContent()const;
+				void setMessageContent(const std::string& messageContent);
+				int getQos()const;
+				void setQos(int qos);
+				std::string getIotInstanceId()const;
+				void setIotInstanceId(const std::string& iotInstanceId);
+				std::string getTopicShortName()const;
+				void setTopicShortName(const std::string& topicShortName);
+				std::string getProductKey()const;
+				void setProductKey(const std::string& productKey);
+				std::string getApiProduct()const;
+				void setApiProduct(const std::string& apiProduct);
+				std::string getApiRevision()const;
+				void setApiRevision(const std::string& apiRevision);
+				std::vector<std::string> getDeviceName()const;
+				void setDeviceName(const std::vector<std::string>& deviceName);
+
+            private:
+				std::string messageContent_;
+				int qos_;
+				std::string iotInstanceId_;
+				std::string topicShortName_;
+				std::string productKey_;
+				std::string apiProduct_;
+				std::string apiRevision_;
+				std::vector<std::string> deviceName_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_BATCHPUBREQUEST_H_

+ 55 - 0
iot/include/alibabacloud/iot/model/BatchPubResult.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_BATCHPUBRESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_BATCHPUBRESULT_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 BatchPubResult : public ServiceResult
+			{
+			public:
+
+
+				BatchPubResult();
+				explicit BatchPubResult(const std::string &payload);
+				~BatchPubResult();
+				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_BATCHPUBRESULT_H_

+ 66 - 0
iot/include/alibabacloud/iot/model/BindRoleToEdgeInstanceRequest.h

@@ -0,0 +1,66 @@
+/*
+ * 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_BINDROLETOEDGEINSTANCEREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_BINDROLETOEDGEINSTANCEREQUEST_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 BindRoleToEdgeInstanceRequest : public RpcServiceRequest
+			{
+
+			public:
+				BindRoleToEdgeInstanceRequest();
+				~BindRoleToEdgeInstanceRequest();
+
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getIotInstanceId()const;
+				void setIotInstanceId(const std::string& iotInstanceId);
+				std::string getRoleName()const;
+				void setRoleName(const std::string& roleName);
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+				std::string getRoleArn()const;
+				void setRoleArn(const std::string& roleArn);
+				std::string getApiProduct()const;
+				void setApiProduct(const std::string& apiProduct);
+				std::string getApiRevision()const;
+				void setApiRevision(const std::string& apiRevision);
+
+            private:
+				std::string accessKeyId_;
+				std::string iotInstanceId_;
+				std::string roleName_;
+				std::string instanceId_;
+				std::string roleArn_;
+				std::string apiProduct_;
+				std::string apiRevision_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_BINDROLETOEDGEINSTANCEREQUEST_H_

+ 55 - 0
iot/include/alibabacloud/iot/model/BindRoleToEdgeInstanceResult.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_BINDROLETOEDGEINSTANCERESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_BINDROLETOEDGEINSTANCERESULT_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 BindRoleToEdgeInstanceResult : public ServiceResult
+			{
+			public:
+
+
+				BindRoleToEdgeInstanceResult();
+				explicit BindRoleToEdgeInstanceResult(const std::string &payload);
+				~BindRoleToEdgeInstanceResult();
+				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_BINDROLETOEDGEINSTANCERESULT_H_

+ 6 - 0
iot/include/alibabacloud/iot/model/CopyThingModelRequest.h

@@ -35,10 +35,14 @@ namespace AlibabaCloud
 				CopyThingModelRequest();
 				~CopyThingModelRequest();
 
+				std::string getRealTenantId()const;
+				void setRealTenantId(const std::string& realTenantId);
 				std::string getTargetProductKey()const;
 				void setTargetProductKey(const std::string& targetProductKey);
 				std::string getAccessKeyId()const;
 				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getRealTripartiteKey()const;
+				void setRealTripartiteKey(const std::string& realTripartiteKey);
 				std::string getResourceGroupId()const;
 				void setResourceGroupId(const std::string& resourceGroupId);
 				std::string getIotInstanceId()const;
@@ -53,8 +57,10 @@ namespace AlibabaCloud
 				void setApiRevision(const std::string& apiRevision);
 
             private:
+				std::string realTenantId_;
 				std::string targetProductKey_;
 				std::string accessKeyId_;
+				std::string realTripartiteKey_;
 				std::string resourceGroupId_;
 				std::string iotInstanceId_;
 				std::string sourceModelVersion_;

+ 15 - 0
iot/include/alibabacloud/iot/model/CreateOTADynamicUpgradeJobRequest.h

@@ -30,11 +30,19 @@ namespace AlibabaCloud
 		{
 			class ALIBABACLOUD_IOT_EXPORT CreateOTADynamicUpgradeJobRequest : public RpcServiceRequest
 			{
+			public:
+				struct Tag
+				{
+					std::string value;
+					std::string key;
+				};
 
 			public:
 				CreateOTADynamicUpgradeJobRequest();
 				~CreateOTADynamicUpgradeJobRequest();
 
+				int getDynamicMode()const;
+				void setDynamicMode(int dynamicMode);
 				int getRetryCount()const;
 				void setRetryCount(int retryCount);
 				int getTimeoutInMinutes()const;
@@ -43,6 +51,8 @@ namespace AlibabaCloud
 				void setAccessKeyId(const std::string& accessKeyId);
 				std::string getIotInstanceId()const;
 				void setIotInstanceId(const std::string& iotInstanceId);
+				std::vector<Tag> getTag()const;
+				void setTag(const std::vector<Tag>& tag);
 				std::string getFirmwareId()const;
 				void setFirmwareId(const std::string& firmwareId);
 				std::string getProductKey()const;
@@ -51,6 +61,8 @@ namespace AlibabaCloud
 				void setRetryInterval(int retryInterval);
 				std::vector<std::string> getSrcVersion()const;
 				void setSrcVersion(const std::vector<std::string>& srcVersion);
+				int getOverwriteMode()const;
+				void setOverwriteMode(int overwriteMode);
 				std::string getApiProduct()const;
 				void setApiProduct(const std::string& apiProduct);
 				std::string getApiRevision()const;
@@ -59,14 +71,17 @@ namespace AlibabaCloud
 				void setMaximumPerMinute(int maximumPerMinute);
 
             private:
+				int dynamicMode_;
 				int retryCount_;
 				int timeoutInMinutes_;
 				std::string accessKeyId_;
 				std::string iotInstanceId_;
+				std::vector<Tag> tag_;
 				std::string firmwareId_;
 				std::string productKey_;
 				int retryInterval_;
 				std::vector<std::string> srcVersion_;
+				int overwriteMode_;
 				std::string apiProduct_;
 				std::string apiRevision_;
 				int maximumPerMinute_;

+ 3 - 0
iot/include/alibabacloud/iot/model/CreateOTAFirmwareRequest.h

@@ -37,6 +37,8 @@ namespace AlibabaCloud
 
 				std::string getSignMethod()const;
 				void setSignMethod(const std::string& signMethod);
+				bool getNeedToVerify()const;
+				void setNeedToVerify(bool needToVerify);
 				int getType()const;
 				void setType(int type);
 				std::string getFirmwareUrl()const;
@@ -68,6 +70,7 @@ namespace AlibabaCloud
 
             private:
 				std::string signMethod_;
+				bool needToVerify_;
 				int type_;
 				std::string firmwareUrl_;
 				std::string accessKeyId_;

+ 66 - 0
iot/include/alibabacloud/iot/model/CreateOTAModuleRequest.h

@@ -0,0 +1,66 @@
+/*
+ * 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_CREATEOTAMODULEREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_CREATEOTAMODULEREQUEST_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 CreateOTAModuleRequest : public RpcServiceRequest
+			{
+
+			public:
+				CreateOTAModuleRequest();
+				~CreateOTAModuleRequest();
+
+				std::string getIotInstanceId()const;
+				void setIotInstanceId(const std::string& iotInstanceId);
+				std::string getModuleName()const;
+				void setModuleName(const std::string& moduleName);
+				std::string getProductKey()const;
+				void setProductKey(const std::string& productKey);
+				std::string getAliasName()const;
+				void setAliasName(const std::string& aliasName);
+				std::string getApiProduct()const;
+				void setApiProduct(const std::string& apiProduct);
+				std::string getApiRevision()const;
+				void setApiRevision(const std::string& apiRevision);
+				std::string getDesc()const;
+				void setDesc(const std::string& desc);
+
+            private:
+				std::string iotInstanceId_;
+				std::string moduleName_;
+				std::string productKey_;
+				std::string aliasName_;
+				std::string apiProduct_;
+				std::string apiRevision_;
+				std::string desc_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_CREATEOTAMODULEREQUEST_H_

+ 55 - 0
iot/include/alibabacloud/iot/model/CreateOTAModuleResult.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_CREATEOTAMODULERESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_CREATEOTAMODULERESULT_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 CreateOTAModuleResult : public ServiceResult
+			{
+			public:
+
+
+				CreateOTAModuleResult();
+				explicit CreateOTAModuleResult(const std::string &payload);
+				~CreateOTAModuleResult();
+				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_CREATEOTAMODULERESULT_H_

+ 18 - 0
iot/include/alibabacloud/iot/model/CreateOTAStaticUpgradeJobRequest.h

@@ -30,6 +30,12 @@ namespace AlibabaCloud
 		{
 			class ALIBABACLOUD_IOT_EXPORT CreateOTAStaticUpgradeJobRequest : public RpcServiceRequest
 			{
+			public:
+				struct Tag
+				{
+					std::string value;
+					std::string key;
+				};
 
 			public:
 				CreateOTAStaticUpgradeJobRequest();
@@ -45,8 +51,14 @@ namespace AlibabaCloud
 				void setIotInstanceId(const std::string& iotInstanceId);
 				std::string getTargetSelection()const;
 				void setTargetSelection(const std::string& targetSelection);
+				long getScheduleFinishTime()const;
+				void setScheduleFinishTime(long scheduleFinishTime);
+				std::vector<Tag> getTag()const;
+				void setTag(const std::vector<Tag>& tag);
 				std::string getGrayPercent()const;
 				void setGrayPercent(const std::string& grayPercent);
+				std::string getDnListFileUrl()const;
+				void setDnListFileUrl(const std::string& dnListFileUrl);
 				std::string getFirmwareId()const;
 				void setFirmwareId(const std::string& firmwareId);
 				std::string getProductKey()const;
@@ -57,6 +69,8 @@ namespace AlibabaCloud
 				void setSrcVersion(const std::vector<std::string>& srcVersion);
 				long getScheduleTime()const;
 				void setScheduleTime(long scheduleTime);
+				int getOverwriteMode()const;
+				void setOverwriteMode(int overwriteMode);
 				std::string getApiProduct()const;
 				void setApiProduct(const std::string& apiProduct);
 				std::string getApiRevision()const;
@@ -72,12 +86,16 @@ namespace AlibabaCloud
 				std::string accessKeyId_;
 				std::string iotInstanceId_;
 				std::string targetSelection_;
+				long scheduleFinishTime_;
+				std::vector<Tag> tag_;
 				std::string grayPercent_;
+				std::string dnListFileUrl_;
 				std::string firmwareId_;
 				std::string productKey_;
 				int retryInterval_;
 				std::vector<std::string> srcVersion_;
 				long scheduleTime_;
+				int overwriteMode_;
 				std::string apiProduct_;
 				std::string apiRevision_;
 				int maximumPerMinute_;

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

@@ -37,6 +37,8 @@ namespace AlibabaCloud
 
 				int getNodeType()const;
 				void setNodeType(int nodeType);
+				std::string getRealTenantId()const;
+				void setRealTenantId(const std::string& realTenantId);
 				std::string getDescription()const;
 				void setDescription(const std::string& description);
 				std::string getCategoryKey()const;
@@ -47,8 +49,12 @@ namespace AlibabaCloud
 				void setAccessKeyId(const std::string& accessKeyId);
 				std::string getAuthType()const;
 				void setAuthType(const std::string& authType);
+				std::string getRealTripartiteKey()const;
+				void setRealTripartiteKey(const std::string& realTripartiteKey);
 				std::string getResourceGroupId()const;
 				void setResourceGroupId(const std::string& resourceGroupId);
+				int getValidateType()const;
+				void setValidateType(int validateType);
 				std::string getIotInstanceId()const;
 				void setIotInstanceId(const std::string& iotInstanceId);
 				std::string getProductName()const;
@@ -74,12 +80,15 @@ namespace AlibabaCloud
 
             private:
 				int nodeType_;
+				std::string realTenantId_;
 				std::string description_;
 				std::string categoryKey_;
 				std::string joinPermissionId_;
 				std::string accessKeyId_;
 				std::string authType_;
+				std::string realTripartiteKey_;
 				std::string resourceGroupId_;
+				int validateType_;
 				std::string iotInstanceId_;
 				std::string productName_;
 				std::string aliyunCommodityCode_;

+ 9 - 0
iot/include/alibabacloud/iot/model/CreateSubscribeRelationRequest.h

@@ -47,6 +47,10 @@ namespace AlibabaCloud
 				void setIotInstanceId(const std::string& iotInstanceId);
 				bool getDeviceStatusChangeFlag()const;
 				void setDeviceStatusChangeFlag(bool deviceStatusChangeFlag);
+				bool getOtaVersionFlag()const;
+				void setOtaVersionFlag(bool otaVersionFlag);
+				bool getDeviceTagFlag()const;
+				void setDeviceTagFlag(bool deviceTagFlag);
 				std::vector<std::string> getConsumerGroupIds()const;
 				void setConsumerGroupIds(const std::vector<std::string>& consumerGroupIds);
 				std::string getProductKey()const;
@@ -55,6 +59,8 @@ namespace AlibabaCloud
 				void setThingHistoryFlag(bool thingHistoryFlag);
 				bool getFoundDeviceListFlag()const;
 				void setFoundDeviceListFlag(bool foundDeviceListFlag);
+				bool getOtaJobFlag()const;
+				void setOtaJobFlag(bool otaJobFlag);
 				std::string getApiProduct()const;
 				void setApiProduct(const std::string& apiProduct);
 				bool getDeviceDataFlag()const;
@@ -71,10 +77,13 @@ namespace AlibabaCloud
 				std::string type_;
 				std::string iotInstanceId_;
 				bool deviceStatusChangeFlag_;
+				bool otaVersionFlag_;
+				bool deviceTagFlag_;
 				std::vector<std::string> consumerGroupIds_;
 				std::string productKey_;
 				bool thingHistoryFlag_;
 				bool foundDeviceListFlag_;
+				bool otaJobFlag_;
 				std::string apiProduct_;
 				bool deviceDataFlag_;
 				std::string apiRevision_;

+ 12 - 0
iot/include/alibabacloud/iot/model/CreateThingModelRequest.h

@@ -35,8 +35,14 @@ namespace AlibabaCloud
 				CreateThingModelRequest();
 				~CreateThingModelRequest();
 
+				std::string getRealTenantId()const;
+				void setRealTenantId(const std::string& realTenantId);
+				std::string getRealTripartiteKey()const;
+				void setRealTripartiteKey(const std::string& realTripartiteKey);
 				std::string getIotInstanceId()const;
 				void setIotInstanceId(const std::string& iotInstanceId);
+				std::string getFunctionBlockName()const;
+				void setFunctionBlockName(const std::string& functionBlockName);
 				std::string getProductKey()const;
 				void setProductKey(const std::string& productKey);
 				std::string getApiProduct()const;
@@ -45,13 +51,19 @@ namespace AlibabaCloud
 				void setThingModelJson(const std::string& thingModelJson);
 				std::string getApiRevision()const;
 				void setApiRevision(const std::string& apiRevision);
+				std::string getFunctionBlockId()const;
+				void setFunctionBlockId(const std::string& functionBlockId);
 
             private:
+				std::string realTenantId_;
+				std::string realTripartiteKey_;
 				std::string iotInstanceId_;
+				std::string functionBlockName_;
 				std::string productKey_;
 				std::string apiProduct_;
 				std::string thingModelJson_;
 				std::string apiRevision_;
+				std::string functionBlockId_;
 
 			};
 		}

+ 63 - 0
iot/include/alibabacloud/iot/model/CreateThingScriptRequest.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_CREATETHINGSCRIPTREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_CREATETHINGSCRIPTREQUEST_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 CreateThingScriptRequest : public RpcServiceRequest
+			{
+
+			public:
+				CreateThingScriptRequest();
+				~CreateThingScriptRequest();
+
+				std::string getIotInstanceId()const;
+				void setIotInstanceId(const std::string& iotInstanceId);
+				std::string getScriptType()const;
+				void setScriptType(const std::string& scriptType);
+				std::string getProductKey()const;
+				void setProductKey(const std::string& productKey);
+				std::string getApiProduct()const;
+				void setApiProduct(const std::string& apiProduct);
+				std::string getApiRevision()const;
+				void setApiRevision(const std::string& apiRevision);
+				std::string getScriptContent()const;
+				void setScriptContent(const std::string& scriptContent);
+
+            private:
+				std::string iotInstanceId_;
+				std::string scriptType_;
+				std::string productKey_;
+				std::string apiProduct_;
+				std::string apiRevision_;
+				std::string scriptContent_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_CREATETHINGSCRIPTREQUEST_H_

+ 55 - 0
iot/include/alibabacloud/iot/model/CreateThingScriptResult.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_CREATETHINGSCRIPTRESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_CREATETHINGSCRIPTRESULT_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 CreateThingScriptResult : public ServiceResult
+			{
+			public:
+
+
+				CreateThingScriptResult();
+				explicit CreateThingScriptResult(const std::string &payload);
+				~CreateThingScriptResult();
+				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_CREATETHINGSCRIPTRESULT_H_

+ 60 - 0
iot/include/alibabacloud/iot/model/DeleteClientIdsRequest.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_DELETECLIENTIDSREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_DELETECLIENTIDSREQUEST_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 DeleteClientIdsRequest : public RpcServiceRequest
+			{
+
+			public:
+				DeleteClientIdsRequest();
+				~DeleteClientIdsRequest();
+
+				std::string getAuthConfig()const;
+				void setAuthConfig(const std::string& authConfig);
+				std::string getIotId()const;
+				void setIotId(const std::string& iotId);
+				std::string getIotInstanceId()const;
+				void setIotInstanceId(const std::string& iotInstanceId);
+				std::string getApiProduct()const;
+				void setApiProduct(const std::string& apiProduct);
+				std::string getApiRevision()const;
+				void setApiRevision(const std::string& apiRevision);
+
+            private:
+				std::string authConfig_;
+				std::string iotId_;
+				std::string iotInstanceId_;
+				std::string apiProduct_;
+				std::string apiRevision_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_DELETECLIENTIDSREQUEST_H_

+ 55 - 0
iot/include/alibabacloud/iot/model/DeleteClientIdsResult.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_DELETECLIENTIDSRESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_DELETECLIENTIDSRESULT_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 DeleteClientIdsResult : public ServiceResult
+			{
+			public:
+
+
+				DeleteClientIdsResult();
+				explicit DeleteClientIdsResult(const std::string &payload);
+				~DeleteClientIdsResult();
+				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_DELETECLIENTIDSRESULT_H_

+ 63 - 0
iot/include/alibabacloud/iot/model/DeleteOTAModuleRequest.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_DELETEOTAMODULEREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_DELETEOTAMODULEREQUEST_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 DeleteOTAModuleRequest : public RpcServiceRequest
+			{
+
+			public:
+				DeleteOTAModuleRequest();
+				~DeleteOTAModuleRequest();
+
+				std::string getAuthConfig()const;
+				void setAuthConfig(const std::string& authConfig);
+				std::string getIotInstanceId()const;
+				void setIotInstanceId(const std::string& iotInstanceId);
+				std::string getModuleName()const;
+				void setModuleName(const std::string& moduleName);
+				std::string getProductKey()const;
+				void setProductKey(const std::string& productKey);
+				std::string getApiProduct()const;
+				void setApiProduct(const std::string& apiProduct);
+				std::string getApiRevision()const;
+				void setApiRevision(const std::string& apiRevision);
+
+            private:
+				std::string authConfig_;
+				std::string iotInstanceId_;
+				std::string moduleName_;
+				std::string productKey_;
+				std::string apiProduct_;
+				std::string apiRevision_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_DELETEOTAMODULEREQUEST_H_

+ 55 - 0
iot/include/alibabacloud/iot/model/DeleteOTAModuleResult.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_DELETEOTAMODULERESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_DELETEOTAMODULERESULT_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 DeleteOTAModuleResult : public ServiceResult
+			{
+			public:
+
+
+				DeleteOTAModuleResult();
+				explicit DeleteOTAModuleResult(const std::string &payload);
+				~DeleteOTAModuleResult();
+				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_DELETEOTAMODULERESULT_H_

+ 12 - 0
iot/include/alibabacloud/iot/model/DeleteThingModelRequest.h

@@ -35,8 +35,14 @@ namespace AlibabaCloud
 				DeleteThingModelRequest();
 				~DeleteThingModelRequest();
 
+				std::string getRealTenantId()const;
+				void setRealTenantId(const std::string& realTenantId);
+				bool getIsClearAllFunction()const;
+				void setIsClearAllFunction(bool isClearAllFunction);
 				std::string getAccessKeyId()const;
 				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getRealTripartiteKey()const;
+				void setRealTripartiteKey(const std::string& realTripartiteKey);
 				std::string getResourceGroupId()const;
 				void setResourceGroupId(const std::string& resourceGroupId);
 				std::vector<std::string> getPropertyIdentifier()const;
@@ -53,9 +59,14 @@ namespace AlibabaCloud
 				void setApiRevision(const std::string& apiRevision);
 				std::vector<std::string> getEventIdentifier()const;
 				void setEventIdentifier(const std::vector<std::string>& eventIdentifier);
+				std::string getFunctionBlockId()const;
+				void setFunctionBlockId(const std::string& functionBlockId);
 
             private:
+				std::string realTenantId_;
+				bool isClearAllFunction_;
 				std::string accessKeyId_;
+				std::string realTripartiteKey_;
 				std::string resourceGroupId_;
 				std::vector<std::string> propertyIdentifier_;
 				std::string iotInstanceId_;
@@ -64,6 +75,7 @@ namespace AlibabaCloud
 				std::string apiProduct_;
 				std::string apiRevision_;
 				std::vector<std::string> eventIdentifier_;
+				std::string functionBlockId_;
 
 			};
 		}

+ 54 - 0
iot/include/alibabacloud/iot/model/GenerateDeviceNameListURLRequest.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_GENERATEDEVICENAMELISTURLREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_GENERATEDEVICENAMELISTURLREQUEST_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 GenerateDeviceNameListURLRequest : public RpcServiceRequest
+			{
+
+			public:
+				GenerateDeviceNameListURLRequest();
+				~GenerateDeviceNameListURLRequest();
+
+				std::string getIotInstanceId()const;
+				void setIotInstanceId(const std::string& iotInstanceId);
+				std::string getApiProduct()const;
+				void setApiProduct(const std::string& apiProduct);
+				std::string getApiRevision()const;
+				void setApiRevision(const std::string& apiRevision);
+
+            private:
+				std::string iotInstanceId_;
+				std::string apiProduct_;
+				std::string apiRevision_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_GENERATEDEVICENAMELISTURLREQUEST_H_

+ 68 - 0
iot/include/alibabacloud/iot/model/GenerateDeviceNameListURLResult.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_GENERATEDEVICENAMELISTURLRESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_GENERATEDEVICENAMELISTURLRESULT_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 GenerateDeviceNameListURLResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					std::string policy;
+					std::string fileUrl;
+					std::string utcCreate;
+					std::string accessKeyId;
+					std::string signature;
+					std::string objectStorage;
+					std::string host;
+					std::string key;
+				};
+
+
+				GenerateDeviceNameListURLResult();
+				explicit GenerateDeviceNameListURLResult(const std::string &payload);
+				~GenerateDeviceNameListURLResult();
+				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_GENERATEDEVICENAMELISTURLRESULT_H_

+ 3 - 0
iot/include/alibabacloud/iot/model/GenerateOTAUploadURLRequest.h

@@ -35,6 +35,8 @@ namespace AlibabaCloud
 				GenerateOTAUploadURLRequest();
 				~GenerateOTAUploadURLRequest();
 
+				std::string getFileSuffix()const;
+				void setFileSuffix(const std::string& fileSuffix);
 				std::string getAccessKeyId()const;
 				void setAccessKeyId(const std::string& accessKeyId);
 				std::string getIotInstanceId()const;
@@ -45,6 +47,7 @@ namespace AlibabaCloud
 				void setApiRevision(const std::string& apiRevision);
 
             private:
+				std::string fileSuffix_;
 				std::string accessKeyId_;
 				std::string iotInstanceId_;
 				std::string apiProduct_;

+ 2 - 0
iot/include/alibabacloud/iot/model/GenerateOTAUploadURLResult.h

@@ -36,8 +36,10 @@ namespace AlibabaCloud
 				{
 					std::string policy;
 					std::string oSSAccessKeyId;
+					std::string utcCreate;
 					std::string signature;
 					std::string firmwareUrl;
+					std::string objectStorage;
 					std::string host;
 					std::string key;
 				};

+ 78 - 0
iot/include/alibabacloud/iot/model/GetThingModelTslPublishedRequest.h

@@ -0,0 +1,78 @@
+/*
+ * 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_GETTHINGMODELTSLPUBLISHEDREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_GETTHINGMODELTSLPUBLISHEDREQUEST_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 GetThingModelTslPublishedRequest : public RpcServiceRequest
+			{
+
+			public:
+				GetThingModelTslPublishedRequest();
+				~GetThingModelTslPublishedRequest();
+
+				std::string getRealTenantId()const;
+				void setRealTenantId(const std::string& realTenantId);
+				bool getSimple()const;
+				void setSimple(bool simple);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getRealTripartiteKey()const;
+				void setRealTripartiteKey(const std::string& realTripartiteKey);
+				std::string getResourceGroupId()const;
+				void setResourceGroupId(const std::string& resourceGroupId);
+				std::string getIotInstanceId()const;
+				void setIotInstanceId(const std::string& iotInstanceId);
+				std::string getProductKey()const;
+				void setProductKey(const std::string& productKey);
+				std::string getApiProduct()const;
+				void setApiProduct(const std::string& apiProduct);
+				std::string getApiRevision()const;
+				void setApiRevision(const std::string& apiRevision);
+				std::string getModelVersion()const;
+				void setModelVersion(const std::string& modelVersion);
+				std::string getFunctionBlockId()const;
+				void setFunctionBlockId(const std::string& functionBlockId);
+
+            private:
+				std::string realTenantId_;
+				bool simple_;
+				std::string accessKeyId_;
+				std::string realTripartiteKey_;
+				std::string resourceGroupId_;
+				std::string iotInstanceId_;
+				std::string productKey_;
+				std::string apiProduct_;
+				std::string apiRevision_;
+				std::string modelVersion_;
+				std::string functionBlockId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_GETTHINGMODELTSLPUBLISHEDREQUEST_H_

+ 62 - 0
iot/include/alibabacloud/iot/model/GetThingModelTslPublishedResult.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_GETTHINGMODELTSLPUBLISHEDRESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_GETTHINGMODELTSLPUBLISHEDRESULT_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 GetThingModelTslPublishedResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					std::string tslUri;
+					std::string tslStr;
+				};
+
+
+				GetThingModelTslPublishedResult();
+				explicit GetThingModelTslPublishedResult(const std::string &payload);
+				~GetThingModelTslPublishedResult();
+				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_GETTHINGMODELTSLPUBLISHEDRESULT_H_

+ 9 - 0
iot/include/alibabacloud/iot/model/GetThingModelTslRequest.h

@@ -35,10 +35,14 @@ namespace AlibabaCloud
 				GetThingModelTslRequest();
 				~GetThingModelTslRequest();
 
+				std::string getRealTenantId()const;
+				void setRealTenantId(const std::string& realTenantId);
 				bool getSimple()const;
 				void setSimple(bool simple);
 				std::string getAccessKeyId()const;
 				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getRealTripartiteKey()const;
+				void setRealTripartiteKey(const std::string& realTripartiteKey);
 				std::string getResourceGroupId()const;
 				void setResourceGroupId(const std::string& resourceGroupId);
 				std::string getIotInstanceId()const;
@@ -51,16 +55,21 @@ namespace AlibabaCloud
 				void setApiRevision(const std::string& apiRevision);
 				std::string getModelVersion()const;
 				void setModelVersion(const std::string& modelVersion);
+				std::string getFunctionBlockId()const;
+				void setFunctionBlockId(const std::string& functionBlockId);
 
             private:
+				std::string realTenantId_;
 				bool simple_;
 				std::string accessKeyId_;
+				std::string realTripartiteKey_;
 				std::string resourceGroupId_;
 				std::string iotInstanceId_;
 				std::string productKey_;
 				std::string apiProduct_;
 				std::string apiRevision_;
 				std::string modelVersion_;
+				std::string functionBlockId_;
 
 			};
 		}

+ 57 - 0
iot/include/alibabacloud/iot/model/GetThingScriptRequest.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_GETTHINGSCRIPTREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_GETTHINGSCRIPTREQUEST_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 GetThingScriptRequest : public RpcServiceRequest
+			{
+
+			public:
+				GetThingScriptRequest();
+				~GetThingScriptRequest();
+
+				std::string getProductKey()const;
+				void setProductKey(const std::string& productKey);
+				std::string getIotInstanceId()const;
+				void setIotInstanceId(const std::string& iotInstanceId);
+				std::string getApiProduct()const;
+				void setApiProduct(const std::string& apiProduct);
+				std::string getApiRevision()const;
+				void setApiRevision(const std::string& apiRevision);
+
+            private:
+				std::string productKey_;
+				std::string iotInstanceId_;
+				std::string apiProduct_;
+				std::string apiRevision_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_GETTHINGSCRIPTREQUEST_H_

+ 62 - 0
iot/include/alibabacloud/iot/model/GetThingScriptResult.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_GETTHINGSCRIPTRESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_GETTHINGSCRIPTRESULT_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 GetThingScriptResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					std::string scriptType;
+					std::string scriptUrl;
+				};
+
+
+				GetThingScriptResult();
+				explicit GetThingScriptResult(const std::string &payload);
+				~GetThingScriptResult();
+				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_GETTHINGSCRIPTRESULT_H_

+ 12 - 0
iot/include/alibabacloud/iot/model/ImportThingModelTslRequest.h

@@ -35,12 +35,18 @@ namespace AlibabaCloud
 				ImportThingModelTslRequest();
 				~ImportThingModelTslRequest();
 
+				std::string getRealTenantId()const;
+				void setRealTenantId(const std::string& realTenantId);
 				std::string getAccessKeyId()const;
 				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getRealTripartiteKey()const;
+				void setRealTripartiteKey(const std::string& realTripartiteKey);
 				std::string getResourceGroupId()const;
 				void setResourceGroupId(const std::string& resourceGroupId);
 				std::string getIotInstanceId()const;
 				void setIotInstanceId(const std::string& iotInstanceId);
+				std::string getFunctionBlockName()const;
+				void setFunctionBlockName(const std::string& functionBlockName);
 				std::string getProductKey()const;
 				void setProductKey(const std::string& productKey);
 				std::string getApiProduct()const;
@@ -51,16 +57,22 @@ namespace AlibabaCloud
 				void setTslUrl(const std::string& tslUrl);
 				std::string getTslStr()const;
 				void setTslStr(const std::string& tslStr);
+				std::string getFunctionBlockId()const;
+				void setFunctionBlockId(const std::string& functionBlockId);
 
             private:
+				std::string realTenantId_;
 				std::string accessKeyId_;
+				std::string realTripartiteKey_;
 				std::string resourceGroupId_;
 				std::string iotInstanceId_;
+				std::string functionBlockName_;
 				std::string productKey_;
 				std::string apiProduct_;
 				std::string apiRevision_;
 				std::string tslUrl_;
 				std::string tslStr_;
+				std::string functionBlockId_;
 
 			};
 		}

+ 6 - 0
iot/include/alibabacloud/iot/model/ListOTAJobByDeviceResult.h

@@ -34,6 +34,11 @@ namespace AlibabaCloud
 			public:
 				struct SimpleOTAJobInfo
 				{
+					struct OtaTagDTO
+					{
+						std::string value;
+						std::string key;
+					};
 					std::string utcStartTime;
 					std::string jobStatus;
 					std::string utcEndTime;
@@ -43,6 +48,7 @@ namespace AlibabaCloud
 					std::string firmwareId;
 					std::string utcModified;
 					std::string targetSelection;
+					std::vector<SimpleOTAJobInfo::OtaTagDTO> tags;
 					std::string jobId;
 					std::string productKey;
 				};

+ 6 - 0
iot/include/alibabacloud/iot/model/ListOTAJobByFirmwareResult.h

@@ -34,6 +34,11 @@ namespace AlibabaCloud
 			public:
 				struct SimpleOTAJobInfo
 				{
+					struct OtaTagDTO
+					{
+						std::string value;
+						std::string key;
+					};
 					std::string utcStartTime;
 					std::string jobStatus;
 					std::string utcEndTime;
@@ -43,6 +48,7 @@ namespace AlibabaCloud
 					std::string firmwareId;
 					std::string utcModified;
 					std::string targetSelection;
+					std::vector<SimpleOTAJobInfo::OtaTagDTO> tags;
 					std::string jobId;
 					std::string productKey;
 				};

+ 60 - 0
iot/include/alibabacloud/iot/model/ListOTAModuleByProductRequest.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_LISTOTAMODULEBYPRODUCTREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_LISTOTAMODULEBYPRODUCTREQUEST_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 ListOTAModuleByProductRequest : public RpcServiceRequest
+			{
+
+			public:
+				ListOTAModuleByProductRequest();
+				~ListOTAModuleByProductRequest();
+
+				std::string getAuthConfig()const;
+				void setAuthConfig(const std::string& authConfig);
+				std::string getIotInstanceId()const;
+				void setIotInstanceId(const std::string& iotInstanceId);
+				std::string getProductKey()const;
+				void setProductKey(const std::string& productKey);
+				std::string getApiProduct()const;
+				void setApiProduct(const std::string& apiProduct);
+				std::string getApiRevision()const;
+				void setApiRevision(const std::string& apiRevision);
+
+            private:
+				std::string authConfig_;
+				std::string iotInstanceId_;
+				std::string productKey_;
+				std::string apiProduct_;
+				std::string apiRevision_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_LISTOTAMODULEBYPRODUCTREQUEST_H_

+ 66 - 0
iot/include/alibabacloud/iot/model/ListOTAModuleByProductResult.h

@@ -0,0 +1,66 @@
+/*
+ * 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_LISTOTAMODULEBYPRODUCTRESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_LISTOTAMODULEBYPRODUCTRESULT_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 ListOTAModuleByProductResult : public ServiceResult
+			{
+			public:
+				struct OtaModuleDTO
+				{
+					std::string desc;
+					std::string gmtCreate;
+					std::string moduleName;
+					std::string aliasName;
+					std::string gmtModified;
+					std::string productKey;
+				};
+
+
+				ListOTAModuleByProductResult();
+				explicit ListOTAModuleByProductResult(const std::string &payload);
+				~ListOTAModuleByProductResult();
+				std::vector<OtaModuleDTO> getData()const;
+				std::string getErrorMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<OtaModuleDTO> data_;
+				std::string errorMessage_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_LISTOTAMODULEBYPRODUCTRESULT_H_

+ 69 - 0
iot/include/alibabacloud/iot/model/ListOTAModuleVersionsByDeviceRequest.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_LISTOTAMODULEVERSIONSBYDEVICEREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_LISTOTAMODULEVERSIONSBYDEVICEREQUEST_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 ListOTAModuleVersionsByDeviceRequest : public RpcServiceRequest
+			{
+
+			public:
+				ListOTAModuleVersionsByDeviceRequest();
+				~ListOTAModuleVersionsByDeviceRequest();
+
+				std::string getIotId()const;
+				void setIotId(const std::string& iotId);
+				std::string getIotInstanceId()const;
+				void setIotInstanceId(const std::string& iotInstanceId);
+				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 getApiProduct()const;
+				void setApiProduct(const std::string& apiProduct);
+				std::string getApiRevision()const;
+				void setApiRevision(const std::string& apiRevision);
+				std::string getDeviceName()const;
+				void setDeviceName(const std::string& deviceName);
+
+            private:
+				std::string iotId_;
+				std::string iotInstanceId_;
+				int pageSize_;
+				int currentPage_;
+				std::string productKey_;
+				std::string apiProduct_;
+				std::string apiRevision_;
+				std::string deviceName_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_LISTOTAMODULEVERSIONSBYDEVICEREQUEST_H_

+ 73 - 0
iot/include/alibabacloud/iot/model/ListOTAModuleVersionsByDeviceResult.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_LISTOTAMODULEVERSIONSBYDEVICERESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_LISTOTAMODULEVERSIONSBYDEVICERESULT_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 ListOTAModuleVersionsByDeviceResult : public ServiceResult
+			{
+			public:
+				struct SimpleOTAModuleInfo
+				{
+					std::string iotId;
+					std::string moduleVersion;
+					std::string moduleName;
+					std::string productKey;
+					std::string deviceName;
+				};
+
+
+				ListOTAModuleVersionsByDeviceResult();
+				explicit ListOTAModuleVersionsByDeviceResult(const std::string &payload);
+				~ListOTAModuleVersionsByDeviceResult();
+				int getPageSize()const;
+				int getPageCount()const;
+				int getCurrentPage()const;
+				int getTotal()const;
+				std::vector<SimpleOTAModuleInfo> getData()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 currentPage_;
+				int total_;
+				std::vector<SimpleOTAModuleInfo> data_;
+				std::string errorMessage_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_LISTOTAMODULEVERSIONSBYDEVICERESULT_H_

+ 3 - 0
iot/include/alibabacloud/iot/model/ListOTATaskByJobRequest.h

@@ -43,6 +43,8 @@ namespace AlibabaCloud
 				void setIotInstanceId(const std::string& iotInstanceId);
 				int getPageSize()const;
 				void setPageSize(int pageSize);
+				std::vector<std::string> getDeviceNames()const;
+				void setDeviceNames(const std::vector<std::string>& deviceNames);
 				int getCurrentPage()const;
 				void setCurrentPage(int currentPage);
 				std::string getApiProduct()const;
@@ -55,6 +57,7 @@ namespace AlibabaCloud
 				std::string taskStatus_;
 				std::string iotInstanceId_;
 				int pageSize_;
+				std::vector<std::string> deviceNames_;
 				int currentPage_;
 				std::string apiProduct_;
 				std::string apiRevision_;

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

@@ -30,19 +30,31 @@ namespace AlibabaCloud
 		{
 			class ALIBABACLOUD_IOT_EXPORT PubRequest : public RpcServiceRequest
 			{
+			public:
+				struct UserProp
+				{
+					std::string value;
+					std::string key;
+				};
 
 			public:
 				PubRequest();
 				~PubRequest();
 
+				std::vector<UserProp> getUserProp()const;
+				void setUserProp(const std::vector<UserProp>& userProp);
 				std::string getMessageContent()const;
 				void setMessageContent(const std::string& messageContent);
 				std::string getAccessKeyId()const;
 				void setAccessKeyId(const std::string& accessKeyId);
 				int getQos()const;
 				void setQos(int qos);
+				std::string getCorrelationData()const;
+				void setCorrelationData(const std::string& correlationData);
 				std::string getIotInstanceId()const;
 				void setIotInstanceId(const std::string& iotInstanceId);
+				std::string getResponseTopic()const;
+				void setResponseTopic(const std::string& responseTopic);
 				std::string getTopicFullName()const;
 				void setTopicFullName(const std::string& topicFullName);
 				std::string getProductKey()const;
@@ -53,10 +65,13 @@ namespace AlibabaCloud
 				void setApiRevision(const std::string& apiRevision);
 
             private:
+				std::vector<UserProp> userProp_;
 				std::string messageContent_;
 				std::string accessKeyId_;
 				int qos_;
+				std::string correlationData_;
 				std::string iotInstanceId_;
+				std::string responseTopic_;
 				std::string topicFullName_;
 				std::string productKey_;
 				std::string apiProduct_;

+ 6 - 0
iot/include/alibabacloud/iot/model/PublishThingModelRequest.h

@@ -35,10 +35,14 @@ namespace AlibabaCloud
 				PublishThingModelRequest();
 				~PublishThingModelRequest();
 
+				std::string getRealTenantId()const;
+				void setRealTenantId(const std::string& realTenantId);
 				std::string getDescription()const;
 				void setDescription(const std::string& description);
 				std::string getAccessKeyId()const;
 				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getRealTripartiteKey()const;
+				void setRealTripartiteKey(const std::string& realTripartiteKey);
 				std::string getResourceGroupId()const;
 				void setResourceGroupId(const std::string& resourceGroupId);
 				std::string getIotInstanceId()const;
@@ -53,8 +57,10 @@ namespace AlibabaCloud
 				void setModelVersion(const std::string& modelVersion);
 
             private:
+				std::string realTenantId_;
 				std::string description_;
 				std::string accessKeyId_;
+				std::string realTripartiteKey_;
 				std::string resourceGroupId_;
 				std::string iotInstanceId_;
 				std::string productKey_;

+ 12 - 6
iot/include/alibabacloud/iot/model/QueryAppDeviceListRequest.h

@@ -41,28 +41,34 @@ namespace AlibabaCloud
 				QueryAppDeviceListRequest();
 				~QueryAppDeviceListRequest();
 
-				int getCurrentPage()const;
-				void setCurrentPage(int currentPage);
 				std::vector<TagList> getTagList()const;
 				void setTagList(const std::vector<TagList>& tagList);
 				std::vector<std::string> getProductKeyList()const;
 				void setProductKeyList(const std::vector<std::string>& productKeyList);
-				std::vector<std::string> getCategoryKeyList()const;
-				void setCategoryKeyList(const std::vector<std::string>& categoryKeyList);
 				std::string getIotInstanceId()const;
 				void setIotInstanceId(const std::string& iotInstanceId);
 				int getPageSize()const;
 				void setPageSize(int pageSize);
+				int getCurrentPage()const;
+				void setCurrentPage(int currentPage);
+				std::vector<std::string> getCategoryKeyList()const;
+				void setCategoryKeyList(const std::vector<std::string>& categoryKeyList);
+				std::string getApiProduct()const;
+				void setApiProduct(const std::string& apiProduct);
+				std::string getApiRevision()const;
+				void setApiRevision(const std::string& apiRevision);
 				std::string getAppKey()const;
 				void setAppKey(const std::string& appKey);
 
             private:
-				int currentPage_;
 				std::vector<TagList> tagList_;
 				std::vector<std::string> productKeyList_;
-				std::vector<std::string> categoryKeyList_;
 				std::string iotInstanceId_;
 				int pageSize_;
+				int currentPage_;
+				std::vector<std::string> categoryKeyList_;
+				std::string apiProduct_;
+				std::string apiRevision_;
 				std::string appKey_;
 
 			};

+ 60 - 0
iot/include/alibabacloud/iot/model/QueryClientIdsRequest.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_QUERYCLIENTIDSREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_QUERYCLIENTIDSREQUEST_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 QueryClientIdsRequest : public RpcServiceRequest
+			{
+
+			public:
+				QueryClientIdsRequest();
+				~QueryClientIdsRequest();
+
+				std::string getAuthConfig()const;
+				void setAuthConfig(const std::string& authConfig);
+				std::string getIotId()const;
+				void setIotId(const std::string& iotId);
+				std::string getIotInstanceId()const;
+				void setIotInstanceId(const std::string& iotInstanceId);
+				std::string getApiProduct()const;
+				void setApiProduct(const std::string& apiProduct);
+				std::string getApiRevision()const;
+				void setApiRevision(const std::string& apiRevision);
+
+            private:
+				std::string authConfig_;
+				std::string iotId_;
+				std::string iotInstanceId_;
+				std::string apiProduct_;
+				std::string apiRevision_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_QUERYCLIENTIDSREQUEST_H_

+ 67 - 0
iot/include/alibabacloud/iot/model/QueryClientIdsResult.h

@@ -0,0 +1,67 @@
+/*
+ * 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_QUERYCLIENTIDSRESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_QUERYCLIENTIDSRESULT_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 QueryClientIdsResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					struct DynamicRegClientId
+					{
+						long createTime;
+						std::string clientId;
+					};
+					std::vector<DynamicRegClientId> dynamicRegClientIds;
+					std::string iotId;
+				};
+
+
+				QueryClientIdsResult();
+				explicit QueryClientIdsResult(const std::string &payload);
+				~QueryClientIdsResult();
+				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_QUERYCLIENTIDSRESULT_H_

+ 57 - 0
iot/include/alibabacloud/iot/model/QueryDeviceBySQLRequest.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_QUERYDEVICEBYSQLREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_QUERYDEVICEBYSQLREQUEST_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 QueryDeviceBySQLRequest : public RpcServiceRequest
+			{
+
+			public:
+				QueryDeviceBySQLRequest();
+				~QueryDeviceBySQLRequest();
+
+				std::string getSQL()const;
+				void setSQL(const std::string& sQL);
+				std::string getIotInstanceId()const;
+				void setIotInstanceId(const std::string& iotInstanceId);
+				std::string getApiProduct()const;
+				void setApiProduct(const std::string& apiProduct);
+				std::string getApiRevision()const;
+				void setApiRevision(const std::string& apiRevision);
+
+            private:
+				std::string sQL_;
+				std::string iotInstanceId_;
+				std::string apiProduct_;
+				std::string apiRevision_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_QUERYDEVICEBYSQLREQUEST_H_

+ 87 - 0
iot/include/alibabacloud/iot/model/QueryDeviceBySQLResult.h

@@ -0,0 +1,87 @@
+/*
+ * 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_QUERYDEVICEBYSQLRESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_QUERYDEVICEBYSQLRESULT_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 QueryDeviceBySQLResult : public ServiceResult
+			{
+			public:
+				struct SimpleDeviceSearchInfo
+				{
+					struct SimpleDeviceGroupInfo
+					{
+						std::string groupId;
+					};
+					struct TagInfo
+					{
+						std::string tagName;
+						std::string tagValue;
+					};
+					struct OTAModuleInfo
+					{
+						std::string moduleName;
+						std::string firmwareVersion;
+					};
+					std::string status;
+					std::string iotId;
+					std::string gmtCreate;
+					std::string activeTime;
+					std::vector<SimpleDeviceSearchInfo::SimpleDeviceGroupInfo> groups;
+					std::vector<SimpleDeviceSearchInfo::OTAModuleInfo> oTAModules;
+					std::string gmtModified;
+					std::vector<SimpleDeviceSearchInfo::TagInfo> tags;
+					std::string productKey;
+					std::string deviceName;
+					std::string nickname;
+				};
+
+
+				QueryDeviceBySQLResult();
+				explicit QueryDeviceBySQLResult(const std::string &payload);
+				~QueryDeviceBySQLResult();
+				long getTotalCount()const;
+				std::vector<SimpleDeviceSearchInfo> getData()const;
+				std::string getErrorMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				long totalCount_;
+				std::vector<SimpleDeviceSearchInfo> data_;
+				std::string errorMessage_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_QUERYDEVICEBYSQLRESULT_H_

+ 3 - 0
iot/include/alibabacloud/iot/model/QueryDeviceDesiredPropertyRequest.h

@@ -51,6 +51,8 @@ namespace AlibabaCloud
 				void setApiRevision(const std::string& apiRevision);
 				std::string getDeviceName()const;
 				void setDeviceName(const std::string& deviceName);
+				std::string getFunctionBlockId()const;
+				void setFunctionBlockId(const std::string& functionBlockId);
 
             private:
 				std::string accessKeyId_;
@@ -61,6 +63,7 @@ namespace AlibabaCloud
 				std::string apiProduct_;
 				std::string apiRevision_;
 				std::string deviceName_;
+				std::string functionBlockId_;
 
 			};
 		}

+ 81 - 0
iot/include/alibabacloud/iot/model/QueryDeviceOriginalEventDataRequest.h

@@ -0,0 +1,81 @@
+/*
+ * 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_QUERYDEVICEORIGINALEVENTDATAREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_QUERYDEVICEORIGINALEVENTDATAREQUEST_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 QueryDeviceOriginalEventDataRequest : public RpcServiceRequest
+			{
+
+			public:
+				QueryDeviceOriginalEventDataRequest();
+				~QueryDeviceOriginalEventDataRequest();
+
+				std::string getNextPageToken()const;
+				void setNextPageToken(const std::string& nextPageToken);
+				long getStartTime()const;
+				void setStartTime(long startTime);
+				std::string getIotId()const;
+				void setIotId(const std::string& iotId);
+				std::string getIotInstanceId()const;
+				void setIotInstanceId(const std::string& iotInstanceId);
+				int getPageSize()const;
+				void setPageSize(int pageSize);
+				std::string getIdentifier()const;
+				void setIdentifier(const std::string& identifier);
+				long getEndTime()const;
+				void setEndTime(long endTime);
+				std::string getProductKey()const;
+				void setProductKey(const std::string& productKey);
+				int getAsc()const;
+				void setAsc(int asc);
+				std::string getApiProduct()const;
+				void setApiProduct(const std::string& apiProduct);
+				std::string getApiRevision()const;
+				void setApiRevision(const std::string& apiRevision);
+				std::string getDeviceName()const;
+				void setDeviceName(const std::string& deviceName);
+
+            private:
+				std::string nextPageToken_;
+				long startTime_;
+				std::string iotId_;
+				std::string iotInstanceId_;
+				int pageSize_;
+				std::string identifier_;
+				long endTime_;
+				std::string productKey_;
+				int asc_;
+				std::string apiProduct_;
+				std::string apiRevision_;
+				std::string deviceName_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_QUERYDEVICEORIGINALEVENTDATAREQUEST_H_

+ 71 - 0
iot/include/alibabacloud/iot/model/QueryDeviceOriginalEventDataResult.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_QUERYDEVICEORIGINALEVENTDATARESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_QUERYDEVICEORIGINALEVENTDATARESULT_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 QueryDeviceOriginalEventDataResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					struct EventInfo
+					{
+						std::string identifier;
+						std::string eventType;
+						std::string outputData;
+						std::string time;
+						std::string name;
+					};
+					bool nextValid;
+					std::string nextPageToken;
+					std::vector<EventInfo> list;
+				};
+
+
+				QueryDeviceOriginalEventDataResult();
+				explicit QueryDeviceOriginalEventDataResult(const std::string &payload);
+				~QueryDeviceOriginalEventDataResult();
+				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_QUERYDEVICEORIGINALEVENTDATARESULT_H_

+ 81 - 0
iot/include/alibabacloud/iot/model/QueryDeviceOriginalPropertyDataRequest.h

@@ -0,0 +1,81 @@
+/*
+ * 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_QUERYDEVICEORIGINALPROPERTYDATAREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_QUERYDEVICEORIGINALPROPERTYDATAREQUEST_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 QueryDeviceOriginalPropertyDataRequest : public RpcServiceRequest
+			{
+
+			public:
+				QueryDeviceOriginalPropertyDataRequest();
+				~QueryDeviceOriginalPropertyDataRequest();
+
+				std::string getNextPageToken()const;
+				void setNextPageToken(const std::string& nextPageToken);
+				long getStartTime()const;
+				void setStartTime(long startTime);
+				std::string getIotId()const;
+				void setIotId(const std::string& iotId);
+				std::string getIotInstanceId()const;
+				void setIotInstanceId(const std::string& iotInstanceId);
+				int getPageSize()const;
+				void setPageSize(int pageSize);
+				std::string getIdentifier()const;
+				void setIdentifier(const std::string& identifier);
+				long getEndTime()const;
+				void setEndTime(long endTime);
+				std::string getProductKey()const;
+				void setProductKey(const std::string& productKey);
+				int getAsc()const;
+				void setAsc(int asc);
+				std::string getApiProduct()const;
+				void setApiProduct(const std::string& apiProduct);
+				std::string getApiRevision()const;
+				void setApiRevision(const std::string& apiRevision);
+				std::string getDeviceName()const;
+				void setDeviceName(const std::string& deviceName);
+
+            private:
+				std::string nextPageToken_;
+				long startTime_;
+				std::string iotId_;
+				std::string iotInstanceId_;
+				int pageSize_;
+				std::string identifier_;
+				long endTime_;
+				std::string productKey_;
+				int asc_;
+				std::string apiProduct_;
+				std::string apiRevision_;
+				std::string deviceName_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_QUERYDEVICEORIGINALPROPERTYDATAREQUEST_H_

+ 68 - 0
iot/include/alibabacloud/iot/model/QueryDeviceOriginalPropertyDataResult.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_QUERYDEVICEORIGINALPROPERTYDATARESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_QUERYDEVICEORIGINALPROPERTYDATARESULT_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 QueryDeviceOriginalPropertyDataResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					struct PropertyInfo
+					{
+						std::string value;
+						std::string time;
+					};
+					bool nextValid;
+					std::string nextPageToken;
+					std::vector<PropertyInfo> list;
+				};
+
+
+				QueryDeviceOriginalPropertyDataResult();
+				explicit QueryDeviceOriginalPropertyDataResult(const std::string &payload);
+				~QueryDeviceOriginalPropertyDataResult();
+				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_QUERYDEVICEORIGINALPROPERTYDATARESULT_H_

+ 75 - 0
iot/include/alibabacloud/iot/model/QueryDeviceOriginalPropertyStatusRequest.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_QUERYDEVICEORIGINALPROPERTYSTATUSREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_QUERYDEVICEORIGINALPROPERTYSTATUSREQUEST_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 QueryDeviceOriginalPropertyStatusRequest : public RpcServiceRequest
+			{
+
+			public:
+				QueryDeviceOriginalPropertyStatusRequest();
+				~QueryDeviceOriginalPropertyStatusRequest();
+
+				std::string getNextPageToken()const;
+				void setNextPageToken(const std::string& nextPageToken);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getIotId()const;
+				void setIotId(const std::string& iotId);
+				std::string getIotInstanceId()const;
+				void setIotInstanceId(const std::string& iotInstanceId);
+				int getPageSize()const;
+				void setPageSize(int pageSize);
+				std::string getProductKey()const;
+				void setProductKey(const std::string& productKey);
+				int getAsc()const;
+				void setAsc(int asc);
+				std::string getApiProduct()const;
+				void setApiProduct(const std::string& apiProduct);
+				std::string getApiRevision()const;
+				void setApiRevision(const std::string& apiRevision);
+				std::string getDeviceName()const;
+				void setDeviceName(const std::string& deviceName);
+
+            private:
+				std::string nextPageToken_;
+				std::string accessKeyId_;
+				std::string iotId_;
+				std::string iotInstanceId_;
+				int pageSize_;
+				std::string productKey_;
+				int asc_;
+				std::string apiProduct_;
+				std::string apiRevision_;
+				std::string deviceName_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_QUERYDEVICEORIGINALPROPERTYSTATUSREQUEST_H_

+ 69 - 0
iot/include/alibabacloud/iot/model/QueryDeviceOriginalPropertyStatusResult.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_QUERYDEVICEORIGINALPROPERTYSTATUSRESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_QUERYDEVICEORIGINALPROPERTYSTATUSRESULT_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 QueryDeviceOriginalPropertyStatusResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					struct PropertyStatusDataInfo
+					{
+						std::string identifier;
+						std::string value;
+						long time;
+					};
+					bool nextValid;
+					std::string nextPageToken;
+					std::vector<PropertyStatusDataInfo> list;
+				};
+
+
+				QueryDeviceOriginalPropertyStatusResult();
+				explicit QueryDeviceOriginalPropertyStatusResult(const std::string &payload);
+				~QueryDeviceOriginalPropertyStatusResult();
+				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_QUERYDEVICEORIGINALPROPERTYSTATUSRESULT_H_

+ 81 - 0
iot/include/alibabacloud/iot/model/QueryDeviceOriginalServiceDataRequest.h

@@ -0,0 +1,81 @@
+/*
+ * 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_QUERYDEVICEORIGINALSERVICEDATAREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_QUERYDEVICEORIGINALSERVICEDATAREQUEST_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 QueryDeviceOriginalServiceDataRequest : public RpcServiceRequest
+			{
+
+			public:
+				QueryDeviceOriginalServiceDataRequest();
+				~QueryDeviceOriginalServiceDataRequest();
+
+				std::string getNextPageToken()const;
+				void setNextPageToken(const std::string& nextPageToken);
+				long getStartTime()const;
+				void setStartTime(long startTime);
+				std::string getIotId()const;
+				void setIotId(const std::string& iotId);
+				std::string getIotInstanceId()const;
+				void setIotInstanceId(const std::string& iotInstanceId);
+				int getPageSize()const;
+				void setPageSize(int pageSize);
+				std::string getIdentifier()const;
+				void setIdentifier(const std::string& identifier);
+				long getEndTime()const;
+				void setEndTime(long endTime);
+				std::string getProductKey()const;
+				void setProductKey(const std::string& productKey);
+				int getAsc()const;
+				void setAsc(int asc);
+				std::string getApiProduct()const;
+				void setApiProduct(const std::string& apiProduct);
+				std::string getApiRevision()const;
+				void setApiRevision(const std::string& apiRevision);
+				std::string getDeviceName()const;
+				void setDeviceName(const std::string& deviceName);
+
+            private:
+				std::string nextPageToken_;
+				long startTime_;
+				std::string iotId_;
+				std::string iotInstanceId_;
+				int pageSize_;
+				std::string identifier_;
+				long endTime_;
+				std::string productKey_;
+				int asc_;
+				std::string apiProduct_;
+				std::string apiRevision_;
+				std::string deviceName_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_QUERYDEVICEORIGINALSERVICEDATAREQUEST_H_

+ 71 - 0
iot/include/alibabacloud/iot/model/QueryDeviceOriginalServiceDataResult.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_QUERYDEVICEORIGINALSERVICEDATARESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_QUERYDEVICEORIGINALSERVICEDATARESULT_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 QueryDeviceOriginalServiceDataResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					struct ServiceInfo
+					{
+						std::string identifier;
+						std::string outputData;
+						std::string time;
+						std::string inputData;
+						std::string name;
+					};
+					bool nextValid;
+					std::string nextPageToken;
+					std::vector<ServiceInfo> list;
+				};
+
+
+				QueryDeviceOriginalServiceDataResult();
+				explicit QueryDeviceOriginalServiceDataResult(const std::string &payload);
+				~QueryDeviceOriginalServiceDataResult();
+				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_QUERYDEVICEORIGINALSERVICEDATARESULT_H_

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

@@ -35,10 +35,14 @@ namespace AlibabaCloud
 				QueryDevicePropertyDataRequest();
 				~QueryDevicePropertyDataRequest();
 
+				std::string getRealTenantId()const;
+				void setRealTenantId(const std::string& realTenantId);
 				long getStartTime()const;
 				void setStartTime(long startTime);
 				std::string getAccessKeyId()const;
 				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getRealTripartiteKey()const;
+				void setRealTripartiteKey(const std::string& realTripartiteKey);
 				std::string getIotId()const;
 				void setIotId(const std::string& iotId);
 				std::string getIotInstanceId()const;
@@ -61,8 +65,10 @@ namespace AlibabaCloud
 				void setDeviceName(const std::string& deviceName);
 
             private:
+				std::string realTenantId_;
 				long startTime_;
 				std::string accessKeyId_;
+				std::string realTripartiteKey_;
 				std::string iotId_;
 				std::string iotInstanceId_;
 				int pageSize_;

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

@@ -35,8 +35,12 @@ namespace AlibabaCloud
 				QueryDevicePropertyStatusRequest();
 				~QueryDevicePropertyStatusRequest();
 
+				std::string getRealTenantId()const;
+				void setRealTenantId(const std::string& realTenantId);
 				std::string getAccessKeyId()const;
 				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getRealTripartiteKey()const;
+				void setRealTripartiteKey(const std::string& realTripartiteKey);
 				std::string getIotId()const;
 				void setIotId(const std::string& iotId);
 				std::string getIotInstanceId()const;
@@ -49,15 +53,20 @@ namespace AlibabaCloud
 				void setApiRevision(const std::string& apiRevision);
 				std::string getDeviceName()const;
 				void setDeviceName(const std::string& deviceName);
+				std::string getFunctionBlockId()const;
+				void setFunctionBlockId(const std::string& functionBlockId);
 
             private:
+				std::string realTenantId_;
 				std::string accessKeyId_;
+				std::string realTripartiteKey_;
 				std::string iotId_;
 				std::string iotInstanceId_;
 				std::string productKey_;
 				std::string apiProduct_;
 				std::string apiRevision_;
 				std::string deviceName_;
+				std::string functionBlockId_;
 
 			};
 		}

+ 17 - 8
iot/include/alibabacloud/iot/model/QueryOTAJobResult.h

@@ -34,26 +34,35 @@ namespace AlibabaCloud
 			public:
 				struct Data
 				{
-					std::string utcStartTime;
+					struct OtaTagDTO
+					{
+						std::string value;
+						std::string key;
+					};
 					std::string utcEndTime;
-					std::vector<std::string> srcVersions;
+					int overwriteMode;
 					std::string firmwareId;
 					std::string name;
 					std::string jobStatus;
+					int retryCount;
+					std::string selectionType;
+					int dynamicMode;
+					std::string destVersion;
+					std::string targetSelection;
+					std::vector<OtaTagDTO> tags;
+					std::string jobId;
+					std::string productKey;
+					std::string utcStartTime;
+					std::string utcScheduleFinishTime;
+					std::vector<std::string> srcVersions;
 					std::string jobDesc;
 					std::string jobType;
 					std::string utcCreate;
-					int retryCount;
 					int maximumPerMinute;
-					std::string selectionType;
 					std::string utcModified;
 					int retryInterval;
-					std::string destVersion;
-					std::string targetSelection;
 					std::string utcScheduleTime;
 					std::string grayPercent;
-					std::string jobId;
-					std::string productKey;
 					int timeoutInMinutes;
 				};
 

+ 6 - 0
iot/include/alibabacloud/iot/model/QuerySubscribeRelationResult.h

@@ -41,14 +41,17 @@ namespace AlibabaCloud
 				bool getDeviceDataFlag()const;
 				bool getDeviceTopoLifeCycleFlag()const;
 				bool getDeviceStatusChangeFlag()const;
+				bool getDeviceTagFlag()const;
 				std::vector<std::string> getConsumerGroupIds()const;
 				std::string getCode()const;
 				bool getSuccess()const;
 				bool getThingHistoryFlag()const;
 				std::string getType()const;
 				bool getFoundDeviceListFlag()const;
+				bool getOtaJobFlag()const;
 				bool getOtaEventFlag()const;
 				std::string getErrorMessage()const;
+				bool getOtaVersionFlag()const;
 				std::string getProductKey()const;
 				std::string getMnsConfiguration()const;
 
@@ -59,14 +62,17 @@ namespace AlibabaCloud
 				bool deviceDataFlag_;
 				bool deviceTopoLifeCycleFlag_;
 				bool deviceStatusChangeFlag_;
+				bool deviceTagFlag_;
 				std::vector<std::string> consumerGroupIds_;
 				std::string code_;
 				bool success_;
 				bool thingHistoryFlag_;
 				std::string type_;
 				bool foundDeviceListFlag_;
+				bool otaJobFlag_;
 				bool otaEventFlag_;
 				std::string errorMessage_;
+				bool otaVersionFlag_;
 				std::string productKey_;
 				std::string mnsConfiguration_;
 

+ 69 - 0
iot/include/alibabacloud/iot/model/QueryThingModelExtendConfigPublishedRequest.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_QUERYTHINGMODELEXTENDCONFIGPUBLISHEDREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_QUERYTHINGMODELEXTENDCONFIGPUBLISHEDREQUEST_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 QueryThingModelExtendConfigPublishedRequest : public RpcServiceRequest
+			{
+
+			public:
+				QueryThingModelExtendConfigPublishedRequest();
+				~QueryThingModelExtendConfigPublishedRequest();
+
+				std::string getRealTenantId()const;
+				void setRealTenantId(const std::string& realTenantId);
+				std::string getRealTripartiteKey()const;
+				void setRealTripartiteKey(const std::string& realTripartiteKey);
+				std::string getIotInstanceId()const;
+				void setIotInstanceId(const std::string& iotInstanceId);
+				std::string getProductKey()const;
+				void setProductKey(const std::string& productKey);
+				std::string getApiProduct()const;
+				void setApiProduct(const std::string& apiProduct);
+				std::string getApiRevision()const;
+				void setApiRevision(const std::string& apiRevision);
+				std::string getModelVersion()const;
+				void setModelVersion(const std::string& modelVersion);
+				std::string getFunctionBlockId()const;
+				void setFunctionBlockId(const std::string& functionBlockId);
+
+            private:
+				std::string realTenantId_;
+				std::string realTripartiteKey_;
+				std::string iotInstanceId_;
+				std::string productKey_;
+				std::string apiProduct_;
+				std::string apiRevision_;
+				std::string modelVersion_;
+				std::string functionBlockId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_QUERYTHINGMODELEXTENDCONFIGPUBLISHEDREQUEST_H_

+ 61 - 0
iot/include/alibabacloud/iot/model/QueryThingModelExtendConfigPublishedResult.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_QUERYTHINGMODELEXTENDCONFIGPUBLISHEDRESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_QUERYTHINGMODELEXTENDCONFIGPUBLISHEDRESULT_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 QueryThingModelExtendConfigPublishedResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					std::string configuration;
+				};
+
+
+				QueryThingModelExtendConfigPublishedResult();
+				explicit QueryThingModelExtendConfigPublishedResult(const std::string &payload);
+				~QueryThingModelExtendConfigPublishedResult();
+				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_QUERYTHINGMODELEXTENDCONFIGPUBLISHEDRESULT_H_

+ 72 - 0
iot/include/alibabacloud/iot/model/QueryThingModelExtendConfigRequest.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_QUERYTHINGMODELEXTENDCONFIGREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_QUERYTHINGMODELEXTENDCONFIGREQUEST_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 QueryThingModelExtendConfigRequest : public RpcServiceRequest
+			{
+
+			public:
+				QueryThingModelExtendConfigRequest();
+				~QueryThingModelExtendConfigRequest();
+
+				std::string getRealTenantId()const;
+				void setRealTenantId(const std::string& realTenantId);
+				std::string getRealTripartiteKey()const;
+				void setRealTripartiteKey(const std::string& realTripartiteKey);
+				std::string getResourceGroupId()const;
+				void setResourceGroupId(const std::string& resourceGroupId);
+				std::string getIotInstanceId()const;
+				void setIotInstanceId(const std::string& iotInstanceId);
+				std::string getProductKey()const;
+				void setProductKey(const std::string& productKey);
+				std::string getApiProduct()const;
+				void setApiProduct(const std::string& apiProduct);
+				std::string getApiRevision()const;
+				void setApiRevision(const std::string& apiRevision);
+				std::string getModelVersion()const;
+				void setModelVersion(const std::string& modelVersion);
+				std::string getFunctionBlockId()const;
+				void setFunctionBlockId(const std::string& functionBlockId);
+
+            private:
+				std::string realTenantId_;
+				std::string realTripartiteKey_;
+				std::string resourceGroupId_;
+				std::string iotInstanceId_;
+				std::string productKey_;
+				std::string apiProduct_;
+				std::string apiRevision_;
+				std::string modelVersion_;
+				std::string functionBlockId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_QUERYTHINGMODELEXTENDCONFIGREQUEST_H_

+ 61 - 0
iot/include/alibabacloud/iot/model/QueryThingModelExtendConfigResult.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_QUERYTHINGMODELEXTENDCONFIGRESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_QUERYTHINGMODELEXTENDCONFIGRESULT_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 QueryThingModelExtendConfigResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					std::string configuration;
+				};
+
+
+				QueryThingModelExtendConfigResult();
+				explicit QueryThingModelExtendConfigResult(const std::string &payload);
+				~QueryThingModelExtendConfigResult();
+				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_QUERYTHINGMODELEXTENDCONFIGRESULT_H_

+ 75 - 0
iot/include/alibabacloud/iot/model/QueryThingModelPublishedRequest.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_QUERYTHINGMODELPUBLISHEDREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_QUERYTHINGMODELPUBLISHEDREQUEST_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 QueryThingModelPublishedRequest : public RpcServiceRequest
+			{
+
+			public:
+				QueryThingModelPublishedRequest();
+				~QueryThingModelPublishedRequest();
+
+				std::string getRealTenantId()const;
+				void setRealTenantId(const std::string& realTenantId);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getRealTripartiteKey()const;
+				void setRealTripartiteKey(const std::string& realTripartiteKey);
+				std::string getResourceGroupId()const;
+				void setResourceGroupId(const std::string& resourceGroupId);
+				std::string getIotInstanceId()const;
+				void setIotInstanceId(const std::string& iotInstanceId);
+				std::string getProductKey()const;
+				void setProductKey(const std::string& productKey);
+				std::string getApiProduct()const;
+				void setApiProduct(const std::string& apiProduct);
+				std::string getApiRevision()const;
+				void setApiRevision(const std::string& apiRevision);
+				std::string getModelVersion()const;
+				void setModelVersion(const std::string& modelVersion);
+				std::string getFunctionBlockId()const;
+				void setFunctionBlockId(const std::string& functionBlockId);
+
+            private:
+				std::string realTenantId_;
+				std::string accessKeyId_;
+				std::string realTripartiteKey_;
+				std::string resourceGroupId_;
+				std::string iotInstanceId_;
+				std::string productKey_;
+				std::string apiProduct_;
+				std::string apiRevision_;
+				std::string modelVersion_;
+				std::string functionBlockId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_QUERYTHINGMODELPUBLISHEDREQUEST_H_

+ 63 - 0
iot/include/alibabacloud/iot/model/QueryThingModelPublishedResult.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_QUERYTHINGMODELPUBLISHEDRESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_QUERYTHINGMODELPUBLISHEDRESULT_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 QueryThingModelPublishedResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					std::string thingModelJson;
+				};
+
+
+				QueryThingModelPublishedResult();
+				explicit QueryThingModelPublishedResult(const std::string &payload);
+				~QueryThingModelPublishedResult();
+				Data getData()const;
+				std::string getErrorMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+				std::string getProductKey()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Data data_;
+				std::string errorMessage_;
+				std::string code_;
+				bool success_;
+				std::string productKey_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_QUERYTHINGMODELPUBLISHEDRESULT_H_

+ 9 - 0
iot/include/alibabacloud/iot/model/QueryThingModelRequest.h

@@ -35,8 +35,12 @@ namespace AlibabaCloud
 				QueryThingModelRequest();
 				~QueryThingModelRequest();
 
+				std::string getRealTenantId()const;
+				void setRealTenantId(const std::string& realTenantId);
 				std::string getAccessKeyId()const;
 				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getRealTripartiteKey()const;
+				void setRealTripartiteKey(const std::string& realTripartiteKey);
 				std::string getResourceGroupId()const;
 				void setResourceGroupId(const std::string& resourceGroupId);
 				std::string getIotInstanceId()const;
@@ -49,15 +53,20 @@ namespace AlibabaCloud
 				void setApiRevision(const std::string& apiRevision);
 				std::string getModelVersion()const;
 				void setModelVersion(const std::string& modelVersion);
+				std::string getFunctionBlockId()const;
+				void setFunctionBlockId(const std::string& functionBlockId);
 
             private:
+				std::string realTenantId_;
 				std::string accessKeyId_;
+				std::string realTripartiteKey_;
 				std::string resourceGroupId_;
 				std::string iotInstanceId_;
 				std::string productKey_;
 				std::string apiProduct_;
 				std::string apiRevision_;
 				std::string modelVersion_;
+				std::string functionBlockId_;
 
 			};
 		}

+ 1 - 1
iot/include/alibabacloud/iot/model/RRpcResult.h

@@ -52,7 +52,7 @@ namespace AlibabaCloud
 				std::string errorMessage_;
 				std::string code_;
 				bool success_;
-				unsigned long long messageId_;
+				long messageId_;
 
 			};
 		}

+ 9 - 0
iot/include/alibabacloud/iot/model/RegisterDeviceRequest.h

@@ -37,6 +37,8 @@ namespace AlibabaCloud
 
 				std::string getAccessKeyId()const;
 				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getLoraNodeType()const;
+				void setLoraNodeType(const std::string& loraNodeType);
 				std::string getIotInstanceId()const;
 				void setIotInstanceId(const std::string& iotInstanceId);
 				std::string getNickname()const;
@@ -47,23 +49,30 @@ namespace AlibabaCloud
 				void setProductKey(const std::string& productKey);
 				std::string getDevEui()const;
 				void setDevEui(const std::string& devEui);
+				std::string getJoinEui()const;
+				void setJoinEui(const std::string& joinEui);
 				std::string getApiProduct()const;
 				void setApiProduct(const std::string& apiProduct);
 				std::string getApiRevision()const;
 				void setApiRevision(const std::string& apiRevision);
 				std::string getDeviceName()const;
 				void setDeviceName(const std::string& deviceName);
+				std::string getAppKey()const;
+				void setAppKey(const std::string& appKey);
 
             private:
 				std::string accessKeyId_;
+				std::string loraNodeType_;
 				std::string iotInstanceId_;
 				std::string nickname_;
 				std::string pinCode_;
 				std::string productKey_;
 				std::string devEui_;
+				std::string joinEui_;
 				std::string apiProduct_;
 				std::string apiRevision_;
 				std::string deviceName_;
+				std::string appKey_;
 
 			};
 		}

+ 2 - 0
iot/include/alibabacloud/iot/model/SetDeviceDesiredPropertyResult.h

@@ -42,6 +42,7 @@ namespace AlibabaCloud
 				SetDeviceDesiredPropertyResult();
 				explicit SetDeviceDesiredPropertyResult(const std::string &payload);
 				~SetDeviceDesiredPropertyResult();
+				std::string getMessageArguments()const;
 				Data getData()const;
 				std::string getErrorMessage()const;
 				std::string getCode()const;
@@ -50,6 +51,7 @@ namespace AlibabaCloud
 			protected:
 				void parse(const std::string &payload);
 			private:
+				std::string messageArguments_;
 				Data data_;
 				std::string errorMessage_;
 				std::string code_;

+ 63 - 0
iot/include/alibabacloud/iot/model/SpeechByCombinationRequest.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_SPEECHBYCOMBINATIONREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_SPEECHBYCOMBINATIONREQUEST_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 SpeechByCombinationRequest : public RpcServiceRequest
+			{
+
+			public:
+				SpeechByCombinationRequest();
+				~SpeechByCombinationRequest();
+
+				std::string getIotId()const;
+				void setIotId(const std::string& iotId);
+				std::vector<std::string> getCombinationList()const;
+				void setCombinationList(const std::vector<std::string>& combinationList);
+				std::string getProductKey()const;
+				void setProductKey(const std::string& productKey);
+				std::string getApiProduct()const;
+				void setApiProduct(const std::string& apiProduct);
+				std::string getApiRevision()const;
+				void setApiRevision(const std::string& apiRevision);
+				std::string getDeviceName()const;
+				void setDeviceName(const std::string& deviceName);
+
+            private:
+				std::string iotId_;
+				std::vector<std::string> combinationList_;
+				std::string productKey_;
+				std::string apiProduct_;
+				std::string apiRevision_;
+				std::string deviceName_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_SPEECHBYCOMBINATIONREQUEST_H_

+ 55 - 0
iot/include/alibabacloud/iot/model/SpeechByCombinationResult.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_SPEECHBYCOMBINATIONRESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_SPEECHBYCOMBINATIONRESULT_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 SpeechByCombinationResult : public ServiceResult
+			{
+			public:
+
+
+				SpeechByCombinationResult();
+				explicit SpeechByCombinationResult(const std::string &payload);
+				~SpeechByCombinationResult();
+				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_SPEECHBYCOMBINATIONRESULT_H_

+ 63 - 0
iot/include/alibabacloud/iot/model/TransformClientIdRequest.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_TRANSFORMCLIENTIDREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_TRANSFORMCLIENTIDREQUEST_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 TransformClientIdRequest : public RpcServiceRequest
+			{
+
+			public:
+				TransformClientIdRequest();
+				~TransformClientIdRequest();
+
+				std::string getAuthConfig()const;
+				void setAuthConfig(const std::string& authConfig);
+				std::string getClientId()const;
+				void setClientId(const std::string& clientId);
+				std::string getIotId()const;
+				void setIotId(const std::string& iotId);
+				std::string getIotInstanceId()const;
+				void setIotInstanceId(const std::string& iotInstanceId);
+				std::string getApiProduct()const;
+				void setApiProduct(const std::string& apiProduct);
+				std::string getApiRevision()const;
+				void setApiRevision(const std::string& apiRevision);
+
+            private:
+				std::string authConfig_;
+				std::string clientId_;
+				std::string iotId_;
+				std::string iotInstanceId_;
+				std::string apiProduct_;
+				std::string apiRevision_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_TRANSFORMCLIENTIDREQUEST_H_

+ 55 - 0
iot/include/alibabacloud/iot/model/TransformClientIdResult.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_TRANSFORMCLIENTIDRESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_TRANSFORMCLIENTIDRESULT_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 TransformClientIdResult : public ServiceResult
+			{
+			public:
+
+
+				TransformClientIdResult();
+				explicit TransformClientIdResult(const std::string &payload);
+				~TransformClientIdResult();
+				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_TRANSFORMCLIENTIDRESULT_H_

+ 60 - 0
iot/include/alibabacloud/iot/model/UnbindRoleFromEdgeInstanceRequest.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_UNBINDROLEFROMEDGEINSTANCEREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_UNBINDROLEFROMEDGEINSTANCEREQUEST_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 UnbindRoleFromEdgeInstanceRequest : public RpcServiceRequest
+			{
+
+			public:
+				UnbindRoleFromEdgeInstanceRequest();
+				~UnbindRoleFromEdgeInstanceRequest();
+
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getIotInstanceId()const;
+				void setIotInstanceId(const std::string& iotInstanceId);
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+				std::string getApiProduct()const;
+				void setApiProduct(const std::string& apiProduct);
+				std::string getApiRevision()const;
+				void setApiRevision(const std::string& apiRevision);
+
+            private:
+				std::string accessKeyId_;
+				std::string iotInstanceId_;
+				std::string instanceId_;
+				std::string apiProduct_;
+				std::string apiRevision_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_UNBINDROLEFROMEDGEINSTANCEREQUEST_H_

+ 55 - 0
iot/include/alibabacloud/iot/model/UnbindRoleFromEdgeInstanceResult.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_UNBINDROLEFROMEDGEINSTANCERESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_UNBINDROLEFROMEDGEINSTANCERESULT_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 UnbindRoleFromEdgeInstanceResult : public ServiceResult
+			{
+			public:
+
+
+				UnbindRoleFromEdgeInstanceResult();
+				explicit UnbindRoleFromEdgeInstanceResult(const std::string &payload);
+				~UnbindRoleFromEdgeInstanceResult();
+				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_UNBINDROLEFROMEDGEINSTANCERESULT_H_

+ 3 - 0
iot/include/alibabacloud/iot/model/UpdateDeviceShadowRequest.h

@@ -43,6 +43,8 @@ namespace AlibabaCloud
 				void setIotInstanceId(const std::string& iotInstanceId);
 				std::string getProductKey()const;
 				void setProductKey(const std::string& productKey);
+				bool getDeltaUpdate()const;
+				void setDeltaUpdate(bool deltaUpdate);
 				std::string getApiProduct()const;
 				void setApiProduct(const std::string& apiProduct);
 				std::string getApiRevision()const;
@@ -55,6 +57,7 @@ namespace AlibabaCloud
 				std::string accessKeyId_;
 				std::string iotInstanceId_;
 				std::string productKey_;
+				bool deltaUpdate_;
 				std::string apiProduct_;
 				std::string apiRevision_;
 				std::string deviceName_;

+ 66 - 0
iot/include/alibabacloud/iot/model/UpdateOTAModuleRequest.h

@@ -0,0 +1,66 @@
+/*
+ * 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_UPDATEOTAMODULEREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_UPDATEOTAMODULEREQUEST_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 UpdateOTAModuleRequest : public RpcServiceRequest
+			{
+
+			public:
+				UpdateOTAModuleRequest();
+				~UpdateOTAModuleRequest();
+
+				std::string getIotInstanceId()const;
+				void setIotInstanceId(const std::string& iotInstanceId);
+				std::string getModuleName()const;
+				void setModuleName(const std::string& moduleName);
+				std::string getProductKey()const;
+				void setProductKey(const std::string& productKey);
+				std::string getAliasName()const;
+				void setAliasName(const std::string& aliasName);
+				std::string getApiProduct()const;
+				void setApiProduct(const std::string& apiProduct);
+				std::string getApiRevision()const;
+				void setApiRevision(const std::string& apiRevision);
+				std::string getDesc()const;
+				void setDesc(const std::string& desc);
+
+            private:
+				std::string iotInstanceId_;
+				std::string moduleName_;
+				std::string productKey_;
+				std::string aliasName_;
+				std::string apiProduct_;
+				std::string apiRevision_;
+				std::string desc_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_UPDATEOTAMODULEREQUEST_H_

+ 55 - 0
iot/include/alibabacloud/iot/model/UpdateOTAModuleResult.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_UPDATEOTAMODULERESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_UPDATEOTAMODULERESULT_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 UpdateOTAModuleResult : public ServiceResult
+			{
+			public:
+
+
+				UpdateOTAModuleResult();
+				explicit UpdateOTAModuleResult(const std::string &payload);
+				~UpdateOTAModuleResult();
+				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_UPDATEOTAMODULERESULT_H_

+ 9 - 0
iot/include/alibabacloud/iot/model/UpdateSubscribeRelationRequest.h

@@ -47,6 +47,10 @@ namespace AlibabaCloud
 				void setIotInstanceId(const std::string& iotInstanceId);
 				bool getDeviceStatusChangeFlag()const;
 				void setDeviceStatusChangeFlag(bool deviceStatusChangeFlag);
+				bool getOtaVersionFlag()const;
+				void setOtaVersionFlag(bool otaVersionFlag);
+				bool getDeviceTagFlag()const;
+				void setDeviceTagFlag(bool deviceTagFlag);
 				std::vector<std::string> getConsumerGroupIds()const;
 				void setConsumerGroupIds(const std::vector<std::string>& consumerGroupIds);
 				std::string getProductKey()const;
@@ -55,6 +59,8 @@ namespace AlibabaCloud
 				void setThingHistoryFlag(bool thingHistoryFlag);
 				bool getFoundDeviceListFlag()const;
 				void setFoundDeviceListFlag(bool foundDeviceListFlag);
+				bool getOtaJobFlag()const;
+				void setOtaJobFlag(bool otaJobFlag);
 				std::string getApiProduct()const;
 				void setApiProduct(const std::string& apiProduct);
 				bool getDeviceDataFlag()const;
@@ -71,10 +77,13 @@ namespace AlibabaCloud
 				bool deviceLifeCycleFlag_;
 				std::string iotInstanceId_;
 				bool deviceStatusChangeFlag_;
+				bool otaVersionFlag_;
+				bool deviceTagFlag_;
 				std::vector<std::string> consumerGroupIds_;
 				std::string productKey_;
 				bool thingHistoryFlag_;
 				bool foundDeviceListFlag_;
+				bool otaJobFlag_;
 				std::string apiProduct_;
 				bool deviceDataFlag_;
 				std::string apiRevision_;

+ 12 - 0
iot/include/alibabacloud/iot/model/UpdateThingModelRequest.h

@@ -35,10 +35,16 @@ namespace AlibabaCloud
 				UpdateThingModelRequest();
 				~UpdateThingModelRequest();
 
+				std::string getRealTenantId()const;
+				void setRealTenantId(const std::string& realTenantId);
+				std::string getRealTripartiteKey()const;
+				void setRealTripartiteKey(const std::string& realTripartiteKey);
 				std::string getIotInstanceId()const;
 				void setIotInstanceId(const std::string& iotInstanceId);
 				std::string getIdentifier()const;
 				void setIdentifier(const std::string& identifier);
+				std::string getFunctionBlockName()const;
+				void setFunctionBlockName(const std::string& functionBlockName);
 				std::string getProductKey()const;
 				void setProductKey(const std::string& productKey);
 				std::string getApiProduct()const;
@@ -47,14 +53,20 @@ namespace AlibabaCloud
 				void setThingModelJson(const std::string& thingModelJson);
 				std::string getApiRevision()const;
 				void setApiRevision(const std::string& apiRevision);
+				std::string getFunctionBlockId()const;
+				void setFunctionBlockId(const std::string& functionBlockId);
 
             private:
+				std::string realTenantId_;
+				std::string realTripartiteKey_;
 				std::string iotInstanceId_;
 				std::string identifier_;
+				std::string functionBlockName_;
 				std::string productKey_;
 				std::string apiProduct_;
 				std::string thingModelJson_;
 				std::string apiRevision_;
+				std::string functionBlockId_;
 
 			};
 		}

+ 60 - 0
iot/include/alibabacloud/iot/model/UpdateThingModelValidationConfigRequest.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_UPDATETHINGMODELVALIDATIONCONFIGREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_UPDATETHINGMODELVALIDATIONCONFIGREQUEST_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 UpdateThingModelValidationConfigRequest : public RpcServiceRequest
+			{
+
+			public:
+				UpdateThingModelValidationConfigRequest();
+				~UpdateThingModelValidationConfigRequest();
+
+				int getValidateType()const;
+				void setValidateType(int validateType);
+				std::string getIotInstanceId()const;
+				void setIotInstanceId(const std::string& iotInstanceId);
+				std::string getProductKey()const;
+				void setProductKey(const std::string& productKey);
+				std::string getApiProduct()const;
+				void setApiProduct(const std::string& apiProduct);
+				std::string getApiRevision()const;
+				void setApiRevision(const std::string& apiRevision);
+
+            private:
+				int validateType_;
+				std::string iotInstanceId_;
+				std::string productKey_;
+				std::string apiProduct_;
+				std::string apiRevision_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_UPDATETHINGMODELVALIDATIONCONFIGREQUEST_H_

+ 55 - 0
iot/include/alibabacloud/iot/model/UpdateThingModelValidationConfigResult.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_UPDATETHINGMODELVALIDATIONCONFIGRESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_UPDATETHINGMODELVALIDATIONCONFIGRESULT_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 UpdateThingModelValidationConfigResult : public ServiceResult
+			{
+			public:
+
+
+				UpdateThingModelValidationConfigResult();
+				explicit UpdateThingModelValidationConfigResult(const std::string &payload);
+				~UpdateThingModelValidationConfigResult();
+				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_UPDATETHINGMODELVALIDATIONCONFIGRESULT_H_

+ 63 - 0
iot/include/alibabacloud/iot/model/UpdateThingScriptRequest.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_UPDATETHINGSCRIPTREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_UPDATETHINGSCRIPTREQUEST_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 UpdateThingScriptRequest : public RpcServiceRequest
+			{
+
+			public:
+				UpdateThingScriptRequest();
+				~UpdateThingScriptRequest();
+
+				std::string getIotInstanceId()const;
+				void setIotInstanceId(const std::string& iotInstanceId);
+				std::string getScriptType()const;
+				void setScriptType(const std::string& scriptType);
+				std::string getProductKey()const;
+				void setProductKey(const std::string& productKey);
+				std::string getApiProduct()const;
+				void setApiProduct(const std::string& apiProduct);
+				std::string getApiRevision()const;
+				void setApiRevision(const std::string& apiRevision);
+				std::string getScriptContent()const;
+				void setScriptContent(const std::string& scriptContent);
+
+            private:
+				std::string iotInstanceId_;
+				std::string scriptType_;
+				std::string productKey_;
+				std::string apiProduct_;
+				std::string apiRevision_;
+				std::string scriptContent_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_UPDATETHINGSCRIPTREQUEST_H_

+ 55 - 0
iot/include/alibabacloud/iot/model/UpdateThingScriptResult.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_UPDATETHINGSCRIPTRESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_UPDATETHINGSCRIPTRESULT_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 UpdateThingScriptResult : public ServiceResult
+			{
+			public:
+
+
+				UpdateThingScriptResult();
+				explicit UpdateThingScriptResult(const std::string &payload);
+				~UpdateThingScriptResult();
+				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_UPDATETHINGSCRIPTRESULT_H_

Разница между файлами не показана из-за своего большого размера
+ 841 - 13
iot/src/IotClient.cc


+ 16 - 0
iot/src/model/BatchCheckDeviceNamesRequest.cc

@@ -38,6 +38,22 @@ void BatchCheckDeviceNamesRequest::setAccessKeyId(const std::string& accessKeyId
 	setParameter("AccessKeyId", accessKeyId);
 }
 
+std::vector<BatchCheckDeviceNamesRequest::DeviceNameList> BatchCheckDeviceNamesRequest::getDeviceNameList()const
+{
+	return deviceNameList_;
+}
+
+void BatchCheckDeviceNamesRequest::setDeviceNameList(const std::vector<DeviceNameList>& deviceNameList)
+{
+	deviceNameList_ = deviceNameList;
+	for(int dep1 = 0; dep1!= deviceNameList.size(); dep1++) {
+		auto deviceNameListObj = deviceNameList.at(dep1);
+		std::string deviceNameListObjStr = "DeviceNameList." + std::to_string(dep1 + 1);
+		setParameter(deviceNameListObjStr + ".DeviceNickname", deviceNameListObj.deviceNickname);
+		setParameter(deviceNameListObjStr + ".DeviceName", deviceNameListObj.deviceName);
+	}
+}
+
 std::string BatchCheckDeviceNamesRequest::getIotInstanceId()const
 {
 	return iotInstanceId_;

+ 3 - 0
iot/src/model/BatchCheckDeviceNamesResult.cc

@@ -45,6 +45,9 @@ void BatchCheckDeviceNamesResult::parse(const std::string &payload)
 		auto allInvalidDeviceNameList = dataNode["InvalidDeviceNameList"]["InvalidDeviceName"];
 		for (auto value : allInvalidDeviceNameList)
 			data_.invalidDeviceNameList.push_back(value.asString());
+		auto allInvalidDeviceNicknameList = dataNode["InvalidDeviceNicknameList"]["InvalidDeviceNickname"];
+		for (auto value : allInvalidDeviceNicknameList)
+			data_.invalidDeviceNicknameList.push_back(value.asString());
 	if(!value["Success"].isNull())
 		success_ = value["Success"].asString() == "true";
 	if(!value["Code"].isNull())

+ 10 - 10
iot/src/model/BatchGetEdgeInstanceChannelResult.cc

@@ -47,18 +47,18 @@ void BatchGetEdgeInstanceChannelResult::parse(const std::string &payload)
 			dataObject.channelId = valueDataChannel["ChannelId"].asString();
 		if(!valueDataChannel["ChannelName"].isNull())
 			dataObject.channelName = valueDataChannel["ChannelName"].asString();
-		auto allConfigListNode = allDataNode["ConfigList"]["Config"];
-		for (auto allDataNodeConfigListConfig : allConfigListNode)
+		auto allConfigListNode = valueDataChannel["ConfigList"]["Config"];
+		for (auto valueDataChannelConfigListConfig : allConfigListNode)
 		{
 			Channel::Config configListObject;
-			if(!allDataNodeConfigListConfig["ConfigId"].isNull())
-				configListObject.configId = allDataNodeConfigListConfig["ConfigId"].asString();
-			if(!allDataNodeConfigListConfig["Format"].isNull())
-				configListObject.format = allDataNodeConfigListConfig["Format"].asString();
-			if(!allDataNodeConfigListConfig["Content"].isNull())
-				configListObject.content = allDataNodeConfigListConfig["Content"].asString();
-			if(!allDataNodeConfigListConfig["Key"].isNull())
-				configListObject.key = allDataNodeConfigListConfig["Key"].asString();
+			if(!valueDataChannelConfigListConfig["ConfigId"].isNull())
+				configListObject.configId = valueDataChannelConfigListConfig["ConfigId"].asString();
+			if(!valueDataChannelConfigListConfig["Format"].isNull())
+				configListObject.format = valueDataChannelConfigListConfig["Format"].asString();
+			if(!valueDataChannelConfigListConfig["Content"].isNull())
+				configListObject.content = valueDataChannelConfigListConfig["Content"].asString();
+			if(!valueDataChannelConfigListConfig["Key"].isNull())
+				configListObject.key = valueDataChannelConfigListConfig["Key"].asString();
 			dataObject.configList.push_back(configListObject);
 		}
 		data_.push_back(dataObject);

+ 10 - 10
iot/src/model/BatchGetEdgeInstanceDriverConfigsResult.cc

@@ -45,18 +45,18 @@ void BatchGetEdgeInstanceDriverConfigsResult::parse(const std::string &payload)
 		DriverConfig driverConfigListObject;
 		if(!valueDriverConfigListDriverConfig["DriverId"].isNull())
 			driverConfigListObject.driverId = valueDriverConfigListDriverConfig["DriverId"].asString();
-		auto allConfigListNode = allDriverConfigListNode["ConfigList"]["Config"];
-		for (auto allDriverConfigListNodeConfigListConfig : allConfigListNode)
+		auto allConfigListNode = valueDriverConfigListDriverConfig["ConfigList"]["Config"];
+		for (auto valueDriverConfigListDriverConfigConfigListConfig : allConfigListNode)
 		{
 			DriverConfig::Config configListObject;
-			if(!allDriverConfigListNodeConfigListConfig["ConfigId"].isNull())
-				configListObject.configId = allDriverConfigListNodeConfigListConfig["ConfigId"].asString();
-			if(!allDriverConfigListNodeConfigListConfig["Format"].isNull())
-				configListObject.format = allDriverConfigListNodeConfigListConfig["Format"].asString();
-			if(!allDriverConfigListNodeConfigListConfig["Content"].isNull())
-				configListObject.content = allDriverConfigListNodeConfigListConfig["Content"].asString();
-			if(!allDriverConfigListNodeConfigListConfig["Key"].isNull())
-				configListObject.key = allDriverConfigListNodeConfigListConfig["Key"].asString();
+			if(!valueDriverConfigListDriverConfigConfigListConfig["ConfigId"].isNull())
+				configListObject.configId = valueDriverConfigListDriverConfigConfigListConfig["ConfigId"].asString();
+			if(!valueDriverConfigListDriverConfigConfigListConfig["Format"].isNull())
+				configListObject.format = valueDriverConfigListDriverConfigConfigListConfig["Format"].asString();
+			if(!valueDriverConfigListDriverConfigConfigListConfig["Content"].isNull())
+				configListObject.content = valueDriverConfigListDriverConfigConfigListConfig["Content"].asString();
+			if(!valueDriverConfigListDriverConfigConfigListConfig["Key"].isNull())
+				configListObject.key = valueDriverConfigListDriverConfigConfigListConfig["Key"].asString();
 			driverConfigListObject.configList.push_back(configListObject);
 		}
 		driverConfigList_.push_back(driverConfigListObject);

+ 119 - 0
iot/src/model/BatchPubRequest.cc

@@ -0,0 +1,119 @@
+/*
+ * 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.
+ */
+
+#include <alibabacloud/iot/model/BatchPubRequest.h>
+
+using AlibabaCloud::Iot::Model::BatchPubRequest;
+
+BatchPubRequest::BatchPubRequest() :
+	RpcServiceRequest("iot", "2018-01-20", "BatchPub")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+BatchPubRequest::~BatchPubRequest()
+{}
+
+std::string BatchPubRequest::getMessageContent()const
+{
+	return messageContent_;
+}
+
+void BatchPubRequest::setMessageContent(const std::string& messageContent)
+{
+	messageContent_ = messageContent;
+	setParameter("MessageContent", messageContent);
+}
+
+int BatchPubRequest::getQos()const
+{
+	return qos_;
+}
+
+void BatchPubRequest::setQos(int qos)
+{
+	qos_ = qos;
+	setParameter("Qos", std::to_string(qos));
+}
+
+std::string BatchPubRequest::getIotInstanceId()const
+{
+	return iotInstanceId_;
+}
+
+void BatchPubRequest::setIotInstanceId(const std::string& iotInstanceId)
+{
+	iotInstanceId_ = iotInstanceId;
+	setParameter("IotInstanceId", iotInstanceId);
+}
+
+std::string BatchPubRequest::getTopicShortName()const
+{
+	return topicShortName_;
+}
+
+void BatchPubRequest::setTopicShortName(const std::string& topicShortName)
+{
+	topicShortName_ = topicShortName;
+	setParameter("TopicShortName", topicShortName);
+}
+
+std::string BatchPubRequest::getProductKey()const
+{
+	return productKey_;
+}
+
+void BatchPubRequest::setProductKey(const std::string& productKey)
+{
+	productKey_ = productKey;
+	setParameter("ProductKey", productKey);
+}
+
+std::string BatchPubRequest::getApiProduct()const
+{
+	return apiProduct_;
+}
+
+void BatchPubRequest::setApiProduct(const std::string& apiProduct)
+{
+	apiProduct_ = apiProduct;
+	setBodyParameter("ApiProduct", apiProduct);
+}
+
+std::string BatchPubRequest::getApiRevision()const
+{
+	return apiRevision_;
+}
+
+void BatchPubRequest::setApiRevision(const std::string& apiRevision)
+{
+	apiRevision_ = apiRevision;
+	setBodyParameter("ApiRevision", apiRevision);
+}
+
+std::vector<std::string> BatchPubRequest::getDeviceName()const
+{
+	return deviceName_;
+}
+
+void BatchPubRequest::setDeviceName(const std::vector<std::string>& deviceName)
+{
+	deviceName_ = deviceName;
+	for(int dep1 = 0; dep1!= deviceName.size(); dep1++) {
+		setParameter("DeviceName."+ std::to_string(dep1), deviceName.at(dep1));
+	}
+}
+

+ 65 - 0
iot/src/model/BatchPubResult.cc

@@ -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.
+ */
+
+#include <alibabacloud/iot/model/BatchPubResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Iot;
+using namespace AlibabaCloud::Iot::Model;
+
+BatchPubResult::BatchPubResult() :
+	ServiceResult()
+{}
+
+BatchPubResult::BatchPubResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+BatchPubResult::~BatchPubResult()
+{}
+
+void BatchPubResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["ErrorMessage"].isNull())
+		errorMessage_ = value["ErrorMessage"].asString();
+
+}
+
+std::string BatchPubResult::getErrorMessage()const
+{
+	return errorMessage_;
+}
+
+std::string BatchPubResult::getCode()const
+{
+	return code_;
+}
+
+bool BatchPubResult::getSuccess()const
+{
+	return success_;
+}
+

+ 106 - 0
iot/src/model/BindRoleToEdgeInstanceRequest.cc

@@ -0,0 +1,106 @@
+/*
+ * 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.
+ */
+
+#include <alibabacloud/iot/model/BindRoleToEdgeInstanceRequest.h>
+
+using AlibabaCloud::Iot::Model::BindRoleToEdgeInstanceRequest;
+
+BindRoleToEdgeInstanceRequest::BindRoleToEdgeInstanceRequest() :
+	RpcServiceRequest("iot", "2018-01-20", "BindRoleToEdgeInstance")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+BindRoleToEdgeInstanceRequest::~BindRoleToEdgeInstanceRequest()
+{}
+
+std::string BindRoleToEdgeInstanceRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void BindRoleToEdgeInstanceRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+
+std::string BindRoleToEdgeInstanceRequest::getIotInstanceId()const
+{
+	return iotInstanceId_;
+}
+
+void BindRoleToEdgeInstanceRequest::setIotInstanceId(const std::string& iotInstanceId)
+{
+	iotInstanceId_ = iotInstanceId;
+	setParameter("IotInstanceId", iotInstanceId);
+}
+
+std::string BindRoleToEdgeInstanceRequest::getRoleName()const
+{
+	return roleName_;
+}
+
+void BindRoleToEdgeInstanceRequest::setRoleName(const std::string& roleName)
+{
+	roleName_ = roleName;
+	setParameter("RoleName", roleName);
+}
+
+std::string BindRoleToEdgeInstanceRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void BindRoleToEdgeInstanceRequest::setInstanceId(const std::string& instanceId)
+{
+	instanceId_ = instanceId;
+	setParameter("InstanceId", instanceId);
+}
+
+std::string BindRoleToEdgeInstanceRequest::getRoleArn()const
+{
+	return roleArn_;
+}
+
+void BindRoleToEdgeInstanceRequest::setRoleArn(const std::string& roleArn)
+{
+	roleArn_ = roleArn;
+	setParameter("RoleArn", roleArn);
+}
+
+std::string BindRoleToEdgeInstanceRequest::getApiProduct()const
+{
+	return apiProduct_;
+}
+
+void BindRoleToEdgeInstanceRequest::setApiProduct(const std::string& apiProduct)
+{
+	apiProduct_ = apiProduct;
+	setBodyParameter("ApiProduct", apiProduct);
+}
+
+std::string BindRoleToEdgeInstanceRequest::getApiRevision()const
+{
+	return apiRevision_;
+}
+
+void BindRoleToEdgeInstanceRequest::setApiRevision(const std::string& apiRevision)
+{
+	apiRevision_ = apiRevision;
+	setBodyParameter("ApiRevision", apiRevision);
+}
+

+ 65 - 0
iot/src/model/BindRoleToEdgeInstanceResult.cc

@@ -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.
+ */
+
+#include <alibabacloud/iot/model/BindRoleToEdgeInstanceResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Iot;
+using namespace AlibabaCloud::Iot::Model;
+
+BindRoleToEdgeInstanceResult::BindRoleToEdgeInstanceResult() :
+	ServiceResult()
+{}
+
+BindRoleToEdgeInstanceResult::BindRoleToEdgeInstanceResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+BindRoleToEdgeInstanceResult::~BindRoleToEdgeInstanceResult()
+{}
+
+void BindRoleToEdgeInstanceResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["ErrorMessage"].isNull())
+		errorMessage_ = value["ErrorMessage"].asString();
+
+}
+
+std::string BindRoleToEdgeInstanceResult::getErrorMessage()const
+{
+	return errorMessage_;
+}
+
+std::string BindRoleToEdgeInstanceResult::getCode()const
+{
+	return code_;
+}
+
+bool BindRoleToEdgeInstanceResult::getSuccess()const
+{
+	return success_;
+}
+

+ 22 - 0
iot/src/model/CopyThingModelRequest.cc

@@ -27,6 +27,17 @@ CopyThingModelRequest::CopyThingModelRequest() :
 CopyThingModelRequest::~CopyThingModelRequest()
 {}
 
+std::string CopyThingModelRequest::getRealTenantId()const
+{
+	return realTenantId_;
+}
+
+void CopyThingModelRequest::setRealTenantId(const std::string& realTenantId)
+{
+	realTenantId_ = realTenantId;
+	setParameter("RealTenantId", realTenantId);
+}
+
 std::string CopyThingModelRequest::getTargetProductKey()const
 {
 	return targetProductKey_;
@@ -49,6 +60,17 @@ void CopyThingModelRequest::setAccessKeyId(const std::string& accessKeyId)
 	setParameter("AccessKeyId", accessKeyId);
 }
 
+std::string CopyThingModelRequest::getRealTripartiteKey()const
+{
+	return realTripartiteKey_;
+}
+
+void CopyThingModelRequest::setRealTripartiteKey(const std::string& realTripartiteKey)
+{
+	realTripartiteKey_ = realTripartiteKey;
+	setParameter("RealTripartiteKey", realTripartiteKey);
+}
+
 std::string CopyThingModelRequest::getResourceGroupId()const
 {
 	return resourceGroupId_;

+ 38 - 0
iot/src/model/CreateOTADynamicUpgradeJobRequest.cc

@@ -27,6 +27,17 @@ CreateOTADynamicUpgradeJobRequest::CreateOTADynamicUpgradeJobRequest() :
 CreateOTADynamicUpgradeJobRequest::~CreateOTADynamicUpgradeJobRequest()
 {}
 
+int CreateOTADynamicUpgradeJobRequest::getDynamicMode()const
+{
+	return dynamicMode_;
+}
+
+void CreateOTADynamicUpgradeJobRequest::setDynamicMode(int dynamicMode)
+{
+	dynamicMode_ = dynamicMode;
+	setParameter("DynamicMode", std::to_string(dynamicMode));
+}
+
 int CreateOTADynamicUpgradeJobRequest::getRetryCount()const
 {
 	return retryCount_;
@@ -71,6 +82,22 @@ void CreateOTADynamicUpgradeJobRequest::setIotInstanceId(const std::string& iotI
 	setParameter("IotInstanceId", iotInstanceId);
 }
 
+std::vector<CreateOTADynamicUpgradeJobRequest::Tag> CreateOTADynamicUpgradeJobRequest::getTag()const
+{
+	return tag_;
+}
+
+void CreateOTADynamicUpgradeJobRequest::setTag(const std::vector<Tag>& tag)
+{
+	tag_ = tag;
+	for(int dep1 = 0; dep1!= tag.size(); dep1++) {
+		auto tagObj = tag.at(dep1);
+		std::string tagObjStr = "Tag." + std::to_string(dep1 + 1);
+		setParameter(tagObjStr + ".Value", tagObj.value);
+		setParameter(tagObjStr + ".Key", tagObj.key);
+	}
+}
+
 std::string CreateOTADynamicUpgradeJobRequest::getFirmwareId()const
 {
 	return firmwareId_;
@@ -117,6 +144,17 @@ void CreateOTADynamicUpgradeJobRequest::setSrcVersion(const std::vector<std::str
 	}
 }
 
+int CreateOTADynamicUpgradeJobRequest::getOverwriteMode()const
+{
+	return overwriteMode_;
+}
+
+void CreateOTADynamicUpgradeJobRequest::setOverwriteMode(int overwriteMode)
+{
+	overwriteMode_ = overwriteMode;
+	setParameter("OverwriteMode", std::to_string(overwriteMode));
+}
+
 std::string CreateOTADynamicUpgradeJobRequest::getApiProduct()const
 {
 	return apiProduct_;

+ 11 - 0
iot/src/model/CreateOTAFirmwareRequest.cc

@@ -38,6 +38,17 @@ void CreateOTAFirmwareRequest::setSignMethod(const std::string& signMethod)
 	setParameter("SignMethod", signMethod);
 }
 
+bool CreateOTAFirmwareRequest::getNeedToVerify()const
+{
+	return needToVerify_;
+}
+
+void CreateOTAFirmwareRequest::setNeedToVerify(bool needToVerify)
+{
+	needToVerify_ = needToVerify;
+	setParameter("NeedToVerify", needToVerify ? "true" : "false");
+}
+
 int CreateOTAFirmwareRequest::getType()const
 {
 	return type_;

+ 106 - 0
iot/src/model/CreateOTAModuleRequest.cc

@@ -0,0 +1,106 @@
+/*
+ * 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.
+ */
+
+#include <alibabacloud/iot/model/CreateOTAModuleRequest.h>
+
+using AlibabaCloud::Iot::Model::CreateOTAModuleRequest;
+
+CreateOTAModuleRequest::CreateOTAModuleRequest() :
+	RpcServiceRequest("iot", "2018-01-20", "CreateOTAModule")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+CreateOTAModuleRequest::~CreateOTAModuleRequest()
+{}
+
+std::string CreateOTAModuleRequest::getIotInstanceId()const
+{
+	return iotInstanceId_;
+}
+
+void CreateOTAModuleRequest::setIotInstanceId(const std::string& iotInstanceId)
+{
+	iotInstanceId_ = iotInstanceId;
+	setParameter("IotInstanceId", iotInstanceId);
+}
+
+std::string CreateOTAModuleRequest::getModuleName()const
+{
+	return moduleName_;
+}
+
+void CreateOTAModuleRequest::setModuleName(const std::string& moduleName)
+{
+	moduleName_ = moduleName;
+	setParameter("ModuleName", moduleName);
+}
+
+std::string CreateOTAModuleRequest::getProductKey()const
+{
+	return productKey_;
+}
+
+void CreateOTAModuleRequest::setProductKey(const std::string& productKey)
+{
+	productKey_ = productKey;
+	setParameter("ProductKey", productKey);
+}
+
+std::string CreateOTAModuleRequest::getAliasName()const
+{
+	return aliasName_;
+}
+
+void CreateOTAModuleRequest::setAliasName(const std::string& aliasName)
+{
+	aliasName_ = aliasName;
+	setParameter("AliasName", aliasName);
+}
+
+std::string CreateOTAModuleRequest::getApiProduct()const
+{
+	return apiProduct_;
+}
+
+void CreateOTAModuleRequest::setApiProduct(const std::string& apiProduct)
+{
+	apiProduct_ = apiProduct;
+	setBodyParameter("ApiProduct", apiProduct);
+}
+
+std::string CreateOTAModuleRequest::getApiRevision()const
+{
+	return apiRevision_;
+}
+
+void CreateOTAModuleRequest::setApiRevision(const std::string& apiRevision)
+{
+	apiRevision_ = apiRevision;
+	setBodyParameter("ApiRevision", apiRevision);
+}
+
+std::string CreateOTAModuleRequest::getDesc()const
+{
+	return desc_;
+}
+
+void CreateOTAModuleRequest::setDesc(const std::string& desc)
+{
+	desc_ = desc;
+	setParameter("Desc", desc);
+}
+

Некоторые файлы не были показаны из-за большого количества измененных файлов