Parcourir la source

Support Easy Connect New API.

sdk-team il y a 4 ans
Parent
commit
306cee5f8a
61 fichiers modifiés avec 3764 ajouts et 2 suppressions
  1. 3 0
      CHANGELOG
  2. 1 1
      VERSION
  3. 40 0
      iot/CMakeLists.txt
  4. 80 0
      iot/include/alibabacloud/iot/IotClient.h
  5. 70 0
      iot/include/alibabacloud/iot/model/BatchCheckImportDeviceRequest.h
  6. 64 0
      iot/include/alibabacloud/iot/model/BatchCheckImportDeviceResult.h
  7. 70 0
      iot/include/alibabacloud/iot/model/BatchImportDeviceRequest.h
  8. 65 0
      iot/include/alibabacloud/iot/model/BatchImportDeviceResult.h
  9. 63 0
      iot/include/alibabacloud/iot/model/BindLicenseDeviceRequest.h
  10. 65 0
      iot/include/alibabacloud/iot/model/BindLicenseDeviceResult.h
  11. 60 0
      iot/include/alibabacloud/iot/model/BindLicenseProductRequest.h
  12. 57 0
      iot/include/alibabacloud/iot/model/BindLicenseProductResult.h
  13. 63 0
      iot/include/alibabacloud/iot/model/CheckBindLicenseDeviceProgressRequest.h
  14. 64 0
      iot/include/alibabacloud/iot/model/CheckBindLicenseDeviceProgressResult.h
  15. 6 0
      iot/include/alibabacloud/iot/model/CreateSoundCodeRequest.h
  16. 3 0
      iot/include/alibabacloud/iot/model/CreateSoundCodeScheduleRequest.h
  17. 1 0
      iot/include/alibabacloud/iot/model/GetSoundCodeScheduleResult.h
  18. 72 0
      iot/include/alibabacloud/iot/model/ImportDeviceRequest.h
  19. 66 0
      iot/include/alibabacloud/iot/model/ImportDeviceResult.h
  20. 3 0
      iot/include/alibabacloud/iot/model/PubRequest.h
  21. 66 0
      iot/include/alibabacloud/iot/model/QueryImportedDeviceByApplyIdRequest.h
  22. 72 0
      iot/include/alibabacloud/iot/model/QueryImportedDeviceByApplyIdResult.h
  23. 75 0
      iot/include/alibabacloud/iot/model/QueryLicenseDeviceListRequest.h
  24. 74 0
      iot/include/alibabacloud/iot/model/QueryLicenseDeviceListResult.h
  25. 2 0
      iot/include/alibabacloud/iot/model/QuerySoundCodeListResult.h
  26. 1 0
      iot/include/alibabacloud/iot/model/QuerySoundCodeScheduleListResult.h
  27. 6 0
      iot/include/alibabacloud/iot/model/ResetThingRequest.h
  28. 2 0
      iot/include/alibabacloud/iot/model/ResetThingResult.h
  29. 60 0
      iot/include/alibabacloud/iot/model/UnbindLicenseProductRequest.h
  30. 57 0
      iot/include/alibabacloud/iot/model/UnbindLicenseProductResult.h
  31. 66 0
      iot/include/alibabacloud/iot/model/UpdateSoundCodeRequest.h
  32. 55 0
      iot/include/alibabacloud/iot/model/UpdateSoundCodeResult.h
  33. 360 0
      iot/src/IotClient.cc
  34. 101 0
      iot/src/model/BatchCheckImportDeviceRequest.cc
  35. 83 0
      iot/src/model/BatchCheckImportDeviceResult.cc
  36. 101 0
      iot/src/model/BatchImportDeviceRequest.cc
  37. 85 0
      iot/src/model/BatchImportDeviceResult.cc
  38. 97 0
      iot/src/model/BindLicenseDeviceRequest.cc
  39. 81 0
      iot/src/model/BindLicenseDeviceResult.cc
  40. 84 0
      iot/src/model/BindLicenseProductRequest.cc
  41. 72 0
      iot/src/model/BindLicenseProductResult.cc
  42. 95 0
      iot/src/model/CheckBindLicenseDeviceProgressRequest.cc
  43. 79 0
      iot/src/model/CheckBindLicenseDeviceProgressResult.cc
  44. 22 0
      iot/src/model/CreateSoundCodeRequest.cc
  45. 11 0
      iot/src/model/CreateSoundCodeScheduleRequest.cc
  46. 2 0
      iot/src/model/GetSoundCodeScheduleResult.cc
  47. 128 0
      iot/src/model/ImportDeviceRequest.cc
  48. 83 0
      iot/src/model/ImportDeviceResult.cc
  49. 12 1
      iot/src/model/PubRequest.cc
  50. 106 0
      iot/src/model/QueryImportedDeviceByApplyIdRequest.cc
  51. 112 0
      iot/src/model/QueryImportedDeviceByApplyIdResult.cc
  52. 139 0
      iot/src/model/QueryLicenseDeviceListRequest.cc
  53. 97 0
      iot/src/model/QueryLicenseDeviceListResult.cc
  54. 4 0
      iot/src/model/QuerySoundCodeListResult.cc
  55. 2 0
      iot/src/model/QuerySoundCodeScheduleListResult.cc
  56. 22 0
      iot/src/model/ResetThingRequest.cc
  57. 7 0
      iot/src/model/ResetThingResult.cc
  58. 84 0
      iot/src/model/UnbindLicenseProductRequest.cc
  59. 72 0
      iot/src/model/UnbindLicenseProductResult.cc
  60. 106 0
      iot/src/model/UpdateSoundCodeRequest.cc
  61. 65 0
      iot/src/model/UpdateSoundCodeResult.cc

+ 3 - 0
CHANGELOG

@@ -1,3 +1,6 @@
+2022-06-20 Version: 1.36.1149
+- Support Easy Connect New API.
+
 2022-06-20 Version: 1.36.1148
 - Add EventId when listQuery EventInfo.
 

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.1148
+1.36.1149

+ 40 - 0
iot/CMakeLists.txt

