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

Add DeccribeEngineVersion DescribeTasks DescribeInstanceConfig and more APIs.

sdk-team 5 лет назад
Родитель
Сommit
97fa00faef
33 измененных файлов с 2122 добавлено и 96 удалено
  1. 3 0
      CHANGELOG
  2. 20 0
      r-kvstore/CMakeLists.txt
  3. 40 0
      r-kvstore/include/alibabacloud/r-kvstore/R_kvstoreClient.h
  4. 0 1
      r-kvstore/include/alibabacloud/r-kvstore/model/DescribeAccountsResult.h
  5. 69 0
      r-kvstore/include/alibabacloud/r-kvstore/model/DescribeEngineVersionRequest.h
  6. 61 0
      r-kvstore/include/alibabacloud/r-kvstore/model/DescribeEngineVersionResult.h
  7. 0 1
      r-kvstore/include/alibabacloud/r-kvstore/model/DescribeInstanceAttributeResult.h
  8. 66 0
      r-kvstore/include/alibabacloud/r-kvstore/model/DescribeInstanceConfigRequest.h
  9. 51 0
      r-kvstore/include/alibabacloud/r-kvstore/model/DescribeInstanceConfigResult.h
  10. 72 0
      r-kvstore/include/alibabacloud/r-kvstore/model/DescribeParameterTemplatesRequest.h
  11. 66 0
      r-kvstore/include/alibabacloud/r-kvstore/model/DescribeParameterTemplatesResult.h
  12. 81 0
      r-kvstore/include/alibabacloud/r-kvstore/model/DescribeRoleZoneInfoRequest.h
  13. 74 0
      r-kvstore/include/alibabacloud/r-kvstore/model/DescribeRoleZoneInfoResult.h
  14. 81 0
      r-kvstore/include/alibabacloud/r-kvstore/model/DescribeTasksRequest.h
  15. 70 0
      r-kvstore/include/alibabacloud/r-kvstore/model/DescribeTasksResult.h
  16. 180 0
      r-kvstore/src/R-kvstoreClient.cc
  17. 6 8
      r-kvstore/src/model/DescribeAccountsResult.cc
  18. 34 34
      r-kvstore/src/model/DescribeAvailableResourceResult.cc
  19. 10 10
      r-kvstore/src/model/DescribeCacheAnalysisReportListResult.cc
  20. 18 18
      r-kvstore/src/model/DescribeDedicatedClusterInstanceListResult.cc
  21. 117 0
      r-kvstore/src/model/DescribeEngineVersionRequest.cc
  22. 86 0
      r-kvstore/src/model/DescribeEngineVersionResult.cc
  23. 10 10
      r-kvstore/src/model/DescribeGlobalDistributeCacheResult.cc
  24. 6 8
      r-kvstore/src/model/DescribeInstanceAttributeResult.cc
  25. 106 0
      r-kvstore/src/model/DescribeInstanceConfigRequest.cc
  26. 51 0
      r-kvstore/src/model/DescribeInstanceConfigResult.cc
  27. 6 6
      r-kvstore/src/model/DescribeInstancesResult.cc
  28. 128 0
      r-kvstore/src/model/DescribeParameterTemplatesRequest.cc
  29. 88 0
      r-kvstore/src/model/DescribeParameterTemplatesResult.cc
  30. 161 0
      r-kvstore/src/model/DescribeRoleZoneInfoRequest.cc
  31. 104 0
      r-kvstore/src/model/DescribeRoleZoneInfoResult.cc
  32. 161 0
      r-kvstore/src/model/DescribeTasksRequest.cc
  33. 96 0
      r-kvstore/src/model/DescribeTasksResult.cc

+ 3 - 0
CHANGELOG

@@ -1,3 +1,6 @@
+2020-11-13 Version: patch
+- Add DeccribeEngineVersion DescribeTasks DescribeInstanceConfig and more APIs.
+
 2020-11-13 Version: patch
 - Fix GetBranchInfo and DeleteBranch API 404 error.
 - Add ListRepositoryBranches and GetGroupDetail API.

+ 20 - 0
r-kvstore/CMakeLists.txt

