Преглед на файлове

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

Signed-off-by: yixiong.jxy <yixiong.jxy@alibaba-inc.com>
yixiong.jxy преди 8 години
родител
ревизия
ee5b4ca599
променени са 69 файла, в които са добавени 275 реда и са изтрити 1212 реда
  1. 4 0
      CHANGELOG
  2. 1 1
      VERSION
  3. 4 16
      iot/CMakeLists.txt
  4. 8 32
      iot/include/alibabacloud/iot/IotClient.h
  5. 0 54
      iot/include/alibabacloud/iot/model/ApplyDeviceWithNamesRequest.h
  6. 0 57
      iot/include/alibabacloud/iot/model/ApplyDeviceWithNamesResult.h
  7. 18 21
      iot/include/alibabacloud/iot/model/CreateProductRequest.h
  8. 9 11
      iot/include/alibabacloud/iot/model/CreateProductResult.h
  9. 3 0
      iot/include/alibabacloud/iot/model/CreateRuleRequest.h
  10. 6 9
      iot/include/alibabacloud/iot/model/DeleteProductRequest.h
  11. 7 9
      iot/include/alibabacloud/iot/model/DeleteProductResult.h
  12. 3 0
      iot/include/alibabacloud/iot/model/GetRuleResult.h
  13. 2 0
      iot/include/alibabacloud/iot/model/ListRuleResult.h
  14. 0 51
      iot/include/alibabacloud/iot/model/QueryApplyStatusRequest.h
  15. 0 54
      iot/include/alibabacloud/iot/model/QueryDeviceByNameRequest.h
  16. 0 69
      iot/include/alibabacloud/iot/model/QueryDeviceByNameResult.h
  17. 4 3
      iot/include/alibabacloud/iot/model/QueryProductResult.h
  18. 3 0
      iot/include/alibabacloud/iot/model/RRpcRequest.h
  19. 0 63
      iot/include/alibabacloud/iot/model/RegistDeviceResult.h
  20. 3 12
      iot/include/alibabacloud/iot/model/UpdateProductRequest.h
  21. 3 0
      iot/include/alibabacloud/iot/model/UpdateRuleRequest.h
  22. 27 135
      iot/src/IotClient.cc
  23. 0 61
      iot/src/model/ApplyDeviceWithNamesRequest.cc
  24. 0 73
      iot/src/model/ApplyDeviceWithNamesResult.cc
  25. 1 1
      iot/src/model/BatchGetDeviceStateRequest.cc
  26. 36 47
      iot/src/model/CreateProductRequest.cc
  27. 26 27
      iot/src/model/CreateProductResult.cc
  28. 1 1
      iot/src/model/CreateProductTopicRequest.cc
  29. 1 1
      iot/src/model/CreateRuleActionRequest.cc
  30. 2 2
      iot/src/model/CreateRuleActionResult.cc
  31. 12 1
      iot/src/model/CreateRuleRequest.cc
  32. 1 1
      iot/src/model/CreateTopicRouteTableRequest.cc
  33. 1 1
      iot/src/model/DeleteDevicePropRequest.cc
  34. 12 12
      iot/src/model/DeleteProductRequest.cc
  35. 8 15
      iot/src/model/DeleteProductResult.cc
  36. 1 1
      iot/src/model/DeleteProductTopicRequest.cc
  37. 1 1
      iot/src/model/DeleteRuleActionRequest.cc
  38. 1 1
      iot/src/model/DeleteRuleRequest.cc
  39. 1 1
      iot/src/model/DeleteTopicRouteTableRequest.cc
  40. 1 1
      iot/src/model/GetDeviceShadowRequest.cc
  41. 1 1
      iot/src/model/GetRuleActionRequest.cc
  42. 1 1
      iot/src/model/GetRuleRequest.cc
  43. 8 2
      iot/src/model/GetRuleResult.cc
  44. 1 1
      iot/src/model/ListRuleActionsRequest.cc
  45. 1 1
      iot/src/model/ListRuleRequest.cc
  46. 4 0
      iot/src/model/ListRuleResult.cc
  47. 1 1
      iot/src/model/PubBroadcastRequest.cc
  48. 1 1
      iot/src/model/PubRequest.cc
  49. 0 60
      iot/src/model/QueryDeviceByNameRequest.cc
  50. 0 90
      iot/src/model/QueryDeviceByNameResult.cc
  51. 1 1
      iot/src/model/QueryDevicePropRequest.cc
  52. 1 1
      iot/src/model/QueryDeviceRequest.cc
  53. 1 1
      iot/src/model/QueryPageByApplyIdRequest.cc
  54. 2 0
      iot/src/model/QueryProductResult.cc
  55. 1 1
      iot/src/model/QueryProductTopicRequest.cc
  56. 1 1
      iot/src/model/QueryTopicReverseRouteTableRequest.cc
  57. 1 1
      iot/src/model/QueryTopicRouteTableRequest.cc
  58. 12 1
      iot/src/model/RRpcRequest.cc
  59. 0 60
      iot/src/model/RegistDeviceRequest.cc
  60. 0 94
      iot/src/model/RegistDeviceResult.cc
  61. 1 1
      iot/src/model/SaveDevicePropRequest.cc
  62. 1 1
      iot/src/model/StartRuleRequest.cc
  63. 1 1
      iot/src/model/StopRuleRequest.cc
  64. 1 1
      iot/src/model/UpdateDeviceShadowRequest.cc
  65. 6 39
      iot/src/model/UpdateProductRequest.cc
  66. 1 1
      iot/src/model/UpdateProductTopicRequest.cc
  67. 1 1
      iot/src/model/UpdateRuleActionRequest.cc
  68. 2 2
      iot/src/model/UpdateRuleActionResult.cc
  69. 12 1
      iot/src/model/UpdateRuleRequest.cc

+ 4 - 0
CHANGELOG

@@ -1,3 +1,7 @@
+2018-09-06 Version: 1.25.1
+1, Add API deleteProduct.
+2, Move all API to version 20180120.
+
 2018-09-05 Version: 1.25.0
 1, Add new APIs with control policy for querying price
 

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.25.0
+1.25.1

+ 4 - 16
iot/CMakeLists.txt

