Jelajahi Sumber

Update LinkSpeech API, including SpeechByCombination, SyncSpeechByCombination.

sdk-team 5 tahun lalu
induk
melakukan
455c5afdaa
77 mengubah file dengan 3692 tambahan dan 1 penghapusan
  1. 3 0
      CHANGELOG
  2. 1 1
      VERSION
  3. 40 0
      iot/CMakeLists.txt
  4. 80 0
      iot/include/alibabacloud/iot/IotClient.h
  5. 15 0
      iot/include/alibabacloud/iot/model/CreateOTAFirmwareRequest.h
  6. 9 0
      iot/include/alibabacloud/iot/model/CreateOTAVerifyJobRequest.h
  7. 3 0
      iot/include/alibabacloud/iot/model/CreateSpeechRequest.h
  8. 60 0
      iot/include/alibabacloud/iot/model/DeleteClientIdsRequest.h
  9. 55 0
      iot/include/alibabacloud/iot/model/DeleteClientIdsResult.h
  10. 66 0
      iot/include/alibabacloud/iot/model/DeleteDeviceSpeechRequest.h
  11. 55 0
      iot/include/alibabacloud/iot/model/DeleteDeviceSpeechResult.h
  12. 3 0
      iot/include/alibabacloud/iot/model/DeleteThingModelRequest.h
  13. 6 0
      iot/include/alibabacloud/iot/model/GetGatewayBySubDeviceRequest.h
  14. 57 0
      iot/include/alibabacloud/iot/model/GetSpeechDeviceDetailRequest.h
  15. 67 0
      iot/include/alibabacloud/iot/model/GetSpeechDeviceDetailResult.h
  16. 3 0
      iot/include/alibabacloud/iot/model/GetThingModelTslRequest.h
  17. 6 0
      iot/include/alibabacloud/iot/model/ListThingModelVersionRequest.h
  18. 60 0
      iot/include/alibabacloud/iot/model/QueryClientIdsRequest.h
  19. 67 0
      iot/include/alibabacloud/iot/model/QueryClientIdsResult.h
  20. 63 0
      iot/include/alibabacloud/iot/model/QueryDeviceSpeechRequest.h
  21. 70 0
      iot/include/alibabacloud/iot/model/QueryDeviceSpeechResult.h
  22. 1 0
      iot/include/alibabacloud/iot/model/QueryEdgeDriverResult.h
  23. 60 0
      iot/include/alibabacloud/iot/model/QueryMessageInfoRequest.h
  24. 70 0
      iot/include/alibabacloud/iot/model/QueryMessageInfoResult.h
  25. 10 0
      iot/include/alibabacloud/iot/model/QueryOTAFirmwareResult.h
  26. 72 0
      iot/include/alibabacloud/iot/model/QuerySpeechDeviceRequest.h
  27. 71 0
      iot/include/alibabacloud/iot/model/QuerySpeechDeviceResult.h
  28. 3 0
      iot/include/alibabacloud/iot/model/QuerySpeechListRequest.h
  29. 1 0
      iot/include/alibabacloud/iot/model/QuerySpeechListResult.h
  30. 3 0
      iot/include/alibabacloud/iot/model/QueryThingModelRequest.h
  31. 57 0
      iot/include/alibabacloud/iot/model/RerunJobRequest.h
  32. 55 0
      iot/include/alibabacloud/iot/model/RerunJobResult.h
  33. 6 0
      iot/include/alibabacloud/iot/model/SpeechByCombinationRequest.h
  34. 63 0
      iot/include/alibabacloud/iot/model/SubscribeTopicRequest.h
  35. 55 0
      iot/include/alibabacloud/iot/model/SubscribeTopicResult.h
  36. 6 0
      iot/include/alibabacloud/iot/model/SyncSpeechByCombinationRequest.h
  37. 1 0
      iot/include/alibabacloud/iot/model/SyncSpeechByCombinationResult.h
  38. 3 0
      iot/include/alibabacloud/iot/model/TestSpeechRequest.h
  39. 63 0
      iot/include/alibabacloud/iot/model/TransformClientIdRequest.h
  40. 55 0
      iot/include/alibabacloud/iot/model/TransformClientIdResult.h
  41. 360 0
      iot/src/IotClient.cc
  42. 30 0
      iot/src/model/CreateOTAFirmwareRequest.cc
  43. 16 0
      iot/src/model/CreateOTAVerifyJobRequest.cc
  44. 11 0
      iot/src/model/CreateSpeechRequest.cc
  45. 84 0
      iot/src/model/DeleteClientIdsRequest.cc
  46. 65 0
      iot/src/model/DeleteClientIdsResult.cc
  47. 89 0
      iot/src/model/DeleteDeviceSpeechRequest.cc
  48. 65 0
      iot/src/model/DeleteDeviceSpeechResult.cc
  49. 11 0
      iot/src/model/DeleteThingModelRequest.cc
  50. 22 0
      iot/src/model/GetGatewayBySubDeviceRequest.cc
  51. 73 0
      iot/src/model/GetSpeechDeviceDetailRequest.cc
  52. 85 0
      iot/src/model/GetSpeechDeviceDetailResult.cc
  53. 11 0
      iot/src/model/GetThingModelTslRequest.cc
  54. 22 0
      iot/src/model/ListThingModelVersionRequest.cc
  55. 84 0
      iot/src/model/QueryClientIdsRequest.cc
  56. 83 0
      iot/src/model/QueryClientIdsResult.cc
  57. 95 0
      iot/src/model/QueryDeviceSpeechRequest.cc
  58. 89 0
      iot/src/model/QueryDeviceSpeechResult.cc
  59. 2 0
      iot/src/model/QueryEdgeDriverResult.cc
  60. 84 0
      iot/src/model/QueryMessageInfoRequest.cc
  61. 89 0
      iot/src/model/QueryMessageInfoResult.cc
  62. 18 0
      iot/src/model/QueryOTAFirmwareResult.cc
  63. 128 0
      iot/src/model/QuerySpeechDeviceRequest.cc
  64. 91 0
      iot/src/model/QuerySpeechDeviceResult.cc
  65. 11 0
      iot/src/model/QuerySpeechListRequest.cc
  66. 2 0
      iot/src/model/QuerySpeechListResult.cc
  67. 11 0
      iot/src/model/QueryThingModelRequest.cc
  68. 73 0
      iot/src/model/RerunJobRequest.cc
  69. 65 0
      iot/src/model/RerunJobResult.cc
  70. 22 0
      iot/src/model/SpeechByCombinationRequest.cc
  71. 97 0
      iot/src/model/SubscribeTopicRequest.cc
  72. 65 0
      iot/src/model/SubscribeTopicResult.cc
  73. 22 0
      iot/src/model/SyncSpeechByCombinationRequest.cc
  74. 2 0
      iot/src/model/SyncSpeechByCombinationResult.cc
  75. 11 0
      iot/src/model/TestSpeechRequest.cc
  76. 95 0
      iot/src/model/TransformClientIdRequest.cc
  77. 65 0
      iot/src/model/TransformClientIdResult.cc

+ 3 - 0
CHANGELOG

@@ -1,3 +1,6 @@
+2021-09-06 Version: 1.36.868
+- Update LinkSpeech API, including SpeechByCombination, SyncSpeechByCombination.
+
 2021-09-01 Version: 1.36.867
 - SubmitURLUploadJob, support S3 Storage.
 

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.867
+1.36.868

+ 40 - 0
iot/CMakeLists.txt

