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

Update backupsetDownloadset fun.

sdk-team 6 лет назад
Родитель
Сommit
86d673dc39
25 измененных файлов с 1794 добавлено и 4 удалено
  1. 3 0
      CHANGELOG
  2. 1 1
      VERSION
  3. 20 0
      dbs/CMakeLists.txt
  4. 40 0
      dbs/include/alibabacloud/dbs/DbsClient.h
  5. 57 0
      dbs/include/alibabacloud/dbs/model/CreateFullBackupSetDownloadRequest.h
  6. 59 0
      dbs/include/alibabacloud/dbs/model/CreateFullBackupSetDownloadResult.h
  7. 60 0
      dbs/include/alibabacloud/dbs/model/CreateIncrementBackupSetDownloadRequest.h
  8. 59 0
      dbs/include/alibabacloud/dbs/model/CreateIncrementBackupSetDownloadResult.h
  9. 63 0
      dbs/include/alibabacloud/dbs/model/DescribeBackupSetDownloadTaskListRequest.h
  10. 89 0
      dbs/include/alibabacloud/dbs/model/DescribeBackupSetDownloadTaskListResult.h
  11. 72 0
      dbs/include/alibabacloud/dbs/model/ModifyBackupSetDownloadRulesRequest.h
  12. 59 0
      dbs/include/alibabacloud/dbs/model/ModifyBackupSetDownloadRulesResult.h
  13. 54 0
      dbs/include/alibabacloud/dbs/model/StartTaskRequest.h
  14. 61 0
      dbs/include/alibabacloud/dbs/model/StartTaskResult.h
  15. 183 3
      dbs/src/DbsClient.cc
  16. 73 0
      dbs/src/model/CreateFullBackupSetDownloadRequest.cc
  17. 79 0
      dbs/src/model/CreateFullBackupSetDownloadResult.cc
  18. 84 0
      dbs/src/model/CreateIncrementBackupSetDownloadRequest.cc
  19. 79 0
      dbs/src/model/CreateIncrementBackupSetDownloadResult.cc
  20. 95 0
      dbs/src/model/DescribeBackupSetDownloadTaskListRequest.cc
  21. 149 0
      dbs/src/model/DescribeBackupSetDownloadTaskListResult.cc
  22. 128 0
      dbs/src/model/ModifyBackupSetDownloadRulesRequest.cc
  23. 79 0
      dbs/src/model/ModifyBackupSetDownloadRulesResult.cc
  24. 62 0
      dbs/src/model/StartTaskRequest.cc
  25. 86 0
      dbs/src/model/StartTaskResult.cc

+ 3 - 0
CHANGELOG

@@ -1,3 +1,6 @@
+2020-02-25 Version: 1.36.287
+- Update backupsetDownloadset fun.
+
 2020-02-24 Version: 1.36.286
 - ImmediateDelete.
 - DescribeInstance CreateTimeUTC ExpireTimeUTC.

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.286
+1.36.287

+ 20 - 0
dbs/CMakeLists.txt