@@ -37,6 +37,8 @@ set(iot_public_header_model
 	include/alibabacloud/iot/model/BatchBindProductsIntoProjectResult.h
 	include/alibabacloud/iot/model/BatchCheckDeviceNamesRequest.h
 	include/alibabacloud/iot/model/BatchCheckDeviceNamesResult.h
+	include/alibabacloud/iot/model/BatchCheckImportDeviceRequest.h
+	include/alibabacloud/iot/model/BatchCheckImportDeviceResult.h
 	include/alibabacloud/iot/model/BatchClearEdgeInstanceDeviceConfigRequest.h
 	include/alibabacloud/iot/model/BatchClearEdgeInstanceDeviceConfigResult.h
 	include/alibabacloud/iot/model/BatchCreateSoundCodeLabelRequest.h
@@ -63,6 +65,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/BatchImportDeviceRequest.h
+	include/alibabacloud/iot/model/BatchImportDeviceResult.h
 	include/alibabacloud/iot/model/BatchPubRequest.h
 	include/alibabacloud/iot/model/BatchPubResult.h
 	include/alibabacloud/iot/model/BatchQueryDeviceDetailRequest.h
@@ -89,6 +93,10 @@ 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/BindLicenseDeviceRequest.h
+	include/alibabacloud/iot/model/BindLicenseDeviceResult.h
+	include/alibabacloud/iot/model/BindLicenseProductRequest.h
+	include/alibabacloud/iot/model/BindLicenseProductResult.h
 	include/alibabacloud/iot/model/BindRoleToEdgeInstanceRequest.h
 	include/alibabacloud/iot/model/BindRoleToEdgeInstanceResult.h
 	include/alibabacloud/iot/model/BindSceneRuleToEdgeInstanceRequest.h
@@ -103,6 +111,8 @@ set(iot_public_header_model
 	include/alibabacloud/iot/model/CancelOTATaskByJobResult.h
 	include/alibabacloud/iot/model/CancelReleaseProductRequest.h
 	include/alibabacloud/iot/model/CancelReleaseProductResult.h
+	include/alibabacloud/iot/model/CheckBindLicenseDeviceProgressRequest.h
+	include/alibabacloud/iot/model/CheckBindLicenseDeviceProgressResult.h
 	include/alibabacloud/iot/model/ClearEdgeInstanceDriverConfigsRequest.h
 	include/alibabacloud/iot/model/ClearEdgeInstanceDriverConfigsResult.h
 	include/alibabacloud/iot/model/CloseDeviceTunnelRequest.h
@@ -331,6 +341,8 @@ set(iot_public_header_model
 	include/alibabacloud/iot/model/GisQueryDeviceLocationResult.h
 	include/alibabacloud/iot/model/GisSearchDeviceTraceRequest.h
 	include/alibabacloud/iot/model/GisSearchDeviceTraceResult.h
+	include/alibabacloud/iot/model/ImportDeviceRequest.h
+	include/alibabacloud/iot/model/ImportDeviceResult.h
 	include/alibabacloud/iot/model/ImportThingModelTslRequest.h
 	include/alibabacloud/iot/model/ImportThingModelTslResult.h
 	include/alibabacloud/iot/model/InvokeDataAPIServiceRequest.h
@@ -497,10 +509,14 @@ set(iot_public_header_model
 	include/alibabacloud/iot/model/QueryEdgeInstanceMessageRoutingResult.h
 	include/alibabacloud/iot/model/QueryEdgeInstanceSceneRuleRequest.h
 	include/alibabacloud/iot/model/QueryEdgeInstanceSceneRuleResult.h
+	include/alibabacloud/iot/model/QueryImportedDeviceByApplyIdRequest.h
+	include/alibabacloud/iot/model/QueryImportedDeviceByApplyIdResult.h
 	include/alibabacloud/iot/model/QueryJobRequest.h
 	include/alibabacloud/iot/model/QueryJobResult.h
 	include/alibabacloud/iot/model/QueryJobStatisticsRequest.h
 	include/alibabacloud/iot/model/QueryJobStatisticsResult.h
+	include/alibabacloud/iot/model/QueryLicenseDeviceListRequest.h
+	include/alibabacloud/iot/model/QueryLicenseDeviceListResult.h
 	include/alibabacloud/iot/model/QueryLoRaJoinPermissionsRequest.h
 	include/alibabacloud/iot/model/QueryLoRaJoinPermissionsResult.h
 	include/alibabacloud/iot/model/QueryMessageInfoRequest.h
@@ -645,6 +661,8 @@ set(iot_public_header_model
 	include/alibabacloud/iot/model/UnbindApplicationFromEdgeInstanceResult.h
 	include/alibabacloud/iot/model/UnbindDriverFromEdgeInstanceRequest.h
 	include/alibabacloud/iot/model/UnbindDriverFromEdgeInstanceResult.h
+	include/alibabacloud/iot/model/UnbindLicenseProductRequest.h
+	include/alibabacloud/iot/model/UnbindLicenseProductResult.h
 	include/alibabacloud/iot/model/UnbindRoleFromEdgeInstanceRequest.h
 	include/alibabacloud/iot/model/UnbindRoleFromEdgeInstanceResult.h
 	include/alibabacloud/iot/model/UnbindSceneRuleFromEdgeInstanceRequest.h
@@ -683,6 +701,8 @@ set(iot_public_header_model
 	include/alibabacloud/iot/model/UpdateSceneRuleResult.h
 	include/alibabacloud/iot/model/UpdateSchedulePeriodRequest.h
 	include/alibabacloud/iot/model/UpdateSchedulePeriodResult.h
+	include/alibabacloud/iot/model/UpdateSoundCodeRequest.h
+	include/alibabacloud/iot/model/UpdateSoundCodeResult.h
 	include/alibabacloud/iot/model/UpdateSoundCodeLabelRequest.h
 	include/alibabacloud/iot/model/UpdateSoundCodeLabelResult.h
 	include/alibabacloud/iot/model/UpdateSoundCodeScheduleRequest.h
@@ -714,6 +734,8 @@ set(iot_src
 	src/model/BatchBindProductsIntoProjectResult.cc
 	src/model/BatchCheckDeviceNamesRequest.cc
 	src/model/BatchCheckDeviceNamesResult.cc
+	src/model/BatchCheckImportDeviceRequest.cc
+	src/model/BatchCheckImportDeviceResult.cc
 	src/model/BatchClearEdgeInstanceDeviceConfigRequest.cc
 	src/model/BatchClearEdgeInstanceDeviceConfigResult.cc
 	src/model/BatchCreateSoundCodeLabelRequest.cc
@@ -740,6 +762,8 @@ set(iot_src
 	src/model/BatchGetEdgeInstanceDeviceDriverResult.cc
 	src/model/BatchGetEdgeInstanceDriverConfigsRequest.cc
 	src/model/BatchGetEdgeInstanceDriverConfigsResult.cc
+	src/model/BatchImportDeviceRequest.cc
+	src/model/BatchImportDeviceResult.cc
 	src/model/BatchPubRequest.cc
 	src/model/BatchPubResult.cc
 	src/model/BatchQueryDeviceDetailRequest.cc
@@ -766,6 +790,10 @@ set(iot_src
 	src/model/BindDriverToEdgeInstanceResult.cc
 	src/model/BindGatewayToEdgeInstanceRequest.cc
 	src/model/BindGatewayToEdgeInstanceResult.cc
+	src/model/BindLicenseDeviceRequest.cc
+	src/model/BindLicenseDeviceResult.cc
+	src/model/BindLicenseProductRequest.cc
+	src/model/BindLicenseProductResult.cc
 	src/model/BindRoleToEdgeInstanceRequest.cc
 	src/model/BindRoleToEdgeInstanceResult.cc
 	src/model/BindSceneRuleToEdgeInstanceRequest.cc
@@ -780,6 +808,8 @@ set(iot_src
 	src/model/CancelOTATaskByJobResult.cc
 	src/model/CancelReleaseProductRequest.cc
 	src/model/CancelReleaseProductResult.cc
+	src/model/CheckBindLicenseDeviceProgressRequest.cc
+	src/model/CheckBindLicenseDeviceProgressResult.cc
 	src/model/ClearEdgeInstanceDriverConfigsRequest.cc
 	src/model/ClearEdgeInstanceDriverConfigsResult.cc
 	src/model/CloseDeviceTunnelRequest.cc
@@ -1008,6 +1038,8 @@ set(iot_src
 	src/model/GisQueryDeviceLocationResult.cc
 	src/model/GisSearchDeviceTraceRequest.cc
 	src/model/GisSearchDeviceTraceResult.cc
+	src/model/ImportDeviceRequest.cc
+	src/model/ImportDeviceResult.cc
 	src/model/ImportThingModelTslRequest.cc
 	src/model/ImportThingModelTslResult.cc
 	src/model/InvokeDataAPIServiceRequest.cc
@@ -1174,10 +1206,14 @@ set(iot_src
 	src/model/QueryEdgeInstanceMessageRoutingResult.cc
 	src/model/QueryEdgeInstanceSceneRuleRequest.cc
 	src/model/QueryEdgeInstanceSceneRuleResult.cc
+	src/model/QueryImportedDeviceByApplyIdRequest.cc
+	src/model/QueryImportedDeviceByApplyIdResult.cc
 	src/model/QueryJobRequest.cc
 	src/model/QueryJobResult.cc
 	src/model/QueryJobStatisticsRequest.cc
 	src/model/QueryJobStatisticsResult.cc
+	src/model/QueryLicenseDeviceListRequest.cc
+	src/model/QueryLicenseDeviceListResult.cc
 	src/model/QueryLoRaJoinPermissionsRequest.cc
 	src/model/QueryLoRaJoinPermissionsResult.cc
 	src/model/QueryMessageInfoRequest.cc
@@ -1322,6 +1358,8 @@ set(iot_src
 	src/model/UnbindApplicationFromEdgeInstanceResult.cc
 	src/model/UnbindDriverFromEdgeInstanceRequest.cc
 	src/model/UnbindDriverFromEdgeInstanceResult.cc
+	src/model/UnbindLicenseProductRequest.cc
+	src/model/UnbindLicenseProductResult.cc
 	src/model/UnbindRoleFromEdgeInstanceRequest.cc
 	src/model/UnbindRoleFromEdgeInstanceResult.cc
 	src/model/UnbindSceneRuleFromEdgeInstanceRequest.cc
@@ -1360,6 +1398,8 @@ set(iot_src
 	src/model/UpdateSceneRuleResult.cc
 	src/model/UpdateSchedulePeriodRequest.cc
 	src/model/UpdateSchedulePeriodResult.cc
+	src/model/UpdateSoundCodeRequest.cc
+	src/model/UpdateSoundCodeResult.cc
 	src/model/UpdateSoundCodeLabelRequest.cc
 	src/model/UpdateSoundCodeLabelResult.cc
 	src/model/UpdateSoundCodeScheduleRequest.cc

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

@@ -38,6 +38,8 @@
 #include "model/BatchBindProductsIntoProjectResult.h"
 #include "model/BatchCheckDeviceNamesRequest.h"
 #include "model/BatchCheckDeviceNamesResult.h"
+#include "model/BatchCheckImportDeviceRequest.h"
+#include "model/BatchCheckImportDeviceResult.h"
 #include "model/BatchClearEdgeInstanceDeviceConfigRequest.h"
 #include "model/BatchClearEdgeInstanceDeviceConfigResult.h"
 #include "model/BatchCreateSoundCodeLabelRequest.h"
@@ -64,6 +66,8 @@
 #include "model/BatchGetEdgeInstanceDeviceDriverResult.h"
 #include "model/BatchGetEdgeInstanceDriverConfigsRequest.h"
 #include "model/BatchGetEdgeInstanceDriverConfigsResult.h"
+#include "model/BatchImportDeviceRequest.h"
+#include "model/BatchImportDeviceResult.h"
 #include "model/BatchPubRequest.h"
 #include "model/BatchPubResult.h"
 #include "model/BatchQueryDeviceDetailRequest.h"
@@ -90,6 +94,10 @@
 #include "model/BindDriverToEdgeInstanceResult.h"
 #include "model/BindGatewayToEdgeInstanceRequest.h"
 #include "model/BindGatewayToEdgeInstanceResult.h"
+#include "model/BindLicenseDeviceRequest.h"
+#include "model/BindLicenseDeviceResult.h"
+#include "model/BindLicenseProductRequest.h"
+#include "model/BindLicenseProductResult.h"
 #include "model/BindRoleToEdgeInstanceRequest.h"
 #include "model/BindRoleToEdgeInstanceResult.h"
 #include "model/BindSceneRuleToEdgeInstanceRequest.h"
@@ -104,6 +112,8 @@
 #include "model/CancelOTATaskByJobResult.h"
 #include "model/CancelReleaseProductRequest.h"
 #include "model/CancelReleaseProductResult.h"
+#include "model/CheckBindLicenseDeviceProgressRequest.h"
+#include "model/CheckBindLicenseDeviceProgressResult.h"
 #include "model/ClearEdgeInstanceDriverConfigsRequest.h"
 #include "model/ClearEdgeInstanceDriverConfigsResult.h"
 #include "model/CloseDeviceTunnelRequest.h"
@@ -332,6 +342,8 @@
 #include "model/GisQueryDeviceLocationResult.h"
 #include "model/GisSearchDeviceTraceRequest.h"
 #include "model/GisSearchDeviceTraceResult.h"
+#include "model/ImportDeviceRequest.h"
+#include "model/ImportDeviceResult.h"
 #include "model/ImportThingModelTslRequest.h"
 #include "model/ImportThingModelTslResult.h"
 #include "model/InvokeDataAPIServiceRequest.h"
@@ -498,10 +510,14 @@
 #include "model/QueryEdgeInstanceMessageRoutingResult.h"
 #include "model/QueryEdgeInstanceSceneRuleRequest.h"
 #include "model/QueryEdgeInstanceSceneRuleResult.h"
+#include "model/QueryImportedDeviceByApplyIdRequest.h"
+#include "model/QueryImportedDeviceByApplyIdResult.h"
 #include "model/QueryJobRequest.h"
 #include "model/QueryJobResult.h"
 #include "model/QueryJobStatisticsRequest.h"
 #include "model/QueryJobStatisticsResult.h"
+#include "model/QueryLicenseDeviceListRequest.h"
+#include "model/QueryLicenseDeviceListResult.h"
 #include "model/QueryLoRaJoinPermissionsRequest.h"
 #include "model/QueryLoRaJoinPermissionsResult.h"
 #include "model/QueryMessageInfoRequest.h"
@@ -646,6 +662,8 @@
 #include "model/UnbindApplicationFromEdgeInstanceResult.h"
 #include "model/UnbindDriverFromEdgeInstanceRequest.h"
 #include "model/UnbindDriverFromEdgeInstanceResult.h"
+#include "model/UnbindLicenseProductRequest.h"
+#include "model/UnbindLicenseProductResult.h"
 #include "model/UnbindRoleFromEdgeInstanceRequest.h"
 #include "model/UnbindRoleFromEdgeInstanceResult.h"
 #include "model/UnbindSceneRuleFromEdgeInstanceRequest.h"
@@ -684,6 +702,8 @@
 #include "model/UpdateSceneRuleResult.h"
 #include "model/UpdateSchedulePeriodRequest.h"
 #include "model/UpdateSchedulePeriodResult.h"
+#include "model/UpdateSoundCodeRequest.h"
+#include "model/UpdateSoundCodeResult.h"
 #include "model/UpdateSoundCodeLabelRequest.h"
 #include "model/UpdateSoundCodeLabelResult.h"
 #include "model/UpdateSoundCodeScheduleRequest.h"
@@ -729,6 +749,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::BatchCheckDeviceNamesResult> BatchCheckDeviceNamesOutcome;
 			typedef std::future<BatchCheckDeviceNamesOutcome> BatchCheckDeviceNamesOutcomeCallable;
 			typedef std::function<void(const IotClient*, const Model::BatchCheckDeviceNamesRequest&, const BatchCheckDeviceNamesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> BatchCheckDeviceNamesAsyncHandler;
+			typedef Outcome<Error, Model::BatchCheckImportDeviceResult> BatchCheckImportDeviceOutcome;
+			typedef std::future<BatchCheckImportDeviceOutcome> BatchCheckImportDeviceOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::BatchCheckImportDeviceRequest&, const BatchCheckImportDeviceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> BatchCheckImportDeviceAsyncHandler;
 			typedef Outcome<Error, Model::BatchClearEdgeInstanceDeviceConfigResult> BatchClearEdgeInstanceDeviceConfigOutcome;
 			typedef std::future<BatchClearEdgeInstanceDeviceConfigOutcome> BatchClearEdgeInstanceDeviceConfigOutcomeCallable;
 			typedef std::function<void(const IotClient*, const Model::BatchClearEdgeInstanceDeviceConfigRequest&, const BatchClearEdgeInstanceDeviceConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> BatchClearEdgeInstanceDeviceConfigAsyncHandler;
@@ -768,6 +791,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::BatchImportDeviceResult> BatchImportDeviceOutcome;
+			typedef std::future<BatchImportDeviceOutcome> BatchImportDeviceOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::BatchImportDeviceRequest&, const BatchImportDeviceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> BatchImportDeviceAsyncHandler;
 			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;
@@ -807,6 +833,12 @@ 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::BindLicenseDeviceResult> BindLicenseDeviceOutcome;
+			typedef std::future<BindLicenseDeviceOutcome> BindLicenseDeviceOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::BindLicenseDeviceRequest&, const BindLicenseDeviceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> BindLicenseDeviceAsyncHandler;
+			typedef Outcome<Error, Model::BindLicenseProductResult> BindLicenseProductOutcome;
+			typedef std::future<BindLicenseProductOutcome> BindLicenseProductOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::BindLicenseProductRequest&, const BindLicenseProductOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> BindLicenseProductAsyncHandler;
 			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;
@@ -828,6 +860,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::CancelReleaseProductResult> CancelReleaseProductOutcome;
 			typedef std::future<CancelReleaseProductOutcome> CancelReleaseProductOutcomeCallable;
 			typedef std::function<void(const IotClient*, const Model::CancelReleaseProductRequest&, const CancelReleaseProductOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CancelReleaseProductAsyncHandler;
+			typedef Outcome<Error, Model::CheckBindLicenseDeviceProgressResult> CheckBindLicenseDeviceProgressOutcome;
+			typedef std::future<CheckBindLicenseDeviceProgressOutcome> CheckBindLicenseDeviceProgressOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::CheckBindLicenseDeviceProgressRequest&, const CheckBindLicenseDeviceProgressOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CheckBindLicenseDeviceProgressAsyncHandler;
 			typedef Outcome<Error, Model::ClearEdgeInstanceDriverConfigsResult> ClearEdgeInstanceDriverConfigsOutcome;
 			typedef std::future<ClearEdgeInstanceDriverConfigsOutcome> ClearEdgeInstanceDriverConfigsOutcomeCallable;
 			typedef std::function<void(const IotClient*, const Model::ClearEdgeInstanceDriverConfigsRequest&, const ClearEdgeInstanceDriverConfigsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ClearEdgeInstanceDriverConfigsAsyncHandler;
@@ -1170,6 +1205,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::GisSearchDeviceTraceResult> GisSearchDeviceTraceOutcome;
 			typedef std::future<GisSearchDeviceTraceOutcome> GisSearchDeviceTraceOutcomeCallable;
 			typedef std::function<void(const IotClient*, const Model::GisSearchDeviceTraceRequest&, const GisSearchDeviceTraceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GisSearchDeviceTraceAsyncHandler;
+			typedef Outcome<Error, Model::ImportDeviceResult> ImportDeviceOutcome;
+			typedef std::future<ImportDeviceOutcome> ImportDeviceOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::ImportDeviceRequest&, const ImportDeviceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ImportDeviceAsyncHandler;
 			typedef Outcome<Error, Model::ImportThingModelTslResult> ImportThingModelTslOutcome;
 			typedef std::future<ImportThingModelTslOutcome> ImportThingModelTslOutcomeCallable;
 			typedef std::function<void(const IotClient*, const Model::ImportThingModelTslRequest&, const ImportThingModelTslOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ImportThingModelTslAsyncHandler;
@@ -1419,12 +1457,18 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::QueryEdgeInstanceSceneRuleResult> QueryEdgeInstanceSceneRuleOutcome;
 			typedef std::future<QueryEdgeInstanceSceneRuleOutcome> QueryEdgeInstanceSceneRuleOutcomeCallable;
 			typedef std::function<void(const IotClient*, const Model::QueryEdgeInstanceSceneRuleRequest&, const QueryEdgeInstanceSceneRuleOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryEdgeInstanceSceneRuleAsyncHandler;
+			typedef Outcome<Error, Model::QueryImportedDeviceByApplyIdResult> QueryImportedDeviceByApplyIdOutcome;
+			typedef std::future<QueryImportedDeviceByApplyIdOutcome> QueryImportedDeviceByApplyIdOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::QueryImportedDeviceByApplyIdRequest&, const QueryImportedDeviceByApplyIdOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryImportedDeviceByApplyIdAsyncHandler;
 			typedef Outcome<Error, Model::QueryJobResult> QueryJobOutcome;
 			typedef std::future<QueryJobOutcome> QueryJobOutcomeCallable;
 			typedef std::function<void(const IotClient*, const Model::QueryJobRequest&, const QueryJobOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryJobAsyncHandler;
 			typedef Outcome<Error, Model::QueryJobStatisticsResult> QueryJobStatisticsOutcome;
 			typedef std::future<QueryJobStatisticsOutcome> QueryJobStatisticsOutcomeCallable;
 			typedef std::function<void(const IotClient*, const Model::QueryJobStatisticsRequest&, const QueryJobStatisticsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryJobStatisticsAsyncHandler;
+			typedef Outcome<Error, Model::QueryLicenseDeviceListResult> QueryLicenseDeviceListOutcome;
+			typedef std::future<QueryLicenseDeviceListOutcome> QueryLicenseDeviceListOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::QueryLicenseDeviceListRequest&, const QueryLicenseDeviceListOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryLicenseDeviceListAsyncHandler;
 			typedef Outcome<Error, Model::QueryLoRaJoinPermissionsResult> QueryLoRaJoinPermissionsOutcome;
 			typedef std::future<QueryLoRaJoinPermissionsOutcome> QueryLoRaJoinPermissionsOutcomeCallable;
 			typedef std::function<void(const IotClient*, const Model::QueryLoRaJoinPermissionsRequest&, const QueryLoRaJoinPermissionsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryLoRaJoinPermissionsAsyncHandler;
@@ -1641,6 +1685,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::UnbindLicenseProductResult> UnbindLicenseProductOutcome;
+			typedef std::future<UnbindLicenseProductOutcome> UnbindLicenseProductOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::UnbindLicenseProductRequest&, const UnbindLicenseProductOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UnbindLicenseProductAsyncHandler;
 			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;
@@ -1698,6 +1745,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::UpdateSchedulePeriodResult> UpdateSchedulePeriodOutcome;
 			typedef std::future<UpdateSchedulePeriodOutcome> UpdateSchedulePeriodOutcomeCallable;
 			typedef std::function<void(const IotClient*, const Model::UpdateSchedulePeriodRequest&, const UpdateSchedulePeriodOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateSchedulePeriodAsyncHandler;
+			typedef Outcome<Error, Model::UpdateSoundCodeResult> UpdateSoundCodeOutcome;
+			typedef std::future<UpdateSoundCodeOutcome> UpdateSoundCodeOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::UpdateSoundCodeRequest&, const UpdateSoundCodeOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateSoundCodeAsyncHandler;
 			typedef Outcome<Error, Model::UpdateSoundCodeLabelResult> UpdateSoundCodeLabelOutcome;
 			typedef std::future<UpdateSoundCodeLabelOutcome> UpdateSoundCodeLabelOutcomeCallable;
 			typedef std::function<void(const IotClient*, const Model::UpdateSoundCodeLabelRequest&, const UpdateSoundCodeLabelOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateSoundCodeLabelAsyncHandler;
@@ -1745,6 +1795,9 @@ namespace AlibabaCloud
 			BatchCheckDeviceNamesOutcome batchCheckDeviceNames(const Model::BatchCheckDeviceNamesRequest &request)const;
 			void batchCheckDeviceNamesAsync(const Model::BatchCheckDeviceNamesRequest& request, const BatchCheckDeviceNamesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			BatchCheckDeviceNamesOutcomeCallable batchCheckDeviceNamesCallable(const Model::BatchCheckDeviceNamesRequest& request) const;
+			BatchCheckImportDeviceOutcome batchCheckImportDevice(const Model::BatchCheckImportDeviceRequest &request)const;
+			void batchCheckImportDeviceAsync(const Model::BatchCheckImportDeviceRequest& request, const BatchCheckImportDeviceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			BatchCheckImportDeviceOutcomeCallable batchCheckImportDeviceCallable(const Model::BatchCheckImportDeviceRequest& request) const;
 			BatchClearEdgeInstanceDeviceConfigOutcome batchClearEdgeInstanceDeviceConfig(const Model::BatchClearEdgeInstanceDeviceConfigRequest &request)const;
 			void batchClearEdgeInstanceDeviceConfigAsync(const Model::BatchClearEdgeInstanceDeviceConfigRequest& request, const BatchClearEdgeInstanceDeviceConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			BatchClearEdgeInstanceDeviceConfigOutcomeCallable batchClearEdgeInstanceDeviceConfigCallable(const Model::BatchClearEdgeInstanceDeviceConfigRequest& request) const;
@@ -1784,6 +1837,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;
+			BatchImportDeviceOutcome batchImportDevice(const Model::BatchImportDeviceRequest &request)const;
+			void batchImportDeviceAsync(const Model::BatchImportDeviceRequest& request, const BatchImportDeviceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			BatchImportDeviceOutcomeCallable batchImportDeviceCallable(const Model::BatchImportDeviceRequest& 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;
@@ -1823,6 +1879,12 @@ 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;
+			BindLicenseDeviceOutcome bindLicenseDevice(const Model::BindLicenseDeviceRequest &request)const;
+			void bindLicenseDeviceAsync(const Model::BindLicenseDeviceRequest& request, const BindLicenseDeviceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			BindLicenseDeviceOutcomeCallable bindLicenseDeviceCallable(const Model::BindLicenseDeviceRequest& request) const;
+			BindLicenseProductOutcome bindLicenseProduct(const Model::BindLicenseProductRequest &request)const;
+			void bindLicenseProductAsync(const Model::BindLicenseProductRequest& request, const BindLicenseProductAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			BindLicenseProductOutcomeCallable bindLicenseProductCallable(const Model::BindLicenseProductRequest& 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;
@@ -1844,6 +1906,9 @@ namespace AlibabaCloud
 			CancelReleaseProductOutcome cancelReleaseProduct(const Model::CancelReleaseProductRequest &request)const;
 			void cancelReleaseProductAsync(const Model::CancelReleaseProductRequest& request, const CancelReleaseProductAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CancelReleaseProductOutcomeCallable cancelReleaseProductCallable(const Model::CancelReleaseProductRequest& request) const;
+			CheckBindLicenseDeviceProgressOutcome checkBindLicenseDeviceProgress(const Model::CheckBindLicenseDeviceProgressRequest &request)const;
+			void checkBindLicenseDeviceProgressAsync(const Model::CheckBindLicenseDeviceProgressRequest& request, const CheckBindLicenseDeviceProgressAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CheckBindLicenseDeviceProgressOutcomeCallable checkBindLicenseDeviceProgressCallable(const Model::CheckBindLicenseDeviceProgressRequest& request) const;
 			ClearEdgeInstanceDriverConfigsOutcome clearEdgeInstanceDriverConfigs(const Model::ClearEdgeInstanceDriverConfigsRequest &request)const;
 			void clearEdgeInstanceDriverConfigsAsync(const Model::ClearEdgeInstanceDriverConfigsRequest& request, const ClearEdgeInstanceDriverConfigsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ClearEdgeInstanceDriverConfigsOutcomeCallable clearEdgeInstanceDriverConfigsCallable(const Model::ClearEdgeInstanceDriverConfigsRequest& request) const;
@@ -2186,6 +2251,9 @@ namespace AlibabaCloud
 			GisSearchDeviceTraceOutcome gisSearchDeviceTrace(const Model::GisSearchDeviceTraceRequest &request)const;
 			void gisSearchDeviceTraceAsync(const Model::GisSearchDeviceTraceRequest& request, const GisSearchDeviceTraceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			GisSearchDeviceTraceOutcomeCallable gisSearchDeviceTraceCallable(const Model::GisSearchDeviceTraceRequest& request) const;
+			ImportDeviceOutcome importDevice(const Model::ImportDeviceRequest &request)const;
+			void importDeviceAsync(const Model::ImportDeviceRequest& request, const ImportDeviceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ImportDeviceOutcomeCallable importDeviceCallable(const Model::ImportDeviceRequest& request) const;
 			ImportThingModelTslOutcome importThingModelTsl(const Model::ImportThingModelTslRequest &request)const;
 			void importThingModelTslAsync(const Model::ImportThingModelTslRequest& request, const ImportThingModelTslAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ImportThingModelTslOutcomeCallable importThingModelTslCallable(const Model::ImportThingModelTslRequest& request) const;
@@ -2435,12 +2503,18 @@ namespace AlibabaCloud
 			QueryEdgeInstanceSceneRuleOutcome queryEdgeInstanceSceneRule(const Model::QueryEdgeInstanceSceneRuleRequest &request)const;
 			void queryEdgeInstanceSceneRuleAsync(const Model::QueryEdgeInstanceSceneRuleRequest& request, const QueryEdgeInstanceSceneRuleAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			QueryEdgeInstanceSceneRuleOutcomeCallable queryEdgeInstanceSceneRuleCallable(const Model::QueryEdgeInstanceSceneRuleRequest& request) const;
+			QueryImportedDeviceByApplyIdOutcome queryImportedDeviceByApplyId(const Model::QueryImportedDeviceByApplyIdRequest &request)const;
+			void queryImportedDeviceByApplyIdAsync(const Model::QueryImportedDeviceByApplyIdRequest& request, const QueryImportedDeviceByApplyIdAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			QueryImportedDeviceByApplyIdOutcomeCallable queryImportedDeviceByApplyIdCallable(const Model::QueryImportedDeviceByApplyIdRequest& request) const;
 			QueryJobOutcome queryJob(const Model::QueryJobRequest &request)const;
 			void queryJobAsync(const Model::QueryJobRequest& request, const QueryJobAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			QueryJobOutcomeCallable queryJobCallable(const Model::QueryJobRequest& request) const;
 			QueryJobStatisticsOutcome queryJobStatistics(const Model::QueryJobStatisticsRequest &request)const;
 			void queryJobStatisticsAsync(const Model::QueryJobStatisticsRequest& request, const QueryJobStatisticsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			QueryJobStatisticsOutcomeCallable queryJobStatisticsCallable(const Model::QueryJobStatisticsRequest& request) const;
+			QueryLicenseDeviceListOutcome queryLicenseDeviceList(const Model::QueryLicenseDeviceListRequest &request)const;
+			void queryLicenseDeviceListAsync(const Model::QueryLicenseDeviceListRequest& request, const QueryLicenseDeviceListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			QueryLicenseDeviceListOutcomeCallable queryLicenseDeviceListCallable(const Model::QueryLicenseDeviceListRequest& request) const;
 			QueryLoRaJoinPermissionsOutcome queryLoRaJoinPermissions(const Model::QueryLoRaJoinPermissionsRequest &request)const;
 			void queryLoRaJoinPermissionsAsync(const Model::QueryLoRaJoinPermissionsRequest& request, const QueryLoRaJoinPermissionsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			QueryLoRaJoinPermissionsOutcomeCallable queryLoRaJoinPermissionsCallable(const Model::QueryLoRaJoinPermissionsRequest& request) const;
@@ -2657,6 +2731,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;
+			UnbindLicenseProductOutcome unbindLicenseProduct(const Model::UnbindLicenseProductRequest &request)const;
+			void unbindLicenseProductAsync(const Model::UnbindLicenseProductRequest& request, const UnbindLicenseProductAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UnbindLicenseProductOutcomeCallable unbindLicenseProductCallable(const Model::UnbindLicenseProductRequest& 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;
@@ -2714,6 +2791,9 @@ namespace AlibabaCloud
 			UpdateSchedulePeriodOutcome updateSchedulePeriod(const Model::UpdateSchedulePeriodRequest &request)const;
 			void updateSchedulePeriodAsync(const Model::UpdateSchedulePeriodRequest& request, const UpdateSchedulePeriodAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			UpdateSchedulePeriodOutcomeCallable updateSchedulePeriodCallable(const Model::UpdateSchedulePeriodRequest& request) const;
+			UpdateSoundCodeOutcome updateSoundCode(const Model::UpdateSoundCodeRequest &request)const;
+			void updateSoundCodeAsync(const Model::UpdateSoundCodeRequest& request, const UpdateSoundCodeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UpdateSoundCodeOutcomeCallable updateSoundCodeCallable(const Model::UpdateSoundCodeRequest& request) const;
 			UpdateSoundCodeLabelOutcome updateSoundCodeLabel(const Model::UpdateSoundCodeLabelRequest &request)const;
 			void updateSoundCodeLabelAsync(const Model::UpdateSoundCodeLabelRequest& request, const UpdateSoundCodeLabelAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			UpdateSoundCodeLabelOutcomeCallable updateSoundCodeLabelCallable(const Model::UpdateSoundCodeLabelRequest& request) const;

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

@@ -0,0 +1,70 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_BATCHCHECKIMPORTDEVICEREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_BATCHCHECKIMPORTDEVICEREQUEST_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 BatchCheckImportDeviceRequest : public RpcServiceRequest
+			{
+			public:
+				struct DeviceList
+				{
+					std::string deviceSecret;
+					std::string deviceName;
+					std::string sn;
+				};
+
+			public:
+				BatchCheckImportDeviceRequest();
+				~BatchCheckImportDeviceRequest();
+
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getIotInstanceId()const;
+				void setIotInstanceId(const std::string& iotInstanceId);
+				std::string getProductKey()const;
+				void setProductKey(const std::string& productKey);
+				std::vector<DeviceList> getDeviceList()const;
+				void setDeviceList(const std::vector<DeviceList>& deviceList);
+				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 productKey_;
+				std::vector<DeviceList> deviceList_;
+				std::string apiProduct_;
+				std::string apiRevision_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_BATCHCHECKIMPORTDEVICEREQUEST_H_

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

@@ -0,0 +1,64 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_BATCHCHECKIMPORTDEVICERESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_BATCHCHECKIMPORTDEVICERESULT_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 BatchCheckImportDeviceResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					std::vector<std::string> invalidDeviceNameList;
+					std::vector<std::string> repeatedDeviceNameList;
+					std::vector<std::string> invalidDeviceSecretList;
+					std::vector<std::string> invalidSnList;
+				};
+
+
+				BatchCheckImportDeviceResult();
+				explicit BatchCheckImportDeviceResult(const std::string &payload);
+				~BatchCheckImportDeviceResult();
+				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_BATCHCHECKIMPORTDEVICERESULT_H_

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

@@ -0,0 +1,70 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_BATCHIMPORTDEVICEREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_BATCHIMPORTDEVICEREQUEST_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 BatchImportDeviceRequest : public RpcServiceRequest
+			{
+			public:
+				struct DeviceList
+				{
+					std::string deviceSecret;
+					std::string deviceName;
+					std::string sn;
+				};
+
+			public:
+				BatchImportDeviceRequest();
+				~BatchImportDeviceRequest();
+
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getIotInstanceId()const;
+				void setIotInstanceId(const std::string& iotInstanceId);
+				std::string getProductKey()const;
+				void setProductKey(const std::string& productKey);
+				std::vector<DeviceList> getDeviceList()const;
+				void setDeviceList(const std::vector<DeviceList>& deviceList);
+				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 productKey_;
+				std::vector<DeviceList> deviceList_;
+				std::string apiProduct_;
+				std::string apiRevision_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_BATCHIMPORTDEVICEREQUEST_H_

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

@@ -0,0 +1,65 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_BATCHIMPORTDEVICERESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_BATCHIMPORTDEVICERESULT_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 BatchImportDeviceResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					std::vector<std::string> invalidDeviceNameList;
+					long applyId;
+					std::vector<std::string> repeatedDeviceNameList;
+					std::vector<std::string> invalidDeviceSecretList;
+					std::vector<std::string> invalidSnList;
+				};
+
+
+				BatchImportDeviceResult();
+				explicit BatchImportDeviceResult(const std::string &payload);
+				~BatchImportDeviceResult();
+				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_BATCHIMPORTDEVICERESULT_H_

+ 63 - 0
iot/include/alibabacloud/iot/model/BindLicenseDeviceRequest.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_BINDLICENSEDEVICEREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_BINDLICENSEDEVICEREQUEST_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 BindLicenseDeviceRequest : public RpcServiceRequest
+			{
+
+			public:
+				BindLicenseDeviceRequest();
+				~BindLicenseDeviceRequest();
+
+				std::string getIotInstanceId()const;
+				void setIotInstanceId(const std::string& iotInstanceId);
+				std::vector<std::string> getIotIdList()const;
+				void setIotIdList(const std::vector<std::string>& iotIdList);
+				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 getLicenseCode()const;
+				void setLicenseCode(const std::string& licenseCode);
+
+            private:
+				std::string iotInstanceId_;
+				std::vector<std::string> iotIdList_;
+				std::string productKey_;
+				std::string apiProduct_;
+				std::string apiRevision_;
+				std::string licenseCode_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_BINDLICENSEDEVICEREQUEST_H_

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

@@ -0,0 +1,65 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_BINDLICENSEDEVICERESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_BINDLICENSEDEVICERESULT_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 BindLicenseDeviceResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					std::string checkProgressId;
+					int progress;
+					std::string resultCsvFile;
+					long failSum;
+					long successSum;
+				};
+
+
+				BindLicenseDeviceResult();
+				explicit BindLicenseDeviceResult(const std::string &payload);
+				~BindLicenseDeviceResult();
+				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_BINDLICENSEDEVICERESULT_H_

+ 60 - 0
iot/include/alibabacloud/iot/model/BindLicenseProductRequest.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_BINDLICENSEPRODUCTREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_BINDLICENSEPRODUCTREQUEST_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 BindLicenseProductRequest : public RpcServiceRequest
+			{
+
+			public:
+				BindLicenseProductRequest();
+				~BindLicenseProductRequest();
+
+				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 getLicenseCode()const;
+				void setLicenseCode(const std::string& licenseCode);
+
+            private:
+				std::string iotInstanceId_;
+				std::string productKey_;
+				std::string apiProduct_;
+				std::string apiRevision_;
+				std::string licenseCode_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_BINDLICENSEPRODUCTREQUEST_H_

+ 57 - 0
iot/include/alibabacloud/iot/model/BindLicenseProductResult.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_BINDLICENSEPRODUCTRESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_BINDLICENSEPRODUCTRESULT_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 BindLicenseProductResult : public ServiceResult
+			{
+			public:
+
+
+				BindLicenseProductResult();
+				explicit BindLicenseProductResult(const std::string &payload);
+				~BindLicenseProductResult();
+				bool getData()const;
+				std::string getErrorMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				bool data_;
+				std::string errorMessage_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_BINDLICENSEPRODUCTRESULT_H_

+ 63 - 0
iot/include/alibabacloud/iot/model/CheckBindLicenseDeviceProgressRequest.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_CHECKBINDLICENSEDEVICEPROGRESSREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_CHECKBINDLICENSEDEVICEPROGRESSREQUEST_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 CheckBindLicenseDeviceProgressRequest : public RpcServiceRequest
+			{
+
+			public:
+				CheckBindLicenseDeviceProgressRequest();
+				~CheckBindLicenseDeviceProgressRequest();
+
+				std::string getCheckProgressId()const;
+				void setCheckProgressId(const std::string& checkProgressId);
+				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 getLicenseCode()const;
+				void setLicenseCode(const std::string& licenseCode);
+
+            private:
+				std::string checkProgressId_;
+				std::string iotInstanceId_;
+				std::string productKey_;
+				std::string apiProduct_;
+				std::string apiRevision_;
+				std::string licenseCode_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_CHECKBINDLICENSEDEVICEPROGRESSREQUEST_H_

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

@@ -0,0 +1,64 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_CHECKBINDLICENSEDEVICEPROGRESSRESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_CHECKBINDLICENSEDEVICEPROGRESSRESULT_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 CheckBindLicenseDeviceProgressResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					int progress;
+					std::string resultCsvFile;
+					long failSum;
+					long successSum;
+				};
+
+
+				CheckBindLicenseDeviceProgressResult();
+				explicit CheckBindLicenseDeviceProgressResult(const std::string &payload);
+				~CheckBindLicenseDeviceProgressResult();
+				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_CHECKBINDLICENSEDEVICEPROGRESSRESULT_H_

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

@@ -43,15 +43,21 @@ namespace AlibabaCloud
 				void setSoundCodeContent(const std::string& soundCodeContent);
 				std::string getApiProduct()const;
 				void setApiProduct(const std::string& apiProduct);
+				std::string getName()const;
+				void setName(const std::string& name);
 				std::string getApiRevision()const;
 				void setApiRevision(const std::string& apiRevision);
+				std::string getOpenType()const;
+				void setOpenType(const std::string& openType);
 
             private:
 				int duration_;
 				std::string iotInstanceId_;
 				std::string soundCodeContent_;
 				std::string apiProduct_;
+				std::string name_;
 				std::string apiRevision_;
+				std::string openType_;
 
 			};
 		}

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

@@ -49,6 +49,8 @@ namespace AlibabaCloud
 				void setName(const std::string& name);
 				std::string getApiRevision()const;
 				void setApiRevision(const std::string& apiRevision);
+				std::string getOpenType()const;
+				void setOpenType(const std::string& openType);
 
             private:
 				std::string description_;
@@ -58,6 +60,7 @@ namespace AlibabaCloud
 				std::string apiProduct_;
 				std::string name_;
 				std::string apiRevision_;
+				std::string openType_;
 
 			};
 		}

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

@@ -37,6 +37,7 @@ namespace AlibabaCloud
 					std::string status;
 					std::string startDate;
 					long gmtCreate;
+					std::string openType;
 					std::string description;
 					std::string endTime;
 					std::string startTime;

+ 72 - 0
iot/include/alibabacloud/iot/model/ImportDeviceRequest.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_IMPORTDEVICEREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_IMPORTDEVICEREQUEST_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 ImportDeviceRequest : public RpcServiceRequest
+			{
+
+			public:
+				ImportDeviceRequest();
+				~ImportDeviceRequest();
+
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getIotInstanceId()const;
+				void setIotInstanceId(const std::string& iotInstanceId);
+				std::string getNickname()const;
+				void setNickname(const std::string& nickname);
+				std::string getSn()const;
+				void setSn(const std::string& sn);
+				std::string getDeviceSecret()const;
+				void setDeviceSecret(const std::string& deviceSecret);
+				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 accessKeyId_;
+				std::string iotInstanceId_;
+				std::string nickname_;
+				std::string sn_;
+				std::string deviceSecret_;
+				std::string productKey_;
+				std::string apiProduct_;
+				std::string apiRevision_;
+				std::string deviceName_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_IMPORTDEVICEREQUEST_H_

+ 66 - 0
iot/include/alibabacloud/iot/model/ImportDeviceResult.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_IMPORTDEVICERESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_IMPORTDEVICERESULT_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 ImportDeviceResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					std::string iotId;
+					std::string deviceSecret;
+					std::string sn;
+					std::string productKey;
+					std::string deviceName;
+					std::string nickname;
+				};
+
+
+				ImportDeviceResult();
+				explicit ImportDeviceResult(const std::string &payload);
+				~ImportDeviceResult();
+				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_IMPORTDEVICERESULT_H_

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

@@ -63,6 +63,8 @@ namespace AlibabaCloud
 				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::vector<UserProp> userProp_;
@@ -76,6 +78,7 @@ namespace AlibabaCloud
 				std::string productKey_;
 				std::string apiProduct_;
 				std::string apiRevision_;
+				std::string deviceName_;
 
 			};
 		}

+ 66 - 0
iot/include/alibabacloud/iot/model/QueryImportedDeviceByApplyIdRequest.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_QUERYIMPORTEDDEVICEBYAPPLYIDREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_QUERYIMPORTEDDEVICEBYAPPLYIDREQUEST_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 QueryImportedDeviceByApplyIdRequest : public RpcServiceRequest
+			{
+
+			public:
+				QueryImportedDeviceByApplyIdRequest();
+				~QueryImportedDeviceByApplyIdRequest();
+
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getIotInstanceId()const;
+				void setIotInstanceId(const std::string& iotInstanceId);
+				int getPageSize()const;
+				void setPageSize(int pageSize);
+				long getApplyId()const;
+				void setApplyId(long applyId);
+				int getPageNo()const;
+				void setPageNo(int pageNo);
+				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_;
+				int pageSize_;
+				long applyId_;
+				int pageNo_;
+				std::string apiProduct_;
+				std::string apiRevision_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_QUERYIMPORTEDDEVICEBYAPPLYIDREQUEST_H_

+ 72 - 0
iot/include/alibabacloud/iot/model/QueryImportedDeviceByApplyIdResult.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_QUERYIMPORTEDDEVICEBYAPPLYIDRESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_QUERYIMPORTEDDEVICEBYAPPLYIDRESULT_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 QueryImportedDeviceByApplyIdResult : public ServiceResult
+			{
+			public:
+				struct Device
+				{
+					std::string deviceSecret;
+					std::string sn;
+					std::string productKey;
+					std::string deviceName;
+				};
+
+
+				QueryImportedDeviceByApplyIdResult();
+				explicit QueryImportedDeviceByApplyIdResult(const std::string &payload);
+				~QueryImportedDeviceByApplyIdResult();
+				int getPageSize()const;
+				int getTotalPage()const;
+				std::vector<Device> getDeviceList()const;
+				int getPageNo()const;
+				std::string getErrorMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+				std::string getProductKey()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				int pageSize_;
+				int totalPage_;
+				std::vector<Device> deviceList_;
+				int pageNo_;
+				std::string errorMessage_;
+				std::string code_;
+				bool success_;
+				std::string productKey_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_QUERYIMPORTEDDEVICEBYAPPLYIDRESULT_H_

+ 75 - 0
iot/include/alibabacloud/iot/model/QueryLicenseDeviceListRequest.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_QUERYLICENSEDEVICELISTREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_QUERYLICENSEDEVICELISTREQUEST_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 QueryLicenseDeviceListRequest : public RpcServiceRequest
+			{
+
+			public:
+				QueryLicenseDeviceListRequest();
+				~QueryLicenseDeviceListRequest();
+
+				long getStartTime()const;
+				void setStartTime(long startTime);
+				int getPageId()const;
+				void setPageId(int pageId);
+				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);
+				long getEndTime()const;
+				void setEndTime(long endTime);
+				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 getLicenseCode()const;
+				void setLicenseCode(const std::string& licenseCode);
+
+            private:
+				long startTime_;
+				int pageId_;
+				std::string iotId_;
+				std::string iotInstanceId_;
+				int pageSize_;
+				long endTime_;
+				std::string productKey_;
+				std::string apiProduct_;
+				std::string apiRevision_;
+				std::string licenseCode_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_QUERYLICENSEDEVICELISTREQUEST_H_

+ 74 - 0
iot/include/alibabacloud/iot/model/QueryLicenseDeviceListResult.h

@@ -0,0 +1,74 @@
+/*
+ * 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_QUERYLICENSEDEVICELISTRESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_QUERYLICENSEDEVICELISTRESULT_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 QueryLicenseDeviceListResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					struct Item
+					{
+						std::string iotId;
+						std::string licenseCode;
+						long gmtCreate;
+						std::string productName;
+						long expiryTime;
+						std::string productKey;
+						std::string deviceName;
+					};
+					int pageId;
+					int pageSize;
+					int total;
+					std::vector<Item> deviceList;
+				};
+
+
+				QueryLicenseDeviceListResult();
+				explicit QueryLicenseDeviceListResult(const std::string &payload);
+				~QueryLicenseDeviceListResult();
+				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_QUERYLICENSEDEVICELISTRESULT_H_

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

@@ -37,9 +37,11 @@ namespace AlibabaCloud
 					struct Items
 					{
 						long gmtCreate;
+						std::string openType;
 						int duration;
 						std::string soundCodeContent;
 						std::string soundCode;
+						std::string name;
 					};
 					int pageId;
 					int pageSize;

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

@@ -39,6 +39,7 @@ namespace AlibabaCloud
 						std::string status;
 						std::string startDate;
 						long gmtCreate;
+						std::string openType;
 						std::string description;
 						std::string endTime;
 						std::string startTime;

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

@@ -35,6 +35,10 @@ namespace AlibabaCloud
 				ResetThingRequest();
 				~ResetThingRequest();
 
+				std::string getRealTenantId()const;
+				void setRealTenantId(const std::string& realTenantId);
+				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,6 +53,8 @@ namespace AlibabaCloud
 				void setDeviceName(const std::string& deviceName);
 
             private:
+				std::string realTenantId_;
+				std::string realTripartiteKey_;
 				std::string iotId_;
 				std::string iotInstanceId_;
 				std::string productKey_;

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

@@ -40,6 +40,7 @@ namespace AlibabaCloud
 				std::string getErrorMessage()const;
 				std::string getCode()const;
 				bool getSuccess()const;
+				std::string getJobId()const;
 
 			protected:
 				void parse(const std::string &payload);
@@ -47,6 +48,7 @@ namespace AlibabaCloud
 				std::string errorMessage_;
 				std::string code_;
 				bool success_;
+				std::string jobId_;
 
 			};
 		}

+ 60 - 0
iot/include/alibabacloud/iot/model/UnbindLicenseProductRequest.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_UNBINDLICENSEPRODUCTREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_UNBINDLICENSEPRODUCTREQUEST_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 UnbindLicenseProductRequest : public RpcServiceRequest
+			{
+
+			public:
+				UnbindLicenseProductRequest();
+				~UnbindLicenseProductRequest();
+
+				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 getLicenseCode()const;
+				void setLicenseCode(const std::string& licenseCode);
+
+            private:
+				std::string iotInstanceId_;
+				std::string productKey_;
+				std::string apiProduct_;
+				std::string apiRevision_;
+				std::string licenseCode_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_UNBINDLICENSEPRODUCTREQUEST_H_

+ 57 - 0
iot/include/alibabacloud/iot/model/UnbindLicenseProductResult.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_UNBINDLICENSEPRODUCTRESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_UNBINDLICENSEPRODUCTRESULT_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 UnbindLicenseProductResult : public ServiceResult
+			{
+			public:
+
+
+				UnbindLicenseProductResult();
+				explicit UnbindLicenseProductResult(const std::string &payload);
+				~UnbindLicenseProductResult();
+				bool getData()const;
+				std::string getErrorMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				bool data_;
+				std::string errorMessage_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_UNBINDLICENSEPRODUCTRESULT_H_

+ 66 - 0
iot/include/alibabacloud/iot/model/UpdateSoundCodeRequest.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_UPDATESOUNDCODEREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_UPDATESOUNDCODEREQUEST_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 UpdateSoundCodeRequest : public RpcServiceRequest
+			{
+
+			public:
+				UpdateSoundCodeRequest();
+				~UpdateSoundCodeRequest();
+
+				std::string getSoundCode()const;
+				void setSoundCode(const std::string& soundCode);
+				int getDuration()const;
+				void setDuration(int duration);
+				std::string getIotInstanceId()const;
+				void setIotInstanceId(const std::string& iotInstanceId);
+				std::string getSoundCodeContent()const;
+				void setSoundCodeContent(const std::string& soundCodeContent);
+				std::string getApiProduct()const;
+				void setApiProduct(const std::string& apiProduct);
+				std::string getName()const;
+				void setName(const std::string& name);
+				std::string getApiRevision()const;
+				void setApiRevision(const std::string& apiRevision);
+
+            private:
+				std::string soundCode_;
+				int duration_;
+				std::string iotInstanceId_;
+				std::string soundCodeContent_;
+				std::string apiProduct_;
+				std::string name_;
+				std::string apiRevision_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_UPDATESOUNDCODEREQUEST_H_

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

+ 360 - 0
iot/src/IotClient.cc

@@ -339,6 +339,42 @@ IotClient::BatchCheckDeviceNamesOutcomeCallable IotClient::batchCheckDeviceNames
 	return task->get_future();
 }
 
+IotClient::BatchCheckImportDeviceOutcome IotClient::batchCheckImportDevice(const BatchCheckImportDeviceRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return BatchCheckImportDeviceOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return BatchCheckImportDeviceOutcome(BatchCheckImportDeviceResult(outcome.result()));
+	else
+		return BatchCheckImportDeviceOutcome(outcome.error());
+}
+
+void IotClient::batchCheckImportDeviceAsync(const BatchCheckImportDeviceRequest& request, const BatchCheckImportDeviceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, batchCheckImportDevice(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+IotClient::BatchCheckImportDeviceOutcomeCallable IotClient::batchCheckImportDeviceCallable(const BatchCheckImportDeviceRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<BatchCheckImportDeviceOutcome()>>(
+			[this, request]()
+			{
+			return this->batchCheckImportDevice(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 IotClient::BatchClearEdgeInstanceDeviceConfigOutcome IotClient::batchClearEdgeInstanceDeviceConfig(const BatchClearEdgeInstanceDeviceConfigRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -807,6 +843,42 @@ IotClient::BatchGetEdgeInstanceDriverConfigsOutcomeCallable IotClient::batchGetE
 	return task->get_future();
 }
 
+IotClient::BatchImportDeviceOutcome IotClient::batchImportDevice(const BatchImportDeviceRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return BatchImportDeviceOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return BatchImportDeviceOutcome(BatchImportDeviceResult(outcome.result()));
+	else
+		return BatchImportDeviceOutcome(outcome.error());
+}
+
+void IotClient::batchImportDeviceAsync(const BatchImportDeviceRequest& request, const BatchImportDeviceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, batchImportDevice(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+IotClient::BatchImportDeviceOutcomeCallable IotClient::batchImportDeviceCallable(const BatchImportDeviceRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<BatchImportDeviceOutcome()>>(
+			[this, request]()
+			{
+			return this->batchImportDevice(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 IotClient::BatchPubOutcome IotClient::batchPub(const BatchPubRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1275,6 +1347,78 @@ IotClient::BindGatewayToEdgeInstanceOutcomeCallable IotClient::bindGatewayToEdge
 	return task->get_future();
 }
 
+IotClient::BindLicenseDeviceOutcome IotClient::bindLicenseDevice(const BindLicenseDeviceRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return BindLicenseDeviceOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return BindLicenseDeviceOutcome(BindLicenseDeviceResult(outcome.result()));
+	else
+		return BindLicenseDeviceOutcome(outcome.error());
+}
+
+void IotClient::bindLicenseDeviceAsync(const BindLicenseDeviceRequest& request, const BindLicenseDeviceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, bindLicenseDevice(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+IotClient::BindLicenseDeviceOutcomeCallable IotClient::bindLicenseDeviceCallable(const BindLicenseDeviceRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<BindLicenseDeviceOutcome()>>(
+			[this, request]()
+			{
+			return this->bindLicenseDevice(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+IotClient::BindLicenseProductOutcome IotClient::bindLicenseProduct(const BindLicenseProductRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return BindLicenseProductOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return BindLicenseProductOutcome(BindLicenseProductResult(outcome.result()));
+	else
+		return BindLicenseProductOutcome(outcome.error());
+}
+
+void IotClient::bindLicenseProductAsync(const BindLicenseProductRequest& request, const BindLicenseProductAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, bindLicenseProduct(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+IotClient::BindLicenseProductOutcomeCallable IotClient::bindLicenseProductCallable(const BindLicenseProductRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<BindLicenseProductOutcome()>>(
+			[this, request]()
+			{
+			return this->bindLicenseProduct(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 IotClient::BindRoleToEdgeInstanceOutcome IotClient::bindRoleToEdgeInstance(const BindRoleToEdgeInstanceRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1527,6 +1671,42 @@ IotClient::CancelReleaseProductOutcomeCallable IotClient::cancelReleaseProductCa
 	return task->get_future();
 }
 
+IotClient::CheckBindLicenseDeviceProgressOutcome IotClient::checkBindLicenseDeviceProgress(const CheckBindLicenseDeviceProgressRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return CheckBindLicenseDeviceProgressOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return CheckBindLicenseDeviceProgressOutcome(CheckBindLicenseDeviceProgressResult(outcome.result()));
+	else
+		return CheckBindLicenseDeviceProgressOutcome(outcome.error());
+}
+
+void IotClient::checkBindLicenseDeviceProgressAsync(const CheckBindLicenseDeviceProgressRequest& request, const CheckBindLicenseDeviceProgressAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, checkBindLicenseDeviceProgress(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+IotClient::CheckBindLicenseDeviceProgressOutcomeCallable IotClient::checkBindLicenseDeviceProgressCallable(const CheckBindLicenseDeviceProgressRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<CheckBindLicenseDeviceProgressOutcome()>>(
+			[this, request]()
+			{
+			return this->checkBindLicenseDeviceProgress(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 IotClient::ClearEdgeInstanceDriverConfigsOutcome IotClient::clearEdgeInstanceDriverConfigs(const ClearEdgeInstanceDriverConfigsRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -5631,6 +5811,42 @@ IotClient::GisSearchDeviceTraceOutcomeCallable IotClient::gisSearchDeviceTraceCa
 	return task->get_future();
 }
 
+IotClient::ImportDeviceOutcome IotClient::importDevice(const ImportDeviceRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ImportDeviceOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ImportDeviceOutcome(ImportDeviceResult(outcome.result()));
+	else
+		return ImportDeviceOutcome(outcome.error());
+}
+
+void IotClient::importDeviceAsync(const ImportDeviceRequest& request, const ImportDeviceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, importDevice(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+IotClient::ImportDeviceOutcomeCallable IotClient::importDeviceCallable(const ImportDeviceRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ImportDeviceOutcome()>>(
+			[this, request]()
+			{
+			return this->importDevice(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 IotClient::ImportThingModelTslOutcome IotClient::importThingModelTsl(const ImportThingModelTslRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -8619,6 +8835,42 @@ IotClient::QueryEdgeInstanceSceneRuleOutcomeCallable IotClient::queryEdgeInstanc
 	return task->get_future();
 }
 
+IotClient::QueryImportedDeviceByApplyIdOutcome IotClient::queryImportedDeviceByApplyId(const QueryImportedDeviceByApplyIdRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return QueryImportedDeviceByApplyIdOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return QueryImportedDeviceByApplyIdOutcome(QueryImportedDeviceByApplyIdResult(outcome.result()));
+	else
+		return QueryImportedDeviceByApplyIdOutcome(outcome.error());
+}
+
+void IotClient::queryImportedDeviceByApplyIdAsync(const QueryImportedDeviceByApplyIdRequest& request, const QueryImportedDeviceByApplyIdAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, queryImportedDeviceByApplyId(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+IotClient::QueryImportedDeviceByApplyIdOutcomeCallable IotClient::queryImportedDeviceByApplyIdCallable(const QueryImportedDeviceByApplyIdRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<QueryImportedDeviceByApplyIdOutcome()>>(
+			[this, request]()
+			{
+			return this->queryImportedDeviceByApplyId(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 IotClient::QueryJobOutcome IotClient::queryJob(const QueryJobRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -8691,6 +8943,42 @@ IotClient::QueryJobStatisticsOutcomeCallable IotClient::queryJobStatisticsCallab
 	return task->get_future();
 }
 
+IotClient::QueryLicenseDeviceListOutcome IotClient::queryLicenseDeviceList(const QueryLicenseDeviceListRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return QueryLicenseDeviceListOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return QueryLicenseDeviceListOutcome(QueryLicenseDeviceListResult(outcome.result()));
+	else
+		return QueryLicenseDeviceListOutcome(outcome.error());
+}
+
+void IotClient::queryLicenseDeviceListAsync(const QueryLicenseDeviceListRequest& request, const QueryLicenseDeviceListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, queryLicenseDeviceList(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+IotClient::QueryLicenseDeviceListOutcomeCallable IotClient::queryLicenseDeviceListCallable(const QueryLicenseDeviceListRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<QueryLicenseDeviceListOutcome()>>(
+			[this, request]()
+			{
+			return this->queryLicenseDeviceList(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 IotClient::QueryLoRaJoinPermissionsOutcome IotClient::queryLoRaJoinPermissions(const QueryLoRaJoinPermissionsRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -11283,6 +11571,42 @@ IotClient::UnbindDriverFromEdgeInstanceOutcomeCallable IotClient::unbindDriverFr
 	return task->get_future();
 }
 
+IotClient::UnbindLicenseProductOutcome IotClient::unbindLicenseProduct(const UnbindLicenseProductRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return UnbindLicenseProductOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return UnbindLicenseProductOutcome(UnbindLicenseProductResult(outcome.result()));
+	else
+		return UnbindLicenseProductOutcome(outcome.error());
+}
+
+void IotClient::unbindLicenseProductAsync(const UnbindLicenseProductRequest& request, const UnbindLicenseProductAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, unbindLicenseProduct(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+IotClient::UnbindLicenseProductOutcomeCallable IotClient::unbindLicenseProductCallable(const UnbindLicenseProductRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<UnbindLicenseProductOutcome()>>(
+			[this, request]()
+			{
+			return this->unbindLicenseProduct(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 IotClient::UnbindRoleFromEdgeInstanceOutcome IotClient::unbindRoleFromEdgeInstance(const UnbindRoleFromEdgeInstanceRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -11967,6 +12291,42 @@ IotClient::UpdateSchedulePeriodOutcomeCallable IotClient::updateSchedulePeriodCa
 	return task->get_future();
 }
 
+IotClient::UpdateSoundCodeOutcome IotClient::updateSoundCode(const UpdateSoundCodeRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return UpdateSoundCodeOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return UpdateSoundCodeOutcome(UpdateSoundCodeResult(outcome.result()));
+	else
+		return UpdateSoundCodeOutcome(outcome.error());
+}
+
+void IotClient::updateSoundCodeAsync(const UpdateSoundCodeRequest& request, const UpdateSoundCodeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, updateSoundCode(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+IotClient::UpdateSoundCodeOutcomeCallable IotClient::updateSoundCodeCallable(const UpdateSoundCodeRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<UpdateSoundCodeOutcome()>>(
+			[this, request]()
+			{
+			return this->updateSoundCode(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 IotClient::UpdateSoundCodeLabelOutcome IotClient::updateSoundCodeLabel(const UpdateSoundCodeLabelRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();

+ 101 - 0
iot/src/model/BatchCheckImportDeviceRequest.cc

@@ -0,0 +1,101 @@
+/*
+ * 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/BatchCheckImportDeviceRequest.h>
+
+using AlibabaCloud::Iot::Model::BatchCheckImportDeviceRequest;
+
+BatchCheckImportDeviceRequest::BatchCheckImportDeviceRequest() :
+	RpcServiceRequest("iot", "2018-01-20", "BatchCheckImportDevice")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+BatchCheckImportDeviceRequest::~BatchCheckImportDeviceRequest()
+{}
+
+std::string BatchCheckImportDeviceRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void BatchCheckImportDeviceRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+
+std::string BatchCheckImportDeviceRequest::getIotInstanceId()const
+{
+	return iotInstanceId_;
+}
+
+void BatchCheckImportDeviceRequest::setIotInstanceId(const std::string& iotInstanceId)
+{
+	iotInstanceId_ = iotInstanceId;
+	setParameter("IotInstanceId", iotInstanceId);
+}
+
+std::string BatchCheckImportDeviceRequest::getProductKey()const
+{
+	return productKey_;
+}
+
+void BatchCheckImportDeviceRequest::setProductKey(const std::string& productKey)
+{
+	productKey_ = productKey;
+	setParameter("ProductKey", productKey);
+}
+
+std::vector<BatchCheckImportDeviceRequest::DeviceList> BatchCheckImportDeviceRequest::getDeviceList()const
+{
+	return deviceList_;
+}
+
+void BatchCheckImportDeviceRequest::setDeviceList(const std::vector<DeviceList>& deviceList)
+{
+	deviceList_ = deviceList;
+	for(int dep1 = 0; dep1!= deviceList.size(); dep1++) {
+		auto deviceListObj = deviceList.at(dep1);
+		std::string deviceListObjStr = "DeviceList." + std::to_string(dep1 + 1);
+		setParameter(deviceListObjStr + ".DeviceSecret", deviceListObj.deviceSecret);
+		setParameter(deviceListObjStr + ".DeviceName", deviceListObj.deviceName);
+		setParameter(deviceListObjStr + ".Sn", deviceListObj.sn);
+	}
+}
+
+std::string BatchCheckImportDeviceRequest::getApiProduct()const
+{
+	return apiProduct_;
+}
+
+void BatchCheckImportDeviceRequest::setApiProduct(const std::string& apiProduct)
+{
+	apiProduct_ = apiProduct;
+	setBodyParameter("ApiProduct", apiProduct);
+}
+
+std::string BatchCheckImportDeviceRequest::getApiRevision()const
+{
+	return apiRevision_;
+}
+
+void BatchCheckImportDeviceRequest::setApiRevision(const std::string& apiRevision)
+{
+	apiRevision_ = apiRevision;
+	setBodyParameter("ApiRevision", apiRevision);
+}
+

+ 83 - 0
iot/src/model/BatchCheckImportDeviceResult.cc

@@ -0,0 +1,83 @@
+/*
+ * 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/BatchCheckImportDeviceResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Iot;
+using namespace AlibabaCloud::Iot::Model;
+
+BatchCheckImportDeviceResult::BatchCheckImportDeviceResult() :
+	ServiceResult()
+{}
+
+BatchCheckImportDeviceResult::BatchCheckImportDeviceResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+BatchCheckImportDeviceResult::~BatchCheckImportDeviceResult()
+{}
+
+void BatchCheckImportDeviceResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto dataNode = value["Data"];
+		auto allInvalidDeviceNameList = dataNode["InvalidDeviceNameList"]["invalidDeviceName"];
+		for (auto value : allInvalidDeviceNameList)
+			data_.invalidDeviceNameList.push_back(value.asString());
+		auto allInvalidDeviceSecretList = dataNode["InvalidDeviceSecretList"]["invalidDeviceSecret"];
+		for (auto value : allInvalidDeviceSecretList)
+			data_.invalidDeviceSecretList.push_back(value.asString());
+		auto allInvalidSnList = dataNode["InvalidSnList"]["invalidSn"];
+		for (auto value : allInvalidSnList)
+			data_.invalidSnList.push_back(value.asString());
+		auto allRepeatedDeviceNameList = dataNode["RepeatedDeviceNameList"]["repeatedDeviceName"];
+		for (auto value : allRepeatedDeviceNameList)
+			data_.repeatedDeviceNameList.push_back(value.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();
+
+}
+
+BatchCheckImportDeviceResult::Data BatchCheckImportDeviceResult::getData()const
+{
+	return data_;
+}
+
+std::string BatchCheckImportDeviceResult::getErrorMessage()const
+{
+	return errorMessage_;
+}
+
+std::string BatchCheckImportDeviceResult::getCode()const
+{
+	return code_;
+}
+
+bool BatchCheckImportDeviceResult::getSuccess()const
+{
+	return success_;
+}
+

+ 101 - 0
iot/src/model/BatchImportDeviceRequest.cc

@@ -0,0 +1,101 @@
+/*
+ * 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/BatchImportDeviceRequest.h>
+
+using AlibabaCloud::Iot::Model::BatchImportDeviceRequest;
+
+BatchImportDeviceRequest::BatchImportDeviceRequest() :
+	RpcServiceRequest("iot", "2018-01-20", "BatchImportDevice")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+BatchImportDeviceRequest::~BatchImportDeviceRequest()
+{}
+
+std::string BatchImportDeviceRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void BatchImportDeviceRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+
+std::string BatchImportDeviceRequest::getIotInstanceId()const
+{
+	return iotInstanceId_;
+}
+
+void BatchImportDeviceRequest::setIotInstanceId(const std::string& iotInstanceId)
+{
+	iotInstanceId_ = iotInstanceId;
+	setParameter("IotInstanceId", iotInstanceId);
+}
+
+std::string BatchImportDeviceRequest::getProductKey()const
+{
+	return productKey_;
+}
+
+void BatchImportDeviceRequest::setProductKey(const std::string& productKey)
+{
+	productKey_ = productKey;
+	setParameter("ProductKey", productKey);
+}
+
+std::vector<BatchImportDeviceRequest::DeviceList> BatchImportDeviceRequest::getDeviceList()const
+{
+	return deviceList_;
+}
+
+void BatchImportDeviceRequest::setDeviceList(const std::vector<DeviceList>& deviceList)
+{
+	deviceList_ = deviceList;
+	for(int dep1 = 0; dep1!= deviceList.size(); dep1++) {
+		auto deviceListObj = deviceList.at(dep1);
+		std::string deviceListObjStr = "DeviceList." + std::to_string(dep1 + 1);
+		setParameter(deviceListObjStr + ".DeviceSecret", deviceListObj.deviceSecret);
+		setParameter(deviceListObjStr + ".DeviceName", deviceListObj.deviceName);
+		setParameter(deviceListObjStr + ".Sn", deviceListObj.sn);
+	}
+}
+
+std::string BatchImportDeviceRequest::getApiProduct()const
+{
+	return apiProduct_;
+}
+
+void BatchImportDeviceRequest::setApiProduct(const std::string& apiProduct)
+{
+	apiProduct_ = apiProduct;
+	setBodyParameter("ApiProduct", apiProduct);
+}
+
+std::string BatchImportDeviceRequest::getApiRevision()const
+{
+	return apiRevision_;
+}
+
+void BatchImportDeviceRequest::setApiRevision(const std::string& apiRevision)
+{
+	apiRevision_ = apiRevision;
+	setBodyParameter("ApiRevision", apiRevision);
+}
+

+ 85 - 0
iot/src/model/BatchImportDeviceResult.cc

@@ -0,0 +1,85 @@
+/*
+ * 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/BatchImportDeviceResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Iot;
+using namespace AlibabaCloud::Iot::Model;
+
+BatchImportDeviceResult::BatchImportDeviceResult() :
+	ServiceResult()
+{}
+
+BatchImportDeviceResult::BatchImportDeviceResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+BatchImportDeviceResult::~BatchImportDeviceResult()
+{}
+
+void BatchImportDeviceResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto dataNode = value["Data"];
+	if(!dataNode["ApplyId"].isNull())
+		data_.applyId = std::stol(dataNode["ApplyId"].asString());
+		auto allRepeatedDeviceNameList = dataNode["RepeatedDeviceNameList"]["repeatedDeviceName"];
+		for (auto value : allRepeatedDeviceNameList)
+			data_.repeatedDeviceNameList.push_back(value.asString());
+		auto allInvalidDeviceNameList = dataNode["InvalidDeviceNameList"]["invalidDeviceName"];
+		for (auto value : allInvalidDeviceNameList)
+			data_.invalidDeviceNameList.push_back(value.asString());
+		auto allInvalidDeviceSecretList = dataNode["InvalidDeviceSecretList"]["invalidDeviceSecret"];
+		for (auto value : allInvalidDeviceSecretList)
+			data_.invalidDeviceSecretList.push_back(value.asString());
+		auto allInvalidSnList = dataNode["InvalidSnList"]["invalidSn"];
+		for (auto value : allInvalidSnList)
+			data_.invalidSnList.push_back(value.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();
+
+}
+
+BatchImportDeviceResult::Data BatchImportDeviceResult::getData()const
+{
+	return data_;
+}
+
+std::string BatchImportDeviceResult::getErrorMessage()const
+{
+	return errorMessage_;
+}
+
+std::string BatchImportDeviceResult::getCode()const
+{
+	return code_;
+}
+
+bool BatchImportDeviceResult::getSuccess()const
+{
+	return success_;
+}
+

+ 97 - 0
iot/src/model/BindLicenseDeviceRequest.cc

@@ -0,0 +1,97 @@
+/*
+ * 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/BindLicenseDeviceRequest.h>
+
+using AlibabaCloud::Iot::Model::BindLicenseDeviceRequest;
+
+BindLicenseDeviceRequest::BindLicenseDeviceRequest() :
+	RpcServiceRequest("iot", "2018-01-20", "BindLicenseDevice")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+BindLicenseDeviceRequest::~BindLicenseDeviceRequest()
+{}
+
+std::string BindLicenseDeviceRequest::getIotInstanceId()const
+{
+	return iotInstanceId_;
+}
+
+void BindLicenseDeviceRequest::setIotInstanceId(const std::string& iotInstanceId)
+{
+	iotInstanceId_ = iotInstanceId;
+	setParameter("IotInstanceId", iotInstanceId);
+}
+
+std::vector<std::string> BindLicenseDeviceRequest::getIotIdList()const
+{
+	return iotIdList_;
+}
+
+void BindLicenseDeviceRequest::setIotIdList(const std::vector<std::string>& iotIdList)
+{
+	iotIdList_ = iotIdList;
+	for(int dep1 = 0; dep1!= iotIdList.size(); dep1++) {
+		setParameter("IotIdList."+ std::to_string(dep1), iotIdList.at(dep1));
+	}
+}
+
+std::string BindLicenseDeviceRequest::getProductKey()const
+{
+	return productKey_;
+}
+
+void BindLicenseDeviceRequest::setProductKey(const std::string& productKey)
+{
+	productKey_ = productKey;
+	setParameter("ProductKey", productKey);
+}
+
+std::string BindLicenseDeviceRequest::getApiProduct()const
+{
+	return apiProduct_;
+}
+
+void BindLicenseDeviceRequest::setApiProduct(const std::string& apiProduct)
+{
+	apiProduct_ = apiProduct;
+	setBodyParameter("ApiProduct", apiProduct);
+}
+
+std::string BindLicenseDeviceRequest::getApiRevision()const
+{
+	return apiRevision_;
+}
+
+void BindLicenseDeviceRequest::setApiRevision(const std::string& apiRevision)
+{
+	apiRevision_ = apiRevision;
+	setBodyParameter("ApiRevision", apiRevision);
+}
+
+std::string BindLicenseDeviceRequest::getLicenseCode()const
+{
+	return licenseCode_;
+}
+
+void BindLicenseDeviceRequest::setLicenseCode(const std::string& licenseCode)
+{
+	licenseCode_ = licenseCode;
+	setParameter("LicenseCode", licenseCode);
+}
+

+ 81 - 0
iot/src/model/BindLicenseDeviceResult.cc

@@ -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.
+ */
+
+#include <alibabacloud/iot/model/BindLicenseDeviceResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Iot;
+using namespace AlibabaCloud::Iot::Model;
+
+BindLicenseDeviceResult::BindLicenseDeviceResult() :
+	ServiceResult()
+{}
+
+BindLicenseDeviceResult::BindLicenseDeviceResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+BindLicenseDeviceResult::~BindLicenseDeviceResult()
+{}
+
+void BindLicenseDeviceResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto dataNode = value["Data"];
+	if(!dataNode["SuccessSum"].isNull())
+		data_.successSum = std::stol(dataNode["SuccessSum"].asString());
+	if(!dataNode["FailSum"].isNull())
+		data_.failSum = std::stol(dataNode["FailSum"].asString());
+	if(!dataNode["ResultCsvFile"].isNull())
+		data_.resultCsvFile = dataNode["ResultCsvFile"].asString();
+	if(!dataNode["Progress"].isNull())
+		data_.progress = std::stoi(dataNode["Progress"].asString());
+	if(!dataNode["CheckProgressId"].isNull())
+		data_.checkProgressId = dataNode["CheckProgressId"].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();
+
+}
+
+BindLicenseDeviceResult::Data BindLicenseDeviceResult::getData()const
+{
+	return data_;
+}
+
+std::string BindLicenseDeviceResult::getErrorMessage()const
+{
+	return errorMessage_;
+}
+
+std::string BindLicenseDeviceResult::getCode()const
+{
+	return code_;
+}
+
+bool BindLicenseDeviceResult::getSuccess()const
+{
+	return success_;
+}
+

+ 84 - 0
iot/src/model/BindLicenseProductRequest.cc

@@ -0,0 +1,84 @@
+/*
+ * 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/BindLicenseProductRequest.h>
+
+using AlibabaCloud::Iot::Model::BindLicenseProductRequest;
+
+BindLicenseProductRequest::BindLicenseProductRequest() :
+	RpcServiceRequest("iot", "2018-01-20", "BindLicenseProduct")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+BindLicenseProductRequest::~BindLicenseProductRequest()
+{}
+
+std::string BindLicenseProductRequest::getIotInstanceId()const
+{
+	return iotInstanceId_;
+}
+
+void BindLicenseProductRequest::setIotInstanceId(const std::string& iotInstanceId)
+{
+	iotInstanceId_ = iotInstanceId;
+	setParameter("IotInstanceId", iotInstanceId);
+}
+
+std::string BindLicenseProductRequest::getProductKey()const
+{
+	return productKey_;
+}
+
+void BindLicenseProductRequest::setProductKey(const std::string& productKey)
+{
+	productKey_ = productKey;
+	setParameter("ProductKey", productKey);
+}
+
+std::string BindLicenseProductRequest::getApiProduct()const
+{
+	return apiProduct_;
+}
+
+void BindLicenseProductRequest::setApiProduct(const std::string& apiProduct)
+{
+	apiProduct_ = apiProduct;
+	setBodyParameter("ApiProduct", apiProduct);
+}
+
+std::string BindLicenseProductRequest::getApiRevision()const
+{
+	return apiRevision_;
+}
+
+void BindLicenseProductRequest::setApiRevision(const std::string& apiRevision)
+{
+	apiRevision_ = apiRevision;
+	setBodyParameter("ApiRevision", apiRevision);
+}
+
+std::string BindLicenseProductRequest::getLicenseCode()const
+{
+	return licenseCode_;
+}
+
+void BindLicenseProductRequest::setLicenseCode(const std::string& licenseCode)
+{
+	licenseCode_ = licenseCode;
+	setParameter("LicenseCode", licenseCode);
+}
+

+ 72 - 0
iot/src/model/BindLicenseProductResult.cc

@@ -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.
+ */
+
+#include <alibabacloud/iot/model/BindLicenseProductResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Iot;
+using namespace AlibabaCloud::Iot::Model;
+
+BindLicenseProductResult::BindLicenseProductResult() :
+	ServiceResult()
+{}
+
+BindLicenseProductResult::BindLicenseProductResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+BindLicenseProductResult::~BindLicenseProductResult()
+{}
+
+void BindLicenseProductResult::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();
+	if(!value["Data"].isNull())
+		data_ = value["Data"].asString() == "true";
+
+}
+
+bool BindLicenseProductResult::getData()const
+{
+	return data_;
+}
+
+std::string BindLicenseProductResult::getErrorMessage()const
+{
+	return errorMessage_;
+}
+
+std::string BindLicenseProductResult::getCode()const
+{
+	return code_;
+}
+
+bool BindLicenseProductResult::getSuccess()const
+{
+	return success_;
+}
+

+ 95 - 0
iot/src/model/CheckBindLicenseDeviceProgressRequest.cc

@@ -0,0 +1,95 @@
+/*
+ * 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/CheckBindLicenseDeviceProgressRequest.h>
+
+using AlibabaCloud::Iot::Model::CheckBindLicenseDeviceProgressRequest;
+
+CheckBindLicenseDeviceProgressRequest::CheckBindLicenseDeviceProgressRequest() :
+	RpcServiceRequest("iot", "2018-01-20", "CheckBindLicenseDeviceProgress")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+CheckBindLicenseDeviceProgressRequest::~CheckBindLicenseDeviceProgressRequest()
+{}
+
+std::string CheckBindLicenseDeviceProgressRequest::getCheckProgressId()const
+{
+	return checkProgressId_;
+}
+
+void CheckBindLicenseDeviceProgressRequest::setCheckProgressId(const std::string& checkProgressId)
+{
+	checkProgressId_ = checkProgressId;
+	setParameter("CheckProgressId", checkProgressId);
+}
+
+std::string CheckBindLicenseDeviceProgressRequest::getIotInstanceId()const
+{
+	return iotInstanceId_;
+}
+
+void CheckBindLicenseDeviceProgressRequest::setIotInstanceId(const std::string& iotInstanceId)
+{
+	iotInstanceId_ = iotInstanceId;
+	setParameter("IotInstanceId", iotInstanceId);
+}
+
+std::string CheckBindLicenseDeviceProgressRequest::getProductKey()const
+{
+	return productKey_;
+}
+
+void CheckBindLicenseDeviceProgressRequest::setProductKey(const std::string& productKey)
+{
+	productKey_ = productKey;
+	setParameter("ProductKey", productKey);
+}
+
+std::string CheckBindLicenseDeviceProgressRequest::getApiProduct()const
+{
+	return apiProduct_;
+}
+
+void CheckBindLicenseDeviceProgressRequest::setApiProduct(const std::string& apiProduct)
+{
+	apiProduct_ = apiProduct;
+	setBodyParameter("ApiProduct", apiProduct);
+}
+
+std::string CheckBindLicenseDeviceProgressRequest::getApiRevision()const
+{
+	return apiRevision_;
+}
+
+void CheckBindLicenseDeviceProgressRequest::setApiRevision(const std::string& apiRevision)
+{
+	apiRevision_ = apiRevision;
+	setBodyParameter("ApiRevision", apiRevision);
+}
+
+std::string CheckBindLicenseDeviceProgressRequest::getLicenseCode()const
+{
+	return licenseCode_;
+}
+
+void CheckBindLicenseDeviceProgressRequest::setLicenseCode(const std::string& licenseCode)
+{
+	licenseCode_ = licenseCode;
+	setParameter("LicenseCode", licenseCode);
+}
+

+ 79 - 0
iot/src/model/CheckBindLicenseDeviceProgressResult.cc

@@ -0,0 +1,79 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/iot/model/CheckBindLicenseDeviceProgressResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Iot;
+using namespace AlibabaCloud::Iot::Model;
+
+CheckBindLicenseDeviceProgressResult::CheckBindLicenseDeviceProgressResult() :
+	ServiceResult()
+{}
+
+CheckBindLicenseDeviceProgressResult::CheckBindLicenseDeviceProgressResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+CheckBindLicenseDeviceProgressResult::~CheckBindLicenseDeviceProgressResult()
+{}
+
+void CheckBindLicenseDeviceProgressResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto dataNode = value["Data"];
+	if(!dataNode["SuccessSum"].isNull())
+		data_.successSum = std::stol(dataNode["SuccessSum"].asString());
+	if(!dataNode["FailSum"].isNull())
+		data_.failSum = std::stol(dataNode["FailSum"].asString());
+	if(!dataNode["ResultCsvFile"].isNull())
+		data_.resultCsvFile = dataNode["ResultCsvFile"].asString();
+	if(!dataNode["Progress"].isNull())
+		data_.progress = std::stoi(dataNode["Progress"].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();
+
+}
+
+CheckBindLicenseDeviceProgressResult::Data CheckBindLicenseDeviceProgressResult::getData()const
+{
+	return data_;
+}
+
+std::string CheckBindLicenseDeviceProgressResult::getErrorMessage()const
+{
+	return errorMessage_;
+}
+
+std::string CheckBindLicenseDeviceProgressResult::getCode()const
+{
+	return code_;
+}
+
+bool CheckBindLicenseDeviceProgressResult::getSuccess()const
+{
+	return success_;
+}
+

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

@@ -71,6 +71,17 @@ void CreateSoundCodeRequest::setApiProduct(const std::string& apiProduct)
 	setBodyParameter("ApiProduct", apiProduct);
 }
 
+std::string CreateSoundCodeRequest::getName()const
+{
+	return name_;
+}
+
+void CreateSoundCodeRequest::setName(const std::string& name)
+{
+	name_ = name;
+	setBodyParameter("Name", name);
+}
+
 std::string CreateSoundCodeRequest::getApiRevision()const
 {
 	return apiRevision_;
@@ -82,3 +93,14 @@ void CreateSoundCodeRequest::setApiRevision(const std::string& apiRevision)
 	setBodyParameter("ApiRevision", apiRevision);
 }
 
+std::string CreateSoundCodeRequest::getOpenType()const
+{
+	return openType_;
+}
+
+void CreateSoundCodeRequest::setOpenType(const std::string& openType)
+{
+	openType_ = openType;
+	setBodyParameter("OpenType", openType);
+}
+

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

@@ -104,3 +104,14 @@ void CreateSoundCodeScheduleRequest::setApiRevision(const std::string& apiRevisi
 	setBodyParameter("ApiRevision", apiRevision);
 }
 
+std::string CreateSoundCodeScheduleRequest::getOpenType()const
+{
+	return openType_;
+}
+
+void CreateSoundCodeScheduleRequest::setOpenType(const std::string& openType)
+{
+	openType_ = openType;
+	setBodyParameter("OpenType", openType);
+}
+

+ 2 - 0
iot/src/model/GetSoundCodeScheduleResult.cc

@@ -58,6 +58,8 @@ void GetSoundCodeScheduleResult::parse(const std::string &payload)
 		data_.startDate = dataNode["StartDate"].asString();
 	if(!dataNode["EndDate"].isNull())
 		data_.endDate = dataNode["EndDate"].asString();
+	if(!dataNode["OpenType"].isNull())
+		data_.openType = dataNode["OpenType"].asString();
 	if(!value["Success"].isNull())
 		success_ = value["Success"].asString() == "true";
 	if(!value["Code"].isNull())

+ 128 - 0
iot/src/model/ImportDeviceRequest.cc

@@ -0,0 +1,128 @@
+/*
+ * 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/ImportDeviceRequest.h>
+
+using AlibabaCloud::Iot::Model::ImportDeviceRequest;
+
+ImportDeviceRequest::ImportDeviceRequest() :
+	RpcServiceRequest("iot", "2018-01-20", "ImportDevice")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+ImportDeviceRequest::~ImportDeviceRequest()
+{}
+
+std::string ImportDeviceRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void ImportDeviceRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+
+std::string ImportDeviceRequest::getIotInstanceId()const
+{
+	return iotInstanceId_;
+}
+
+void ImportDeviceRequest::setIotInstanceId(const std::string& iotInstanceId)
+{
+	iotInstanceId_ = iotInstanceId;
+	setParameter("IotInstanceId", iotInstanceId);
+}
+
+std::string ImportDeviceRequest::getNickname()const
+{
+	return nickname_;
+}
+
+void ImportDeviceRequest::setNickname(const std::string& nickname)
+{
+	nickname_ = nickname;
+	setParameter("Nickname", nickname);
+}
+
+std::string ImportDeviceRequest::getSn()const
+{
+	return sn_;
+}
+
+void ImportDeviceRequest::setSn(const std::string& sn)
+{
+	sn_ = sn;
+	setParameter("Sn", sn);
+}
+
+std::string ImportDeviceRequest::getDeviceSecret()const
+{
+	return deviceSecret_;
+}
+
+void ImportDeviceRequest::setDeviceSecret(const std::string& deviceSecret)
+{
+	deviceSecret_ = deviceSecret;
+	setParameter("DeviceSecret", deviceSecret);
+}
+
+std::string ImportDeviceRequest::getProductKey()const
+{
+	return productKey_;
+}
+
+void ImportDeviceRequest::setProductKey(const std::string& productKey)
+{
+	productKey_ = productKey;
+	setParameter("ProductKey", productKey);
+}
+
+std::string ImportDeviceRequest::getApiProduct()const
+{
+	return apiProduct_;
+}
+
+void ImportDeviceRequest::setApiProduct(const std::string& apiProduct)
+{
+	apiProduct_ = apiProduct;
+	setBodyParameter("ApiProduct", apiProduct);
+}
+
+std::string ImportDeviceRequest::getApiRevision()const
+{
+	return apiRevision_;
+}
+
+void ImportDeviceRequest::setApiRevision(const std::string& apiRevision)
+{
+	apiRevision_ = apiRevision;
+	setBodyParameter("ApiRevision", apiRevision);
+}
+
+std::string ImportDeviceRequest::getDeviceName()const
+{
+	return deviceName_;
+}
+
+void ImportDeviceRequest::setDeviceName(const std::string& deviceName)
+{
+	deviceName_ = deviceName;
+	setParameter("DeviceName", deviceName);
+}
+

+ 83 - 0
iot/src/model/ImportDeviceResult.cc

@@ -0,0 +1,83 @@
+/*
+ * 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/ImportDeviceResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Iot;
+using namespace AlibabaCloud::Iot::Model;
+
+ImportDeviceResult::ImportDeviceResult() :
+	ServiceResult()
+{}
+
+ImportDeviceResult::ImportDeviceResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ImportDeviceResult::~ImportDeviceResult()
+{}
+
+void ImportDeviceResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto dataNode = value["Data"];
+	if(!dataNode["IotId"].isNull())
+		data_.iotId = dataNode["IotId"].asString();
+	if(!dataNode["ProductKey"].isNull())
+		data_.productKey = dataNode["ProductKey"].asString();
+	if(!dataNode["DeviceName"].isNull())
+		data_.deviceName = dataNode["DeviceName"].asString();
+	if(!dataNode["DeviceSecret"].isNull())
+		data_.deviceSecret = dataNode["DeviceSecret"].asString();
+	if(!dataNode["Sn"].isNull())
+		data_.sn = dataNode["Sn"].asString();
+	if(!dataNode["Nickname"].isNull())
+		data_.nickname = dataNode["Nickname"].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();
+
+}
+
+ImportDeviceResult::Data ImportDeviceResult::getData()const
+{
+	return data_;
+}
+
+std::string ImportDeviceResult::getErrorMessage()const
+{
+	return errorMessage_;
+}
+
+std::string ImportDeviceResult::getCode()const
+{
+	return code_;
+}
+
+bool ImportDeviceResult::getSuccess()const
+{
+	return success_;
+}
+

+ 12 - 1
iot/src/model/PubRequest.cc

@@ -51,7 +51,7 @@ std::string PubRequest::getMessageContent()const
 void PubRequest::setMessageContent(const std::string& messageContent)
 {
 	messageContent_ = messageContent;
-	setParameter("MessageContent", messageContent);
+	setBodyParameter("MessageContent", messageContent);
 }
 
 std::string PubRequest::getAccessKeyId()const
@@ -153,3 +153,14 @@ void PubRequest::setApiRevision(const std::string& apiRevision)
 	setBodyParameter("ApiRevision", apiRevision);
 }
 
+std::string PubRequest::getDeviceName()const
+{
+	return deviceName_;
+}
+
+void PubRequest::setDeviceName(const std::string& deviceName)
+{
+	deviceName_ = deviceName;
+	setParameter("DeviceName", deviceName);
+}
+

+ 106 - 0
iot/src/model/QueryImportedDeviceByApplyIdRequest.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/QueryImportedDeviceByApplyIdRequest.h>
+
+using AlibabaCloud::Iot::Model::QueryImportedDeviceByApplyIdRequest;
+
+QueryImportedDeviceByApplyIdRequest::QueryImportedDeviceByApplyIdRequest() :
+	RpcServiceRequest("iot", "2018-01-20", "QueryImportedDeviceByApplyId")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+QueryImportedDeviceByApplyIdRequest::~QueryImportedDeviceByApplyIdRequest()
+{}
+
+std::string QueryImportedDeviceByApplyIdRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void QueryImportedDeviceByApplyIdRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+
+std::string QueryImportedDeviceByApplyIdRequest::getIotInstanceId()const
+{
+	return iotInstanceId_;
+}
+
+void QueryImportedDeviceByApplyIdRequest::setIotInstanceId(const std::string& iotInstanceId)
+{
+	iotInstanceId_ = iotInstanceId;
+	setParameter("IotInstanceId", iotInstanceId);
+}
+
+int QueryImportedDeviceByApplyIdRequest::getPageSize()const
+{
+	return pageSize_;
+}
+
+void QueryImportedDeviceByApplyIdRequest::setPageSize(int pageSize)
+{
+	pageSize_ = pageSize;
+	setParameter("PageSize", std::to_string(pageSize));
+}
+
+long QueryImportedDeviceByApplyIdRequest::getApplyId()const
+{
+	return applyId_;
+}
+
+void QueryImportedDeviceByApplyIdRequest::setApplyId(long applyId)
+{
+	applyId_ = applyId;
+	setParameter("ApplyId", std::to_string(applyId));
+}
+
+int QueryImportedDeviceByApplyIdRequest::getPageNo()const
+{
+	return pageNo_;
+}
+
+void QueryImportedDeviceByApplyIdRequest::setPageNo(int pageNo)
+{
+	pageNo_ = pageNo;
+	setParameter("PageNo", std::to_string(pageNo));
+}
+
+std::string QueryImportedDeviceByApplyIdRequest::getApiProduct()const
+{
+	return apiProduct_;
+}
+
+void QueryImportedDeviceByApplyIdRequest::setApiProduct(const std::string& apiProduct)
+{
+	apiProduct_ = apiProduct;
+	setBodyParameter("ApiProduct", apiProduct);
+}
+
+std::string QueryImportedDeviceByApplyIdRequest::getApiRevision()const
+{
+	return apiRevision_;
+}
+
+void QueryImportedDeviceByApplyIdRequest::setApiRevision(const std::string& apiRevision)
+{
+	apiRevision_ = apiRevision;
+	setBodyParameter("ApiRevision", apiRevision);
+}
+

+ 112 - 0
iot/src/model/QueryImportedDeviceByApplyIdResult.cc

@@ -0,0 +1,112 @@
+/*
+ * 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/QueryImportedDeviceByApplyIdResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Iot;
+using namespace AlibabaCloud::Iot::Model;
+
+QueryImportedDeviceByApplyIdResult::QueryImportedDeviceByApplyIdResult() :
+	ServiceResult()
+{}
+
+QueryImportedDeviceByApplyIdResult::QueryImportedDeviceByApplyIdResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+QueryImportedDeviceByApplyIdResult::~QueryImportedDeviceByApplyIdResult()
+{}
+
+void QueryImportedDeviceByApplyIdResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allDeviceListNode = value["DeviceList"]["device"];
+	for (auto valueDeviceListdevice : allDeviceListNode)
+	{
+		Device deviceListObject;
+		if(!valueDeviceListdevice["ProductKey"].isNull())
+			deviceListObject.productKey = valueDeviceListdevice["ProductKey"].asString();
+		if(!valueDeviceListdevice["DeviceName"].isNull())
+			deviceListObject.deviceName = valueDeviceListdevice["DeviceName"].asString();
+		if(!valueDeviceListdevice["DeviceSecret"].isNull())
+			deviceListObject.deviceSecret = valueDeviceListdevice["DeviceSecret"].asString();
+		if(!valueDeviceListdevice["Sn"].isNull())
+			deviceListObject.sn = valueDeviceListdevice["Sn"].asString();
+		deviceList_.push_back(deviceListObject);
+	}
+	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();
+	if(!value["PageNo"].isNull())
+		pageNo_ = std::stoi(value["PageNo"].asString());
+	if(!value["PageSize"].isNull())
+		pageSize_ = std::stoi(value["PageSize"].asString());
+	if(!value["TotalPage"].isNull())
+		totalPage_ = std::stoi(value["TotalPage"].asString());
+	if(!value["ProductKey"].isNull())
+		productKey_ = value["ProductKey"].asString();
+
+}
+
+int QueryImportedDeviceByApplyIdResult::getPageSize()const
+{
+	return pageSize_;
+}
+
+int QueryImportedDeviceByApplyIdResult::getTotalPage()const
+{
+	return totalPage_;
+}
+
+std::vector<QueryImportedDeviceByApplyIdResult::Device> QueryImportedDeviceByApplyIdResult::getDeviceList()const
+{
+	return deviceList_;
+}
+
+int QueryImportedDeviceByApplyIdResult::getPageNo()const
+{
+	return pageNo_;
+}
+
+std::string QueryImportedDeviceByApplyIdResult::getErrorMessage()const
+{
+	return errorMessage_;
+}
+
+std::string QueryImportedDeviceByApplyIdResult::getCode()const
+{
+	return code_;
+}
+
+bool QueryImportedDeviceByApplyIdResult::getSuccess()const
+{
+	return success_;
+}
+
+std::string QueryImportedDeviceByApplyIdResult::getProductKey()const
+{
+	return productKey_;
+}
+

+ 139 - 0
iot/src/model/QueryLicenseDeviceListRequest.cc

@@ -0,0 +1,139 @@
+/*
+ * 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/QueryLicenseDeviceListRequest.h>
+
+using AlibabaCloud::Iot::Model::QueryLicenseDeviceListRequest;
+
+QueryLicenseDeviceListRequest::QueryLicenseDeviceListRequest() :
+	RpcServiceRequest("iot", "2018-01-20", "QueryLicenseDeviceList")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+QueryLicenseDeviceListRequest::~QueryLicenseDeviceListRequest()
+{}
+
+long QueryLicenseDeviceListRequest::getStartTime()const
+{
+	return startTime_;
+}
+
+void QueryLicenseDeviceListRequest::setStartTime(long startTime)
+{
+	startTime_ = startTime;
+	setParameter("StartTime", std::to_string(startTime));
+}
+
+int QueryLicenseDeviceListRequest::getPageId()const
+{
+	return pageId_;
+}
+
+void QueryLicenseDeviceListRequest::setPageId(int pageId)
+{
+	pageId_ = pageId;
+	setParameter("PageId", std::to_string(pageId));
+}
+
+std::string QueryLicenseDeviceListRequest::getIotId()const
+{
+	return iotId_;
+}
+
+void QueryLicenseDeviceListRequest::setIotId(const std::string& iotId)
+{
+	iotId_ = iotId;
+	setParameter("IotId", iotId);
+}
+
+std::string QueryLicenseDeviceListRequest::getIotInstanceId()const
+{
+	return iotInstanceId_;
+}
+
+void QueryLicenseDeviceListRequest::setIotInstanceId(const std::string& iotInstanceId)
+{
+	iotInstanceId_ = iotInstanceId;
+	setParameter("IotInstanceId", iotInstanceId);
+}
+
+int QueryLicenseDeviceListRequest::getPageSize()const
+{
+	return pageSize_;
+}
+
+void QueryLicenseDeviceListRequest::setPageSize(int pageSize)
+{
+	pageSize_ = pageSize;
+	setParameter("PageSize", std::to_string(pageSize));
+}
+
+long QueryLicenseDeviceListRequest::getEndTime()const
+{
+	return endTime_;
+}
+
+void QueryLicenseDeviceListRequest::setEndTime(long endTime)
+{
+	endTime_ = endTime;
+	setParameter("EndTime", std::to_string(endTime));
+}
+
+std::string QueryLicenseDeviceListRequest::getProductKey()const
+{
+	return productKey_;
+}
+
+void QueryLicenseDeviceListRequest::setProductKey(const std::string& productKey)
+{
+	productKey_ = productKey;
+	setParameter("ProductKey", productKey);
+}
+
+std::string QueryLicenseDeviceListRequest::getApiProduct()const
+{
+	return apiProduct_;
+}
+
+void QueryLicenseDeviceListRequest::setApiProduct(const std::string& apiProduct)
+{
+	apiProduct_ = apiProduct;
+	setBodyParameter("ApiProduct", apiProduct);
+}
+
+std::string QueryLicenseDeviceListRequest::getApiRevision()const
+{
+	return apiRevision_;
+}
+
+void QueryLicenseDeviceListRequest::setApiRevision(const std::string& apiRevision)
+{
+	apiRevision_ = apiRevision;
+	setBodyParameter("ApiRevision", apiRevision);
+}
+
+std::string QueryLicenseDeviceListRequest::getLicenseCode()const
+{
+	return licenseCode_;
+}
+
+void QueryLicenseDeviceListRequest::setLicenseCode(const std::string& licenseCode)
+{
+	licenseCode_ = licenseCode;
+	setParameter("LicenseCode", licenseCode);
+}
+

+ 97 - 0
iot/src/model/QueryLicenseDeviceListResult.cc

@@ -0,0 +1,97 @@
+/*
+ * 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/QueryLicenseDeviceListResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Iot;
+using namespace AlibabaCloud::Iot::Model;
+
+QueryLicenseDeviceListResult::QueryLicenseDeviceListResult() :
+	ServiceResult()
+{}
+
+QueryLicenseDeviceListResult::QueryLicenseDeviceListResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+QueryLicenseDeviceListResult::~QueryLicenseDeviceListResult()
+{}
+
+void QueryLicenseDeviceListResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto dataNode = value["Data"];
+	if(!dataNode["PageSize"].isNull())
+		data_.pageSize = std::stoi(dataNode["PageSize"].asString());
+	if(!dataNode["PageId"].isNull())
+		data_.pageId = std::stoi(dataNode["PageId"].asString());
+	if(!dataNode["Total"].isNull())
+		data_.total = std::stoi(dataNode["Total"].asString());
+	auto allDeviceListNode = dataNode["DeviceList"]["item"];
+	for (auto dataNodeDeviceListitem : allDeviceListNode)
+	{
+		Data::Item itemObject;
+		if(!dataNodeDeviceListitem["ProductName"].isNull())
+			itemObject.productName = dataNodeDeviceListitem["ProductName"].asString();
+		if(!dataNodeDeviceListitem["LicenseCode"].isNull())
+			itemObject.licenseCode = dataNodeDeviceListitem["LicenseCode"].asString();
+		if(!dataNodeDeviceListitem["ProductKey"].isNull())
+			itemObject.productKey = dataNodeDeviceListitem["ProductKey"].asString();
+		if(!dataNodeDeviceListitem["DeviceName"].isNull())
+			itemObject.deviceName = dataNodeDeviceListitem["DeviceName"].asString();
+		if(!dataNodeDeviceListitem["ExpiryTime"].isNull())
+			itemObject.expiryTime = std::stol(dataNodeDeviceListitem["ExpiryTime"].asString());
+		if(!dataNodeDeviceListitem["GmtCreate"].isNull())
+			itemObject.gmtCreate = std::stol(dataNodeDeviceListitem["GmtCreate"].asString());
+		if(!dataNodeDeviceListitem["IotId"].isNull())
+			itemObject.iotId = dataNodeDeviceListitem["IotId"].asString();
+		data_.deviceList.push_back(itemObject);
+	}
+	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();
+
+}
+
+QueryLicenseDeviceListResult::Data QueryLicenseDeviceListResult::getData()const
+{
+	return data_;
+}
+
+std::string QueryLicenseDeviceListResult::getErrorMessage()const
+{
+	return errorMessage_;
+}
+
+std::string QueryLicenseDeviceListResult::getCode()const
+{
+	return code_;
+}
+
+bool QueryLicenseDeviceListResult::getSuccess()const
+{
+	return success_;
+}
+

+ 4 - 0
iot/src/model/QuerySoundCodeListResult.cc

@@ -58,6 +58,10 @@ void QuerySoundCodeListResult::parse(const std::string &payload)
 			itemsObject.duration = std::stoi(dataNodeListItems["Duration"].asString());
 		if(!dataNodeListItems["GmtCreate"].isNull())
 			itemsObject.gmtCreate = std::stol(dataNodeListItems["GmtCreate"].asString());
+		if(!dataNodeListItems["OpenType"].isNull())
+			itemsObject.openType = dataNodeListItems["OpenType"].asString();
+		if(!dataNodeListItems["Name"].isNull())
+			itemsObject.name = dataNodeListItems["Name"].asString();
 		data_.list.push_back(itemsObject);
 	}
 	if(!value["Success"].isNull())

+ 2 - 0
iot/src/model/QuerySoundCodeScheduleListResult.cc

@@ -68,6 +68,8 @@ void QuerySoundCodeScheduleListResult::parse(const std::string &payload)
 			itemsObject.startDate = dataNodeListItems["StartDate"].asString();
 		if(!dataNodeListItems["EndDate"].isNull())
 			itemsObject.endDate = dataNodeListItems["EndDate"].asString();
+		if(!dataNodeListItems["OpenType"].isNull())
+			itemsObject.openType = dataNodeListItems["OpenType"].asString();
 		data_.list.push_back(itemsObject);
 	}
 	if(!value["Success"].isNull())

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

@@ -27,6 +27,28 @@ ResetThingRequest::ResetThingRequest() :
 ResetThingRequest::~ResetThingRequest()
 {}
 
+std::string ResetThingRequest::getRealTenantId()const
+{
+	return realTenantId_;
+}
+
+void ResetThingRequest::setRealTenantId(const std::string& realTenantId)
+{
+	realTenantId_ = realTenantId;
+	setParameter("RealTenantId", realTenantId);
+}
+
+std::string ResetThingRequest::getRealTripartiteKey()const
+{
+	return realTripartiteKey_;
+}
+
+void ResetThingRequest::setRealTripartiteKey(const std::string& realTripartiteKey)
+{
+	realTripartiteKey_ = realTripartiteKey;
+	setParameter("RealTripartiteKey", realTripartiteKey);
+}
+
 std::string ResetThingRequest::getIotId()const
 {
 	return iotId_;

+ 7 - 0
iot/src/model/ResetThingResult.cc

@@ -45,6 +45,8 @@ void ResetThingResult::parse(const std::string &payload)
 		code_ = value["Code"].asString();
 	if(!value["ErrorMessage"].isNull())
 		errorMessage_ = value["ErrorMessage"].asString();
+	if(!value["JobId"].isNull())
+		jobId_ = value["JobId"].asString();
 
 }
 
@@ -63,3 +65,8 @@ bool ResetThingResult::getSuccess()const
 	return success_;
 }
 
+std::string ResetThingResult::getJobId()const
+{
+	return jobId_;
+}
+

+ 84 - 0
iot/src/model/UnbindLicenseProductRequest.cc

@@ -0,0 +1,84 @@
+/*
+ * 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/UnbindLicenseProductRequest.h>
+
+using AlibabaCloud::Iot::Model::UnbindLicenseProductRequest;
+
+UnbindLicenseProductRequest::UnbindLicenseProductRequest() :
+	RpcServiceRequest("iot", "2018-01-20", "UnbindLicenseProduct")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+UnbindLicenseProductRequest::~UnbindLicenseProductRequest()
+{}
+
+std::string UnbindLicenseProductRequest::getIotInstanceId()const
+{
+	return iotInstanceId_;
+}
+
+void UnbindLicenseProductRequest::setIotInstanceId(const std::string& iotInstanceId)
+{
+	iotInstanceId_ = iotInstanceId;
+	setParameter("IotInstanceId", iotInstanceId);
+}
+
+std::string UnbindLicenseProductRequest::getProductKey()const
+{
+	return productKey_;
+}
+
+void UnbindLicenseProductRequest::setProductKey(const std::string& productKey)
+{
+	productKey_ = productKey;
+	setParameter("ProductKey", productKey);
+}
+
+std::string UnbindLicenseProductRequest::getApiProduct()const
+{
+	return apiProduct_;
+}
+
+void UnbindLicenseProductRequest::setApiProduct(const std::string& apiProduct)
+{
+	apiProduct_ = apiProduct;
+	setBodyParameter("ApiProduct", apiProduct);
+}
+
+std::string UnbindLicenseProductRequest::getApiRevision()const
+{
+	return apiRevision_;
+}
+
+void UnbindLicenseProductRequest::setApiRevision(const std::string& apiRevision)
+{
+	apiRevision_ = apiRevision;
+	setBodyParameter("ApiRevision", apiRevision);
+}
+
+std::string UnbindLicenseProductRequest::getLicenseCode()const
+{
+	return licenseCode_;
+}
+
+void UnbindLicenseProductRequest::setLicenseCode(const std::string& licenseCode)
+{
+	licenseCode_ = licenseCode;
+	setParameter("LicenseCode", licenseCode);
+}
+

+ 72 - 0
iot/src/model/UnbindLicenseProductResult.cc

@@ -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.
+ */
+
+#include <alibabacloud/iot/model/UnbindLicenseProductResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Iot;
+using namespace AlibabaCloud::Iot::Model;
+
+UnbindLicenseProductResult::UnbindLicenseProductResult() :
+	ServiceResult()
+{}
+
+UnbindLicenseProductResult::UnbindLicenseProductResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+UnbindLicenseProductResult::~UnbindLicenseProductResult()
+{}
+
+void UnbindLicenseProductResult::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();
+	if(!value["Data"].isNull())
+		data_ = value["Data"].asString() == "true";
+
+}
+
+bool UnbindLicenseProductResult::getData()const
+{
+	return data_;
+}
+
+std::string UnbindLicenseProductResult::getErrorMessage()const
+{
+	return errorMessage_;
+}
+
+std::string UnbindLicenseProductResult::getCode()const
+{
+	return code_;
+}
+
+bool UnbindLicenseProductResult::getSuccess()const
+{
+	return success_;
+}
+

+ 106 - 0
iot/src/model/UpdateSoundCodeRequest.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/UpdateSoundCodeRequest.h>
+
+using AlibabaCloud::Iot::Model::UpdateSoundCodeRequest;
+
+UpdateSoundCodeRequest::UpdateSoundCodeRequest() :
+	RpcServiceRequest("iot", "2018-01-20", "UpdateSoundCode")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+UpdateSoundCodeRequest::~UpdateSoundCodeRequest()
+{}
+
+std::string UpdateSoundCodeRequest::getSoundCode()const
+{
+	return soundCode_;
+}
+
+void UpdateSoundCodeRequest::setSoundCode(const std::string& soundCode)
+{
+	soundCode_ = soundCode;
+	setBodyParameter("SoundCode", soundCode);
+}
+
+int UpdateSoundCodeRequest::getDuration()const
+{
+	return duration_;
+}
+
+void UpdateSoundCodeRequest::setDuration(int duration)
+{
+	duration_ = duration;
+	setBodyParameter("Duration", std::to_string(duration));
+}
+
+std::string UpdateSoundCodeRequest::getIotInstanceId()const
+{
+	return iotInstanceId_;
+}
+
+void UpdateSoundCodeRequest::setIotInstanceId(const std::string& iotInstanceId)
+{
+	iotInstanceId_ = iotInstanceId;
+	setBodyParameter("IotInstanceId", iotInstanceId);
+}
+
+std::string UpdateSoundCodeRequest::getSoundCodeContent()const
+{
+	return soundCodeContent_;
+}
+
+void UpdateSoundCodeRequest::setSoundCodeContent(const std::string& soundCodeContent)
+{
+	soundCodeContent_ = soundCodeContent;
+	setBodyParameter("SoundCodeContent", soundCodeContent);
+}
+
+std::string UpdateSoundCodeRequest::getApiProduct()const
+{
+	return apiProduct_;
+}
+
+void UpdateSoundCodeRequest::setApiProduct(const std::string& apiProduct)
+{
+	apiProduct_ = apiProduct;
+	setBodyParameter("ApiProduct", apiProduct);
+}
+
+std::string UpdateSoundCodeRequest::getName()const
+{
+	return name_;
+}
+
+void UpdateSoundCodeRequest::setName(const std::string& name)
+{
+	name_ = name;
+	setBodyParameter("Name", name);
+}
+
+std::string UpdateSoundCodeRequest::getApiRevision()const
+{
+	return apiRevision_;
+}
+
+void UpdateSoundCodeRequest::setApiRevision(const std::string& apiRevision)
+{
+	apiRevision_ = apiRevision;
+	setBodyParameter("ApiRevision", apiRevision);
+}
+

+ 65 - 0
iot/src/model/UpdateSoundCodeResult.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/UpdateSoundCodeResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Iot;
+using namespace AlibabaCloud::Iot::Model;
+
+UpdateSoundCodeResult::UpdateSoundCodeResult() :
+	ServiceResult()
+{}
+
+UpdateSoundCodeResult::UpdateSoundCodeResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+UpdateSoundCodeResult::~UpdateSoundCodeResult()
+{}
+
+void UpdateSoundCodeResult::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 UpdateSoundCodeResult::getErrorMessage()const
+{
+	return errorMessage_;
+}
+
+std::string UpdateSoundCodeResult::getCode()const
+{
+	return code_;
+}
+
+bool UpdateSoundCodeResult::getSuccess()const
+{
+	return success_;
+}
+