Browse Source

Update by SDK platform.

sdk-team 2 years ago
parent
commit
cf3bbdf2ba

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.1787
+1.36.1788

+ 12 - 0
dds/CMakeLists.txt

@@ -71,6 +71,10 @@ set(dds_public_header_model
 	include/alibabacloud/dds/model/DescribeBackupPolicyResult.h
 	include/alibabacloud/dds/model/DescribeBackupsRequest.h
 	include/alibabacloud/dds/model/DescribeBackupsResult.h
+	include/alibabacloud/dds/model/DescribeClusterBackupsRequest.h
+	include/alibabacloud/dds/model/DescribeClusterBackupsResult.h
+	include/alibabacloud/dds/model/DescribeClusterRecoverTimeRequest.h
+	include/alibabacloud/dds/model/DescribeClusterRecoverTimeResult.h
 	include/alibabacloud/dds/model/DescribeDBInstanceAttributeRequest.h
 	include/alibabacloud/dds/model/DescribeDBInstanceAttributeResult.h
 	include/alibabacloud/dds/model/DescribeDBInstanceEncryptionKeyRequest.h
@@ -203,6 +207,8 @@ set(dds_public_header_model
 	include/alibabacloud/dds/model/SwitchDBInstanceHAResult.h
 	include/alibabacloud/dds/model/TagResourcesRequest.h
 	include/alibabacloud/dds/model/TagResourcesResult.h
+	include/alibabacloud/dds/model/TransferClusterBackupRequest.h
+	include/alibabacloud/dds/model/TransferClusterBackupResult.h
 	include/alibabacloud/dds/model/TransformInstanceChargeTypeRequest.h
 	include/alibabacloud/dds/model/TransformInstanceChargeTypeResult.h
 	include/alibabacloud/dds/model/TransformToPrePaidRequest.h
@@ -266,6 +272,10 @@ set(dds_src
 	src/model/DescribeBackupPolicyResult.cc
 	src/model/DescribeBackupsRequest.cc
 	src/model/DescribeBackupsResult.cc
+	src/model/DescribeClusterBackupsRequest.cc
+	src/model/DescribeClusterBackupsResult.cc
+	src/model/DescribeClusterRecoverTimeRequest.cc
+	src/model/DescribeClusterRecoverTimeResult.cc
 	src/model/DescribeDBInstanceAttributeRequest.cc
 	src/model/DescribeDBInstanceAttributeResult.cc
 	src/model/DescribeDBInstanceEncryptionKeyRequest.cc
@@ -398,6 +408,8 @@ set(dds_src
 	src/model/SwitchDBInstanceHAResult.cc
 	src/model/TagResourcesRequest.cc
 	src/model/TagResourcesResult.cc
+	src/model/TransferClusterBackupRequest.cc
+	src/model/TransferClusterBackupResult.cc
 	src/model/TransformInstanceChargeTypeRequest.cc
 	src/model/TransformInstanceChargeTypeResult.cc
 	src/model/TransformToPrePaidRequest.cc

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

@@ -72,6 +72,10 @@
 #include "model/DescribeBackupPolicyResult.h"
 #include "model/DescribeBackupsRequest.h"
 #include "model/DescribeBackupsResult.h"
+#include "model/DescribeClusterBackupsRequest.h"
+#include "model/DescribeClusterBackupsResult.h"
+#include "model/DescribeClusterRecoverTimeRequest.h"
+#include "model/DescribeClusterRecoverTimeResult.h"
 #include "model/DescribeDBInstanceAttributeRequest.h"
 #include "model/DescribeDBInstanceAttributeResult.h"
 #include "model/DescribeDBInstanceEncryptionKeyRequest.h"
@@ -204,6 +208,8 @@
 #include "model/SwitchDBInstanceHAResult.h"
 #include "model/TagResourcesRequest.h"
 #include "model/TagResourcesResult.h"
+#include "model/TransferClusterBackupRequest.h"
+#include "model/TransferClusterBackupResult.h"
 #include "model/TransformInstanceChargeTypeRequest.h"
 #include "model/TransformInstanceChargeTypeResult.h"
 #include "model/TransformToPrePaidRequest.h"
@@ -298,6 +304,12 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeBackupsResult> DescribeBackupsOutcome;
 			typedef std::future<DescribeBackupsOutcome> DescribeBackupsOutcomeCallable;
 			typedef std::function<void(const DdsClient*, const Model::DescribeBackupsRequest&, const DescribeBackupsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeBackupsAsyncHandler;
+			typedef Outcome<Error, Model::DescribeClusterBackupsResult> DescribeClusterBackupsOutcome;
+			typedef std::future<DescribeClusterBackupsOutcome> DescribeClusterBackupsOutcomeCallable;
+			typedef std::function<void(const DdsClient*, const Model::DescribeClusterBackupsRequest&, const DescribeClusterBackupsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeClusterBackupsAsyncHandler;
+			typedef Outcome<Error, Model::DescribeClusterRecoverTimeResult> DescribeClusterRecoverTimeOutcome;
+			typedef std::future<DescribeClusterRecoverTimeOutcome> DescribeClusterRecoverTimeOutcomeCallable;
+			typedef std::function<void(const DdsClient*, const Model::DescribeClusterRecoverTimeRequest&, const DescribeClusterRecoverTimeOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeClusterRecoverTimeAsyncHandler;
 			typedef Outcome<Error, Model::DescribeDBInstanceAttributeResult> DescribeDBInstanceAttributeOutcome;
 			typedef std::future<DescribeDBInstanceAttributeOutcome> DescribeDBInstanceAttributeOutcomeCallable;
 			typedef std::function<void(const DdsClient*, const Model::DescribeDBInstanceAttributeRequest&, const DescribeDBInstanceAttributeOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeDBInstanceAttributeAsyncHandler;
@@ -496,6 +508,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::TagResourcesResult> TagResourcesOutcome;
 			typedef std::future<TagResourcesOutcome> TagResourcesOutcomeCallable;
 			typedef std::function<void(const DdsClient*, const Model::TagResourcesRequest&, const TagResourcesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> TagResourcesAsyncHandler;
+			typedef Outcome<Error, Model::TransferClusterBackupResult> TransferClusterBackupOutcome;
+			typedef std::future<TransferClusterBackupOutcome> TransferClusterBackupOutcomeCallable;
+			typedef std::function<void(const DdsClient*, const Model::TransferClusterBackupRequest&, const TransferClusterBackupOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> TransferClusterBackupAsyncHandler;
 			typedef Outcome<Error, Model::TransformInstanceChargeTypeResult> TransformInstanceChargeTypeOutcome;
 			typedef std::future<TransformInstanceChargeTypeOutcome> TransformInstanceChargeTypeOutcomeCallable;
 			typedef std::function<void(const DdsClient*, const Model::TransformInstanceChargeTypeRequest&, const TransformInstanceChargeTypeOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> TransformInstanceChargeTypeAsyncHandler;
@@ -591,6 +606,12 @@ namespace AlibabaCloud
 			DescribeBackupsOutcome describeBackups(const Model::DescribeBackupsRequest &request)const;
 			void describeBackupsAsync(const Model::DescribeBackupsRequest& request, const DescribeBackupsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeBackupsOutcomeCallable describeBackupsCallable(const Model::DescribeBackupsRequest& request) const;
+			DescribeClusterBackupsOutcome describeClusterBackups(const Model::DescribeClusterBackupsRequest &request)const;
+			void describeClusterBackupsAsync(const Model::DescribeClusterBackupsRequest& request, const DescribeClusterBackupsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeClusterBackupsOutcomeCallable describeClusterBackupsCallable(const Model::DescribeClusterBackupsRequest& request) const;
+			DescribeClusterRecoverTimeOutcome describeClusterRecoverTime(const Model::DescribeClusterRecoverTimeRequest &request)const;
+			void describeClusterRecoverTimeAsync(const Model::DescribeClusterRecoverTimeRequest& request, const DescribeClusterRecoverTimeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeClusterRecoverTimeOutcomeCallable describeClusterRecoverTimeCallable(const Model::DescribeClusterRecoverTimeRequest& request) const;
 			DescribeDBInstanceAttributeOutcome describeDBInstanceAttribute(const Model::DescribeDBInstanceAttributeRequest &request)const;
 			void describeDBInstanceAttributeAsync(const Model::DescribeDBInstanceAttributeRequest& request, const DescribeDBInstanceAttributeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeDBInstanceAttributeOutcomeCallable describeDBInstanceAttributeCallable(const Model::DescribeDBInstanceAttributeRequest& request) const;
@@ -789,6 +810,9 @@ namespace AlibabaCloud
 			TagResourcesOutcome tagResources(const Model::TagResourcesRequest &request)const;
 			void tagResourcesAsync(const Model::TagResourcesRequest& request, const TagResourcesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			TagResourcesOutcomeCallable tagResourcesCallable(const Model::TagResourcesRequest& request) const;
+			TransferClusterBackupOutcome transferClusterBackup(const Model::TransferClusterBackupRequest &request)const;
+			void transferClusterBackupAsync(const Model::TransferClusterBackupRequest& request, const TransferClusterBackupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			TransferClusterBackupOutcomeCallable transferClusterBackupCallable(const Model::TransferClusterBackupRequest& request) const;
 			TransformInstanceChargeTypeOutcome transformInstanceChargeType(const Model::TransformInstanceChargeTypeRequest &request)const;
 			void transformInstanceChargeTypeAsync(const Model::TransformInstanceChargeTypeRequest& request, const TransformInstanceChargeTypeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			TransformInstanceChargeTypeOutcomeCallable transformInstanceChargeTypeCallable(const Model::TransformInstanceChargeTypeRequest& request) const;

+ 78 - 0
dds/include/alibabacloud/dds/model/DescribeClusterBackupsRequest.h

@@ -0,0 +1,78 @@
+/*
+ * 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_DESCRIBECLUSTERBACKUPSREQUEST_H_
+#define ALIBABACLOUD_DDS_MODEL_DESCRIBECLUSTERBACKUPSREQUEST_H_
+
+#include <alibabacloud/dds/DdsExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Dds {
+namespace Model {
+class ALIBABACLOUD_DDS_EXPORT DescribeClusterBackupsRequest : public RpcServiceRequest {
+public:
+	DescribeClusterBackupsRequest();
+	~DescribeClusterBackupsRequest();
+	long getResourceOwnerId() const;
+	void setResourceOwnerId(long resourceOwnerId);
+	std::string getStartTime() const;
+	void setStartTime(const std::string &startTime);
+	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 getDBInstanceId() const;
+	void setDBInstanceId(const std::string &dBInstanceId);
+	std::string getResourceOwnerAccount() const;
+	void setResourceOwnerAccount(const std::string &resourceOwnerAccount);
+	std::string getOwnerAccount() const;
+	void setOwnerAccount(const std::string &ownerAccount);
+	std::string getBackupId() const;
+	void setBackupId(const std::string &backupId);
+	std::string getEndTime() const;
+	void setEndTime(const std::string &endTime);
+	long getOwnerId() const;
+	void setOwnerId(long ownerId);
+	bool getIsOnlyGetClusterBackUp() const;
+	void setIsOnlyGetClusterBackUp(bool isOnlyGetClusterBackUp);
+	int getPageNo() const;
+	void setPageNo(int pageNo);
+
+private:
+	long resourceOwnerId_;
+	std::string startTime_;
+	std::string accessKeyId_;
+	std::string securityToken_;
+	int pageSize_;
+	std::string dBInstanceId_;
+	std::string resourceOwnerAccount_;
+	std::string ownerAccount_;
+	std::string backupId_;
+	std::string endTime_;
+	long ownerId_;
+	bool isOnlyGetClusterBackUp_;
+	int pageNo_;
+};
+} // namespace Model
+} // namespace Dds
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DDS_MODEL_DESCRIBECLUSTERBACKUPSREQUEST_H_

+ 87 - 0
dds/include/alibabacloud/dds/model/DescribeClusterBackupsResult.h

@@ -0,0 +1,87 @@
+/*
+ * 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_DESCRIBECLUSTERBACKUPSRESULT_H_
+#define ALIBABACLOUD_DDS_MODEL_DESCRIBECLUSTERBACKUPSRESULT_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 DescribeClusterBackupsResult : public ServiceResult
+			{
+			public:
+				struct ClusterBackup
+				{
+					struct ExtraInfo
+					{
+						std::string registryFromHistory;
+					};
+					struct Backup
+					{
+						std::string instanceName;
+						std::string backupDownloadURL;
+						std::string backupIntranetDownloadURL;
+						std::string backupEndTime;
+						std::string backupSize;
+						std::string backupStartTime;
+						std::string backupId;
+						std::string isAvail;
+						std::string backupStatus;
+						std::string backupName;
+					};
+					std::string clusterBackupId;
+					std::string clusterBackupStartTime;
+					std::string progress;
+					std::string clusterBackupStatus;
+					std::string clusterBackupSize;
+					std::vector<ClusterBackup::Backup> backups;
+					std::string clusterBackupEndTime;
+					std::string clusterBackupMode;
+					ExtraInfo extraInfo;
+					int isAvail;
+				};
+
+
+				DescribeClusterBackupsResult();
+				explicit DescribeClusterBackupsResult(const std::string &payload);
+				~DescribeClusterBackupsResult();
+				std::vector<ClusterBackup> getClusterBackups()const;
+				int getPageSize()const;
+				int getPageNumber()const;
+				int getMaxResults()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<ClusterBackup> clusterBackups_;
+				int pageSize_;
+				int pageNumber_;
+				int maxResults_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DDS_MODEL_DESCRIBECLUSTERBACKUPSRESULT_H_

+ 60 - 0
dds/include/alibabacloud/dds/model/DescribeClusterRecoverTimeRequest.h

@@ -0,0 +1,60 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DDS_MODEL_DESCRIBECLUSTERRECOVERTIMEREQUEST_H_
+#define ALIBABACLOUD_DDS_MODEL_DESCRIBECLUSTERRECOVERTIMEREQUEST_H_
+
+#include <alibabacloud/dds/DdsExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Dds {
+namespace Model {
+class ALIBABACLOUD_DDS_EXPORT DescribeClusterRecoverTimeRequest : public RpcServiceRequest {
+public:
+	DescribeClusterRecoverTimeRequest();
+	~DescribeClusterRecoverTimeRequest();
+	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 getDBInstanceId() const;
+	void setDBInstanceId(const std::string &dBInstanceId);
+	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);
+
+private:
+	long resourceOwnerId_;
+	std::string accessKeyId_;
+	std::string securityToken_;
+	std::string dBInstanceId_;
+	std::string resourceOwnerAccount_;
+	std::string ownerAccount_;
+	long ownerId_;
+};
+} // namespace Model
+} // namespace Dds
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DDS_MODEL_DESCRIBECLUSTERRECOVERTIMEREQUEST_H_

+ 57 - 0
dds/include/alibabacloud/dds/model/DescribeClusterRecoverTimeResult.h

@@ -0,0 +1,57 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DDS_MODEL_DESCRIBECLUSTERRECOVERTIMERESULT_H_
+#define ALIBABACLOUD_DDS_MODEL_DESCRIBECLUSTERRECOVERTIMERESULT_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 DescribeClusterRecoverTimeResult : public ServiceResult
+			{
+			public:
+				struct AvailableRestoreTime
+				{
+					std::string restoreEndTime;
+					std::string restoreBeginTime;
+					std::string restoreType;
+				};
+
+
+				DescribeClusterRecoverTimeResult();
+				explicit DescribeClusterRecoverTimeResult(const std::string &payload);
+				~DescribeClusterRecoverTimeResult();
+				std::vector<AvailableRestoreTime> getRestoreRanges()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<AvailableRestoreTime> restoreRanges_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DDS_MODEL_DESCRIBECLUSTERRECOVERTIMERESULT_H_

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

@@ -149,6 +149,7 @@ namespace AlibabaCloud
 					std::vector<DBInstance::ShardAttribute> shardList;
 					int maxIOPS;
 					std::string secondaryZoneId;
+					bool useClusterBackup;
 					std::string vpcAuthMode;
 					std::string protocolType;
 					std::string chargeType;

+ 6 - 0
dds/include/alibabacloud/dds/model/DescribeDBInstanceTDEInfoResult.h

@@ -38,11 +38,17 @@ namespace AlibabaCloud
 				explicit DescribeDBInstanceTDEInfoResult(const std::string &payload);
 				~DescribeDBInstanceTDEInfoResult();
 				std::string getTDEStatus()const;
+				std::string getEncryptionKey()const;
+				std::string getEncryptorName()const;
+				std::string getRoleARN()const;
 
 			protected:
 				void parse(const std::string &payload);
 			private:
 				std::string tDEStatus_;
+				std::string encryptionKey_;
+				std::string encryptorName_;
+				std::string roleARN_;
 
 			};
 		}

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

@@ -48,6 +48,8 @@ public:
 	void setOwnerAccount(const std::string &ownerAccount);
 	long getOwnerId() const;
 	void setOwnerId(long ownerId);
+	std::string getCategory() const;
+	void setCategory(const std::string &category);
 
 private:
 	long resourceOwnerId_;
@@ -59,6 +61,7 @@ private:
 	std::string resourceOwnerAccount_;
 	std::string ownerAccount_;
 	long ownerId_;
+	std::string category_;
 };
 } // namespace Model
 } // namespace Dds

+ 60 - 0
dds/include/alibabacloud/dds/model/TransferClusterBackupRequest.h

@@ -0,0 +1,60 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DDS_MODEL_TRANSFERCLUSTERBACKUPREQUEST_H_
+#define ALIBABACLOUD_DDS_MODEL_TRANSFERCLUSTERBACKUPREQUEST_H_
+
+#include <alibabacloud/dds/DdsExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Dds {
+namespace Model {
+class ALIBABACLOUD_DDS_EXPORT TransferClusterBackupRequest : public RpcServiceRequest {
+public:
+	TransferClusterBackupRequest();
+	~TransferClusterBackupRequest();
+	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 getDBInstanceId() const;
+	void setDBInstanceId(const std::string &dBInstanceId);
+	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);
+
+private:
+	long resourceOwnerId_;
+	std::string accessKeyId_;
+	std::string securityToken_;
+	std::string dBInstanceId_;
+	std::string resourceOwnerAccount_;
+	std::string ownerAccount_;
+	long ownerId_;
+};
+} // namespace Model
+} // namespace Dds
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_DDS_MODEL_TRANSFERCLUSTERBACKUPREQUEST_H_

+ 51 - 0
dds/include/alibabacloud/dds/model/TransferClusterBackupResult.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_DDS_MODEL_TRANSFERCLUSTERBACKUPRESULT_H_
+#define ALIBABACLOUD_DDS_MODEL_TRANSFERCLUSTERBACKUPRESULT_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 TransferClusterBackupResult : public ServiceResult
+			{
+			public:
+
+
+				TransferClusterBackupResult();
+				explicit TransferClusterBackupResult(const std::string &payload);
+				~TransferClusterBackupResult();
+				std::string getAlreadyDone()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string alreadyDone_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DDS_MODEL_TRANSFERCLUSTERBACKUPRESULT_H_

+ 108 - 0
dds/src/DdsClient.cc

@@ -951,6 +951,78 @@ DdsClient::DescribeBackupsOutcomeCallable DdsClient::describeBackupsCallable(con
 	return task->get_future();
 }
 
+DdsClient::DescribeClusterBackupsOutcome DdsClient::describeClusterBackups(const DescribeClusterBackupsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeClusterBackupsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeClusterBackupsOutcome(DescribeClusterBackupsResult(outcome.result()));
+	else
+		return DescribeClusterBackupsOutcome(outcome.error());
+}
+
+void DdsClient::describeClusterBackupsAsync(const DescribeClusterBackupsRequest& request, const DescribeClusterBackupsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeClusterBackups(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DdsClient::DescribeClusterBackupsOutcomeCallable DdsClient::describeClusterBackupsCallable(const DescribeClusterBackupsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeClusterBackupsOutcome()>>(
+			[this, request]()
+			{
+			return this->describeClusterBackups(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DdsClient::DescribeClusterRecoverTimeOutcome DdsClient::describeClusterRecoverTime(const DescribeClusterRecoverTimeRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeClusterRecoverTimeOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeClusterRecoverTimeOutcome(DescribeClusterRecoverTimeResult(outcome.result()));
+	else
+		return DescribeClusterRecoverTimeOutcome(outcome.error());
+}
+
+void DdsClient::describeClusterRecoverTimeAsync(const DescribeClusterRecoverTimeRequest& request, const DescribeClusterRecoverTimeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeClusterRecoverTime(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DdsClient::DescribeClusterRecoverTimeOutcomeCallable DdsClient::describeClusterRecoverTimeCallable(const DescribeClusterRecoverTimeRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeClusterRecoverTimeOutcome()>>(
+			[this, request]()
+			{
+			return this->describeClusterRecoverTime(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 DdsClient::DescribeDBInstanceAttributeOutcome DdsClient::describeDBInstanceAttribute(const DescribeDBInstanceAttributeRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -3327,6 +3399,42 @@ DdsClient::TagResourcesOutcomeCallable DdsClient::tagResourcesCallable(const Tag
 	return task->get_future();
 }
 
+DdsClient::TransferClusterBackupOutcome DdsClient::transferClusterBackup(const TransferClusterBackupRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return TransferClusterBackupOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return TransferClusterBackupOutcome(TransferClusterBackupResult(outcome.result()));
+	else
+		return TransferClusterBackupOutcome(outcome.error());
+}
+
+void DdsClient::transferClusterBackupAsync(const TransferClusterBackupRequest& request, const TransferClusterBackupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, transferClusterBackup(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DdsClient::TransferClusterBackupOutcomeCallable DdsClient::transferClusterBackupCallable(const TransferClusterBackupRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<TransferClusterBackupOutcome()>>(
+			[this, request]()
+			{
+			return this->transferClusterBackup(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 DdsClient::TransformInstanceChargeTypeOutcome DdsClient::transformInstanceChargeType(const TransformInstanceChargeTypeRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();

+ 144 - 0
dds/src/model/DescribeClusterBackupsRequest.cc

@@ -0,0 +1,144 @@
+/*
+ * 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/DescribeClusterBackupsRequest.h>
+
+using AlibabaCloud::Dds::Model::DescribeClusterBackupsRequest;
+
+DescribeClusterBackupsRequest::DescribeClusterBackupsRequest()
+    : RpcServiceRequest("dds", "2015-12-01", "DescribeClusterBackups") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DescribeClusterBackupsRequest::~DescribeClusterBackupsRequest() {}
+
+long DescribeClusterBackupsRequest::getResourceOwnerId() const {
+  return resourceOwnerId_;
+}
+
+void DescribeClusterBackupsRequest::setResourceOwnerId(long resourceOwnerId) {
+  resourceOwnerId_ = resourceOwnerId;
+  setParameter(std::string("ResourceOwnerId"), std::to_string(resourceOwnerId));
+}
+
+std::string DescribeClusterBackupsRequest::getStartTime() const {
+  return startTime_;
+}
+
+void DescribeClusterBackupsRequest::setStartTime(const std::string &startTime) {
+  startTime_ = startTime;
+  setParameter(std::string("StartTime"), startTime);
+}
+
+std::string DescribeClusterBackupsRequest::getAccessKeyId() const {
+  return accessKeyId_;
+}
+
+void DescribeClusterBackupsRequest::setAccessKeyId(const std::string &accessKeyId) {
+  accessKeyId_ = accessKeyId;
+  setParameter(std::string("AccessKeyId"), accessKeyId);
+}
+
+std::string DescribeClusterBackupsRequest::getSecurityToken() const {
+  return securityToken_;
+}
+
+void DescribeClusterBackupsRequest::setSecurityToken(const std::string &securityToken) {
+  securityToken_ = securityToken;
+  setParameter(std::string("SecurityToken"), securityToken);
+}
+
+int DescribeClusterBackupsRequest::getPageSize() const {
+  return pageSize_;
+}
+
+void DescribeClusterBackupsRequest::setPageSize(int pageSize) {
+  pageSize_ = pageSize;
+  setParameter(std::string("PageSize"), std::to_string(pageSize));
+}
+
+std::string DescribeClusterBackupsRequest::getDBInstanceId() const {
+  return dBInstanceId_;
+}
+
+void DescribeClusterBackupsRequest::setDBInstanceId(const std::string &dBInstanceId) {
+  dBInstanceId_ = dBInstanceId;
+  setParameter(std::string("DBInstanceId"), dBInstanceId);
+}
+
+std::string DescribeClusterBackupsRequest::getResourceOwnerAccount() const {
+  return resourceOwnerAccount_;
+}
+
+void DescribeClusterBackupsRequest::setResourceOwnerAccount(const std::string &resourceOwnerAccount) {
+  resourceOwnerAccount_ = resourceOwnerAccount;
+  setParameter(std::string("ResourceOwnerAccount"), resourceOwnerAccount);
+}
+
+std::string DescribeClusterBackupsRequest::getOwnerAccount() const {
+  return ownerAccount_;
+}
+
+void DescribeClusterBackupsRequest::setOwnerAccount(const std::string &ownerAccount) {
+  ownerAccount_ = ownerAccount;
+  setParameter(std::string("OwnerAccount"), ownerAccount);
+}
+
+std::string DescribeClusterBackupsRequest::getBackupId() const {
+  return backupId_;
+}
+
+void DescribeClusterBackupsRequest::setBackupId(const std::string &backupId) {
+  backupId_ = backupId;
+  setParameter(std::string("BackupId"), backupId);
+}
+
+std::string DescribeClusterBackupsRequest::getEndTime() const {
+  return endTime_;
+}
+
+void DescribeClusterBackupsRequest::setEndTime(const std::string &endTime) {
+  endTime_ = endTime;
+  setParameter(std::string("EndTime"), endTime);
+}
+
+long DescribeClusterBackupsRequest::getOwnerId() const {
+  return ownerId_;
+}
+
+void DescribeClusterBackupsRequest::setOwnerId(long ownerId) {
+  ownerId_ = ownerId;
+  setParameter(std::string("OwnerId"), std::to_string(ownerId));
+}
+
+bool DescribeClusterBackupsRequest::getIsOnlyGetClusterBackUp() const {
+  return isOnlyGetClusterBackUp_;
+}
+
+void DescribeClusterBackupsRequest::setIsOnlyGetClusterBackUp(bool isOnlyGetClusterBackUp) {
+  isOnlyGetClusterBackUp_ = isOnlyGetClusterBackUp;
+  setParameter(std::string("IsOnlyGetClusterBackUp"), isOnlyGetClusterBackUp ? "true" : "false");
+}
+
+int DescribeClusterBackupsRequest::getPageNo() const {
+  return pageNo_;
+}
+
+void DescribeClusterBackupsRequest::setPageNo(int pageNo) {
+  pageNo_ = pageNo;
+  setParameter(std::string("PageNo"), std::to_string(pageNo));
+}
+

+ 121 - 0
dds/src/model/DescribeClusterBackupsResult.cc

@@ -0,0 +1,121 @@
+/*
+ * 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/DescribeClusterBackupsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Dds;
+using namespace AlibabaCloud::Dds::Model;
+
+DescribeClusterBackupsResult::DescribeClusterBackupsResult() :
+	ServiceResult()
+{}
+
+DescribeClusterBackupsResult::DescribeClusterBackupsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeClusterBackupsResult::~DescribeClusterBackupsResult()
+{}
+
+void DescribeClusterBackupsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allClusterBackupsNode = value["ClusterBackups"]["clusterBackup"];
+	for (auto valueClusterBackupsclusterBackup : allClusterBackupsNode)
+	{
+		ClusterBackup clusterBackupsObject;
+		if(!valueClusterBackupsclusterBackup["IsAvail"].isNull())
+			clusterBackupsObject.isAvail = std::stoi(valueClusterBackupsclusterBackup["IsAvail"].asString());
+		if(!valueClusterBackupsclusterBackup["ClusterBackupId"].isNull())
+			clusterBackupsObject.clusterBackupId = valueClusterBackupsclusterBackup["ClusterBackupId"].asString();
+		if(!valueClusterBackupsclusterBackup["ClusterBackupStatus"].isNull())
+			clusterBackupsObject.clusterBackupStatus = valueClusterBackupsclusterBackup["ClusterBackupStatus"].asString();
+		if(!valueClusterBackupsclusterBackup["ClusterBackupStartTime"].isNull())
+			clusterBackupsObject.clusterBackupStartTime = valueClusterBackupsclusterBackup["ClusterBackupStartTime"].asString();
+		if(!valueClusterBackupsclusterBackup["ClusterBackupSize"].isNull())
+			clusterBackupsObject.clusterBackupSize = valueClusterBackupsclusterBackup["ClusterBackupSize"].asString();
+		if(!valueClusterBackupsclusterBackup["ClusterBackupEndTime"].isNull())
+			clusterBackupsObject.clusterBackupEndTime = valueClusterBackupsclusterBackup["ClusterBackupEndTime"].asString();
+		if(!valueClusterBackupsclusterBackup["ClusterBackupMode"].isNull())
+			clusterBackupsObject.clusterBackupMode = valueClusterBackupsclusterBackup["ClusterBackupMode"].asString();
+		if(!valueClusterBackupsclusterBackup["Progress"].isNull())
+			clusterBackupsObject.progress = valueClusterBackupsclusterBackup["Progress"].asString();
+		auto allBackupsNode = valueClusterBackupsclusterBackup["Backups"]["backup"];
+		for (auto valueClusterBackupsclusterBackupBackupsbackup : allBackupsNode)
+		{
+			ClusterBackup::Backup backupsObject;
+			if(!valueClusterBackupsclusterBackupBackupsbackup["BackupId"].isNull())
+				backupsObject.backupId = valueClusterBackupsclusterBackupBackupsbackup["BackupId"].asString();
+			if(!valueClusterBackupsclusterBackupBackupsbackup["InstanceName"].isNull())
+				backupsObject.instanceName = valueClusterBackupsclusterBackupBackupsbackup["InstanceName"].asString();
+			if(!valueClusterBackupsclusterBackupBackupsbackup["BackupDownloadURL"].isNull())
+				backupsObject.backupDownloadURL = valueClusterBackupsclusterBackupBackupsbackup["BackupDownloadURL"].asString();
+			if(!valueClusterBackupsclusterBackupBackupsbackup["BackupIntranetDownloadURL"].isNull())
+				backupsObject.backupIntranetDownloadURL = valueClusterBackupsclusterBackupBackupsbackup["BackupIntranetDownloadURL"].asString();
+			if(!valueClusterBackupsclusterBackupBackupsbackup["BackupStartTime"].isNull())
+				backupsObject.backupStartTime = valueClusterBackupsclusterBackupBackupsbackup["BackupStartTime"].asString();
+			if(!valueClusterBackupsclusterBackupBackupsbackup["BackupEndTime"].isNull())
+				backupsObject.backupEndTime = valueClusterBackupsclusterBackupBackupsbackup["BackupEndTime"].asString();
+			if(!valueClusterBackupsclusterBackupBackupsbackup["BackupSize"].isNull())
+				backupsObject.backupSize = valueClusterBackupsclusterBackupBackupsbackup["BackupSize"].asString();
+			if(!valueClusterBackupsclusterBackupBackupsbackup["IsAvail"].isNull())
+				backupsObject.isAvail = valueClusterBackupsclusterBackupBackupsbackup["IsAvail"].asString();
+			if(!valueClusterBackupsclusterBackupBackupsbackup["BackupStatus"].isNull())
+				backupsObject.backupStatus = valueClusterBackupsclusterBackupBackupsbackup["BackupStatus"].asString();
+			if(!valueClusterBackupsclusterBackupBackupsbackup["BackupName"].isNull())
+				backupsObject.backupName = valueClusterBackupsclusterBackupBackupsbackup["BackupName"].asString();
+			clusterBackupsObject.backups.push_back(backupsObject);
+		}
+		auto extraInfoNode = value["ExtraInfo"];
+		if(!extraInfoNode["RegistryFromHistory"].isNull())
+			clusterBackupsObject.extraInfo.registryFromHistory = extraInfoNode["RegistryFromHistory"].asString();
+		clusterBackups_.push_back(clusterBackupsObject);
+	}
+	if(!value["MaxResults"].isNull())
+		maxResults_ = std::stoi(value["MaxResults"].asString());
+	if(!value["PageNumber"].isNull())
+		pageNumber_ = std::stoi(value["PageNumber"].asString());
+	if(!value["PageSize"].isNull())
+		pageSize_ = std::stoi(value["PageSize"].asString());
+
+}
+
+std::vector<DescribeClusterBackupsResult::ClusterBackup> DescribeClusterBackupsResult::getClusterBackups()const
+{
+	return clusterBackups_;
+}
+
+int DescribeClusterBackupsResult::getPageSize()const
+{
+	return pageSize_;
+}
+
+int DescribeClusterBackupsResult::getPageNumber()const
+{
+	return pageNumber_;
+}
+
+int DescribeClusterBackupsResult::getMaxResults()const
+{
+	return maxResults_;
+}
+

+ 90 - 0
dds/src/model/DescribeClusterRecoverTimeRequest.cc

@@ -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.
+ */
+
+#include <alibabacloud/dds/model/DescribeClusterRecoverTimeRequest.h>
+
+using AlibabaCloud::Dds::Model::DescribeClusterRecoverTimeRequest;
+
+DescribeClusterRecoverTimeRequest::DescribeClusterRecoverTimeRequest()
+    : RpcServiceRequest("dds", "2015-12-01", "DescribeClusterRecoverTime") {
+  setMethod(HttpRequest::Method::Get);
+}
+
+DescribeClusterRecoverTimeRequest::~DescribeClusterRecoverTimeRequest() {}
+
+long DescribeClusterRecoverTimeRequest::getResourceOwnerId() const {
+  return resourceOwnerId_;
+}
+
+void DescribeClusterRecoverTimeRequest::setResourceOwnerId(long resourceOwnerId) {
+  resourceOwnerId_ = resourceOwnerId;
+  setParameter(std::string("ResourceOwnerId"), std::to_string(resourceOwnerId));
+}
+
+std::string DescribeClusterRecoverTimeRequest::getAccessKeyId() const {
+  return accessKeyId_;
+}
+
+void DescribeClusterRecoverTimeRequest::setAccessKeyId(const std::string &accessKeyId) {
+  accessKeyId_ = accessKeyId;
+  setParameter(std::string("AccessKeyId"), accessKeyId);
+}
+
+std::string DescribeClusterRecoverTimeRequest::getSecurityToken() const {
+  return securityToken_;
+}
+
+void DescribeClusterRecoverTimeRequest::setSecurityToken(const std::string &securityToken) {
+  securityToken_ = securityToken;
+  setParameter(std::string("SecurityToken"), securityToken);
+}
+
+std::string DescribeClusterRecoverTimeRequest::getDBInstanceId() const {
+  return dBInstanceId_;
+}
+
+void DescribeClusterRecoverTimeRequest::setDBInstanceId(const std::string &dBInstanceId) {
+  dBInstanceId_ = dBInstanceId;
+  setParameter(std::string("DBInstanceId"), dBInstanceId);
+}
+
+std::string DescribeClusterRecoverTimeRequest::getResourceOwnerAccount() const {
+  return resourceOwnerAccount_;
+}
+
+void DescribeClusterRecoverTimeRequest::setResourceOwnerAccount(const std::string &resourceOwnerAccount) {
+  resourceOwnerAccount_ = resourceOwnerAccount;
+  setParameter(std::string("ResourceOwnerAccount"), resourceOwnerAccount);
+}
+
+std::string DescribeClusterRecoverTimeRequest::getOwnerAccount() const {
+  return ownerAccount_;
+}
+
+void DescribeClusterRecoverTimeRequest::setOwnerAccount(const std::string &ownerAccount) {
+  ownerAccount_ = ownerAccount;
+  setParameter(std::string("OwnerAccount"), ownerAccount);
+}
+
+long DescribeClusterRecoverTimeRequest::getOwnerId() const {
+  return ownerId_;
+}
+
+void DescribeClusterRecoverTimeRequest::setOwnerId(long ownerId) {
+  ownerId_ = ownerId;
+  setParameter(std::string("OwnerId"), std::to_string(ownerId));
+}
+

+ 61 - 0
dds/src/model/DescribeClusterRecoverTimeResult.cc

@@ -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.
+ */
+
+#include <alibabacloud/dds/model/DescribeClusterRecoverTimeResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Dds;
+using namespace AlibabaCloud::Dds::Model;
+
+DescribeClusterRecoverTimeResult::DescribeClusterRecoverTimeResult() :
+	ServiceResult()
+{}
+
+DescribeClusterRecoverTimeResult::DescribeClusterRecoverTimeResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeClusterRecoverTimeResult::~DescribeClusterRecoverTimeResult()
+{}
+
+void DescribeClusterRecoverTimeResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allRestoreRangesNode = value["RestoreRanges"]["AvailableRestoreTime"];
+	for (auto valueRestoreRangesAvailableRestoreTime : allRestoreRangesNode)
+	{
+		AvailableRestoreTime restoreRangesObject;
+		if(!valueRestoreRangesAvailableRestoreTime["RestoreBeginTime"].isNull())
+			restoreRangesObject.restoreBeginTime = valueRestoreRangesAvailableRestoreTime["RestoreBeginTime"].asString();
+		if(!valueRestoreRangesAvailableRestoreTime["RestoreEndTime"].isNull())
+			restoreRangesObject.restoreEndTime = valueRestoreRangesAvailableRestoreTime["RestoreEndTime"].asString();
+		if(!valueRestoreRangesAvailableRestoreTime["RestoreType"].isNull())
+			restoreRangesObject.restoreType = valueRestoreRangesAvailableRestoreTime["RestoreType"].asString();
+		restoreRanges_.push_back(restoreRangesObject);
+	}
+
+}
+
+std::vector<DescribeClusterRecoverTimeResult::AvailableRestoreTime> DescribeClusterRecoverTimeResult::getRestoreRanges()const
+{
+	return restoreRanges_;
+}
+

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

@@ -133,6 +133,8 @@ void DescribeDBInstanceAttributeResult::parse(const std::string &payload)
 			dBInstancesObject.encryptionKey = valueDBInstancesDBInstance["EncryptionKey"].asString();
 		if(!valueDBInstancesDBInstance["SyncPercent"].isNull())
 			dBInstancesObject.syncPercent = valueDBInstancesDBInstance["SyncPercent"].asString();
+		if(!valueDBInstancesDBInstance["UseClusterBackup"].isNull())
+			dBInstancesObject.useClusterBackup = valueDBInstancesDBInstance["UseClusterBackup"].asString() == "true";
 		if(!valueDBInstancesDBInstance["BurstingEnabled"].isNull())
 			dBInstancesObject.burstingEnabled = valueDBInstancesDBInstance["BurstingEnabled"].asString() == "true";
 		if(!valueDBInstancesDBInstance["ProvisionedIops"].isNull())

+ 21 - 0
dds/src/model/DescribeDBInstanceTDEInfoResult.cc

@@ -41,6 +41,12 @@ void DescribeDBInstanceTDEInfoResult::parse(const std::string &payload)
 	setRequestId(value["RequestId"].asString());
 	if(!value["TDEStatus"].isNull())
 		tDEStatus_ = value["TDEStatus"].asString();
+	if(!value["RoleARN"].isNull())
+		roleARN_ = value["RoleARN"].asString();
+	if(!value["EncryptionKey"].isNull())
+		encryptionKey_ = value["EncryptionKey"].asString();
+	if(!value["EncryptorName"].isNull())
+		encryptorName_ = value["EncryptorName"].asString();
 
 }
 
@@ -49,3 +55,18 @@ std::string DescribeDBInstanceTDEInfoResult::getTDEStatus()const
 	return tDEStatus_;
 }
 
+std::string DescribeDBInstanceTDEInfoResult::getEncryptionKey()const
+{
+	return encryptionKey_;
+}
+
+std::string DescribeDBInstanceTDEInfoResult::getEncryptorName()const
+{
+	return encryptorName_;
+}
+
+std::string DescribeDBInstanceTDEInfoResult::getRoleARN()const
+{
+	return roleARN_;
+}
+

+ 9 - 0
dds/src/model/ModifyDBInstanceNetExpireTimeRequest.cc

@@ -106,3 +106,12 @@ void ModifyDBInstanceNetExpireTimeRequest::setOwnerId(long ownerId) {
   setParameter(std::string("OwnerId"), std::to_string(ownerId));
 }
 
+std::string ModifyDBInstanceNetExpireTimeRequest::getCategory() const {
+  return category_;
+}
+
+void ModifyDBInstanceNetExpireTimeRequest::setCategory(const std::string &category) {
+  category_ = category;
+  setParameter(std::string("Category"), category);
+}
+

+ 90 - 0
dds/src/model/TransferClusterBackupRequest.cc

@@ -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.
+ */
+
+#include <alibabacloud/dds/model/TransferClusterBackupRequest.h>
+
+using AlibabaCloud::Dds::Model::TransferClusterBackupRequest;
+
+TransferClusterBackupRequest::TransferClusterBackupRequest()
+    : RpcServiceRequest("dds", "2015-12-01", "TransferClusterBackup") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+TransferClusterBackupRequest::~TransferClusterBackupRequest() {}
+
+long TransferClusterBackupRequest::getResourceOwnerId() const {
+  return resourceOwnerId_;
+}
+
+void TransferClusterBackupRequest::setResourceOwnerId(long resourceOwnerId) {
+  resourceOwnerId_ = resourceOwnerId;
+  setParameter(std::string("ResourceOwnerId"), std::to_string(resourceOwnerId));
+}
+
+std::string TransferClusterBackupRequest::getAccessKeyId() const {
+  return accessKeyId_;
+}
+
+void TransferClusterBackupRequest::setAccessKeyId(const std::string &accessKeyId) {
+  accessKeyId_ = accessKeyId;
+  setParameter(std::string("AccessKeyId"), accessKeyId);
+}
+
+std::string TransferClusterBackupRequest::getSecurityToken() const {
+  return securityToken_;
+}
+
+void TransferClusterBackupRequest::setSecurityToken(const std::string &securityToken) {
+  securityToken_ = securityToken;
+  setParameter(std::string("SecurityToken"), securityToken);
+}
+
+std::string TransferClusterBackupRequest::getDBInstanceId() const {
+  return dBInstanceId_;
+}
+
+void TransferClusterBackupRequest::setDBInstanceId(const std::string &dBInstanceId) {
+  dBInstanceId_ = dBInstanceId;
+  setParameter(std::string("DBInstanceId"), dBInstanceId);
+}
+
+std::string TransferClusterBackupRequest::getResourceOwnerAccount() const {
+  return resourceOwnerAccount_;
+}
+
+void TransferClusterBackupRequest::setResourceOwnerAccount(const std::string &resourceOwnerAccount) {
+  resourceOwnerAccount_ = resourceOwnerAccount;
+  setParameter(std::string("ResourceOwnerAccount"), resourceOwnerAccount);
+}
+
+std::string TransferClusterBackupRequest::getOwnerAccount() const {
+  return ownerAccount_;
+}
+
+void TransferClusterBackupRequest::setOwnerAccount(const std::string &ownerAccount) {
+  ownerAccount_ = ownerAccount;
+  setParameter(std::string("OwnerAccount"), ownerAccount);
+}
+
+long TransferClusterBackupRequest::getOwnerId() const {
+  return ownerId_;
+}
+
+void TransferClusterBackupRequest::setOwnerId(long ownerId) {
+  ownerId_ = ownerId;
+  setParameter(std::string("OwnerId"), std::to_string(ownerId));
+}
+

+ 51 - 0
dds/src/model/TransferClusterBackupResult.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/dds/model/TransferClusterBackupResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Dds;
+using namespace AlibabaCloud::Dds::Model;
+
+TransferClusterBackupResult::TransferClusterBackupResult() :
+	ServiceResult()
+{}
+
+TransferClusterBackupResult::TransferClusterBackupResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+TransferClusterBackupResult::~TransferClusterBackupResult()
+{}
+
+void TransferClusterBackupResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	if(!value["AlreadyDone"].isNull())
+		alreadyDone_ = value["AlreadyDone"].asString();
+
+}
+
+std::string TransferClusterBackupResult::getAlreadyDone()const
+{
+	return alreadyDone_;
+}
+