Selaa lähdekoodia

Iot_20180120 oldversion sdk.

sdk-team 4 vuotta sitten
vanhempi
sitoutus
20fb930aaf
31 muutettua tiedostoa jossa 1614 lisäystä ja 14 poistoa
  1. 3 0
      CHANGELOG
  2. 1 1
      VERSION
  3. 20 0
      iot/CMakeLists.txt
  4. 40 0
      iot/include/alibabacloud/iot/IotClient.h
  5. 60 0
      iot/include/alibabacloud/iot/model/CreateSoundCodeRequest.h
  6. 57 0
      iot/include/alibabacloud/iot/model/CreateSoundCodeResult.h
  7. 57 0
      iot/include/alibabacloud/iot/model/DeleteSoundCodeRequest.h
  8. 55 0
      iot/include/alibabacloud/iot/model/DeleteSoundCodeResult.h
  9. 57 0
      iot/include/alibabacloud/iot/model/GetSoundCodeAudioRequest.h
  10. 57 0
      iot/include/alibabacloud/iot/model/GetSoundCodeAudioResult.h
  11. 1 0
      iot/include/alibabacloud/iot/model/InvokeDataAPIServiceResult.h
  12. 6 0
      iot/include/alibabacloud/iot/model/ListDeviceDistributeJobRequest.h
  13. 60 0
      iot/include/alibabacloud/iot/model/QuerySoundCodeListRequest.h
  14. 71 0
      iot/include/alibabacloud/iot/model/QuerySoundCodeListResult.h
  15. 54 0
      iot/include/alibabacloud/iot/model/StartAIBoxForceSyncRequest.h
  16. 57 0
      iot/include/alibabacloud/iot/model/StartAIBoxForceSyncResult.h
  17. 0 2
      iot/include/alibabacloud/iot/model/SubscribeTopicResult.h
  18. 183 3
      iot/src/IotClient.cc
  19. 84 0
      iot/src/model/CreateSoundCodeRequest.cc
  20. 72 0
      iot/src/model/CreateSoundCodeResult.cc
  21. 73 0
      iot/src/model/DeleteSoundCodeRequest.cc
  22. 65 0
      iot/src/model/DeleteSoundCodeResult.cc
  23. 75 0
      iot/src/model/GetSoundCodeAudioRequest.cc
  24. 73 0
      iot/src/model/GetSoundCodeAudioResult.cc
  25. 2 0
      iot/src/model/InvokeDataAPIServiceResult.cc
  26. 22 0
      iot/src/model/ListDeviceDistributeJobRequest.cc
  27. 84 0
      iot/src/model/QuerySoundCodeListRequest.cc
  28. 91 0
      iot/src/model/QuerySoundCodeListResult.cc
  29. 62 0
      iot/src/model/StartAIBoxForceSyncRequest.cc
  30. 72 0
      iot/src/model/StartAIBoxForceSyncResult.cc
  31. 0 8
      iot/src/model/SubscribeTopicResult.cc

+ 3 - 0
CHANGELOG

@@ -1,3 +1,6 @@
+2022-02-08 Version: 1.36.1049
+- Iot_20180120 oldversion sdk.
+
 2022-01-28 Version: 1.36.1048
 - Support cloud disk.
 

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.1048
+1.36.1049

+ 20 - 0
iot/CMakeLists.txt