@@ -21,8 +21,6 @@ set(iot_public_header
 	include/alibabacloud/iot/IotExport.h )
 
 set(iot_public_header_model 
-	include/alibabacloud/iot/model/RegistDeviceRequest.h
-	include/alibabacloud/iot/model/RegistDeviceResult.h
 	include/alibabacloud/iot/model/DeleteTopicRouteTableRequest.h
 	include/alibabacloud/iot/model/DeleteTopicRouteTableResult.h
 	include/alibabacloud/iot/model/QueryDeviceEventDataRequest.h
@@ -37,8 +35,6 @@ set(iot_public_header_model
 	include/alibabacloud/iot/model/RRpcResult.h
 	include/alibabacloud/iot/model/DeleteRuleRequest.h
 	include/alibabacloud/iot/model/DeleteRuleResult.h
-	include/alibabacloud/iot/model/QueryDeviceByNameRequest.h
-	include/alibabacloud/iot/model/QueryDeviceByNameResult.h
 	include/alibabacloud/iot/model/QueryProductTopicRequest.h
 	include/alibabacloud/iot/model/QueryProductTopicResult.h
 	include/alibabacloud/iot/model/GetThingTopoRequest.h
@@ -95,8 +91,6 @@ set(iot_public_header_model
 	include/alibabacloud/iot/model/CreateRuleResult.h
 	include/alibabacloud/iot/model/StartRuleRequest.h
 	include/alibabacloud/iot/model/StartRuleResult.h
-	include/alibabacloud/iot/model/ApplyDeviceWithNamesRequest.h
-	include/alibabacloud/iot/model/ApplyDeviceWithNamesResult.h
 	include/alibabacloud/iot/model/QueryProductListRequest.h
 	include/alibabacloud/iot/model/QueryProductListResult.h
 	include/alibabacloud/iot/model/QueryDevicePropertyStatusRequest.h
@@ -105,12 +99,12 @@ set(iot_public_header_model
 	include/alibabacloud/iot/model/QueryDeviceStatisticsResult.h
 	include/alibabacloud/iot/model/PubRequest.h
 	include/alibabacloud/iot/model/PubResult.h
+	include/alibabacloud/iot/model/DeleteProductRequest.h
+	include/alibabacloud/iot/model/DeleteProductResult.h
 	include/alibabacloud/iot/model/SaveDevicePropRequest.h
 	include/alibabacloud/iot/model/SaveDevicePropResult.h
 	include/alibabacloud/iot/model/DeleteProductTopicRequest.h
 	include/alibabacloud/iot/model/DeleteProductTopicResult.h
-	include/alibabacloud/iot/model/QueryApplyStatusRequest.h
-	include/alibabacloud/iot/model/QueryApplyStatusResult.h
 	include/alibabacloud/iot/model/QueryDeviceServiceDataRequest.h
 	include/alibabacloud/iot/model/QueryDeviceServiceDataResult.h
 	include/alibabacloud/iot/model/BatchRegisterDeviceWithApplyIdRequest.h
@@ -144,8 +138,6 @@ set(iot_public_header_model
 
 set(iot_src 
 	src/IotClient.cc
-	src/model/RegistDeviceRequest.cc
-	src/model/RegistDeviceResult.cc
 	src/model/DeleteTopicRouteTableRequest.cc
 	src/model/DeleteTopicRouteTableResult.cc
 	src/model/QueryDeviceEventDataRequest.cc
@@ -160,8 +152,6 @@ set(iot_src
 	src/model/RRpcResult.cc
 	src/model/DeleteRuleRequest.cc
 	src/model/DeleteRuleResult.cc
-	src/model/QueryDeviceByNameRequest.cc
-	src/model/QueryDeviceByNameResult.cc
 	src/model/QueryProductTopicRequest.cc
 	src/model/QueryProductTopicResult.cc
 	src/model/GetThingTopoRequest.cc
@@ -218,8 +208,6 @@ set(iot_src
 	src/model/CreateRuleResult.cc
 	src/model/StartRuleRequest.cc
 	src/model/StartRuleResult.cc
-	src/model/ApplyDeviceWithNamesRequest.cc
-	src/model/ApplyDeviceWithNamesResult.cc
 	src/model/QueryProductListRequest.cc
 	src/model/QueryProductListResult.cc
 	src/model/QueryDevicePropertyStatusRequest.cc
@@ -228,12 +216,12 @@ set(iot_src
 	src/model/QueryDeviceStatisticsResult.cc
 	src/model/PubRequest.cc
 	src/model/PubResult.cc
+	src/model/DeleteProductRequest.cc
+	src/model/DeleteProductResult.cc
 	src/model/SaveDevicePropRequest.cc
 	src/model/SaveDevicePropResult.cc
 	src/model/DeleteProductTopicRequest.cc
 	src/model/DeleteProductTopicResult.cc
-	src/model/QueryApplyStatusRequest.cc
-	src/model/QueryApplyStatusResult.cc
 	src/model/QueryDeviceServiceDataRequest.cc
 	src/model/QueryDeviceServiceDataResult.cc
 	src/model/BatchRegisterDeviceWithApplyIdRequest.cc

+ 8 - 32
iot/include/alibabacloud/iot/IotClient.h

@@ -22,8 +22,6 @@
 #include <alibabacloud/core/EndpointProvider.h>
 #include <alibabacloud/core/RpcServiceClient.h>
 #include "IotExport.h"
-#include "model/RegistDeviceRequest.h"
-#include "model/RegistDeviceResult.h"
 #include "model/DeleteTopicRouteTableRequest.h"
 #include "model/DeleteTopicRouteTableResult.h"
 #include "model/QueryDeviceEventDataRequest.h"
@@ -38,8 +36,6 @@
 #include "model/RRpcResult.h"
 #include "model/DeleteRuleRequest.h"
 #include "model/DeleteRuleResult.h"
-#include "model/QueryDeviceByNameRequest.h"
-#include "model/QueryDeviceByNameResult.h"
 #include "model/QueryProductTopicRequest.h"
 #include "model/QueryProductTopicResult.h"
 #include "model/GetThingTopoRequest.h"
@@ -96,8 +92,6 @@
 #include "model/CreateRuleResult.h"
 #include "model/StartRuleRequest.h"
 #include "model/StartRuleResult.h"
-#include "model/ApplyDeviceWithNamesRequest.h"
-#include "model/ApplyDeviceWithNamesResult.h"
 #include "model/QueryProductListRequest.h"
 #include "model/QueryProductListResult.h"
 #include "model/QueryDevicePropertyStatusRequest.h"
@@ -106,12 +100,12 @@
 #include "model/QueryDeviceStatisticsResult.h"
 #include "model/PubRequest.h"
 #include "model/PubResult.h"
+#include "model/DeleteProductRequest.h"
+#include "model/DeleteProductResult.h"
 #include "model/SaveDevicePropRequest.h"
 #include "model/SaveDevicePropResult.h"
 #include "model/DeleteProductTopicRequest.h"
 #include "model/DeleteProductTopicResult.h"
-#include "model/QueryApplyStatusRequest.h"
-#include "model/QueryApplyStatusResult.h"
 #include "model/QueryDeviceServiceDataRequest.h"
 #include "model/QueryDeviceServiceDataResult.h"
 #include "model/BatchRegisterDeviceWithApplyIdRequest.h"
@@ -151,9 +145,6 @@ namespace AlibabaCloud
 		class ALIBABACLOUD_IOT_EXPORT IotClient : public RpcServiceClient
 		{
 		public:
-			typedef Outcome<Error, Model::RegistDeviceResult> RegistDeviceOutcome;
-			typedef std::future<RegistDeviceOutcome> RegistDeviceOutcomeCallable;
-			typedef std::function<void(const IotClient*, const Model::RegistDeviceRequest&, const RegistDeviceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> RegistDeviceAsyncHandler;
 			typedef Outcome<Error, Model::DeleteTopicRouteTableResult> DeleteTopicRouteTableOutcome;
 			typedef std::future<DeleteTopicRouteTableOutcome> DeleteTopicRouteTableOutcomeCallable;
 			typedef std::function<void(const IotClient*, const Model::DeleteTopicRouteTableRequest&, const DeleteTopicRouteTableOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteTopicRouteTableAsyncHandler;
@@ -175,9 +166,6 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DeleteRuleResult> DeleteRuleOutcome;
 			typedef std::future<DeleteRuleOutcome> DeleteRuleOutcomeCallable;
 			typedef std::function<void(const IotClient*, const Model::DeleteRuleRequest&, const DeleteRuleOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteRuleAsyncHandler;
-			typedef Outcome<Error, Model::QueryDeviceByNameResult> QueryDeviceByNameOutcome;
-			typedef std::future<QueryDeviceByNameOutcome> QueryDeviceByNameOutcomeCallable;
-			typedef std::function<void(const IotClient*, const Model::QueryDeviceByNameRequest&, const QueryDeviceByNameOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryDeviceByNameAsyncHandler;
 			typedef Outcome<Error, Model::QueryProductTopicResult> QueryProductTopicOutcome;
 			typedef std::future<QueryProductTopicOutcome> QueryProductTopicOutcomeCallable;
 			typedef std::function<void(const IotClient*, const Model::QueryProductTopicRequest&, const QueryProductTopicOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryProductTopicAsyncHandler;
@@ -262,9 +250,6 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::StartRuleResult> StartRuleOutcome;
 			typedef std::future<StartRuleOutcome> StartRuleOutcomeCallable;
 			typedef std::function<void(const IotClient*, const Model::StartRuleRequest&, const StartRuleOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> StartRuleAsyncHandler;
-			typedef Outcome<Error, Model::ApplyDeviceWithNamesResult> ApplyDeviceWithNamesOutcome;
-			typedef std::future<ApplyDeviceWithNamesOutcome> ApplyDeviceWithNamesOutcomeCallable;
-			typedef std::function<void(const IotClient*, const Model::ApplyDeviceWithNamesRequest&, const ApplyDeviceWithNamesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ApplyDeviceWithNamesAsyncHandler;
 			typedef Outcome<Error, Model::QueryProductListResult> QueryProductListOutcome;
 			typedef std::future<QueryProductListOutcome> QueryProductListOutcomeCallable;
 			typedef std::function<void(const IotClient*, const Model::QueryProductListRequest&, const QueryProductListOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryProductListAsyncHandler;
@@ -277,15 +262,15 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::PubResult> PubOutcome;
 			typedef std::future<PubOutcome> PubOutcomeCallable;
 			typedef std::function<void(const IotClient*, const Model::PubRequest&, const PubOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> PubAsyncHandler;
+			typedef Outcome<Error, Model::DeleteProductResult> DeleteProductOutcome;
+			typedef std::future<DeleteProductOutcome> DeleteProductOutcomeCallable;
+			typedef std::function<void(const IotClient*, const Model::DeleteProductRequest&, const DeleteProductOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteProductAsyncHandler;
 			typedef Outcome<Error, Model::SaveDevicePropResult> SaveDevicePropOutcome;
 			typedef std::future<SaveDevicePropOutcome> SaveDevicePropOutcomeCallable;
 			typedef std::function<void(const IotClient*, const Model::SaveDevicePropRequest&, const SaveDevicePropOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SaveDevicePropAsyncHandler;
 			typedef Outcome<Error, Model::DeleteProductTopicResult> DeleteProductTopicOutcome;
 			typedef std::future<DeleteProductTopicOutcome> DeleteProductTopicOutcomeCallable;
 			typedef std::function<void(const IotClient*, const Model::DeleteProductTopicRequest&, const DeleteProductTopicOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteProductTopicAsyncHandler;
-			typedef Outcome<Error, Model::QueryApplyStatusResult> QueryApplyStatusOutcome;
-			typedef std::future<QueryApplyStatusOutcome> QueryApplyStatusOutcomeCallable;
-			typedef std::function<void(const IotClient*, const Model::QueryApplyStatusRequest&, const QueryApplyStatusOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryApplyStatusAsyncHandler;
 			typedef Outcome<Error, Model::QueryDeviceServiceDataResult> QueryDeviceServiceDataOutcome;
 			typedef std::future<QueryDeviceServiceDataOutcome> QueryDeviceServiceDataOutcomeCallable;
 			typedef std::function<void(const IotClient*, const Model::QueryDeviceServiceDataRequest&, const QueryDeviceServiceDataOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> QueryDeviceServiceDataAsyncHandler;
@@ -336,9 +321,6 @@ namespace AlibabaCloud
 			IotClient(const std::shared_ptr<CredentialsProvider> &credentialsProvider, const ClientConfiguration &configuration);
 			IotClient(const std::string &accessKeyId, const std::string &accessKeySecret, const ClientConfiguration &configuration);
 			~IotClient();
-			RegistDeviceOutcome registDevice(const Model::RegistDeviceRequest &request)const;
-			void registDeviceAsync(const Model::RegistDeviceRequest& request, const RegistDeviceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-			RegistDeviceOutcomeCallable registDeviceCallable(const Model::RegistDeviceRequest& request) const;
 			DeleteTopicRouteTableOutcome deleteTopicRouteTable(const Model::DeleteTopicRouteTableRequest &request)const;
 			void deleteTopicRouteTableAsync(const Model::DeleteTopicRouteTableRequest& request, const DeleteTopicRouteTableAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteTopicRouteTableOutcomeCallable deleteTopicRouteTableCallable(const Model::DeleteTopicRouteTableRequest& request) const;
@@ -360,9 +342,6 @@ namespace AlibabaCloud
 			DeleteRuleOutcome deleteRule(const Model::DeleteRuleRequest &request)const;
 			void deleteRuleAsync(const Model::DeleteRuleRequest& request, const DeleteRuleAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteRuleOutcomeCallable deleteRuleCallable(const Model::DeleteRuleRequest& request) const;
-			QueryDeviceByNameOutcome queryDeviceByName(const Model::QueryDeviceByNameRequest &request)const;
-			void queryDeviceByNameAsync(const Model::QueryDeviceByNameRequest& request, const QueryDeviceByNameAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-			QueryDeviceByNameOutcomeCallable queryDeviceByNameCallable(const Model::QueryDeviceByNameRequest& request) const;
 			QueryProductTopicOutcome queryProductTopic(const Model::QueryProductTopicRequest &request)const;
 			void queryProductTopicAsync(const Model::QueryProductTopicRequest& request, const QueryProductTopicAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			QueryProductTopicOutcomeCallable queryProductTopicCallable(const Model::QueryProductTopicRequest& request) const;
@@ -447,9 +426,6 @@ namespace AlibabaCloud
 			StartRuleOutcome startRule(const Model::StartRuleRequest &request)const;
 			void startRuleAsync(const Model::StartRuleRequest& request, const StartRuleAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			StartRuleOutcomeCallable startRuleCallable(const Model::StartRuleRequest& request) const;
-			ApplyDeviceWithNamesOutcome applyDeviceWithNames(const Model::ApplyDeviceWithNamesRequest &request)const;
-			void applyDeviceWithNamesAsync(const Model::ApplyDeviceWithNamesRequest& request, const ApplyDeviceWithNamesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-			ApplyDeviceWithNamesOutcomeCallable applyDeviceWithNamesCallable(const Model::ApplyDeviceWithNamesRequest& request) const;
 			QueryProductListOutcome queryProductList(const Model::QueryProductListRequest &request)const;
 			void queryProductListAsync(const Model::QueryProductListRequest& request, const QueryProductListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			QueryProductListOutcomeCallable queryProductListCallable(const Model::QueryProductListRequest& request) const;
@@ -462,15 +438,15 @@ namespace AlibabaCloud
 			PubOutcome pub(const Model::PubRequest &request)const;
 			void pubAsync(const Model::PubRequest& request, const PubAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			PubOutcomeCallable pubCallable(const Model::PubRequest& request) const;
+			DeleteProductOutcome deleteProduct(const Model::DeleteProductRequest &request)const;
+			void deleteProductAsync(const Model::DeleteProductRequest& request, const DeleteProductAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteProductOutcomeCallable deleteProductCallable(const Model::DeleteProductRequest& request) const;
 			SaveDevicePropOutcome saveDeviceProp(const Model::SaveDevicePropRequest &request)const;
 			void saveDevicePropAsync(const Model::SaveDevicePropRequest& request, const SaveDevicePropAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			SaveDevicePropOutcomeCallable saveDevicePropCallable(const Model::SaveDevicePropRequest& request) const;
 			DeleteProductTopicOutcome deleteProductTopic(const Model::DeleteProductTopicRequest &request)const;
 			void deleteProductTopicAsync(const Model::DeleteProductTopicRequest& request, const DeleteProductTopicAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteProductTopicOutcomeCallable deleteProductTopicCallable(const Model::DeleteProductTopicRequest& request) const;
-			QueryApplyStatusOutcome queryApplyStatus(const Model::QueryApplyStatusRequest &request)const;
-			void queryApplyStatusAsync(const Model::QueryApplyStatusRequest& request, const QueryApplyStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
-			QueryApplyStatusOutcomeCallable queryApplyStatusCallable(const Model::QueryApplyStatusRequest& request) const;
 			QueryDeviceServiceDataOutcome queryDeviceServiceData(const Model::QueryDeviceServiceDataRequest &request)const;
 			void queryDeviceServiceDataAsync(const Model::QueryDeviceServiceDataRequest& request, const QueryDeviceServiceDataAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			QueryDeviceServiceDataOutcomeCallable queryDeviceServiceDataCallable(const Model::QueryDeviceServiceDataRequest& request) const;

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

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

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

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

+ 18 - 21
iot/include/alibabacloud/iot/model/CreateProductRequest.h

@@ -35,38 +35,35 @@ namespace AlibabaCloud
 				CreateProductRequest();
 				~CreateProductRequest();
 
-				long getCatId()const;
-				void setCatId(long catId);
+				int getDataFormat()const;
+				void setDataFormat(int dataFormat);
 				int getNodeType()const;
 				void setNodeType(int nodeType);
-				std::string getRegionId()const;
-				void setRegionId(const std::string& regionId);
 				bool getId2()const;
 				void setId2(bool id2);
-				std::string getName()const;
-				void setName(const std::string& name);
-				std::string getExtProps()const;
-				void setExtProps(const std::string& extProps);
-				std::string getSecurityPolicy()const;
-				void setSecurityPolicy(const std::string& securityPolicy);
-				int getPayType()const;
-				void setPayType(int payType);
+				std::string getProductName()const;
+				void setProductName(const std::string& productName);
+				std::string getDescription()const;
+				void setDescription(const std::string& description);
+				std::string getProtocolType()const;
+				void setProtocolType(const std::string& protocolType);
+				std::string getAliyunCommodityCode()const;
+				void setAliyunCommodityCode(const std::string& aliyunCommodityCode);
+				long getCategoryId()const;
+				void setCategoryId(long categoryId);
 				std::string getAccessKeyId()const;
 				void setAccessKeyId(const std::string& accessKeyId);
-				std::string getDesc()const;
-				void setDesc(const std::string& desc);
 
             private:
-				long catId_;
+				int dataFormat_;
 				int nodeType_;
-				std::string regionId_;
 				bool id2_;
-				std::string name_;
-				std::string extProps_;
-				std::string securityPolicy_;
-				int payType_;
+				std::string productName_;
+				std::string description_;
+				std::string protocolType_;
+				std::string aliyunCommodityCode_;
+				long categoryId_;
 				std::string accessKeyId_;
-				std::string desc_;
 
 			};
 		}

+ 9 - 11
iot/include/alibabacloud/iot/model/CreateProductResult.h

@@ -32,19 +32,15 @@ namespace AlibabaCloud
 			class ALIBABACLOUD_IOT_EXPORT CreateProductResult : public ServiceResult
 			{
 			public:
-				struct ProductInfo
+				struct Data
 				{
-					std::string gmtCreate;
+					std::string description;
 					std::string productName;
-					std::string extProps;
+					std::string aliyunCommodityCode;
 					bool id2;
+					std::string protocolType;
 					int nodeType;
-					std::string fromSource;
-					std::string gmtModified;
-					long createUserId;
-					std::string productDesc;
-					std::string productSecret;
-					long catId;
+					int dataFormat;
 					std::string productKey;
 				};
 
@@ -52,18 +48,20 @@ namespace AlibabaCloud
 				CreateProductResult();
 				explicit CreateProductResult(const std::string &payload);
 				~CreateProductResult();
-				ProductInfo getProductInfo()const;
+				Data getData()const;
 				std::string getErrorMessage()const;
 				std::string getCode()const;
 				bool getSuccess()const;
+				std::string getProductKey()const;
 
 			protected:
 				void parse(const std::string &payload);
 			private:
-				ProductInfo productInfo_;
+				Data data_;
 				std::string errorMessage_;
 				std::string code_;
 				bool success_;
+				std::string productKey_;
 
 			};
 		}

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

@@ -47,6 +47,8 @@ namespace AlibabaCloud
 				void setWhere(const std::string& where);
 				std::string getProductKey()const;
 				void setProductKey(const std::string& productKey);
+				int getTopicType()const;
+				void setTopicType(int topicType);
 				std::string getAccessKeyId()const;
 				void setAccessKeyId(const std::string& accessKeyId);
 				std::string getShortTopic()const;
@@ -59,6 +61,7 @@ namespace AlibabaCloud
 				std::string name_;
 				std::string where_;
 				std::string productKey_;
+				int topicType_;
 				std::string accessKeyId_;
 				std::string shortTopic_;
 

+ 6 - 9
iot/include/alibabacloud/iot/model/RegistDeviceRequest.h → iot/include/alibabacloud/iot/model/DeleteProductRequest.h

@@ -14,8 +14,8 @@
  * limitations under the License.
  */
 
-#ifndef ALIBABACLOUD_IOT_MODEL_REGISTDEVICEREQUEST_H_
-#define ALIBABACLOUD_IOT_MODEL_REGISTDEVICEREQUEST_H_
+#ifndef ALIBABACLOUD_IOT_MODEL_DELETEPRODUCTREQUEST_H_
+#define ALIBABACLOUD_IOT_MODEL_DELETEPRODUCTREQUEST_H_
 
 #include <string>
 #include <vector>
@@ -28,22 +28,19 @@ namespace AlibabaCloud
 	{
 		namespace Model
 		{
-			class ALIBABACLOUD_IOT_EXPORT RegistDeviceRequest : public RpcServiceRequest
+			class ALIBABACLOUD_IOT_EXPORT DeleteProductRequest : public RpcServiceRequest
 			{
 
 			public:
-				RegistDeviceRequest();
-				~RegistDeviceRequest();
+				DeleteProductRequest();
+				~DeleteProductRequest();
 
-				std::string getDeviceName()const;
-				void setDeviceName(const std::string& deviceName);
 				std::string getProductKey()const;
 				void setProductKey(const std::string& productKey);
 				std::string getAccessKeyId()const;
 				void setAccessKeyId(const std::string& accessKeyId);
 
             private:
-				std::string deviceName_;
 				std::string productKey_;
 				std::string accessKeyId_;
 
@@ -51,4 +48,4 @@ namespace AlibabaCloud
 		}
 	}
 }
-#endif // !ALIBABACLOUD_IOT_MODEL_REGISTDEVICEREQUEST_H_
+#endif // !ALIBABACLOUD_IOT_MODEL_DELETEPRODUCTREQUEST_H_

+ 7 - 9
iot/include/alibabacloud/iot/model/QueryApplyStatusResult.h → iot/include/alibabacloud/iot/model/DeleteProductResult.h

@@ -14,8 +14,8 @@
  * limitations under the License.
  */
 
-#ifndef ALIBABACLOUD_IOT_MODEL_QUERYAPPLYSTATUSRESULT_H_
-#define ALIBABACLOUD_IOT_MODEL_QUERYAPPLYSTATUSRESULT_H_
+#ifndef ALIBABACLOUD_IOT_MODEL_DELETEPRODUCTRESULT_H_
+#define ALIBABACLOUD_IOT_MODEL_DELETEPRODUCTRESULT_H_
 
 #include <string>
 #include <vector>
@@ -29,17 +29,16 @@ namespace AlibabaCloud
 	{
 		namespace Model
 		{
-			class ALIBABACLOUD_IOT_EXPORT QueryApplyStatusResult : public ServiceResult
+			class ALIBABACLOUD_IOT_EXPORT DeleteProductResult : public ServiceResult
 			{
 			public:
 
 
-				QueryApplyStatusResult();
-				explicit QueryApplyStatusResult(const std::string &payload);
-				~QueryApplyStatusResult();
+				DeleteProductResult();
+				explicit DeleteProductResult(const std::string &payload);
+				~DeleteProductResult();
 				std::string getErrorMessage()const;
 				std::string getCode()const;
-				bool getFinish()const;
 				bool getSuccess()const;
 
 			protected:
@@ -47,11 +46,10 @@ namespace AlibabaCloud
 			private:
 				std::string errorMessage_;
 				std::string code_;
-				bool finish_;
 				bool success_;
 
 			};
 		}
 	}
 }
-#endif // !ALIBABACLOUD_IOT_MODEL_QUERYAPPLYSTATUSRESULT_H_
+#endif // !ALIBABACLOUD_IOT_MODEL_DELETEPRODUCTRESULT_H_

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

@@ -36,13 +36,16 @@ namespace AlibabaCloud
 				{
 					std::string status;
 					std::string modified;
+					std::string utcCreated;
 					long createUserId;
 					std::string name;
 					std::string created;
+					int topicType;
 					std::string select;
 					std::string shortTopic;
 					std::string ruleDesc;
 					std::string dataType;
+					std::string utcModified;
 					long id;
 					std::string topic;
 					std::string where;

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

@@ -36,6 +36,7 @@ namespace AlibabaCloud
 				{
 					std::string status;
 					std::string modified;
+					std::string utcCreated;
 					long createUserId;
 					std::string name;
 					std::string created;
@@ -43,6 +44,7 @@ namespace AlibabaCloud
 					std::string shortTopic;
 					std::string dataType;
 					std::string ruleDesc;
+					std::string utcModified;
 					long id;
 					std::string topic;
 					std::string where;

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

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

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

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

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

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

+ 4 - 3
iot/include/alibabacloud/iot/model/QueryProductResult.h

@@ -34,16 +34,17 @@ namespace AlibabaCloud
 			public:
 				struct Data
 				{
-					long gmtCreate;
 					std::string description;
-					std::string categoryKey;
 					std::string productName;
 					std::string aliyunCommodityCode;
+					std::string productSecret;
+					long gmtCreate;
+					std::string categoryKey;
 					bool id2;
+					std::string protocolType;
 					int nodeType;
 					int dataFormat;
 					std::string categoryName;
-					std::string productSecret;
 					std::string productKey;
 					int deviceCount;
 				};

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

@@ -37,6 +37,8 @@ namespace AlibabaCloud
 
 				std::string getRequestBase64Byte()const;
 				void setRequestBase64Byte(const std::string& requestBase64Byte);
+				std::string getTopic()const;
+				void setTopic(const std::string& topic);
 				std::string getDeviceName()const;
 				void setDeviceName(const std::string& deviceName);
 				std::string getProductKey()const;
@@ -48,6 +50,7 @@ namespace AlibabaCloud
 
             private:
 				std::string requestBase64Byte_;
+				std::string topic_;
 				std::string deviceName_;
 				std::string productKey_;
 				int timeout_;

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

@@ -1,63 +0,0 @@
-/*
- * 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_REGISTDEVICERESULT_H_
-#define ALIBABACLOUD_IOT_MODEL_REGISTDEVICERESULT_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 RegistDeviceResult : public ServiceResult
-			{
-			public:
-
-
-				RegistDeviceResult();
-				explicit RegistDeviceResult(const std::string &payload);
-				~RegistDeviceResult();
-				std::string getDeviceId()const;
-				std::string getDeviceSecret()const;
-				std::string getDeviceStatus()const;
-				std::string getErrorMessage()const;
-				std::string getCode()const;
-				bool getSuccess()const;
-				std::string getDeviceName()const;
-
-			protected:
-				void parse(const std::string &payload);
-			private:
-				std::string deviceId_;
-				std::string deviceSecret_;
-				std::string deviceStatus_;
-				std::string errorMessage_;
-				std::string code_;
-				bool success_;
-				std::string deviceName_;
-
-			};
-		}
-	}
-}
-#endif // !ALIBABACLOUD_IOT_MODEL_REGISTDEVICERESULT_H_

+ 3 - 12
iot/include/alibabacloud/iot/model/UpdateProductRequest.h

@@ -35,28 +35,19 @@ namespace AlibabaCloud
 				UpdateProductRequest();
 				~UpdateProductRequest();
 
-				long getCatId()const;
-				void setCatId(long catId);
-				int getNodeType()const;
-				void setNodeType(int nodeType);
 				std::string getProductName()const;
 				void setProductName(const std::string& productName);
-				std::string getExtProps()const;
-				void setExtProps(const std::string& extProps);
+				std::string getDescription()const;
+				void setDescription(const std::string& description);
 				std::string getProductKey()const;
 				void setProductKey(const std::string& productKey);
-				std::string getProductDesc()const;
-				void setProductDesc(const std::string& productDesc);
 				std::string getAccessKeyId()const;
 				void setAccessKeyId(const std::string& accessKeyId);
 
             private:
-				long catId_;
-				int nodeType_;
 				std::string productName_;
-				std::string extProps_;
+				std::string description_;
 				std::string productKey_;
-				std::string productDesc_;
 				std::string accessKeyId_;
 
 			};

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

@@ -47,6 +47,8 @@ namespace AlibabaCloud
 				void setRuleId(long ruleId);
 				std::string getProductKey()const;
 				void setProductKey(const std::string& productKey);
+				int getTopicType()const;
+				void setTopicType(int topicType);
 				std::string getAccessKeyId()const;
 				void setAccessKeyId(const std::string& accessKeyId);
 				std::string getShortTopic()const;
@@ -59,6 +61,7 @@ namespace AlibabaCloud
 				std::string where_;
 				long ruleId_;
 				std::string productKey_;
+				int topicType_;
 				std::string accessKeyId_;
 				std::string shortTopic_;
 

+ 27 - 135
iot/src/IotClient.cc

@@ -51,42 +51,6 @@ IotClient::IotClient(const std::string & accessKeyId, const std::string & access
 IotClient::~IotClient()
 {}
 
-IotClient::RegistDeviceOutcome IotClient::registDevice(const RegistDeviceRequest &request) const
-{
-	auto endpointOutcome = endpointProvider_->getEndpoint();
-	if (!endpointOutcome.isSuccess())
-		return RegistDeviceOutcome(endpointOutcome.error());
-
-	auto outcome = makeRequest(endpointOutcome.result(), request);
-
-	if (outcome.isSuccess())
-		return RegistDeviceOutcome(RegistDeviceResult(outcome.result()));
-	else
-		return RegistDeviceOutcome(outcome.error());
-}
-
-void IotClient::registDeviceAsync(const RegistDeviceRequest& request, const RegistDeviceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
-{
-	auto fn = [this, request, handler, context]()
-	{
-		handler(this, request, registDevice(request), context);
-	};
-
-	asyncExecute(new Runnable(fn));
-}
-
-IotClient::RegistDeviceOutcomeCallable IotClient::registDeviceCallable(const RegistDeviceRequest &request) const
-{
-	auto task = std::make_shared<std::packaged_task<RegistDeviceOutcome()>>(
-			[this, request]()
-			{
-			return this->registDevice(request);
-			});
-
-	asyncExecute(new Runnable([task]() { (*task)(); }));
-	return task->get_future();
-}
-
 IotClient::DeleteTopicRouteTableOutcome IotClient::deleteTopicRouteTable(const DeleteTopicRouteTableRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -339,42 +303,6 @@ IotClient::DeleteRuleOutcomeCallable IotClient::deleteRuleCallable(const DeleteR
 	return task->get_future();
 }
 
-IotClient::QueryDeviceByNameOutcome IotClient::queryDeviceByName(const QueryDeviceByNameRequest &request) const
-{
-	auto endpointOutcome = endpointProvider_->getEndpoint();
-	if (!endpointOutcome.isSuccess())
-		return QueryDeviceByNameOutcome(endpointOutcome.error());
-
-	auto outcome = makeRequest(endpointOutcome.result(), request);
-
-	if (outcome.isSuccess())
-		return QueryDeviceByNameOutcome(QueryDeviceByNameResult(outcome.result()));
-	else
-		return QueryDeviceByNameOutcome(outcome.error());
-}
-
-void IotClient::queryDeviceByNameAsync(const QueryDeviceByNameRequest& request, const QueryDeviceByNameAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
-{
-	auto fn = [this, request, handler, context]()
-	{
-		handler(this, request, queryDeviceByName(request), context);
-	};
-
-	asyncExecute(new Runnable(fn));
-}
-
-IotClient::QueryDeviceByNameOutcomeCallable IotClient::queryDeviceByNameCallable(const QueryDeviceByNameRequest &request) const
-{
-	auto task = std::make_shared<std::packaged_task<QueryDeviceByNameOutcome()>>(
-			[this, request]()
-			{
-			return this->queryDeviceByName(request);
-			});
-
-	asyncExecute(new Runnable([task]() { (*task)(); }));
-	return task->get_future();
-}
-
 IotClient::QueryProductTopicOutcome IotClient::queryProductTopic(const QueryProductTopicRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1383,42 +1311,6 @@ IotClient::StartRuleOutcomeCallable IotClient::startRuleCallable(const StartRule
 	return task->get_future();
 }
 
-IotClient::ApplyDeviceWithNamesOutcome IotClient::applyDeviceWithNames(const ApplyDeviceWithNamesRequest &request) const
-{
-	auto endpointOutcome = endpointProvider_->getEndpoint();
-	if (!endpointOutcome.isSuccess())
-		return ApplyDeviceWithNamesOutcome(endpointOutcome.error());
-
-	auto outcome = makeRequest(endpointOutcome.result(), request);
-
-	if (outcome.isSuccess())
-		return ApplyDeviceWithNamesOutcome(ApplyDeviceWithNamesResult(outcome.result()));
-	else
-		return ApplyDeviceWithNamesOutcome(outcome.error());
-}
-
-void IotClient::applyDeviceWithNamesAsync(const ApplyDeviceWithNamesRequest& request, const ApplyDeviceWithNamesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
-{
-	auto fn = [this, request, handler, context]()
-	{
-		handler(this, request, applyDeviceWithNames(request), context);
-	};
-
-	asyncExecute(new Runnable(fn));
-}
-
-IotClient::ApplyDeviceWithNamesOutcomeCallable IotClient::applyDeviceWithNamesCallable(const ApplyDeviceWithNamesRequest &request) const
-{
-	auto task = std::make_shared<std::packaged_task<ApplyDeviceWithNamesOutcome()>>(
-			[this, request]()
-			{
-			return this->applyDeviceWithNames(request);
-			});
-
-	asyncExecute(new Runnable([task]() { (*task)(); }));
-	return task->get_future();
-}
-
 IotClient::QueryProductListOutcome IotClient::queryProductList(const QueryProductListRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1563,108 +1455,108 @@ IotClient::PubOutcomeCallable IotClient::pubCallable(const PubRequest &request)
 	return task->get_future();
 }
 
-IotClient::SaveDevicePropOutcome IotClient::saveDeviceProp(const SaveDevicePropRequest &request) const
+IotClient::DeleteProductOutcome IotClient::deleteProduct(const DeleteProductRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	if (!endpointOutcome.isSuccess())
-		return SaveDevicePropOutcome(endpointOutcome.error());
+		return DeleteProductOutcome(endpointOutcome.error());
 
 	auto outcome = makeRequest(endpointOutcome.result(), request);
 
 	if (outcome.isSuccess())
-		return SaveDevicePropOutcome(SaveDevicePropResult(outcome.result()));
+		return DeleteProductOutcome(DeleteProductResult(outcome.result()));
 	else
-		return SaveDevicePropOutcome(outcome.error());
+		return DeleteProductOutcome(outcome.error());
 }
 
-void IotClient::saveDevicePropAsync(const SaveDevicePropRequest& request, const SaveDevicePropAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+void IotClient::deleteProductAsync(const DeleteProductRequest& request, const DeleteProductAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
 {
 	auto fn = [this, request, handler, context]()
 	{
-		handler(this, request, saveDeviceProp(request), context);
+		handler(this, request, deleteProduct(request), context);
 	};
 
 	asyncExecute(new Runnable(fn));
 }
 
-IotClient::SaveDevicePropOutcomeCallable IotClient::saveDevicePropCallable(const SaveDevicePropRequest &request) const
+IotClient::DeleteProductOutcomeCallable IotClient::deleteProductCallable(const DeleteProductRequest &request) const
 {
-	auto task = std::make_shared<std::packaged_task<SaveDevicePropOutcome()>>(
+	auto task = std::make_shared<std::packaged_task<DeleteProductOutcome()>>(
 			[this, request]()
 			{
-			return this->saveDeviceProp(request);
+			return this->deleteProduct(request);
 			});
 
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	return task->get_future();
 }
 
-IotClient::DeleteProductTopicOutcome IotClient::deleteProductTopic(const DeleteProductTopicRequest &request) const
+IotClient::SaveDevicePropOutcome IotClient::saveDeviceProp(const SaveDevicePropRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	if (!endpointOutcome.isSuccess())
-		return DeleteProductTopicOutcome(endpointOutcome.error());
+		return SaveDevicePropOutcome(endpointOutcome.error());
 
 	auto outcome = makeRequest(endpointOutcome.result(), request);
 
 	if (outcome.isSuccess())
-		return DeleteProductTopicOutcome(DeleteProductTopicResult(outcome.result()));
+		return SaveDevicePropOutcome(SaveDevicePropResult(outcome.result()));
 	else
-		return DeleteProductTopicOutcome(outcome.error());
+		return SaveDevicePropOutcome(outcome.error());
 }
 
-void IotClient::deleteProductTopicAsync(const DeleteProductTopicRequest& request, const DeleteProductTopicAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+void IotClient::saveDevicePropAsync(const SaveDevicePropRequest& request, const SaveDevicePropAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
 {
 	auto fn = [this, request, handler, context]()
 	{
-		handler(this, request, deleteProductTopic(request), context);
+		handler(this, request, saveDeviceProp(request), context);
 	};
 
 	asyncExecute(new Runnable(fn));
 }
 
-IotClient::DeleteProductTopicOutcomeCallable IotClient::deleteProductTopicCallable(const DeleteProductTopicRequest &request) const
+IotClient::SaveDevicePropOutcomeCallable IotClient::saveDevicePropCallable(const SaveDevicePropRequest &request) const
 {
-	auto task = std::make_shared<std::packaged_task<DeleteProductTopicOutcome()>>(
+	auto task = std::make_shared<std::packaged_task<SaveDevicePropOutcome()>>(
 			[this, request]()
 			{
-			return this->deleteProductTopic(request);
+			return this->saveDeviceProp(request);
 			});
 
 	asyncExecute(new Runnable([task]() { (*task)(); }));
 	return task->get_future();
 }
 
-IotClient::QueryApplyStatusOutcome IotClient::queryApplyStatus(const QueryApplyStatusRequest &request) const
+IotClient::DeleteProductTopicOutcome IotClient::deleteProductTopic(const DeleteProductTopicRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	if (!endpointOutcome.isSuccess())
-		return QueryApplyStatusOutcome(endpointOutcome.error());
+		return DeleteProductTopicOutcome(endpointOutcome.error());
 
 	auto outcome = makeRequest(endpointOutcome.result(), request);
 
 	if (outcome.isSuccess())
-		return QueryApplyStatusOutcome(QueryApplyStatusResult(outcome.result()));
+		return DeleteProductTopicOutcome(DeleteProductTopicResult(outcome.result()));
 	else
-		return QueryApplyStatusOutcome(outcome.error());
+		return DeleteProductTopicOutcome(outcome.error());
 }
 
-void IotClient::queryApplyStatusAsync(const QueryApplyStatusRequest& request, const QueryApplyStatusAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+void IotClient::deleteProductTopicAsync(const DeleteProductTopicRequest& request, const DeleteProductTopicAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
 {
 	auto fn = [this, request, handler, context]()
 	{
-		handler(this, request, queryApplyStatus(request), context);
+		handler(this, request, deleteProductTopic(request), context);
 	};
 
 	asyncExecute(new Runnable(fn));
 }
 
-IotClient::QueryApplyStatusOutcomeCallable IotClient::queryApplyStatusCallable(const QueryApplyStatusRequest &request) const
+IotClient::DeleteProductTopicOutcomeCallable IotClient::deleteProductTopicCallable(const DeleteProductTopicRequest &request) const
 {
-	auto task = std::make_shared<std::packaged_task<QueryApplyStatusOutcome()>>(
+	auto task = std::make_shared<std::packaged_task<DeleteProductTopicOutcome()>>(
 			[this, request]()
 			{
-			return this->queryApplyStatus(request);
+			return this->deleteProductTopic(request);
 			});
 
 	asyncExecute(new Runnable([task]() { (*task)(); }));

+ 0 - 61
iot/src/model/ApplyDeviceWithNamesRequest.cc

@@ -1,61 +0,0 @@
-/*
- * 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/ApplyDeviceWithNamesRequest.h>
-
-using AlibabaCloud::Iot::Model::ApplyDeviceWithNamesRequest;
-
-ApplyDeviceWithNamesRequest::ApplyDeviceWithNamesRequest() :
-	RpcServiceRequest("iot", "2017-04-20", "ApplyDeviceWithNames")
-{}
-
-ApplyDeviceWithNamesRequest::~ApplyDeviceWithNamesRequest()
-{}
-
-std::vector<std::string> ApplyDeviceWithNamesRequest::getDeviceName()const
-{
-	return deviceName_;
-}
-
-void ApplyDeviceWithNamesRequest::setDeviceName(const std::vector<std::string>& deviceName)
-{
-	deviceName_ = deviceName;
-	for(int i = 0; i!= deviceName.size(); i++)
-		setParameter("DeviceName."+ std::to_string(i), deviceName.at(i));
-}
-
-std::string ApplyDeviceWithNamesRequest::getProductKey()const
-{
-	return productKey_;
-}
-
-void ApplyDeviceWithNamesRequest::setProductKey(const std::string& productKey)
-{
-	productKey_ = productKey;
-	setParameter("ProductKey", productKey);
-}
-
-std::string ApplyDeviceWithNamesRequest::getAccessKeyId()const
-{
-	return accessKeyId_;
-}
-
-void ApplyDeviceWithNamesRequest::setAccessKeyId(const std::string& accessKeyId)
-{
-	accessKeyId_ = accessKeyId;
-	setParameter("AccessKeyId", accessKeyId);
-}
-

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

@@ -1,73 +0,0 @@
-/*
- * 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/ApplyDeviceWithNamesResult.h>
-#include <json/json.h>
-
-using namespace AlibabaCloud::Iot;
-using namespace AlibabaCloud::Iot::Model;
-
-ApplyDeviceWithNamesResult::ApplyDeviceWithNamesResult() :
-	ServiceResult()
-{}
-
-ApplyDeviceWithNamesResult::ApplyDeviceWithNamesResult(const std::string &payload) :
-	ServiceResult()
-{
-	parse(payload);
-}
-
-ApplyDeviceWithNamesResult::~ApplyDeviceWithNamesResult()
-{}
-
-void ApplyDeviceWithNamesResult::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["ApplyId"].isNull())
-		applyId_ = std::stol(value["ApplyId"].asString());
-
-}
-
-long ApplyDeviceWithNamesResult::getApplyId()const
-{
-	return applyId_;
-}
-
-std::string ApplyDeviceWithNamesResult::getErrorMessage()const
-{
-	return errorMessage_;
-}
-
-std::string ApplyDeviceWithNamesResult::getCode()const
-{
-	return code_;
-}
-
-bool ApplyDeviceWithNamesResult::getSuccess()const
-{
-	return success_;
-}
-

+ 1 - 1
iot/src/model/BatchGetDeviceStateRequest.cc

@@ -19,7 +19,7 @@
 using AlibabaCloud::Iot::Model::BatchGetDeviceStateRequest;
 
 BatchGetDeviceStateRequest::BatchGetDeviceStateRequest() :
-	RpcServiceRequest("iot", "2017-04-20", "BatchGetDeviceState")
+	RpcServiceRequest("iot", "2018-01-20", "BatchGetDeviceState")
 {}
 
 BatchGetDeviceStateRequest::~BatchGetDeviceStateRequest()

+ 36 - 47
iot/src/model/CreateProductRequest.cc

@@ -19,21 +19,21 @@
 using AlibabaCloud::Iot::Model::CreateProductRequest;
 
 CreateProductRequest::CreateProductRequest() :
-	RpcServiceRequest("iot", "2017-04-20", "CreateProduct")
+	RpcServiceRequest("iot", "2018-01-20", "CreateProduct")
 {}
 
 CreateProductRequest::~CreateProductRequest()
 {}
 
-long CreateProductRequest::getCatId()const
+int CreateProductRequest::getDataFormat()const
 {
-	return catId_;
+	return dataFormat_;
 }
 
-void CreateProductRequest::setCatId(long catId)
+void CreateProductRequest::setDataFormat(int dataFormat)
 {
-	catId_ = catId;
-	setParameter("CatId", std::to_string(catId));
+	dataFormat_ = dataFormat;
+	setParameter("DataFormat", std::to_string(dataFormat));
 }
 
 int CreateProductRequest::getNodeType()const
@@ -47,17 +47,6 @@ void CreateProductRequest::setNodeType(int nodeType)
 	setParameter("NodeType", std::to_string(nodeType));
 }
 
-std::string CreateProductRequest::getRegionId()const
-{
-	return regionId_;
-}
-
-void CreateProductRequest::setRegionId(const std::string& regionId)
-{
-	regionId_ = regionId;
-	setParameter("RegionId", regionId);
-}
-
 bool CreateProductRequest::getId2()const
 {
 	return id2_;
@@ -69,69 +58,69 @@ void CreateProductRequest::setId2(bool id2)
 	setParameter("Id2", std::to_string(id2));
 }
 
-std::string CreateProductRequest::getName()const
+std::string CreateProductRequest::getProductName()const
 {
-	return name_;
+	return productName_;
 }
 
-void CreateProductRequest::setName(const std::string& name)
+void CreateProductRequest::setProductName(const std::string& productName)
 {
-	name_ = name;
-	setParameter("Name", name);
+	productName_ = productName;
+	setParameter("ProductName", productName);
 }
 
-std::string CreateProductRequest::getExtProps()const
+std::string CreateProductRequest::getDescription()const
 {
-	return extProps_;
+	return description_;
 }
 
-void CreateProductRequest::setExtProps(const std::string& extProps)
+void CreateProductRequest::setDescription(const std::string& description)
 {
-	extProps_ = extProps;
-	setParameter("ExtProps", extProps);
+	description_ = description;
+	setParameter("Description", description);
 }
 
-std::string CreateProductRequest::getSecurityPolicy()const
+std::string CreateProductRequest::getProtocolType()const
 {
-	return securityPolicy_;
+	return protocolType_;
 }
 
-void CreateProductRequest::setSecurityPolicy(const std::string& securityPolicy)
+void CreateProductRequest::setProtocolType(const std::string& protocolType)
 {
-	securityPolicy_ = securityPolicy;
-	setParameter("SecurityPolicy", securityPolicy);
+	protocolType_ = protocolType;
+	setParameter("ProtocolType", protocolType);
 }
 
-int CreateProductRequest::getPayType()const
+std::string CreateProductRequest::getAliyunCommodityCode()const
 {
-	return payType_;
+	return aliyunCommodityCode_;
 }
 
-void CreateProductRequest::setPayType(int payType)
+void CreateProductRequest::setAliyunCommodityCode(const std::string& aliyunCommodityCode)
 {
-	payType_ = payType;
-	setParameter("PayType", std::to_string(payType));
+	aliyunCommodityCode_ = aliyunCommodityCode;
+	setParameter("AliyunCommodityCode", aliyunCommodityCode);
 }
 
-std::string CreateProductRequest::getAccessKeyId()const
+long CreateProductRequest::getCategoryId()const
 {
-	return accessKeyId_;
+	return categoryId_;
 }
 
-void CreateProductRequest::setAccessKeyId(const std::string& accessKeyId)
+void CreateProductRequest::setCategoryId(long categoryId)
 {
-	accessKeyId_ = accessKeyId;
-	setParameter("AccessKeyId", accessKeyId);
+	categoryId_ = categoryId;
+	setParameter("CategoryId", std::to_string(categoryId));
 }
 
-std::string CreateProductRequest::getDesc()const
+std::string CreateProductRequest::getAccessKeyId()const
 {
-	return desc_;
+	return accessKeyId_;
 }
 
-void CreateProductRequest::setDesc(const std::string& desc)
+void CreateProductRequest::setAccessKeyId(const std::string& accessKeyId)
 {
-	desc_ = desc;
-	setParameter("Desc", desc);
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
 }
 

+ 26 - 27
iot/src/model/CreateProductResult.cc

@@ -40,43 +40,37 @@ void CreateProductResult::parse(const std::string &payload)
 	reader.parse(payload, value);
 
 	setRequestId(value["RequestId"].asString());
-	auto productInfoNode = value["ProductInfo"];
-	if(!productInfoNode["ProductKey"].isNull())
-		productInfo_.productKey = productInfoNode["ProductKey"].asString();
-	if(!productInfoNode["ProductName"].isNull())
-		productInfo_.productName = productInfoNode["ProductName"].asString();
-	if(!productInfoNode["NodeType"].isNull())
-		productInfo_.nodeType = std::stoi(productInfoNode["NodeType"].asString());
-	if(!productInfoNode["CatId"].isNull())
-		productInfo_.catId = std::stol(productInfoNode["CatId"].asString());
-	if(!productInfoNode["CreateUserId"].isNull())
-		productInfo_.createUserId = std::stol(productInfoNode["CreateUserId"].asString());
-	if(!productInfoNode["ProductDesc"].isNull())
-		productInfo_.productDesc = productInfoNode["ProductDesc"].asString();
-	if(!productInfoNode["FromSource"].isNull())
-		productInfo_.fromSource = productInfoNode["FromSource"].asString();
-	if(!productInfoNode["ExtProps"].isNull())
-		productInfo_.extProps = productInfoNode["ExtProps"].asString();
-	if(!productInfoNode["GmtCreate"].isNull())
-		productInfo_.gmtCreate = productInfoNode["GmtCreate"].asString();
-	if(!productInfoNode["GmtModified"].isNull())
-		productInfo_.gmtModified = productInfoNode["GmtModified"].asString();
-	if(!productInfoNode["ProductSecret"].isNull())
-		productInfo_.productSecret = productInfoNode["ProductSecret"].asString();
-	if(!productInfoNode["Id2"].isNull())
-		productInfo_.id2 = productInfoNode["Id2"].asString() == "true";
+	auto dataNode = value["Data"];
+	if(!dataNode["DataFormat"].isNull())
+		data_.dataFormat = std::stoi(dataNode["DataFormat"].asString());
+	if(!dataNode["Description"].isNull())
+		data_.description = dataNode["Description"].asString();
+	if(!dataNode["NodeType"].isNull())
+		data_.nodeType = std::stoi(dataNode["NodeType"].asString());
+	if(!dataNode["ProductKey"].isNull())
+		data_.productKey = dataNode["ProductKey"].asString();
+	if(!dataNode["ProductName"].isNull())
+		data_.productName = dataNode["ProductName"].asString();
+	if(!dataNode["AliyunCommodityCode"].isNull())
+		data_.aliyunCommodityCode = dataNode["AliyunCommodityCode"].asString();
+	if(!dataNode["Id2"].isNull())
+		data_.id2 = dataNode["Id2"].asString() == "true";
+	if(!dataNode["ProtocolType"].isNull())
+		data_.protocolType = dataNode["ProtocolType"].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["ProductKey"].isNull())
+		productKey_ = value["ProductKey"].asString();
 
 }
 
-CreateProductResult::ProductInfo CreateProductResult::getProductInfo()const
+CreateProductResult::Data CreateProductResult::getData()const
 {
-	return productInfo_;
+	return data_;
 }
 
 std::string CreateProductResult::getErrorMessage()const
@@ -94,3 +88,8 @@ bool CreateProductResult::getSuccess()const
 	return success_;
 }
 
+std::string CreateProductResult::getProductKey()const
+{
+	return productKey_;
+}
+

+ 1 - 1
iot/src/model/CreateProductTopicRequest.cc

@@ -19,7 +19,7 @@
 using AlibabaCloud::Iot::Model::CreateProductTopicRequest;
 
 CreateProductTopicRequest::CreateProductTopicRequest() :
-	RpcServiceRequest("iot", "2017-04-20", "CreateProductTopic")
+	RpcServiceRequest("iot", "2018-01-20", "CreateProductTopic")
 {}
 
 CreateProductTopicRequest::~CreateProductTopicRequest()

+ 1 - 1
iot/src/model/CreateRuleActionRequest.cc

@@ -19,7 +19,7 @@
 using AlibabaCloud::Iot::Model::CreateRuleActionRequest;
 
 CreateRuleActionRequest::CreateRuleActionRequest() :
-	RpcServiceRequest("iot", "2017-04-20", "CreateRuleAction")
+	RpcServiceRequest("iot", "2018-01-20", "CreateRuleAction")
 {}
 
 CreateRuleActionRequest::~CreateRuleActionRequest()

+ 2 - 2
iot/src/model/CreateRuleActionResult.cc

@@ -40,10 +40,10 @@ void CreateRuleActionResult::parse(const std::string &payload)
 	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["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
 	if(!value["ErrorMessage"].isNull())
 		errorMessage_ = value["ErrorMessage"].asString();
 	if(!value["ActionId"].isNull())

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

@@ -19,7 +19,7 @@
 using AlibabaCloud::Iot::Model::CreateRuleRequest;
 
 CreateRuleRequest::CreateRuleRequest() :
-	RpcServiceRequest("iot", "2017-04-20", "CreateRule")
+	RpcServiceRequest("iot", "2018-01-20", "CreateRule")
 {}
 
 CreateRuleRequest::~CreateRuleRequest()
@@ -91,6 +91,17 @@ void CreateRuleRequest::setProductKey(const std::string& productKey)
 	setParameter("ProductKey", productKey);
 }
 
+int CreateRuleRequest::getTopicType()const
+{
+	return topicType_;
+}
+
+void CreateRuleRequest::setTopicType(int topicType)
+{
+	topicType_ = topicType;
+	setParameter("TopicType", std::to_string(topicType));
+}
+
 std::string CreateRuleRequest::getAccessKeyId()const
 {
 	return accessKeyId_;

+ 1 - 1
iot/src/model/CreateTopicRouteTableRequest.cc

@@ -19,7 +19,7 @@
 using AlibabaCloud::Iot::Model::CreateTopicRouteTableRequest;
 
 CreateTopicRouteTableRequest::CreateTopicRouteTableRequest() :
-	RpcServiceRequest("iot", "2017-04-20", "CreateTopicRouteTable")
+	RpcServiceRequest("iot", "2018-01-20", "CreateTopicRouteTable")
 {}
 
 CreateTopicRouteTableRequest::~CreateTopicRouteTableRequest()

+ 1 - 1
iot/src/model/DeleteDevicePropRequest.cc

@@ -19,7 +19,7 @@
 using AlibabaCloud::Iot::Model::DeleteDevicePropRequest;
 
 DeleteDevicePropRequest::DeleteDevicePropRequest() :
-	RpcServiceRequest("iot", "2017-04-20", "DeleteDeviceProp")
+	RpcServiceRequest("iot", "2018-01-20", "DeleteDeviceProp")
 {}
 
 DeleteDevicePropRequest::~DeleteDevicePropRequest()

+ 12 - 12
iot/src/model/QueryApplyStatusRequest.cc → iot/src/model/DeleteProductRequest.cc

@@ -14,34 +14,34 @@
  * limitations under the License.
  */
 
-#include <alibabacloud/iot/model/QueryApplyStatusRequest.h>
+#include <alibabacloud/iot/model/DeleteProductRequest.h>
 
-using AlibabaCloud::Iot::Model::QueryApplyStatusRequest;
+using AlibabaCloud::Iot::Model::DeleteProductRequest;
 
-QueryApplyStatusRequest::QueryApplyStatusRequest() :
-	RpcServiceRequest("iot", "2017-04-20", "QueryApplyStatus")
+DeleteProductRequest::DeleteProductRequest() :
+	RpcServiceRequest("iot", "2018-01-20", "DeleteProduct")
 {}
 
-QueryApplyStatusRequest::~QueryApplyStatusRequest()
+DeleteProductRequest::~DeleteProductRequest()
 {}
 
-long QueryApplyStatusRequest::getApplyId()const
+std::string DeleteProductRequest::getProductKey()const
 {
-	return applyId_;
+	return productKey_;
 }
 
-void QueryApplyStatusRequest::setApplyId(long applyId)
+void DeleteProductRequest::setProductKey(const std::string& productKey)
 {
-	applyId_ = applyId;
-	setParameter("ApplyId", std::to_string(applyId));
+	productKey_ = productKey;
+	setParameter("ProductKey", productKey);
 }
 
-std::string QueryApplyStatusRequest::getAccessKeyId()const
+std::string DeleteProductRequest::getAccessKeyId()const
 {
 	return accessKeyId_;
 }
 
-void QueryApplyStatusRequest::setAccessKeyId(const std::string& accessKeyId)
+void DeleteProductRequest::setAccessKeyId(const std::string& accessKeyId)
 {
 	accessKeyId_ = accessKeyId;
 	setParameter("AccessKeyId", accessKeyId);

+ 8 - 15
iot/src/model/QueryApplyStatusResult.cc → iot/src/model/DeleteProductResult.cc

@@ -14,26 +14,26 @@
  * limitations under the License.
  */
 
-#include <alibabacloud/iot/model/QueryApplyStatusResult.h>
+#include <alibabacloud/iot/model/DeleteProductResult.h>
 #include <json/json.h>
 
 using namespace AlibabaCloud::Iot;
 using namespace AlibabaCloud::Iot::Model;
 
-QueryApplyStatusResult::QueryApplyStatusResult() :
+DeleteProductResult::DeleteProductResult() :
 	ServiceResult()
 {}
 
-QueryApplyStatusResult::QueryApplyStatusResult(const std::string &payload) :
+DeleteProductResult::DeleteProductResult(const std::string &payload) :
 	ServiceResult()
 {
 	parse(payload);
 }
 
-QueryApplyStatusResult::~QueryApplyStatusResult()
+DeleteProductResult::~DeleteProductResult()
 {}
 
-void QueryApplyStatusResult::parse(const std::string &payload)
+void DeleteProductResult::parse(const std::string &payload)
 {
 	Json::Reader reader;
 	Json::Value value;
@@ -46,27 +46,20 @@ void QueryApplyStatusResult::parse(const std::string &payload)
 		code_ = value["Code"].asString();
 	if(!value["ErrorMessage"].isNull())
 		errorMessage_ = value["ErrorMessage"].asString();
-	if(!value["Finish"].isNull())
-		finish_ = value["Finish"].asString() == "true";
 
 }
 
-std::string QueryApplyStatusResult::getErrorMessage()const
+std::string DeleteProductResult::getErrorMessage()const
 {
 	return errorMessage_;
 }
 
-std::string QueryApplyStatusResult::getCode()const
+std::string DeleteProductResult::getCode()const
 {
 	return code_;
 }
 
-bool QueryApplyStatusResult::getFinish()const
-{
-	return finish_;
-}
-
-bool QueryApplyStatusResult::getSuccess()const
+bool DeleteProductResult::getSuccess()const
 {
 	return success_;
 }

+ 1 - 1
iot/src/model/DeleteProductTopicRequest.cc

@@ -19,7 +19,7 @@
 using AlibabaCloud::Iot::Model::DeleteProductTopicRequest;
 
 DeleteProductTopicRequest::DeleteProductTopicRequest() :
-	RpcServiceRequest("iot", "2017-04-20", "DeleteProductTopic")
+	RpcServiceRequest("iot", "2018-01-20", "DeleteProductTopic")
 {}
 
 DeleteProductTopicRequest::~DeleteProductTopicRequest()

+ 1 - 1
iot/src/model/DeleteRuleActionRequest.cc

@@ -19,7 +19,7 @@
 using AlibabaCloud::Iot::Model::DeleteRuleActionRequest;
 
 DeleteRuleActionRequest::DeleteRuleActionRequest() :
-	RpcServiceRequest("iot", "2017-04-20", "DeleteRuleAction")
+	RpcServiceRequest("iot", "2018-01-20", "DeleteRuleAction")
 {}
 
 DeleteRuleActionRequest::~DeleteRuleActionRequest()

+ 1 - 1
iot/src/model/DeleteRuleRequest.cc

@@ -19,7 +19,7 @@
 using AlibabaCloud::Iot::Model::DeleteRuleRequest;
 
 DeleteRuleRequest::DeleteRuleRequest() :
-	RpcServiceRequest("iot", "2017-04-20", "DeleteRule")
+	RpcServiceRequest("iot", "2018-01-20", "DeleteRule")
 {}
 
 DeleteRuleRequest::~DeleteRuleRequest()

+ 1 - 1
iot/src/model/DeleteTopicRouteTableRequest.cc

@@ -19,7 +19,7 @@
 using AlibabaCloud::Iot::Model::DeleteTopicRouteTableRequest;
 
 DeleteTopicRouteTableRequest::DeleteTopicRouteTableRequest() :
-	RpcServiceRequest("iot", "2017-04-20", "DeleteTopicRouteTable")
+	RpcServiceRequest("iot", "2018-01-20", "DeleteTopicRouteTable")
 {}
 
 DeleteTopicRouteTableRequest::~DeleteTopicRouteTableRequest()

+ 1 - 1
iot/src/model/GetDeviceShadowRequest.cc

@@ -19,7 +19,7 @@
 using AlibabaCloud::Iot::Model::GetDeviceShadowRequest;
 
 GetDeviceShadowRequest::GetDeviceShadowRequest() :
-	RpcServiceRequest("iot", "2017-04-20", "GetDeviceShadow")
+	RpcServiceRequest("iot", "2018-01-20", "GetDeviceShadow")
 {}
 
 GetDeviceShadowRequest::~GetDeviceShadowRequest()

+ 1 - 1
iot/src/model/GetRuleActionRequest.cc

@@ -19,7 +19,7 @@
 using AlibabaCloud::Iot::Model::GetRuleActionRequest;
 
 GetRuleActionRequest::GetRuleActionRequest() :
-	RpcServiceRequest("iot", "2017-04-20", "GetRuleAction")
+	RpcServiceRequest("iot", "2018-01-20", "GetRuleAction")
 {}
 
 GetRuleActionRequest::~GetRuleActionRequest()

+ 1 - 1
iot/src/model/GetRuleRequest.cc

@@ -19,7 +19,7 @@
 using AlibabaCloud::Iot::Model::GetRuleRequest;
 
 GetRuleRequest::GetRuleRequest() :
-	RpcServiceRequest("iot", "2017-04-20", "GetRule")
+	RpcServiceRequest("iot", "2018-01-20", "GetRule")
 {}
 
 GetRuleRequest::~GetRuleRequest()

+ 8 - 2
iot/src/model/GetRuleResult.cc

@@ -61,12 +61,18 @@ void GetRuleResult::parse(const std::string &payload)
 		ruleInfo_.name = ruleInfoNode["Name"].asString();
 	if(!ruleInfoNode["RuleDesc"].isNull())
 		ruleInfo_.ruleDesc = ruleInfoNode["RuleDesc"].asString();
-	if(!ruleInfoNode["Created"].isNull())
-		ruleInfo_.created = ruleInfoNode["Created"].asString();
 	if(!ruleInfoNode["DataType"].isNull())
 		ruleInfo_.dataType = ruleInfoNode["DataType"].asString();
+	if(!ruleInfoNode["Created"].isNull())
+		ruleInfo_.created = ruleInfoNode["Created"].asString();
+	if(!ruleInfoNode["UtcCreated"].isNull())
+		ruleInfo_.utcCreated = ruleInfoNode["UtcCreated"].asString();
 	if(!ruleInfoNode["Modified"].isNull())
 		ruleInfo_.modified = ruleInfoNode["Modified"].asString();
+	if(!ruleInfoNode["UtcModified"].isNull())
+		ruleInfo_.utcModified = ruleInfoNode["UtcModified"].asString();
+	if(!ruleInfoNode["TopicType"].isNull())
+		ruleInfo_.topicType = std::stoi(ruleInfoNode["TopicType"].asString());
 	if(!value["Success"].isNull())
 		success_ = value["Success"].asString() == "true";
 	if(!value["Code"].isNull())

+ 1 - 1
iot/src/model/ListRuleActionsRequest.cc

@@ -19,7 +19,7 @@
 using AlibabaCloud::Iot::Model::ListRuleActionsRequest;
 
 ListRuleActionsRequest::ListRuleActionsRequest() :
-	RpcServiceRequest("iot", "2017-04-20", "ListRuleActions")
+	RpcServiceRequest("iot", "2018-01-20", "ListRuleActions")
 {}
 
 ListRuleActionsRequest::~ListRuleActionsRequest()

+ 1 - 1
iot/src/model/ListRuleRequest.cc

@@ -19,7 +19,7 @@
 using AlibabaCloud::Iot::Model::ListRuleRequest;
 
 ListRuleRequest::ListRuleRequest() :
-	RpcServiceRequest("iot", "2017-04-20", "ListRule")
+	RpcServiceRequest("iot", "2018-01-20", "ListRule")
 {}
 
 ListRuleRequest::~ListRuleRequest()

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

@@ -68,8 +68,12 @@ void ListRuleResult::parse(const std::string &payload)
 			dataObject.ruleDesc = value["RuleDesc"].asString();
 		if(!value["Created"].isNull())
 			dataObject.created = value["Created"].asString();
+		if(!value["UtcCreated"].isNull())
+			dataObject.utcCreated = value["UtcCreated"].asString();
 		if(!value["Modified"].isNull())
 			dataObject.modified = value["Modified"].asString();
+		if(!value["UtcModified"].isNull())
+			dataObject.utcModified = value["UtcModified"].asString();
 		data_.push_back(dataObject);
 	}
 	if(!value["Success"].isNull())

+ 1 - 1
iot/src/model/PubBroadcastRequest.cc

@@ -19,7 +19,7 @@
 using AlibabaCloud::Iot::Model::PubBroadcastRequest;
 
 PubBroadcastRequest::PubBroadcastRequest() :
-	RpcServiceRequest("iot", "2017-04-20", "PubBroadcast")
+	RpcServiceRequest("iot", "2018-01-20", "PubBroadcast")
 {}
 
 PubBroadcastRequest::~PubBroadcastRequest()

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

@@ -19,7 +19,7 @@
 using AlibabaCloud::Iot::Model::PubRequest;
 
 PubRequest::PubRequest() :
-	RpcServiceRequest("iot", "2017-04-20", "Pub")
+	RpcServiceRequest("iot", "2018-01-20", "Pub")
 {}
 
 PubRequest::~PubRequest()

+ 0 - 60
iot/src/model/QueryDeviceByNameRequest.cc

@@ -1,60 +0,0 @@
-/*
- * 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/QueryDeviceByNameRequest.h>
-
-using AlibabaCloud::Iot::Model::QueryDeviceByNameRequest;
-
-QueryDeviceByNameRequest::QueryDeviceByNameRequest() :
-	RpcServiceRequest("iot", "2017-04-20", "QueryDeviceByName")
-{}
-
-QueryDeviceByNameRequest::~QueryDeviceByNameRequest()
-{}
-
-std::string QueryDeviceByNameRequest::getDeviceName()const
-{
-	return deviceName_;
-}
-
-void QueryDeviceByNameRequest::setDeviceName(const std::string& deviceName)
-{
-	deviceName_ = deviceName;
-	setParameter("DeviceName", deviceName);
-}
-
-std::string QueryDeviceByNameRequest::getProductKey()const
-{
-	return productKey_;
-}
-
-void QueryDeviceByNameRequest::setProductKey(const std::string& productKey)
-{
-	productKey_ = productKey;
-	setParameter("ProductKey", productKey);
-}
-
-std::string QueryDeviceByNameRequest::getAccessKeyId()const
-{
-	return accessKeyId_;
-}
-
-void QueryDeviceByNameRequest::setAccessKeyId(const std::string& accessKeyId)
-{
-	accessKeyId_ = accessKeyId;
-	setParameter("AccessKeyId", accessKeyId);
-}
-

+ 0 - 90
iot/src/model/QueryDeviceByNameResult.cc

@@ -1,90 +0,0 @@
-/*
- * 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/QueryDeviceByNameResult.h>
-#include <json/json.h>
-
-using namespace AlibabaCloud::Iot;
-using namespace AlibabaCloud::Iot::Model;
-
-QueryDeviceByNameResult::QueryDeviceByNameResult() :
-	ServiceResult()
-{}
-
-QueryDeviceByNameResult::QueryDeviceByNameResult(const std::string &payload) :
-	ServiceResult()
-{
-	parse(payload);
-}
-
-QueryDeviceByNameResult::~QueryDeviceByNameResult()
-{}
-
-void QueryDeviceByNameResult::parse(const std::string &payload)
-{
-	Json::Reader reader;
-	Json::Value value;
-	reader.parse(payload, value);
-
-	setRequestId(value["RequestId"].asString());
-	auto deviceInfoNode = value["DeviceInfo"];
-	if(!deviceInfoNode["DeviceId"].isNull())
-		deviceInfo_.deviceId = deviceInfoNode["DeviceId"].asString();
-	if(!deviceInfoNode["DeviceSecret"].isNull())
-		deviceInfo_.deviceSecret = deviceInfoNode["DeviceSecret"].asString();
-	if(!deviceInfoNode["ProductKey"].isNull())
-		deviceInfo_.productKey = deviceInfoNode["ProductKey"].asString();
-	if(!deviceInfoNode["DeviceStatus"].isNull())
-		deviceInfo_.deviceStatus = deviceInfoNode["DeviceStatus"].asString();
-	if(!deviceInfoNode["DeviceName"].isNull())
-		deviceInfo_.deviceName = deviceInfoNode["DeviceName"].asString();
-	if(!deviceInfoNode["DeviceType"].isNull())
-		deviceInfo_.deviceType = deviceInfoNode["DeviceType"].asString();
-	if(!deviceInfoNode["ClientIp"].isNull())
-		deviceInfo_.clientIp = deviceInfoNode["ClientIp"].asString();
-	if(!deviceInfoNode["GmtCreate"].isNull())
-		deviceInfo_.gmtCreate = deviceInfoNode["GmtCreate"].asString();
-	if(!deviceInfoNode["GmtModified"].isNull())
-		deviceInfo_.gmtModified = deviceInfoNode["GmtModified"].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();
-
-}
-
-QueryDeviceByNameResult::DeviceInfo QueryDeviceByNameResult::getDeviceInfo()const
-{
-	return deviceInfo_;
-}
-
-std::string QueryDeviceByNameResult::getErrorMessage()const
-{
-	return errorMessage_;
-}
-
-std::string QueryDeviceByNameResult::getCode()const
-{
-	return code_;
-}
-
-bool QueryDeviceByNameResult::getSuccess()const
-{
-	return success_;
-}
-

+ 1 - 1
iot/src/model/QueryDevicePropRequest.cc

@@ -19,7 +19,7 @@
 using AlibabaCloud::Iot::Model::QueryDevicePropRequest;
 
 QueryDevicePropRequest::QueryDevicePropRequest() :
-	RpcServiceRequest("iot", "2017-04-20", "QueryDeviceProp")
+	RpcServiceRequest("iot", "2018-01-20", "QueryDeviceProp")
 {}
 
 QueryDevicePropRequest::~QueryDevicePropRequest()

+ 1 - 1
iot/src/model/QueryDeviceRequest.cc

@@ -19,7 +19,7 @@
 using AlibabaCloud::Iot::Model::QueryDeviceRequest;
 
 QueryDeviceRequest::QueryDeviceRequest() :
-	RpcServiceRequest("iot", "2017-04-20", "QueryDevice")
+	RpcServiceRequest("iot", "2018-01-20", "QueryDevice")
 {}
 
 QueryDeviceRequest::~QueryDeviceRequest()

+ 1 - 1
iot/src/model/QueryPageByApplyIdRequest.cc

@@ -19,7 +19,7 @@
 using AlibabaCloud::Iot::Model::QueryPageByApplyIdRequest;
 
 QueryPageByApplyIdRequest::QueryPageByApplyIdRequest() :
-	RpcServiceRequest("iot", "2017-04-20", "QueryPageByApplyId")
+	RpcServiceRequest("iot", "2018-01-20", "QueryPageByApplyId")
 {}
 
 QueryPageByApplyIdRequest::~QueryPageByApplyIdRequest()

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

@@ -65,6 +65,8 @@ void QueryProductResult::parse(const std::string &payload)
 		data_.aliyunCommodityCode = dataNode["AliyunCommodityCode"].asString();
 	if(!dataNode["Id2"].isNull())
 		data_.id2 = dataNode["Id2"].asString() == "true";
+	if(!dataNode["ProtocolType"].isNull())
+		data_.protocolType = dataNode["ProtocolType"].asString();
 	if(!value["Success"].isNull())
 		success_ = value["Success"].asString() == "true";
 	if(!value["Code"].isNull())

+ 1 - 1
iot/src/model/QueryProductTopicRequest.cc

@@ -19,7 +19,7 @@
 using AlibabaCloud::Iot::Model::QueryProductTopicRequest;
 
 QueryProductTopicRequest::QueryProductTopicRequest() :
-	RpcServiceRequest("iot", "2017-04-20", "QueryProductTopic")
+	RpcServiceRequest("iot", "2018-01-20", "QueryProductTopic")
 {}
 
 QueryProductTopicRequest::~QueryProductTopicRequest()

+ 1 - 1
iot/src/model/QueryTopicReverseRouteTableRequest.cc

@@ -19,7 +19,7 @@
 using AlibabaCloud::Iot::Model::QueryTopicReverseRouteTableRequest;
 
 QueryTopicReverseRouteTableRequest::QueryTopicReverseRouteTableRequest() :
-	RpcServiceRequest("iot", "2017-04-20", "QueryTopicReverseRouteTable")
+	RpcServiceRequest("iot", "2018-01-20", "QueryTopicReverseRouteTable")
 {}
 
 QueryTopicReverseRouteTableRequest::~QueryTopicReverseRouteTableRequest()

+ 1 - 1
iot/src/model/QueryTopicRouteTableRequest.cc

@@ -19,7 +19,7 @@
 using AlibabaCloud::Iot::Model::QueryTopicRouteTableRequest;
 
 QueryTopicRouteTableRequest::QueryTopicRouteTableRequest() :
-	RpcServiceRequest("iot", "2017-04-20", "QueryTopicRouteTable")
+	RpcServiceRequest("iot", "2018-01-20", "QueryTopicRouteTable")
 {}
 
 QueryTopicRouteTableRequest::~QueryTopicRouteTableRequest()

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

@@ -19,7 +19,7 @@
 using AlibabaCloud::Iot::Model::RRpcRequest;
 
 RRpcRequest::RRpcRequest() :
-	RpcServiceRequest("iot", "2017-04-20", "RRpc")
+	RpcServiceRequest("iot", "2018-01-20", "RRpc")
 {}
 
 RRpcRequest::~RRpcRequest()
@@ -36,6 +36,17 @@ void RRpcRequest::setRequestBase64Byte(const std::string& requestBase64Byte)
 	setParameter("RequestBase64Byte", requestBase64Byte);
 }
 
+std::string RRpcRequest::getTopic()const
+{
+	return topic_;
+}
+
+void RRpcRequest::setTopic(const std::string& topic)
+{
+	topic_ = topic;
+	setParameter("Topic", topic);
+}
+
 std::string RRpcRequest::getDeviceName()const
 {
 	return deviceName_;

+ 0 - 60
iot/src/model/RegistDeviceRequest.cc

@@ -1,60 +0,0 @@
-/*
- * 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/RegistDeviceRequest.h>
-
-using AlibabaCloud::Iot::Model::RegistDeviceRequest;
-
-RegistDeviceRequest::RegistDeviceRequest() :
-	RpcServiceRequest("iot", "2017-04-20", "RegistDevice")
-{}
-
-RegistDeviceRequest::~RegistDeviceRequest()
-{}
-
-std::string RegistDeviceRequest::getDeviceName()const
-{
-	return deviceName_;
-}
-
-void RegistDeviceRequest::setDeviceName(const std::string& deviceName)
-{
-	deviceName_ = deviceName;
-	setParameter("DeviceName", deviceName);
-}
-
-std::string RegistDeviceRequest::getProductKey()const
-{
-	return productKey_;
-}
-
-void RegistDeviceRequest::setProductKey(const std::string& productKey)
-{
-	productKey_ = productKey;
-	setParameter("ProductKey", productKey);
-}
-
-std::string RegistDeviceRequest::getAccessKeyId()const
-{
-	return accessKeyId_;
-}
-
-void RegistDeviceRequest::setAccessKeyId(const std::string& accessKeyId)
-{
-	accessKeyId_ = accessKeyId;
-	setParameter("AccessKeyId", accessKeyId);
-}
-

+ 0 - 94
iot/src/model/RegistDeviceResult.cc

@@ -1,94 +0,0 @@
-/*
- * 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/RegistDeviceResult.h>
-#include <json/json.h>
-
-using namespace AlibabaCloud::Iot;
-using namespace AlibabaCloud::Iot::Model;
-
-RegistDeviceResult::RegistDeviceResult() :
-	ServiceResult()
-{}
-
-RegistDeviceResult::RegistDeviceResult(const std::string &payload) :
-	ServiceResult()
-{
-	parse(payload);
-}
-
-RegistDeviceResult::~RegistDeviceResult()
-{}
-
-void RegistDeviceResult::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["DeviceId"].isNull())
-		deviceId_ = value["DeviceId"].asString();
-	if(!value["DeviceSecret"].isNull())
-		deviceSecret_ = value["DeviceSecret"].asString();
-	if(!value["DeviceStatus"].isNull())
-		deviceStatus_ = value["DeviceStatus"].asString();
-	if(!value["DeviceName"].isNull())
-		deviceName_ = value["DeviceName"].asString();
-
-}
-
-std::string RegistDeviceResult::getDeviceId()const
-{
-	return deviceId_;
-}
-
-std::string RegistDeviceResult::getDeviceSecret()const
-{
-	return deviceSecret_;
-}
-
-std::string RegistDeviceResult::getDeviceStatus()const
-{
-	return deviceStatus_;
-}
-
-std::string RegistDeviceResult::getErrorMessage()const
-{
-	return errorMessage_;
-}
-
-std::string RegistDeviceResult::getCode()const
-{
-	return code_;
-}
-
-bool RegistDeviceResult::getSuccess()const
-{
-	return success_;
-}
-
-std::string RegistDeviceResult::getDeviceName()const
-{
-	return deviceName_;
-}
-

+ 1 - 1
iot/src/model/SaveDevicePropRequest.cc

@@ -19,7 +19,7 @@
 using AlibabaCloud::Iot::Model::SaveDevicePropRequest;
 
 SaveDevicePropRequest::SaveDevicePropRequest() :
-	RpcServiceRequest("iot", "2017-04-20", "SaveDeviceProp")
+	RpcServiceRequest("iot", "2018-01-20", "SaveDeviceProp")
 {}
 
 SaveDevicePropRequest::~SaveDevicePropRequest()

+ 1 - 1
iot/src/model/StartRuleRequest.cc

@@ -19,7 +19,7 @@
 using AlibabaCloud::Iot::Model::StartRuleRequest;
 
 StartRuleRequest::StartRuleRequest() :
-	RpcServiceRequest("iot", "2017-04-20", "StartRule")
+	RpcServiceRequest("iot", "2018-01-20", "StartRule")
 {}
 
 StartRuleRequest::~StartRuleRequest()

+ 1 - 1
iot/src/model/StopRuleRequest.cc

@@ -19,7 +19,7 @@
 using AlibabaCloud::Iot::Model::StopRuleRequest;
 
 StopRuleRequest::StopRuleRequest() :
-	RpcServiceRequest("iot", "2017-04-20", "StopRule")
+	RpcServiceRequest("iot", "2018-01-20", "StopRule")
 {}
 
 StopRuleRequest::~StopRuleRequest()

+ 1 - 1
iot/src/model/UpdateDeviceShadowRequest.cc

@@ -19,7 +19,7 @@
 using AlibabaCloud::Iot::Model::UpdateDeviceShadowRequest;
 
 UpdateDeviceShadowRequest::UpdateDeviceShadowRequest() :
-	RpcServiceRequest("iot", "2017-04-20", "UpdateDeviceShadow")
+	RpcServiceRequest("iot", "2018-01-20", "UpdateDeviceShadow")
 {}
 
 UpdateDeviceShadowRequest::~UpdateDeviceShadowRequest()

+ 6 - 39
iot/src/model/UpdateProductRequest.cc

@@ -19,34 +19,12 @@
 using AlibabaCloud::Iot::Model::UpdateProductRequest;
 
 UpdateProductRequest::UpdateProductRequest() :
-	RpcServiceRequest("iot", "2017-04-20", "UpdateProduct")
+	RpcServiceRequest("iot", "2018-01-20", "UpdateProduct")
 {}
 
 UpdateProductRequest::~UpdateProductRequest()
 {}
 
-long UpdateProductRequest::getCatId()const
-{
-	return catId_;
-}
-
-void UpdateProductRequest::setCatId(long catId)
-{
-	catId_ = catId;
-	setParameter("CatId", std::to_string(catId));
-}
-
-int UpdateProductRequest::getNodeType()const
-{
-	return nodeType_;
-}
-
-void UpdateProductRequest::setNodeType(int nodeType)
-{
-	nodeType_ = nodeType;
-	setParameter("NodeType", std::to_string(nodeType));
-}
-
 std::string UpdateProductRequest::getProductName()const
 {
 	return productName_;
@@ -58,15 +36,15 @@ void UpdateProductRequest::setProductName(const std::string& productName)
 	setParameter("ProductName", productName);
 }
 
-std::string UpdateProductRequest::getExtProps()const
+std::string UpdateProductRequest::getDescription()const
 {
-	return extProps_;
+	return description_;
 }
 
-void UpdateProductRequest::setExtProps(const std::string& extProps)
+void UpdateProductRequest::setDescription(const std::string& description)
 {
-	extProps_ = extProps;
-	setParameter("ExtProps", extProps);
+	description_ = description;
+	setParameter("Description", description);
 }
 
 std::string UpdateProductRequest::getProductKey()const
@@ -80,17 +58,6 @@ void UpdateProductRequest::setProductKey(const std::string& productKey)
 	setParameter("ProductKey", productKey);
 }
 
-std::string UpdateProductRequest::getProductDesc()const
-{
-	return productDesc_;
-}
-
-void UpdateProductRequest::setProductDesc(const std::string& productDesc)
-{
-	productDesc_ = productDesc;
-	setParameter("ProductDesc", productDesc);
-}
-
 std::string UpdateProductRequest::getAccessKeyId()const
 {
 	return accessKeyId_;

+ 1 - 1
iot/src/model/UpdateProductTopicRequest.cc

@@ -19,7 +19,7 @@
 using AlibabaCloud::Iot::Model::UpdateProductTopicRequest;
 
 UpdateProductTopicRequest::UpdateProductTopicRequest() :
-	RpcServiceRequest("iot", "2017-04-20", "UpdateProductTopic")
+	RpcServiceRequest("iot", "2018-01-20", "UpdateProductTopic")
 {}
 
 UpdateProductTopicRequest::~UpdateProductTopicRequest()

+ 1 - 1
iot/src/model/UpdateRuleActionRequest.cc

@@ -19,7 +19,7 @@
 using AlibabaCloud::Iot::Model::UpdateRuleActionRequest;
 
 UpdateRuleActionRequest::UpdateRuleActionRequest() :
-	RpcServiceRequest("iot", "2017-04-20", "UpdateRuleAction")
+	RpcServiceRequest("iot", "2018-01-20", "UpdateRuleAction")
 {}
 
 UpdateRuleActionRequest::~UpdateRuleActionRequest()

+ 2 - 2
iot/src/model/UpdateRuleActionResult.cc

@@ -40,10 +40,10 @@ void UpdateRuleActionResult::parse(const std::string &payload)
 	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["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
 	if(!value["ErrorMessage"].isNull())
 		errorMessage_ = value["ErrorMessage"].asString();
 

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

@@ -19,7 +19,7 @@
 using AlibabaCloud::Iot::Model::UpdateRuleRequest;
 
 UpdateRuleRequest::UpdateRuleRequest() :
-	RpcServiceRequest("iot", "2017-04-20", "UpdateRule")
+	RpcServiceRequest("iot", "2018-01-20", "UpdateRule")
 {}
 
 UpdateRuleRequest::~UpdateRuleRequest()
@@ -91,6 +91,17 @@ void UpdateRuleRequest::setProductKey(const std::string& productKey)
 	setParameter("ProductKey", productKey);
 }
 
+int UpdateRuleRequest::getTopicType()const
+{
+	return topicType_;
+}
+
+void UpdateRuleRequest::setTopicType(int topicType)
+{
+	topicType_ = topicType;
+	setParameter("TopicType", std::to_string(topicType));
+}
+
 std::string UpdateRuleRequest::getAccessKeyId()const
 {
 	return accessKeyId_;