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

Add DescribeBackupPlanBilling.

sdk-team 6 лет назад
Родитель
Сommit
1ae8883f81
25 измененных файлов с 563 добавлено и 10 удалено
  1. 10 0
      CHANGELOG
  2. 1 1
      VERSION
  3. 4 0
      dbs/CMakeLists.txt
  4. 8 0
      dbs/include/alibabacloud/dbs/DbsClient.h
  5. 12 0
      dbs/include/alibabacloud/dbs/model/ConfigureBackupPlanRequest.h
  6. 3 0
      dbs/include/alibabacloud/dbs/model/CreateBackupPlanRequest.h
  7. 6 0
      dbs/include/alibabacloud/dbs/model/CreateRestoreTaskRequest.h
  8. 57 0
      dbs/include/alibabacloud/dbs/model/DescribeBackupPlanBillingRequest.h
  9. 76 0
      dbs/include/alibabacloud/dbs/model/DescribeBackupPlanBillingResult.h
  10. 6 0
      dbs/include/alibabacloud/dbs/model/DescribeBackupPlanListRequest.h
  11. 3 0
      dbs/include/alibabacloud/dbs/model/DescribeBackupPlanListResult.h
  12. 11 9
      dbs/include/alibabacloud/dbs/model/DescribeRestoreTaskListResult.h
  13. 6 0
      dbs/include/alibabacloud/dbs/model/ModifyBackupSourceEndpointRequest.h
  14. 3 0
      dbs/include/alibabacloud/dbs/model/ModifyBackupStrategyRequest.h
  15. 36 0
      dbs/src/DbsClient.cc
  16. 44 0
      dbs/src/model/ConfigureBackupPlanRequest.cc
  17. 11 0
      dbs/src/model/CreateBackupPlanRequest.cc
  18. 22 0
      dbs/src/model/CreateRestoreTaskRequest.cc
  19. 73 0
      dbs/src/model/DescribeBackupPlanBillingRequest.cc
  20. 106 0
      dbs/src/model/DescribeBackupPlanBillingResult.cc
  21. 22 0
      dbs/src/model/DescribeBackupPlanListRequest.cc
  22. 6 0
      dbs/src/model/DescribeBackupPlanListResult.cc
  23. 4 0
      dbs/src/model/DescribeRestoreTaskListResult.cc
  24. 22 0
      dbs/src/model/ModifyBackupSourceEndpointRequest.cc
  25. 11 0
      dbs/src/model/ModifyBackupStrategyRequest.cc

+ 10 - 0
CHANGELOG

@@ -1,3 +1,13 @@
+2020-06-24 Version: 1.36.482
+- Add DescribeBackupPlanBilling.
+- Modify ConfigureBackupPlan.
+- Modify CreateBackupPlan.
+- Modify CreateRestoreTask.
+- Modify DescribeRestoreTaskList.
+- Modify DescribeBackupPlanList.
+- Modify ModifyBackupSourceEndpoint.
+- Modify ModifyBackupStrategy.
+
 2020-06-23 Version: 1.36.481
 - Add face quality detection API.
 

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.481
+1.36.482

+ 4 - 0
dbs/CMakeLists.txt