@@ -167,6 +167,8 @@ set(iot_public_header_model
 	include/alibabacloud/iot/model/CreateRulengDistributeJobResult.h
 	include/alibabacloud/iot/model/CreateSceneRuleRequest.h
 	include/alibabacloud/iot/model/CreateSceneRuleResult.h
+	include/alibabacloud/iot/model/CreateSoundCodeRequest.h
+	include/alibabacloud/iot/model/CreateSoundCodeResult.h
 	include/alibabacloud/iot/model/CreateSpeechRequest.h
 	include/alibabacloud/iot/model/CreateSpeechResult.h
 	include/alibabacloud/iot/model/CreateStudioAppDomainOpenRequest.h
@@ -227,6 +229,8 @@ set(iot_public_header_model
 	include/alibabacloud/iot/model/DeleteRuleActionResult.h
 	include/alibabacloud/iot/model/DeleteSceneRuleRequest.h
 	include/alibabacloud/iot/model/DeleteSceneRuleResult.h
+	include/alibabacloud/iot/model/DeleteSoundCodeRequest.h
+	include/alibabacloud/iot/model/DeleteSoundCodeResult.h
 	include/alibabacloud/iot/model/DeleteSpeechRequest.h
 	include/alibabacloud/iot/model/DeleteSpeechResult.h
 	include/alibabacloud/iot/model/DeleteStudioAppDomainOpenRequest.h
@@ -289,6 +293,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/GetSoundCodeAudioRequest.h
+	include/alibabacloud/iot/model/GetSoundCodeAudioResult.h
 	include/alibabacloud/iot/model/GetSpeechDeviceDetailRequest.h
 	include/alibabacloud/iot/model/GetSpeechDeviceDetailResult.h
 	include/alibabacloud/iot/model/GetSpeechVoiceRequest.h
@@ -495,6 +501,8 @@ set(iot_public_header_model
 	include/alibabacloud/iot/model/QuerySceneRuleResult.h
 	include/alibabacloud/iot/model/QuerySolutionDeviceGroupPageRequest.h
 	include/alibabacloud/iot/model/QuerySolutionDeviceGroupPageResult.h
+	include/alibabacloud/iot/model/QuerySoundCodeListRequest.h
+	include/alibabacloud/iot/model/QuerySoundCodeListResult.h
 	include/alibabacloud/iot/model/QuerySpeechRequest.h
 	include/alibabacloud/iot/model/QuerySpeechResult.h
 	include/alibabacloud/iot/model/QuerySpeechDeviceRequest.h
@@ -579,6 +587,8 @@ set(iot_public_header_model
 	include/alibabacloud/iot/model/SpeechByCombinationResult.h
 	include/alibabacloud/iot/model/SpeechBySynthesisRequest.h
 	include/alibabacloud/iot/model/SpeechBySynthesisResult.h
+	include/alibabacloud/iot/model/StartAIBoxForceSyncRequest.h
+	include/alibabacloud/iot/model/StartAIBoxForceSyncResult.h
 	include/alibabacloud/iot/model/StartRuleRequest.h
 	include/alibabacloud/iot/model/StartRuleResult.h
 	include/alibabacloud/iot/model/StopRuleRequest.h
@@ -792,6 +802,8 @@ set(iot_src
 	src/model/CreateRulengDistributeJobResult.cc
 	src/model/CreateSceneRuleRequest.cc
 	src/model/CreateSceneRuleResult.cc
+	src/model/CreateSoundCodeRequest.cc
+	src/model/CreateSoundCodeResult.cc
 	src/model/CreateSpeechRequest.cc
 	src/model/CreateSpeechResult.cc
 	src/model/CreateStudioAppDomainOpenRequest.cc
@@ -852,6 +864,8 @@ set(iot_src
 	src/model/DeleteRuleActionResult.cc
 	src/model/DeleteSceneRuleRequest.cc
 	src/model/DeleteSceneRuleResult.cc
+	src/model/DeleteSoundCodeRequest.cc
+	src/model/DeleteSoundCodeResult.cc
 	src/model/DeleteSpeechRequest.cc
 	src/model/DeleteSpeechResult.cc
 	src/model/DeleteStudioAppDomainOpenRequest.cc
@@ -914,6 +928,8 @@ set(iot_src
 	src/model/GetRuleActionResult.cc
 	src/model/GetSceneRuleRequest.cc
 	src/model/GetSceneRuleResult.cc
+	src/model/GetSoundCodeAudioRequest.cc
+	src/model/GetSoundCodeAudioResult.cc
 	src/model/GetSpeechDeviceDetailRequest.cc
 	src/model/GetSpeechDeviceDetailResult.cc
 	src/model/GetSpeechVoiceRequest.cc
@@ -1120,6 +1136,8 @@ set(iot_src
 	src/model/QuerySceneRuleResult.cc
 	src/model/QuerySolutionDeviceGroupPageRequest.cc
 	src/model/QuerySolutionDeviceGroupPageResult.cc
+	src/model/QuerySoundCodeListRequest.cc
+	src/model/QuerySoundCodeListResult.cc
 	src/model/QuerySpeechRequest.cc
 	src/model/QuerySpeechResult.cc
 	src/model/QuerySpeechDeviceRequest.cc
@@ -1204,6 +1222,8 @@ set(iot_src
 	src/model/SpeechByCombinationResult.cc
 	src/model/SpeechBySynthesisRequest.cc
 	src/model/SpeechBySynthesisResult.cc
+	src/model/StartAIBoxForceSyncRequest.cc
+	src/model/StartAIBoxForceSyncResult.cc
 	src/model/StartRuleRequest.cc
 	src/model/StartRuleResult.cc
 	src/model/StopRuleRequest.cc

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

@@ -168,6 +168,8 @@
 #include "model/CreateRulengDistributeJobResult.h"
 #include "model/CreateSceneRuleRequest.h"
 #include "model/CreateSceneRuleResult.h"
+#include "model/CreateSoundCodeRequest.h"
+#include "model/CreateSoundCodeResult.h"
 #include "model/CreateSpeechRequest.h"
 #include "model/CreateSpeechResult.h"
 #include "model/CreateStudioAppDomainOpenRequest.h"
@@ -228,6 +230,8 @@
 #include "model/DeleteRuleActionResult.h"
 #include "model/DeleteSceneRuleRequest.h"
 #include "model/DeleteSceneRuleResult.h"
+#include "model/DeleteSoundCodeRequest.h"
+#include "model/DeleteSoundCodeResult.h"
 #include "model/DeleteSpeechRequest.h"
 #include "model/DeleteSpeechResult.h"
 #include "model/DeleteStudioAppDomainOpenRequest.h"
@@ -290,6 +294,8 @@
 #include "model/GetRuleActionResult.h"
 #include "model/GetSceneRuleRequest.h"
 #include "model/GetSceneRuleResult.h"
+#include "model/GetSoundCodeAudioRequest.h"
+#include "model/GetSoundCodeAudioResult.h"
 #include "model/GetSpeechDeviceDetailRequest.h"
 #include "model/GetSpeechDeviceDetailResult.h"
 #include "model/GetSpeechVoiceRequest.h"
@@ -496,6 +502,8 @@
 #include "model/QuerySceneRuleResult.h"
 #include "model/QuerySolutionDeviceGroupPageRequest.h"
 #include "model/QuerySolutionDeviceGroupPageResult.h"
+#include "model/QuerySoundCodeListRequest.h"
+#include "model/QuerySoundCodeListResult.h"
 #include "model/QuerySpeechRequest.h"
 #include "model/QuerySpeechResult.h"
 #include "model/QuerySpeechDeviceRequest.h"
@@ -580,6 +588,8 @@
 #include "model/SpeechByCombinationResult.h"
 #include "model/SpeechBySynthesisRequest.h"
 #include "model/SpeechBySynthesisResult.h"
+#include "model/StartAIBoxForceSyncRequest.h"
+#include "model/StartAIBoxForceSyncResult.h"
 #include "model/StartRuleRequest.h"
 #include "model/StartRuleResult.h"
 #include "model/StopRuleRequest.h"
@@ -872,6 +882,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::CreateSceneRuleResult> CreateSceneRuleOutcome;
 			typedef std::future<CreateSceneRuleOutcome> CreateSceneRuleOutcomeCallable;
 			typedef std::function<void(const IotClient*, const Model::CreateSceneRuleRequest&, const CreateSceneRuleOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateSceneRuleAsyncHandler;
+			typedef Outcome<Error, Model::CreateSoundCodeResult> CreateSoundCodeOutcome;
+			typedef std::future<CreateSoundCodeOutcome> CreateSoundCodeOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::CreateSoundCodeRequest&, const CreateSoundCodeOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateSoundCodeAsyncHandler;
 			typedef Outcome<Error, Model::CreateSpeechResult> CreateSpeechOutcome;
 			typedef std::future<CreateSpeechOutcome> CreateSpeechOutcomeCallable;
 			typedef std::function<void(const IotClient*, const Model::CreateSpeechRequest&, const CreateSpeechOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateSpeechAsyncHandler;
@@ -962,6 +975,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DeleteSceneRuleResult> DeleteSceneRuleOutcome;
 			typedef std::future<DeleteSceneRuleOutcome> DeleteSceneRuleOutcomeCallable;
 			typedef std::function<void(const IotClient*, const Model::DeleteSceneRuleRequest&, const DeleteSceneRuleOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteSceneRuleAsyncHandler;
+			typedef Outcome<Error, Model::DeleteSoundCodeResult> DeleteSoundCodeOutcome;
+			typedef std::future<DeleteSoundCodeOutcome> DeleteSoundCodeOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::DeleteSoundCodeRequest&, const DeleteSoundCodeOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteSoundCodeAsyncHandler;
 			typedef Outcome<Error, Model::DeleteSpeechResult> DeleteSpeechOutcome;
 			typedef std::future<DeleteSpeechOutcome> DeleteSpeechOutcomeCallable;
 			typedef std::function<void(const IotClient*, const Model::DeleteSpeechRequest&, const DeleteSpeechOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteSpeechAsyncHandler;
@@ -1055,6 +1071,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::GetSoundCodeAudioResult> GetSoundCodeAudioOutcome;
+			typedef std::future<GetSoundCodeAudioOutcome> GetSoundCodeAudioOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::GetSoundCodeAudioRequest&, const GetSoundCodeAudioOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetSoundCodeAudioAsyncHandler;
 			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;
@@ -1364,6 +1383,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::QuerySolutionDeviceGroupPageResult> QuerySolutionDeviceGroupPageOutcome;
 			typedef std::future<QuerySolutionDeviceGroupPageOutcome> QuerySolutionDeviceGroupPageOutcomeCallable;
 			typedef std::function<void(const IotClient*, const Model::QuerySolutionDeviceGroupPageRequest&, const QuerySolutionDeviceGroupPageOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QuerySolutionDeviceGroupPageAsyncHandler;
+			typedef Outcome<Error, Model::QuerySoundCodeListResult> QuerySoundCodeListOutcome;
+			typedef std::future<QuerySoundCodeListOutcome> QuerySoundCodeListOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::QuerySoundCodeListRequest&, const QuerySoundCodeListOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QuerySoundCodeListAsyncHandler;
 			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;
@@ -1490,6 +1512,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::SpeechBySynthesisResult> SpeechBySynthesisOutcome;
 			typedef std::future<SpeechBySynthesisOutcome> SpeechBySynthesisOutcomeCallable;
 			typedef std::function<void(const IotClient*, const Model::SpeechBySynthesisRequest&, const SpeechBySynthesisOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SpeechBySynthesisAsyncHandler;
+			typedef Outcome<Error, Model::StartAIBoxForceSyncResult> StartAIBoxForceSyncOutcome;
+			typedef std::future<StartAIBoxForceSyncOutcome> StartAIBoxForceSyncOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::StartAIBoxForceSyncRequest&, const StartAIBoxForceSyncOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> StartAIBoxForceSyncAsyncHandler;
 			typedef Outcome<Error, Model::StartRuleResult> StartRuleOutcome;
 			typedef std::future<StartRuleOutcome> StartRuleOutcomeCallable;
 			typedef std::function<void(const IotClient*, const Model::StartRuleRequest&, const StartRuleOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> StartRuleAsyncHandler;
@@ -1810,6 +1835,9 @@ namespace AlibabaCloud
 			CreateSceneRuleOutcome createSceneRule(const Model::CreateSceneRuleRequest &request)const;
 			void createSceneRuleAsync(const Model::CreateSceneRuleRequest& request, const CreateSceneRuleAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateSceneRuleOutcomeCallable createSceneRuleCallable(const Model::CreateSceneRuleRequest& request) const;
+			CreateSoundCodeOutcome createSoundCode(const Model::CreateSoundCodeRequest &request)const;
+			void createSoundCodeAsync(const Model::CreateSoundCodeRequest& request, const CreateSoundCodeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateSoundCodeOutcomeCallable createSoundCodeCallable(const Model::CreateSoundCodeRequest& request) const;
 			CreateSpeechOutcome createSpeech(const Model::CreateSpeechRequest &request)const;
 			void createSpeechAsync(const Model::CreateSpeechRequest& request, const CreateSpeechAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateSpeechOutcomeCallable createSpeechCallable(const Model::CreateSpeechRequest& request) const;
@@ -1900,6 +1928,9 @@ namespace AlibabaCloud
 			DeleteSceneRuleOutcome deleteSceneRule(const Model::DeleteSceneRuleRequest &request)const;
 			void deleteSceneRuleAsync(const Model::DeleteSceneRuleRequest& request, const DeleteSceneRuleAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteSceneRuleOutcomeCallable deleteSceneRuleCallable(const Model::DeleteSceneRuleRequest& request) const;
+			DeleteSoundCodeOutcome deleteSoundCode(const Model::DeleteSoundCodeRequest &request)const;
+			void deleteSoundCodeAsync(const Model::DeleteSoundCodeRequest& request, const DeleteSoundCodeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteSoundCodeOutcomeCallable deleteSoundCodeCallable(const Model::DeleteSoundCodeRequest& request) const;
 			DeleteSpeechOutcome deleteSpeech(const Model::DeleteSpeechRequest &request)const;
 			void deleteSpeechAsync(const Model::DeleteSpeechRequest& request, const DeleteSpeechAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteSpeechOutcomeCallable deleteSpeechCallable(const Model::DeleteSpeechRequest& request) const;
@@ -1993,6 +2024,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;
+			GetSoundCodeAudioOutcome getSoundCodeAudio(const Model::GetSoundCodeAudioRequest &request)const;
+			void getSoundCodeAudioAsync(const Model::GetSoundCodeAudioRequest& request, const GetSoundCodeAudioAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			GetSoundCodeAudioOutcomeCallable getSoundCodeAudioCallable(const Model::GetSoundCodeAudioRequest& 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;
@@ -2302,6 +2336,9 @@ namespace AlibabaCloud
 			QuerySolutionDeviceGroupPageOutcome querySolutionDeviceGroupPage(const Model::QuerySolutionDeviceGroupPageRequest &request)const;
 			void querySolutionDeviceGroupPageAsync(const Model::QuerySolutionDeviceGroupPageRequest& request, const QuerySolutionDeviceGroupPageAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			QuerySolutionDeviceGroupPageOutcomeCallable querySolutionDeviceGroupPageCallable(const Model::QuerySolutionDeviceGroupPageRequest& request) const;
+			QuerySoundCodeListOutcome querySoundCodeList(const Model::QuerySoundCodeListRequest &request)const;
+			void querySoundCodeListAsync(const Model::QuerySoundCodeListRequest& request, const QuerySoundCodeListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			QuerySoundCodeListOutcomeCallable querySoundCodeListCallable(const Model::QuerySoundCodeListRequest& request) const;
 			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;
@@ -2428,6 +2465,9 @@ namespace AlibabaCloud
 			SpeechBySynthesisOutcome speechBySynthesis(const Model::SpeechBySynthesisRequest &request)const;
 			void speechBySynthesisAsync(const Model::SpeechBySynthesisRequest& request, const SpeechBySynthesisAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			SpeechBySynthesisOutcomeCallable speechBySynthesisCallable(const Model::SpeechBySynthesisRequest& request) const;
+			StartAIBoxForceSyncOutcome startAIBoxForceSync(const Model::StartAIBoxForceSyncRequest &request)const;
+			void startAIBoxForceSyncAsync(const Model::StartAIBoxForceSyncRequest& request, const StartAIBoxForceSyncAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			StartAIBoxForceSyncOutcomeCallable startAIBoxForceSyncCallable(const Model::StartAIBoxForceSyncRequest& request) const;
 			StartRuleOutcome startRule(const Model::StartRuleRequest &request)const;
 			void startRuleAsync(const Model::StartRuleRequest& request, const StartRuleAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			StartRuleOutcomeCallable startRuleCallable(const Model::StartRuleRequest& request) const;

+ 60 - 0
iot/include/alibabacloud/iot/model/CreateSoundCodeRequest.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_CREATESOUNDCODEREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_CREATESOUNDCODEREQUEST_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 CreateSoundCodeRequest : public RpcServiceRequest
+			{
+
+			public:
+				CreateSoundCodeRequest();
+				~CreateSoundCodeRequest();
+
+				int getDuration()const;
+				void setDuration(int duration);
+				std::string getIotInstanceId()const;
+				void setIotInstanceId(const std::string& iotInstanceId);
+				std::string getSoundCodeContent()const;
+				void setSoundCodeContent(const std::string& soundCodeContent);
+				std::string getApiProduct()const;
+				void setApiProduct(const std::string& apiProduct);
+				std::string getApiRevision()const;
+				void setApiRevision(const std::string& apiRevision);
+
+            private:
+				int duration_;
+				std::string iotInstanceId_;
+				std::string soundCodeContent_;
+				std::string apiProduct_;
+				std::string apiRevision_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_CREATESOUNDCODEREQUEST_H_

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

+ 57 - 0
iot/include/alibabacloud/iot/model/DeleteSoundCodeRequest.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_DELETESOUNDCODEREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_DELETESOUNDCODEREQUEST_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 DeleteSoundCodeRequest : public RpcServiceRequest
+			{
+
+			public:
+				DeleteSoundCodeRequest();
+				~DeleteSoundCodeRequest();
+
+				std::string getSoundCode()const;
+				void setSoundCode(const std::string& soundCode);
+				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 soundCode_;
+				std::string iotInstanceId_;
+				std::string apiProduct_;
+				std::string apiRevision_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_DELETESOUNDCODEREQUEST_H_

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

+ 57 - 0
iot/include/alibabacloud/iot/model/GetSoundCodeAudioRequest.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_GETSOUNDCODEAUDIOREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_GETSOUNDCODEAUDIOREQUEST_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 GetSoundCodeAudioRequest : public RpcServiceRequest
+			{
+
+			public:
+				GetSoundCodeAudioRequest();
+				~GetSoundCodeAudioRequest();
+
+				std::string getIotInstanceId()const;
+				void setIotInstanceId(const std::string& iotInstanceId);
+				std::vector<std::string> getSoundCodeList()const;
+				void setSoundCodeList(const std::vector<std::string>& soundCodeList);
+				std::string getApiProduct()const;
+				void setApiProduct(const std::string& apiProduct);
+				std::string getApiRevision()const;
+				void setApiRevision(const std::string& apiRevision);
+
+            private:
+				std::string iotInstanceId_;
+				std::vector<std::string> soundCodeList_;
+				std::string apiProduct_;
+				std::string apiRevision_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_GETSOUNDCODEAUDIOREQUEST_H_

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

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

@@ -38,6 +38,7 @@ namespace AlibabaCloud
 					std::vector<std::string> resultList;
 					int pageSize;
 					int pageNo;
+					int totalSize;
 					std::vector<std::string> fieldNameList;
 				};
 

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

@@ -43,6 +43,10 @@ namespace AlibabaCloud
 				void setPageSize(int pageSize);
 				int getCurrentPage()const;
 				void setCurrentPage(int currentPage);
+				std::string getProductKey()const;
+				void setProductKey(const std::string& productKey);
+				std::string getJobType()const;
+				void setJobType(const std::string& jobType);
 				std::string getApiProduct()const;
 				void setApiProduct(const std::string& apiProduct);
 				std::string getApiRevision()const;
@@ -57,6 +61,8 @@ namespace AlibabaCloud
 				std::string nextToken_;
 				int pageSize_;
 				int currentPage_;
+				std::string productKey_;
+				std::string jobType_;
 				std::string apiProduct_;
 				std::string apiRevision_;
 				std::string targetUid_;

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

+ 71 - 0
iot/include/alibabacloud/iot/model/QuerySoundCodeListResult.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_QUERYSOUNDCODELISTRESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_QUERYSOUNDCODELISTRESULT_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 QuerySoundCodeListResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					struct Items
+					{
+						long gmtCreate;
+						int duration;
+						std::string soundCodeContent;
+						std::string soundCode;
+					};
+					int pageId;
+					int pageSize;
+					int total;
+					std::vector<Items> list;
+				};
+
+
+				QuerySoundCodeListResult();
+				explicit QuerySoundCodeListResult(const std::string &payload);
+				~QuerySoundCodeListResult();
+				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_QUERYSOUNDCODELISTRESULT_H_

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

@@ -0,0 +1,54 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_IOT_MODEL_STARTAIBOXFORCESYNCREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_STARTAIBOXFORCESYNCREQUEST_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 StartAIBoxForceSyncRequest : public RpcServiceRequest
+			{
+
+			public:
+				StartAIBoxForceSyncRequest();
+				~StartAIBoxForceSyncRequest();
+
+				std::string getIotId()const;
+				void setIotId(const std::string& iotId);
+				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 apiProduct_;
+				std::string apiRevision_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_IOT_MODEL_STARTAIBOXFORCESYNCREQUEST_H_

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

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

@@ -37,7 +37,6 @@ namespace AlibabaCloud
 				SubscribeTopicResult();
 				explicit SubscribeTopicResult(const std::string &payload);
 				~SubscribeTopicResult();
-				std::vector<std::string> getFailureTopics()const;
 				std::string getErrorMessage()const;
 				std::string getCode()const;
 				bool getSuccess()const;
@@ -45,7 +44,6 @@ namespace AlibabaCloud
 			protected:
 				void parse(const std::string &payload);
 			private:
-				std::vector<std::string> failureTopics_;
 				std::string errorMessage_;
 				std::string code_;
 				bool success_;

+ 183 - 3
iot/src/IotClient.cc

@@ -31,21 +31,21 @@ IotClient::IotClient(const Credentials &credentials, const ClientConfiguration &
 	RpcServiceClient(SERVICE_NAME, std::make_shared<SimpleCredentialsProvider>(credentials), configuration)
 {
 	auto locationClient = std::make_shared<LocationClient>(credentials, configuration);
-	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "iot");
+	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "");
 }
 
 IotClient::IotClient(const std::shared_ptr<CredentialsProvider>& credentialsProvider, const ClientConfiguration & configuration) :
 	RpcServiceClient(SERVICE_NAME, credentialsProvider, configuration)
 {
 	auto locationClient = std::make_shared<LocationClient>(credentialsProvider, configuration);
-	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "iot");
+	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "");
 }
 
 IotClient::IotClient(const std::string & accessKeyId, const std::string & accessKeySecret, const ClientConfiguration & configuration) :
 	RpcServiceClient(SERVICE_NAME, std::make_shared<SimpleCredentialsProvider>(accessKeyId, accessKeySecret), configuration)
 {
 	auto locationClient = std::make_shared<LocationClient>(accessKeyId, accessKeySecret, configuration);
-	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "iot");
+	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "");
 }
 
 IotClient::~IotClient()
@@ -2679,6 +2679,42 @@ IotClient::CreateSceneRuleOutcomeCallable IotClient::createSceneRuleCallable(con
 	return task->get_future();
 }
 
+IotClient::CreateSoundCodeOutcome IotClient::createSoundCode(const CreateSoundCodeRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return CreateSoundCodeOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return CreateSoundCodeOutcome(CreateSoundCodeResult(outcome.result()));
+	else
+		return CreateSoundCodeOutcome(outcome.error());
+}
+
+void IotClient::createSoundCodeAsync(const CreateSoundCodeRequest& request, const CreateSoundCodeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, createSoundCode(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+IotClient::CreateSoundCodeOutcomeCallable IotClient::createSoundCodeCallable(const CreateSoundCodeRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<CreateSoundCodeOutcome()>>(
+			[this, request]()
+			{
+			return this->createSoundCode(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 IotClient::CreateSpeechOutcome IotClient::createSpeech(const CreateSpeechRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -3759,6 +3795,42 @@ IotClient::DeleteSceneRuleOutcomeCallable IotClient::deleteSceneRuleCallable(con
 	return task->get_future();
 }
 
+IotClient::DeleteSoundCodeOutcome IotClient::deleteSoundCode(const DeleteSoundCodeRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DeleteSoundCodeOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DeleteSoundCodeOutcome(DeleteSoundCodeResult(outcome.result()));
+	else
+		return DeleteSoundCodeOutcome(outcome.error());
+}
+
+void IotClient::deleteSoundCodeAsync(const DeleteSoundCodeRequest& request, const DeleteSoundCodeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, deleteSoundCode(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+IotClient::DeleteSoundCodeOutcomeCallable IotClient::deleteSoundCodeCallable(const DeleteSoundCodeRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DeleteSoundCodeOutcome()>>(
+			[this, request]()
+			{
+			return this->deleteSoundCode(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 IotClient::DeleteSpeechOutcome IotClient::deleteSpeech(const DeleteSpeechRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -4875,6 +4947,42 @@ IotClient::GetSceneRuleOutcomeCallable IotClient::getSceneRuleCallable(const Get
 	return task->get_future();
 }
 
+IotClient::GetSoundCodeAudioOutcome IotClient::getSoundCodeAudio(const GetSoundCodeAudioRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return GetSoundCodeAudioOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return GetSoundCodeAudioOutcome(GetSoundCodeAudioResult(outcome.result()));
+	else
+		return GetSoundCodeAudioOutcome(outcome.error());
+}
+
+void IotClient::getSoundCodeAudioAsync(const GetSoundCodeAudioRequest& request, const GetSoundCodeAudioAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, getSoundCodeAudio(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+IotClient::GetSoundCodeAudioOutcomeCallable IotClient::getSoundCodeAudioCallable(const GetSoundCodeAudioRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<GetSoundCodeAudioOutcome()>>(
+			[this, request]()
+			{
+			return this->getSoundCodeAudio(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 IotClient::GetSpeechDeviceDetailOutcome IotClient::getSpeechDeviceDetail(const GetSpeechDeviceDetailRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -8583,6 +8691,42 @@ IotClient::QuerySolutionDeviceGroupPageOutcomeCallable IotClient::querySolutionD
 	return task->get_future();
 }
 
+IotClient::QuerySoundCodeListOutcome IotClient::querySoundCodeList(const QuerySoundCodeListRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return QuerySoundCodeListOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return QuerySoundCodeListOutcome(QuerySoundCodeListResult(outcome.result()));
+	else
+		return QuerySoundCodeListOutcome(outcome.error());
+}
+
+void IotClient::querySoundCodeListAsync(const QuerySoundCodeListRequest& request, const QuerySoundCodeListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, querySoundCodeList(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+IotClient::QuerySoundCodeListOutcomeCallable IotClient::querySoundCodeListCallable(const QuerySoundCodeListRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<QuerySoundCodeListOutcome()>>(
+			[this, request]()
+			{
+			return this->querySoundCodeList(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 IotClient::QuerySpeechOutcome IotClient::querySpeech(const QuerySpeechRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -10095,6 +10239,42 @@ IotClient::SpeechBySynthesisOutcomeCallable IotClient::speechBySynthesisCallable
 	return task->get_future();
 }
 
+IotClient::StartAIBoxForceSyncOutcome IotClient::startAIBoxForceSync(const StartAIBoxForceSyncRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return StartAIBoxForceSyncOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return StartAIBoxForceSyncOutcome(StartAIBoxForceSyncResult(outcome.result()));
+	else
+		return StartAIBoxForceSyncOutcome(outcome.error());
+}
+
+void IotClient::startAIBoxForceSyncAsync(const StartAIBoxForceSyncRequest& request, const StartAIBoxForceSyncAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, startAIBoxForceSync(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+IotClient::StartAIBoxForceSyncOutcomeCallable IotClient::startAIBoxForceSyncCallable(const StartAIBoxForceSyncRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<StartAIBoxForceSyncOutcome()>>(
+			[this, request]()
+			{
+			return this->startAIBoxForceSync(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 IotClient::StartRuleOutcome IotClient::startRule(const StartRuleRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();

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

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

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

+ 73 - 0
iot/src/model/DeleteSoundCodeRequest.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/DeleteSoundCodeRequest.h>
+
+using AlibabaCloud::Iot::Model::DeleteSoundCodeRequest;
+
+DeleteSoundCodeRequest::DeleteSoundCodeRequest() :
+	RpcServiceRequest("iot", "2018-01-20", "DeleteSoundCode")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DeleteSoundCodeRequest::~DeleteSoundCodeRequest()
+{}
+
+std::string DeleteSoundCodeRequest::getSoundCode()const
+{
+	return soundCode_;
+}
+
+void DeleteSoundCodeRequest::setSoundCode(const std::string& soundCode)
+{
+	soundCode_ = soundCode;
+	setBodyParameter("SoundCode", soundCode);
+}
+
+std::string DeleteSoundCodeRequest::getIotInstanceId()const
+{
+	return iotInstanceId_;
+}
+
+void DeleteSoundCodeRequest::setIotInstanceId(const std::string& iotInstanceId)
+{
+	iotInstanceId_ = iotInstanceId;
+	setBodyParameter("IotInstanceId", iotInstanceId);
+}
+
+std::string DeleteSoundCodeRequest::getApiProduct()const
+{
+	return apiProduct_;
+}
+
+void DeleteSoundCodeRequest::setApiProduct(const std::string& apiProduct)
+{
+	apiProduct_ = apiProduct;
+	setBodyParameter("ApiProduct", apiProduct);
+}
+
+std::string DeleteSoundCodeRequest::getApiRevision()const
+{
+	return apiRevision_;
+}
+
+void DeleteSoundCodeRequest::setApiRevision(const std::string& apiRevision)
+{
+	apiRevision_ = apiRevision;
+	setBodyParameter("ApiRevision", apiRevision);
+}
+

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

+ 75 - 0
iot/src/model/GetSoundCodeAudioRequest.cc

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

+ 73 - 0
iot/src/model/GetSoundCodeAudioResult.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/GetSoundCodeAudioResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Iot;
+using namespace AlibabaCloud::Iot::Model;
+
+GetSoundCodeAudioResult::GetSoundCodeAudioResult() :
+	ServiceResult()
+{}
+
+GetSoundCodeAudioResult::GetSoundCodeAudioResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+GetSoundCodeAudioResult::~GetSoundCodeAudioResult()
+{}
+
+void GetSoundCodeAudioResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allData = value["Data"]["Items"];
+	for (const auto &item : allData)
+		data_.push_back(item.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::vector<std::string> GetSoundCodeAudioResult::getData()const
+{
+	return data_;
+}
+
+std::string GetSoundCodeAudioResult::getErrorMessage()const
+{
+	return errorMessage_;
+}
+
+std::string GetSoundCodeAudioResult::getCode()const
+{
+	return code_;
+}
+
+bool GetSoundCodeAudioResult::getSuccess()const
+{
+	return success_;
+}
+

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

@@ -46,6 +46,8 @@ void InvokeDataAPIServiceResult::parse(const std::string &payload)
 		data_.pageSize = std::stoi(dataNode["PageSize"].asString());
 	if(!dataNode["ApiSrn"].isNull())
 		data_.apiSrn = dataNode["ApiSrn"].asString();
+	if(!dataNode["TotalSize"].isNull())
+		data_.totalSize = std::stoi(dataNode["TotalSize"].asString());
 		auto allFieldNameList = dataNode["FieldNameList"]["FieldNameList"];
 		for (auto value : allFieldNameList)
 			data_.fieldNameList.push_back(value.asString());

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

@@ -71,6 +71,28 @@ void ListDeviceDistributeJobRequest::setCurrentPage(int currentPage)
 	setParameter("CurrentPage", std::to_string(currentPage));
 }
 
+std::string ListDeviceDistributeJobRequest::getProductKey()const
+{
+	return productKey_;
+}
+
+void ListDeviceDistributeJobRequest::setProductKey(const std::string& productKey)
+{
+	productKey_ = productKey;
+	setParameter("ProductKey", productKey);
+}
+
+std::string ListDeviceDistributeJobRequest::getJobType()const
+{
+	return jobType_;
+}
+
+void ListDeviceDistributeJobRequest::setJobType(const std::string& jobType)
+{
+	jobType_ = jobType;
+	setParameter("JobType", jobType);
+}
+
 std::string ListDeviceDistributeJobRequest::getApiProduct()const
 {
 	return apiProduct_;

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

+ 91 - 0
iot/src/model/QuerySoundCodeListResult.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/QuerySoundCodeListResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Iot;
+using namespace AlibabaCloud::Iot::Model;
+
+QuerySoundCodeListResult::QuerySoundCodeListResult() :
+	ServiceResult()
+{}
+
+QuerySoundCodeListResult::QuerySoundCodeListResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+QuerySoundCodeListResult::~QuerySoundCodeListResult()
+{}
+
+void QuerySoundCodeListResult::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["SoundCode"].isNull())
+			itemsObject.soundCode = dataNodeListItems["SoundCode"].asString();
+		if(!dataNodeListItems["SoundCodeContent"].isNull())
+			itemsObject.soundCodeContent = dataNodeListItems["SoundCodeContent"].asString();
+		if(!dataNodeListItems["Duration"].isNull())
+			itemsObject.duration = std::stoi(dataNodeListItems["Duration"].asString());
+		if(!dataNodeListItems["GmtCreate"].isNull())
+			itemsObject.gmtCreate = std::stol(dataNodeListItems["GmtCreate"].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();
+
+}
+
+QuerySoundCodeListResult::Data QuerySoundCodeListResult::getData()const
+{
+	return data_;
+}
+
+std::string QuerySoundCodeListResult::getErrorMessage()const
+{
+	return errorMessage_;
+}
+
+std::string QuerySoundCodeListResult::getCode()const
+{
+	return code_;
+}
+
+bool QuerySoundCodeListResult::getSuccess()const
+{
+	return success_;
+}
+

+ 62 - 0
iot/src/model/StartAIBoxForceSyncRequest.cc

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

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

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

+ 0 - 8
iot/src/model/SubscribeTopicResult.cc

@@ -39,9 +39,6 @@ void SubscribeTopicResult::parse(const std::string &payload)
 	Json::Value value;
 	reader.parse(payload, value);
 	setRequestId(value["RequestId"].asString());
-	auto allFailureTopics = value["FailureTopics"]["topic"];
-	for (const auto &item : allFailureTopics)
-		failureTopics_.push_back(item.asString());
 	if(!value["Success"].isNull())
 		success_ = value["Success"].asString() == "true";
 	if(!value["Code"].isNull())
@@ -51,11 +48,6 @@ void SubscribeTopicResult::parse(const std::string &payload)
 
 }
 
-std::vector<std::string> SubscribeTopicResult::getFailureTopics()const
-{
-	return failureTopics_;
-}
-
 std::string SubscribeTopicResult::getErrorMessage()const
 {
 	return errorMessage_;