@@ -77,6 +77,8 @@ set(r-kvstore_public_header_model
 	include/alibabacloud/r-kvstore/model/DescribeDedicatedClusterInstanceListResult.h
 	include/alibabacloud/r-kvstore/model/DescribeDedicatedUserClusterRequest.h
 	include/alibabacloud/r-kvstore/model/DescribeDedicatedUserClusterResult.h
+	include/alibabacloud/r-kvstore/model/DescribeEngineVersionRequest.h
+	include/alibabacloud/r-kvstore/model/DescribeEngineVersionResult.h
 	include/alibabacloud/r-kvstore/model/DescribeGlobalDistributeCacheRequest.h
 	include/alibabacloud/r-kvstore/model/DescribeGlobalDistributeCacheResult.h
 	include/alibabacloud/r-kvstore/model/DescribeHistoryMonitorValuesRequest.h
@@ -85,6 +87,8 @@ set(r-kvstore_public_header_model
 	include/alibabacloud/r-kvstore/model/DescribeInstanceAttributeResult.h
 	include/alibabacloud/r-kvstore/model/DescribeInstanceAutoRenewalAttributeRequest.h
 	include/alibabacloud/r-kvstore/model/DescribeInstanceAutoRenewalAttributeResult.h
+	include/alibabacloud/r-kvstore/model/DescribeInstanceConfigRequest.h
+	include/alibabacloud/r-kvstore/model/DescribeInstanceConfigResult.h
 	include/alibabacloud/r-kvstore/model/DescribeInstanceSSLRequest.h
 	include/alibabacloud/r-kvstore/model/DescribeInstanceSSLResult.h
 	include/alibabacloud/r-kvstore/model/DescribeInstancesRequest.h
@@ -95,12 +99,16 @@ set(r-kvstore_public_header_model
 	include/alibabacloud/r-kvstore/model/DescribeLogicInstanceTopologyResult.h
 	include/alibabacloud/r-kvstore/model/DescribeMonitorItemsRequest.h
 	include/alibabacloud/r-kvstore/model/DescribeMonitorItemsResult.h
+	include/alibabacloud/r-kvstore/model/DescribeParameterTemplatesRequest.h
+	include/alibabacloud/r-kvstore/model/DescribeParameterTemplatesResult.h
 	include/alibabacloud/r-kvstore/model/DescribeParametersRequest.h
 	include/alibabacloud/r-kvstore/model/DescribeParametersResult.h
 	include/alibabacloud/r-kvstore/model/DescribePriceRequest.h
 	include/alibabacloud/r-kvstore/model/DescribePriceResult.h
 	include/alibabacloud/r-kvstore/model/DescribeRegionsRequest.h
 	include/alibabacloud/r-kvstore/model/DescribeRegionsResult.h
+	include/alibabacloud/r-kvstore/model/DescribeRoleZoneInfoRequest.h
+	include/alibabacloud/r-kvstore/model/DescribeRoleZoneInfoResult.h
 	include/alibabacloud/r-kvstore/model/DescribeRunningLogRecordsRequest.h
 	include/alibabacloud/r-kvstore/model/DescribeRunningLogRecordsResult.h
 	include/alibabacloud/r-kvstore/model/DescribeSecurityGroupConfigurationRequest.h
@@ -109,6 +117,8 @@ set(r-kvstore_public_header_model
 	include/alibabacloud/r-kvstore/model/DescribeSecurityIpsResult.h
 	include/alibabacloud/r-kvstore/model/DescribeSlowLogRecordsRequest.h
 	include/alibabacloud/r-kvstore/model/DescribeSlowLogRecordsResult.h
+	include/alibabacloud/r-kvstore/model/DescribeTasksRequest.h
+	include/alibabacloud/r-kvstore/model/DescribeTasksResult.h
 	include/alibabacloud/r-kvstore/model/DescribeUserClusterHostRequest.h
 	include/alibabacloud/r-kvstore/model/DescribeUserClusterHostResult.h
 	include/alibabacloud/r-kvstore/model/DescribeUserClusterHostInstanceRequest.h
@@ -252,6 +262,8 @@ set(r-kvstore_src
 	src/model/DescribeDedicatedClusterInstanceListResult.cc
 	src/model/DescribeDedicatedUserClusterRequest.cc
 	src/model/DescribeDedicatedUserClusterResult.cc
+	src/model/DescribeEngineVersionRequest.cc
+	src/model/DescribeEngineVersionResult.cc
 	src/model/DescribeGlobalDistributeCacheRequest.cc
 	src/model/DescribeGlobalDistributeCacheResult.cc
 	src/model/DescribeHistoryMonitorValuesRequest.cc
@@ -260,6 +272,8 @@ set(r-kvstore_src
 	src/model/DescribeInstanceAttributeResult.cc
 	src/model/DescribeInstanceAutoRenewalAttributeRequest.cc
 	src/model/DescribeInstanceAutoRenewalAttributeResult.cc
+	src/model/DescribeInstanceConfigRequest.cc
+	src/model/DescribeInstanceConfigResult.cc
 	src/model/DescribeInstanceSSLRequest.cc
 	src/model/DescribeInstanceSSLResult.cc
 	src/model/DescribeInstancesRequest.cc
@@ -270,12 +284,16 @@ set(r-kvstore_src
 	src/model/DescribeLogicInstanceTopologyResult.cc
 	src/model/DescribeMonitorItemsRequest.cc
 	src/model/DescribeMonitorItemsResult.cc
+	src/model/DescribeParameterTemplatesRequest.cc
+	src/model/DescribeParameterTemplatesResult.cc
 	src/model/DescribeParametersRequest.cc
 	src/model/DescribeParametersResult.cc
 	src/model/DescribePriceRequest.cc
 	src/model/DescribePriceResult.cc
 	src/model/DescribeRegionsRequest.cc
 	src/model/DescribeRegionsResult.cc
+	src/model/DescribeRoleZoneInfoRequest.cc
+	src/model/DescribeRoleZoneInfoResult.cc
 	src/model/DescribeRunningLogRecordsRequest.cc
 	src/model/DescribeRunningLogRecordsResult.cc
 	src/model/DescribeSecurityGroupConfigurationRequest.cc
@@ -284,6 +302,8 @@ set(r-kvstore_src
 	src/model/DescribeSecurityIpsResult.cc
 	src/model/DescribeSlowLogRecordsRequest.cc
 	src/model/DescribeSlowLogRecordsResult.cc
+	src/model/DescribeTasksRequest.cc
+	src/model/DescribeTasksResult.cc
 	src/model/DescribeUserClusterHostRequest.cc
 	src/model/DescribeUserClusterHostResult.cc
 	src/model/DescribeUserClusterHostInstanceRequest.cc

+ 40 - 0
r-kvstore/include/alibabacloud/r-kvstore/R_kvstoreClient.h

@@ -78,6 +78,8 @@
 #include "model/DescribeDedicatedClusterInstanceListResult.h"
 #include "model/DescribeDedicatedUserClusterRequest.h"
 #include "model/DescribeDedicatedUserClusterResult.h"
+#include "model/DescribeEngineVersionRequest.h"
+#include "model/DescribeEngineVersionResult.h"
 #include "model/DescribeGlobalDistributeCacheRequest.h"
 #include "model/DescribeGlobalDistributeCacheResult.h"
 #include "model/DescribeHistoryMonitorValuesRequest.h"
@@ -86,6 +88,8 @@
 #include "model/DescribeInstanceAttributeResult.h"
 #include "model/DescribeInstanceAutoRenewalAttributeRequest.h"
 #include "model/DescribeInstanceAutoRenewalAttributeResult.h"
+#include "model/DescribeInstanceConfigRequest.h"
+#include "model/DescribeInstanceConfigResult.h"
 #include "model/DescribeInstanceSSLRequest.h"
 #include "model/DescribeInstanceSSLResult.h"
 #include "model/DescribeInstancesRequest.h"
@@ -96,12 +100,16 @@
 #include "model/DescribeLogicInstanceTopologyResult.h"
 #include "model/DescribeMonitorItemsRequest.h"
 #include "model/DescribeMonitorItemsResult.h"
+#include "model/DescribeParameterTemplatesRequest.h"
+#include "model/DescribeParameterTemplatesResult.h"
 #include "model/DescribeParametersRequest.h"
 #include "model/DescribeParametersResult.h"
 #include "model/DescribePriceRequest.h"
 #include "model/DescribePriceResult.h"
 #include "model/DescribeRegionsRequest.h"
 #include "model/DescribeRegionsResult.h"
+#include "model/DescribeRoleZoneInfoRequest.h"
+#include "model/DescribeRoleZoneInfoResult.h"
 #include "model/DescribeRunningLogRecordsRequest.h"
 #include "model/DescribeRunningLogRecordsResult.h"
 #include "model/DescribeSecurityGroupConfigurationRequest.h"
@@ -110,6 +118,8 @@
 #include "model/DescribeSecurityIpsResult.h"
 #include "model/DescribeSlowLogRecordsRequest.h"
 #include "model/DescribeSlowLogRecordsResult.h"
+#include "model/DescribeTasksRequest.h"
+#include "model/DescribeTasksResult.h"
 #include "model/DescribeUserClusterHostRequest.h"
 #include "model/DescribeUserClusterHostResult.h"
 #include "model/DescribeUserClusterHostInstanceRequest.h"
@@ -287,6 +297,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeDedicatedUserClusterResult> DescribeDedicatedUserClusterOutcome;
 			typedef std::future<DescribeDedicatedUserClusterOutcome> DescribeDedicatedUserClusterOutcomeCallable;
 			typedef std::function<void(const R_kvstoreClient*, const Model::DescribeDedicatedUserClusterRequest&, const DescribeDedicatedUserClusterOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeDedicatedUserClusterAsyncHandler;
+			typedef Outcome<Error, Model::DescribeEngineVersionResult> DescribeEngineVersionOutcome;
+			typedef std::future<DescribeEngineVersionOutcome> DescribeEngineVersionOutcomeCallable;
+			typedef std::function<void(const R_kvstoreClient*, const Model::DescribeEngineVersionRequest&, const DescribeEngineVersionOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeEngineVersionAsyncHandler;
 			typedef Outcome<Error, Model::DescribeGlobalDistributeCacheResult> DescribeGlobalDistributeCacheOutcome;
 			typedef std::future<DescribeGlobalDistributeCacheOutcome> DescribeGlobalDistributeCacheOutcomeCallable;
 			typedef std::function<void(const R_kvstoreClient*, const Model::DescribeGlobalDistributeCacheRequest&, const DescribeGlobalDistributeCacheOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeGlobalDistributeCacheAsyncHandler;
@@ -299,6 +312,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeInstanceAutoRenewalAttributeResult> DescribeInstanceAutoRenewalAttributeOutcome;
 			typedef std::future<DescribeInstanceAutoRenewalAttributeOutcome> DescribeInstanceAutoRenewalAttributeOutcomeCallable;
 			typedef std::function<void(const R_kvstoreClient*, const Model::DescribeInstanceAutoRenewalAttributeRequest&, const DescribeInstanceAutoRenewalAttributeOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeInstanceAutoRenewalAttributeAsyncHandler;
+			typedef Outcome<Error, Model::DescribeInstanceConfigResult> DescribeInstanceConfigOutcome;
+			typedef std::future<DescribeInstanceConfigOutcome> DescribeInstanceConfigOutcomeCallable;
+			typedef std::function<void(const R_kvstoreClient*, const Model::DescribeInstanceConfigRequest&, const DescribeInstanceConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeInstanceConfigAsyncHandler;
 			typedef Outcome<Error, Model::DescribeInstanceSSLResult> DescribeInstanceSSLOutcome;
 			typedef std::future<DescribeInstanceSSLOutcome> DescribeInstanceSSLOutcomeCallable;
 			typedef std::function<void(const R_kvstoreClient*, const Model::DescribeInstanceSSLRequest&, const DescribeInstanceSSLOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeInstanceSSLAsyncHandler;
@@ -314,6 +330,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeMonitorItemsResult> DescribeMonitorItemsOutcome;
 			typedef std::future<DescribeMonitorItemsOutcome> DescribeMonitorItemsOutcomeCallable;
 			typedef std::function<void(const R_kvstoreClient*, const Model::DescribeMonitorItemsRequest&, const DescribeMonitorItemsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeMonitorItemsAsyncHandler;
+			typedef Outcome<Error, Model::DescribeParameterTemplatesResult> DescribeParameterTemplatesOutcome;
+			typedef std::future<DescribeParameterTemplatesOutcome> DescribeParameterTemplatesOutcomeCallable;
+			typedef std::function<void(const R_kvstoreClient*, const Model::DescribeParameterTemplatesRequest&, const DescribeParameterTemplatesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeParameterTemplatesAsyncHandler;
 			typedef Outcome<Error, Model::DescribeParametersResult> DescribeParametersOutcome;
 			typedef std::future<DescribeParametersOutcome> DescribeParametersOutcomeCallable;
 			typedef std::function<void(const R_kvstoreClient*, const Model::DescribeParametersRequest&, const DescribeParametersOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeParametersAsyncHandler;
@@ -323,6 +342,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeRegionsResult> DescribeRegionsOutcome;
 			typedef std::future<DescribeRegionsOutcome> DescribeRegionsOutcomeCallable;
 			typedef std::function<void(const R_kvstoreClient*, const Model::DescribeRegionsRequest&, const DescribeRegionsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeRegionsAsyncHandler;
+			typedef Outcome<Error, Model::DescribeRoleZoneInfoResult> DescribeRoleZoneInfoOutcome;
+			typedef std::future<DescribeRoleZoneInfoOutcome> DescribeRoleZoneInfoOutcomeCallable;
+			typedef std::function<void(const R_kvstoreClient*, const Model::DescribeRoleZoneInfoRequest&, const DescribeRoleZoneInfoOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeRoleZoneInfoAsyncHandler;
 			typedef Outcome<Error, Model::DescribeRunningLogRecordsResult> DescribeRunningLogRecordsOutcome;
 			typedef std::future<DescribeRunningLogRecordsOutcome> DescribeRunningLogRecordsOutcomeCallable;
 			typedef std::function<void(const R_kvstoreClient*, const Model::DescribeRunningLogRecordsRequest&, const DescribeRunningLogRecordsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeRunningLogRecordsAsyncHandler;
@@ -335,6 +357,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeSlowLogRecordsResult> DescribeSlowLogRecordsOutcome;
 			typedef std::future<DescribeSlowLogRecordsOutcome> DescribeSlowLogRecordsOutcomeCallable;
 			typedef std::function<void(const R_kvstoreClient*, const Model::DescribeSlowLogRecordsRequest&, const DescribeSlowLogRecordsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeSlowLogRecordsAsyncHandler;
+			typedef Outcome<Error, Model::DescribeTasksResult> DescribeTasksOutcome;
+			typedef std::future<DescribeTasksOutcome> DescribeTasksOutcomeCallable;
+			typedef std::function<void(const R_kvstoreClient*, const Model::DescribeTasksRequest&, const DescribeTasksOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeTasksAsyncHandler;
 			typedef Outcome<Error, Model::DescribeUserClusterHostResult> DescribeUserClusterHostOutcome;
 			typedef std::future<DescribeUserClusterHostOutcome> DescribeUserClusterHostOutcomeCallable;
 			typedef std::function<void(const R_kvstoreClient*, const Model::DescribeUserClusterHostRequest&, const DescribeUserClusterHostOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeUserClusterHostAsyncHandler;
@@ -550,6 +575,9 @@ namespace AlibabaCloud
 			DescribeDedicatedUserClusterOutcome describeDedicatedUserCluster(const Model::DescribeDedicatedUserClusterRequest &request)const;
 			void describeDedicatedUserClusterAsync(const Model::DescribeDedicatedUserClusterRequest& request, const DescribeDedicatedUserClusterAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeDedicatedUserClusterOutcomeCallable describeDedicatedUserClusterCallable(const Model::DescribeDedicatedUserClusterRequest& request) const;
+			DescribeEngineVersionOutcome describeEngineVersion(const Model::DescribeEngineVersionRequest &request)const;
+			void describeEngineVersionAsync(const Model::DescribeEngineVersionRequest& request, const DescribeEngineVersionAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeEngineVersionOutcomeCallable describeEngineVersionCallable(const Model::DescribeEngineVersionRequest& request) const;
 			DescribeGlobalDistributeCacheOutcome describeGlobalDistributeCache(const Model::DescribeGlobalDistributeCacheRequest &request)const;
 			void describeGlobalDistributeCacheAsync(const Model::DescribeGlobalDistributeCacheRequest& request, const DescribeGlobalDistributeCacheAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeGlobalDistributeCacheOutcomeCallable describeGlobalDistributeCacheCallable(const Model::DescribeGlobalDistributeCacheRequest& request) const;
@@ -562,6 +590,9 @@ namespace AlibabaCloud
 			DescribeInstanceAutoRenewalAttributeOutcome describeInstanceAutoRenewalAttribute(const Model::DescribeInstanceAutoRenewalAttributeRequest &request)const;
 			void describeInstanceAutoRenewalAttributeAsync(const Model::DescribeInstanceAutoRenewalAttributeRequest& request, const DescribeInstanceAutoRenewalAttributeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeInstanceAutoRenewalAttributeOutcomeCallable describeInstanceAutoRenewalAttributeCallable(const Model::DescribeInstanceAutoRenewalAttributeRequest& request) const;
+			DescribeInstanceConfigOutcome describeInstanceConfig(const Model::DescribeInstanceConfigRequest &request)const;
+			void describeInstanceConfigAsync(const Model::DescribeInstanceConfigRequest& request, const DescribeInstanceConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeInstanceConfigOutcomeCallable describeInstanceConfigCallable(const Model::DescribeInstanceConfigRequest& request) const;
 			DescribeInstanceSSLOutcome describeInstanceSSL(const Model::DescribeInstanceSSLRequest &request)const;
 			void describeInstanceSSLAsync(const Model::DescribeInstanceSSLRequest& request, const DescribeInstanceSSLAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeInstanceSSLOutcomeCallable describeInstanceSSLCallable(const Model::DescribeInstanceSSLRequest& request) const;
@@ -577,6 +608,9 @@ namespace AlibabaCloud
 			DescribeMonitorItemsOutcome describeMonitorItems(const Model::DescribeMonitorItemsRequest &request)const;
 			void describeMonitorItemsAsync(const Model::DescribeMonitorItemsRequest& request, const DescribeMonitorItemsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeMonitorItemsOutcomeCallable describeMonitorItemsCallable(const Model::DescribeMonitorItemsRequest& request) const;
+			DescribeParameterTemplatesOutcome describeParameterTemplates(const Model::DescribeParameterTemplatesRequest &request)const;
+			void describeParameterTemplatesAsync(const Model::DescribeParameterTemplatesRequest& request, const DescribeParameterTemplatesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeParameterTemplatesOutcomeCallable describeParameterTemplatesCallable(const Model::DescribeParameterTemplatesRequest& request) const;
 			DescribeParametersOutcome describeParameters(const Model::DescribeParametersRequest &request)const;
 			void describeParametersAsync(const Model::DescribeParametersRequest& request, const DescribeParametersAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeParametersOutcomeCallable describeParametersCallable(const Model::DescribeParametersRequest& request) const;
@@ -586,6 +620,9 @@ namespace AlibabaCloud
 			DescribeRegionsOutcome describeRegions(const Model::DescribeRegionsRequest &request)const;
 			void describeRegionsAsync(const Model::DescribeRegionsRequest& request, const DescribeRegionsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeRegionsOutcomeCallable describeRegionsCallable(const Model::DescribeRegionsRequest& request) const;
+			DescribeRoleZoneInfoOutcome describeRoleZoneInfo(const Model::DescribeRoleZoneInfoRequest &request)const;
+			void describeRoleZoneInfoAsync(const Model::DescribeRoleZoneInfoRequest& request, const DescribeRoleZoneInfoAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeRoleZoneInfoOutcomeCallable describeRoleZoneInfoCallable(const Model::DescribeRoleZoneInfoRequest& request) const;
 			DescribeRunningLogRecordsOutcome describeRunningLogRecords(const Model::DescribeRunningLogRecordsRequest &request)const;
 			void describeRunningLogRecordsAsync(const Model::DescribeRunningLogRecordsRequest& request, const DescribeRunningLogRecordsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeRunningLogRecordsOutcomeCallable describeRunningLogRecordsCallable(const Model::DescribeRunningLogRecordsRequest& request) const;
@@ -598,6 +635,9 @@ namespace AlibabaCloud
 			DescribeSlowLogRecordsOutcome describeSlowLogRecords(const Model::DescribeSlowLogRecordsRequest &request)const;
 			void describeSlowLogRecordsAsync(const Model::DescribeSlowLogRecordsRequest& request, const DescribeSlowLogRecordsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeSlowLogRecordsOutcomeCallable describeSlowLogRecordsCallable(const Model::DescribeSlowLogRecordsRequest& request) const;
+			DescribeTasksOutcome describeTasks(const Model::DescribeTasksRequest &request)const;
+			void describeTasksAsync(const Model::DescribeTasksRequest& request, const DescribeTasksAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeTasksOutcomeCallable describeTasksCallable(const Model::DescribeTasksRequest& request) const;
 			DescribeUserClusterHostOutcome describeUserClusterHost(const Model::DescribeUserClusterHostRequest &request)const;
 			void describeUserClusterHostAsync(const Model::DescribeUserClusterHostRequest& request, const DescribeUserClusterHostAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeUserClusterHostOutcomeCallable describeUserClusterHostCallable(const Model::DescribeUserClusterHostRequest& request) const;

+ 0 - 1
r-kvstore/include/alibabacloud/r-kvstore/model/DescribeAccountsResult.h

@@ -41,7 +41,6 @@ namespace AlibabaCloud
 					};
 					std::string accountDescription;
 					std::string accountStatus;
-					std::string privExceeded;
 					std::string instanceId;
 					std::string accountType;
 					std::vector<Account::DatabasePrivilege> databasePrivileges;

+ 69 - 0
r-kvstore/include/alibabacloud/r-kvstore/model/DescribeEngineVersionRequest.h

@@ -0,0 +1,69 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_R_KVSTORE_MODEL_DESCRIBEENGINEVERSIONREQUEST_H_
+#define ALIBABACLOUD_R_KVSTORE_MODEL_DESCRIBEENGINEVERSIONREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/r-kvstore/R_kvstoreExport.h>
+
+namespace AlibabaCloud
+{
+	namespace R_kvstore
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_R_KVSTORE_EXPORT DescribeEngineVersionRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeEngineVersionRequest();
+				~DescribeEngineVersionRequest();
+
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getSecurityToken()const;
+				void setSecurityToken(const std::string& securityToken);
+				std::string getResourceOwnerAccount()const;
+				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
+				std::string getOwnerAccount()const;
+				void setOwnerAccount(const std::string& ownerAccount);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+				std::string getParameters()const;
+				void setParameters(const std::string& parameters);
+
+            private:
+				long resourceOwnerId_;
+				std::string accessKeyId_;
+				std::string securityToken_;
+				std::string resourceOwnerAccount_;
+				std::string ownerAccount_;
+				long ownerId_;
+				std::string instanceId_;
+				std::string parameters_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_R_KVSTORE_MODEL_DESCRIBEENGINEVERSIONREQUEST_H_

+ 61 - 0
r-kvstore/include/alibabacloud/r-kvstore/model/DescribeEngineVersionResult.h

@@ -0,0 +1,61 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_R_KVSTORE_MODEL_DESCRIBEENGINEVERSIONRESULT_H_
+#define ALIBABACLOUD_R_KVSTORE_MODEL_DESCRIBEENGINEVERSIONRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/r-kvstore/R_kvstoreExport.h>
+
+namespace AlibabaCloud
+{
+	namespace R_kvstore
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_R_KVSTORE_EXPORT DescribeEngineVersionResult : public ServiceResult
+			{
+			public:
+
+
+				DescribeEngineVersionResult();
+				explicit DescribeEngineVersionResult(const std::string &payload);
+				~DescribeEngineVersionResult();
+				std::string getMajorVersion()const;
+				bool getIsLatestVersion()const;
+				std::string getMinorVersion()const;
+				std::string getEngine()const;
+				bool getEnableUpgradeMinorVersion()const;
+				bool getEnableUpgradeMajorVersion()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string majorVersion_;
+				bool isLatestVersion_;
+				std::string minorVersion_;
+				std::string engine_;
+				bool enableUpgradeMinorVersion_;
+				bool enableUpgradeMajorVersion_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_R_KVSTORE_MODEL_DESCRIBEENGINEVERSIONRESULT_H_

+ 0 - 1
r-kvstore/include/alibabacloud/r-kvstore/model/DescribeInstanceAttributeResult.h

@@ -68,7 +68,6 @@ namespace AlibabaCloud
 					std::string instanceId;
 					std::string vSwitchId;
 					std::string createTime;
-					std::string nodeType1;
 					std::string instanceClass;
 					std::string auditLogRetention;
 					bool isRds;

+ 66 - 0
r-kvstore/include/alibabacloud/r-kvstore/model/DescribeInstanceConfigRequest.h

@@ -0,0 +1,66 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_R_KVSTORE_MODEL_DESCRIBEINSTANCECONFIGREQUEST_H_
+#define ALIBABACLOUD_R_KVSTORE_MODEL_DESCRIBEINSTANCECONFIGREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/r-kvstore/R_kvstoreExport.h>
+
+namespace AlibabaCloud
+{
+	namespace R_kvstore
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_R_KVSTORE_EXPORT DescribeInstanceConfigRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeInstanceConfigRequest();
+				~DescribeInstanceConfigRequest();
+
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getSecurityToken()const;
+				void setSecurityToken(const std::string& securityToken);
+				std::string getResourceOwnerAccount()const;
+				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
+				std::string getOwnerAccount()const;
+				void setOwnerAccount(const std::string& ownerAccount);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+
+            private:
+				long resourceOwnerId_;
+				std::string accessKeyId_;
+				std::string securityToken_;
+				std::string resourceOwnerAccount_;
+				std::string ownerAccount_;
+				long ownerId_;
+				std::string instanceId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_R_KVSTORE_MODEL_DESCRIBEINSTANCECONFIGREQUEST_H_

+ 51 - 0
r-kvstore/include/alibabacloud/r-kvstore/model/DescribeInstanceConfigResult.h

@@ -0,0 +1,51 @@
+/*
+ * 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_R_KVSTORE_MODEL_DESCRIBEINSTANCECONFIGRESULT_H_
+#define ALIBABACLOUD_R_KVSTORE_MODEL_DESCRIBEINSTANCECONFIGRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/r-kvstore/R_kvstoreExport.h>
+
+namespace AlibabaCloud
+{
+	namespace R_kvstore
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_R_KVSTORE_EXPORT DescribeInstanceConfigResult : public ServiceResult
+			{
+			public:
+
+
+				DescribeInstanceConfigResult();
+				explicit DescribeInstanceConfigResult(const std::string &payload);
+				~DescribeInstanceConfigResult();
+				std::string getConfig()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string config_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_R_KVSTORE_MODEL_DESCRIBEINSTANCECONFIGRESULT_H_

+ 72 - 0
r-kvstore/include/alibabacloud/r-kvstore/model/DescribeParameterTemplatesRequest.h

@@ -0,0 +1,72 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_R_KVSTORE_MODEL_DESCRIBEPARAMETERTEMPLATESREQUEST_H_
+#define ALIBABACLOUD_R_KVSTORE_MODEL_DESCRIBEPARAMETERTEMPLATESREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/r-kvstore/R_kvstoreExport.h>
+
+namespace AlibabaCloud
+{
+	namespace R_kvstore
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_R_KVSTORE_EXPORT DescribeParameterTemplatesRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeParameterTemplatesRequest();
+				~DescribeParameterTemplatesRequest();
+
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				std::string getEngineVersion()const;
+				void setEngineVersion(const std::string& engineVersion);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getSecurityToken()const;
+				void setSecurityToken(const std::string& securityToken);
+				std::string getEngine()const;
+				void setEngine(const std::string& engine);
+				std::string getResourceOwnerAccount()const;
+				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
+				std::string getOwnerAccount()const;
+				void setOwnerAccount(const std::string& ownerAccount);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getCharacterType()const;
+				void setCharacterType(const std::string& characterType);
+
+            private:
+				long resourceOwnerId_;
+				std::string engineVersion_;
+				std::string accessKeyId_;
+				std::string securityToken_;
+				std::string engine_;
+				std::string resourceOwnerAccount_;
+				std::string ownerAccount_;
+				long ownerId_;
+				std::string characterType_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_R_KVSTORE_MODEL_DESCRIBEPARAMETERTEMPLATESREQUEST_H_

+ 66 - 0
r-kvstore/include/alibabacloud/r-kvstore/model/DescribeParameterTemplatesResult.h

@@ -0,0 +1,66 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_R_KVSTORE_MODEL_DESCRIBEPARAMETERTEMPLATESRESULT_H_
+#define ALIBABACLOUD_R_KVSTORE_MODEL_DESCRIBEPARAMETERTEMPLATESRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/r-kvstore/R_kvstoreExport.h>
+
+namespace AlibabaCloud
+{
+	namespace R_kvstore
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_R_KVSTORE_EXPORT DescribeParameterTemplatesResult : public ServiceResult
+			{
+			public:
+				struct TemplateRecord
+				{
+					bool forceModify;
+					std::string checkingCode;
+					std::string parameterValue;
+					bool forceRestart;
+					std::string parameterName;
+					std::string parameterDescription;
+				};
+
+
+				DescribeParameterTemplatesResult();
+				explicit DescribeParameterTemplatesResult(const std::string &payload);
+				~DescribeParameterTemplatesResult();
+				std::string getParameterCount()const;
+				std::vector<TemplateRecord> getParameters()const;
+				std::string getEngineVersion()const;
+				std::string getEngine()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string parameterCount_;
+				std::vector<TemplateRecord> parameters_;
+				std::string engineVersion_;
+				std::string engine_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_R_KVSTORE_MODEL_DESCRIBEPARAMETERTEMPLATESRESULT_H_

+ 81 - 0
r-kvstore/include/alibabacloud/r-kvstore/model/DescribeRoleZoneInfoRequest.h

@@ -0,0 +1,81 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_R_KVSTORE_MODEL_DESCRIBEROLEZONEINFOREQUEST_H_
+#define ALIBABACLOUD_R_KVSTORE_MODEL_DESCRIBEROLEZONEINFOREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/r-kvstore/R_kvstoreExport.h>
+
+namespace AlibabaCloud
+{
+	namespace R_kvstore
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_R_KVSTORE_EXPORT DescribeRoleZoneInfoRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeRoleZoneInfoRequest();
+				~DescribeRoleZoneInfoRequest();
+
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				int getPageNumber()const;
+				void setPageNumber(int pageNumber);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getSecurityToken()const;
+				void setSecurityToken(const std::string& securityToken);
+				int getPageSize()const;
+				void setPageSize(int pageSize);
+				int getQueryType()const;
+				void setQueryType(int queryType);
+				std::string getProduct()const;
+				void setProduct(const std::string& product);
+				std::string getResourceOwnerAccount()const;
+				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
+				std::string getOwnerAccount()const;
+				void setOwnerAccount(const std::string& ownerAccount);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+				std::string getCategory()const;
+				void setCategory(const std::string& category);
+
+            private:
+				long resourceOwnerId_;
+				int pageNumber_;
+				std::string accessKeyId_;
+				std::string securityToken_;
+				int pageSize_;
+				int queryType_;
+				std::string product_;
+				std::string resourceOwnerAccount_;
+				std::string ownerAccount_;
+				long ownerId_;
+				std::string instanceId_;
+				std::string category_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_R_KVSTORE_MODEL_DESCRIBEROLEZONEINFOREQUEST_H_

+ 74 - 0
r-kvstore/include/alibabacloud/r-kvstore/model/DescribeRoleZoneInfoResult.h

@@ -0,0 +1,74 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_R_KVSTORE_MODEL_DESCRIBEROLEZONEINFORESULT_H_
+#define ALIBABACLOUD_R_KVSTORE_MODEL_DESCRIBEROLEZONEINFORESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/r-kvstore/R_kvstoreExport.h>
+
+namespace AlibabaCloud
+{
+	namespace R_kvstore
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_R_KVSTORE_EXPORT DescribeRoleZoneInfoResult : public ServiceResult
+			{
+			public:
+				struct NodeInfo
+				{
+					std::string zoneId;
+					float connection;
+					std::string cPUUsage;
+					float intranetOut;
+					std::string insName;
+					float intranetIn;
+					std::string role;
+					int insType;
+					int isLatestVersion;
+					std::string nodeType;
+					std::string nodeId;
+					std::string currentMinorVersion;
+					std::string custinsId;
+					float avgRt;
+				};
+
+
+				DescribeRoleZoneInfoResult();
+				explicit DescribeRoleZoneInfoResult(const std::string &payload);
+				~DescribeRoleZoneInfoResult();
+				int getTotalCount()const;
+				int getPageSize()const;
+				int getPageNumber()const;
+				std::vector<NodeInfo> getNode()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				int totalCount_;
+				int pageSize_;
+				int pageNumber_;
+				std::vector<NodeInfo> node_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_R_KVSTORE_MODEL_DESCRIBEROLEZONEINFORESULT_H_

+ 81 - 0
r-kvstore/include/alibabacloud/r-kvstore/model/DescribeTasksRequest.h

@@ -0,0 +1,81 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_R_KVSTORE_MODEL_DESCRIBETASKSREQUEST_H_
+#define ALIBABACLOUD_R_KVSTORE_MODEL_DESCRIBETASKSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/r-kvstore/R_kvstoreExport.h>
+
+namespace AlibabaCloud
+{
+	namespace R_kvstore
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_R_KVSTORE_EXPORT DescribeTasksRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeTasksRequest();
+				~DescribeTasksRequest();
+
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				std::string getStartTime()const;
+				void setStartTime(const std::string& startTime);
+				int getPageNumber()const;
+				void setPageNumber(int pageNumber);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getSecurityToken()const;
+				void setSecurityToken(const std::string& securityToken);
+				int getPageSize()const;
+				void setPageSize(int pageSize);
+				std::string getResourceOwnerAccount()const;
+				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
+				std::string getOwnerAccount()const;
+				void setOwnerAccount(const std::string& ownerAccount);
+				std::string getEndTime()const;
+				void setEndTime(const std::string& endTime);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+				std::string getStatus()const;
+				void setStatus(const std::string& status);
+
+            private:
+				long resourceOwnerId_;
+				std::string startTime_;
+				int pageNumber_;
+				std::string accessKeyId_;
+				std::string securityToken_;
+				int pageSize_;
+				std::string resourceOwnerAccount_;
+				std::string ownerAccount_;
+				std::string endTime_;
+				long ownerId_;
+				std::string instanceId_;
+				std::string status_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_R_KVSTORE_MODEL_DESCRIBETASKSREQUEST_H_

+ 70 - 0
r-kvstore/include/alibabacloud/r-kvstore/model/DescribeTasksResult.h

@@ -0,0 +1,70 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_R_KVSTORE_MODEL_DESCRIBETASKSRESULT_H_
+#define ALIBABACLOUD_R_KVSTORE_MODEL_DESCRIBETASKSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/r-kvstore/R_kvstoreExport.h>
+
+namespace AlibabaCloud
+{
+	namespace R_kvstore
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_R_KVSTORE_EXPORT DescribeTasksResult : public ServiceResult
+			{
+			public:
+				struct TaskProgressInfo
+				{
+					std::string status;
+					std::string stepProgressInfo;
+					float progress;
+					std::string taskId;
+					int remain;
+					std::string finishTime;
+					std::string taskAction;
+					std::string stepsInfo;
+					std::string currentStepName;
+					std::string beginTime;
+				};
+
+
+				DescribeTasksResult();
+				explicit DescribeTasksResult(const std::string &payload);
+				~DescribeTasksResult();
+				int getTotalRecordCount()const;
+				int getPageSize()const;
+				int getPageNumber()const;
+				std::vector<TaskProgressInfo> getItems()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				int totalRecordCount_;
+				int pageSize_;
+				int pageNumber_;
+				std::vector<TaskProgressInfo> items_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_R_KVSTORE_MODEL_DESCRIBETASKSRESULT_H_

+ 180 - 0
r-kvstore/src/R-kvstoreClient.cc

@@ -1059,6 +1059,42 @@ R_kvstoreClient::DescribeDedicatedUserClusterOutcomeCallable R_kvstoreClient::de
 	return task->get_future();
 }
 
+R_kvstoreClient::DescribeEngineVersionOutcome R_kvstoreClient::describeEngineVersion(const DescribeEngineVersionRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeEngineVersionOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeEngineVersionOutcome(DescribeEngineVersionResult(outcome.result()));
+	else
+		return DescribeEngineVersionOutcome(outcome.error());
+}
+
+void R_kvstoreClient::describeEngineVersionAsync(const DescribeEngineVersionRequest& request, const DescribeEngineVersionAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeEngineVersion(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+R_kvstoreClient::DescribeEngineVersionOutcomeCallable R_kvstoreClient::describeEngineVersionCallable(const DescribeEngineVersionRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeEngineVersionOutcome()>>(
+			[this, request]()
+			{
+			return this->describeEngineVersion(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 R_kvstoreClient::DescribeGlobalDistributeCacheOutcome R_kvstoreClient::describeGlobalDistributeCache(const DescribeGlobalDistributeCacheRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1203,6 +1239,42 @@ R_kvstoreClient::DescribeInstanceAutoRenewalAttributeOutcomeCallable R_kvstoreCl
 	return task->get_future();
 }
 
+R_kvstoreClient::DescribeInstanceConfigOutcome R_kvstoreClient::describeInstanceConfig(const DescribeInstanceConfigRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeInstanceConfigOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeInstanceConfigOutcome(DescribeInstanceConfigResult(outcome.result()));
+	else
+		return DescribeInstanceConfigOutcome(outcome.error());
+}
+
+void R_kvstoreClient::describeInstanceConfigAsync(const DescribeInstanceConfigRequest& request, const DescribeInstanceConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeInstanceConfig(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+R_kvstoreClient::DescribeInstanceConfigOutcomeCallable R_kvstoreClient::describeInstanceConfigCallable(const DescribeInstanceConfigRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeInstanceConfigOutcome()>>(
+			[this, request]()
+			{
+			return this->describeInstanceConfig(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 R_kvstoreClient::DescribeInstanceSSLOutcome R_kvstoreClient::describeInstanceSSL(const DescribeInstanceSSLRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1383,6 +1455,42 @@ R_kvstoreClient::DescribeMonitorItemsOutcomeCallable R_kvstoreClient::describeMo
 	return task->get_future();
 }
 
+R_kvstoreClient::DescribeParameterTemplatesOutcome R_kvstoreClient::describeParameterTemplates(const DescribeParameterTemplatesRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeParameterTemplatesOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeParameterTemplatesOutcome(DescribeParameterTemplatesResult(outcome.result()));
+	else
+		return DescribeParameterTemplatesOutcome(outcome.error());
+}
+
+void R_kvstoreClient::describeParameterTemplatesAsync(const DescribeParameterTemplatesRequest& request, const DescribeParameterTemplatesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeParameterTemplates(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+R_kvstoreClient::DescribeParameterTemplatesOutcomeCallable R_kvstoreClient::describeParameterTemplatesCallable(const DescribeParameterTemplatesRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeParameterTemplatesOutcome()>>(
+			[this, request]()
+			{
+			return this->describeParameterTemplates(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 R_kvstoreClient::DescribeParametersOutcome R_kvstoreClient::describeParameters(const DescribeParametersRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1491,6 +1599,42 @@ R_kvstoreClient::DescribeRegionsOutcomeCallable R_kvstoreClient::describeRegions
 	return task->get_future();
 }
 
+R_kvstoreClient::DescribeRoleZoneInfoOutcome R_kvstoreClient::describeRoleZoneInfo(const DescribeRoleZoneInfoRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeRoleZoneInfoOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeRoleZoneInfoOutcome(DescribeRoleZoneInfoResult(outcome.result()));
+	else
+		return DescribeRoleZoneInfoOutcome(outcome.error());
+}
+
+void R_kvstoreClient::describeRoleZoneInfoAsync(const DescribeRoleZoneInfoRequest& request, const DescribeRoleZoneInfoAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeRoleZoneInfo(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+R_kvstoreClient::DescribeRoleZoneInfoOutcomeCallable R_kvstoreClient::describeRoleZoneInfoCallable(const DescribeRoleZoneInfoRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeRoleZoneInfoOutcome()>>(
+			[this, request]()
+			{
+			return this->describeRoleZoneInfo(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 R_kvstoreClient::DescribeRunningLogRecordsOutcome R_kvstoreClient::describeRunningLogRecords(const DescribeRunningLogRecordsRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1635,6 +1779,42 @@ R_kvstoreClient::DescribeSlowLogRecordsOutcomeCallable R_kvstoreClient::describe
 	return task->get_future();
 }
 
+R_kvstoreClient::DescribeTasksOutcome R_kvstoreClient::describeTasks(const DescribeTasksRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeTasksOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeTasksOutcome(DescribeTasksResult(outcome.result()));
+	else
+		return DescribeTasksOutcome(outcome.error());
+}
+
+void R_kvstoreClient::describeTasksAsync(const DescribeTasksRequest& request, const DescribeTasksAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeTasks(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+R_kvstoreClient::DescribeTasksOutcomeCallable R_kvstoreClient::describeTasksCallable(const DescribeTasksRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeTasksOutcome()>>(
+			[this, request]()
+			{
+			return this->describeTasks(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 R_kvstoreClient::DescribeUserClusterHostOutcome R_kvstoreClient::describeUserClusterHost(const DescribeUserClusterHostRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();

+ 6 - 8
r-kvstore/src/model/DescribeAccountsResult.cc

@@ -53,16 +53,14 @@ void DescribeAccountsResult::parse(const std::string &payload)
 			accountsObject.accountType = valueAccountsAccount["AccountType"].asString();
 		if(!valueAccountsAccount["AccountDescription"].isNull())
 			accountsObject.accountDescription = valueAccountsAccount["AccountDescription"].asString();
-		if(!valueAccountsAccount["PrivExceeded"].isNull())
-			accountsObject.privExceeded = valueAccountsAccount["PrivExceeded"].asString();
-		auto allDatabasePrivilegesNode = allAccountsNode["DatabasePrivileges"]["DatabasePrivilege"];
-		for (auto allAccountsNodeDatabasePrivilegesDatabasePrivilege : allDatabasePrivilegesNode)
+		auto allDatabasePrivilegesNode = valueAccountsAccount["DatabasePrivileges"]["DatabasePrivilege"];
+		for (auto valueAccountsAccountDatabasePrivilegesDatabasePrivilege : allDatabasePrivilegesNode)
 		{
 			Account::DatabasePrivilege databasePrivilegesObject;
-			if(!allAccountsNodeDatabasePrivilegesDatabasePrivilege["AccountPrivilege"].isNull())
-				databasePrivilegesObject.accountPrivilege = allAccountsNodeDatabasePrivilegesDatabasePrivilege["AccountPrivilege"].asString();
-			if(!allAccountsNodeDatabasePrivilegesDatabasePrivilege["AccountPrivilegeDetail"].isNull())
-				databasePrivilegesObject.accountPrivilegeDetail = allAccountsNodeDatabasePrivilegesDatabasePrivilege["AccountPrivilegeDetail"].asString();
+			if(!valueAccountsAccountDatabasePrivilegesDatabasePrivilege["AccountPrivilege"].isNull())
+				databasePrivilegesObject.accountPrivilege = valueAccountsAccountDatabasePrivilegesDatabasePrivilege["AccountPrivilege"].asString();
+			if(!valueAccountsAccountDatabasePrivilegesDatabasePrivilege["AccountPrivilegeDetail"].isNull())
+				databasePrivilegesObject.accountPrivilegeDetail = valueAccountsAccountDatabasePrivilegesDatabasePrivilege["AccountPrivilegeDetail"].asString();
 			accountsObject.databasePrivileges.push_back(databasePrivilegesObject);
 		}
 		accounts_.push_back(accountsObject);

+ 34 - 34
r-kvstore/src/model/DescribeAvailableResourceResult.cc

@@ -53,56 +53,56 @@ void DescribeAvailableResourceResult::parse(const std::string &payload)
 			availableZonesObject.networkTypes = valueAvailableZonesAvailableZone["NetworkTypes"].asString();
 		if(!valueAvailableZonesAvailableZone["ZoneName"].isNull())
 			availableZonesObject.zoneName = valueAvailableZonesAvailableZone["ZoneName"].asString();
-		auto allSupportedEnginesNode = allAvailableZonesNode["SupportedEngines"]["SupportedEngine"];
-		for (auto allAvailableZonesNodeSupportedEnginesSupportedEngine : allSupportedEnginesNode)
+		auto allSupportedEnginesNode = valueAvailableZonesAvailableZone["SupportedEngines"]["SupportedEngine"];
+		for (auto valueAvailableZonesAvailableZoneSupportedEnginesSupportedEngine : allSupportedEnginesNode)
 		{
 			AvailableZone::SupportedEngine supportedEnginesObject;
-			if(!allAvailableZonesNodeSupportedEnginesSupportedEngine["Engine"].isNull())
-				supportedEnginesObject.engine = allAvailableZonesNodeSupportedEnginesSupportedEngine["Engine"].asString();
-			auto allSupportedEditionTypesNode = allSupportedEnginesNode["SupportedEditionTypes"]["SupportedEditionType"];
-			for (auto allSupportedEnginesNodeSupportedEditionTypesSupportedEditionType : allSupportedEditionTypesNode)
+			if(!valueAvailableZonesAvailableZoneSupportedEnginesSupportedEngine["Engine"].isNull())
+				supportedEnginesObject.engine = valueAvailableZonesAvailableZoneSupportedEnginesSupportedEngine["Engine"].asString();
+			auto allSupportedEditionTypesNode = valueAvailableZonesAvailableZoneSupportedEnginesSupportedEngine["SupportedEditionTypes"]["SupportedEditionType"];
+			for (auto valueAvailableZonesAvailableZoneSupportedEnginesSupportedEngineSupportedEditionTypesSupportedEditionType : allSupportedEditionTypesNode)
 			{
 				AvailableZone::SupportedEngine::SupportedEditionType supportedEditionTypesObject;
-				if(!allSupportedEnginesNodeSupportedEditionTypesSupportedEditionType["EditionType"].isNull())
-					supportedEditionTypesObject.editionType = allSupportedEnginesNodeSupportedEditionTypesSupportedEditionType["EditionType"].asString();
-				auto allSupportedSeriesTypesNode = allSupportedEditionTypesNode["SupportedSeriesTypes"]["SupportedSeriesType"];
-				for (auto allSupportedEditionTypesNodeSupportedSeriesTypesSupportedSeriesType : allSupportedSeriesTypesNode)
+				if(!valueAvailableZonesAvailableZoneSupportedEnginesSupportedEngineSupportedEditionTypesSupportedEditionType["EditionType"].isNull())
+					supportedEditionTypesObject.editionType = valueAvailableZonesAvailableZoneSupportedEnginesSupportedEngineSupportedEditionTypesSupportedEditionType["EditionType"].asString();
+				auto allSupportedSeriesTypesNode = valueAvailableZonesAvailableZoneSupportedEnginesSupportedEngineSupportedEditionTypesSupportedEditionType["SupportedSeriesTypes"]["SupportedSeriesType"];
+				for (auto valueAvailableZonesAvailableZoneSupportedEnginesSupportedEngineSupportedEditionTypesSupportedEditionTypeSupportedSeriesTypesSupportedSeriesType : allSupportedSeriesTypesNode)
 				{
 					AvailableZone::SupportedEngine::SupportedEditionType::SupportedSeriesType supportedSeriesTypesObject;
-					if(!allSupportedEditionTypesNodeSupportedSeriesTypesSupportedSeriesType["SeriesType"].isNull())
-						supportedSeriesTypesObject.seriesType = allSupportedEditionTypesNodeSupportedSeriesTypesSupportedSeriesType["SeriesType"].asString();
-					auto allSupportedEngineVersionsNode = allSupportedSeriesTypesNode["SupportedEngineVersions"]["SupportedEngineVersion"];
-					for (auto allSupportedSeriesTypesNodeSupportedEngineVersionsSupportedEngineVersion : allSupportedEngineVersionsNode)
+					if(!valueAvailableZonesAvailableZoneSupportedEnginesSupportedEngineSupportedEditionTypesSupportedEditionTypeSupportedSeriesTypesSupportedSeriesType["SeriesType"].isNull())
+						supportedSeriesTypesObject.seriesType = valueAvailableZonesAvailableZoneSupportedEnginesSupportedEngineSupportedEditionTypesSupportedEditionTypeSupportedSeriesTypesSupportedSeriesType["SeriesType"].asString();
+					auto allSupportedEngineVersionsNode = valueAvailableZonesAvailableZoneSupportedEnginesSupportedEngineSupportedEditionTypesSupportedEditionTypeSupportedSeriesTypesSupportedSeriesType["SupportedEngineVersions"]["SupportedEngineVersion"];
+					for (auto valueAvailableZonesAvailableZoneSupportedEnginesSupportedEngineSupportedEditionTypesSupportedEditionTypeSupportedSeriesTypesSupportedSeriesTypeSupportedEngineVersionsSupportedEngineVersion : allSupportedEngineVersionsNode)
 					{
 						AvailableZone::SupportedEngine::SupportedEditionType::SupportedSeriesType::SupportedEngineVersion supportedEngineVersionsObject;
-						if(!allSupportedSeriesTypesNodeSupportedEngineVersionsSupportedEngineVersion["Version"].isNull())
-							supportedEngineVersionsObject.version = allSupportedSeriesTypesNodeSupportedEngineVersionsSupportedEngineVersion["Version"].asString();
-						auto allSupportedArchitectureTypesNode = allSupportedEngineVersionsNode["SupportedArchitectureTypes"]["SupportedArchitectureType"];
-						for (auto allSupportedEngineVersionsNodeSupportedArchitectureTypesSupportedArchitectureType : allSupportedArchitectureTypesNode)
+						if(!valueAvailableZonesAvailableZoneSupportedEnginesSupportedEngineSupportedEditionTypesSupportedEditionTypeSupportedSeriesTypesSupportedSeriesTypeSupportedEngineVersionsSupportedEngineVersion["Version"].isNull())
+							supportedEngineVersionsObject.version = valueAvailableZonesAvailableZoneSupportedEnginesSupportedEngineSupportedEditionTypesSupportedEditionTypeSupportedSeriesTypesSupportedSeriesTypeSupportedEngineVersionsSupportedEngineVersion["Version"].asString();
+						auto allSupportedArchitectureTypesNode = valueAvailableZonesAvailableZoneSupportedEnginesSupportedEngineSupportedEditionTypesSupportedEditionTypeSupportedSeriesTypesSupportedSeriesTypeSupportedEngineVersionsSupportedEngineVersion["SupportedArchitectureTypes"]["SupportedArchitectureType"];
+						for (auto valueAvailableZonesAvailableZoneSupportedEnginesSupportedEngineSupportedEditionTypesSupportedEditionTypeSupportedSeriesTypesSupportedSeriesTypeSupportedEngineVersionsSupportedEngineVersionSupportedArchitectureTypesSupportedArchitectureType : allSupportedArchitectureTypesNode)
 						{
 							AvailableZone::SupportedEngine::SupportedEditionType::SupportedSeriesType::SupportedEngineVersion::SupportedArchitectureType supportedArchitectureTypesObject;
-							if(!allSupportedEngineVersionsNodeSupportedArchitectureTypesSupportedArchitectureType["Architecture"].isNull())
-								supportedArchitectureTypesObject.architecture = allSupportedEngineVersionsNodeSupportedArchitectureTypesSupportedArchitectureType["Architecture"].asString();
-							auto allSupportedShardNumbersNode = allSupportedArchitectureTypesNode["SupportedShardNumbers"]["SupportedShardNumber"];
-							for (auto allSupportedArchitectureTypesNodeSupportedShardNumbersSupportedShardNumber : allSupportedShardNumbersNode)
+							if(!valueAvailableZonesAvailableZoneSupportedEnginesSupportedEngineSupportedEditionTypesSupportedEditionTypeSupportedSeriesTypesSupportedSeriesTypeSupportedEngineVersionsSupportedEngineVersionSupportedArchitectureTypesSupportedArchitectureType["Architecture"].isNull())
+								supportedArchitectureTypesObject.architecture = valueAvailableZonesAvailableZoneSupportedEnginesSupportedEngineSupportedEditionTypesSupportedEditionTypeSupportedSeriesTypesSupportedSeriesTypeSupportedEngineVersionsSupportedEngineVersionSupportedArchitectureTypesSupportedArchitectureType["Architecture"].asString();
+							auto allSupportedShardNumbersNode = valueAvailableZonesAvailableZoneSupportedEnginesSupportedEngineSupportedEditionTypesSupportedEditionTypeSupportedSeriesTypesSupportedSeriesTypeSupportedEngineVersionsSupportedEngineVersionSupportedArchitectureTypesSupportedArchitectureType["SupportedShardNumbers"]["SupportedShardNumber"];
+							for (auto valueAvailableZonesAvailableZoneSupportedEnginesSupportedEngineSupportedEditionTypesSupportedEditionTypeSupportedSeriesTypesSupportedSeriesTypeSupportedEngineVersionsSupportedEngineVersionSupportedArchitectureTypesSupportedArchitectureTypeSupportedShardNumbersSupportedShardNumber : allSupportedShardNumbersNode)
 							{
 								AvailableZone::SupportedEngine::SupportedEditionType::SupportedSeriesType::SupportedEngineVersion::SupportedArchitectureType::SupportedShardNumber supportedShardNumbersObject;
-								if(!allSupportedArchitectureTypesNodeSupportedShardNumbersSupportedShardNumber["ShardNumber"].isNull())
-									supportedShardNumbersObject.shardNumber = allSupportedArchitectureTypesNodeSupportedShardNumbersSupportedShardNumber["ShardNumber"].asString();
-								auto allSupportedNodeTypesNode = allSupportedShardNumbersNode["SupportedNodeTypes"]["SupportedNodeType"];
-								for (auto allSupportedShardNumbersNodeSupportedNodeTypesSupportedNodeType : allSupportedNodeTypesNode)
+								if(!valueAvailableZonesAvailableZoneSupportedEnginesSupportedEngineSupportedEditionTypesSupportedEditionTypeSupportedSeriesTypesSupportedSeriesTypeSupportedEngineVersionsSupportedEngineVersionSupportedArchitectureTypesSupportedArchitectureTypeSupportedShardNumbersSupportedShardNumber["ShardNumber"].isNull())
+									supportedShardNumbersObject.shardNumber = valueAvailableZonesAvailableZoneSupportedEnginesSupportedEngineSupportedEditionTypesSupportedEditionTypeSupportedSeriesTypesSupportedSeriesTypeSupportedEngineVersionsSupportedEngineVersionSupportedArchitectureTypesSupportedArchitectureTypeSupportedShardNumbersSupportedShardNumber["ShardNumber"].asString();
+								auto allSupportedNodeTypesNode = valueAvailableZonesAvailableZoneSupportedEnginesSupportedEngineSupportedEditionTypesSupportedEditionTypeSupportedSeriesTypesSupportedSeriesTypeSupportedEngineVersionsSupportedEngineVersionSupportedArchitectureTypesSupportedArchitectureTypeSupportedShardNumbersSupportedShardNumber["SupportedNodeTypes"]["SupportedNodeType"];
+								for (auto valueAvailableZonesAvailableZoneSupportedEnginesSupportedEngineSupportedEditionTypesSupportedEditionTypeSupportedSeriesTypesSupportedSeriesTypeSupportedEngineVersionsSupportedEngineVersionSupportedArchitectureTypesSupportedArchitectureTypeSupportedShardNumbersSupportedShardNumberSupportedNodeTypesSupportedNodeType : allSupportedNodeTypesNode)
 								{
 									AvailableZone::SupportedEngine::SupportedEditionType::SupportedSeriesType::SupportedEngineVersion::SupportedArchitectureType::SupportedShardNumber::SupportedNodeType supportedNodeTypesObject;
-									if(!allSupportedShardNumbersNodeSupportedNodeTypesSupportedNodeType["SupportedNodeType"].isNull())
-										supportedNodeTypesObject.supportedNodeType = allSupportedShardNumbersNodeSupportedNodeTypesSupportedNodeType["SupportedNodeType"].asString();
-									auto allAvailableResourcesNode = allSupportedNodeTypesNode["AvailableResources"]["AvailableResource"];
-									for (auto allSupportedNodeTypesNodeAvailableResourcesAvailableResource : allAvailableResourcesNode)
+									if(!valueAvailableZonesAvailableZoneSupportedEnginesSupportedEngineSupportedEditionTypesSupportedEditionTypeSupportedSeriesTypesSupportedSeriesTypeSupportedEngineVersionsSupportedEngineVersionSupportedArchitectureTypesSupportedArchitectureTypeSupportedShardNumbersSupportedShardNumberSupportedNodeTypesSupportedNodeType["SupportedNodeType"].isNull())
+										supportedNodeTypesObject.supportedNodeType = valueAvailableZonesAvailableZoneSupportedEnginesSupportedEngineSupportedEditionTypesSupportedEditionTypeSupportedSeriesTypesSupportedSeriesTypeSupportedEngineVersionsSupportedEngineVersionSupportedArchitectureTypesSupportedArchitectureTypeSupportedShardNumbersSupportedShardNumberSupportedNodeTypesSupportedNodeType["SupportedNodeType"].asString();
+									auto allAvailableResourcesNode = valueAvailableZonesAvailableZoneSupportedEnginesSupportedEngineSupportedEditionTypesSupportedEditionTypeSupportedSeriesTypesSupportedSeriesTypeSupportedEngineVersionsSupportedEngineVersionSupportedArchitectureTypesSupportedArchitectureTypeSupportedShardNumbersSupportedShardNumberSupportedNodeTypesSupportedNodeType["AvailableResources"]["AvailableResource"];
+									for (auto valueAvailableZonesAvailableZoneSupportedEnginesSupportedEngineSupportedEditionTypesSupportedEditionTypeSupportedSeriesTypesSupportedSeriesTypeSupportedEngineVersionsSupportedEngineVersionSupportedArchitectureTypesSupportedArchitectureTypeSupportedShardNumbersSupportedShardNumberSupportedNodeTypesSupportedNodeTypeAvailableResourcesAvailableResource : allAvailableResourcesNode)
 									{
 										AvailableZone::SupportedEngine::SupportedEditionType::SupportedSeriesType::SupportedEngineVersion::SupportedArchitectureType::SupportedShardNumber::SupportedNodeType::AvailableResource availableResourcesObject;
-										if(!allSupportedNodeTypesNodeAvailableResourcesAvailableResource["InstanceClass"].isNull())
-											availableResourcesObject.instanceClass = allSupportedNodeTypesNodeAvailableResourcesAvailableResource["InstanceClass"].asString();
-										if(!allSupportedNodeTypesNodeAvailableResourcesAvailableResource["InstanceClassRemark"].isNull())
-											availableResourcesObject.instanceClassRemark = allSupportedNodeTypesNodeAvailableResourcesAvailableResource["InstanceClassRemark"].asString();
+										if(!valueAvailableZonesAvailableZoneSupportedEnginesSupportedEngineSupportedEditionTypesSupportedEditionTypeSupportedSeriesTypesSupportedSeriesTypeSupportedEngineVersionsSupportedEngineVersionSupportedArchitectureTypesSupportedArchitectureTypeSupportedShardNumbersSupportedShardNumberSupportedNodeTypesSupportedNodeTypeAvailableResourcesAvailableResource["InstanceClass"].isNull())
+											availableResourcesObject.instanceClass = valueAvailableZonesAvailableZoneSupportedEnginesSupportedEngineSupportedEditionTypesSupportedEditionTypeSupportedSeriesTypesSupportedSeriesTypeSupportedEngineVersionsSupportedEngineVersionSupportedArchitectureTypesSupportedArchitectureTypeSupportedShardNumbersSupportedShardNumberSupportedNodeTypesSupportedNodeTypeAvailableResourcesAvailableResource["InstanceClass"].asString();
+										if(!valueAvailableZonesAvailableZoneSupportedEnginesSupportedEngineSupportedEditionTypesSupportedEditionTypeSupportedSeriesTypesSupportedSeriesTypeSupportedEngineVersionsSupportedEngineVersionSupportedArchitectureTypesSupportedArchitectureTypeSupportedShardNumbersSupportedShardNumberSupportedNodeTypesSupportedNodeTypeAvailableResourcesAvailableResource["InstanceClassRemark"].isNull())
+											availableResourcesObject.instanceClassRemark = valueAvailableZonesAvailableZoneSupportedEnginesSupportedEngineSupportedEditionTypesSupportedEditionTypeSupportedSeriesTypesSupportedSeriesTypeSupportedEngineVersionsSupportedEngineVersionSupportedArchitectureTypesSupportedArchitectureTypeSupportedShardNumbersSupportedShardNumberSupportedNodeTypesSupportedNodeTypeAvailableResourcesAvailableResource["InstanceClassRemark"].asString();
 										supportedNodeTypesObject.availableResources.push_back(availableResourcesObject);
 									}
 									supportedShardNumbersObject.supportedNodeTypes.push_back(supportedNodeTypesObject);

+ 10 - 10
r-kvstore/src/model/DescribeCacheAnalysisReportListResult.cc

@@ -45,18 +45,18 @@ void DescribeCacheAnalysisReportListResult::parse(const std::string &payload)
 		DailyTask dailyTasksObject;
 		if(!valueDailyTasksDailyTask["Date"].isNull())
 			dailyTasksObject.date = valueDailyTasksDailyTask["Date"].asString();
-		auto allTasksNode = allDailyTasksNode["Tasks"]["Task"];
-		for (auto allDailyTasksNodeTasksTask : allTasksNode)
+		auto allTasksNode = valueDailyTasksDailyTask["Tasks"]["Task"];
+		for (auto valueDailyTasksDailyTaskTasksTask : allTasksNode)
 		{
 			DailyTask::Task tasksObject;
-			if(!allDailyTasksNodeTasksTask["TaskId"].isNull())
-				tasksObject.taskId = allDailyTasksNodeTasksTask["TaskId"].asString();
-			if(!allDailyTasksNodeTasksTask["NodeId"].isNull())
-				tasksObject.nodeId = allDailyTasksNodeTasksTask["NodeId"].asString();
-			if(!allDailyTasksNodeTasksTask["StartTime"].isNull())
-				tasksObject.startTime = allDailyTasksNodeTasksTask["StartTime"].asString();
-			if(!allDailyTasksNodeTasksTask["Status"].isNull())
-				tasksObject.status = allDailyTasksNodeTasksTask["Status"].asString();
+			if(!valueDailyTasksDailyTaskTasksTask["TaskId"].isNull())
+				tasksObject.taskId = valueDailyTasksDailyTaskTasksTask["TaskId"].asString();
+			if(!valueDailyTasksDailyTaskTasksTask["NodeId"].isNull())
+				tasksObject.nodeId = valueDailyTasksDailyTaskTasksTask["NodeId"].asString();
+			if(!valueDailyTasksDailyTaskTasksTask["StartTime"].isNull())
+				tasksObject.startTime = valueDailyTasksDailyTaskTasksTask["StartTime"].asString();
+			if(!valueDailyTasksDailyTaskTasksTask["Status"].isNull())
+				tasksObject.status = valueDailyTasksDailyTaskTasksTask["Status"].asString();
 			dailyTasksObject.tasks.push_back(tasksObject);
 		}
 		dailyTasks_.push_back(dailyTasksObject);

+ 18 - 18
r-kvstore/src/model/DescribeDedicatedClusterInstanceListResult.cc

@@ -81,26 +81,26 @@ void DescribeDedicatedClusterInstanceListResult::parse(const std::string &payloa
 			instancesObject.connectionDomain = valueInstancesInstancesItem["ConnectionDomain"].asString();
 		if(!valueInstancesInstancesItem["CreateTime"].isNull())
 			instancesObject.createTime = valueInstancesInstancesItem["CreateTime"].asString();
-		auto allInstanceNodeListNode = allInstancesNode["InstanceNodeList"]["InstanceNodes"];
-		for (auto allInstancesNodeInstanceNodeListInstanceNodes : allInstanceNodeListNode)
+		auto allInstanceNodeListNode = valueInstancesInstancesItem["InstanceNodeList"]["InstanceNodes"];
+		for (auto valueInstancesInstancesItemInstanceNodeListInstanceNodes : allInstanceNodeListNode)
 		{
 			InstancesItem::InstanceNodes instanceNodeListObject;
-			if(!allInstancesNodeInstanceNodeListInstanceNodes["NodeId"].isNull())
-				instanceNodeListObject.nodeId = std::stoi(allInstancesNodeInstanceNodeListInstanceNodes["NodeId"].asString());
-			if(!allInstancesNodeInstanceNodeListInstanceNodes["NodeIp"].isNull())
-				instanceNodeListObject.nodeIp = allInstancesNodeInstanceNodeListInstanceNodes["NodeIp"].asString();
-			if(!allInstancesNodeInstanceNodeListInstanceNodes["NodeType"].isNull())
-				instanceNodeListObject.nodeType = allInstancesNodeInstanceNodeListInstanceNodes["NodeType"].asString();
-			if(!allInstancesNodeInstanceNodeListInstanceNodes["Port"].isNull())
-				instanceNodeListObject.port = std::stoi(allInstancesNodeInstanceNodeListInstanceNodes["Port"].asString());
-			if(!allInstancesNodeInstanceNodeListInstanceNodes["Role"].isNull())
-				instanceNodeListObject.role = allInstancesNodeInstanceNodeListInstanceNodes["Role"].asString();
-			if(!allInstancesNodeInstanceNodeListInstanceNodes["ZoneId"].isNull())
-				instanceNodeListObject.zoneId = allInstancesNodeInstanceNodeListInstanceNodes["ZoneId"].asString();
-			if(!allInstancesNodeInstanceNodeListInstanceNodes["InstanceId"].isNull())
-				instanceNodeListObject.instanceId = allInstancesNodeInstanceNodeListInstanceNodes["InstanceId"].asString();
-			if(!allInstancesNodeInstanceNodeListInstanceNodes["DedicatedHostName"].isNull())
-				instanceNodeListObject.dedicatedHostName = allInstancesNodeInstanceNodeListInstanceNodes["DedicatedHostName"].asString();
+			if(!valueInstancesInstancesItemInstanceNodeListInstanceNodes["NodeId"].isNull())
+				instanceNodeListObject.nodeId = std::stoi(valueInstancesInstancesItemInstanceNodeListInstanceNodes["NodeId"].asString());
+			if(!valueInstancesInstancesItemInstanceNodeListInstanceNodes["NodeIp"].isNull())
+				instanceNodeListObject.nodeIp = valueInstancesInstancesItemInstanceNodeListInstanceNodes["NodeIp"].asString();
+			if(!valueInstancesInstancesItemInstanceNodeListInstanceNodes["NodeType"].isNull())
+				instanceNodeListObject.nodeType = valueInstancesInstancesItemInstanceNodeListInstanceNodes["NodeType"].asString();
+			if(!valueInstancesInstancesItemInstanceNodeListInstanceNodes["Port"].isNull())
+				instanceNodeListObject.port = std::stoi(valueInstancesInstancesItemInstanceNodeListInstanceNodes["Port"].asString());
+			if(!valueInstancesInstancesItemInstanceNodeListInstanceNodes["Role"].isNull())
+				instanceNodeListObject.role = valueInstancesInstancesItemInstanceNodeListInstanceNodes["Role"].asString();
+			if(!valueInstancesInstancesItemInstanceNodeListInstanceNodes["ZoneId"].isNull())
+				instanceNodeListObject.zoneId = valueInstancesInstancesItemInstanceNodeListInstanceNodes["ZoneId"].asString();
+			if(!valueInstancesInstancesItemInstanceNodeListInstanceNodes["InstanceId"].isNull())
+				instanceNodeListObject.instanceId = valueInstancesInstancesItemInstanceNodeListInstanceNodes["InstanceId"].asString();
+			if(!valueInstancesInstancesItemInstanceNodeListInstanceNodes["DedicatedHostName"].isNull())
+				instanceNodeListObject.dedicatedHostName = valueInstancesInstancesItemInstanceNodeListInstanceNodes["DedicatedHostName"].asString();
 			instancesObject.instanceNodeList.push_back(instanceNodeListObject);
 		}
 		instances_.push_back(instancesObject);

+ 117 - 0
r-kvstore/src/model/DescribeEngineVersionRequest.cc

@@ -0,0 +1,117 @@
+/*
+ * 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/r-kvstore/model/DescribeEngineVersionRequest.h>
+
+using AlibabaCloud::R_kvstore::Model::DescribeEngineVersionRequest;
+
+DescribeEngineVersionRequest::DescribeEngineVersionRequest() :
+	RpcServiceRequest("r-kvstore", "2015-01-01", "DescribeEngineVersion")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DescribeEngineVersionRequest::~DescribeEngineVersionRequest()
+{}
+
+long DescribeEngineVersionRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void DescribeEngineVersionRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+std::string DescribeEngineVersionRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void DescribeEngineVersionRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+
+std::string DescribeEngineVersionRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void DescribeEngineVersionRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setParameter("SecurityToken", securityToken);
+}
+
+std::string DescribeEngineVersionRequest::getResourceOwnerAccount()const
+{
+	return resourceOwnerAccount_;
+}
+
+void DescribeEngineVersionRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
+{
+	resourceOwnerAccount_ = resourceOwnerAccount;
+	setParameter("ResourceOwnerAccount", resourceOwnerAccount);
+}
+
+std::string DescribeEngineVersionRequest::getOwnerAccount()const
+{
+	return ownerAccount_;
+}
+
+void DescribeEngineVersionRequest::setOwnerAccount(const std::string& ownerAccount)
+{
+	ownerAccount_ = ownerAccount;
+	setParameter("OwnerAccount", ownerAccount);
+}
+
+long DescribeEngineVersionRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void DescribeEngineVersionRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::string DescribeEngineVersionRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void DescribeEngineVersionRequest::setInstanceId(const std::string& instanceId)
+{
+	instanceId_ = instanceId;
+	setParameter("InstanceId", instanceId);
+}
+
+std::string DescribeEngineVersionRequest::getParameters()const
+{
+	return parameters_;
+}
+
+void DescribeEngineVersionRequest::setParameters(const std::string& parameters)
+{
+	parameters_ = parameters;
+	setParameter("Parameters", parameters);
+}
+

+ 86 - 0
r-kvstore/src/model/DescribeEngineVersionResult.cc

@@ -0,0 +1,86 @@
+/*
+ * 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/r-kvstore/model/DescribeEngineVersionResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::R_kvstore;
+using namespace AlibabaCloud::R_kvstore::Model;
+
+DescribeEngineVersionResult::DescribeEngineVersionResult() :
+	ServiceResult()
+{}
+
+DescribeEngineVersionResult::DescribeEngineVersionResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeEngineVersionResult::~DescribeEngineVersionResult()
+{}
+
+void DescribeEngineVersionResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	if(!value["Engine"].isNull())
+		engine_ = value["Engine"].asString();
+	if(!value["IsLatestVersion"].isNull())
+		isLatestVersion_ = value["IsLatestVersion"].asString() == "true";
+	if(!value["MinorVersion"].isNull())
+		minorVersion_ = value["MinorVersion"].asString();
+	if(!value["EnableUpgradeMinorVersion"].isNull())
+		enableUpgradeMinorVersion_ = value["EnableUpgradeMinorVersion"].asString() == "true";
+	if(!value["MajorVersion"].isNull())
+		majorVersion_ = value["MajorVersion"].asString();
+	if(!value["EnableUpgradeMajorVersion"].isNull())
+		enableUpgradeMajorVersion_ = value["EnableUpgradeMajorVersion"].asString() == "true";
+
+}
+
+std::string DescribeEngineVersionResult::getMajorVersion()const
+{
+	return majorVersion_;
+}
+
+bool DescribeEngineVersionResult::getIsLatestVersion()const
+{
+	return isLatestVersion_;
+}
+
+std::string DescribeEngineVersionResult::getMinorVersion()const
+{
+	return minorVersion_;
+}
+
+std::string DescribeEngineVersionResult::getEngine()const
+{
+	return engine_;
+}
+
+bool DescribeEngineVersionResult::getEnableUpgradeMinorVersion()const
+{
+	return enableUpgradeMinorVersion_;
+}
+
+bool DescribeEngineVersionResult::getEnableUpgradeMajorVersion()const
+{
+	return enableUpgradeMajorVersion_;
+}
+

+ 10 - 10
r-kvstore/src/model/DescribeGlobalDistributeCacheResult.cc

@@ -49,18 +49,18 @@ void DescribeGlobalDistributeCacheResult::parse(const std::string &payload)
 			globalDistributeCachesObject.globalInstanceName = valueGlobalDistributeCachesGlobalDistributeCache["GlobalInstanceName"].asString();
 		if(!valueGlobalDistributeCachesGlobalDistributeCache["Status"].isNull())
 			globalDistributeCachesObject.status = valueGlobalDistributeCachesGlobalDistributeCache["Status"].asString();
-		auto allSubInstancesNode = allGlobalDistributeCachesNode["SubInstances"]["SubInstance"];
-		for (auto allGlobalDistributeCachesNodeSubInstancesSubInstance : allSubInstancesNode)
+		auto allSubInstancesNode = valueGlobalDistributeCachesGlobalDistributeCache["SubInstances"]["SubInstance"];
+		for (auto valueGlobalDistributeCachesGlobalDistributeCacheSubInstancesSubInstance : allSubInstancesNode)
 		{
 			GlobalDistributeCache::SubInstance subInstancesObject;
-			if(!allGlobalDistributeCachesNodeSubInstancesSubInstance["GlobalInstanceId"].isNull())
-				subInstancesObject.globalInstanceId = allGlobalDistributeCachesNodeSubInstancesSubInstance["GlobalInstanceId"].asString();
-			if(!allGlobalDistributeCachesNodeSubInstancesSubInstance["InstanceID"].isNull())
-				subInstancesObject.instanceID = allGlobalDistributeCachesNodeSubInstancesSubInstance["InstanceID"].asString();
-			if(!allGlobalDistributeCachesNodeSubInstancesSubInstance["RegionId"].isNull())
-				subInstancesObject.regionId = allGlobalDistributeCachesNodeSubInstancesSubInstance["RegionId"].asString();
-			if(!allGlobalDistributeCachesNodeSubInstancesSubInstance["InstanceStatus"].isNull())
-				subInstancesObject.instanceStatus = allGlobalDistributeCachesNodeSubInstancesSubInstance["InstanceStatus"].asString();
+			if(!valueGlobalDistributeCachesGlobalDistributeCacheSubInstancesSubInstance["GlobalInstanceId"].isNull())
+				subInstancesObject.globalInstanceId = valueGlobalDistributeCachesGlobalDistributeCacheSubInstancesSubInstance["GlobalInstanceId"].asString();
+			if(!valueGlobalDistributeCachesGlobalDistributeCacheSubInstancesSubInstance["InstanceID"].isNull())
+				subInstancesObject.instanceID = valueGlobalDistributeCachesGlobalDistributeCacheSubInstancesSubInstance["InstanceID"].asString();
+			if(!valueGlobalDistributeCachesGlobalDistributeCacheSubInstancesSubInstance["RegionId"].isNull())
+				subInstancesObject.regionId = valueGlobalDistributeCachesGlobalDistributeCacheSubInstancesSubInstance["RegionId"].asString();
+			if(!valueGlobalDistributeCachesGlobalDistributeCacheSubInstancesSubInstance["InstanceStatus"].isNull())
+				subInstancesObject.instanceStatus = valueGlobalDistributeCachesGlobalDistributeCacheSubInstancesSubInstance["InstanceStatus"].asString();
 			globalDistributeCachesObject.subInstances.push_back(subInstancesObject);
 		}
 		globalDistributeCaches_.push_back(globalDistributeCachesObject);

+ 6 - 8
r-kvstore/src/model/DescribeInstanceAttributeResult.cc

@@ -105,8 +105,6 @@ void DescribeInstanceAttributeResult::parse(const std::string &payload)
 			instancesObject.instanceType = valueInstancesDBInstanceAttribute["InstanceType"].asString();
 		if(!valueInstancesDBInstanceAttribute["ArchitectureType"].isNull())
 			instancesObject.architectureType = valueInstancesDBInstanceAttribute["ArchitectureType"].asString();
-		if(!valueInstancesDBInstanceAttribute["NodeType"].isNull())
-			instancesObject.nodeType1 = valueInstancesDBInstanceAttribute["NodeType"].asString();
 		if(!valueInstancesDBInstanceAttribute["PackageType"].isNull())
 			instancesObject.packageType = valueInstancesDBInstanceAttribute["PackageType"].asString();
 		if(!valueInstancesDBInstanceAttribute["ReplicaId"].isNull())
@@ -125,14 +123,14 @@ void DescribeInstanceAttributeResult::parse(const std::string &payload)
 			instancesObject.resourceGroupId = valueInstancesDBInstanceAttribute["ResourceGroupId"].asString();
 		if(!valueInstancesDBInstanceAttribute["ShardCount"].isNull())
 			instancesObject.shardCount = std::stoi(valueInstancesDBInstanceAttribute["ShardCount"].asString());
-		auto allTagsNode = allInstancesNode["Tags"]["Tag"];
-		for (auto allInstancesNodeTagsTag : allTagsNode)
+		auto allTagsNode = valueInstancesDBInstanceAttribute["Tags"]["Tag"];
+		for (auto valueInstancesDBInstanceAttributeTagsTag : allTagsNode)
 		{
 			DBInstanceAttribute::Tag tagsObject;
-			if(!allInstancesNodeTagsTag["Key"].isNull())
-				tagsObject.key = allInstancesNodeTagsTag["Key"].asString();
-			if(!allInstancesNodeTagsTag["Value"].isNull())
-				tagsObject.value = allInstancesNodeTagsTag["Value"].asString();
+			if(!valueInstancesDBInstanceAttributeTagsTag["Key"].isNull())
+				tagsObject.key = valueInstancesDBInstanceAttributeTagsTag["Key"].asString();
+			if(!valueInstancesDBInstanceAttributeTagsTag["Value"].isNull())
+				tagsObject.value = valueInstancesDBInstanceAttributeTagsTag["Value"].asString();
 			instancesObject.tags.push_back(tagsObject);
 		}
 		instances_.push_back(instancesObject);

+ 106 - 0
r-kvstore/src/model/DescribeInstanceConfigRequest.cc

@@ -0,0 +1,106 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/r-kvstore/model/DescribeInstanceConfigRequest.h>
+
+using AlibabaCloud::R_kvstore::Model::DescribeInstanceConfigRequest;
+
+DescribeInstanceConfigRequest::DescribeInstanceConfigRequest() :
+	RpcServiceRequest("r-kvstore", "2015-01-01", "DescribeInstanceConfig")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DescribeInstanceConfigRequest::~DescribeInstanceConfigRequest()
+{}
+
+long DescribeInstanceConfigRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void DescribeInstanceConfigRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+std::string DescribeInstanceConfigRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void DescribeInstanceConfigRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+
+std::string DescribeInstanceConfigRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void DescribeInstanceConfigRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setParameter("SecurityToken", securityToken);
+}
+
+std::string DescribeInstanceConfigRequest::getResourceOwnerAccount()const
+{
+	return resourceOwnerAccount_;
+}
+
+void DescribeInstanceConfigRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
+{
+	resourceOwnerAccount_ = resourceOwnerAccount;
+	setParameter("ResourceOwnerAccount", resourceOwnerAccount);
+}
+
+std::string DescribeInstanceConfigRequest::getOwnerAccount()const
+{
+	return ownerAccount_;
+}
+
+void DescribeInstanceConfigRequest::setOwnerAccount(const std::string& ownerAccount)
+{
+	ownerAccount_ = ownerAccount;
+	setParameter("OwnerAccount", ownerAccount);
+}
+
+long DescribeInstanceConfigRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void DescribeInstanceConfigRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::string DescribeInstanceConfigRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void DescribeInstanceConfigRequest::setInstanceId(const std::string& instanceId)
+{
+	instanceId_ = instanceId;
+	setParameter("InstanceId", instanceId);
+}
+

+ 51 - 0
r-kvstore/src/model/DescribeInstanceConfigResult.cc

@@ -0,0 +1,51 @@
+/*
+ * 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/r-kvstore/model/DescribeInstanceConfigResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::R_kvstore;
+using namespace AlibabaCloud::R_kvstore::Model;
+
+DescribeInstanceConfigResult::DescribeInstanceConfigResult() :
+	ServiceResult()
+{}
+
+DescribeInstanceConfigResult::DescribeInstanceConfigResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeInstanceConfigResult::~DescribeInstanceConfigResult()
+{}
+
+void DescribeInstanceConfigResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	if(!value["Config"].isNull())
+		config_ = value["Config"].asString();
+
+}
+
+std::string DescribeInstanceConfigResult::getConfig()const
+{
+	return config_;
+}
+

+ 6 - 6
r-kvstore/src/model/DescribeInstancesResult.cc

@@ -115,14 +115,14 @@ void DescribeInstancesResult::parse(const std::string &payload)
 			instancesObject.shardCount = std::stoi(valueInstancesKVStoreInstance["ShardCount"].asString());
 		if(!valueInstancesKVStoreInstance["ProxyCount"].isNull())
 			instancesObject.proxyCount = std::stoi(valueInstancesKVStoreInstance["ProxyCount"].asString());
-		auto allTagsNode = allInstancesNode["Tags"]["Tag"];
-		for (auto allInstancesNodeTagsTag : allTagsNode)
+		auto allTagsNode = valueInstancesKVStoreInstance["Tags"]["Tag"];
+		for (auto valueInstancesKVStoreInstanceTagsTag : allTagsNode)
 		{
 			KVStoreInstance::Tag tagsObject;
-			if(!allInstancesNodeTagsTag["Key"].isNull())
-				tagsObject.key = allInstancesNodeTagsTag["Key"].asString();
-			if(!allInstancesNodeTagsTag["Value"].isNull())
-				tagsObject.value = allInstancesNodeTagsTag["Value"].asString();
+			if(!valueInstancesKVStoreInstanceTagsTag["Key"].isNull())
+				tagsObject.key = valueInstancesKVStoreInstanceTagsTag["Key"].asString();
+			if(!valueInstancesKVStoreInstanceTagsTag["Value"].isNull())
+				tagsObject.value = valueInstancesKVStoreInstanceTagsTag["Value"].asString();
 			instancesObject.tags.push_back(tagsObject);
 		}
 		instances_.push_back(instancesObject);

+ 128 - 0
r-kvstore/src/model/DescribeParameterTemplatesRequest.cc

@@ -0,0 +1,128 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/r-kvstore/model/DescribeParameterTemplatesRequest.h>
+
+using AlibabaCloud::R_kvstore::Model::DescribeParameterTemplatesRequest;
+
+DescribeParameterTemplatesRequest::DescribeParameterTemplatesRequest() :
+	RpcServiceRequest("r-kvstore", "2015-01-01", "DescribeParameterTemplates")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DescribeParameterTemplatesRequest::~DescribeParameterTemplatesRequest()
+{}
+
+long DescribeParameterTemplatesRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void DescribeParameterTemplatesRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+std::string DescribeParameterTemplatesRequest::getEngineVersion()const
+{
+	return engineVersion_;
+}
+
+void DescribeParameterTemplatesRequest::setEngineVersion(const std::string& engineVersion)
+{
+	engineVersion_ = engineVersion;
+	setParameter("EngineVersion", engineVersion);
+}
+
+std::string DescribeParameterTemplatesRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void DescribeParameterTemplatesRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+
+std::string DescribeParameterTemplatesRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void DescribeParameterTemplatesRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setParameter("SecurityToken", securityToken);
+}
+
+std::string DescribeParameterTemplatesRequest::getEngine()const
+{
+	return engine_;
+}
+
+void DescribeParameterTemplatesRequest::setEngine(const std::string& engine)
+{
+	engine_ = engine;
+	setParameter("Engine", engine);
+}
+
+std::string DescribeParameterTemplatesRequest::getResourceOwnerAccount()const
+{
+	return resourceOwnerAccount_;
+}
+
+void DescribeParameterTemplatesRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
+{
+	resourceOwnerAccount_ = resourceOwnerAccount;
+	setParameter("ResourceOwnerAccount", resourceOwnerAccount);
+}
+
+std::string DescribeParameterTemplatesRequest::getOwnerAccount()const
+{
+	return ownerAccount_;
+}
+
+void DescribeParameterTemplatesRequest::setOwnerAccount(const std::string& ownerAccount)
+{
+	ownerAccount_ = ownerAccount;
+	setParameter("OwnerAccount", ownerAccount);
+}
+
+long DescribeParameterTemplatesRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void DescribeParameterTemplatesRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::string DescribeParameterTemplatesRequest::getCharacterType()const
+{
+	return characterType_;
+}
+
+void DescribeParameterTemplatesRequest::setCharacterType(const std::string& characterType)
+{
+	characterType_ = characterType;
+	setParameter("CharacterType", characterType);
+}
+

+ 88 - 0
r-kvstore/src/model/DescribeParameterTemplatesResult.cc

@@ -0,0 +1,88 @@
+/*
+ * 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/r-kvstore/model/DescribeParameterTemplatesResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::R_kvstore;
+using namespace AlibabaCloud::R_kvstore::Model;
+
+DescribeParameterTemplatesResult::DescribeParameterTemplatesResult() :
+	ServiceResult()
+{}
+
+DescribeParameterTemplatesResult::DescribeParameterTemplatesResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeParameterTemplatesResult::~DescribeParameterTemplatesResult()
+{}
+
+void DescribeParameterTemplatesResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allParametersNode = value["Parameters"]["TemplateRecord"];
+	for (auto valueParametersTemplateRecord : allParametersNode)
+	{
+		TemplateRecord parametersObject;
+		if(!valueParametersTemplateRecord["CheckingCode"].isNull())
+			parametersObject.checkingCode = valueParametersTemplateRecord["CheckingCode"].asString();
+		if(!valueParametersTemplateRecord["ForceModify"].isNull())
+			parametersObject.forceModify = valueParametersTemplateRecord["ForceModify"].asString() == "true";
+		if(!valueParametersTemplateRecord["ForceRestart"].isNull())
+			parametersObject.forceRestart = valueParametersTemplateRecord["ForceRestart"].asString() == "true";
+		if(!valueParametersTemplateRecord["ParameterDescription"].isNull())
+			parametersObject.parameterDescription = valueParametersTemplateRecord["ParameterDescription"].asString();
+		if(!valueParametersTemplateRecord["ParameterName"].isNull())
+			parametersObject.parameterName = valueParametersTemplateRecord["ParameterName"].asString();
+		if(!valueParametersTemplateRecord["ParameterValue"].isNull())
+			parametersObject.parameterValue = valueParametersTemplateRecord["ParameterValue"].asString();
+		parameters_.push_back(parametersObject);
+	}
+	if(!value["Engine"].isNull())
+		engine_ = value["Engine"].asString();
+	if(!value["EngineVersion"].isNull())
+		engineVersion_ = value["EngineVersion"].asString();
+	if(!value["ParameterCount"].isNull())
+		parameterCount_ = value["ParameterCount"].asString();
+
+}
+
+std::string DescribeParameterTemplatesResult::getParameterCount()const
+{
+	return parameterCount_;
+}
+
+std::vector<DescribeParameterTemplatesResult::TemplateRecord> DescribeParameterTemplatesResult::getParameters()const
+{
+	return parameters_;
+}
+
+std::string DescribeParameterTemplatesResult::getEngineVersion()const
+{
+	return engineVersion_;
+}
+
+std::string DescribeParameterTemplatesResult::getEngine()const
+{
+	return engine_;
+}
+

+ 161 - 0
r-kvstore/src/model/DescribeRoleZoneInfoRequest.cc

@@ -0,0 +1,161 @@
+/*
+ * 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/r-kvstore/model/DescribeRoleZoneInfoRequest.h>
+
+using AlibabaCloud::R_kvstore::Model::DescribeRoleZoneInfoRequest;
+
+DescribeRoleZoneInfoRequest::DescribeRoleZoneInfoRequest() :
+	RpcServiceRequest("r-kvstore", "2015-01-01", "DescribeRoleZoneInfo")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DescribeRoleZoneInfoRequest::~DescribeRoleZoneInfoRequest()
+{}
+
+long DescribeRoleZoneInfoRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void DescribeRoleZoneInfoRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+int DescribeRoleZoneInfoRequest::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+void DescribeRoleZoneInfoRequest::setPageNumber(int pageNumber)
+{
+	pageNumber_ = pageNumber;
+	setParameter("PageNumber", std::to_string(pageNumber));
+}
+
+std::string DescribeRoleZoneInfoRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void DescribeRoleZoneInfoRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+
+std::string DescribeRoleZoneInfoRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void DescribeRoleZoneInfoRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setParameter("SecurityToken", securityToken);
+}
+
+int DescribeRoleZoneInfoRequest::getPageSize()const
+{
+	return pageSize_;
+}
+
+void DescribeRoleZoneInfoRequest::setPageSize(int pageSize)
+{
+	pageSize_ = pageSize;
+	setParameter("PageSize", std::to_string(pageSize));
+}
+
+int DescribeRoleZoneInfoRequest::getQueryType()const
+{
+	return queryType_;
+}
+
+void DescribeRoleZoneInfoRequest::setQueryType(int queryType)
+{
+	queryType_ = queryType;
+	setParameter("QueryType", std::to_string(queryType));
+}
+
+std::string DescribeRoleZoneInfoRequest::getProduct()const
+{
+	return product_;
+}
+
+void DescribeRoleZoneInfoRequest::setProduct(const std::string& product)
+{
+	product_ = product;
+	setParameter("Product", product);
+}
+
+std::string DescribeRoleZoneInfoRequest::getResourceOwnerAccount()const
+{
+	return resourceOwnerAccount_;
+}
+
+void DescribeRoleZoneInfoRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
+{
+	resourceOwnerAccount_ = resourceOwnerAccount;
+	setParameter("ResourceOwnerAccount", resourceOwnerAccount);
+}
+
+std::string DescribeRoleZoneInfoRequest::getOwnerAccount()const
+{
+	return ownerAccount_;
+}
+
+void DescribeRoleZoneInfoRequest::setOwnerAccount(const std::string& ownerAccount)
+{
+	ownerAccount_ = ownerAccount;
+	setParameter("OwnerAccount", ownerAccount);
+}
+
+long DescribeRoleZoneInfoRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void DescribeRoleZoneInfoRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::string DescribeRoleZoneInfoRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void DescribeRoleZoneInfoRequest::setInstanceId(const std::string& instanceId)
+{
+	instanceId_ = instanceId;
+	setParameter("InstanceId", instanceId);
+}
+
+std::string DescribeRoleZoneInfoRequest::getCategory()const
+{
+	return category_;
+}
+
+void DescribeRoleZoneInfoRequest::setCategory(const std::string& category)
+{
+	category_ = category;
+	setParameter("Category", category);
+}
+

+ 104 - 0
r-kvstore/src/model/DescribeRoleZoneInfoResult.cc

@@ -0,0 +1,104 @@
+/*
+ * 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/r-kvstore/model/DescribeRoleZoneInfoResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::R_kvstore;
+using namespace AlibabaCloud::R_kvstore::Model;
+
+DescribeRoleZoneInfoResult::DescribeRoleZoneInfoResult() :
+	ServiceResult()
+{}
+
+DescribeRoleZoneInfoResult::DescribeRoleZoneInfoResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeRoleZoneInfoResult::~DescribeRoleZoneInfoResult()
+{}
+
+void DescribeRoleZoneInfoResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allNodeNode = value["Node"]["NodeInfo"];
+	for (auto valueNodeNodeInfo : allNodeNode)
+	{
+		NodeInfo nodeObject;
+		if(!valueNodeNodeInfo["NodeId"].isNull())
+			nodeObject.nodeId = valueNodeNodeInfo["NodeId"].asString();
+		if(!valueNodeNodeInfo["NodeType"].isNull())
+			nodeObject.nodeType = valueNodeNodeInfo["NodeType"].asString();
+		if(!valueNodeNodeInfo["Role"].isNull())
+			nodeObject.role = valueNodeNodeInfo["Role"].asString();
+		if(!valueNodeNodeInfo["ZoneId"].isNull())
+			nodeObject.zoneId = valueNodeNodeInfo["ZoneId"].asString();
+		if(!valueNodeNodeInfo["CPUUsage"].isNull())
+			nodeObject.cPUUsage = valueNodeNodeInfo["CPUUsage"].asString();
+		if(!valueNodeNodeInfo["Connection"].isNull())
+			nodeObject.connection = std::stof(valueNodeNodeInfo["Connection"].asString());
+		if(!valueNodeNodeInfo["AvgRt"].isNull())
+			nodeObject.avgRt = std::stof(valueNodeNodeInfo["AvgRt"].asString());
+		if(!valueNodeNodeInfo["IntranetIn"].isNull())
+			nodeObject.intranetIn = std::stof(valueNodeNodeInfo["IntranetIn"].asString());
+		if(!valueNodeNodeInfo["IntranetOut"].isNull())
+			nodeObject.intranetOut = std::stof(valueNodeNodeInfo["IntranetOut"].asString());
+		if(!valueNodeNodeInfo["CustinsId"].isNull())
+			nodeObject.custinsId = valueNodeNodeInfo["CustinsId"].asString();
+		if(!valueNodeNodeInfo["InsType"].isNull())
+			nodeObject.insType = std::stoi(valueNodeNodeInfo["InsType"].asString());
+		if(!valueNodeNodeInfo["InsName"].isNull())
+			nodeObject.insName = valueNodeNodeInfo["InsName"].asString();
+		if(!valueNodeNodeInfo["IsLatestVersion"].isNull())
+			nodeObject.isLatestVersion = std::stoi(valueNodeNodeInfo["IsLatestVersion"].asString());
+		if(!valueNodeNodeInfo["CurrentMinorVersion"].isNull())
+			nodeObject.currentMinorVersion = valueNodeNodeInfo["CurrentMinorVersion"].asString();
+		node_.push_back(nodeObject);
+	}
+	if(!value["PageNumber"].isNull())
+		pageNumber_ = std::stoi(value["PageNumber"].asString());
+	if(!value["PageSize"].isNull())
+		pageSize_ = std::stoi(value["PageSize"].asString());
+	if(!value["TotalCount"].isNull())
+		totalCount_ = std::stoi(value["TotalCount"].asString());
+
+}
+
+int DescribeRoleZoneInfoResult::getTotalCount()const
+{
+	return totalCount_;
+}
+
+int DescribeRoleZoneInfoResult::getPageSize()const
+{
+	return pageSize_;
+}
+
+int DescribeRoleZoneInfoResult::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+std::vector<DescribeRoleZoneInfoResult::NodeInfo> DescribeRoleZoneInfoResult::getNode()const
+{
+	return node_;
+}
+

+ 161 - 0
r-kvstore/src/model/DescribeTasksRequest.cc

@@ -0,0 +1,161 @@
+/*
+ * 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/r-kvstore/model/DescribeTasksRequest.h>
+
+using AlibabaCloud::R_kvstore::Model::DescribeTasksRequest;
+
+DescribeTasksRequest::DescribeTasksRequest() :
+	RpcServiceRequest("r-kvstore", "2015-01-01", "DescribeTasks")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DescribeTasksRequest::~DescribeTasksRequest()
+{}
+
+long DescribeTasksRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void DescribeTasksRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+std::string DescribeTasksRequest::getStartTime()const
+{
+	return startTime_;
+}
+
+void DescribeTasksRequest::setStartTime(const std::string& startTime)
+{
+	startTime_ = startTime;
+	setParameter("StartTime", startTime);
+}
+
+int DescribeTasksRequest::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+void DescribeTasksRequest::setPageNumber(int pageNumber)
+{
+	pageNumber_ = pageNumber;
+	setParameter("PageNumber", std::to_string(pageNumber));
+}
+
+std::string DescribeTasksRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void DescribeTasksRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+
+std::string DescribeTasksRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void DescribeTasksRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setParameter("SecurityToken", securityToken);
+}
+
+int DescribeTasksRequest::getPageSize()const
+{
+	return pageSize_;
+}
+
+void DescribeTasksRequest::setPageSize(int pageSize)
+{
+	pageSize_ = pageSize;
+	setParameter("PageSize", std::to_string(pageSize));
+}
+
+std::string DescribeTasksRequest::getResourceOwnerAccount()const
+{
+	return resourceOwnerAccount_;
+}
+
+void DescribeTasksRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
+{
+	resourceOwnerAccount_ = resourceOwnerAccount;
+	setParameter("ResourceOwnerAccount", resourceOwnerAccount);
+}
+
+std::string DescribeTasksRequest::getOwnerAccount()const
+{
+	return ownerAccount_;
+}
+
+void DescribeTasksRequest::setOwnerAccount(const std::string& ownerAccount)
+{
+	ownerAccount_ = ownerAccount;
+	setParameter("OwnerAccount", ownerAccount);
+}
+
+std::string DescribeTasksRequest::getEndTime()const
+{
+	return endTime_;
+}
+
+void DescribeTasksRequest::setEndTime(const std::string& endTime)
+{
+	endTime_ = endTime;
+	setParameter("EndTime", endTime);
+}
+
+long DescribeTasksRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void DescribeTasksRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::string DescribeTasksRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void DescribeTasksRequest::setInstanceId(const std::string& instanceId)
+{
+	instanceId_ = instanceId;
+	setParameter("InstanceId", instanceId);
+}
+
+std::string DescribeTasksRequest::getStatus()const
+{
+	return status_;
+}
+
+void DescribeTasksRequest::setStatus(const std::string& status)
+{
+	status_ = status;
+	setParameter("Status", status);
+}
+

+ 96 - 0
r-kvstore/src/model/DescribeTasksResult.cc

@@ -0,0 +1,96 @@
+/*
+ * 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/r-kvstore/model/DescribeTasksResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::R_kvstore;
+using namespace AlibabaCloud::R_kvstore::Model;
+
+DescribeTasksResult::DescribeTasksResult() :
+	ServiceResult()
+{}
+
+DescribeTasksResult::DescribeTasksResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeTasksResult::~DescribeTasksResult()
+{}
+
+void DescribeTasksResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allItemsNode = value["Items"]["TaskProgressInfo"];
+	for (auto valueItemsTaskProgressInfo : allItemsNode)
+	{
+		TaskProgressInfo itemsObject;
+		if(!valueItemsTaskProgressInfo["TaskId"].isNull())
+			itemsObject.taskId = valueItemsTaskProgressInfo["TaskId"].asString();
+		if(!valueItemsTaskProgressInfo["TaskAction"].isNull())
+			itemsObject.taskAction = valueItemsTaskProgressInfo["TaskAction"].asString();
+		if(!valueItemsTaskProgressInfo["Status"].isNull())
+			itemsObject.status = valueItemsTaskProgressInfo["Status"].asString();
+		if(!valueItemsTaskProgressInfo["Progress"].isNull())
+			itemsObject.progress = std::stof(valueItemsTaskProgressInfo["Progress"].asString());
+		if(!valueItemsTaskProgressInfo["BeginTime"].isNull())
+			itemsObject.beginTime = valueItemsTaskProgressInfo["BeginTime"].asString();
+		if(!valueItemsTaskProgressInfo["FinishTime"].isNull())
+			itemsObject.finishTime = valueItemsTaskProgressInfo["FinishTime"].asString();
+		if(!valueItemsTaskProgressInfo["StepsInfo"].isNull())
+			itemsObject.stepsInfo = valueItemsTaskProgressInfo["StepsInfo"].asString();
+		if(!valueItemsTaskProgressInfo["Remain"].isNull())
+			itemsObject.remain = std::stoi(valueItemsTaskProgressInfo["Remain"].asString());
+		if(!valueItemsTaskProgressInfo["StepProgressInfo"].isNull())
+			itemsObject.stepProgressInfo = valueItemsTaskProgressInfo["StepProgressInfo"].asString();
+		if(!valueItemsTaskProgressInfo["CurrentStepName"].isNull())
+			itemsObject.currentStepName = valueItemsTaskProgressInfo["CurrentStepName"].asString();
+		items_.push_back(itemsObject);
+	}
+	if(!value["PageNumber"].isNull())
+		pageNumber_ = std::stoi(value["PageNumber"].asString());
+	if(!value["PageSize"].isNull())
+		pageSize_ = std::stoi(value["PageSize"].asString());
+	if(!value["TotalRecordCount"].isNull())
+		totalRecordCount_ = std::stoi(value["TotalRecordCount"].asString());
+
+}
+
+int DescribeTasksResult::getTotalRecordCount()const
+{
+	return totalRecordCount_;
+}
+
+int DescribeTasksResult::getPageSize()const
+{
+	return pageSize_;
+}
+
+int DescribeTasksResult::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+std::vector<DescribeTasksResult::TaskProgressInfo> DescribeTasksResult::getItems()const
+{
+	return items_;
+}
+