@@ -169,6 +169,8 @@ set(iot_public_header_model
 	include/alibabacloud/iot/model/CreateThingScriptResult.h
 	include/alibabacloud/iot/model/CreateTopicRouteTableRequest.h
 	include/alibabacloud/iot/model/CreateTopicRouteTableResult.h
+	include/alibabacloud/iot/model/DeleteClientIdsRequest.h
+	include/alibabacloud/iot/model/DeleteClientIdsResult.h
 	include/alibabacloud/iot/model/DeleteConsumerGroupRequest.h
 	include/alibabacloud/iot/model/DeleteConsumerGroupResult.h
 	include/alibabacloud/iot/model/DeleteConsumerGroupSubscribeRelationRequest.h
@@ -183,6 +185,8 @@ set(iot_public_header_model
 	include/alibabacloud/iot/model/DeleteDeviceGroupResult.h
 	include/alibabacloud/iot/model/DeleteDevicePropRequest.h
 	include/alibabacloud/iot/model/DeleteDevicePropResult.h
+	include/alibabacloud/iot/model/DeleteDeviceSpeechRequest.h
+	include/alibabacloud/iot/model/DeleteDeviceSpeechResult.h
 	include/alibabacloud/iot/model/DeleteEdgeDriverRequest.h
 	include/alibabacloud/iot/model/DeleteEdgeDriverResult.h
 	include/alibabacloud/iot/model/DeleteEdgeDriverVersionRequest.h
@@ -271,6 +275,8 @@ set(iot_public_header_model
 	include/alibabacloud/iot/model/GetRuleActionResult.h
 	include/alibabacloud/iot/model/GetSceneRuleRequest.h
 	include/alibabacloud/iot/model/GetSceneRuleResult.h
+	include/alibabacloud/iot/model/GetSpeechDeviceDetailRequest.h
+	include/alibabacloud/iot/model/GetSpeechDeviceDetailResult.h
 	include/alibabacloud/iot/model/GetSpeechVoiceRequest.h
 	include/alibabacloud/iot/model/GetSpeechVoiceResult.h
 	include/alibabacloud/iot/model/GetStudioAppTokenOpenRequest.h
@@ -355,6 +361,8 @@ set(iot_public_header_model
 	include/alibabacloud/iot/model/QueryBatchRegisterDeviceStatusResult.h
 	include/alibabacloud/iot/model/QueryCertUrlByApplyIdRequest.h
 	include/alibabacloud/iot/model/QueryCertUrlByApplyIdResult.h
+	include/alibabacloud/iot/model/QueryClientIdsRequest.h
+	include/alibabacloud/iot/model/QueryClientIdsResult.h
 	include/alibabacloud/iot/model/QueryConsumerGroupByGroupIdRequest.h
 	include/alibabacloud/iot/model/QueryConsumerGroupByGroupIdResult.h
 	include/alibabacloud/iot/model/QueryConsumerGroupListRequest.h
@@ -419,6 +427,8 @@ set(iot_public_header_model
 	include/alibabacloud/iot/model/QueryDevicePropertyStatusResult.h
 	include/alibabacloud/iot/model/QueryDeviceServiceDataRequest.h
 	include/alibabacloud/iot/model/QueryDeviceServiceDataResult.h
+	include/alibabacloud/iot/model/QueryDeviceSpeechRequest.h
+	include/alibabacloud/iot/model/QueryDeviceSpeechResult.h
 	include/alibabacloud/iot/model/QueryDeviceStatisticsRequest.h
 	include/alibabacloud/iot/model/QueryDeviceStatisticsResult.h
 	include/alibabacloud/iot/model/QueryEdgeDriverRequest.h
@@ -449,6 +459,8 @@ set(iot_public_header_model
 	include/alibabacloud/iot/model/QueryJobStatisticsResult.h
 	include/alibabacloud/iot/model/QueryLoRaJoinPermissionsRequest.h
 	include/alibabacloud/iot/model/QueryLoRaJoinPermissionsResult.h
+	include/alibabacloud/iot/model/QueryMessageInfoRequest.h
+	include/alibabacloud/iot/model/QueryMessageInfoResult.h
 	include/alibabacloud/iot/model/QueryOTAFirmwareRequest.h
 	include/alibabacloud/iot/model/QueryOTAFirmwareResult.h
 	include/alibabacloud/iot/model/QueryOTAJobRequest.h
@@ -469,6 +481,8 @@ set(iot_public_header_model
 	include/alibabacloud/iot/model/QuerySolutionDeviceGroupPageResult.h
 	include/alibabacloud/iot/model/QuerySpeechRequest.h
 	include/alibabacloud/iot/model/QuerySpeechResult.h
+	include/alibabacloud/iot/model/QuerySpeechDeviceRequest.h
+	include/alibabacloud/iot/model/QuerySpeechDeviceResult.h
 	include/alibabacloud/iot/model/QuerySpeechListRequest.h
 	include/alibabacloud/iot/model/QuerySpeechListResult.h
 	include/alibabacloud/iot/model/QuerySpeechPushJobRequest.h
@@ -521,6 +535,8 @@ set(iot_public_header_model
 	include/alibabacloud/iot/model/RemoveThingTopoResult.h
 	include/alibabacloud/iot/model/ReplaceEdgeInstanceGatewayRequest.h
 	include/alibabacloud/iot/model/ReplaceEdgeInstanceGatewayResult.h
+	include/alibabacloud/iot/model/RerunJobRequest.h
+	include/alibabacloud/iot/model/RerunJobResult.h
 	include/alibabacloud/iot/model/ResetConsumerGroupPositionRequest.h
 	include/alibabacloud/iot/model/ResetConsumerGroupPositionResult.h
 	include/alibabacloud/iot/model/ResetThingRequest.h
@@ -549,10 +565,14 @@ set(iot_public_header_model
 	include/alibabacloud/iot/model/StartRuleResult.h
 	include/alibabacloud/iot/model/StopRuleRequest.h
 	include/alibabacloud/iot/model/StopRuleResult.h
+	include/alibabacloud/iot/model/SubscribeTopicRequest.h
+	include/alibabacloud/iot/model/SubscribeTopicResult.h
 	include/alibabacloud/iot/model/SyncSpeechByCombinationRequest.h
 	include/alibabacloud/iot/model/SyncSpeechByCombinationResult.h
 	include/alibabacloud/iot/model/TestSpeechRequest.h
 	include/alibabacloud/iot/model/TestSpeechResult.h
+	include/alibabacloud/iot/model/TransformClientIdRequest.h
+	include/alibabacloud/iot/model/TransformClientIdResult.h
 	include/alibabacloud/iot/model/TriggerSceneRuleRequest.h
 	include/alibabacloud/iot/model/TriggerSceneRuleResult.h
 	include/alibabacloud/iot/model/UnbindApplicationFromEdgeInstanceRequest.h
@@ -756,6 +776,8 @@ set(iot_src
 	src/model/CreateThingScriptResult.cc
 	src/model/CreateTopicRouteTableRequest.cc
 	src/model/CreateTopicRouteTableResult.cc
+	src/model/DeleteClientIdsRequest.cc
+	src/model/DeleteClientIdsResult.cc
 	src/model/DeleteConsumerGroupRequest.cc
 	src/model/DeleteConsumerGroupResult.cc
 	src/model/DeleteConsumerGroupSubscribeRelationRequest.cc
@@ -770,6 +792,8 @@ set(iot_src
 	src/model/DeleteDeviceGroupResult.cc
 	src/model/DeleteDevicePropRequest.cc
 	src/model/DeleteDevicePropResult.cc
+	src/model/DeleteDeviceSpeechRequest.cc
+	src/model/DeleteDeviceSpeechResult.cc
 	src/model/DeleteEdgeDriverRequest.cc
 	src/model/DeleteEdgeDriverResult.cc
 	src/model/DeleteEdgeDriverVersionRequest.cc
@@ -858,6 +882,8 @@ set(iot_src
 	src/model/GetRuleActionResult.cc
 	src/model/GetSceneRuleRequest.cc
 	src/model/GetSceneRuleResult.cc
+	src/model/GetSpeechDeviceDetailRequest.cc
+	src/model/GetSpeechDeviceDetailResult.cc
 	src/model/GetSpeechVoiceRequest.cc
 	src/model/GetSpeechVoiceResult.cc
 	src/model/GetStudioAppTokenOpenRequest.cc
@@ -942,6 +968,8 @@ set(iot_src
 	src/model/QueryBatchRegisterDeviceStatusResult.cc
 	src/model/QueryCertUrlByApplyIdRequest.cc
 	src/model/QueryCertUrlByApplyIdResult.cc
+	src/model/QueryClientIdsRequest.cc
+	src/model/QueryClientIdsResult.cc
 	src/model/QueryConsumerGroupByGroupIdRequest.cc
 	src/model/QueryConsumerGroupByGroupIdResult.cc
 	src/model/QueryConsumerGroupListRequest.cc
@@ -1006,6 +1034,8 @@ set(iot_src
 	src/model/QueryDevicePropertyStatusResult.cc
 	src/model/QueryDeviceServiceDataRequest.cc
 	src/model/QueryDeviceServiceDataResult.cc
+	src/model/QueryDeviceSpeechRequest.cc
+	src/model/QueryDeviceSpeechResult.cc
 	src/model/QueryDeviceStatisticsRequest.cc
 	src/model/QueryDeviceStatisticsResult.cc
 	src/model/QueryEdgeDriverRequest.cc
@@ -1036,6 +1066,8 @@ set(iot_src
 	src/model/QueryJobStatisticsResult.cc
 	src/model/QueryLoRaJoinPermissionsRequest.cc
 	src/model/QueryLoRaJoinPermissionsResult.cc
+	src/model/QueryMessageInfoRequest.cc
+	src/model/QueryMessageInfoResult.cc
 	src/model/QueryOTAFirmwareRequest.cc
 	src/model/QueryOTAFirmwareResult.cc
 	src/model/QueryOTAJobRequest.cc
@@ -1056,6 +1088,8 @@ set(iot_src
 	src/model/QuerySolutionDeviceGroupPageResult.cc
 	src/model/QuerySpeechRequest.cc
 	src/model/QuerySpeechResult.cc
+	src/model/QuerySpeechDeviceRequest.cc
+	src/model/QuerySpeechDeviceResult.cc
 	src/model/QuerySpeechListRequest.cc
 	src/model/QuerySpeechListResult.cc
 	src/model/QuerySpeechPushJobRequest.cc
@@ -1108,6 +1142,8 @@ set(iot_src
 	src/model/RemoveThingTopoResult.cc
 	src/model/ReplaceEdgeInstanceGatewayRequest.cc
 	src/model/ReplaceEdgeInstanceGatewayResult.cc
+	src/model/RerunJobRequest.cc
+	src/model/RerunJobResult.cc
 	src/model/ResetConsumerGroupPositionRequest.cc
 	src/model/ResetConsumerGroupPositionResult.cc
 	src/model/ResetThingRequest.cc
@@ -1136,10 +1172,14 @@ set(iot_src
 	src/model/StartRuleResult.cc
 	src/model/StopRuleRequest.cc
 	src/model/StopRuleResult.cc
+	src/model/SubscribeTopicRequest.cc
+	src/model/SubscribeTopicResult.cc
 	src/model/SyncSpeechByCombinationRequest.cc
 	src/model/SyncSpeechByCombinationResult.cc
 	src/model/TestSpeechRequest.cc
 	src/model/TestSpeechResult.cc
+	src/model/TransformClientIdRequest.cc
+	src/model/TransformClientIdResult.cc
 	src/model/TriggerSceneRuleRequest.cc
 	src/model/TriggerSceneRuleResult.cc
 	src/model/UnbindApplicationFromEdgeInstanceRequest.cc

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

@@ -170,6 +170,8 @@
 #include "model/CreateThingScriptResult.h"
 #include "model/CreateTopicRouteTableRequest.h"
 #include "model/CreateTopicRouteTableResult.h"
+#include "model/DeleteClientIdsRequest.h"
+#include "model/DeleteClientIdsResult.h"
 #include "model/DeleteConsumerGroupRequest.h"
 #include "model/DeleteConsumerGroupResult.h"
 #include "model/DeleteConsumerGroupSubscribeRelationRequest.h"
@@ -184,6 +186,8 @@
 #include "model/DeleteDeviceGroupResult.h"
 #include "model/DeleteDevicePropRequest.h"
 #include "model/DeleteDevicePropResult.h"
+#include "model/DeleteDeviceSpeechRequest.h"
+#include "model/DeleteDeviceSpeechResult.h"
 #include "model/DeleteEdgeDriverRequest.h"
 #include "model/DeleteEdgeDriverResult.h"
 #include "model/DeleteEdgeDriverVersionRequest.h"
@@ -272,6 +276,8 @@
 #include "model/GetRuleActionResult.h"
 #include "model/GetSceneRuleRequest.h"
 #include "model/GetSceneRuleResult.h"
+#include "model/GetSpeechDeviceDetailRequest.h"
+#include "model/GetSpeechDeviceDetailResult.h"
 #include "model/GetSpeechVoiceRequest.h"
 #include "model/GetSpeechVoiceResult.h"
 #include "model/GetStudioAppTokenOpenRequest.h"
@@ -356,6 +362,8 @@
 #include "model/QueryBatchRegisterDeviceStatusResult.h"
 #include "model/QueryCertUrlByApplyIdRequest.h"
 #include "model/QueryCertUrlByApplyIdResult.h"
+#include "model/QueryClientIdsRequest.h"
+#include "model/QueryClientIdsResult.h"
 #include "model/QueryConsumerGroupByGroupIdRequest.h"
 #include "model/QueryConsumerGroupByGroupIdResult.h"
 #include "model/QueryConsumerGroupListRequest.h"
@@ -420,6 +428,8 @@
 #include "model/QueryDevicePropertyStatusResult.h"
 #include "model/QueryDeviceServiceDataRequest.h"
 #include "model/QueryDeviceServiceDataResult.h"
+#include "model/QueryDeviceSpeechRequest.h"
+#include "model/QueryDeviceSpeechResult.h"
 #include "model/QueryDeviceStatisticsRequest.h"
 #include "model/QueryDeviceStatisticsResult.h"
 #include "model/QueryEdgeDriverRequest.h"
@@ -450,6 +460,8 @@
 #include "model/QueryJobStatisticsResult.h"
 #include "model/QueryLoRaJoinPermissionsRequest.h"
 #include "model/QueryLoRaJoinPermissionsResult.h"
+#include "model/QueryMessageInfoRequest.h"
+#include "model/QueryMessageInfoResult.h"
 #include "model/QueryOTAFirmwareRequest.h"
 #include "model/QueryOTAFirmwareResult.h"
 #include "model/QueryOTAJobRequest.h"
@@ -470,6 +482,8 @@
 #include "model/QuerySolutionDeviceGroupPageResult.h"
 #include "model/QuerySpeechRequest.h"
 #include "model/QuerySpeechResult.h"
+#include "model/QuerySpeechDeviceRequest.h"
+#include "model/QuerySpeechDeviceResult.h"
 #include "model/QuerySpeechListRequest.h"
 #include "model/QuerySpeechListResult.h"
 #include "model/QuerySpeechPushJobRequest.h"
@@ -522,6 +536,8 @@
 #include "model/RemoveThingTopoResult.h"
 #include "model/ReplaceEdgeInstanceGatewayRequest.h"
 #include "model/ReplaceEdgeInstanceGatewayResult.h"
+#include "model/RerunJobRequest.h"
+#include "model/RerunJobResult.h"
 #include "model/ResetConsumerGroupPositionRequest.h"
 #include "model/ResetConsumerGroupPositionResult.h"
 #include "model/ResetThingRequest.h"
@@ -550,10 +566,14 @@
 #include "model/StartRuleResult.h"
 #include "model/StopRuleRequest.h"
 #include "model/StopRuleResult.h"
+#include "model/SubscribeTopicRequest.h"
+#include "model/SubscribeTopicResult.h"
 #include "model/SyncSpeechByCombinationRequest.h"
 #include "model/SyncSpeechByCombinationResult.h"
 #include "model/TestSpeechRequest.h"
 #include "model/TestSpeechResult.h"
+#include "model/TransformClientIdRequest.h"
+#include "model/TransformClientIdResult.h"
 #include "model/TriggerSceneRuleRequest.h"
 #include "model/TriggerSceneRuleResult.h"
 #include "model/UnbindApplicationFromEdgeInstanceRequest.h"
@@ -837,6 +857,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::CreateTopicRouteTableResult> CreateTopicRouteTableOutcome;
 			typedef std::future<CreateTopicRouteTableOutcome> CreateTopicRouteTableOutcomeCallable;
 			typedef std::function<void(const IotClient*, const Model::CreateTopicRouteTableRequest&, const CreateTopicRouteTableOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateTopicRouteTableAsyncHandler;
+			typedef Outcome<Error, Model::DeleteClientIdsResult> DeleteClientIdsOutcome;
+			typedef std::future<DeleteClientIdsOutcome> DeleteClientIdsOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::DeleteClientIdsRequest&, const DeleteClientIdsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteClientIdsAsyncHandler;
 			typedef Outcome<Error, Model::DeleteConsumerGroupResult> DeleteConsumerGroupOutcome;
 			typedef std::future<DeleteConsumerGroupOutcome> DeleteConsumerGroupOutcomeCallable;
 			typedef std::function<void(const IotClient*, const Model::DeleteConsumerGroupRequest&, const DeleteConsumerGroupOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteConsumerGroupAsyncHandler;
@@ -858,6 +881,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DeleteDevicePropResult> DeleteDevicePropOutcome;
 			typedef std::future<DeleteDevicePropOutcome> DeleteDevicePropOutcomeCallable;
 			typedef std::function<void(const IotClient*, const Model::DeleteDevicePropRequest&, const DeleteDevicePropOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteDevicePropAsyncHandler;
+			typedef Outcome<Error, Model::DeleteDeviceSpeechResult> DeleteDeviceSpeechOutcome;
+			typedef std::future<DeleteDeviceSpeechOutcome> DeleteDeviceSpeechOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::DeleteDeviceSpeechRequest&, const DeleteDeviceSpeechOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteDeviceSpeechAsyncHandler;
 			typedef Outcome<Error, Model::DeleteEdgeDriverResult> DeleteEdgeDriverOutcome;
 			typedef std::future<DeleteEdgeDriverOutcome> DeleteEdgeDriverOutcomeCallable;
 			typedef std::function<void(const IotClient*, const Model::DeleteEdgeDriverRequest&, const DeleteEdgeDriverOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteEdgeDriverAsyncHandler;
@@ -990,6 +1016,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::GetSceneRuleResult> GetSceneRuleOutcome;
 			typedef std::future<GetSceneRuleOutcome> GetSceneRuleOutcomeCallable;
 			typedef std::function<void(const IotClient*, const Model::GetSceneRuleRequest&, const GetSceneRuleOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetSceneRuleAsyncHandler;
+			typedef Outcome<Error, Model::GetSpeechDeviceDetailResult> GetSpeechDeviceDetailOutcome;
+			typedef std::future<GetSpeechDeviceDetailOutcome> GetSpeechDeviceDetailOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::GetSpeechDeviceDetailRequest&, const GetSpeechDeviceDetailOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetSpeechDeviceDetailAsyncHandler;
 			typedef Outcome<Error, Model::GetSpeechVoiceResult> GetSpeechVoiceOutcome;
 			typedef std::future<GetSpeechVoiceOutcome> GetSpeechVoiceOutcomeCallable;
 			typedef std::function<void(const IotClient*, const Model::GetSpeechVoiceRequest&, const GetSpeechVoiceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetSpeechVoiceAsyncHandler;
@@ -1116,6 +1145,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::QueryCertUrlByApplyIdResult> QueryCertUrlByApplyIdOutcome;
 			typedef std::future<QueryCertUrlByApplyIdOutcome> QueryCertUrlByApplyIdOutcomeCallable;
 			typedef std::function<void(const IotClient*, const Model::QueryCertUrlByApplyIdRequest&, const QueryCertUrlByApplyIdOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryCertUrlByApplyIdAsyncHandler;
+			typedef Outcome<Error, Model::QueryClientIdsResult> QueryClientIdsOutcome;
+			typedef std::future<QueryClientIdsOutcome> QueryClientIdsOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::QueryClientIdsRequest&, const QueryClientIdsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryClientIdsAsyncHandler;
 			typedef Outcome<Error, Model::QueryConsumerGroupByGroupIdResult> QueryConsumerGroupByGroupIdOutcome;
 			typedef std::future<QueryConsumerGroupByGroupIdOutcome> QueryConsumerGroupByGroupIdOutcomeCallable;
 			typedef std::function<void(const IotClient*, const Model::QueryConsumerGroupByGroupIdRequest&, const QueryConsumerGroupByGroupIdOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryConsumerGroupByGroupIdAsyncHandler;
@@ -1212,6 +1244,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::QueryDeviceServiceDataResult> QueryDeviceServiceDataOutcome;
 			typedef std::future<QueryDeviceServiceDataOutcome> QueryDeviceServiceDataOutcomeCallable;
 			typedef std::function<void(const IotClient*, const Model::QueryDeviceServiceDataRequest&, const QueryDeviceServiceDataOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryDeviceServiceDataAsyncHandler;
+			typedef Outcome<Error, Model::QueryDeviceSpeechResult> QueryDeviceSpeechOutcome;
+			typedef std::future<QueryDeviceSpeechOutcome> QueryDeviceSpeechOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::QueryDeviceSpeechRequest&, const QueryDeviceSpeechOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryDeviceSpeechAsyncHandler;
 			typedef Outcome<Error, Model::QueryDeviceStatisticsResult> QueryDeviceStatisticsOutcome;
 			typedef std::future<QueryDeviceStatisticsOutcome> QueryDeviceStatisticsOutcomeCallable;
 			typedef std::function<void(const IotClient*, const Model::QueryDeviceStatisticsRequest&, const QueryDeviceStatisticsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryDeviceStatisticsAsyncHandler;
@@ -1257,6 +1292,9 @@ namespace AlibabaCloud
 			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;
+			typedef Outcome<Error, Model::QueryMessageInfoResult> QueryMessageInfoOutcome;
+			typedef std::future<QueryMessageInfoOutcome> QueryMessageInfoOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::QueryMessageInfoRequest&, const QueryMessageInfoOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryMessageInfoAsyncHandler;
 			typedef Outcome<Error, Model::QueryOTAFirmwareResult> QueryOTAFirmwareOutcome;
 			typedef std::future<QueryOTAFirmwareOutcome> QueryOTAFirmwareOutcomeCallable;
 			typedef std::function<void(const IotClient*, const Model::QueryOTAFirmwareRequest&, const QueryOTAFirmwareOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryOTAFirmwareAsyncHandler;
@@ -1287,6 +1325,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::QuerySpeechResult> QuerySpeechOutcome;
 			typedef std::future<QuerySpeechOutcome> QuerySpeechOutcomeCallable;
 			typedef std::function<void(const IotClient*, const Model::QuerySpeechRequest&, const QuerySpeechOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QuerySpeechAsyncHandler;
+			typedef Outcome<Error, Model::QuerySpeechDeviceResult> QuerySpeechDeviceOutcome;
+			typedef std::future<QuerySpeechDeviceOutcome> QuerySpeechDeviceOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::QuerySpeechDeviceRequest&, const QuerySpeechDeviceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QuerySpeechDeviceAsyncHandler;
 			typedef Outcome<Error, Model::QuerySpeechListResult> QuerySpeechListOutcome;
 			typedef std::future<QuerySpeechListOutcome> QuerySpeechListOutcomeCallable;
 			typedef std::function<void(const IotClient*, const Model::QuerySpeechListRequest&, const QuerySpeechListOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QuerySpeechListAsyncHandler;
@@ -1365,6 +1406,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::ReplaceEdgeInstanceGatewayResult> ReplaceEdgeInstanceGatewayOutcome;
 			typedef std::future<ReplaceEdgeInstanceGatewayOutcome> ReplaceEdgeInstanceGatewayOutcomeCallable;
 			typedef std::function<void(const IotClient*, const Model::ReplaceEdgeInstanceGatewayRequest&, const ReplaceEdgeInstanceGatewayOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ReplaceEdgeInstanceGatewayAsyncHandler;
+			typedef Outcome<Error, Model::RerunJobResult> RerunJobOutcome;
+			typedef std::future<RerunJobOutcome> RerunJobOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::RerunJobRequest&, const RerunJobOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> RerunJobAsyncHandler;
 			typedef Outcome<Error, Model::ResetConsumerGroupPositionResult> ResetConsumerGroupPositionOutcome;
 			typedef std::future<ResetConsumerGroupPositionOutcome> ResetConsumerGroupPositionOutcomeCallable;
 			typedef std::function<void(const IotClient*, const Model::ResetConsumerGroupPositionRequest&, const ResetConsumerGroupPositionOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ResetConsumerGroupPositionAsyncHandler;
@@ -1407,12 +1451,18 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::StopRuleResult> StopRuleOutcome;
 			typedef std::future<StopRuleOutcome> StopRuleOutcomeCallable;
 			typedef std::function<void(const IotClient*, const Model::StopRuleRequest&, const StopRuleOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> StopRuleAsyncHandler;
+			typedef Outcome<Error, Model::SubscribeTopicResult> SubscribeTopicOutcome;
+			typedef std::future<SubscribeTopicOutcome> SubscribeTopicOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::SubscribeTopicRequest&, const SubscribeTopicOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SubscribeTopicAsyncHandler;
 			typedef Outcome<Error, Model::SyncSpeechByCombinationResult> SyncSpeechByCombinationOutcome;
 			typedef std::future<SyncSpeechByCombinationOutcome> SyncSpeechByCombinationOutcomeCallable;
 			typedef std::function<void(const IotClient*, const Model::SyncSpeechByCombinationRequest&, const SyncSpeechByCombinationOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SyncSpeechByCombinationAsyncHandler;
 			typedef Outcome<Error, Model::TestSpeechResult> TestSpeechOutcome;
 			typedef std::future<TestSpeechOutcome> TestSpeechOutcomeCallable;
 			typedef std::function<void(const IotClient*, const Model::TestSpeechRequest&, const TestSpeechOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> TestSpeechAsyncHandler;
+			typedef Outcome<Error, Model::TransformClientIdResult> TransformClientIdOutcome;
+			typedef std::future<TransformClientIdOutcome> TransformClientIdOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::TransformClientIdRequest&, const TransformClientIdOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> TransformClientIdAsyncHandler;
 			typedef Outcome<Error, Model::TriggerSceneRuleResult> TriggerSceneRuleOutcome;
 			typedef std::future<TriggerSceneRuleOutcome> TriggerSceneRuleOutcomeCallable;
 			typedef std::function<void(const IotClient*, const Model::TriggerSceneRuleRequest&, const TriggerSceneRuleOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> TriggerSceneRuleAsyncHandler;
@@ -1718,6 +1768,9 @@ namespace AlibabaCloud
 			CreateTopicRouteTableOutcome createTopicRouteTable(const Model::CreateTopicRouteTableRequest &request)const;
 			void createTopicRouteTableAsync(const Model::CreateTopicRouteTableRequest& request, const CreateTopicRouteTableAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateTopicRouteTableOutcomeCallable createTopicRouteTableCallable(const Model::CreateTopicRouteTableRequest& request) const;
+			DeleteClientIdsOutcome deleteClientIds(const Model::DeleteClientIdsRequest &request)const;
+			void deleteClientIdsAsync(const Model::DeleteClientIdsRequest& request, const DeleteClientIdsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteClientIdsOutcomeCallable deleteClientIdsCallable(const Model::DeleteClientIdsRequest& request) const;
 			DeleteConsumerGroupOutcome deleteConsumerGroup(const Model::DeleteConsumerGroupRequest &request)const;
 			void deleteConsumerGroupAsync(const Model::DeleteConsumerGroupRequest& request, const DeleteConsumerGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteConsumerGroupOutcomeCallable deleteConsumerGroupCallable(const Model::DeleteConsumerGroupRequest& request) const;
@@ -1739,6 +1792,9 @@ namespace AlibabaCloud
 			DeleteDevicePropOutcome deleteDeviceProp(const Model::DeleteDevicePropRequest &request)const;
 			void deleteDevicePropAsync(const Model::DeleteDevicePropRequest& request, const DeleteDevicePropAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteDevicePropOutcomeCallable deleteDevicePropCallable(const Model::DeleteDevicePropRequest& request) const;
+			DeleteDeviceSpeechOutcome deleteDeviceSpeech(const Model::DeleteDeviceSpeechRequest &request)const;
+			void deleteDeviceSpeechAsync(const Model::DeleteDeviceSpeechRequest& request, const DeleteDeviceSpeechAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteDeviceSpeechOutcomeCallable deleteDeviceSpeechCallable(const Model::DeleteDeviceSpeechRequest& request) const;
 			DeleteEdgeDriverOutcome deleteEdgeDriver(const Model::DeleteEdgeDriverRequest &request)const;
 			void deleteEdgeDriverAsync(const Model::DeleteEdgeDriverRequest& request, const DeleteEdgeDriverAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteEdgeDriverOutcomeCallable deleteEdgeDriverCallable(const Model::DeleteEdgeDriverRequest& request) const;
@@ -1871,6 +1927,9 @@ namespace AlibabaCloud
 			GetSceneRuleOutcome getSceneRule(const Model::GetSceneRuleRequest &request)const;
 			void getSceneRuleAsync(const Model::GetSceneRuleRequest& request, const GetSceneRuleAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			GetSceneRuleOutcomeCallable getSceneRuleCallable(const Model::GetSceneRuleRequest& request) const;
+			GetSpeechDeviceDetailOutcome getSpeechDeviceDetail(const Model::GetSpeechDeviceDetailRequest &request)const;
+			void getSpeechDeviceDetailAsync(const Model::GetSpeechDeviceDetailRequest& request, const GetSpeechDeviceDetailAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GetSpeechDeviceDetailOutcomeCallable getSpeechDeviceDetailCallable(const Model::GetSpeechDeviceDetailRequest& request) const;
 			GetSpeechVoiceOutcome getSpeechVoice(const Model::GetSpeechVoiceRequest &request)const;
 			void getSpeechVoiceAsync(const Model::GetSpeechVoiceRequest& request, const GetSpeechVoiceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			GetSpeechVoiceOutcomeCallable getSpeechVoiceCallable(const Model::GetSpeechVoiceRequest& request) const;
@@ -1997,6 +2056,9 @@ namespace AlibabaCloud
 			QueryCertUrlByApplyIdOutcome queryCertUrlByApplyId(const Model::QueryCertUrlByApplyIdRequest &request)const;
 			void queryCertUrlByApplyIdAsync(const Model::QueryCertUrlByApplyIdRequest& request, const QueryCertUrlByApplyIdAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			QueryCertUrlByApplyIdOutcomeCallable queryCertUrlByApplyIdCallable(const Model::QueryCertUrlByApplyIdRequest& request) const;
+			QueryClientIdsOutcome queryClientIds(const Model::QueryClientIdsRequest &request)const;
+			void queryClientIdsAsync(const Model::QueryClientIdsRequest& request, const QueryClientIdsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			QueryClientIdsOutcomeCallable queryClientIdsCallable(const Model::QueryClientIdsRequest& request) const;
 			QueryConsumerGroupByGroupIdOutcome queryConsumerGroupByGroupId(const Model::QueryConsumerGroupByGroupIdRequest &request)const;
 			void queryConsumerGroupByGroupIdAsync(const Model::QueryConsumerGroupByGroupIdRequest& request, const QueryConsumerGroupByGroupIdAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			QueryConsumerGroupByGroupIdOutcomeCallable queryConsumerGroupByGroupIdCallable(const Model::QueryConsumerGroupByGroupIdRequest& request) const;
@@ -2093,6 +2155,9 @@ namespace AlibabaCloud
 			QueryDeviceServiceDataOutcome queryDeviceServiceData(const Model::QueryDeviceServiceDataRequest &request)const;
 			void queryDeviceServiceDataAsync(const Model::QueryDeviceServiceDataRequest& request, const QueryDeviceServiceDataAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			QueryDeviceServiceDataOutcomeCallable queryDeviceServiceDataCallable(const Model::QueryDeviceServiceDataRequest& request) const;
+			QueryDeviceSpeechOutcome queryDeviceSpeech(const Model::QueryDeviceSpeechRequest &request)const;
+			void queryDeviceSpeechAsync(const Model::QueryDeviceSpeechRequest& request, const QueryDeviceSpeechAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			QueryDeviceSpeechOutcomeCallable queryDeviceSpeechCallable(const Model::QueryDeviceSpeechRequest& request) const;
 			QueryDeviceStatisticsOutcome queryDeviceStatistics(const Model::QueryDeviceStatisticsRequest &request)const;
 			void queryDeviceStatisticsAsync(const Model::QueryDeviceStatisticsRequest& request, const QueryDeviceStatisticsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			QueryDeviceStatisticsOutcomeCallable queryDeviceStatisticsCallable(const Model::QueryDeviceStatisticsRequest& request) const;
@@ -2138,6 +2203,9 @@ namespace AlibabaCloud
 			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;
+			QueryMessageInfoOutcome queryMessageInfo(const Model::QueryMessageInfoRequest &request)const;
+			void queryMessageInfoAsync(const Model::QueryMessageInfoRequest& request, const QueryMessageInfoAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			QueryMessageInfoOutcomeCallable queryMessageInfoCallable(const Model::QueryMessageInfoRequest& request) const;
 			QueryOTAFirmwareOutcome queryOTAFirmware(const Model::QueryOTAFirmwareRequest &request)const;
 			void queryOTAFirmwareAsync(const Model::QueryOTAFirmwareRequest& request, const QueryOTAFirmwareAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			QueryOTAFirmwareOutcomeCallable queryOTAFirmwareCallable(const Model::QueryOTAFirmwareRequest& request) const;
@@ -2168,6 +2236,9 @@ namespace AlibabaCloud
 			QuerySpeechOutcome querySpeech(const Model::QuerySpeechRequest &request)const;
 			void querySpeechAsync(const Model::QuerySpeechRequest& request, const QuerySpeechAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			QuerySpeechOutcomeCallable querySpeechCallable(const Model::QuerySpeechRequest& request) const;
+			QuerySpeechDeviceOutcome querySpeechDevice(const Model::QuerySpeechDeviceRequest &request)const;
+			void querySpeechDeviceAsync(const Model::QuerySpeechDeviceRequest& request, const QuerySpeechDeviceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			QuerySpeechDeviceOutcomeCallable querySpeechDeviceCallable(const Model::QuerySpeechDeviceRequest& request) const;
 			QuerySpeechListOutcome querySpeechList(const Model::QuerySpeechListRequest &request)const;
 			void querySpeechListAsync(const Model::QuerySpeechListRequest& request, const QuerySpeechListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			QuerySpeechListOutcomeCallable querySpeechListCallable(const Model::QuerySpeechListRequest& request) const;
@@ -2246,6 +2317,9 @@ namespace AlibabaCloud
 			ReplaceEdgeInstanceGatewayOutcome replaceEdgeInstanceGateway(const Model::ReplaceEdgeInstanceGatewayRequest &request)const;
 			void replaceEdgeInstanceGatewayAsync(const Model::ReplaceEdgeInstanceGatewayRequest& request, const ReplaceEdgeInstanceGatewayAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ReplaceEdgeInstanceGatewayOutcomeCallable replaceEdgeInstanceGatewayCallable(const Model::ReplaceEdgeInstanceGatewayRequest& request) const;
+			RerunJobOutcome rerunJob(const Model::RerunJobRequest &request)const;
+			void rerunJobAsync(const Model::RerunJobRequest& request, const RerunJobAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			RerunJobOutcomeCallable rerunJobCallable(const Model::RerunJobRequest& request) const;
 			ResetConsumerGroupPositionOutcome resetConsumerGroupPosition(const Model::ResetConsumerGroupPositionRequest &request)const;
 			void resetConsumerGroupPositionAsync(const Model::ResetConsumerGroupPositionRequest& request, const ResetConsumerGroupPositionAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ResetConsumerGroupPositionOutcomeCallable resetConsumerGroupPositionCallable(const Model::ResetConsumerGroupPositionRequest& request) const;
@@ -2288,12 +2362,18 @@ namespace AlibabaCloud
 			StopRuleOutcome stopRule(const Model::StopRuleRequest &request)const;
 			void stopRuleAsync(const Model::StopRuleRequest& request, const StopRuleAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			StopRuleOutcomeCallable stopRuleCallable(const Model::StopRuleRequest& request) const;
+			SubscribeTopicOutcome subscribeTopic(const Model::SubscribeTopicRequest &request)const;
+			void subscribeTopicAsync(const Model::SubscribeTopicRequest& request, const SubscribeTopicAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			SubscribeTopicOutcomeCallable subscribeTopicCallable(const Model::SubscribeTopicRequest& request) const;
 			SyncSpeechByCombinationOutcome syncSpeechByCombination(const Model::SyncSpeechByCombinationRequest &request)const;
 			void syncSpeechByCombinationAsync(const Model::SyncSpeechByCombinationRequest& request, const SyncSpeechByCombinationAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			SyncSpeechByCombinationOutcomeCallable syncSpeechByCombinationCallable(const Model::SyncSpeechByCombinationRequest& request) const;
 			TestSpeechOutcome testSpeech(const Model::TestSpeechRequest &request)const;
 			void testSpeechAsync(const Model::TestSpeechRequest& request, const TestSpeechAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			TestSpeechOutcomeCallable testSpeechCallable(const Model::TestSpeechRequest& request) const;
+			TransformClientIdOutcome transformClientId(const Model::TransformClientIdRequest &request)const;
+			void transformClientIdAsync(const Model::TransformClientIdRequest& request, const TransformClientIdAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			TransformClientIdOutcomeCallable transformClientIdCallable(const Model::TransformClientIdRequest& request) const;
 			TriggerSceneRuleOutcome triggerSceneRule(const Model::TriggerSceneRuleRequest &request)const;
 			void triggerSceneRuleAsync(const Model::TriggerSceneRuleRequest& request, const TriggerSceneRuleAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			TriggerSceneRuleOutcomeCallable triggerSceneRuleCallable(const Model::TriggerSceneRuleRequest& request) const;

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

@@ -30,6 +30,15 @@ namespace AlibabaCloud
 		{
 			class ALIBABACLOUD_IOT_EXPORT CreateOTAFirmwareRequest : public RpcServiceRequest
 			{
+			public:
+				struct MultiFiles
+				{
+					int size;
+					std::string name;
+					std::string signValue;
+					std::string fileMd5;
+					std::string url;
+				};
 
 			public:
 				CreateOTAFirmwareRequest();
@@ -37,6 +46,8 @@ namespace AlibabaCloud
 
 				std::string getSignMethod()const;
 				void setSignMethod(const std::string& signMethod);
+				std::vector<MultiFiles> getMultiFiles()const;
+				void setMultiFiles(const std::vector<MultiFiles>& multiFiles);
 				bool getNeedToVerify()const;
 				void setNeedToVerify(bool needToVerify);
 				int getType()const;
@@ -65,11 +76,14 @@ namespace AlibabaCloud
 				void setApiProduct(const std::string& apiProduct);
 				std::string getApiRevision()const;
 				void setApiRevision(const std::string& apiRevision);
+				std::string getUdi()const;
+				void setUdi(const std::string& udi);
 				std::string getDestVersion()const;
 				void setDestVersion(const std::string& destVersion);
 
             private:
 				std::string signMethod_;
+				std::vector<MultiFiles> multiFiles_;
 				bool needToVerify_;
 				int type_;
 				std::string firmwareUrl_;
@@ -84,6 +98,7 @@ namespace AlibabaCloud
 				std::string srcVersion_;
 				std::string apiProduct_;
 				std::string apiRevision_;
+				std::string udi_;
 				std::string destVersion_;
 
 			};

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

@@ -30,6 +30,12 @@ namespace AlibabaCloud
 		{
 			class ALIBABACLOUD_IOT_EXPORT CreateOTAVerifyJobRequest : public RpcServiceRequest
 			{
+			public:
+				struct Tag
+				{
+					std::string value;
+					std::string key;
+				};
 
 			public:
 				CreateOTAVerifyJobRequest();
@@ -45,6 +51,8 @@ namespace AlibabaCloud
 				void setNeedPush(bool needPush);
 				std::string getIotInstanceId()const;
 				void setIotInstanceId(const std::string& iotInstanceId);
+				std::vector<Tag> getTag()const;
+				void setTag(const std::vector<Tag>& tag);
 				std::string getFirmwareId()const;
 				void setFirmwareId(const std::string& firmwareId);
 				std::string getProductKey()const;
@@ -62,6 +70,7 @@ namespace AlibabaCloud
 				std::string accessKeyId_;
 				bool needPush_;
 				std::string iotInstanceId_;
+				std::vector<Tag> tag_;
 				std::string firmwareId_;
 				std::string productKey_;
 				std::string apiProduct_;

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

@@ -39,6 +39,8 @@ namespace AlibabaCloud
 				void setVoice(const std::string& voice);
 				std::string getProjectCode()const;
 				void setProjectCode(const std::string& projectCode);
+				std::string getAudioFormat()const;
+				void setAudioFormat(const std::string& audioFormat);
 				std::string getIotInstanceId()const;
 				void setIotInstanceId(const std::string& iotInstanceId);
 				std::string getText()const;
@@ -59,6 +61,7 @@ namespace AlibabaCloud
             private:
 				std::string voice_;
 				std::string projectCode_;
+				std::string audioFormat_;
 				std::string iotInstanceId_;
 				std::string text_;
 				std::string speechType_;

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

@@ -0,0 +1,60 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_DELETECLIENTIDSREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_DELETECLIENTIDSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT DeleteClientIdsRequest : public RpcServiceRequest
+			{
+
+			public:
+				DeleteClientIdsRequest();
+				~DeleteClientIdsRequest();
+
+				std::string getAuthConfig()const;
+				void setAuthConfig(const std::string& authConfig);
+				std::string getIotId()const;
+				void setIotId(const std::string& iotId);
+				std::string getIotInstanceId()const;
+				void setIotInstanceId(const std::string& iotInstanceId);
+				std::string getApiProduct()const;
+				void setApiProduct(const std::string& apiProduct);
+				std::string getApiRevision()const;
+				void setApiRevision(const std::string& apiRevision);
+
+            private:
+				std::string authConfig_;
+				std::string iotId_;
+				std::string iotInstanceId_;
+				std::string apiProduct_;
+				std::string apiRevision_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_DELETECLIENTIDSREQUEST_H_

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

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

+ 66 - 0
iot/include/alibabacloud/iot/model/DeleteDeviceSpeechRequest.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_DELETEDEVICESPEECHREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_DELETEDEVICESPEECHREQUEST_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 DeleteDeviceSpeechRequest : public RpcServiceRequest
+			{
+			public:
+				struct DeviceSpeechList
+				{
+					std::string bizCode;
+					std::string audioFormat;
+				};
+
+			public:
+				DeleteDeviceSpeechRequest();
+				~DeleteDeviceSpeechRequest();
+
+				std::string getIotId()const;
+				void setIotId(const std::string& iotId);
+				std::string getIotInstanceId()const;
+				void setIotInstanceId(const std::string& iotInstanceId);
+				std::string getApiProduct()const;
+				void setApiProduct(const std::string& apiProduct);
+				std::string getApiRevision()const;
+				void setApiRevision(const std::string& apiRevision);
+				std::vector<DeviceSpeechList> getDeviceSpeechList()const;
+				void setDeviceSpeechList(const std::vector<DeviceSpeechList>& deviceSpeechList);
+
+            private:
+				std::string iotId_;
+				std::string iotInstanceId_;
+				std::string apiProduct_;
+				std::string apiRevision_;
+				std::vector<DeviceSpeechList> deviceSpeechList_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_DELETEDEVICESPEECHREQUEST_H_

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

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

@@ -47,6 +47,8 @@ namespace AlibabaCloud
 				void setResourceGroupId(const std::string& resourceGroupId);
 				std::vector<std::string> getPropertyIdentifier()const;
 				void setPropertyIdentifier(const std::vector<std::string>& propertyIdentifier);
+				std::string getDTModelId()const;
+				void setDTModelId(const std::string& dTModelId);
 				std::string getIotInstanceId()const;
 				void setIotInstanceId(const std::string& iotInstanceId);
 				std::vector<std::string> getServiceIdentifier()const;
@@ -69,6 +71,7 @@ namespace AlibabaCloud
 				std::string realTripartiteKey_;
 				std::string resourceGroupId_;
 				std::vector<std::string> propertyIdentifier_;
+				std::string dTModelId_;
 				std::string iotInstanceId_;
 				std::vector<std::string> serviceIdentifier_;
 				std::string productKey_;

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

@@ -35,8 +35,12 @@ namespace AlibabaCloud
 				GetGatewayBySubDeviceRequest();
 				~GetGatewayBySubDeviceRequest();
 
+				std::string getRealTenantId()const;
+				void setRealTenantId(const std::string& realTenantId);
 				std::string getAccessKeyId()const;
 				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getRealTripartiteKey()const;
+				void setRealTripartiteKey(const std::string& realTripartiteKey);
 				std::string getIotId()const;
 				void setIotId(const std::string& iotId);
 				std::string getIotInstanceId()const;
@@ -51,7 +55,9 @@ namespace AlibabaCloud
 				void setDeviceName(const std::string& deviceName);
 
             private:
+				std::string realTenantId_;
 				std::string accessKeyId_;
+				std::string realTripartiteKey_;
 				std::string iotId_;
 				std::string iotInstanceId_;
 				std::string productKey_;

+ 57 - 0
iot/include/alibabacloud/iot/model/GetSpeechDeviceDetailRequest.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_GETSPEECHDEVICEDETAILREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_GETSPEECHDEVICEDETAILREQUEST_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 GetSpeechDeviceDetailRequest : public RpcServiceRequest
+			{
+
+			public:
+				GetSpeechDeviceDetailRequest();
+				~GetSpeechDeviceDetailRequest();
+
+				std::string getIotId()const;
+				void setIotId(const std::string& iotId);
+				std::string getIotInstanceId()const;
+				void setIotInstanceId(const std::string& iotInstanceId);
+				std::string getApiProduct()const;
+				void setApiProduct(const std::string& apiProduct);
+				std::string getApiRevision()const;
+				void setApiRevision(const std::string& apiRevision);
+
+            private:
+				std::string iotId_;
+				std::string iotInstanceId_;
+				std::string apiProduct_;
+				std::string apiRevision_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_GETSPEECHDEVICEDETAILREQUEST_H_

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

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

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

@@ -43,6 +43,8 @@ namespace AlibabaCloud
 				void setAccessKeyId(const std::string& accessKeyId);
 				std::string getRealTripartiteKey()const;
 				void setRealTripartiteKey(const std::string& realTripartiteKey);
+				std::string getDTModelId()const;
+				void setDTModelId(const std::string& dTModelId);
 				std::string getIotInstanceId()const;
 				void setIotInstanceId(const std::string& iotInstanceId);
 				std::string getProductKey()const;
@@ -61,6 +63,7 @@ namespace AlibabaCloud
 				bool simple_;
 				std::string accessKeyId_;
 				std::string realTripartiteKey_;
+				std::string dTModelId_;
 				std::string iotInstanceId_;
 				std::string productKey_;
 				std::string apiProduct_;

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

@@ -35,8 +35,12 @@ namespace AlibabaCloud
 				ListThingModelVersionRequest();
 				~ListThingModelVersionRequest();
 
+				std::string getRealTenantId()const;
+				void setRealTenantId(const std::string& realTenantId);
 				std::string getAccessKeyId()const;
 				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getRealTripartiteKey()const;
+				void setRealTripartiteKey(const std::string& realTripartiteKey);
 				std::string getIotInstanceId()const;
 				void setIotInstanceId(const std::string& iotInstanceId);
 				std::string getProductKey()const;
@@ -47,7 +51,9 @@ namespace AlibabaCloud
 				void setApiRevision(const std::string& apiRevision);
 
             private:
+				std::string realTenantId_;
 				std::string accessKeyId_;
+				std::string realTripartiteKey_;
 				std::string iotInstanceId_;
 				std::string productKey_;
 				std::string apiProduct_;

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

@@ -0,0 +1,60 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_QUERYCLIENTIDSREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_QUERYCLIENTIDSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT QueryClientIdsRequest : public RpcServiceRequest
+			{
+
+			public:
+				QueryClientIdsRequest();
+				~QueryClientIdsRequest();
+
+				std::string getAuthConfig()const;
+				void setAuthConfig(const std::string& authConfig);
+				std::string getIotId()const;
+				void setIotId(const std::string& iotId);
+				std::string getIotInstanceId()const;
+				void setIotInstanceId(const std::string& iotInstanceId);
+				std::string getApiProduct()const;
+				void setApiProduct(const std::string& apiProduct);
+				std::string getApiRevision()const;
+				void setApiRevision(const std::string& apiRevision);
+
+            private:
+				std::string authConfig_;
+				std::string iotId_;
+				std::string iotInstanceId_;
+				std::string apiProduct_;
+				std::string apiRevision_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_QUERYCLIENTIDSREQUEST_H_

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

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

+ 63 - 0
iot/include/alibabacloud/iot/model/QueryDeviceSpeechRequest.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_QUERYDEVICESPEECHREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_QUERYDEVICESPEECHREQUEST_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 QueryDeviceSpeechRequest : public RpcServiceRequest
+			{
+
+			public:
+				QueryDeviceSpeechRequest();
+				~QueryDeviceSpeechRequest();
+
+				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);
+				std::string getApiProduct()const;
+				void setApiProduct(const std::string& apiProduct);
+				std::string getApiRevision()const;
+				void setApiRevision(const std::string& apiRevision);
+
+            private:
+				int pageId_;
+				std::string iotId_;
+				std::string iotInstanceId_;
+				int pageSize_;
+				std::string apiProduct_;
+				std::string apiRevision_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_QUERYDEVICESPEECHREQUEST_H_

+ 70 - 0
iot/include/alibabacloud/iot/model/QueryDeviceSpeechResult.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_QUERYDEVICESPEECHRESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_QUERYDEVICESPEECHRESULT_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 QueryDeviceSpeechResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					struct Items
+					{
+						float size;
+						std::string audioFormat;
+						std::string bizCode;
+					};
+					int pageId;
+					int pageSize;
+					int total;
+					std::vector<Items> list;
+				};
+
+
+				QueryDeviceSpeechResult();
+				explicit QueryDeviceSpeechResult(const std::string &payload);
+				~QueryDeviceSpeechResult();
+				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_QUERYDEVICESPEECHRESULT_H_

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

@@ -42,6 +42,7 @@ namespace AlibabaCloud
 						int type;
 						long gmtCreateTimestamp;
 						std::string driverName;
+						bool isApply;
 						long gmtModifiedTimestamp;
 						std::string cpuArch;
 						bool isBuiltIn;

+ 60 - 0
iot/include/alibabacloud/iot/model/QueryMessageInfoRequest.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_QUERYMESSAGEINFOREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_QUERYMESSAGEINFOREQUEST_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 QueryMessageInfoRequest : public RpcServiceRequest
+			{
+
+			public:
+				QueryMessageInfoRequest();
+				~QueryMessageInfoRequest();
+
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getUniMsgId()const;
+				void setUniMsgId(const std::string& uniMsgId);
+				std::string getIotInstanceId()const;
+				void setIotInstanceId(const std::string& iotInstanceId);
+				std::string getApiProduct()const;
+				void setApiProduct(const std::string& apiProduct);
+				std::string getApiRevision()const;
+				void setApiRevision(const std::string& apiRevision);
+
+            private:
+				std::string accessKeyId_;
+				std::string uniMsgId_;
+				std::string iotInstanceId_;
+				std::string apiProduct_;
+				std::string apiRevision_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_QUERYMESSAGEINFOREQUEST_H_

+ 70 - 0
iot/include/alibabacloud/iot/model/QueryMessageInfoResult.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_QUERYMESSAGEINFORESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_QUERYMESSAGEINFORESULT_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 QueryMessageInfoResult : public ServiceResult
+			{
+			public:
+				struct Message
+				{
+					struct UserProperty
+					{
+						std::string value;
+						std::string key;
+					};
+					std::string messageContent;
+					std::vector<UserProperty> userProperties;
+					long generateTime;
+					std::string uniMsgId;
+					std::string topicFullName;
+				};
+
+
+				QueryMessageInfoResult();
+				explicit QueryMessageInfoResult(const std::string &payload);
+				~QueryMessageInfoResult();
+				Message getMessage()const;
+				std::string getErrorMessage()const;
+				std::string getCode()const;
+				bool getSuccess()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Message message_;
+				std::string errorMessage_;
+				std::string code_;
+				bool success_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_QUERYMESSAGEINFORESULT_H_

+ 10 - 0
iot/include/alibabacloud/iot/model/QueryOTAFirmwareResult.h

@@ -34,6 +34,14 @@ namespace AlibabaCloud
 			public:
 				struct FirmwareInfo
 				{
+					struct OtaPackageFileDTO
+					{
+						std::string fileMd5;
+						int size;
+						std::string url;
+						std::string name;
+						std::string signValue;
+					};
 					int status;
 					int verifyProgress;
 					int firmwareSize;
@@ -45,10 +53,12 @@ namespace AlibabaCloud
 					int type;
 					std::string utcCreate;
 					std::string firmwareDesc;
+					std::vector<OtaPackageFileDTO> multiFiles;
 					std::string firmwareUrl;
 					std::string utcModified;
 					std::string firmwareName;
 					std::string destVersion;
+					std::string udi;
 					std::string productKey;
 					std::string srcVersion;
 				};

+ 72 - 0
iot/include/alibabacloud/iot/model/QuerySpeechDeviceRequest.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_QUERYSPEECHDEVICEREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_QUERYSPEECHDEVICEREQUEST_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 QuerySpeechDeviceRequest : public RpcServiceRequest
+			{
+
+			public:
+				QuerySpeechDeviceRequest();
+				~QuerySpeechDeviceRequest();
+
+				std::string getAvailableSpaceScope()const;
+				void setAvailableSpaceScope(const std::string& availableSpaceScope);
+				std::string getProjectCode()const;
+				void setProjectCode(const std::string& projectCode);
+				int getPageId()const;
+				void setPageId(int pageId);
+				std::string getIotInstanceId()const;
+				void setIotInstanceId(const std::string& iotInstanceId);
+				int getPageSize()const;
+				void setPageSize(int pageSize);
+				std::string getAvailableSpace()const;
+				void setAvailableSpace(const std::string& availableSpace);
+				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 availableSpaceScope_;
+				std::string projectCode_;
+				int pageId_;
+				std::string iotInstanceId_;
+				int pageSize_;
+				std::string availableSpace_;
+				std::string apiProduct_;
+				std::string apiRevision_;
+				std::string deviceName_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_QUERYSPEECHDEVICEREQUEST_H_

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

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

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

@@ -39,6 +39,8 @@ namespace AlibabaCloud
 				void setProjectCode(const std::string& projectCode);
 				int getPageId()const;
 				void setPageId(int pageId);
+				std::string getAudioFormat()const;
+				void setAudioFormat(const std::string& audioFormat);
 				std::string getIotInstanceId()const;
 				void setIotInstanceId(const std::string& iotInstanceId);
 				int getPageSize()const;
@@ -51,6 +53,7 @@ namespace AlibabaCloud
             private:
 				std::string projectCode_;
 				int pageId_;
+				std::string audioFormat_;
 				std::string iotInstanceId_;
 				int pageSize_;
 				std::string apiProduct_;

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

@@ -47,6 +47,7 @@ namespace AlibabaCloud
 						std::vector<Items::Items1> speechList;
 						std::string speechCode;
 						std::string text;
+						std::string audioFormat;
 						std::string voice;
 						std::string bizCode;
 					};

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

@@ -43,6 +43,8 @@ namespace AlibabaCloud
 				void setRealTripartiteKey(const std::string& realTripartiteKey);
 				std::string getResourceGroupId()const;
 				void setResourceGroupId(const std::string& resourceGroupId);
+				std::string getDTModelId()const;
+				void setDTModelId(const std::string& dTModelId);
 				std::string getIotInstanceId()const;
 				void setIotInstanceId(const std::string& iotInstanceId);
 				std::string getProductKey()const;
@@ -61,6 +63,7 @@ namespace AlibabaCloud
 				std::string accessKeyId_;
 				std::string realTripartiteKey_;
 				std::string resourceGroupId_;
+				std::string dTModelId_;
 				std::string iotInstanceId_;
 				std::string productKey_;
 				std::string apiProduct_;

+ 57 - 0
iot/include/alibabacloud/iot/model/RerunJobRequest.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_RERUNJOBREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_RERUNJOBREQUEST_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 RerunJobRequest : public RpcServiceRequest
+			{
+
+			public:
+				RerunJobRequest();
+				~RerunJobRequest();
+
+				std::string getJobId()const;
+				void setJobId(const std::string& jobId);
+				std::string getIotInstanceId()const;
+				void setIotInstanceId(const std::string& iotInstanceId);
+				std::string getApiProduct()const;
+				void setApiProduct(const std::string& apiProduct);
+				std::string getApiRevision()const;
+				void setApiRevision(const std::string& apiRevision);
+
+            private:
+				std::string jobId_;
+				std::string iotInstanceId_;
+				std::string apiProduct_;
+				std::string apiRevision_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_RERUNJOBREQUEST_H_

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

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

@@ -35,6 +35,10 @@ namespace AlibabaCloud
 				SpeechByCombinationRequest();
 				~SpeechByCombinationRequest();
 
+				std::string getSpeechId()const;
+				void setSpeechId(const std::string& speechId);
+				std::string getAudioFormat()const;
+				void setAudioFormat(const std::string& audioFormat);
 				std::string getIotId()const;
 				void setIotId(const std::string& iotId);
 				std::vector<std::string> getCombinationList()const;
@@ -51,6 +55,8 @@ namespace AlibabaCloud
 				void setDeviceName(const std::string& deviceName);
 
             private:
+				std::string speechId_;
+				std::string audioFormat_;
 				std::string iotId_;
 				std::vector<std::string> combinationList_;
 				std::string iotInstanceId_;

+ 63 - 0
iot/include/alibabacloud/iot/model/SubscribeTopicRequest.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_SUBSCRIBETOPICREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_SUBSCRIBETOPICREQUEST_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 SubscribeTopicRequest : public RpcServiceRequest
+			{
+
+			public:
+				SubscribeTopicRequest();
+				~SubscribeTopicRequest();
+
+				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::vector<std::string> getTopic()const;
+				void setTopic(const std::vector<std::string>& topic);
+				std::string getApiRevision()const;
+				void setApiRevision(const std::string& apiRevision);
+				std::string getDeviceName()const;
+				void setDeviceName(const std::string& deviceName);
+
+            private:
+				std::string iotInstanceId_;
+				std::string productKey_;
+				std::string apiProduct_;
+				std::vector<std::string> topic_;
+				std::string apiRevision_;
+				std::string deviceName_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_SUBSCRIBETOPICREQUEST_H_

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

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

@@ -35,6 +35,10 @@ namespace AlibabaCloud
 				SyncSpeechByCombinationRequest();
 				~SyncSpeechByCombinationRequest();
 
+				std::string getSpeechId()const;
+				void setSpeechId(const std::string& speechId);
+				std::string getAudioFormat()const;
+				void setAudioFormat(const std::string& audioFormat);
 				std::string getIotId()const;
 				void setIotId(const std::string& iotId);
 				std::vector<std::string> getCombinationList()const;
@@ -51,6 +55,8 @@ namespace AlibabaCloud
 				void setDeviceName(const std::string& deviceName);
 
             private:
+				std::string speechId_;
+				std::string audioFormat_;
 				std::string iotId_;
 				std::vector<std::string> combinationList_;
 				std::string iotInstanceId_;

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

@@ -40,6 +40,7 @@ namespace AlibabaCloud
 					std::string deviceErrorCode;
 					std::string deviceErrorMessage;
 					bool success;
+					std::string detail;
 				};
 
 

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

@@ -39,6 +39,8 @@ namespace AlibabaCloud
 				void setVoice(const std::string& voice);
 				std::string getProjectCode()const;
 				void setProjectCode(const std::string& projectCode);
+				std::string getAudioFormat()const;
+				void setAudioFormat(const std::string& audioFormat);
 				std::string getIotInstanceId()const;
 				void setIotInstanceId(const std::string& iotInstanceId);
 				std::string getText()const;
@@ -57,6 +59,7 @@ namespace AlibabaCloud
             private:
 				std::string voice_;
 				std::string projectCode_;
+				std::string audioFormat_;
 				std::string iotInstanceId_;
 				std::string text_;
 				std::string speechType_;

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

@@ -0,0 +1,63 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_TRANSFORMCLIENTIDREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_TRANSFORMCLIENTIDREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/iot/IotExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Iot
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_IOT_EXPORT TransformClientIdRequest : public RpcServiceRequest
+			{
+
+			public:
+				TransformClientIdRequest();
+				~TransformClientIdRequest();
+
+				std::string getAuthConfig()const;
+				void setAuthConfig(const std::string& authConfig);
+				std::string getClientId()const;
+				void setClientId(const std::string& clientId);
+				std::string getIotId()const;
+				void setIotId(const std::string& iotId);
+				std::string getIotInstanceId()const;
+				void setIotInstanceId(const std::string& iotInstanceId);
+				std::string getApiProduct()const;
+				void setApiProduct(const std::string& apiProduct);
+				std::string getApiRevision()const;
+				void setApiRevision(const std::string& apiRevision);
+
+            private:
+				std::string authConfig_;
+				std::string clientId_;
+				std::string iotId_;
+				std::string iotInstanceId_;
+				std::string apiProduct_;
+				std::string apiRevision_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_TRANSFORMCLIENTIDREQUEST_H_

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

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

+ 360 - 0
iot/src/IotClient.cc

@@ -2715,6 +2715,42 @@ IotClient::CreateTopicRouteTableOutcomeCallable IotClient::createTopicRouteTable
 	return task->get_future();
 }
 
+IotClient::DeleteClientIdsOutcome IotClient::deleteClientIds(const DeleteClientIdsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DeleteClientIdsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DeleteClientIdsOutcome(DeleteClientIdsResult(outcome.result()));
+	else
+		return DeleteClientIdsOutcome(outcome.error());
+}
+
+void IotClient::deleteClientIdsAsync(const DeleteClientIdsRequest& request, const DeleteClientIdsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, deleteClientIds(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+IotClient::DeleteClientIdsOutcomeCallable IotClient::deleteClientIdsCallable(const DeleteClientIdsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DeleteClientIdsOutcome()>>(
+			[this, request]()
+			{
+			return this->deleteClientIds(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 IotClient::DeleteConsumerGroupOutcome IotClient::deleteConsumerGroup(const DeleteConsumerGroupRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -2967,6 +3003,42 @@ IotClient::DeleteDevicePropOutcomeCallable IotClient::deleteDevicePropCallable(c
 	return task->get_future();
 }
 
+IotClient::DeleteDeviceSpeechOutcome IotClient::deleteDeviceSpeech(const DeleteDeviceSpeechRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DeleteDeviceSpeechOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DeleteDeviceSpeechOutcome(DeleteDeviceSpeechResult(outcome.result()));
+	else
+		return DeleteDeviceSpeechOutcome(outcome.error());
+}
+
+void IotClient::deleteDeviceSpeechAsync(const DeleteDeviceSpeechRequest& request, const DeleteDeviceSpeechAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, deleteDeviceSpeech(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+IotClient::DeleteDeviceSpeechOutcomeCallable IotClient::deleteDeviceSpeechCallable(const DeleteDeviceSpeechRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DeleteDeviceSpeechOutcome()>>(
+			[this, request]()
+			{
+			return this->deleteDeviceSpeech(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 IotClient::DeleteEdgeDriverOutcome IotClient::deleteEdgeDriver(const DeleteEdgeDriverRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -4551,6 +4623,42 @@ IotClient::GetSceneRuleOutcomeCallable IotClient::getSceneRuleCallable(const Get
 	return task->get_future();
 }
 
+IotClient::GetSpeechDeviceDetailOutcome IotClient::getSpeechDeviceDetail(const GetSpeechDeviceDetailRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return GetSpeechDeviceDetailOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return GetSpeechDeviceDetailOutcome(GetSpeechDeviceDetailResult(outcome.result()));
+	else
+		return GetSpeechDeviceDetailOutcome(outcome.error());
+}
+
+void IotClient::getSpeechDeviceDetailAsync(const GetSpeechDeviceDetailRequest& request, const GetSpeechDeviceDetailAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, getSpeechDeviceDetail(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+IotClient::GetSpeechDeviceDetailOutcomeCallable IotClient::getSpeechDeviceDetailCallable(const GetSpeechDeviceDetailRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<GetSpeechDeviceDetailOutcome()>>(
+			[this, request]()
+			{
+			return this->getSpeechDeviceDetail(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 IotClient::GetSpeechVoiceOutcome IotClient::getSpeechVoice(const GetSpeechVoiceRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -6063,6 +6171,42 @@ IotClient::QueryCertUrlByApplyIdOutcomeCallable IotClient::queryCertUrlByApplyId
 	return task->get_future();
 }
 
+IotClient::QueryClientIdsOutcome IotClient::queryClientIds(const QueryClientIdsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return QueryClientIdsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return QueryClientIdsOutcome(QueryClientIdsResult(outcome.result()));
+	else
+		return QueryClientIdsOutcome(outcome.error());
+}
+
+void IotClient::queryClientIdsAsync(const QueryClientIdsRequest& request, const QueryClientIdsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, queryClientIds(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+IotClient::QueryClientIdsOutcomeCallable IotClient::queryClientIdsCallable(const QueryClientIdsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<QueryClientIdsOutcome()>>(
+			[this, request]()
+			{
+			return this->queryClientIds(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 IotClient::QueryConsumerGroupByGroupIdOutcome IotClient::queryConsumerGroupByGroupId(const QueryConsumerGroupByGroupIdRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -7215,6 +7359,42 @@ IotClient::QueryDeviceServiceDataOutcomeCallable IotClient::queryDeviceServiceDa
 	return task->get_future();
 }
 
+IotClient::QueryDeviceSpeechOutcome IotClient::queryDeviceSpeech(const QueryDeviceSpeechRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return QueryDeviceSpeechOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return QueryDeviceSpeechOutcome(QueryDeviceSpeechResult(outcome.result()));
+	else
+		return QueryDeviceSpeechOutcome(outcome.error());
+}
+
+void IotClient::queryDeviceSpeechAsync(const QueryDeviceSpeechRequest& request, const QueryDeviceSpeechAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, queryDeviceSpeech(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+IotClient::QueryDeviceSpeechOutcomeCallable IotClient::queryDeviceSpeechCallable(const QueryDeviceSpeechRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<QueryDeviceSpeechOutcome()>>(
+			[this, request]()
+			{
+			return this->queryDeviceSpeech(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 IotClient::QueryDeviceStatisticsOutcome IotClient::queryDeviceStatistics(const QueryDeviceStatisticsRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -7755,6 +7935,42 @@ IotClient::QueryLoRaJoinPermissionsOutcomeCallable IotClient::queryLoRaJoinPermi
 	return task->get_future();
 }
 
+IotClient::QueryMessageInfoOutcome IotClient::queryMessageInfo(const QueryMessageInfoRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return QueryMessageInfoOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return QueryMessageInfoOutcome(QueryMessageInfoResult(outcome.result()));
+	else
+		return QueryMessageInfoOutcome(outcome.error());
+}
+
+void IotClient::queryMessageInfoAsync(const QueryMessageInfoRequest& request, const QueryMessageInfoAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, queryMessageInfo(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+IotClient::QueryMessageInfoOutcomeCallable IotClient::queryMessageInfoCallable(const QueryMessageInfoRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<QueryMessageInfoOutcome()>>(
+			[this, request]()
+			{
+			return this->queryMessageInfo(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 IotClient::QueryOTAFirmwareOutcome IotClient::queryOTAFirmware(const QueryOTAFirmwareRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -8115,6 +8331,42 @@ IotClient::QuerySpeechOutcomeCallable IotClient::querySpeechCallable(const Query
 	return task->get_future();
 }
 
+IotClient::QuerySpeechDeviceOutcome IotClient::querySpeechDevice(const QuerySpeechDeviceRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return QuerySpeechDeviceOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return QuerySpeechDeviceOutcome(QuerySpeechDeviceResult(outcome.result()));
+	else
+		return QuerySpeechDeviceOutcome(outcome.error());
+}
+
+void IotClient::querySpeechDeviceAsync(const QuerySpeechDeviceRequest& request, const QuerySpeechDeviceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, querySpeechDevice(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+IotClient::QuerySpeechDeviceOutcomeCallable IotClient::querySpeechDeviceCallable(const QuerySpeechDeviceRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<QuerySpeechDeviceOutcome()>>(
+			[this, request]()
+			{
+			return this->querySpeechDevice(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 IotClient::QuerySpeechListOutcome IotClient::querySpeechList(const QuerySpeechListRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -9051,6 +9303,42 @@ IotClient::ReplaceEdgeInstanceGatewayOutcomeCallable IotClient::replaceEdgeInsta
 	return task->get_future();
 }
 
+IotClient::RerunJobOutcome IotClient::rerunJob(const RerunJobRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return RerunJobOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return RerunJobOutcome(RerunJobResult(outcome.result()));
+	else
+		return RerunJobOutcome(outcome.error());
+}
+
+void IotClient::rerunJobAsync(const RerunJobRequest& request, const RerunJobAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, rerunJob(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+IotClient::RerunJobOutcomeCallable IotClient::rerunJobCallable(const RerunJobRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<RerunJobOutcome()>>(
+			[this, request]()
+			{
+			return this->rerunJob(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 IotClient::ResetConsumerGroupPositionOutcome IotClient::resetConsumerGroupPosition(const ResetConsumerGroupPositionRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -9555,6 +9843,42 @@ IotClient::StopRuleOutcomeCallable IotClient::stopRuleCallable(const StopRuleReq
 	return task->get_future();
 }
 
+IotClient::SubscribeTopicOutcome IotClient::subscribeTopic(const SubscribeTopicRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return SubscribeTopicOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return SubscribeTopicOutcome(SubscribeTopicResult(outcome.result()));
+	else
+		return SubscribeTopicOutcome(outcome.error());
+}
+
+void IotClient::subscribeTopicAsync(const SubscribeTopicRequest& request, const SubscribeTopicAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, subscribeTopic(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+IotClient::SubscribeTopicOutcomeCallable IotClient::subscribeTopicCallable(const SubscribeTopicRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<SubscribeTopicOutcome()>>(
+			[this, request]()
+			{
+			return this->subscribeTopic(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 IotClient::SyncSpeechByCombinationOutcome IotClient::syncSpeechByCombination(const SyncSpeechByCombinationRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -9627,6 +9951,42 @@ IotClient::TestSpeechOutcomeCallable IotClient::testSpeechCallable(const TestSpe
 	return task->get_future();
 }
 
+IotClient::TransformClientIdOutcome IotClient::transformClientId(const TransformClientIdRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return TransformClientIdOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return TransformClientIdOutcome(TransformClientIdResult(outcome.result()));
+	else
+		return TransformClientIdOutcome(outcome.error());
+}
+
+void IotClient::transformClientIdAsync(const TransformClientIdRequest& request, const TransformClientIdAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, transformClientId(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+IotClient::TransformClientIdOutcomeCallable IotClient::transformClientIdCallable(const TransformClientIdRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<TransformClientIdOutcome()>>(
+			[this, request]()
+			{
+			return this->transformClientId(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 IotClient::TriggerSceneRuleOutcome IotClient::triggerSceneRule(const TriggerSceneRuleRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();

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

@@ -38,6 +38,25 @@ void CreateOTAFirmwareRequest::setSignMethod(const std::string& signMethod)
 	setParameter("SignMethod", signMethod);
 }
 
+std::vector<CreateOTAFirmwareRequest::MultiFiles> CreateOTAFirmwareRequest::getMultiFiles()const
+{
+	return multiFiles_;
+}
+
+void CreateOTAFirmwareRequest::setMultiFiles(const std::vector<MultiFiles>& multiFiles)
+{
+	multiFiles_ = multiFiles;
+	for(int dep1 = 0; dep1!= multiFiles.size(); dep1++) {
+		auto multiFilesObj = multiFiles.at(dep1);
+		std::string multiFilesObjStr = "MultiFiles." + std::to_string(dep1 + 1);
+		setParameter(multiFilesObjStr + ".Size", std::to_string(multiFilesObj.size));
+		setParameter(multiFilesObjStr + ".Name", multiFilesObj.name);
+		setParameter(multiFilesObjStr + ".SignValue", multiFilesObj.signValue);
+		setParameter(multiFilesObjStr + ".FileMd5", multiFilesObj.fileMd5);
+		setParameter(multiFilesObjStr + ".Url", multiFilesObj.url);
+	}
+}
+
 bool CreateOTAFirmwareRequest::getNeedToVerify()const
 {
 	return needToVerify_;
@@ -192,6 +211,17 @@ void CreateOTAFirmwareRequest::setApiRevision(const std::string& apiRevision)
 	setBodyParameter("ApiRevision", apiRevision);
 }
 
+std::string CreateOTAFirmwareRequest::getUdi()const
+{
+	return udi_;
+}
+
+void CreateOTAFirmwareRequest::setUdi(const std::string& udi)
+{
+	udi_ = udi;
+	setParameter("Udi", udi);
+}
+
 std::string CreateOTAFirmwareRequest::getDestVersion()const
 {
 	return destVersion_;

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

@@ -82,6 +82,22 @@ void CreateOTAVerifyJobRequest::setIotInstanceId(const std::string& iotInstanceI
 	setParameter("IotInstanceId", iotInstanceId);
 }
 
+std::vector<CreateOTAVerifyJobRequest::Tag> CreateOTAVerifyJobRequest::getTag()const
+{
+	return tag_;
+}
+
+void CreateOTAVerifyJobRequest::setTag(const std::vector<Tag>& tag)
+{
+	tag_ = tag;
+	for(int dep1 = 0; dep1!= tag.size(); dep1++) {
+		auto tagObj = tag.at(dep1);
+		std::string tagObjStr = "Tag." + std::to_string(dep1 + 1);
+		setParameter(tagObjStr + ".Value", tagObj.value);
+		setParameter(tagObjStr + ".Key", tagObj.key);
+	}
+}
+
 std::string CreateOTAVerifyJobRequest::getFirmwareId()const
 {
 	return firmwareId_;

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

@@ -49,6 +49,17 @@ void CreateSpeechRequest::setProjectCode(const std::string& projectCode)
 	setBodyParameter("ProjectCode", projectCode);
 }
 
+std::string CreateSpeechRequest::getAudioFormat()const
+{
+	return audioFormat_;
+}
+
+void CreateSpeechRequest::setAudioFormat(const std::string& audioFormat)
+{
+	audioFormat_ = audioFormat;
+	setBodyParameter("AudioFormat", audioFormat);
+}
+
 std::string CreateSpeechRequest::getIotInstanceId()const
 {
 	return iotInstanceId_;

+ 84 - 0
iot/src/model/DeleteClientIdsRequest.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/DeleteClientIdsRequest.h>
+
+using AlibabaCloud::Iot::Model::DeleteClientIdsRequest;
+
+DeleteClientIdsRequest::DeleteClientIdsRequest() :
+	RpcServiceRequest("iot", "2018-01-20", "DeleteClientIds")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DeleteClientIdsRequest::~DeleteClientIdsRequest()
+{}
+
+std::string DeleteClientIdsRequest::getAuthConfig()const
+{
+	return authConfig_;
+}
+
+void DeleteClientIdsRequest::setAuthConfig(const std::string& authConfig)
+{
+	authConfig_ = authConfig;
+	setParameter("AuthConfig", authConfig);
+}
+
+std::string DeleteClientIdsRequest::getIotId()const
+{
+	return iotId_;
+}
+
+void DeleteClientIdsRequest::setIotId(const std::string& iotId)
+{
+	iotId_ = iotId;
+	setParameter("IotId", iotId);
+}
+
+std::string DeleteClientIdsRequest::getIotInstanceId()const
+{
+	return iotInstanceId_;
+}
+
+void DeleteClientIdsRequest::setIotInstanceId(const std::string& iotInstanceId)
+{
+	iotInstanceId_ = iotInstanceId;
+	setParameter("IotInstanceId", iotInstanceId);
+}
+
+std::string DeleteClientIdsRequest::getApiProduct()const
+{
+	return apiProduct_;
+}
+
+void DeleteClientIdsRequest::setApiProduct(const std::string& apiProduct)
+{
+	apiProduct_ = apiProduct;
+	setBodyParameter("ApiProduct", apiProduct);
+}
+
+std::string DeleteClientIdsRequest::getApiRevision()const
+{
+	return apiRevision_;
+}
+
+void DeleteClientIdsRequest::setApiRevision(const std::string& apiRevision)
+{
+	apiRevision_ = apiRevision;
+	setBodyParameter("ApiRevision", apiRevision);
+}
+

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

+ 89 - 0
iot/src/model/DeleteDeviceSpeechRequest.cc

@@ -0,0 +1,89 @@
+/*
+ * 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/DeleteDeviceSpeechRequest.h>
+
+using AlibabaCloud::Iot::Model::DeleteDeviceSpeechRequest;
+
+DeleteDeviceSpeechRequest::DeleteDeviceSpeechRequest() :
+	RpcServiceRequest("iot", "2018-01-20", "DeleteDeviceSpeech")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DeleteDeviceSpeechRequest::~DeleteDeviceSpeechRequest()
+{}
+
+std::string DeleteDeviceSpeechRequest::getIotId()const
+{
+	return iotId_;
+}
+
+void DeleteDeviceSpeechRequest::setIotId(const std::string& iotId)
+{
+	iotId_ = iotId;
+	setBodyParameter("IotId", iotId);
+}
+
+std::string DeleteDeviceSpeechRequest::getIotInstanceId()const
+{
+	return iotInstanceId_;
+}
+
+void DeleteDeviceSpeechRequest::setIotInstanceId(const std::string& iotInstanceId)
+{
+	iotInstanceId_ = iotInstanceId;
+	setBodyParameter("IotInstanceId", iotInstanceId);
+}
+
+std::string DeleteDeviceSpeechRequest::getApiProduct()const
+{
+	return apiProduct_;
+}
+
+void DeleteDeviceSpeechRequest::setApiProduct(const std::string& apiProduct)
+{
+	apiProduct_ = apiProduct;
+	setBodyParameter("ApiProduct", apiProduct);
+}
+
+std::string DeleteDeviceSpeechRequest::getApiRevision()const
+{
+	return apiRevision_;
+}
+
+void DeleteDeviceSpeechRequest::setApiRevision(const std::string& apiRevision)
+{
+	apiRevision_ = apiRevision;
+	setBodyParameter("ApiRevision", apiRevision);
+}
+
+std::vector<DeleteDeviceSpeechRequest::DeviceSpeechList> DeleteDeviceSpeechRequest::getDeviceSpeechList()const
+{
+	return deviceSpeechList_;
+}
+
+void DeleteDeviceSpeechRequest::setDeviceSpeechList(const std::vector<DeviceSpeechList>& deviceSpeechList)
+{
+	deviceSpeechList_ = deviceSpeechList;
+	for(int dep1 = 0; dep1!= deviceSpeechList.size(); dep1++) {
+		auto deviceSpeechListObj = deviceSpeechList.at(dep1);
+		std::string deviceSpeechListObjStr = "DeviceSpeechList." + std::to_string(dep1 + 1);
+		setParameter(deviceSpeechListObjStr + ".BizCode", deviceSpeechListObj.bizCode);
+		setParameter(deviceSpeechListObjStr + ".AudioFormat", deviceSpeechListObj.audioFormat);
+	}
+}
+

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

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

@@ -95,6 +95,17 @@ void DeleteThingModelRequest::setPropertyIdentifier(const std::vector<std::strin
 	}
 }
 
+std::string DeleteThingModelRequest::getDTModelId()const
+{
+	return dTModelId_;
+}
+
+void DeleteThingModelRequest::setDTModelId(const std::string& dTModelId)
+{
+	dTModelId_ = dTModelId;
+	setParameter("DTModelId", dTModelId);
+}
+
 std::string DeleteThingModelRequest::getIotInstanceId()const
 {
 	return iotInstanceId_;

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

@@ -27,6 +27,17 @@ GetGatewayBySubDeviceRequest::GetGatewayBySubDeviceRequest() :
 GetGatewayBySubDeviceRequest::~GetGatewayBySubDeviceRequest()
 {}
 
+std::string GetGatewayBySubDeviceRequest::getRealTenantId()const
+{
+	return realTenantId_;
+}
+
+void GetGatewayBySubDeviceRequest::setRealTenantId(const std::string& realTenantId)
+{
+	realTenantId_ = realTenantId;
+	setParameter("RealTenantId", realTenantId);
+}
+
 std::string GetGatewayBySubDeviceRequest::getAccessKeyId()const
 {
 	return accessKeyId_;
@@ -38,6 +49,17 @@ void GetGatewayBySubDeviceRequest::setAccessKeyId(const std::string& accessKeyId
 	setParameter("AccessKeyId", accessKeyId);
 }
 
+std::string GetGatewayBySubDeviceRequest::getRealTripartiteKey()const
+{
+	return realTripartiteKey_;
+}
+
+void GetGatewayBySubDeviceRequest::setRealTripartiteKey(const std::string& realTripartiteKey)
+{
+	realTripartiteKey_ = realTripartiteKey;
+	setParameter("RealTripartiteKey", realTripartiteKey);
+}
+
 std::string GetGatewayBySubDeviceRequest::getIotId()const
 {
 	return iotId_;

+ 73 - 0
iot/src/model/GetSpeechDeviceDetailRequest.cc

@@ -0,0 +1,73 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/iot/model/GetSpeechDeviceDetailRequest.h>
+
+using AlibabaCloud::Iot::Model::GetSpeechDeviceDetailRequest;
+
+GetSpeechDeviceDetailRequest::GetSpeechDeviceDetailRequest() :
+	RpcServiceRequest("iot", "2018-01-20", "GetSpeechDeviceDetail")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+GetSpeechDeviceDetailRequest::~GetSpeechDeviceDetailRequest()
+{}
+
+std::string GetSpeechDeviceDetailRequest::getIotId()const
+{
+	return iotId_;
+}
+
+void GetSpeechDeviceDetailRequest::setIotId(const std::string& iotId)
+{
+	iotId_ = iotId;
+	setBodyParameter("IotId", iotId);
+}
+
+std::string GetSpeechDeviceDetailRequest::getIotInstanceId()const
+{
+	return iotInstanceId_;
+}
+
+void GetSpeechDeviceDetailRequest::setIotInstanceId(const std::string& iotInstanceId)
+{
+	iotInstanceId_ = iotInstanceId;
+	setBodyParameter("IotInstanceId", iotInstanceId);
+}
+
+std::string GetSpeechDeviceDetailRequest::getApiProduct()const
+{
+	return apiProduct_;
+}
+
+void GetSpeechDeviceDetailRequest::setApiProduct(const std::string& apiProduct)
+{
+	apiProduct_ = apiProduct;
+	setBodyParameter("ApiProduct", apiProduct);
+}
+
+std::string GetSpeechDeviceDetailRequest::getApiRevision()const
+{
+	return apiRevision_;
+}
+
+void GetSpeechDeviceDetailRequest::setApiRevision(const std::string& apiRevision)
+{
+	apiRevision_ = apiRevision;
+	setBodyParameter("ApiRevision", apiRevision);
+}
+

+ 85 - 0
iot/src/model/GetSpeechDeviceDetailResult.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/GetSpeechDeviceDetailResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Iot;
+using namespace AlibabaCloud::Iot::Model;
+
+GetSpeechDeviceDetailResult::GetSpeechDeviceDetailResult() :
+	ServiceResult()
+{}
+
+GetSpeechDeviceDetailResult::GetSpeechDeviceDetailResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+GetSpeechDeviceDetailResult::~GetSpeechDeviceDetailResult()
+{}
+
+void GetSpeechDeviceDetailResult::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["ProductKey"].isNull())
+		data_.productKey = dataNode["ProductKey"].asString();
+	if(!dataNode["DeviceName"].isNull())
+		data_.deviceName = dataNode["DeviceName"].asString();
+	if(!dataNode["IotId"].isNull())
+		data_.iotId = dataNode["IotId"].asString();
+	if(!dataNode["Status"].isNull())
+		data_.status = dataNode["Status"].asString();
+	if(!dataNode["AvailableSpace"].isNull())
+		data_.availableSpace = std::stof(dataNode["AvailableSpace"].asString());
+	if(!dataNode["TotalSpace"].isNull())
+		data_.totalSpace = std::stof(dataNode["TotalSpace"].asString());
+	if(!dataNode["SpeechListUpdateTime"].isNull())
+		data_.speechListUpdateTime = std::stol(dataNode["SpeechListUpdateTime"].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();
+
+}
+
+GetSpeechDeviceDetailResult::Data GetSpeechDeviceDetailResult::getData()const
+{
+	return data_;
+}
+
+std::string GetSpeechDeviceDetailResult::getErrorMessage()const
+{
+	return errorMessage_;
+}
+
+std::string GetSpeechDeviceDetailResult::getCode()const
+{
+	return code_;
+}
+
+bool GetSpeechDeviceDetailResult::getSuccess()const
+{
+	return success_;
+}
+

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

@@ -71,6 +71,17 @@ void GetThingModelTslRequest::setRealTripartiteKey(const std::string& realTripar
 	setParameter("RealTripartiteKey", realTripartiteKey);
 }
 
+std::string GetThingModelTslRequest::getDTModelId()const
+{
+	return dTModelId_;
+}
+
+void GetThingModelTslRequest::setDTModelId(const std::string& dTModelId)
+{
+	dTModelId_ = dTModelId;
+	setParameter("DTModelId", dTModelId);
+}
+
 std::string GetThingModelTslRequest::getIotInstanceId()const
 {
 	return iotInstanceId_;

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

@@ -27,6 +27,17 @@ ListThingModelVersionRequest::ListThingModelVersionRequest() :
 ListThingModelVersionRequest::~ListThingModelVersionRequest()
 {}
 
+std::string ListThingModelVersionRequest::getRealTenantId()const
+{
+	return realTenantId_;
+}
+
+void ListThingModelVersionRequest::setRealTenantId(const std::string& realTenantId)
+{
+	realTenantId_ = realTenantId;
+	setParameter("RealTenantId", realTenantId);
+}
+
 std::string ListThingModelVersionRequest::getAccessKeyId()const
 {
 	return accessKeyId_;
@@ -38,6 +49,17 @@ void ListThingModelVersionRequest::setAccessKeyId(const std::string& accessKeyId
 	setParameter("AccessKeyId", accessKeyId);
 }
 
+std::string ListThingModelVersionRequest::getRealTripartiteKey()const
+{
+	return realTripartiteKey_;
+}
+
+void ListThingModelVersionRequest::setRealTripartiteKey(const std::string& realTripartiteKey)
+{
+	realTripartiteKey_ = realTripartiteKey;
+	setParameter("RealTripartiteKey", realTripartiteKey);
+}
+
 std::string ListThingModelVersionRequest::getIotInstanceId()const
 {
 	return iotInstanceId_;

+ 84 - 0
iot/src/model/QueryClientIdsRequest.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/QueryClientIdsRequest.h>
+
+using AlibabaCloud::Iot::Model::QueryClientIdsRequest;
+
+QueryClientIdsRequest::QueryClientIdsRequest() :
+	RpcServiceRequest("iot", "2018-01-20", "QueryClientIds")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+QueryClientIdsRequest::~QueryClientIdsRequest()
+{}
+
+std::string QueryClientIdsRequest::getAuthConfig()const
+{
+	return authConfig_;
+}
+
+void QueryClientIdsRequest::setAuthConfig(const std::string& authConfig)
+{
+	authConfig_ = authConfig;
+	setParameter("AuthConfig", authConfig);
+}
+
+std::string QueryClientIdsRequest::getIotId()const
+{
+	return iotId_;
+}
+
+void QueryClientIdsRequest::setIotId(const std::string& iotId)
+{
+	iotId_ = iotId;
+	setParameter("IotId", iotId);
+}
+
+std::string QueryClientIdsRequest::getIotInstanceId()const
+{
+	return iotInstanceId_;
+}
+
+void QueryClientIdsRequest::setIotInstanceId(const std::string& iotInstanceId)
+{
+	iotInstanceId_ = iotInstanceId;
+	setParameter("IotInstanceId", iotInstanceId);
+}
+
+std::string QueryClientIdsRequest::getApiProduct()const
+{
+	return apiProduct_;
+}
+
+void QueryClientIdsRequest::setApiProduct(const std::string& apiProduct)
+{
+	apiProduct_ = apiProduct;
+	setBodyParameter("ApiProduct", apiProduct);
+}
+
+std::string QueryClientIdsRequest::getApiRevision()const
+{
+	return apiRevision_;
+}
+
+void QueryClientIdsRequest::setApiRevision(const std::string& apiRevision)
+{
+	apiRevision_ = apiRevision;
+	setBodyParameter("ApiRevision", apiRevision);
+}
+

+ 83 - 0
iot/src/model/QueryClientIdsResult.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/QueryClientIdsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Iot;
+using namespace AlibabaCloud::Iot::Model;
+
+QueryClientIdsResult::QueryClientIdsResult() :
+	ServiceResult()
+{}
+
+QueryClientIdsResult::QueryClientIdsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+QueryClientIdsResult::~QueryClientIdsResult()
+{}
+
+void QueryClientIdsResult::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();
+	auto allDynamicRegClientIdsNode = dataNode["DynamicRegClientIds"]["DynamicRegClientId"];
+	for (auto dataNodeDynamicRegClientIdsDynamicRegClientId : allDynamicRegClientIdsNode)
+	{
+		Data::DynamicRegClientId dynamicRegClientIdObject;
+		if(!dataNodeDynamicRegClientIdsDynamicRegClientId["ClientId"].isNull())
+			dynamicRegClientIdObject.clientId = dataNodeDynamicRegClientIdsDynamicRegClientId["ClientId"].asString();
+		if(!dataNodeDynamicRegClientIdsDynamicRegClientId["CreateTime"].isNull())
+			dynamicRegClientIdObject.createTime = std::stol(dataNodeDynamicRegClientIdsDynamicRegClientId["CreateTime"].asString());
+		data_.dynamicRegClientIds.push_back(dynamicRegClientIdObject);
+	}
+	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();
+
+}
+
+QueryClientIdsResult::Data QueryClientIdsResult::getData()const
+{
+	return data_;
+}
+
+std::string QueryClientIdsResult::getErrorMessage()const
+{
+	return errorMessage_;
+}
+
+std::string QueryClientIdsResult::getCode()const
+{
+	return code_;
+}
+
+bool QueryClientIdsResult::getSuccess()const
+{
+	return success_;
+}
+

+ 95 - 0
iot/src/model/QueryDeviceSpeechRequest.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/QueryDeviceSpeechRequest.h>
+
+using AlibabaCloud::Iot::Model::QueryDeviceSpeechRequest;
+
+QueryDeviceSpeechRequest::QueryDeviceSpeechRequest() :
+	RpcServiceRequest("iot", "2018-01-20", "QueryDeviceSpeech")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+QueryDeviceSpeechRequest::~QueryDeviceSpeechRequest()
+{}
+
+int QueryDeviceSpeechRequest::getPageId()const
+{
+	return pageId_;
+}
+
+void QueryDeviceSpeechRequest::setPageId(int pageId)
+{
+	pageId_ = pageId;
+	setBodyParameter("PageId", std::to_string(pageId));
+}
+
+std::string QueryDeviceSpeechRequest::getIotId()const
+{
+	return iotId_;
+}
+
+void QueryDeviceSpeechRequest::setIotId(const std::string& iotId)
+{
+	iotId_ = iotId;
+	setBodyParameter("IotId", iotId);
+}
+
+std::string QueryDeviceSpeechRequest::getIotInstanceId()const
+{
+	return iotInstanceId_;
+}
+
+void QueryDeviceSpeechRequest::setIotInstanceId(const std::string& iotInstanceId)
+{
+	iotInstanceId_ = iotInstanceId;
+	setBodyParameter("IotInstanceId", iotInstanceId);
+}
+
+int QueryDeviceSpeechRequest::getPageSize()const
+{
+	return pageSize_;
+}
+
+void QueryDeviceSpeechRequest::setPageSize(int pageSize)
+{
+	pageSize_ = pageSize;
+	setBodyParameter("PageSize", std::to_string(pageSize));
+}
+
+std::string QueryDeviceSpeechRequest::getApiProduct()const
+{
+	return apiProduct_;
+}
+
+void QueryDeviceSpeechRequest::setApiProduct(const std::string& apiProduct)
+{
+	apiProduct_ = apiProduct;
+	setBodyParameter("ApiProduct", apiProduct);
+}
+
+std::string QueryDeviceSpeechRequest::getApiRevision()const
+{
+	return apiRevision_;
+}
+
+void QueryDeviceSpeechRequest::setApiRevision(const std::string& apiRevision)
+{
+	apiRevision_ = apiRevision;
+	setBodyParameter("ApiRevision", apiRevision);
+}
+

+ 89 - 0
iot/src/model/QueryDeviceSpeechResult.cc

@@ -0,0 +1,89 @@
+/*
+ * 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/QueryDeviceSpeechResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Iot;
+using namespace AlibabaCloud::Iot::Model;
+
+QueryDeviceSpeechResult::QueryDeviceSpeechResult() :
+	ServiceResult()
+{}
+
+QueryDeviceSpeechResult::QueryDeviceSpeechResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+QueryDeviceSpeechResult::~QueryDeviceSpeechResult()
+{}
+
+void QueryDeviceSpeechResult::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["Total"].isNull())
+		data_.total = std::stoi(dataNode["Total"].asString());
+	if(!dataNode["PageId"].isNull())
+		data_.pageId = std::stoi(dataNode["PageId"].asString());
+	if(!dataNode["PageSize"].isNull())
+		data_.pageSize = std::stoi(dataNode["PageSize"].asString());
+	auto allListNode = dataNode["List"]["Items"];
+	for (auto dataNodeListItems : allListNode)
+	{
+		Data::Items itemsObject;
+		if(!dataNodeListItems["BizCode"].isNull())
+			itemsObject.bizCode = dataNodeListItems["BizCode"].asString();
+		if(!dataNodeListItems["Size"].isNull())
+			itemsObject.size = std::stof(dataNodeListItems["Size"].asString());
+		if(!dataNodeListItems["AudioFormat"].isNull())
+			itemsObject.audioFormat = dataNodeListItems["AudioFormat"].asString();
+		data_.list.push_back(itemsObject);
+	}
+	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();
+
+}
+
+QueryDeviceSpeechResult::Data QueryDeviceSpeechResult::getData()const
+{
+	return data_;
+}
+
+std::string QueryDeviceSpeechResult::getErrorMessage()const
+{
+	return errorMessage_;
+}
+
+std::string QueryDeviceSpeechResult::getCode()const
+{
+	return code_;
+}
+
+bool QueryDeviceSpeechResult::getSuccess()const
+{
+	return success_;
+}
+

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

@@ -68,6 +68,8 @@ void QueryEdgeDriverResult::parse(const std::string &payload)
 			driverObject.gmtCreateTimestamp = std::stol(dataNodeDriverListDriver["GmtCreateTimestamp"].asString());
 		if(!dataNodeDriverListDriver["GmtModifiedTimestamp"].isNull())
 			driverObject.gmtModifiedTimestamp = std::stol(dataNodeDriverListDriver["GmtModifiedTimestamp"].asString());
+		if(!dataNodeDriverListDriver["IsApply"].isNull())
+			driverObject.isApply = dataNodeDriverListDriver["IsApply"].asString() == "true";
 		data_.driverList.push_back(driverObject);
 	}
 	if(!value["Success"].isNull())

+ 84 - 0
iot/src/model/QueryMessageInfoRequest.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/QueryMessageInfoRequest.h>
+
+using AlibabaCloud::Iot::Model::QueryMessageInfoRequest;
+
+QueryMessageInfoRequest::QueryMessageInfoRequest() :
+	RpcServiceRequest("iot", "2018-01-20", "QueryMessageInfo")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+QueryMessageInfoRequest::~QueryMessageInfoRequest()
+{}
+
+std::string QueryMessageInfoRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void QueryMessageInfoRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+
+std::string QueryMessageInfoRequest::getUniMsgId()const
+{
+	return uniMsgId_;
+}
+
+void QueryMessageInfoRequest::setUniMsgId(const std::string& uniMsgId)
+{
+	uniMsgId_ = uniMsgId;
+	setParameter("UniMsgId", uniMsgId);
+}
+
+std::string QueryMessageInfoRequest::getIotInstanceId()const
+{
+	return iotInstanceId_;
+}
+
+void QueryMessageInfoRequest::setIotInstanceId(const std::string& iotInstanceId)
+{
+	iotInstanceId_ = iotInstanceId;
+	setParameter("IotInstanceId", iotInstanceId);
+}
+
+std::string QueryMessageInfoRequest::getApiProduct()const
+{
+	return apiProduct_;
+}
+
+void QueryMessageInfoRequest::setApiProduct(const std::string& apiProduct)
+{
+	apiProduct_ = apiProduct;
+	setBodyParameter("ApiProduct", apiProduct);
+}
+
+std::string QueryMessageInfoRequest::getApiRevision()const
+{
+	return apiRevision_;
+}
+
+void QueryMessageInfoRequest::setApiRevision(const std::string& apiRevision)
+{
+	apiRevision_ = apiRevision;
+	setBodyParameter("ApiRevision", apiRevision);
+}
+

+ 89 - 0
iot/src/model/QueryMessageInfoResult.cc

@@ -0,0 +1,89 @@
+/*
+ * 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/QueryMessageInfoResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Iot;
+using namespace AlibabaCloud::Iot::Model;
+
+QueryMessageInfoResult::QueryMessageInfoResult() :
+	ServiceResult()
+{}
+
+QueryMessageInfoResult::QueryMessageInfoResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+QueryMessageInfoResult::~QueryMessageInfoResult()
+{}
+
+void QueryMessageInfoResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto messageNode = value["Message"];
+	if(!messageNode["UniMsgId"].isNull())
+		message_.uniMsgId = messageNode["UniMsgId"].asString();
+	if(!messageNode["TopicFullName"].isNull())
+		message_.topicFullName = messageNode["TopicFullName"].asString();
+	if(!messageNode["MessageContent"].isNull())
+		message_.messageContent = messageNode["MessageContent"].asString();
+	if(!messageNode["GenerateTime"].isNull())
+		message_.generateTime = std::stol(messageNode["GenerateTime"].asString());
+	auto allUserPropertiesNode = messageNode["UserProperties"]["UserProperty"];
+	for (auto messageNodeUserPropertiesUserProperty : allUserPropertiesNode)
+	{
+		Message::UserProperty userPropertyObject;
+		if(!messageNodeUserPropertiesUserProperty["Key"].isNull())
+			userPropertyObject.key = messageNodeUserPropertiesUserProperty["Key"].asString();
+		if(!messageNodeUserPropertiesUserProperty["Value"].isNull())
+			userPropertyObject.value = messageNodeUserPropertiesUserProperty["Value"].asString();
+		message_.userProperties.push_back(userPropertyObject);
+	}
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+	if(!value["ErrorMessage"].isNull())
+		errorMessage_ = value["ErrorMessage"].asString();
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+
+}
+
+QueryMessageInfoResult::Message QueryMessageInfoResult::getMessage()const
+{
+	return message_;
+}
+
+std::string QueryMessageInfoResult::getErrorMessage()const
+{
+	return errorMessage_;
+}
+
+std::string QueryMessageInfoResult::getCode()const
+{
+	return code_;
+}
+
+bool QueryMessageInfoResult::getSuccess()const
+{
+	return success_;
+}
+

+ 18 - 0
iot/src/model/QueryOTAFirmwareResult.cc

@@ -74,6 +74,24 @@ void QueryOTAFirmwareResult::parse(const std::string &payload)
 		firmwareInfo_.verifyProgress = std::stoi(firmwareInfoNode["VerifyProgress"].asString());
 	if(!firmwareInfoNode["ModuleName"].isNull())
 		firmwareInfo_.moduleName = firmwareInfoNode["ModuleName"].asString();
+	if(!firmwareInfoNode["Udi"].isNull())
+		firmwareInfo_.udi = firmwareInfoNode["Udi"].asString();
+	auto allMultiFilesNode = firmwareInfoNode["MultiFiles"]["OtaPackageFileDTO"];
+	for (auto firmwareInfoNodeMultiFilesOtaPackageFileDTO : allMultiFilesNode)
+	{
+		FirmwareInfo::OtaPackageFileDTO otaPackageFileDTOObject;
+		if(!firmwareInfoNodeMultiFilesOtaPackageFileDTO["Name"].isNull())
+			otaPackageFileDTOObject.name = firmwareInfoNodeMultiFilesOtaPackageFileDTO["Name"].asString();
+		if(!firmwareInfoNodeMultiFilesOtaPackageFileDTO["Size"].isNull())
+			otaPackageFileDTOObject.size = std::stoi(firmwareInfoNodeMultiFilesOtaPackageFileDTO["Size"].asString());
+		if(!firmwareInfoNodeMultiFilesOtaPackageFileDTO["Url"].isNull())
+			otaPackageFileDTOObject.url = firmwareInfoNodeMultiFilesOtaPackageFileDTO["Url"].asString();
+		if(!firmwareInfoNodeMultiFilesOtaPackageFileDTO["SignValue"].isNull())
+			otaPackageFileDTOObject.signValue = firmwareInfoNodeMultiFilesOtaPackageFileDTO["SignValue"].asString();
+		if(!firmwareInfoNodeMultiFilesOtaPackageFileDTO["FileMd5"].isNull())
+			otaPackageFileDTOObject.fileMd5 = firmwareInfoNodeMultiFilesOtaPackageFileDTO["FileMd5"].asString();
+		firmwareInfo_.multiFiles.push_back(otaPackageFileDTOObject);
+	}
 	if(!value["Success"].isNull())
 		success_ = value["Success"].asString() == "true";
 	if(!value["Code"].isNull())

+ 128 - 0
iot/src/model/QuerySpeechDeviceRequest.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/QuerySpeechDeviceRequest.h>
+
+using AlibabaCloud::Iot::Model::QuerySpeechDeviceRequest;
+
+QuerySpeechDeviceRequest::QuerySpeechDeviceRequest() :
+	RpcServiceRequest("iot", "2018-01-20", "QuerySpeechDevice")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+QuerySpeechDeviceRequest::~QuerySpeechDeviceRequest()
+{}
+
+std::string QuerySpeechDeviceRequest::getAvailableSpaceScope()const
+{
+	return availableSpaceScope_;
+}
+
+void QuerySpeechDeviceRequest::setAvailableSpaceScope(const std::string& availableSpaceScope)
+{
+	availableSpaceScope_ = availableSpaceScope;
+	setBodyParameter("AvailableSpaceScope", availableSpaceScope);
+}
+
+std::string QuerySpeechDeviceRequest::getProjectCode()const
+{
+	return projectCode_;
+}
+
+void QuerySpeechDeviceRequest::setProjectCode(const std::string& projectCode)
+{
+	projectCode_ = projectCode;
+	setBodyParameter("ProjectCode", projectCode);
+}
+
+int QuerySpeechDeviceRequest::getPageId()const
+{
+	return pageId_;
+}
+
+void QuerySpeechDeviceRequest::setPageId(int pageId)
+{
+	pageId_ = pageId;
+	setBodyParameter("PageId", std::to_string(pageId));
+}
+
+std::string QuerySpeechDeviceRequest::getIotInstanceId()const
+{
+	return iotInstanceId_;
+}
+
+void QuerySpeechDeviceRequest::setIotInstanceId(const std::string& iotInstanceId)
+{
+	iotInstanceId_ = iotInstanceId;
+	setBodyParameter("IotInstanceId", iotInstanceId);
+}
+
+int QuerySpeechDeviceRequest::getPageSize()const
+{
+	return pageSize_;
+}
+
+void QuerySpeechDeviceRequest::setPageSize(int pageSize)
+{
+	pageSize_ = pageSize;
+	setBodyParameter("PageSize", std::to_string(pageSize));
+}
+
+std::string QuerySpeechDeviceRequest::getAvailableSpace()const
+{
+	return availableSpace_;
+}
+
+void QuerySpeechDeviceRequest::setAvailableSpace(const std::string& availableSpace)
+{
+	availableSpace_ = availableSpace;
+	setBodyParameter("AvailableSpace", availableSpace);
+}
+
+std::string QuerySpeechDeviceRequest::getApiProduct()const
+{
+	return apiProduct_;
+}
+
+void QuerySpeechDeviceRequest::setApiProduct(const std::string& apiProduct)
+{
+	apiProduct_ = apiProduct;
+	setBodyParameter("ApiProduct", apiProduct);
+}
+
+std::string QuerySpeechDeviceRequest::getApiRevision()const
+{
+	return apiRevision_;
+}
+
+void QuerySpeechDeviceRequest::setApiRevision(const std::string& apiRevision)
+{
+	apiRevision_ = apiRevision;
+	setBodyParameter("ApiRevision", apiRevision);
+}
+
+std::string QuerySpeechDeviceRequest::getDeviceName()const
+{
+	return deviceName_;
+}
+
+void QuerySpeechDeviceRequest::setDeviceName(const std::string& deviceName)
+{
+	deviceName_ = deviceName;
+	setBodyParameter("DeviceName", deviceName);
+}
+

+ 91 - 0
iot/src/model/QuerySpeechDeviceResult.cc

@@ -0,0 +1,91 @@
+/*
+ * 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/QuerySpeechDeviceResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Iot;
+using namespace AlibabaCloud::Iot::Model;
+
+QuerySpeechDeviceResult::QuerySpeechDeviceResult() :
+	ServiceResult()
+{}
+
+QuerySpeechDeviceResult::QuerySpeechDeviceResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+QuerySpeechDeviceResult::~QuerySpeechDeviceResult()
+{}
+
+void QuerySpeechDeviceResult::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["Total"].isNull())
+		data_.total = std::stoi(dataNode["Total"].asString());
+	if(!dataNode["PageId"].isNull())
+		data_.pageId = std::stoi(dataNode["PageId"].asString());
+	if(!dataNode["PageSize"].isNull())
+		data_.pageSize = std::stoi(dataNode["PageSize"].asString());
+	auto allListNode = dataNode["List"]["Items"];
+	for (auto dataNodeListItems : allListNode)
+	{
+		Data::Items itemsObject;
+		if(!dataNodeListItems["ProductKey"].isNull())
+			itemsObject.productKey = dataNodeListItems["ProductKey"].asString();
+		if(!dataNodeListItems["DeviceName"].isNull())
+			itemsObject.deviceName = dataNodeListItems["DeviceName"].asString();
+		if(!dataNodeListItems["IotId"].isNull())
+			itemsObject.iotId = dataNodeListItems["IotId"].asString();
+		if(!dataNodeListItems["AvailableSpace"].isNull())
+			itemsObject.availableSpace = std::stof(dataNodeListItems["AvailableSpace"].asString());
+		data_.list.push_back(itemsObject);
+	}
+	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();
+
+}
+
+QuerySpeechDeviceResult::Data QuerySpeechDeviceResult::getData()const
+{
+	return data_;
+}
+
+std::string QuerySpeechDeviceResult::getErrorMessage()const
+{
+	return errorMessage_;
+}
+
+std::string QuerySpeechDeviceResult::getCode()const
+{
+	return code_;
+}
+
+bool QuerySpeechDeviceResult::getSuccess()const
+{
+	return success_;
+}
+

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

@@ -49,6 +49,17 @@ void QuerySpeechListRequest::setPageId(int pageId)
 	setBodyParameter("PageId", std::to_string(pageId));
 }
 
+std::string QuerySpeechListRequest::getAudioFormat()const
+{
+	return audioFormat_;
+}
+
+void QuerySpeechListRequest::setAudioFormat(const std::string& audioFormat)
+{
+	audioFormat_ = audioFormat;
+	setBodyParameter("AudioFormat", audioFormat);
+}
+
 std::string QuerySpeechListRequest::getIotInstanceId()const
 {
 	return iotInstanceId_;

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

@@ -60,6 +60,8 @@ void QuerySpeechListResult::parse(const std::string &payload)
 			itemsObject.voice = dataNodeListItems["Voice"].asString();
 		if(!dataNodeListItems["SpeechType"].isNull())
 			itemsObject.speechType = dataNodeListItems["SpeechType"].asString();
+		if(!dataNodeListItems["AudioFormat"].isNull())
+			itemsObject.audioFormat = dataNodeListItems["AudioFormat"].asString();
 		auto allSpeechListNode = dataNodeListItems["SpeechList"]["Items"];
 		for (auto dataNodeListItemsSpeechListItems : allSpeechListNode)
 		{

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

@@ -71,6 +71,17 @@ void QueryThingModelRequest::setResourceGroupId(const std::string& resourceGroup
 	setParameter("ResourceGroupId", resourceGroupId);
 }
 
+std::string QueryThingModelRequest::getDTModelId()const
+{
+	return dTModelId_;
+}
+
+void QueryThingModelRequest::setDTModelId(const std::string& dTModelId)
+{
+	dTModelId_ = dTModelId;
+	setParameter("DTModelId", dTModelId);
+}
+
 std::string QueryThingModelRequest::getIotInstanceId()const
 {
 	return iotInstanceId_;

+ 73 - 0
iot/src/model/RerunJobRequest.cc

@@ -0,0 +1,73 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/iot/model/RerunJobRequest.h>
+
+using AlibabaCloud::Iot::Model::RerunJobRequest;
+
+RerunJobRequest::RerunJobRequest() :
+	RpcServiceRequest("iot", "2018-01-20", "RerunJob")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+RerunJobRequest::~RerunJobRequest()
+{}
+
+std::string RerunJobRequest::getJobId()const
+{
+	return jobId_;
+}
+
+void RerunJobRequest::setJobId(const std::string& jobId)
+{
+	jobId_ = jobId;
+	setParameter("JobId", jobId);
+}
+
+std::string RerunJobRequest::getIotInstanceId()const
+{
+	return iotInstanceId_;
+}
+
+void RerunJobRequest::setIotInstanceId(const std::string& iotInstanceId)
+{
+	iotInstanceId_ = iotInstanceId;
+	setParameter("IotInstanceId", iotInstanceId);
+}
+
+std::string RerunJobRequest::getApiProduct()const
+{
+	return apiProduct_;
+}
+
+void RerunJobRequest::setApiProduct(const std::string& apiProduct)
+{
+	apiProduct_ = apiProduct;
+	setBodyParameter("ApiProduct", apiProduct);
+}
+
+std::string RerunJobRequest::getApiRevision()const
+{
+	return apiRevision_;
+}
+
+void RerunJobRequest::setApiRevision(const std::string& apiRevision)
+{
+	apiRevision_ = apiRevision;
+	setBodyParameter("ApiRevision", apiRevision);
+}
+

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

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

@@ -27,6 +27,28 @@ SpeechByCombinationRequest::SpeechByCombinationRequest() :
 SpeechByCombinationRequest::~SpeechByCombinationRequest()
 {}
 
+std::string SpeechByCombinationRequest::getSpeechId()const
+{
+	return speechId_;
+}
+
+void SpeechByCombinationRequest::setSpeechId(const std::string& speechId)
+{
+	speechId_ = speechId;
+	setBodyParameter("SpeechId", speechId);
+}
+
+std::string SpeechByCombinationRequest::getAudioFormat()const
+{
+	return audioFormat_;
+}
+
+void SpeechByCombinationRequest::setAudioFormat(const std::string& audioFormat)
+{
+	audioFormat_ = audioFormat;
+	setBodyParameter("AudioFormat", audioFormat);
+}
+
 std::string SpeechByCombinationRequest::getIotId()const
 {
 	return iotId_;

+ 97 - 0
iot/src/model/SubscribeTopicRequest.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/SubscribeTopicRequest.h>
+
+using AlibabaCloud::Iot::Model::SubscribeTopicRequest;
+
+SubscribeTopicRequest::SubscribeTopicRequest() :
+	RpcServiceRequest("iot", "2018-01-20", "SubscribeTopic")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+SubscribeTopicRequest::~SubscribeTopicRequest()
+{}
+
+std::string SubscribeTopicRequest::getIotInstanceId()const
+{
+	return iotInstanceId_;
+}
+
+void SubscribeTopicRequest::setIotInstanceId(const std::string& iotInstanceId)
+{
+	iotInstanceId_ = iotInstanceId;
+	setParameter("IotInstanceId", iotInstanceId);
+}
+
+std::string SubscribeTopicRequest::getProductKey()const
+{
+	return productKey_;
+}
+
+void SubscribeTopicRequest::setProductKey(const std::string& productKey)
+{
+	productKey_ = productKey;
+	setParameter("ProductKey", productKey);
+}
+
+std::string SubscribeTopicRequest::getApiProduct()const
+{
+	return apiProduct_;
+}
+
+void SubscribeTopicRequest::setApiProduct(const std::string& apiProduct)
+{
+	apiProduct_ = apiProduct;
+	setBodyParameter("ApiProduct", apiProduct);
+}
+
+std::vector<std::string> SubscribeTopicRequest::getTopic()const
+{
+	return topic_;
+}
+
+void SubscribeTopicRequest::setTopic(const std::vector<std::string>& topic)
+{
+	topic_ = topic;
+	for(int dep1 = 0; dep1!= topic.size(); dep1++) {
+		setParameter("Topic."+ std::to_string(dep1), topic.at(dep1));
+	}
+}
+
+std::string SubscribeTopicRequest::getApiRevision()const
+{
+	return apiRevision_;
+}
+
+void SubscribeTopicRequest::setApiRevision(const std::string& apiRevision)
+{
+	apiRevision_ = apiRevision;
+	setBodyParameter("ApiRevision", apiRevision);
+}
+
+std::string SubscribeTopicRequest::getDeviceName()const
+{
+	return deviceName_;
+}
+
+void SubscribeTopicRequest::setDeviceName(const std::string& deviceName)
+{
+	deviceName_ = deviceName;
+	setParameter("DeviceName", deviceName);
+}
+

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

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

@@ -27,6 +27,28 @@ SyncSpeechByCombinationRequest::SyncSpeechByCombinationRequest() :
 SyncSpeechByCombinationRequest::~SyncSpeechByCombinationRequest()
 {}
 
+std::string SyncSpeechByCombinationRequest::getSpeechId()const
+{
+	return speechId_;
+}
+
+void SyncSpeechByCombinationRequest::setSpeechId(const std::string& speechId)
+{
+	speechId_ = speechId;
+	setBodyParameter("SpeechId", speechId);
+}
+
+std::string SyncSpeechByCombinationRequest::getAudioFormat()const
+{
+	return audioFormat_;
+}
+
+void SyncSpeechByCombinationRequest::setAudioFormat(const std::string& audioFormat)
+{
+	audioFormat_ = audioFormat;
+	setBodyParameter("AudioFormat", audioFormat);
+}
+
 std::string SyncSpeechByCombinationRequest::getIotId()const
 {
 	return iotId_;

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

@@ -52,6 +52,8 @@ void SyncSpeechByCombinationResult::parse(const std::string &payload)
 		data_.deviceErrorCode = dataNode["DeviceErrorCode"].asString();
 	if(!dataNode["DeviceErrorMessage"].isNull())
 		data_.deviceErrorMessage = dataNode["DeviceErrorMessage"].asString();
+	if(!dataNode["Detail"].isNull())
+		data_.detail = dataNode["Detail"].asString();
 	if(!value["Success"].isNull())
 		success_ = value["Success"].asString() == "true";
 	if(!value["Code"].isNull())

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

@@ -49,6 +49,17 @@ void TestSpeechRequest::setProjectCode(const std::string& projectCode)
 	setBodyParameter("ProjectCode", projectCode);
 }
 
+std::string TestSpeechRequest::getAudioFormat()const
+{
+	return audioFormat_;
+}
+
+void TestSpeechRequest::setAudioFormat(const std::string& audioFormat)
+{
+	audioFormat_ = audioFormat;
+	setBodyParameter("AudioFormat", audioFormat);
+}
+
 std::string TestSpeechRequest::getIotInstanceId()const
 {
 	return iotInstanceId_;

+ 95 - 0
iot/src/model/TransformClientIdRequest.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/TransformClientIdRequest.h>
+
+using AlibabaCloud::Iot::Model::TransformClientIdRequest;
+
+TransformClientIdRequest::TransformClientIdRequest() :
+	RpcServiceRequest("iot", "2018-01-20", "TransformClientId")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+TransformClientIdRequest::~TransformClientIdRequest()
+{}
+
+std::string TransformClientIdRequest::getAuthConfig()const
+{
+	return authConfig_;
+}
+
+void TransformClientIdRequest::setAuthConfig(const std::string& authConfig)
+{
+	authConfig_ = authConfig;
+	setParameter("AuthConfig", authConfig);
+}
+
+std::string TransformClientIdRequest::getClientId()const
+{
+	return clientId_;
+}
+
+void TransformClientIdRequest::setClientId(const std::string& clientId)
+{
+	clientId_ = clientId;
+	setParameter("ClientId", clientId);
+}
+
+std::string TransformClientIdRequest::getIotId()const
+{
+	return iotId_;
+}
+
+void TransformClientIdRequest::setIotId(const std::string& iotId)
+{
+	iotId_ = iotId;
+	setParameter("IotId", iotId);
+}
+
+std::string TransformClientIdRequest::getIotInstanceId()const
+{
+	return iotInstanceId_;
+}
+
+void TransformClientIdRequest::setIotInstanceId(const std::string& iotInstanceId)
+{
+	iotInstanceId_ = iotInstanceId;
+	setParameter("IotInstanceId", iotInstanceId);
+}
+
+std::string TransformClientIdRequest::getApiProduct()const
+{
+	return apiProduct_;
+}
+
+void TransformClientIdRequest::setApiProduct(const std::string& apiProduct)
+{
+	apiProduct_ = apiProduct;
+	setBodyParameter("ApiProduct", apiProduct);
+}
+
+std::string TransformClientIdRequest::getApiRevision()const
+{
+	return apiRevision_;
+}
+
+void TransformClientIdRequest::setApiRevision(const std::string& apiRevision)
+{
+	apiRevision_ = apiRevision;
+	setBodyParameter("ApiRevision", apiRevision);
+}
+

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