@@ -25,12 +25,18 @@ set(dbs_public_header_model
 	include/alibabacloud/dbs/model/ConfigureBackupPlanResult.h
 	include/alibabacloud/dbs/model/CreateBackupPlanRequest.h
 	include/alibabacloud/dbs/model/CreateBackupPlanResult.h
+	include/alibabacloud/dbs/model/CreateFullBackupSetDownloadRequest.h
+	include/alibabacloud/dbs/model/CreateFullBackupSetDownloadResult.h
+	include/alibabacloud/dbs/model/CreateIncrementBackupSetDownloadRequest.h
+	include/alibabacloud/dbs/model/CreateIncrementBackupSetDownloadResult.h
 	include/alibabacloud/dbs/model/CreateRestoreTaskRequest.h
 	include/alibabacloud/dbs/model/CreateRestoreTaskResult.h
 	include/alibabacloud/dbs/model/DescribeBackupGatewayListRequest.h
 	include/alibabacloud/dbs/model/DescribeBackupGatewayListResult.h
 	include/alibabacloud/dbs/model/DescribeBackupPlanListRequest.h
 	include/alibabacloud/dbs/model/DescribeBackupPlanListResult.h
+	include/alibabacloud/dbs/model/DescribeBackupSetDownloadTaskListRequest.h
+	include/alibabacloud/dbs/model/DescribeBackupSetDownloadTaskListResult.h
 	include/alibabacloud/dbs/model/DescribeFullBackupListRequest.h
 	include/alibabacloud/dbs/model/DescribeFullBackupListResult.h
 	include/alibabacloud/dbs/model/DescribeIncrementBackupListRequest.h
@@ -49,6 +55,8 @@ set(dbs_public_header_model
 	include/alibabacloud/dbs/model/ModifyBackupObjectsResult.h
 	include/alibabacloud/dbs/model/ModifyBackupPlanNameRequest.h
 	include/alibabacloud/dbs/model/ModifyBackupPlanNameResult.h
+	include/alibabacloud/dbs/model/ModifyBackupSetDownloadRulesRequest.h
+	include/alibabacloud/dbs/model/ModifyBackupSetDownloadRulesResult.h
 	include/alibabacloud/dbs/model/ModifyBackupSourceEndpointRequest.h
 	include/alibabacloud/dbs/model/ModifyBackupSourceEndpointResult.h
 	include/alibabacloud/dbs/model/ModifyBackupStrategyRequest.h
@@ -59,6 +67,8 @@ set(dbs_public_header_model
 	include/alibabacloud/dbs/model/StartBackupPlanResult.h
 	include/alibabacloud/dbs/model/StartRestoreTaskRequest.h
 	include/alibabacloud/dbs/model/StartRestoreTaskResult.h
+	include/alibabacloud/dbs/model/StartTaskRequest.h
+	include/alibabacloud/dbs/model/StartTaskResult.h
 	include/alibabacloud/dbs/model/StopBackupPlanRequest.h
 	include/alibabacloud/dbs/model/StopBackupPlanResult.h
 	include/alibabacloud/dbs/model/UpgradeBackupPlanRequest.h
@@ -70,12 +80,18 @@ set(dbs_src
 	src/model/ConfigureBackupPlanResult.cc
 	src/model/CreateBackupPlanRequest.cc
 	src/model/CreateBackupPlanResult.cc
+	src/model/CreateFullBackupSetDownloadRequest.cc
+	src/model/CreateFullBackupSetDownloadResult.cc
+	src/model/CreateIncrementBackupSetDownloadRequest.cc
+	src/model/CreateIncrementBackupSetDownloadResult.cc
 	src/model/CreateRestoreTaskRequest.cc
 	src/model/CreateRestoreTaskResult.cc
 	src/model/DescribeBackupGatewayListRequest.cc
 	src/model/DescribeBackupGatewayListResult.cc
 	src/model/DescribeBackupPlanListRequest.cc
 	src/model/DescribeBackupPlanListResult.cc
+	src/model/DescribeBackupSetDownloadTaskListRequest.cc
+	src/model/DescribeBackupSetDownloadTaskListResult.cc
 	src/model/DescribeFullBackupListRequest.cc
 	src/model/DescribeFullBackupListResult.cc
 	src/model/DescribeIncrementBackupListRequest.cc
@@ -94,6 +110,8 @@ set(dbs_src
 	src/model/ModifyBackupObjectsResult.cc
 	src/model/ModifyBackupPlanNameRequest.cc
 	src/model/ModifyBackupPlanNameResult.cc
+	src/model/ModifyBackupSetDownloadRulesRequest.cc
+	src/model/ModifyBackupSetDownloadRulesResult.cc
 	src/model/ModifyBackupSourceEndpointRequest.cc
 	src/model/ModifyBackupSourceEndpointResult.cc
 	src/model/ModifyBackupStrategyRequest.cc
@@ -104,6 +122,8 @@ set(dbs_src
 	src/model/StartBackupPlanResult.cc
 	src/model/StartRestoreTaskRequest.cc
 	src/model/StartRestoreTaskResult.cc
+	src/model/StartTaskRequest.cc
+	src/model/StartTaskResult.cc
 	src/model/StopBackupPlanRequest.cc
 	src/model/StopBackupPlanResult.cc
 	src/model/UpgradeBackupPlanRequest.cc

+ 40 - 0
dbs/include/alibabacloud/dbs/DbsClient.h

@@ -26,12 +26,18 @@
 #include "model/ConfigureBackupPlanResult.h"
 #include "model/CreateBackupPlanRequest.h"
 #include "model/CreateBackupPlanResult.h"
+#include "model/CreateFullBackupSetDownloadRequest.h"
+#include "model/CreateFullBackupSetDownloadResult.h"
+#include "model/CreateIncrementBackupSetDownloadRequest.h"
+#include "model/CreateIncrementBackupSetDownloadResult.h"
 #include "model/CreateRestoreTaskRequest.h"
 #include "model/CreateRestoreTaskResult.h"
 #include "model/DescribeBackupGatewayListRequest.h"
 #include "model/DescribeBackupGatewayListResult.h"
 #include "model/DescribeBackupPlanListRequest.h"
 #include "model/DescribeBackupPlanListResult.h"
+#include "model/DescribeBackupSetDownloadTaskListRequest.h"
+#include "model/DescribeBackupSetDownloadTaskListResult.h"
 #include "model/DescribeFullBackupListRequest.h"
 #include "model/DescribeFullBackupListResult.h"
 #include "model/DescribeIncrementBackupListRequest.h"
@@ -50,6 +56,8 @@
 #include "model/ModifyBackupObjectsResult.h"
 #include "model/ModifyBackupPlanNameRequest.h"
 #include "model/ModifyBackupPlanNameResult.h"
+#include "model/ModifyBackupSetDownloadRulesRequest.h"
+#include "model/ModifyBackupSetDownloadRulesResult.h"
 #include "model/ModifyBackupSourceEndpointRequest.h"
 #include "model/ModifyBackupSourceEndpointResult.h"
 #include "model/ModifyBackupStrategyRequest.h"
@@ -60,6 +68,8 @@
 #include "model/StartBackupPlanResult.h"
 #include "model/StartRestoreTaskRequest.h"
 #include "model/StartRestoreTaskResult.h"
+#include "model/StartTaskRequest.h"
+#include "model/StartTaskResult.h"
 #include "model/StopBackupPlanRequest.h"
 #include "model/StopBackupPlanResult.h"
 #include "model/UpgradeBackupPlanRequest.h"
@@ -79,6 +89,12 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::CreateBackupPlanResult> CreateBackupPlanOutcome;
 			typedef std::future<CreateBackupPlanOutcome> CreateBackupPlanOutcomeCallable;
 			typedef std::function<void(const DbsClient*, const Model::CreateBackupPlanRequest&, const CreateBackupPlanOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateBackupPlanAsyncHandler;
+			typedef Outcome<Error, Model::CreateFullBackupSetDownloadResult> CreateFullBackupSetDownloadOutcome;
+			typedef std::future<CreateFullBackupSetDownloadOutcome> CreateFullBackupSetDownloadOutcomeCallable;
+			typedef std::function<void(const DbsClient*, const Model::CreateFullBackupSetDownloadRequest&, const CreateFullBackupSetDownloadOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateFullBackupSetDownloadAsyncHandler;
+			typedef Outcome<Error, Model::CreateIncrementBackupSetDownloadResult> CreateIncrementBackupSetDownloadOutcome;
+			typedef std::future<CreateIncrementBackupSetDownloadOutcome> CreateIncrementBackupSetDownloadOutcomeCallable;
+			typedef std::function<void(const DbsClient*, const Model::CreateIncrementBackupSetDownloadRequest&, const CreateIncrementBackupSetDownloadOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateIncrementBackupSetDownloadAsyncHandler;
 			typedef Outcome<Error, Model::CreateRestoreTaskResult> CreateRestoreTaskOutcome;
 			typedef std::future<CreateRestoreTaskOutcome> CreateRestoreTaskOutcomeCallable;
 			typedef std::function<void(const DbsClient*, const Model::CreateRestoreTaskRequest&, const CreateRestoreTaskOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateRestoreTaskAsyncHandler;
@@ -88,6 +104,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeBackupPlanListResult> DescribeBackupPlanListOutcome;
 			typedef std::future<DescribeBackupPlanListOutcome> DescribeBackupPlanListOutcomeCallable;
 			typedef std::function<void(const DbsClient*, const Model::DescribeBackupPlanListRequest&, const DescribeBackupPlanListOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeBackupPlanListAsyncHandler;
+			typedef Outcome<Error, Model::DescribeBackupSetDownloadTaskListResult> DescribeBackupSetDownloadTaskListOutcome;
+			typedef std::future<DescribeBackupSetDownloadTaskListOutcome> DescribeBackupSetDownloadTaskListOutcomeCallable;
+			typedef std::function<void(const DbsClient*, const Model::DescribeBackupSetDownloadTaskListRequest&, const DescribeBackupSetDownloadTaskListOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeBackupSetDownloadTaskListAsyncHandler;
 			typedef Outcome<Error, Model::DescribeFullBackupListResult> DescribeFullBackupListOutcome;
 			typedef std::future<DescribeFullBackupListOutcome> DescribeFullBackupListOutcomeCallable;
 			typedef std::function<void(const DbsClient*, const Model::DescribeFullBackupListRequest&, const DescribeFullBackupListOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeFullBackupListAsyncHandler;
@@ -115,6 +134,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::ModifyBackupPlanNameResult> ModifyBackupPlanNameOutcome;
 			typedef std::future<ModifyBackupPlanNameOutcome> ModifyBackupPlanNameOutcomeCallable;
 			typedef std::function<void(const DbsClient*, const Model::ModifyBackupPlanNameRequest&, const ModifyBackupPlanNameOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyBackupPlanNameAsyncHandler;
+			typedef Outcome<Error, Model::ModifyBackupSetDownloadRulesResult> ModifyBackupSetDownloadRulesOutcome;
+			typedef std::future<ModifyBackupSetDownloadRulesOutcome> ModifyBackupSetDownloadRulesOutcomeCallable;
+			typedef std::function<void(const DbsClient*, const Model::ModifyBackupSetDownloadRulesRequest&, const ModifyBackupSetDownloadRulesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyBackupSetDownloadRulesAsyncHandler;
 			typedef Outcome<Error, Model::ModifyBackupSourceEndpointResult> ModifyBackupSourceEndpointOutcome;
 			typedef std::future<ModifyBackupSourceEndpointOutcome> ModifyBackupSourceEndpointOutcomeCallable;
 			typedef std::function<void(const DbsClient*, const Model::ModifyBackupSourceEndpointRequest&, const ModifyBackupSourceEndpointOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyBackupSourceEndpointAsyncHandler;
@@ -130,6 +152,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::StartRestoreTaskResult> StartRestoreTaskOutcome;
 			typedef std::future<StartRestoreTaskOutcome> StartRestoreTaskOutcomeCallable;
 			typedef std::function<void(const DbsClient*, const Model::StartRestoreTaskRequest&, const StartRestoreTaskOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> StartRestoreTaskAsyncHandler;
+			typedef Outcome<Error, Model::StartTaskResult> StartTaskOutcome;
+			typedef std::future<StartTaskOutcome> StartTaskOutcomeCallable;
+			typedef std::function<void(const DbsClient*, const Model::StartTaskRequest&, const StartTaskOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> StartTaskAsyncHandler;
 			typedef Outcome<Error, Model::StopBackupPlanResult> StopBackupPlanOutcome;
 			typedef std::future<StopBackupPlanOutcome> StopBackupPlanOutcomeCallable;
 			typedef std::function<void(const DbsClient*, const Model::StopBackupPlanRequest&, const StopBackupPlanOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> StopBackupPlanAsyncHandler;
@@ -147,6 +172,12 @@ namespace AlibabaCloud
 			CreateBackupPlanOutcome createBackupPlan(const Model::CreateBackupPlanRequest &request)const;
 			void createBackupPlanAsync(const Model::CreateBackupPlanRequest& request, const CreateBackupPlanAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateBackupPlanOutcomeCallable createBackupPlanCallable(const Model::CreateBackupPlanRequest& request) const;
+			CreateFullBackupSetDownloadOutcome createFullBackupSetDownload(const Model::CreateFullBackupSetDownloadRequest &request)const;
+			void createFullBackupSetDownloadAsync(const Model::CreateFullBackupSetDownloadRequest& request, const CreateFullBackupSetDownloadAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateFullBackupSetDownloadOutcomeCallable createFullBackupSetDownloadCallable(const Model::CreateFullBackupSetDownloadRequest& request) const;
+			CreateIncrementBackupSetDownloadOutcome createIncrementBackupSetDownload(const Model::CreateIncrementBackupSetDownloadRequest &request)const;
+			void createIncrementBackupSetDownloadAsync(const Model::CreateIncrementBackupSetDownloadRequest& request, const CreateIncrementBackupSetDownloadAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateIncrementBackupSetDownloadOutcomeCallable createIncrementBackupSetDownloadCallable(const Model::CreateIncrementBackupSetDownloadRequest& request) const;
 			CreateRestoreTaskOutcome createRestoreTask(const Model::CreateRestoreTaskRequest &request)const;
 			void createRestoreTaskAsync(const Model::CreateRestoreTaskRequest& request, const CreateRestoreTaskAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateRestoreTaskOutcomeCallable createRestoreTaskCallable(const Model::CreateRestoreTaskRequest& request) const;
@@ -156,6 +187,9 @@ namespace AlibabaCloud
 			DescribeBackupPlanListOutcome describeBackupPlanList(const Model::DescribeBackupPlanListRequest &request)const;
 			void describeBackupPlanListAsync(const Model::DescribeBackupPlanListRequest& request, const DescribeBackupPlanListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeBackupPlanListOutcomeCallable describeBackupPlanListCallable(const Model::DescribeBackupPlanListRequest& request) const;
+			DescribeBackupSetDownloadTaskListOutcome describeBackupSetDownloadTaskList(const Model::DescribeBackupSetDownloadTaskListRequest &request)const;
+			void describeBackupSetDownloadTaskListAsync(const Model::DescribeBackupSetDownloadTaskListRequest& request, const DescribeBackupSetDownloadTaskListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeBackupSetDownloadTaskListOutcomeCallable describeBackupSetDownloadTaskListCallable(const Model::DescribeBackupSetDownloadTaskListRequest& request) const;
 			DescribeFullBackupListOutcome describeFullBackupList(const Model::DescribeFullBackupListRequest &request)const;
 			void describeFullBackupListAsync(const Model::DescribeFullBackupListRequest& request, const DescribeFullBackupListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeFullBackupListOutcomeCallable describeFullBackupListCallable(const Model::DescribeFullBackupListRequest& request) const;
@@ -183,6 +217,9 @@ namespace AlibabaCloud
 			ModifyBackupPlanNameOutcome modifyBackupPlanName(const Model::ModifyBackupPlanNameRequest &request)const;
 			void modifyBackupPlanNameAsync(const Model::ModifyBackupPlanNameRequest& request, const ModifyBackupPlanNameAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ModifyBackupPlanNameOutcomeCallable modifyBackupPlanNameCallable(const Model::ModifyBackupPlanNameRequest& request) const;
+			ModifyBackupSetDownloadRulesOutcome modifyBackupSetDownloadRules(const Model::ModifyBackupSetDownloadRulesRequest &request)const;
+			void modifyBackupSetDownloadRulesAsync(const Model::ModifyBackupSetDownloadRulesRequest& request, const ModifyBackupSetDownloadRulesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ModifyBackupSetDownloadRulesOutcomeCallable modifyBackupSetDownloadRulesCallable(const Model::ModifyBackupSetDownloadRulesRequest& request) const;
 			ModifyBackupSourceEndpointOutcome modifyBackupSourceEndpoint(const Model::ModifyBackupSourceEndpointRequest &request)const;
 			void modifyBackupSourceEndpointAsync(const Model::ModifyBackupSourceEndpointRequest& request, const ModifyBackupSourceEndpointAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ModifyBackupSourceEndpointOutcomeCallable modifyBackupSourceEndpointCallable(const Model::ModifyBackupSourceEndpointRequest& request) const;
@@ -198,6 +235,9 @@ namespace AlibabaCloud
 			StartRestoreTaskOutcome startRestoreTask(const Model::StartRestoreTaskRequest &request)const;
 			void startRestoreTaskAsync(const Model::StartRestoreTaskRequest& request, const StartRestoreTaskAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			StartRestoreTaskOutcomeCallable startRestoreTaskCallable(const Model::StartRestoreTaskRequest& request) const;
+			StartTaskOutcome startTask(const Model::StartTaskRequest &request)const;
+			void startTaskAsync(const Model::StartTaskRequest& request, const StartTaskAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			StartTaskOutcomeCallable startTaskCallable(const Model::StartTaskRequest& request) const;
 			StopBackupPlanOutcome stopBackupPlan(const Model::StopBackupPlanRequest &request)const;
 			void stopBackupPlanAsync(const Model::StopBackupPlanRequest& request, const StopBackupPlanAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			StopBackupPlanOutcomeCallable stopBackupPlanCallable(const Model::StopBackupPlanRequest& request) const;

+ 57 - 0
dbs/include/alibabacloud/dbs/model/CreateFullBackupSetDownloadRequest.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_DBS_MODEL_CREATEFULLBACKUPSETDOWNLOADREQUEST_H_
+#define ALIBABACLOUD_DBS_MODEL_CREATEFULLBACKUPSETDOWNLOADREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/dbs/DbsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Dbs
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DBS_EXPORT CreateFullBackupSetDownloadRequest : public RpcServiceRequest
+			{
+
+			public:
+				CreateFullBackupSetDownloadRequest();
+				~CreateFullBackupSetDownloadRequest();
+
+				std::string getClientToken()const;
+				void setClientToken(const std::string& clientToken);
+				std::string getBackupSetId()const;
+				void setBackupSetId(const std::string& backupSetId);
+				std::string getOwnerId()const;
+				void setOwnerId(const std::string& ownerId);
+				std::string getBackupSetDataFormat()const;
+				void setBackupSetDataFormat(const std::string& backupSetDataFormat);
+
+            private:
+				std::string clientToken_;
+				std::string backupSetId_;
+				std::string ownerId_;
+				std::string backupSetDataFormat_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DBS_MODEL_CREATEFULLBACKUPSETDOWNLOADREQUEST_H_

+ 59 - 0
dbs/include/alibabacloud/dbs/model/CreateFullBackupSetDownloadResult.h

@@ -0,0 +1,59 @@
+/*
+ * 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_DBS_MODEL_CREATEFULLBACKUPSETDOWNLOADRESULT_H_
+#define ALIBABACLOUD_DBS_MODEL_CREATEFULLBACKUPSETDOWNLOADRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/dbs/DbsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Dbs
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DBS_EXPORT CreateFullBackupSetDownloadResult : public ServiceResult
+			{
+			public:
+
+
+				CreateFullBackupSetDownloadResult();
+				explicit CreateFullBackupSetDownloadResult(const std::string &payload);
+				~CreateFullBackupSetDownloadResult();
+				std::string getBackupSetDownloadTaskId()const;
+				int getHttpStatusCode()const;
+				std::string getErrMessage()const;
+				bool getSuccess()const;
+				std::string getErrCode()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string backupSetDownloadTaskId_;
+				int httpStatusCode_;
+				std::string errMessage_;
+				bool success_;
+				std::string errCode_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DBS_MODEL_CREATEFULLBACKUPSETDOWNLOADRESULT_H_

+ 60 - 0
dbs/include/alibabacloud/dbs/model/CreateIncrementBackupSetDownloadRequest.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_DBS_MODEL_CREATEINCREMENTBACKUPSETDOWNLOADREQUEST_H_
+#define ALIBABACLOUD_DBS_MODEL_CREATEINCREMENTBACKUPSETDOWNLOADREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/dbs/DbsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Dbs
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DBS_EXPORT CreateIncrementBackupSetDownloadRequest : public RpcServiceRequest
+			{
+
+			public:
+				CreateIncrementBackupSetDownloadRequest();
+				~CreateIncrementBackupSetDownloadRequest();
+
+				std::string getClientToken()const;
+				void setClientToken(const std::string& clientToken);
+				std::string getBackupSetName()const;
+				void setBackupSetName(const std::string& backupSetName);
+				std::string getBackupSetId()const;
+				void setBackupSetId(const std::string& backupSetId);
+				std::string getOwnerId()const;
+				void setOwnerId(const std::string& ownerId);
+				std::string getBackupSetDataFormat()const;
+				void setBackupSetDataFormat(const std::string& backupSetDataFormat);
+
+            private:
+				std::string clientToken_;
+				std::string backupSetName_;
+				std::string backupSetId_;
+				std::string ownerId_;
+				std::string backupSetDataFormat_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DBS_MODEL_CREATEINCREMENTBACKUPSETDOWNLOADREQUEST_H_

+ 59 - 0
dbs/include/alibabacloud/dbs/model/CreateIncrementBackupSetDownloadResult.h

@@ -0,0 +1,59 @@
+/*
+ * 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_DBS_MODEL_CREATEINCREMENTBACKUPSETDOWNLOADRESULT_H_
+#define ALIBABACLOUD_DBS_MODEL_CREATEINCREMENTBACKUPSETDOWNLOADRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/dbs/DbsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Dbs
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DBS_EXPORT CreateIncrementBackupSetDownloadResult : public ServiceResult
+			{
+			public:
+
+
+				CreateIncrementBackupSetDownloadResult();
+				explicit CreateIncrementBackupSetDownloadResult(const std::string &payload);
+				~CreateIncrementBackupSetDownloadResult();
+				std::string getBackupSetDownloadTaskId()const;
+				int getHttpStatusCode()const;
+				std::string getErrMessage()const;
+				bool getSuccess()const;
+				std::string getErrCode()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string backupSetDownloadTaskId_;
+				int httpStatusCode_;
+				std::string errMessage_;
+				bool success_;
+				std::string errCode_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DBS_MODEL_CREATEINCREMENTBACKUPSETDOWNLOADRESULT_H_

+ 63 - 0
dbs/include/alibabacloud/dbs/model/DescribeBackupSetDownloadTaskListRequest.h

@@ -0,0 +1,63 @@
+/*
+ * 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_DBS_MODEL_DESCRIBEBACKUPSETDOWNLOADTASKLISTREQUEST_H_
+#define ALIBABACLOUD_DBS_MODEL_DESCRIBEBACKUPSETDOWNLOADTASKLISTREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/dbs/DbsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Dbs
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DBS_EXPORT DescribeBackupSetDownloadTaskListRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeBackupSetDownloadTaskListRequest();
+				~DescribeBackupSetDownloadTaskListRequest();
+
+				std::string getClientToken()const;
+				void setClientToken(const std::string& clientToken);
+				std::string getBackupSetDownloadTaskId()const;
+				void setBackupSetDownloadTaskId(const std::string& backupSetDownloadTaskId);
+				std::string getBackupPlanId()const;
+				void setBackupPlanId(const std::string& backupPlanId);
+				int getPageNum()const;
+				void setPageNum(int pageNum);
+				std::string getOwnerId()const;
+				void setOwnerId(const std::string& ownerId);
+				int getPageSize()const;
+				void setPageSize(int pageSize);
+
+            private:
+				std::string clientToken_;
+				std::string backupSetDownloadTaskId_;
+				std::string backupPlanId_;
+				int pageNum_;
+				std::string ownerId_;
+				int pageSize_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DBS_MODEL_DESCRIBEBACKUPSETDOWNLOADTASKLISTREQUEST_H_

+ 89 - 0
dbs/include/alibabacloud/dbs/model/DescribeBackupSetDownloadTaskListResult.h

@@ -0,0 +1,89 @@
+/*
+ * 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_DBS_MODEL_DESCRIBEBACKUPSETDOWNLOADTASKLISTRESULT_H_
+#define ALIBABACLOUD_DBS_MODEL_DESCRIBEBACKUPSETDOWNLOADTASKLISTRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/dbs/DbsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Dbs
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DBS_EXPORT DescribeBackupSetDownloadTaskListResult : public ServiceResult
+			{
+			public:
+				struct BackupSetDownloadTaskDetail
+				{
+					std::string backupSetDbType;
+					long backupSetDownloadCreateTime;
+					std::string backupSetDownloadTaskName;
+					std::string backupSetDownloadDir;
+					std::string backupSetDownloadWay;
+					std::string backupSetCode;
+					std::string backupSetId;
+					std::string errMessage;
+					std::string backupSetDownloadTargetType;
+					std::string backupSetDownloadStatus;
+					std::string backupSetDownloadIntranetUrl;
+					std::string backupSetDownloadInternetUrl;
+					std::string backupSetDownloadTaskId;
+					long backupSetDownloadFinishTime;
+					std::string backupSetJobType;
+					std::string backupSetDataFormat;
+					std::string backupPlanId;
+					long backupGatewayId;
+					long backupSetDataSize;
+				};
+
+
+				DescribeBackupSetDownloadTaskListResult();
+				explicit DescribeBackupSetDownloadTaskListResult(const std::string &payload);
+				~DescribeBackupSetDownloadTaskListResult();
+				int getPageSize()const;
+				int getPageNum()const;
+				int getHttpStatusCode()const;
+				int getTotalElements()const;
+				std::vector<BackupSetDownloadTaskDetail> getItems()const;
+				int getTotalPages()const;
+				std::string getErrMessage()const;
+				bool getSuccess()const;
+				std::string getErrCode()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				int pageSize_;
+				int pageNum_;
+				int httpStatusCode_;
+				int totalElements_;
+				std::vector<BackupSetDownloadTaskDetail> items_;
+				int totalPages_;
+				std::string errMessage_;
+				bool success_;
+				std::string errCode_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DBS_MODEL_DESCRIBEBACKUPSETDOWNLOADTASKLISTRESULT_H_

+ 72 - 0
dbs/include/alibabacloud/dbs/model/ModifyBackupSetDownloadRulesRequest.h

@@ -0,0 +1,72 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DBS_MODEL_MODIFYBACKUPSETDOWNLOADRULESREQUEST_H_
+#define ALIBABACLOUD_DBS_MODEL_MODIFYBACKUPSETDOWNLOADRULESREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/dbs/DbsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Dbs
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DBS_EXPORT ModifyBackupSetDownloadRulesRequest : public RpcServiceRequest
+			{
+
+			public:
+				ModifyBackupSetDownloadRulesRequest();
+				~ModifyBackupSetDownloadRulesRequest();
+
+				std::string getFullDataFormat()const;
+				void setFullDataFormat(const std::string& fullDataFormat);
+				long getBackupGatewayId()const;
+				void setBackupGatewayId(long backupGatewayId);
+				std::string getClientToken()const;
+				void setClientToken(const std::string& clientToken);
+				std::string getBackupSetDownloadTargetType()const;
+				void setBackupSetDownloadTargetType(const std::string& backupSetDownloadTargetType);
+				std::string getBackupPlanId()const;
+				void setBackupPlanId(const std::string& backupPlanId);
+				std::string getOwnerId()const;
+				void setOwnerId(const std::string& ownerId);
+				bool getOpenAutoDownload()const;
+				void setOpenAutoDownload(bool openAutoDownload);
+				std::string getIncrementDataFormat()const;
+				void setIncrementDataFormat(const std::string& incrementDataFormat);
+				std::string getBackupSetDownloadDir()const;
+				void setBackupSetDownloadDir(const std::string& backupSetDownloadDir);
+
+            private:
+				std::string fullDataFormat_;
+				long backupGatewayId_;
+				std::string clientToken_;
+				std::string backupSetDownloadTargetType_;
+				std::string backupPlanId_;
+				std::string ownerId_;
+				bool openAutoDownload_;
+				std::string incrementDataFormat_;
+				std::string backupSetDownloadDir_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DBS_MODEL_MODIFYBACKUPSETDOWNLOADRULESREQUEST_H_

+ 59 - 0
dbs/include/alibabacloud/dbs/model/ModifyBackupSetDownloadRulesResult.h

@@ -0,0 +1,59 @@
+/*
+ * 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_DBS_MODEL_MODIFYBACKUPSETDOWNLOADRULESRESULT_H_
+#define ALIBABACLOUD_DBS_MODEL_MODIFYBACKUPSETDOWNLOADRULESRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/dbs/DbsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Dbs
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DBS_EXPORT ModifyBackupSetDownloadRulesResult : public ServiceResult
+			{
+			public:
+
+
+				ModifyBackupSetDownloadRulesResult();
+				explicit ModifyBackupSetDownloadRulesResult(const std::string &payload);
+				~ModifyBackupSetDownloadRulesResult();
+				int getHttpStatusCode()const;
+				std::string getBackupPlanId()const;
+				std::string getErrMessage()const;
+				bool getSuccess()const;
+				std::string getErrCode()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				int httpStatusCode_;
+				std::string backupPlanId_;
+				std::string errMessage_;
+				bool success_;
+				std::string errCode_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DBS_MODEL_MODIFYBACKUPSETDOWNLOADRULESRESULT_H_

+ 54 - 0
dbs/include/alibabacloud/dbs/model/StartTaskRequest.h

@@ -0,0 +1,54 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DBS_MODEL_STARTTASKREQUEST_H_
+#define ALIBABACLOUD_DBS_MODEL_STARTTASKREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/dbs/DbsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Dbs
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DBS_EXPORT StartTaskRequest : public RpcServiceRequest
+			{
+
+			public:
+				StartTaskRequest();
+				~StartTaskRequest();
+
+				std::string getClientToken()const;
+				void setClientToken(const std::string& clientToken);
+				std::string getOwnerId()const;
+				void setOwnerId(const std::string& ownerId);
+				std::string getTaskId()const;
+				void setTaskId(const std::string& taskId);
+
+            private:
+				std::string clientToken_;
+				std::string ownerId_;
+				std::string taskId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DBS_MODEL_STARTTASKREQUEST_H_

+ 61 - 0
dbs/include/alibabacloud/dbs/model/StartTaskResult.h

@@ -0,0 +1,61 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_DBS_MODEL_STARTTASKRESULT_H_
+#define ALIBABACLOUD_DBS_MODEL_STARTTASKRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/dbs/DbsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Dbs
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_DBS_EXPORT StartTaskResult : public ServiceResult
+			{
+			public:
+
+
+				StartTaskResult();
+				explicit StartTaskResult(const std::string &payload);
+				~StartTaskResult();
+				std::string getTaskId()const;
+				int getHttpStatusCode()const;
+				std::string getErrMessage()const;
+				bool getSuccess()const;
+				std::string getErrCode()const;
+				std::string getJobTypeName()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string taskId_;
+				int httpStatusCode_;
+				std::string errMessage_;
+				bool success_;
+				std::string errCode_;
+				std::string jobTypeName_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DBS_MODEL_STARTTASKRESULT_H_

+ 183 - 3
dbs/src/DbsClient.cc

@@ -31,21 +31,21 @@ DbsClient::DbsClient(const Credentials &credentials, const ClientConfiguration &
 	RpcServiceClient(SERVICE_NAME, std::make_shared<SimpleCredentialsProvider>(credentials), configuration)
 {
 	auto locationClient = std::make_shared<LocationClient>(credentials, configuration);
-	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "cbs");
+	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "");
 }
 
 DbsClient::DbsClient(const std::shared_ptr<CredentialsProvider>& credentialsProvider, const ClientConfiguration & configuration) :
 	RpcServiceClient(SERVICE_NAME, credentialsProvider, configuration)
 {
 	auto locationClient = std::make_shared<LocationClient>(credentialsProvider, configuration);
-	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "cbs");
+	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "");
 }
 
 DbsClient::DbsClient(const std::string & accessKeyId, const std::string & accessKeySecret, const ClientConfiguration & configuration) :
 	RpcServiceClient(SERVICE_NAME, std::make_shared<SimpleCredentialsProvider>(accessKeyId, accessKeySecret), configuration)
 {
 	auto locationClient = std::make_shared<LocationClient>(accessKeyId, accessKeySecret, configuration);
-	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "cbs");
+	endpointProvider_ = std::make_shared<EndpointProvider>(locationClient, configuration.regionId(), SERVICE_NAME, "");
 }
 
 DbsClient::~DbsClient()
@@ -123,6 +123,78 @@ DbsClient::CreateBackupPlanOutcomeCallable DbsClient::createBackupPlanCallable(c
 	return task->get_future();
 }
 
+DbsClient::CreateFullBackupSetDownloadOutcome DbsClient::createFullBackupSetDownload(const CreateFullBackupSetDownloadRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return CreateFullBackupSetDownloadOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return CreateFullBackupSetDownloadOutcome(CreateFullBackupSetDownloadResult(outcome.result()));
+	else
+		return CreateFullBackupSetDownloadOutcome(outcome.error());
+}
+
+void DbsClient::createFullBackupSetDownloadAsync(const CreateFullBackupSetDownloadRequest& request, const CreateFullBackupSetDownloadAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, createFullBackupSetDownload(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DbsClient::CreateFullBackupSetDownloadOutcomeCallable DbsClient::createFullBackupSetDownloadCallable(const CreateFullBackupSetDownloadRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<CreateFullBackupSetDownloadOutcome()>>(
+			[this, request]()
+			{
+			return this->createFullBackupSetDownload(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+DbsClient::CreateIncrementBackupSetDownloadOutcome DbsClient::createIncrementBackupSetDownload(const CreateIncrementBackupSetDownloadRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return CreateIncrementBackupSetDownloadOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return CreateIncrementBackupSetDownloadOutcome(CreateIncrementBackupSetDownloadResult(outcome.result()));
+	else
+		return CreateIncrementBackupSetDownloadOutcome(outcome.error());
+}
+
+void DbsClient::createIncrementBackupSetDownloadAsync(const CreateIncrementBackupSetDownloadRequest& request, const CreateIncrementBackupSetDownloadAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, createIncrementBackupSetDownload(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DbsClient::CreateIncrementBackupSetDownloadOutcomeCallable DbsClient::createIncrementBackupSetDownloadCallable(const CreateIncrementBackupSetDownloadRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<CreateIncrementBackupSetDownloadOutcome()>>(
+			[this, request]()
+			{
+			return this->createIncrementBackupSetDownload(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 DbsClient::CreateRestoreTaskOutcome DbsClient::createRestoreTask(const CreateRestoreTaskRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -231,6 +303,42 @@ DbsClient::DescribeBackupPlanListOutcomeCallable DbsClient::describeBackupPlanLi
 	return task->get_future();
 }
 
+DbsClient::DescribeBackupSetDownloadTaskListOutcome DbsClient::describeBackupSetDownloadTaskList(const DescribeBackupSetDownloadTaskListRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeBackupSetDownloadTaskListOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeBackupSetDownloadTaskListOutcome(DescribeBackupSetDownloadTaskListResult(outcome.result()));
+	else
+		return DescribeBackupSetDownloadTaskListOutcome(outcome.error());
+}
+
+void DbsClient::describeBackupSetDownloadTaskListAsync(const DescribeBackupSetDownloadTaskListRequest& request, const DescribeBackupSetDownloadTaskListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeBackupSetDownloadTaskList(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DbsClient::DescribeBackupSetDownloadTaskListOutcomeCallable DbsClient::describeBackupSetDownloadTaskListCallable(const DescribeBackupSetDownloadTaskListRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeBackupSetDownloadTaskListOutcome()>>(
+			[this, request]()
+			{
+			return this->describeBackupSetDownloadTaskList(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 DbsClient::DescribeFullBackupListOutcome DbsClient::describeFullBackupList(const DescribeFullBackupListRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -555,6 +663,42 @@ DbsClient::ModifyBackupPlanNameOutcomeCallable DbsClient::modifyBackupPlanNameCa
 	return task->get_future();
 }
 
+DbsClient::ModifyBackupSetDownloadRulesOutcome DbsClient::modifyBackupSetDownloadRules(const ModifyBackupSetDownloadRulesRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ModifyBackupSetDownloadRulesOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ModifyBackupSetDownloadRulesOutcome(ModifyBackupSetDownloadRulesResult(outcome.result()));
+	else
+		return ModifyBackupSetDownloadRulesOutcome(outcome.error());
+}
+
+void DbsClient::modifyBackupSetDownloadRulesAsync(const ModifyBackupSetDownloadRulesRequest& request, const ModifyBackupSetDownloadRulesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, modifyBackupSetDownloadRules(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DbsClient::ModifyBackupSetDownloadRulesOutcomeCallable DbsClient::modifyBackupSetDownloadRulesCallable(const ModifyBackupSetDownloadRulesRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ModifyBackupSetDownloadRulesOutcome()>>(
+			[this, request]()
+			{
+			return this->modifyBackupSetDownloadRules(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 DbsClient::ModifyBackupSourceEndpointOutcome DbsClient::modifyBackupSourceEndpoint(const ModifyBackupSourceEndpointRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -735,6 +879,42 @@ DbsClient::StartRestoreTaskOutcomeCallable DbsClient::startRestoreTaskCallable(c
 	return task->get_future();
 }
 
+DbsClient::StartTaskOutcome DbsClient::startTask(const StartTaskRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return StartTaskOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return StartTaskOutcome(StartTaskResult(outcome.result()));
+	else
+		return StartTaskOutcome(outcome.error());
+}
+
+void DbsClient::startTaskAsync(const StartTaskRequest& request, const StartTaskAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, startTask(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DbsClient::StartTaskOutcomeCallable DbsClient::startTaskCallable(const StartTaskRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<StartTaskOutcome()>>(
+			[this, request]()
+			{
+			return this->startTask(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 DbsClient::StopBackupPlanOutcome DbsClient::stopBackupPlan(const StopBackupPlanRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();

+ 73 - 0
dbs/src/model/CreateFullBackupSetDownloadRequest.cc

@@ -0,0 +1,73 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/dbs/model/CreateFullBackupSetDownloadRequest.h>
+
+using AlibabaCloud::Dbs::Model::CreateFullBackupSetDownloadRequest;
+
+CreateFullBackupSetDownloadRequest::CreateFullBackupSetDownloadRequest() :
+	RpcServiceRequest("dbs", "2019-03-06", "CreateFullBackupSetDownload")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+CreateFullBackupSetDownloadRequest::~CreateFullBackupSetDownloadRequest()
+{}
+
+std::string CreateFullBackupSetDownloadRequest::getClientToken()const
+{
+	return clientToken_;
+}
+
+void CreateFullBackupSetDownloadRequest::setClientToken(const std::string& clientToken)
+{
+	clientToken_ = clientToken;
+	setParameter("ClientToken", clientToken);
+}
+
+std::string CreateFullBackupSetDownloadRequest::getBackupSetId()const
+{
+	return backupSetId_;
+}
+
+void CreateFullBackupSetDownloadRequest::setBackupSetId(const std::string& backupSetId)
+{
+	backupSetId_ = backupSetId;
+	setParameter("BackupSetId", backupSetId);
+}
+
+std::string CreateFullBackupSetDownloadRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void CreateFullBackupSetDownloadRequest::setOwnerId(const std::string& ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", ownerId);
+}
+
+std::string CreateFullBackupSetDownloadRequest::getBackupSetDataFormat()const
+{
+	return backupSetDataFormat_;
+}
+
+void CreateFullBackupSetDownloadRequest::setBackupSetDataFormat(const std::string& backupSetDataFormat)
+{
+	backupSetDataFormat_ = backupSetDataFormat;
+	setParameter("BackupSetDataFormat", backupSetDataFormat);
+}
+

+ 79 - 0
dbs/src/model/CreateFullBackupSetDownloadResult.cc

@@ -0,0 +1,79 @@
+/*
+ * 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/dbs/model/CreateFullBackupSetDownloadResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Dbs;
+using namespace AlibabaCloud::Dbs::Model;
+
+CreateFullBackupSetDownloadResult::CreateFullBackupSetDownloadResult() :
+	ServiceResult()
+{}
+
+CreateFullBackupSetDownloadResult::CreateFullBackupSetDownloadResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+CreateFullBackupSetDownloadResult::~CreateFullBackupSetDownloadResult()
+{}
+
+void CreateFullBackupSetDownloadResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+	if(!value["ErrCode"].isNull())
+		errCode_ = value["ErrCode"].asString();
+	if(!value["ErrMessage"].isNull())
+		errMessage_ = value["ErrMessage"].asString();
+	if(!value["HttpStatusCode"].isNull())
+		httpStatusCode_ = std::stoi(value["HttpStatusCode"].asString());
+	if(!value["BackupSetDownloadTaskId"].isNull())
+		backupSetDownloadTaskId_ = value["BackupSetDownloadTaskId"].asString();
+
+}
+
+std::string CreateFullBackupSetDownloadResult::getBackupSetDownloadTaskId()const
+{
+	return backupSetDownloadTaskId_;
+}
+
+int CreateFullBackupSetDownloadResult::getHttpStatusCode()const
+{
+	return httpStatusCode_;
+}
+
+std::string CreateFullBackupSetDownloadResult::getErrMessage()const
+{
+	return errMessage_;
+}
+
+bool CreateFullBackupSetDownloadResult::getSuccess()const
+{
+	return success_;
+}
+
+std::string CreateFullBackupSetDownloadResult::getErrCode()const
+{
+	return errCode_;
+}
+

+ 84 - 0
dbs/src/model/CreateIncrementBackupSetDownloadRequest.cc

@@ -0,0 +1,84 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/dbs/model/CreateIncrementBackupSetDownloadRequest.h>
+
+using AlibabaCloud::Dbs::Model::CreateIncrementBackupSetDownloadRequest;
+
+CreateIncrementBackupSetDownloadRequest::CreateIncrementBackupSetDownloadRequest() :
+	RpcServiceRequest("dbs", "2019-03-06", "CreateIncrementBackupSetDownload")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+CreateIncrementBackupSetDownloadRequest::~CreateIncrementBackupSetDownloadRequest()
+{}
+
+std::string CreateIncrementBackupSetDownloadRequest::getClientToken()const
+{
+	return clientToken_;
+}
+
+void CreateIncrementBackupSetDownloadRequest::setClientToken(const std::string& clientToken)
+{
+	clientToken_ = clientToken;
+	setParameter("ClientToken", clientToken);
+}
+
+std::string CreateIncrementBackupSetDownloadRequest::getBackupSetName()const
+{
+	return backupSetName_;
+}
+
+void CreateIncrementBackupSetDownloadRequest::setBackupSetName(const std::string& backupSetName)
+{
+	backupSetName_ = backupSetName;
+	setParameter("BackupSetName", backupSetName);
+}
+
+std::string CreateIncrementBackupSetDownloadRequest::getBackupSetId()const
+{
+	return backupSetId_;
+}
+
+void CreateIncrementBackupSetDownloadRequest::setBackupSetId(const std::string& backupSetId)
+{
+	backupSetId_ = backupSetId;
+	setParameter("BackupSetId", backupSetId);
+}
+
+std::string CreateIncrementBackupSetDownloadRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void CreateIncrementBackupSetDownloadRequest::setOwnerId(const std::string& ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", ownerId);
+}
+
+std::string CreateIncrementBackupSetDownloadRequest::getBackupSetDataFormat()const
+{
+	return backupSetDataFormat_;
+}
+
+void CreateIncrementBackupSetDownloadRequest::setBackupSetDataFormat(const std::string& backupSetDataFormat)
+{
+	backupSetDataFormat_ = backupSetDataFormat;
+	setParameter("BackupSetDataFormat", backupSetDataFormat);
+}
+

+ 79 - 0
dbs/src/model/CreateIncrementBackupSetDownloadResult.cc

@@ -0,0 +1,79 @@
+/*
+ * 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/dbs/model/CreateIncrementBackupSetDownloadResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Dbs;
+using namespace AlibabaCloud::Dbs::Model;
+
+CreateIncrementBackupSetDownloadResult::CreateIncrementBackupSetDownloadResult() :
+	ServiceResult()
+{}
+
+CreateIncrementBackupSetDownloadResult::CreateIncrementBackupSetDownloadResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+CreateIncrementBackupSetDownloadResult::~CreateIncrementBackupSetDownloadResult()
+{}
+
+void CreateIncrementBackupSetDownloadResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+	if(!value["ErrCode"].isNull())
+		errCode_ = value["ErrCode"].asString();
+	if(!value["ErrMessage"].isNull())
+		errMessage_ = value["ErrMessage"].asString();
+	if(!value["HttpStatusCode"].isNull())
+		httpStatusCode_ = std::stoi(value["HttpStatusCode"].asString());
+	if(!value["BackupSetDownloadTaskId"].isNull())
+		backupSetDownloadTaskId_ = value["BackupSetDownloadTaskId"].asString();
+
+}
+
+std::string CreateIncrementBackupSetDownloadResult::getBackupSetDownloadTaskId()const
+{
+	return backupSetDownloadTaskId_;
+}
+
+int CreateIncrementBackupSetDownloadResult::getHttpStatusCode()const
+{
+	return httpStatusCode_;
+}
+
+std::string CreateIncrementBackupSetDownloadResult::getErrMessage()const
+{
+	return errMessage_;
+}
+
+bool CreateIncrementBackupSetDownloadResult::getSuccess()const
+{
+	return success_;
+}
+
+std::string CreateIncrementBackupSetDownloadResult::getErrCode()const
+{
+	return errCode_;
+}
+

+ 95 - 0
dbs/src/model/DescribeBackupSetDownloadTaskListRequest.cc

@@ -0,0 +1,95 @@
+/*
+ * 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/dbs/model/DescribeBackupSetDownloadTaskListRequest.h>
+
+using AlibabaCloud::Dbs::Model::DescribeBackupSetDownloadTaskListRequest;
+
+DescribeBackupSetDownloadTaskListRequest::DescribeBackupSetDownloadTaskListRequest() :
+	RpcServiceRequest("dbs", "2019-03-06", "DescribeBackupSetDownloadTaskList")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DescribeBackupSetDownloadTaskListRequest::~DescribeBackupSetDownloadTaskListRequest()
+{}
+
+std::string DescribeBackupSetDownloadTaskListRequest::getClientToken()const
+{
+	return clientToken_;
+}
+
+void DescribeBackupSetDownloadTaskListRequest::setClientToken(const std::string& clientToken)
+{
+	clientToken_ = clientToken;
+	setParameter("ClientToken", clientToken);
+}
+
+std::string DescribeBackupSetDownloadTaskListRequest::getBackupSetDownloadTaskId()const
+{
+	return backupSetDownloadTaskId_;
+}
+
+void DescribeBackupSetDownloadTaskListRequest::setBackupSetDownloadTaskId(const std::string& backupSetDownloadTaskId)
+{
+	backupSetDownloadTaskId_ = backupSetDownloadTaskId;
+	setParameter("BackupSetDownloadTaskId", backupSetDownloadTaskId);
+}
+
+std::string DescribeBackupSetDownloadTaskListRequest::getBackupPlanId()const
+{
+	return backupPlanId_;
+}
+
+void DescribeBackupSetDownloadTaskListRequest::setBackupPlanId(const std::string& backupPlanId)
+{
+	backupPlanId_ = backupPlanId;
+	setParameter("BackupPlanId", backupPlanId);
+}
+
+int DescribeBackupSetDownloadTaskListRequest::getPageNum()const
+{
+	return pageNum_;
+}
+
+void DescribeBackupSetDownloadTaskListRequest::setPageNum(int pageNum)
+{
+	pageNum_ = pageNum;
+	setParameter("PageNum", std::to_string(pageNum));
+}
+
+std::string DescribeBackupSetDownloadTaskListRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void DescribeBackupSetDownloadTaskListRequest::setOwnerId(const std::string& ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", ownerId);
+}
+
+int DescribeBackupSetDownloadTaskListRequest::getPageSize()const
+{
+	return pageSize_;
+}
+
+void DescribeBackupSetDownloadTaskListRequest::setPageSize(int pageSize)
+{
+	pageSize_ = pageSize;
+	setParameter("PageSize", std::to_string(pageSize));
+}
+

+ 149 - 0
dbs/src/model/DescribeBackupSetDownloadTaskListResult.cc

@@ -0,0 +1,149 @@
+/*
+ * 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/dbs/model/DescribeBackupSetDownloadTaskListResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Dbs;
+using namespace AlibabaCloud::Dbs::Model;
+
+DescribeBackupSetDownloadTaskListResult::DescribeBackupSetDownloadTaskListResult() :
+	ServiceResult()
+{}
+
+DescribeBackupSetDownloadTaskListResult::DescribeBackupSetDownloadTaskListResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeBackupSetDownloadTaskListResult::~DescribeBackupSetDownloadTaskListResult()
+{}
+
+void DescribeBackupSetDownloadTaskListResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allItemsNode = value["Items"]["BackupSetDownloadTaskDetail"];
+	for (auto valueItemsBackupSetDownloadTaskDetail : allItemsNode)
+	{
+		BackupSetDownloadTaskDetail itemsObject;
+		if(!valueItemsBackupSetDownloadTaskDetail["BackupPlanId"].isNull())
+			itemsObject.backupPlanId = valueItemsBackupSetDownloadTaskDetail["BackupPlanId"].asString();
+		if(!valueItemsBackupSetDownloadTaskDetail["BackupSetDownloadTaskId"].isNull())
+			itemsObject.backupSetDownloadTaskId = valueItemsBackupSetDownloadTaskDetail["BackupSetDownloadTaskId"].asString();
+		if(!valueItemsBackupSetDownloadTaskDetail["BackupSetDownloadTaskName"].isNull())
+			itemsObject.backupSetDownloadTaskName = valueItemsBackupSetDownloadTaskDetail["BackupSetDownloadTaskName"].asString();
+		if(!valueItemsBackupSetDownloadTaskDetail["BackupSetDownloadStatus"].isNull())
+			itemsObject.backupSetDownloadStatus = valueItemsBackupSetDownloadTaskDetail["BackupSetDownloadStatus"].asString();
+		if(!valueItemsBackupSetDownloadTaskDetail["BackupSetDownloadCreateTime"].isNull())
+			itemsObject.backupSetDownloadCreateTime = std::stol(valueItemsBackupSetDownloadTaskDetail["BackupSetDownloadCreateTime"].asString());
+		if(!valueItemsBackupSetDownloadTaskDetail["BackupSetDownloadFinishTime"].isNull())
+			itemsObject.backupSetDownloadFinishTime = std::stol(valueItemsBackupSetDownloadTaskDetail["BackupSetDownloadFinishTime"].asString());
+		if(!valueItemsBackupSetDownloadTaskDetail["BackupSetId"].isNull())
+			itemsObject.backupSetId = valueItemsBackupSetDownloadTaskDetail["BackupSetId"].asString();
+		if(!valueItemsBackupSetDownloadTaskDetail["BackupSetCode"].isNull())
+			itemsObject.backupSetCode = valueItemsBackupSetDownloadTaskDetail["BackupSetCode"].asString();
+		if(!valueItemsBackupSetDownloadTaskDetail["BackupSetJobType"].isNull())
+			itemsObject.backupSetJobType = valueItemsBackupSetDownloadTaskDetail["BackupSetJobType"].asString();
+		if(!valueItemsBackupSetDownloadTaskDetail["BackupSetDataSize"].isNull())
+			itemsObject.backupSetDataSize = std::stol(valueItemsBackupSetDownloadTaskDetail["BackupSetDataSize"].asString());
+		if(!valueItemsBackupSetDownloadTaskDetail["BackupSetDataFormat"].isNull())
+			itemsObject.backupSetDataFormat = valueItemsBackupSetDownloadTaskDetail["BackupSetDataFormat"].asString();
+		if(!valueItemsBackupSetDownloadTaskDetail["BackupSetDbType"].isNull())
+			itemsObject.backupSetDbType = valueItemsBackupSetDownloadTaskDetail["BackupSetDbType"].asString();
+		if(!valueItemsBackupSetDownloadTaskDetail["BackupSetDownloadWay"].isNull())
+			itemsObject.backupSetDownloadWay = valueItemsBackupSetDownloadTaskDetail["BackupSetDownloadWay"].asString();
+		if(!valueItemsBackupSetDownloadTaskDetail["BackupSetDownloadDir"].isNull())
+			itemsObject.backupSetDownloadDir = valueItemsBackupSetDownloadTaskDetail["BackupSetDownloadDir"].asString();
+		if(!valueItemsBackupSetDownloadTaskDetail["BackupSetDownloadTargetType"].isNull())
+			itemsObject.backupSetDownloadTargetType = valueItemsBackupSetDownloadTaskDetail["BackupSetDownloadTargetType"].asString();
+		if(!valueItemsBackupSetDownloadTaskDetail["BackupGatewayId"].isNull())
+			itemsObject.backupGatewayId = std::stol(valueItemsBackupSetDownloadTaskDetail["BackupGatewayId"].asString());
+		if(!valueItemsBackupSetDownloadTaskDetail["BackupSetDownloadIntranetUrl"].isNull())
+			itemsObject.backupSetDownloadIntranetUrl = valueItemsBackupSetDownloadTaskDetail["BackupSetDownloadIntranetUrl"].asString();
+		if(!valueItemsBackupSetDownloadTaskDetail["BackupSetDownloadInternetUrl"].isNull())
+			itemsObject.backupSetDownloadInternetUrl = valueItemsBackupSetDownloadTaskDetail["BackupSetDownloadInternetUrl"].asString();
+		if(!valueItemsBackupSetDownloadTaskDetail["ErrMessage"].isNull())
+			itemsObject.errMessage = valueItemsBackupSetDownloadTaskDetail["ErrMessage"].asString();
+		items_.push_back(itemsObject);
+	}
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+	if(!value["ErrCode"].isNull())
+		errCode_ = value["ErrCode"].asString();
+	if(!value["ErrMessage"].isNull())
+		errMessage_ = value["ErrMessage"].asString();
+	if(!value["HttpStatusCode"].isNull())
+		httpStatusCode_ = std::stoi(value["HttpStatusCode"].asString());
+	if(!value["TotalPages"].isNull())
+		totalPages_ = std::stoi(value["TotalPages"].asString());
+	if(!value["PageSize"].isNull())
+		pageSize_ = std::stoi(value["PageSize"].asString());
+	if(!value["PageNum"].isNull())
+		pageNum_ = std::stoi(value["PageNum"].asString());
+	if(!value["TotalElements"].isNull())
+		totalElements_ = std::stoi(value["TotalElements"].asString());
+
+}
+
+int DescribeBackupSetDownloadTaskListResult::getPageSize()const
+{
+	return pageSize_;
+}
+
+int DescribeBackupSetDownloadTaskListResult::getPageNum()const
+{
+	return pageNum_;
+}
+
+int DescribeBackupSetDownloadTaskListResult::getHttpStatusCode()const
+{
+	return httpStatusCode_;
+}
+
+int DescribeBackupSetDownloadTaskListResult::getTotalElements()const
+{
+	return totalElements_;
+}
+
+std::vector<DescribeBackupSetDownloadTaskListResult::BackupSetDownloadTaskDetail> DescribeBackupSetDownloadTaskListResult::getItems()const
+{
+	return items_;
+}
+
+int DescribeBackupSetDownloadTaskListResult::getTotalPages()const
+{
+	return totalPages_;
+}
+
+std::string DescribeBackupSetDownloadTaskListResult::getErrMessage()const
+{
+	return errMessage_;
+}
+
+bool DescribeBackupSetDownloadTaskListResult::getSuccess()const
+{
+	return success_;
+}
+
+std::string DescribeBackupSetDownloadTaskListResult::getErrCode()const
+{
+	return errCode_;
+}
+

+ 128 - 0
dbs/src/model/ModifyBackupSetDownloadRulesRequest.cc

@@ -0,0 +1,128 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/dbs/model/ModifyBackupSetDownloadRulesRequest.h>
+
+using AlibabaCloud::Dbs::Model::ModifyBackupSetDownloadRulesRequest;
+
+ModifyBackupSetDownloadRulesRequest::ModifyBackupSetDownloadRulesRequest() :
+	RpcServiceRequest("dbs", "2019-03-06", "ModifyBackupSetDownloadRules")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+ModifyBackupSetDownloadRulesRequest::~ModifyBackupSetDownloadRulesRequest()
+{}
+
+std::string ModifyBackupSetDownloadRulesRequest::getFullDataFormat()const
+{
+	return fullDataFormat_;
+}
+
+void ModifyBackupSetDownloadRulesRequest::setFullDataFormat(const std::string& fullDataFormat)
+{
+	fullDataFormat_ = fullDataFormat;
+	setParameter("FullDataFormat", fullDataFormat);
+}
+
+long ModifyBackupSetDownloadRulesRequest::getBackupGatewayId()const
+{
+	return backupGatewayId_;
+}
+
+void ModifyBackupSetDownloadRulesRequest::setBackupGatewayId(long backupGatewayId)
+{
+	backupGatewayId_ = backupGatewayId;
+	setParameter("BackupGatewayId", std::to_string(backupGatewayId));
+}
+
+std::string ModifyBackupSetDownloadRulesRequest::getClientToken()const
+{
+	return clientToken_;
+}
+
+void ModifyBackupSetDownloadRulesRequest::setClientToken(const std::string& clientToken)
+{
+	clientToken_ = clientToken;
+	setParameter("ClientToken", clientToken);
+}
+
+std::string ModifyBackupSetDownloadRulesRequest::getBackupSetDownloadTargetType()const
+{
+	return backupSetDownloadTargetType_;
+}
+
+void ModifyBackupSetDownloadRulesRequest::setBackupSetDownloadTargetType(const std::string& backupSetDownloadTargetType)
+{
+	backupSetDownloadTargetType_ = backupSetDownloadTargetType;
+	setParameter("BackupSetDownloadTargetType", backupSetDownloadTargetType);
+}
+
+std::string ModifyBackupSetDownloadRulesRequest::getBackupPlanId()const
+{
+	return backupPlanId_;
+}
+
+void ModifyBackupSetDownloadRulesRequest::setBackupPlanId(const std::string& backupPlanId)
+{
+	backupPlanId_ = backupPlanId;
+	setParameter("BackupPlanId", backupPlanId);
+}
+
+std::string ModifyBackupSetDownloadRulesRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void ModifyBackupSetDownloadRulesRequest::setOwnerId(const std::string& ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", ownerId);
+}
+
+bool ModifyBackupSetDownloadRulesRequest::getOpenAutoDownload()const
+{
+	return openAutoDownload_;
+}
+
+void ModifyBackupSetDownloadRulesRequest::setOpenAutoDownload(bool openAutoDownload)
+{
+	openAutoDownload_ = openAutoDownload;
+	setParameter("OpenAutoDownload", openAutoDownload ? "true" : "false");
+}
+
+std::string ModifyBackupSetDownloadRulesRequest::getIncrementDataFormat()const
+{
+	return incrementDataFormat_;
+}
+
+void ModifyBackupSetDownloadRulesRequest::setIncrementDataFormat(const std::string& incrementDataFormat)
+{
+	incrementDataFormat_ = incrementDataFormat;
+	setParameter("IncrementDataFormat", incrementDataFormat);
+}
+
+std::string ModifyBackupSetDownloadRulesRequest::getBackupSetDownloadDir()const
+{
+	return backupSetDownloadDir_;
+}
+
+void ModifyBackupSetDownloadRulesRequest::setBackupSetDownloadDir(const std::string& backupSetDownloadDir)
+{
+	backupSetDownloadDir_ = backupSetDownloadDir;
+	setParameter("BackupSetDownloadDir", backupSetDownloadDir);
+}
+

+ 79 - 0
dbs/src/model/ModifyBackupSetDownloadRulesResult.cc

@@ -0,0 +1,79 @@
+/*
+ * 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/dbs/model/ModifyBackupSetDownloadRulesResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Dbs;
+using namespace AlibabaCloud::Dbs::Model;
+
+ModifyBackupSetDownloadRulesResult::ModifyBackupSetDownloadRulesResult() :
+	ServiceResult()
+{}
+
+ModifyBackupSetDownloadRulesResult::ModifyBackupSetDownloadRulesResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ModifyBackupSetDownloadRulesResult::~ModifyBackupSetDownloadRulesResult()
+{}
+
+void ModifyBackupSetDownloadRulesResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+	if(!value["ErrCode"].isNull())
+		errCode_ = value["ErrCode"].asString();
+	if(!value["ErrMessage"].isNull())
+		errMessage_ = value["ErrMessage"].asString();
+	if(!value["HttpStatusCode"].isNull())
+		httpStatusCode_ = std::stoi(value["HttpStatusCode"].asString());
+	if(!value["BackupPlanId"].isNull())
+		backupPlanId_ = value["BackupPlanId"].asString();
+
+}
+
+int ModifyBackupSetDownloadRulesResult::getHttpStatusCode()const
+{
+	return httpStatusCode_;
+}
+
+std::string ModifyBackupSetDownloadRulesResult::getBackupPlanId()const
+{
+	return backupPlanId_;
+}
+
+std::string ModifyBackupSetDownloadRulesResult::getErrMessage()const
+{
+	return errMessage_;
+}
+
+bool ModifyBackupSetDownloadRulesResult::getSuccess()const
+{
+	return success_;
+}
+
+std::string ModifyBackupSetDownloadRulesResult::getErrCode()const
+{
+	return errCode_;
+}
+

+ 62 - 0
dbs/src/model/StartTaskRequest.cc

@@ -0,0 +1,62 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/dbs/model/StartTaskRequest.h>
+
+using AlibabaCloud::Dbs::Model::StartTaskRequest;
+
+StartTaskRequest::StartTaskRequest() :
+	RpcServiceRequest("dbs", "2019-03-06", "StartTask")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+StartTaskRequest::~StartTaskRequest()
+{}
+
+std::string StartTaskRequest::getClientToken()const
+{
+	return clientToken_;
+}
+
+void StartTaskRequest::setClientToken(const std::string& clientToken)
+{
+	clientToken_ = clientToken;
+	setParameter("ClientToken", clientToken);
+}
+
+std::string StartTaskRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void StartTaskRequest::setOwnerId(const std::string& ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", ownerId);
+}
+
+std::string StartTaskRequest::getTaskId()const
+{
+	return taskId_;
+}
+
+void StartTaskRequest::setTaskId(const std::string& taskId)
+{
+	taskId_ = taskId;
+	setParameter("TaskId", taskId);
+}
+

+ 86 - 0
dbs/src/model/StartTaskResult.cc

@@ -0,0 +1,86 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/dbs/model/StartTaskResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Dbs;
+using namespace AlibabaCloud::Dbs::Model;
+
+StartTaskResult::StartTaskResult() :
+	ServiceResult()
+{}
+
+StartTaskResult::StartTaskResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+StartTaskResult::~StartTaskResult()
+{}
+
+void StartTaskResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	if(!value["Success"].isNull())
+		success_ = value["Success"].asString() == "true";
+	if(!value["ErrCode"].isNull())
+		errCode_ = value["ErrCode"].asString();
+	if(!value["ErrMessage"].isNull())
+		errMessage_ = value["ErrMessage"].asString();
+	if(!value["HttpStatusCode"].isNull())
+		httpStatusCode_ = std::stoi(value["HttpStatusCode"].asString());
+	if(!value["TaskId"].isNull())
+		taskId_ = value["TaskId"].asString();
+	if(!value["JobTypeName"].isNull())
+		jobTypeName_ = value["JobTypeName"].asString();
+
+}
+
+std::string StartTaskResult::getTaskId()const
+{
+	return taskId_;
+}
+
+int StartTaskResult::getHttpStatusCode()const
+{
+	return httpStatusCode_;
+}
+
+std::string StartTaskResult::getErrMessage()const
+{
+	return errMessage_;
+}
+
+bool StartTaskResult::getSuccess()const
+{
+	return success_;
+}
+
+std::string StartTaskResult::getErrCode()const
+{
+	return errCode_;
+}
+
+std::string StartTaskResult::getJobTypeName()const
+{
+	return jobTypeName_;
+}
+