Browse Source

Support create serverless by day price type.

sdk-team 5 years ago
parent
commit
445d5ca242

+ 3 - 0
CHANGELOG

@@ -1,3 +1,6 @@
+2020-11-02 Version: patch
+- Support create serverless by day price type.
+
 2020-11-01 Version: patch
 - Supported All Console APIs.
 

+ 8 - 0
dds/CMakeLists.txt

@@ -37,6 +37,8 @@ set(dds_public_header_model
 	include/alibabacloud/dds/model/CreateNodeResult.h
 	include/alibabacloud/dds/model/CreateRecommendationTaskRequest.h
 	include/alibabacloud/dds/model/CreateRecommendationTaskResult.h
+	include/alibabacloud/dds/model/CreateServerlessDBInstanceRequest.h
+	include/alibabacloud/dds/model/CreateServerlessDBInstanceResult.h
 	include/alibabacloud/dds/model/CreateShardingDBInstanceRequest.h
 	include/alibabacloud/dds/model/CreateShardingDBInstanceResult.h
 	include/alibabacloud/dds/model/DeleteDBInstanceRequest.h
@@ -83,6 +85,8 @@ set(dds_public_header_model
 	include/alibabacloud/dds/model/DescribeDBInstanceTDEInfoResult.h
 	include/alibabacloud/dds/model/DescribeDBInstancesRequest.h
 	include/alibabacloud/dds/model/DescribeDBInstancesResult.h
+	include/alibabacloud/dds/model/DescribeDedicatedClusterInstanceListRequest.h
+	include/alibabacloud/dds/model/DescribeDedicatedClusterInstanceListResult.h
 	include/alibabacloud/dds/model/DescribeErrorLogRecordsRequest.h
 	include/alibabacloud/dds/model/DescribeErrorLogRecordsResult.h
 	include/alibabacloud/dds/model/DescribeIndexRecommendationRequest.h
@@ -214,6 +218,8 @@ set(dds_src
 	src/model/CreateNodeResult.cc
 	src/model/CreateRecommendationTaskRequest.cc
 	src/model/CreateRecommendationTaskResult.cc
+	src/model/CreateServerlessDBInstanceRequest.cc
+	src/model/CreateServerlessDBInstanceResult.cc
 	src/model/CreateShardingDBInstanceRequest.cc
 	src/model/CreateShardingDBInstanceResult.cc
 	src/model/DeleteDBInstanceRequest.cc
@@ -260,6 +266,8 @@ set(dds_src
 	src/model/DescribeDBInstanceTDEInfoResult.cc
 	src/model/DescribeDBInstancesRequest.cc
 	src/model/DescribeDBInstancesResult.cc
+	src/model/DescribeDedicatedClusterInstanceListRequest.cc
+	src/model/DescribeDedicatedClusterInstanceListResult.cc
 	src/model/DescribeErrorLogRecordsRequest.cc
 	src/model/DescribeErrorLogRecordsResult.cc
 	src/model/DescribeIndexRecommendationRequest.cc

+ 16 - 0
dds/include/alibabacloud/dds/DdsClient.h

@@ -38,6 +38,8 @@
 #include "model/CreateNodeResult.h"
 #include "model/CreateRecommendationTaskRequest.h"
 #include "model/CreateRecommendationTaskResult.h"
+#include "model/CreateServerlessDBInstanceRequest.h"
+#include "model/CreateServerlessDBInstanceResult.h"
 #include "model/CreateShardingDBInstanceRequest.h"
 #include "model/CreateShardingDBInstanceResult.h"
 #include "model/DeleteDBInstanceRequest.h"
@@ -84,6 +86,8 @@
 #include "model/DescribeDBInstanceTDEInfoResult.h"
 #include "model/DescribeDBInstancesRequest.h"
 #include "model/DescribeDBInstancesResult.h"
+#include "model/DescribeDedicatedClusterInstanceListRequest.h"
+#include "model/DescribeDedicatedClusterInstanceListResult.h"
 #include "model/DescribeErrorLogRecordsRequest.h"
 #include "model/DescribeErrorLogRecordsResult.h"
 #include "model/DescribeIndexRecommendationRequest.h"
@@ -229,6 +233,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::CreateRecommendationTaskResult> CreateRecommendationTaskOutcome;
 			typedef std::future<CreateRecommendationTaskOutcome> CreateRecommendationTaskOutcomeCallable;
 			typedef std::function<void(const DdsClient*, const Model::CreateRecommendationTaskRequest&, const CreateRecommendationTaskOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateRecommendationTaskAsyncHandler;
+			typedef Outcome<Error, Model::CreateServerlessDBInstanceResult> CreateServerlessDBInstanceOutcome;
+			typedef std::future<CreateServerlessDBInstanceOutcome> CreateServerlessDBInstanceOutcomeCallable;
+			typedef std::function<void(const DdsClient*, const Model::CreateServerlessDBInstanceRequest&, const CreateServerlessDBInstanceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateServerlessDBInstanceAsyncHandler;
 			typedef Outcome<Error, Model::CreateShardingDBInstanceResult> CreateShardingDBInstanceOutcome;
 			typedef std::future<CreateShardingDBInstanceOutcome> CreateShardingDBInstanceOutcomeCallable;
 			typedef std::function<void(const DdsClient*, const Model::CreateShardingDBInstanceRequest&, const CreateShardingDBInstanceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateShardingDBInstanceAsyncHandler;
@@ -298,6 +305,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeDBInstancesResult> DescribeDBInstancesOutcome;
 			typedef std::future<DescribeDBInstancesOutcome> DescribeDBInstancesOutcomeCallable;
 			typedef std::function<void(const DdsClient*, const Model::DescribeDBInstancesRequest&, const DescribeDBInstancesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeDBInstancesAsyncHandler;
+			typedef Outcome<Error, Model::DescribeDedicatedClusterInstanceListResult> DescribeDedicatedClusterInstanceListOutcome;
+			typedef std::future<DescribeDedicatedClusterInstanceListOutcome> DescribeDedicatedClusterInstanceListOutcomeCallable;
+			typedef std::function<void(const DdsClient*, const Model::DescribeDedicatedClusterInstanceListRequest&, const DescribeDedicatedClusterInstanceListOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeDedicatedClusterInstanceListAsyncHandler;
 			typedef Outcome<Error, Model::DescribeErrorLogRecordsResult> DescribeErrorLogRecordsOutcome;
 			typedef std::future<DescribeErrorLogRecordsOutcome> DescribeErrorLogRecordsOutcomeCallable;
 			typedef std::function<void(const DdsClient*, const Model::DescribeErrorLogRecordsRequest&, const DescribeErrorLogRecordsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeErrorLogRecordsAsyncHandler;
@@ -495,6 +505,9 @@ namespace AlibabaCloud
 			CreateRecommendationTaskOutcome createRecommendationTask(const Model::CreateRecommendationTaskRequest &request)const;
 			void createRecommendationTaskAsync(const Model::CreateRecommendationTaskRequest& request, const CreateRecommendationTaskAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateRecommendationTaskOutcomeCallable createRecommendationTaskCallable(const Model::CreateRecommendationTaskRequest& request) const;
+			CreateServerlessDBInstanceOutcome createServerlessDBInstance(const Model::CreateServerlessDBInstanceRequest &request)const;
+			void createServerlessDBInstanceAsync(const Model::CreateServerlessDBInstanceRequest& request, const CreateServerlessDBInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateServerlessDBInstanceOutcomeCallable createServerlessDBInstanceCallable(const Model::CreateServerlessDBInstanceRequest& request) const;
 			CreateShardingDBInstanceOutcome createShardingDBInstance(const Model::CreateShardingDBInstanceRequest &request)const;
 			void createShardingDBInstanceAsync(const Model::CreateShardingDBInstanceRequest& request, const CreateShardingDBInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateShardingDBInstanceOutcomeCallable createShardingDBInstanceCallable(const Model::CreateShardingDBInstanceRequest& request) const;
@@ -564,6 +577,9 @@ namespace AlibabaCloud
 			DescribeDBInstancesOutcome describeDBInstances(const Model::DescribeDBInstancesRequest &request)const;
 			void describeDBInstancesAsync(const Model::DescribeDBInstancesRequest& request, const DescribeDBInstancesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeDBInstancesOutcomeCallable describeDBInstancesCallable(const Model::DescribeDBInstancesRequest& request) const;
+			DescribeDedicatedClusterInstanceListOutcome describeDedicatedClusterInstanceList(const Model::DescribeDedicatedClusterInstanceListRequest &request)const;
+			void describeDedicatedClusterInstanceListAsync(const Model::DescribeDedicatedClusterInstanceListRequest& request, const DescribeDedicatedClusterInstanceListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeDedicatedClusterInstanceListOutcomeCallable describeDedicatedClusterInstanceListCallable(const Model::DescribeDedicatedClusterInstanceListRequest& request) const;
 			DescribeErrorLogRecordsOutcome describeErrorLogRecords(const Model::DescribeErrorLogRecordsRequest &request)const;
 			void describeErrorLogRecordsAsync(const Model::DescribeErrorLogRecordsRequest& request, const DescribeErrorLogRecordsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeErrorLogRecordsOutcomeCallable describeErrorLogRecordsCallable(const Model::DescribeErrorLogRecordsRequest& request) const;

+ 3 - 0
dds/include/alibabacloud/dds/model/CreateDBInstanceRequest.h

@@ -91,6 +91,8 @@ namespace AlibabaCloud
 				void setSrcDBInstanceId(const std::string& srcDBInstanceId);
 				std::string getOwnerAccount()const;
 				void setOwnerAccount(const std::string& ownerAccount);
+				std::string getClusterId()const;
+				void setClusterId(const std::string& clusterId);
 				std::string getAccountPassword()const;
 				void setAccountPassword(const std::string& accountPassword);
 				std::string getVpcId()const;
@@ -127,6 +129,7 @@ namespace AlibabaCloud
 				std::string resourceOwnerAccount_;
 				std::string srcDBInstanceId_;
 				std::string ownerAccount_;
+				std::string clusterId_;
 				std::string accountPassword_;
 				std::string vpcId_;
 				std::string chargeType_;

+ 117 - 0
dds/include/alibabacloud/dds/model/CreateServerlessDBInstanceRequest.h

@@ -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.
+ */
+
+#ifndef ALIBABACLOUD_DDS_MODEL_CREATESERVERLESSDBINSTANCEREQUEST_H_
+#define ALIBABACLOUD_DDS_MODEL_CREATESERVERLESSDBINSTANCEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/dds/DdsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Dds
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DDS_EXPORT CreateServerlessDBInstanceRequest : public RpcServiceRequest
+			{
+
+			public:
+				CreateServerlessDBInstanceRequest();
+				~CreateServerlessDBInstanceRequest();
+
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				int getDBInstanceStorage()const;
+				void setDBInstanceStorage(int dBInstanceStorage);
+				std::string getClientToken()const;
+				void setClientToken(const std::string& clientToken);
+				std::string getPeriodPriceType()const;
+				void setPeriodPriceType(const std::string& periodPriceType);
+				std::string getEngineVersion()const;
+				void setEngineVersion(const std::string& engineVersion);
+				std::string getNetworkType()const;
+				void setNetworkType(const std::string& networkType);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getStorageEngine()const;
+				void setStorageEngine(const std::string& storageEngine);
+				std::string getResourceGroupId()const;
+				void setResourceGroupId(const std::string& resourceGroupId);
+				std::string getSecurityToken()const;
+				void setSecurityToken(const std::string& securityToken);
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
+				std::string getEngine()const;
+				void setEngine(const std::string& engine);
+				std::string getDBInstanceDescription()const;
+				void setDBInstanceDescription(const std::string& dBInstanceDescription);
+				int getPeriod()const;
+				void setPeriod(int period);
+				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 getSecurityIPList()const;
+				void setSecurityIPList(const std::string& securityIPList);
+				std::string getVSwitchId()const;
+				void setVSwitchId(const std::string& vSwitchId);
+				std::string getAccountPassword()const;
+				void setAccountPassword(const std::string& accountPassword);
+				std::string getAutoRenew()const;
+				void setAutoRenew(const std::string& autoRenew);
+				std::string getVpcId()const;
+				void setVpcId(const std::string& vpcId);
+				std::string getZoneId()const;
+				void setZoneId(const std::string& zoneId);
+				std::string getChargeType()const;
+				void setChargeType(const std::string& chargeType);
+
+            private:
+				long resourceOwnerId_;
+				int dBInstanceStorage_;
+				std::string clientToken_;
+				std::string periodPriceType_;
+				std::string engineVersion_;
+				std::string networkType_;
+				std::string accessKeyId_;
+				std::string storageEngine_;
+				std::string resourceGroupId_;
+				std::string securityToken_;
+				std::string regionId_;
+				std::string engine_;
+				std::string dBInstanceDescription_;
+				int period_;
+				std::string resourceOwnerAccount_;
+				std::string ownerAccount_;
+				long ownerId_;
+				std::string securityIPList_;
+				std::string vSwitchId_;
+				std::string accountPassword_;
+				std::string autoRenew_;
+				std::string vpcId_;
+				std::string zoneId_;
+				std::string chargeType_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DDS_MODEL_CREATESERVERLESSDBINSTANCEREQUEST_H_

+ 53 - 0
dds/include/alibabacloud/dds/model/CreateServerlessDBInstanceResult.h

@@ -0,0 +1,53 @@
+/*
+ * 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_DDS_MODEL_CREATESERVERLESSDBINSTANCERESULT_H_
+#define ALIBABACLOUD_DDS_MODEL_CREATESERVERLESSDBINSTANCERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/dds/DdsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Dds
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DDS_EXPORT CreateServerlessDBInstanceResult : public ServiceResult
+			{
+			public:
+
+
+				CreateServerlessDBInstanceResult();
+				explicit CreateServerlessDBInstanceResult(const std::string &payload);
+				~CreateServerlessDBInstanceResult();
+				std::string getDBInstanceId()const;
+				std::string getOrderId()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string dBInstanceId_;
+				std::string orderId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DDS_MODEL_CREATESERVERLESSDBINSTANCERESULT_H_

+ 1 - 0
dds/include/alibabacloud/dds/model/DescribeDBInstancesResult.h

@@ -72,6 +72,7 @@ namespace AlibabaCloud
 					std::string creationTime;
 					std::string regionId;
 					std::string expireTime;
+					std::string kindCode;
 					std::vector<DBInstance::Tag> tags;
 					std::string dBInstanceDescription;
 					std::string engine;

+ 90 - 0
dds/include/alibabacloud/dds/model/DescribeDedicatedClusterInstanceListRequest.h

@@ -0,0 +1,90 @@
+/*
+ * 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_DDS_MODEL_DESCRIBEDEDICATEDCLUSTERINSTANCELISTREQUEST_H_
+#define ALIBABACLOUD_DDS_MODEL_DESCRIBEDEDICATEDCLUSTERINSTANCELISTREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/dds/DdsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Dds
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DDS_EXPORT DescribeDedicatedClusterInstanceListRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeDedicatedClusterInstanceListRequest();
+				~DescribeDedicatedClusterInstanceListRequest();
+
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				std::string getEngineVersion()const;
+				void setEngineVersion(const std::string& engineVersion);
+				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);
+				std::string getEngine()const;
+				void setEngine(const std::string& engine);
+				int getPageSize()const;
+				void setPageSize(int pageSize);
+				int getInstanceStatus()const;
+				void setInstanceStatus(int instanceStatus);
+				std::string getDedicatedHostName()const;
+				void setDedicatedHostName(const std::string& dedicatedHostName);
+				std::string getResourceOwnerAccount()const;
+				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
+				std::string getOwnerAccount()const;
+				void setOwnerAccount(const std::string& ownerAccount);
+				std::string getInstanceNetType()const;
+				void setInstanceNetType(const std::string& instanceNetType);
+				std::string getClusterId()const;
+				void setClusterId(const std::string& clusterId);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getInstanceId()const;
+				void setInstanceId(const std::string& instanceId);
+
+            private:
+				long resourceOwnerId_;
+				std::string engineVersion_;
+				int pageNumber_;
+				std::string accessKeyId_;
+				std::string securityToken_;
+				std::string engine_;
+				int pageSize_;
+				int instanceStatus_;
+				std::string dedicatedHostName_;
+				std::string resourceOwnerAccount_;
+				std::string ownerAccount_;
+				std::string instanceNetType_;
+				std::string clusterId_;
+				long ownerId_;
+				std::string instanceId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DDS_MODEL_DESCRIBEDEDICATEDCLUSTERINSTANCELISTREQUEST_H_

+ 92 - 0
dds/include/alibabacloud/dds/model/DescribeDedicatedClusterInstanceListResult.h

@@ -0,0 +1,92 @@
+/*
+ * 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_DDS_MODEL_DESCRIBEDEDICATEDCLUSTERINSTANCELISTRESULT_H_
+#define ALIBABACLOUD_DDS_MODEL_DESCRIBEDEDICATEDCLUSTERINSTANCELISTRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/dds/DdsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Dds
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DDS_EXPORT DescribeDedicatedClusterInstanceListResult : public ServiceResult
+			{
+			public:
+				struct DbInstance
+				{
+					struct InstanceNodes
+					{
+						std::string role;
+						std::string zoneId;
+						std::string dedicatedHostName;
+						std::string nodeType;
+						int port;
+						int nodeId;
+						std::string insName;
+						std::string nodeIp;
+					};
+					std::string engineVersion;
+					std::string storageType;
+					std::string zoneId;
+					std::string clusterId;
+					std::string instanceId;
+					std::string createTime;
+					std::string instanceClass;
+					int characterType;
+					std::string vswitchId;
+					std::string instanceName;
+					std::string connectionDomain;
+					std::string maintainEndTime;
+					std::string vpcId;
+					std::string instanceStatus;
+					std::vector<DbInstance::InstanceNodes> instanceNodeList;
+					std::string customId;
+					std::string region;
+					std::string clusterName;
+					std::string regionId;
+					std::string maintainStartTime;
+					std::string engine;
+				};
+
+
+				DescribeDedicatedClusterInstanceListResult();
+				explicit DescribeDedicatedClusterInstanceListResult(const std::string &payload);
+				~DescribeDedicatedClusterInstanceListResult();
+				std::vector<DbInstance> getInstances()const;
+				int getTotalCount()const;
+				int getPageSize()const;
+				int getPageNumber()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<DbInstance> instances_;
+				int totalCount_;
+				int pageSize_;
+				int pageNumber_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DDS_MODEL_DESCRIBEDEDICATEDCLUSTERINSTANCELISTRESULT_H_

+ 1 - 0
dds/include/alibabacloud/dds/model/DescribeRegionsResult.h

@@ -37,6 +37,7 @@ namespace AlibabaCloud
 					struct Zone
 					{
 						bool vpcEnabled;
+						std::string zoneName;
 						std::string zoneId;
 					};
 					std::string regionId;

+ 72 - 0
dds/src/DdsClient.cc

@@ -339,6 +339,42 @@ DdsClient::CreateRecommendationTaskOutcomeCallable DdsClient::createRecommendati
 	return task->get_future();
 }
 
+DdsClient::CreateServerlessDBInstanceOutcome DdsClient::createServerlessDBInstance(const CreateServerlessDBInstanceRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return CreateServerlessDBInstanceOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return CreateServerlessDBInstanceOutcome(CreateServerlessDBInstanceResult(outcome.result()));
+	else
+		return CreateServerlessDBInstanceOutcome(outcome.error());
+}
+
+void DdsClient::createServerlessDBInstanceAsync(const CreateServerlessDBInstanceRequest& request, const CreateServerlessDBInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, createServerlessDBInstance(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DdsClient::CreateServerlessDBInstanceOutcomeCallable DdsClient::createServerlessDBInstanceCallable(const CreateServerlessDBInstanceRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<CreateServerlessDBInstanceOutcome()>>(
+			[this, request]()
+			{
+			return this->createServerlessDBInstance(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 DdsClient::CreateShardingDBInstanceOutcome DdsClient::createShardingDBInstance(const CreateShardingDBInstanceRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1167,6 +1203,42 @@ DdsClient::DescribeDBInstancesOutcomeCallable DdsClient::describeDBInstancesCall
 	return task->get_future();
 }
 
+DdsClient::DescribeDedicatedClusterInstanceListOutcome DdsClient::describeDedicatedClusterInstanceList(const DescribeDedicatedClusterInstanceListRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeDedicatedClusterInstanceListOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeDedicatedClusterInstanceListOutcome(DescribeDedicatedClusterInstanceListResult(outcome.result()));
+	else
+		return DescribeDedicatedClusterInstanceListOutcome(outcome.error());
+}
+
+void DdsClient::describeDedicatedClusterInstanceListAsync(const DescribeDedicatedClusterInstanceListRequest& request, const DescribeDedicatedClusterInstanceListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeDedicatedClusterInstanceList(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DdsClient::DescribeDedicatedClusterInstanceListOutcomeCallable DdsClient::describeDedicatedClusterInstanceListCallable(const DescribeDedicatedClusterInstanceListRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeDedicatedClusterInstanceListOutcome()>>(
+			[this, request]()
+			{
+			return this->describeDedicatedClusterInstanceList(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 DdsClient::DescribeErrorLogRecordsOutcome DdsClient::describeErrorLogRecords(const DescribeErrorLogRecordsRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();

+ 11 - 0
dds/src/model/CreateDBInstanceRequest.cc

@@ -335,6 +335,17 @@ void CreateDBInstanceRequest::setOwnerAccount(const std::string& ownerAccount)
 	setParameter("OwnerAccount", ownerAccount);
 }
 
+std::string CreateDBInstanceRequest::getClusterId()const
+{
+	return clusterId_;
+}
+
+void CreateDBInstanceRequest::setClusterId(const std::string& clusterId)
+{
+	clusterId_ = clusterId;
+	setParameter("ClusterId", clusterId);
+}
+
 std::string CreateDBInstanceRequest::getAccountPassword()const
 {
 	return accountPassword_;

+ 293 - 0
dds/src/model/CreateServerlessDBInstanceRequest.cc

@@ -0,0 +1,293 @@
+/*
+ * 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/dds/model/CreateServerlessDBInstanceRequest.h>
+
+using AlibabaCloud::Dds::Model::CreateServerlessDBInstanceRequest;
+
+CreateServerlessDBInstanceRequest::CreateServerlessDBInstanceRequest() :
+	RpcServiceRequest("dds", "2015-12-01", "CreateServerlessDBInstance")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+CreateServerlessDBInstanceRequest::~CreateServerlessDBInstanceRequest()
+{}
+
+long CreateServerlessDBInstanceRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void CreateServerlessDBInstanceRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+int CreateServerlessDBInstanceRequest::getDBInstanceStorage()const
+{
+	return dBInstanceStorage_;
+}
+
+void CreateServerlessDBInstanceRequest::setDBInstanceStorage(int dBInstanceStorage)
+{
+	dBInstanceStorage_ = dBInstanceStorage;
+	setParameter("DBInstanceStorage", std::to_string(dBInstanceStorage));
+}
+
+std::string CreateServerlessDBInstanceRequest::getClientToken()const
+{
+	return clientToken_;
+}
+
+void CreateServerlessDBInstanceRequest::setClientToken(const std::string& clientToken)
+{
+	clientToken_ = clientToken;
+	setParameter("ClientToken", clientToken);
+}
+
+std::string CreateServerlessDBInstanceRequest::getPeriodPriceType()const
+{
+	return periodPriceType_;
+}
+
+void CreateServerlessDBInstanceRequest::setPeriodPriceType(const std::string& periodPriceType)
+{
+	periodPriceType_ = periodPriceType;
+	setParameter("PeriodPriceType", periodPriceType);
+}
+
+std::string CreateServerlessDBInstanceRequest::getEngineVersion()const
+{
+	return engineVersion_;
+}
+
+void CreateServerlessDBInstanceRequest::setEngineVersion(const std::string& engineVersion)
+{
+	engineVersion_ = engineVersion;
+	setParameter("EngineVersion", engineVersion);
+}
+
+std::string CreateServerlessDBInstanceRequest::getNetworkType()const
+{
+	return networkType_;
+}
+
+void CreateServerlessDBInstanceRequest::setNetworkType(const std::string& networkType)
+{
+	networkType_ = networkType;
+	setParameter("NetworkType", networkType);
+}
+
+std::string CreateServerlessDBInstanceRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void CreateServerlessDBInstanceRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+
+std::string CreateServerlessDBInstanceRequest::getStorageEngine()const
+{
+	return storageEngine_;
+}
+
+void CreateServerlessDBInstanceRequest::setStorageEngine(const std::string& storageEngine)
+{
+	storageEngine_ = storageEngine;
+	setParameter("StorageEngine", storageEngine);
+}
+
+std::string CreateServerlessDBInstanceRequest::getResourceGroupId()const
+{
+	return resourceGroupId_;
+}
+
+void CreateServerlessDBInstanceRequest::setResourceGroupId(const std::string& resourceGroupId)
+{
+	resourceGroupId_ = resourceGroupId;
+	setParameter("ResourceGroupId", resourceGroupId);
+}
+
+std::string CreateServerlessDBInstanceRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void CreateServerlessDBInstanceRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setParameter("SecurityToken", securityToken);
+}
+
+std::string CreateServerlessDBInstanceRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void CreateServerlessDBInstanceRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setParameter("RegionId", regionId);
+}
+
+std::string CreateServerlessDBInstanceRequest::getEngine()const
+{
+	return engine_;
+}
+
+void CreateServerlessDBInstanceRequest::setEngine(const std::string& engine)
+{
+	engine_ = engine;
+	setParameter("Engine", engine);
+}
+
+std::string CreateServerlessDBInstanceRequest::getDBInstanceDescription()const
+{
+	return dBInstanceDescription_;
+}
+
+void CreateServerlessDBInstanceRequest::setDBInstanceDescription(const std::string& dBInstanceDescription)
+{
+	dBInstanceDescription_ = dBInstanceDescription;
+	setParameter("DBInstanceDescription", dBInstanceDescription);
+}
+
+int CreateServerlessDBInstanceRequest::getPeriod()const
+{
+	return period_;
+}
+
+void CreateServerlessDBInstanceRequest::setPeriod(int period)
+{
+	period_ = period;
+	setParameter("Period", std::to_string(period));
+}
+
+std::string CreateServerlessDBInstanceRequest::getResourceOwnerAccount()const
+{
+	return resourceOwnerAccount_;
+}
+
+void CreateServerlessDBInstanceRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
+{
+	resourceOwnerAccount_ = resourceOwnerAccount;
+	setParameter("ResourceOwnerAccount", resourceOwnerAccount);
+}
+
+std::string CreateServerlessDBInstanceRequest::getOwnerAccount()const
+{
+	return ownerAccount_;
+}
+
+void CreateServerlessDBInstanceRequest::setOwnerAccount(const std::string& ownerAccount)
+{
+	ownerAccount_ = ownerAccount;
+	setParameter("OwnerAccount", ownerAccount);
+}
+
+long CreateServerlessDBInstanceRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void CreateServerlessDBInstanceRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::string CreateServerlessDBInstanceRequest::getSecurityIPList()const
+{
+	return securityIPList_;
+}
+
+void CreateServerlessDBInstanceRequest::setSecurityIPList(const std::string& securityIPList)
+{
+	securityIPList_ = securityIPList;
+	setParameter("SecurityIPList", securityIPList);
+}
+
+std::string CreateServerlessDBInstanceRequest::getVSwitchId()const
+{
+	return vSwitchId_;
+}
+
+void CreateServerlessDBInstanceRequest::setVSwitchId(const std::string& vSwitchId)
+{
+	vSwitchId_ = vSwitchId;
+	setParameter("VSwitchId", vSwitchId);
+}
+
+std::string CreateServerlessDBInstanceRequest::getAccountPassword()const
+{
+	return accountPassword_;
+}
+
+void CreateServerlessDBInstanceRequest::setAccountPassword(const std::string& accountPassword)
+{
+	accountPassword_ = accountPassword;
+	setParameter("AccountPassword", accountPassword);
+}
+
+std::string CreateServerlessDBInstanceRequest::getAutoRenew()const
+{
+	return autoRenew_;
+}
+
+void CreateServerlessDBInstanceRequest::setAutoRenew(const std::string& autoRenew)
+{
+	autoRenew_ = autoRenew;
+	setParameter("AutoRenew", autoRenew);
+}
+
+std::string CreateServerlessDBInstanceRequest::getVpcId()const
+{
+	return vpcId_;
+}
+
+void CreateServerlessDBInstanceRequest::setVpcId(const std::string& vpcId)
+{
+	vpcId_ = vpcId;
+	setParameter("VpcId", vpcId);
+}
+
+std::string CreateServerlessDBInstanceRequest::getZoneId()const
+{
+	return zoneId_;
+}
+
+void CreateServerlessDBInstanceRequest::setZoneId(const std::string& zoneId)
+{
+	zoneId_ = zoneId;
+	setParameter("ZoneId", zoneId);
+}
+
+std::string CreateServerlessDBInstanceRequest::getChargeType()const
+{
+	return chargeType_;
+}
+
+void CreateServerlessDBInstanceRequest::setChargeType(const std::string& chargeType)
+{
+	chargeType_ = chargeType;
+	setParameter("ChargeType", chargeType);
+}
+

+ 58 - 0
dds/src/model/CreateServerlessDBInstanceResult.cc

@@ -0,0 +1,58 @@
+/*
+ * 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/dds/model/CreateServerlessDBInstanceResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Dds;
+using namespace AlibabaCloud::Dds::Model;
+
+CreateServerlessDBInstanceResult::CreateServerlessDBInstanceResult() :
+	ServiceResult()
+{}
+
+CreateServerlessDBInstanceResult::CreateServerlessDBInstanceResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+CreateServerlessDBInstanceResult::~CreateServerlessDBInstanceResult()
+{}
+
+void CreateServerlessDBInstanceResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	if(!value["OrderId"].isNull())
+		orderId_ = value["OrderId"].asString();
+	if(!value["DBInstanceId"].isNull())
+		dBInstanceId_ = value["DBInstanceId"].asString();
+
+}
+
+std::string CreateServerlessDBInstanceResult::getDBInstanceId()const
+{
+	return dBInstanceId_;
+}
+
+std::string CreateServerlessDBInstanceResult::getOrderId()const
+{
+	return orderId_;
+}
+

+ 2 - 0
dds/src/model/DescribeDBInstancesResult.cc

@@ -61,6 +61,8 @@ void DescribeDBInstancesResult::parse(const std::string &payload)
 			dBInstancesObject.dBInstanceClass = valueDBInstancesDBInstance["DBInstanceClass"].asString();
 		if(!valueDBInstancesDBInstance["DBInstanceStorage"].isNull())
 			dBInstancesObject.dBInstanceStorage = std::stoi(valueDBInstancesDBInstance["DBInstanceStorage"].asString());
+		if(!valueDBInstancesDBInstance["KindCode"].isNull())
+			dBInstancesObject.kindCode = valueDBInstancesDBInstance["KindCode"].asString();
 		if(!valueDBInstancesDBInstance["DBInstanceStatus"].isNull())
 			dBInstancesObject.dBInstanceStatus = valueDBInstancesDBInstance["DBInstanceStatus"].asString();
 		if(!valueDBInstancesDBInstance["LockMode"].isNull())

+ 194 - 0
dds/src/model/DescribeDedicatedClusterInstanceListRequest.cc

@@ -0,0 +1,194 @@
+/*
+ * 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/dds/model/DescribeDedicatedClusterInstanceListRequest.h>
+
+using AlibabaCloud::Dds::Model::DescribeDedicatedClusterInstanceListRequest;
+
+DescribeDedicatedClusterInstanceListRequest::DescribeDedicatedClusterInstanceListRequest() :
+	RpcServiceRequest("dds", "2015-12-01", "DescribeDedicatedClusterInstanceList")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DescribeDedicatedClusterInstanceListRequest::~DescribeDedicatedClusterInstanceListRequest()
+{}
+
+long DescribeDedicatedClusterInstanceListRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void DescribeDedicatedClusterInstanceListRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+std::string DescribeDedicatedClusterInstanceListRequest::getEngineVersion()const
+{
+	return engineVersion_;
+}
+
+void DescribeDedicatedClusterInstanceListRequest::setEngineVersion(const std::string& engineVersion)
+{
+	engineVersion_ = engineVersion;
+	setParameter("EngineVersion", engineVersion);
+}
+
+int DescribeDedicatedClusterInstanceListRequest::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+void DescribeDedicatedClusterInstanceListRequest::setPageNumber(int pageNumber)
+{
+	pageNumber_ = pageNumber;
+	setParameter("PageNumber", std::to_string(pageNumber));
+}
+
+std::string DescribeDedicatedClusterInstanceListRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void DescribeDedicatedClusterInstanceListRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+
+std::string DescribeDedicatedClusterInstanceListRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void DescribeDedicatedClusterInstanceListRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setParameter("SecurityToken", securityToken);
+}
+
+std::string DescribeDedicatedClusterInstanceListRequest::getEngine()const
+{
+	return engine_;
+}
+
+void DescribeDedicatedClusterInstanceListRequest::setEngine(const std::string& engine)
+{
+	engine_ = engine;
+	setParameter("Engine", engine);
+}
+
+int DescribeDedicatedClusterInstanceListRequest::getPageSize()const
+{
+	return pageSize_;
+}
+
+void DescribeDedicatedClusterInstanceListRequest::setPageSize(int pageSize)
+{
+	pageSize_ = pageSize;
+	setParameter("PageSize", std::to_string(pageSize));
+}
+
+int DescribeDedicatedClusterInstanceListRequest::getInstanceStatus()const
+{
+	return instanceStatus_;
+}
+
+void DescribeDedicatedClusterInstanceListRequest::setInstanceStatus(int instanceStatus)
+{
+	instanceStatus_ = instanceStatus;
+	setParameter("InstanceStatus", std::to_string(instanceStatus));
+}
+
+std::string DescribeDedicatedClusterInstanceListRequest::getDedicatedHostName()const
+{
+	return dedicatedHostName_;
+}
+
+void DescribeDedicatedClusterInstanceListRequest::setDedicatedHostName(const std::string& dedicatedHostName)
+{
+	dedicatedHostName_ = dedicatedHostName;
+	setParameter("DedicatedHostName", dedicatedHostName);
+}
+
+std::string DescribeDedicatedClusterInstanceListRequest::getResourceOwnerAccount()const
+{
+	return resourceOwnerAccount_;
+}
+
+void DescribeDedicatedClusterInstanceListRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
+{
+	resourceOwnerAccount_ = resourceOwnerAccount;
+	setParameter("ResourceOwnerAccount", resourceOwnerAccount);
+}
+
+std::string DescribeDedicatedClusterInstanceListRequest::getOwnerAccount()const
+{
+	return ownerAccount_;
+}
+
+void DescribeDedicatedClusterInstanceListRequest::setOwnerAccount(const std::string& ownerAccount)
+{
+	ownerAccount_ = ownerAccount;
+	setParameter("OwnerAccount", ownerAccount);
+}
+
+std::string DescribeDedicatedClusterInstanceListRequest::getInstanceNetType()const
+{
+	return instanceNetType_;
+}
+
+void DescribeDedicatedClusterInstanceListRequest::setInstanceNetType(const std::string& instanceNetType)
+{
+	instanceNetType_ = instanceNetType;
+	setParameter("InstanceNetType", instanceNetType);
+}
+
+std::string DescribeDedicatedClusterInstanceListRequest::getClusterId()const
+{
+	return clusterId_;
+}
+
+void DescribeDedicatedClusterInstanceListRequest::setClusterId(const std::string& clusterId)
+{
+	clusterId_ = clusterId;
+	setParameter("ClusterId", clusterId);
+}
+
+long DescribeDedicatedClusterInstanceListRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void DescribeDedicatedClusterInstanceListRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::string DescribeDedicatedClusterInstanceListRequest::getInstanceId()const
+{
+	return instanceId_;
+}
+
+void DescribeDedicatedClusterInstanceListRequest::setInstanceId(const std::string& instanceId)
+{
+	instanceId_ = instanceId;
+	setParameter("InstanceId", instanceId);
+}
+

+ 138 - 0
dds/src/model/DescribeDedicatedClusterInstanceListResult.cc

@@ -0,0 +1,138 @@
+/*
+ * 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/dds/model/DescribeDedicatedClusterInstanceListResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Dds;
+using namespace AlibabaCloud::Dds::Model;
+
+DescribeDedicatedClusterInstanceListResult::DescribeDedicatedClusterInstanceListResult() :
+	ServiceResult()
+{}
+
+DescribeDedicatedClusterInstanceListResult::DescribeDedicatedClusterInstanceListResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeDedicatedClusterInstanceListResult::~DescribeDedicatedClusterInstanceListResult()
+{}
+
+void DescribeDedicatedClusterInstanceListResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allInstancesNode = value["Instances"]["dbInstance"];
+	for (auto valueInstancesdbInstance : allInstancesNode)
+	{
+		DbInstance instancesObject;
+		if(!valueInstancesdbInstance["Region"].isNull())
+			instancesObject.region = valueInstancesdbInstance["Region"].asString();
+		if(!valueInstancesdbInstance["ClusterId"].isNull())
+			instancesObject.clusterId = valueInstancesdbInstance["ClusterId"].asString();
+		if(!valueInstancesdbInstance["ClusterName"].isNull())
+			instancesObject.clusterName = valueInstancesdbInstance["ClusterName"].asString();
+		if(!valueInstancesdbInstance["InstanceId"].isNull())
+			instancesObject.instanceId = valueInstancesdbInstance["InstanceId"].asString();
+		if(!valueInstancesdbInstance["InstanceName"].isNull())
+			instancesObject.instanceName = valueInstancesdbInstance["InstanceName"].asString();
+		if(!valueInstancesdbInstance["InstanceStatus"].isNull())
+			instancesObject.instanceStatus = valueInstancesdbInstance["InstanceStatus"].asString();
+		if(!valueInstancesdbInstance["EngineVersion"].isNull())
+			instancesObject.engineVersion = valueInstancesdbInstance["EngineVersion"].asString();
+		if(!valueInstancesdbInstance["CharacterType"].isNull())
+			instancesObject.characterType = std::stoi(valueInstancesdbInstance["CharacterType"].asString());
+		if(!valueInstancesdbInstance["MaintainStartTime"].isNull())
+			instancesObject.maintainStartTime = valueInstancesdbInstance["MaintainStartTime"].asString();
+		if(!valueInstancesdbInstance["MaintainEndTime"].isNull())
+			instancesObject.maintainEndTime = valueInstancesdbInstance["MaintainEndTime"].asString();
+		if(!valueInstancesdbInstance["RegionId"].isNull())
+			instancesObject.regionId = valueInstancesdbInstance["RegionId"].asString();
+		if(!valueInstancesdbInstance["VpcId"].isNull())
+			instancesObject.vpcId = valueInstancesdbInstance["VpcId"].asString();
+		if(!valueInstancesdbInstance["VswitchId"].isNull())
+			instancesObject.vswitchId = valueInstancesdbInstance["VswitchId"].asString();
+		if(!valueInstancesdbInstance["ZoneId"].isNull())
+			instancesObject.zoneId = valueInstancesdbInstance["ZoneId"].asString();
+		if(!valueInstancesdbInstance["CustomId"].isNull())
+			instancesObject.customId = valueInstancesdbInstance["CustomId"].asString();
+		if(!valueInstancesdbInstance["InstanceClass"].isNull())
+			instancesObject.instanceClass = valueInstancesdbInstance["InstanceClass"].asString();
+		if(!valueInstancesdbInstance["Engine"].isNull())
+			instancesObject.engine = valueInstancesdbInstance["Engine"].asString();
+		if(!valueInstancesdbInstance["StorageType"].isNull())
+			instancesObject.storageType = valueInstancesdbInstance["StorageType"].asString();
+		if(!valueInstancesdbInstance["ConnectionDomain"].isNull())
+			instancesObject.connectionDomain = valueInstancesdbInstance["ConnectionDomain"].asString();
+		if(!valueInstancesdbInstance["CreateTime"].isNull())
+			instancesObject.createTime = valueInstancesdbInstance["CreateTime"].asString();
+		auto allInstanceNodeListNode = allInstancesNode["InstanceNodeList"]["InstanceNodes"];
+		for (auto allInstancesNodeInstanceNodeListInstanceNodes : allInstanceNodeListNode)
+		{
+			DbInstance::InstanceNodes instanceNodeListObject;
+			if(!allInstancesNodeInstanceNodeListInstanceNodes["InsName"].isNull())
+				instanceNodeListObject.insName = allInstancesNodeInstanceNodeListInstanceNodes["InsName"].asString();
+			if(!allInstancesNodeInstanceNodeListInstanceNodes["Role"].isNull())
+				instanceNodeListObject.role = allInstancesNodeInstanceNodeListInstanceNodes["Role"].asString();
+			if(!allInstancesNodeInstanceNodeListInstanceNodes["NodeId"].isNull())
+				instanceNodeListObject.nodeId = std::stoi(allInstancesNodeInstanceNodeListInstanceNodes["NodeId"].asString());
+			if(!allInstancesNodeInstanceNodeListInstanceNodes["NodeType"].isNull())
+				instanceNodeListObject.nodeType = allInstancesNodeInstanceNodeListInstanceNodes["NodeType"].asString();
+			if(!allInstancesNodeInstanceNodeListInstanceNodes["NodeIp"].isNull())
+				instanceNodeListObject.nodeIp = allInstancesNodeInstanceNodeListInstanceNodes["NodeIp"].asString();
+			if(!allInstancesNodeInstanceNodeListInstanceNodes["Port"].isNull())
+				instanceNodeListObject.port = std::stoi(allInstancesNodeInstanceNodeListInstanceNodes["Port"].asString());
+			if(!allInstancesNodeInstanceNodeListInstanceNodes["ZoneId"].isNull())
+				instanceNodeListObject.zoneId = allInstancesNodeInstanceNodeListInstanceNodes["ZoneId"].asString();
+			if(!allInstancesNodeInstanceNodeListInstanceNodes["DedicatedHostName"].isNull())
+				instanceNodeListObject.dedicatedHostName = allInstancesNodeInstanceNodeListInstanceNodes["DedicatedHostName"].asString();
+			instancesObject.instanceNodeList.push_back(instanceNodeListObject);
+		}
+		instances_.push_back(instancesObject);
+	}
+	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());
+
+}
+
+std::vector<DescribeDedicatedClusterInstanceListResult::DbInstance> DescribeDedicatedClusterInstanceListResult::getInstances()const
+{
+	return instances_;
+}
+
+int DescribeDedicatedClusterInstanceListResult::getTotalCount()const
+{
+	return totalCount_;
+}
+
+int DescribeDedicatedClusterInstanceListResult::getPageSize()const
+{
+	return pageSize_;
+}
+
+int DescribeDedicatedClusterInstanceListResult::getPageNumber()const
+{
+	return pageNumber_;
+}
+

+ 2 - 0
dds/src/model/DescribeRegionsResult.cc

@@ -55,6 +55,8 @@ void DescribeRegionsResult::parse(const std::string &payload)
 				zonesObject.zoneId = allRegionsNodeZonesZone["ZoneId"].asString();
 			if(!allRegionsNodeZonesZone["VpcEnabled"].isNull())
 				zonesObject.vpcEnabled = allRegionsNodeZonesZone["VpcEnabled"].asString() == "true";
+			if(!allRegionsNodeZonesZone["ZoneName"].isNull())
+				zonesObject.zoneName = allRegionsNodeZonesZone["ZoneName"].asString();
 			regionsObject.zones.push_back(zonesObject);
 		}
 		regions_.push_back(regionsObject);