@@ -33,6 +33,8 @@ set(dbs_public_header_model
 	include/alibabacloud/dbs/model/CreateRestoreTaskResult.h
 	include/alibabacloud/dbs/model/DescribeBackupGatewayListRequest.h
 	include/alibabacloud/dbs/model/DescribeBackupGatewayListResult.h
+	include/alibabacloud/dbs/model/DescribeBackupPlanBillingRequest.h
+	include/alibabacloud/dbs/model/DescribeBackupPlanBillingResult.h
 	include/alibabacloud/dbs/model/DescribeBackupPlanListRequest.h
 	include/alibabacloud/dbs/model/DescribeBackupPlanListResult.h
 	include/alibabacloud/dbs/model/DescribeBackupSetDownloadTaskListRequest.h
@@ -88,6 +90,8 @@ set(dbs_src
 	src/model/CreateRestoreTaskResult.cc
 	src/model/DescribeBackupGatewayListRequest.cc
 	src/model/DescribeBackupGatewayListResult.cc
+	src/model/DescribeBackupPlanBillingRequest.cc
+	src/model/DescribeBackupPlanBillingResult.cc
 	src/model/DescribeBackupPlanListRequest.cc
 	src/model/DescribeBackupPlanListResult.cc
 	src/model/DescribeBackupSetDownloadTaskListRequest.cc

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

@@ -34,6 +34,8 @@
 #include "model/CreateRestoreTaskResult.h"
 #include "model/DescribeBackupGatewayListRequest.h"
 #include "model/DescribeBackupGatewayListResult.h"
+#include "model/DescribeBackupPlanBillingRequest.h"
+#include "model/DescribeBackupPlanBillingResult.h"
 #include "model/DescribeBackupPlanListRequest.h"
 #include "model/DescribeBackupPlanListResult.h"
 #include "model/DescribeBackupSetDownloadTaskListRequest.h"
@@ -101,6 +103,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeBackupGatewayListResult> DescribeBackupGatewayListOutcome;
 			typedef std::future<DescribeBackupGatewayListOutcome> DescribeBackupGatewayListOutcomeCallable;
 			typedef std::function<void(const DbsClient*, const Model::DescribeBackupGatewayListRequest&, const DescribeBackupGatewayListOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeBackupGatewayListAsyncHandler;
+			typedef Outcome<Error, Model::DescribeBackupPlanBillingResult> DescribeBackupPlanBillingOutcome;
+			typedef std::future<DescribeBackupPlanBillingOutcome> DescribeBackupPlanBillingOutcomeCallable;
+			typedef std::function<void(const DbsClient*, const Model::DescribeBackupPlanBillingRequest&, const DescribeBackupPlanBillingOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeBackupPlanBillingAsyncHandler;
 			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;
@@ -184,6 +189,9 @@ namespace AlibabaCloud
 			DescribeBackupGatewayListOutcome describeBackupGatewayList(const Model::DescribeBackupGatewayListRequest &request)const;
 			void describeBackupGatewayListAsync(const Model::DescribeBackupGatewayListRequest& request, const DescribeBackupGatewayListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeBackupGatewayListOutcomeCallable describeBackupGatewayListCallable(const Model::DescribeBackupGatewayListRequest& request) const;
+			DescribeBackupPlanBillingOutcome describeBackupPlanBilling(const Model::DescribeBackupPlanBillingRequest &request)const;
+			void describeBackupPlanBillingAsync(const Model::DescribeBackupPlanBillingRequest& request, const DescribeBackupPlanBillingAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeBackupPlanBillingOutcomeCallable describeBackupPlanBillingCallable(const Model::DescribeBackupPlanBillingRequest& request) const;
 			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;

+ 12 - 0
dbs/include/alibabacloud/dbs/model/ConfigureBackupPlanRequest.h

@@ -55,12 +55,16 @@ namespace AlibabaCloud
 				void setBackupStartTime(const std::string& backupStartTime);
 				std::string getSourceEndpointIP()const;
 				void setSourceEndpointIP(const std::string& sourceEndpointIP);
+				std::string getCrossRoleName()const;
+				void setCrossRoleName(const std::string& crossRoleName);
 				bool getEnableBackupLog()const;
 				void setEnableBackupLog(bool enableBackupLog);
 				std::string getBackupStorageType()const;
 				void setBackupStorageType(const std::string& backupStorageType);
 				int getDuplicationArchivePeriod()const;
 				void setDuplicationArchivePeriod(int duplicationArchivePeriod);
+				std::string getCrossAliyunId()const;
+				void setCrossAliyunId(const std::string& crossAliyunId);
 				std::string getSourceEndpointPassword()const;
 				void setSourceEndpointPassword(const std::string& sourceEndpointPassword);
 				std::string getBackupObjects()const;
@@ -73,6 +77,8 @@ namespace AlibabaCloud
 				void setBackupRetentionPeriod(int backupRetentionPeriod);
 				std::string getBackupPeriod()const;
 				void setBackupPeriod(const std::string& backupPeriod);
+				long getBackupSpeedLimit()const;
+				void setBackupSpeedLimit(long backupSpeedLimit);
 				std::string getSourceEndpointInstanceType()const;
 				void setSourceEndpointInstanceType(const std::string& sourceEndpointInstanceType);
 				std::string getBackupPlanName()const;
@@ -81,6 +87,8 @@ namespace AlibabaCloud
 				void setSourceEndpointOracleSID(const std::string& sourceEndpointOracleSID);
 				std::string getOSSBucketName()const;
 				void setOSSBucketName(const std::string& oSSBucketName);
+				std::string getBackupStrategyType()const;
+				void setBackupStrategyType(const std::string& backupStrategyType);
 
             private:
 				std::string sourceEndpointRegion_;
@@ -93,19 +101,23 @@ namespace AlibabaCloud
 				int duplicationInfrequentAccessPeriod_;
 				std::string backupStartTime_;
 				std::string sourceEndpointIP_;
+				std::string crossRoleName_;
 				bool enableBackupLog_;
 				std::string backupStorageType_;
 				int duplicationArchivePeriod_;
+				std::string crossAliyunId_;
 				std::string sourceEndpointPassword_;
 				std::string backupObjects_;
 				std::string ownerId_;
 				int sourceEndpointPort_;
 				int backupRetentionPeriod_;
 				std::string backupPeriod_;
+				long backupSpeedLimit_;
 				std::string sourceEndpointInstanceType_;
 				std::string backupPlanName_;
 				std::string sourceEndpointOracleSID_;
 				std::string oSSBucketName_;
+				std::string backupStrategyType_;
 
 			};
 		}

+ 3 - 0
dbs/include/alibabacloud/dbs/model/CreateBackupPlanRequest.h

@@ -49,6 +49,8 @@ namespace AlibabaCloud
 				void setInstanceType(const std::string& instanceType);
 				std::string getPeriod()const;
 				void setPeriod(const std::string& period);
+				std::string getFromApp()const;
+				void setFromApp(const std::string& fromApp);
 				std::string getOwnerId()const;
 				void setOwnerId(const std::string& ownerId);
 				int getUsedTime()const;
@@ -70,6 +72,7 @@ namespace AlibabaCloud
 				std::string databaseRegion_;
 				std::string instanceType_;
 				std::string period_;
+				std::string fromApp_;
 				std::string ownerId_;
 				int usedTime_;
 				std::string backupMethod_;

+ 6 - 0
dbs/include/alibabacloud/dbs/model/CreateRestoreTaskRequest.h

@@ -45,6 +45,8 @@ namespace AlibabaCloud
 				void setBackupPlanId(const std::string& backupPlanId);
 				std::string getDestinationEndpointRegion()const;
 				void setDestinationEndpointRegion(const std::string& destinationEndpointRegion);
+				std::string getCrossRoleName()const;
+				void setCrossRoleName(const std::string& crossRoleName);
 				std::string getDestinationEndpointUserName()const;
 				void setDestinationEndpointUserName(const std::string& destinationEndpointUserName);
 				std::string getRestoreObjects()const;
@@ -57,6 +59,8 @@ namespace AlibabaCloud
 				void setDestinationEndpointOracleSID(const std::string& destinationEndpointOracleSID);
 				long getRestoreTime()const;
 				void setRestoreTime(long restoreTime);
+				std::string getCrossAliyunId()const;
+				void setCrossAliyunId(const std::string& crossAliyunId);
 				std::string getDestinationEndpointInstanceID()const;
 				void setDestinationEndpointInstanceID(const std::string& destinationEndpointInstanceID);
 				int getDestinationEndpointPort()const;
@@ -82,12 +86,14 @@ namespace AlibabaCloud
 				std::string clientToken_;
 				std::string backupPlanId_;
 				std::string destinationEndpointRegion_;
+				std::string crossRoleName_;
 				std::string destinationEndpointUserName_;
 				std::string restoreObjects_;
 				std::string restoreTaskName_;
 				std::string restoreHome_;
 				std::string destinationEndpointOracleSID_;
 				long restoreTime_;
+				std::string crossAliyunId_;
 				std::string destinationEndpointInstanceID_;
 				int destinationEndpointPort_;
 				std::string backupSetId_;

+ 57 - 0
dbs/include/alibabacloud/dbs/model/DescribeBackupPlanBillingRequest.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_DESCRIBEBACKUPPLANBILLINGREQUEST_H_
+#define ALIBABACLOUD_DBS_MODEL_DESCRIBEBACKUPPLANBILLINGREQUEST_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 DescribeBackupPlanBillingRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeBackupPlanBillingRequest();
+				~DescribeBackupPlanBillingRequest();
+
+				std::string getClientToken()const;
+				void setClientToken(const std::string& clientToken);
+				std::string getBackupPlanId()const;
+				void setBackupPlanId(const std::string& backupPlanId);
+				std::string getOwnerId()const;
+				void setOwnerId(const std::string& ownerId);
+				bool getShowStorageType()const;
+				void setShowStorageType(bool showStorageType);
+
+            private:
+				std::string clientToken_;
+				std::string backupPlanId_;
+				std::string ownerId_;
+				bool showStorageType_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DBS_MODEL_DESCRIBEBACKUPPLANBILLINGREQUEST_H_

+ 76 - 0
dbs/include/alibabacloud/dbs/model/DescribeBackupPlanBillingResult.h

@@ -0,0 +1,76 @@
+/*
+ * 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_DESCRIBEBACKUPPLANBILLINGRESULT_H_
+#define ALIBABACLOUD_DBS_MODEL_DESCRIBEBACKUPPLANBILLINGRESULT_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 DescribeBackupPlanBillingResult : public ServiceResult
+			{
+			public:
+				struct Item
+				{
+					bool isExpired;
+					long buyExpiredTimestamp;
+					long totalFreeBytes;
+					long paiedBytes;
+					long quotaStartTimestamp;
+					long fullStorageSize;
+					long buyCreateTimestamp;
+					bool isFreeBytesUnlimited;
+					long quotaEndTimestamp;
+					long contStorageSize;
+					std::string buySpec;
+					std::string buyChargeType;
+					long usedIncrementBytes;
+					long usedFullBytes;
+				};
+
+
+				DescribeBackupPlanBillingResult();
+				explicit DescribeBackupPlanBillingResult(const std::string &payload);
+				~DescribeBackupPlanBillingResult();
+				Item getItem()const;
+				int getHttpStatusCode()const;
+				std::string getErrMessage()const;
+				bool getSuccess()const;
+				std::string getErrCode()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				Item item_;
+				int httpStatusCode_;
+				std::string errMessage_;
+				bool success_;
+				std::string errCode_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_DBS_MODEL_DESCRIBEBACKUPPLANBILLINGRESULT_H_

+ 6 - 0
dbs/include/alibabacloud/dbs/model/DescribeBackupPlanListRequest.h

@@ -43,6 +43,10 @@ namespace AlibabaCloud
 				void setPageNum(int pageNum);
 				std::string getOwnerId()const;
 				void setOwnerId(const std::string& ownerId);
+				std::string getBackupPlanStatus()const;
+				void setBackupPlanStatus(const std::string& backupPlanStatus);
+				std::string getBackupPlanName()const;
+				void setBackupPlanName(const std::string& backupPlanName);
 				int getPageSize()const;
 				void setPageSize(int pageSize);
 				std::string getRegion()const;
@@ -53,6 +57,8 @@ namespace AlibabaCloud
 				std::string backupPlanId_;
 				int pageNum_;
 				std::string ownerId_;
+				std::string backupPlanStatus_;
+				std::string backupPlanName_;
 				int pageSize_;
 				std::string region_;
 

+ 3 - 0
dbs/include/alibabacloud/dbs/model/DescribeBackupPlanListResult.h

@@ -39,6 +39,7 @@ namespace AlibabaCloud
 					std::string backupObjects;
 					std::string backupSetDownloadDir;
 					std::string sourceEndpointInstanceID;
+					std::string crossAliyunId;
 					std::string sourceEndpointDatabaseName;
 					std::string oSSBucketRegion;
 					long beginTimestampForRestore;
@@ -50,7 +51,9 @@ namespace AlibabaCloud
 					std::string sourceEndpointInstanceType;
 					long backupGatewayId;
 					std::string sourceEndpointUserName;
+					std::string backupStorageType;
 					int duplicationInfrequentAccessPeriod;
+					std::string crossRoleName;
 					std::string backupMethod;
 					std::string backupSetDownloadFullDataFormat;
 					std::string backupPeriod;

+ 11 - 9
dbs/include/alibabacloud/dbs/model/DescribeRestoreTaskListResult.h

@@ -34,29 +34,31 @@ namespace AlibabaCloud
 			public:
 				struct RestoreTaskDetail
 				{
-					std::string restoreDir;
 					int fullStruAfterRestoreProgress;
-					int fullStruforeRestoreProgress;
+					std::string crossAliyunId;
 					std::string destinationEndpointOracleSID;
-					std::string backupSetId;
 					std::string restoreStatus;
-					std::string errMessage;
-					std::string destinationEndpointInstanceType;
 					long restoreTime;
 					std::string destinationEndpointRegion;
 					int fullDataRestoreProgress;
 					std::string destinationEndpointDatabaseName;
-					std::string restoreTaskId;
 					int continuousRestoreProgress;
 					std::string destinationEndpointIpPort;
-					std::string destinationEndpointUserName;
 					std::string restoreObjects;
 					std::string restoreTaskName;
 					std::string backupPlanId;
-					long restoreTaskCreateTime;
 					long backupGatewayId;
-					std::string destinationEndpointInstanceID;
 					long restoreTaskFinishTime;
+					std::string crossRoleName;
+					std::string restoreDir;
+					int fullStruforeRestoreProgress;
+					std::string backupSetId;
+					std::string errMessage;
+					std::string destinationEndpointInstanceType;
+					std::string restoreTaskId;
+					std::string destinationEndpointUserName;
+					long restoreTaskCreateTime;
+					std::string destinationEndpointInstanceID;
 				};
 
 

+ 6 - 0
dbs/include/alibabacloud/dbs/model/ModifyBackupSourceEndpointRequest.h

@@ -51,6 +51,10 @@ namespace AlibabaCloud
 				void setSourceEndpointDatabaseName(const std::string& sourceEndpointDatabaseName);
 				std::string getSourceEndpointIP()const;
 				void setSourceEndpointIP(const std::string& sourceEndpointIP);
+				std::string getCrossRoleName()const;
+				void setCrossRoleName(const std::string& crossRoleName);
+				std::string getCrossAliyunId()const;
+				void setCrossAliyunId(const std::string& crossAliyunId);
 				std::string getSourceEndpointPassword()const;
 				void setSourceEndpointPassword(const std::string& sourceEndpointPassword);
 				std::string getBackupObjects()const;
@@ -73,6 +77,8 @@ namespace AlibabaCloud
 				std::string backupPlanId_;
 				std::string sourceEndpointDatabaseName_;
 				std::string sourceEndpointIP_;
+				std::string crossRoleName_;
+				std::string crossAliyunId_;
 				std::string sourceEndpointPassword_;
 				std::string backupObjects_;
 				std::string ownerId_;

+ 3 - 0
dbs/include/alibabacloud/dbs/model/ModifyBackupStrategyRequest.h

@@ -45,6 +45,8 @@ namespace AlibabaCloud
 				void setBackupPeriod(const std::string& backupPeriod);
 				std::string getBackupStartTime()const;
 				void setBackupStartTime(const std::string& backupStartTime);
+				std::string getBackupStrategyType()const;
+				void setBackupStrategyType(const std::string& backupStrategyType);
 
             private:
 				std::string clientToken_;
@@ -52,6 +54,7 @@ namespace AlibabaCloud
 				std::string ownerId_;
 				std::string backupPeriod_;
 				std::string backupStartTime_;
+				std::string backupStrategyType_;
 
 			};
 		}

+ 36 - 0
dbs/src/DbsClient.cc

@@ -267,6 +267,42 @@ DbsClient::DescribeBackupGatewayListOutcomeCallable DbsClient::describeBackupGat
 	return task->get_future();
 }
 
+DbsClient::DescribeBackupPlanBillingOutcome DbsClient::describeBackupPlanBilling(const DescribeBackupPlanBillingRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeBackupPlanBillingOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeBackupPlanBillingOutcome(DescribeBackupPlanBillingResult(outcome.result()));
+	else
+		return DescribeBackupPlanBillingOutcome(outcome.error());
+}
+
+void DbsClient::describeBackupPlanBillingAsync(const DescribeBackupPlanBillingRequest& request, const DescribeBackupPlanBillingAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeBackupPlanBilling(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+DbsClient::DescribeBackupPlanBillingOutcomeCallable DbsClient::describeBackupPlanBillingCallable(const DescribeBackupPlanBillingRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeBackupPlanBillingOutcome()>>(
+			[this, request]()
+			{
+			return this->describeBackupPlanBilling(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 DbsClient::DescribeBackupPlanListOutcome DbsClient::describeBackupPlanList(const DescribeBackupPlanListRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();

+ 44 - 0
dbs/src/model/ConfigureBackupPlanRequest.cc

@@ -137,6 +137,17 @@ void ConfigureBackupPlanRequest::setSourceEndpointIP(const std::string& sourceEn
 	setParameter("SourceEndpointIP", sourceEndpointIP);
 }
 
+std::string ConfigureBackupPlanRequest::getCrossRoleName()const
+{
+	return crossRoleName_;
+}
+
+void ConfigureBackupPlanRequest::setCrossRoleName(const std::string& crossRoleName)
+{
+	crossRoleName_ = crossRoleName;
+	setParameter("CrossRoleName", crossRoleName);
+}
+
 bool ConfigureBackupPlanRequest::getEnableBackupLog()const
 {
 	return enableBackupLog_;
@@ -170,6 +181,17 @@ void ConfigureBackupPlanRequest::setDuplicationArchivePeriod(int duplicationArch
 	setParameter("DuplicationArchivePeriod", std::to_string(duplicationArchivePeriod));
 }
 
+std::string ConfigureBackupPlanRequest::getCrossAliyunId()const
+{
+	return crossAliyunId_;
+}
+
+void ConfigureBackupPlanRequest::setCrossAliyunId(const std::string& crossAliyunId)
+{
+	crossAliyunId_ = crossAliyunId;
+	setParameter("CrossAliyunId", crossAliyunId);
+}
+
 std::string ConfigureBackupPlanRequest::getSourceEndpointPassword()const
 {
 	return sourceEndpointPassword_;
@@ -236,6 +258,17 @@ void ConfigureBackupPlanRequest::setBackupPeriod(const std::string& backupPeriod
 	setParameter("BackupPeriod", backupPeriod);
 }
 
+long ConfigureBackupPlanRequest::getBackupSpeedLimit()const
+{
+	return backupSpeedLimit_;
+}
+
+void ConfigureBackupPlanRequest::setBackupSpeedLimit(long backupSpeedLimit)
+{
+	backupSpeedLimit_ = backupSpeedLimit;
+	setParameter("BackupSpeedLimit", std::to_string(backupSpeedLimit));
+}
+
 std::string ConfigureBackupPlanRequest::getSourceEndpointInstanceType()const
 {
 	return sourceEndpointInstanceType_;
@@ -280,3 +313,14 @@ void ConfigureBackupPlanRequest::setOSSBucketName(const std::string& oSSBucketNa
 	setParameter("OSSBucketName", oSSBucketName);
 }
 
+std::string ConfigureBackupPlanRequest::getBackupStrategyType()const
+{
+	return backupStrategyType_;
+}
+
+void ConfigureBackupPlanRequest::setBackupStrategyType(const std::string& backupStrategyType)
+{
+	backupStrategyType_ = backupStrategyType;
+	setParameter("BackupStrategyType", backupStrategyType);
+}
+

+ 11 - 0
dbs/src/model/CreateBackupPlanRequest.cc

@@ -104,6 +104,17 @@ void CreateBackupPlanRequest::setPeriod(const std::string& period)
 	setParameter("Period", period);
 }
 
+std::string CreateBackupPlanRequest::getFromApp()const
+{
+	return fromApp_;
+}
+
+void CreateBackupPlanRequest::setFromApp(const std::string& fromApp)
+{
+	fromApp_ = fromApp;
+	setParameter("FromApp", fromApp);
+}
+
 std::string CreateBackupPlanRequest::getOwnerId()const
 {
 	return ownerId_;

+ 22 - 0
dbs/src/model/CreateRestoreTaskRequest.cc

@@ -82,6 +82,17 @@ void CreateRestoreTaskRequest::setDestinationEndpointRegion(const std::string& d
 	setParameter("DestinationEndpointRegion", destinationEndpointRegion);
 }
 
+std::string CreateRestoreTaskRequest::getCrossRoleName()const
+{
+	return crossRoleName_;
+}
+
+void CreateRestoreTaskRequest::setCrossRoleName(const std::string& crossRoleName)
+{
+	crossRoleName_ = crossRoleName;
+	setParameter("CrossRoleName", crossRoleName);
+}
+
 std::string CreateRestoreTaskRequest::getDestinationEndpointUserName()const
 {
 	return destinationEndpointUserName_;
@@ -148,6 +159,17 @@ void CreateRestoreTaskRequest::setRestoreTime(long restoreTime)
 	setParameter("RestoreTime", std::to_string(restoreTime));
 }
 
+std::string CreateRestoreTaskRequest::getCrossAliyunId()const
+{
+	return crossAliyunId_;
+}
+
+void CreateRestoreTaskRequest::setCrossAliyunId(const std::string& crossAliyunId)
+{
+	crossAliyunId_ = crossAliyunId;
+	setParameter("CrossAliyunId", crossAliyunId);
+}
+
 std::string CreateRestoreTaskRequest::getDestinationEndpointInstanceID()const
 {
 	return destinationEndpointInstanceID_;

+ 73 - 0
dbs/src/model/DescribeBackupPlanBillingRequest.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/DescribeBackupPlanBillingRequest.h>
+
+using AlibabaCloud::Dbs::Model::DescribeBackupPlanBillingRequest;
+
+DescribeBackupPlanBillingRequest::DescribeBackupPlanBillingRequest() :
+	RpcServiceRequest("dbs", "2019-03-06", "DescribeBackupPlanBilling")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DescribeBackupPlanBillingRequest::~DescribeBackupPlanBillingRequest()
+{}
+
+std::string DescribeBackupPlanBillingRequest::getClientToken()const
+{
+	return clientToken_;
+}
+
+void DescribeBackupPlanBillingRequest::setClientToken(const std::string& clientToken)
+{
+	clientToken_ = clientToken;
+	setParameter("ClientToken", clientToken);
+}
+
+std::string DescribeBackupPlanBillingRequest::getBackupPlanId()const
+{
+	return backupPlanId_;
+}
+
+void DescribeBackupPlanBillingRequest::setBackupPlanId(const std::string& backupPlanId)
+{
+	backupPlanId_ = backupPlanId;
+	setParameter("BackupPlanId", backupPlanId);
+}
+
+std::string DescribeBackupPlanBillingRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void DescribeBackupPlanBillingRequest::setOwnerId(const std::string& ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", ownerId);
+}
+
+bool DescribeBackupPlanBillingRequest::getShowStorageType()const
+{
+	return showStorageType_;
+}
+
+void DescribeBackupPlanBillingRequest::setShowStorageType(bool showStorageType)
+{
+	showStorageType_ = showStorageType;
+	setParameter("ShowStorageType", showStorageType ? "true" : "false");
+}
+

+ 106 - 0
dbs/src/model/DescribeBackupPlanBillingResult.cc

@@ -0,0 +1,106 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/dbs/model/DescribeBackupPlanBillingResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Dbs;
+using namespace AlibabaCloud::Dbs::Model;
+
+DescribeBackupPlanBillingResult::DescribeBackupPlanBillingResult() :
+	ServiceResult()
+{}
+
+DescribeBackupPlanBillingResult::DescribeBackupPlanBillingResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeBackupPlanBillingResult::~DescribeBackupPlanBillingResult()
+{}
+
+void DescribeBackupPlanBillingResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto itemNode = value["Item"];
+	if(!itemNode["BuySpec"].isNull())
+		item_.buySpec = itemNode["BuySpec"].asString();
+	if(!itemNode["BuyChargeType"].isNull())
+		item_.buyChargeType = itemNode["BuyChargeType"].asString();
+	if(!itemNode["BuyExpiredTimestamp"].isNull())
+		item_.buyExpiredTimestamp = std::stol(itemNode["BuyExpiredTimestamp"].asString());
+	if(!itemNode["TotalFreeBytes"].isNull())
+		item_.totalFreeBytes = std::stol(itemNode["TotalFreeBytes"].asString());
+	if(!itemNode["PaiedBytes"].isNull())
+		item_.paiedBytes = std::stol(itemNode["PaiedBytes"].asString());
+	if(!itemNode["UsedFullBytes"].isNull())
+		item_.usedFullBytes = std::stol(itemNode["UsedFullBytes"].asString());
+	if(!itemNode["UsedIncrementBytes"].isNull())
+		item_.usedIncrementBytes = std::stol(itemNode["UsedIncrementBytes"].asString());
+	if(!itemNode["QuotaStartTimestamp"].isNull())
+		item_.quotaStartTimestamp = std::stol(itemNode["QuotaStartTimestamp"].asString());
+	if(!itemNode["QuotaEndTimestamp"].isNull())
+		item_.quotaEndTimestamp = std::stol(itemNode["QuotaEndTimestamp"].asString());
+	if(!itemNode["BuyCreateTimestamp"].isNull())
+		item_.buyCreateTimestamp = std::stol(itemNode["BuyCreateTimestamp"].asString());
+	if(!itemNode["FullStorageSize"].isNull())
+		item_.fullStorageSize = std::stol(itemNode["FullStorageSize"].asString());
+	if(!itemNode["ContStorageSize"].isNull())
+		item_.contStorageSize = std::stol(itemNode["ContStorageSize"].asString());
+	if(!itemNode["IsExpired"].isNull())
+		item_.isExpired = itemNode["IsExpired"].asString() == "true";
+	if(!itemNode["IsFreeBytesUnlimited"].isNull())
+		item_.isFreeBytesUnlimited = itemNode["IsFreeBytesUnlimited"].asString() == "true";
+	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());
+
+}
+
+DescribeBackupPlanBillingResult::Item DescribeBackupPlanBillingResult::getItem()const
+{
+	return item_;
+}
+
+int DescribeBackupPlanBillingResult::getHttpStatusCode()const
+{
+	return httpStatusCode_;
+}
+
+std::string DescribeBackupPlanBillingResult::getErrMessage()const
+{
+	return errMessage_;
+}
+
+bool DescribeBackupPlanBillingResult::getSuccess()const
+{
+	return success_;
+}
+
+std::string DescribeBackupPlanBillingResult::getErrCode()const
+{
+	return errCode_;
+}
+

+ 22 - 0
dbs/src/model/DescribeBackupPlanListRequest.cc

@@ -71,6 +71,28 @@ void DescribeBackupPlanListRequest::setOwnerId(const std::string& ownerId)
 	setParameter("OwnerId", ownerId);
 }
 
+std::string DescribeBackupPlanListRequest::getBackupPlanStatus()const
+{
+	return backupPlanStatus_;
+}
+
+void DescribeBackupPlanListRequest::setBackupPlanStatus(const std::string& backupPlanStatus)
+{
+	backupPlanStatus_ = backupPlanStatus;
+	setParameter("BackupPlanStatus", backupPlanStatus);
+}
+
+std::string DescribeBackupPlanListRequest::getBackupPlanName()const
+{
+	return backupPlanName_;
+}
+
+void DescribeBackupPlanListRequest::setBackupPlanName(const std::string& backupPlanName)
+{
+	backupPlanName_ = backupPlanName;
+	setParameter("BackupPlanName", backupPlanName);
+}
+
 int DescribeBackupPlanListRequest::getPageSize()const
 {
 	return pageSize_;

+ 6 - 0
dbs/src/model/DescribeBackupPlanListResult.cc

@@ -105,6 +105,12 @@ void DescribeBackupPlanListResult::parse(const std::string &payload)
 			itemsObject.backupSetDownloadFullDataFormat = valueItemsBackupPlanDetail["BackupSetDownloadFullDataFormat"].asString();
 		if(!valueItemsBackupPlanDetail["BackupSetDownloadIncrementDataFormat"].isNull())
 			itemsObject.backupSetDownloadIncrementDataFormat = valueItemsBackupPlanDetail["BackupSetDownloadIncrementDataFormat"].asString();
+		if(!valueItemsBackupPlanDetail["CrossAliyunId"].isNull())
+			itemsObject.crossAliyunId = valueItemsBackupPlanDetail["CrossAliyunId"].asString();
+		if(!valueItemsBackupPlanDetail["CrossRoleName"].isNull())
+			itemsObject.crossRoleName = valueItemsBackupPlanDetail["CrossRoleName"].asString();
+		if(!valueItemsBackupPlanDetail["BackupStorageType"].isNull())
+			itemsObject.backupStorageType = valueItemsBackupPlanDetail["BackupStorageType"].asString();
 		items_.push_back(itemsObject);
 	}
 	if(!value["Success"].isNull())

+ 4 - 0
dbs/src/model/DescribeRestoreTaskListResult.cc

@@ -87,6 +87,10 @@ void DescribeRestoreTaskListResult::parse(const std::string &payload)
 			itemsObject.continuousRestoreProgress = std::stoi(valueItemsRestoreTaskDetail["ContinuousRestoreProgress"].asString());
 		if(!valueItemsRestoreTaskDetail["FullStruAfterRestoreProgress"].isNull())
 			itemsObject.fullStruAfterRestoreProgress = std::stoi(valueItemsRestoreTaskDetail["FullStruAfterRestoreProgress"].asString());
+		if(!valueItemsRestoreTaskDetail["CrossAliyunId"].isNull())
+			itemsObject.crossAliyunId = valueItemsRestoreTaskDetail["CrossAliyunId"].asString();
+		if(!valueItemsRestoreTaskDetail["CrossRoleName"].isNull())
+			itemsObject.crossRoleName = valueItemsRestoreTaskDetail["CrossRoleName"].asString();
 		if(!valueItemsRestoreTaskDetail["ErrMessage"].isNull())
 			itemsObject.errMessage = valueItemsRestoreTaskDetail["ErrMessage"].asString();
 		items_.push_back(itemsObject);

+ 22 - 0
dbs/src/model/ModifyBackupSourceEndpointRequest.cc

@@ -115,6 +115,28 @@ void ModifyBackupSourceEndpointRequest::setSourceEndpointIP(const std::string& s
 	setParameter("SourceEndpointIP", sourceEndpointIP);
 }
 
+std::string ModifyBackupSourceEndpointRequest::getCrossRoleName()const
+{
+	return crossRoleName_;
+}
+
+void ModifyBackupSourceEndpointRequest::setCrossRoleName(const std::string& crossRoleName)
+{
+	crossRoleName_ = crossRoleName;
+	setParameter("CrossRoleName", crossRoleName);
+}
+
+std::string ModifyBackupSourceEndpointRequest::getCrossAliyunId()const
+{
+	return crossAliyunId_;
+}
+
+void ModifyBackupSourceEndpointRequest::setCrossAliyunId(const std::string& crossAliyunId)
+{
+	crossAliyunId_ = crossAliyunId;
+	setParameter("CrossAliyunId", crossAliyunId);
+}
+
 std::string ModifyBackupSourceEndpointRequest::getSourceEndpointPassword()const
 {
 	return sourceEndpointPassword_;

+ 11 - 0
dbs/src/model/ModifyBackupStrategyRequest.cc

@@ -82,3 +82,14 @@ void ModifyBackupStrategyRequest::setBackupStartTime(const std::string& backupSt
 	setParameter("BackupStartTime", backupStartTime);
 }
 
+std::string ModifyBackupStrategyRequest::getBackupStrategyType()const
+{
+	return backupStrategyType_;
+}
+
+void ModifyBackupStrategyRequest::setBackupStrategyType(const std::string& backupStrategyType)
+{
+	backupStrategyType_ = backupStrategyType;
+	setParameter("BackupStrategyType", backupStrategyType);
+}
+