Selaa lähdekoodia

Add DescribeBackupTasks.

sdk-team 6 vuotta sitten
vanhempi
sitoutus
2738249b7d

+ 3 - 0
CHANGELOG

@@ -1,3 +1,6 @@
+2020-07-24 Version: 1.36.537
+- Add DescribeBackupTasks.
+
 2020-07-24 Version: 1.36.536
 - Support GetImageCroppingSuggestions API.
 - Add Remarks to face group related APIs.

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.536
+1.36.537

+ 4 - 0
polardb/CMakeLists.txt

@@ -59,6 +59,8 @@ set(polardb_public_header_model
 	include/alibabacloud/polardb/model/DescribeBackupLogsResult.h
 	include/alibabacloud/polardb/model/DescribeBackupPolicyRequest.h
 	include/alibabacloud/polardb/model/DescribeBackupPolicyResult.h
+	include/alibabacloud/polardb/model/DescribeBackupTasksRequest.h
+	include/alibabacloud/polardb/model/DescribeBackupTasksResult.h
 	include/alibabacloud/polardb/model/DescribeBackupsRequest.h
 	include/alibabacloud/polardb/model/DescribeBackupsResult.h
 	include/alibabacloud/polardb/model/DescribeDBClusterAccessWhitelistRequest.h
@@ -190,6 +192,8 @@ set(polardb_src
 	src/model/DescribeBackupLogsResult.cc
 	src/model/DescribeBackupPolicyRequest.cc
 	src/model/DescribeBackupPolicyResult.cc
+	src/model/DescribeBackupTasksRequest.cc
+	src/model/DescribeBackupTasksResult.cc
 	src/model/DescribeBackupsRequest.cc
 	src/model/DescribeBackupsResult.cc
 	src/model/DescribeDBClusterAccessWhitelistRequest.cc

+ 8 - 0
polardb/include/alibabacloud/polardb/PolardbClient.h

@@ -60,6 +60,8 @@
 #include "model/DescribeBackupLogsResult.h"
 #include "model/DescribeBackupPolicyRequest.h"
 #include "model/DescribeBackupPolicyResult.h"
+#include "model/DescribeBackupTasksRequest.h"
+#include "model/DescribeBackupTasksResult.h"
 #include "model/DescribeBackupsRequest.h"
 #include "model/DescribeBackupsResult.h"
 #include "model/DescribeDBClusterAccessWhitelistRequest.h"
@@ -216,6 +218,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeBackupPolicyResult> DescribeBackupPolicyOutcome;
 			typedef std::future<DescribeBackupPolicyOutcome> DescribeBackupPolicyOutcomeCallable;
 			typedef std::function<void(const PolardbClient*, const Model::DescribeBackupPolicyRequest&, const DescribeBackupPolicyOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeBackupPolicyAsyncHandler;
+			typedef Outcome<Error, Model::DescribeBackupTasksResult> DescribeBackupTasksOutcome;
+			typedef std::future<DescribeBackupTasksOutcome> DescribeBackupTasksOutcomeCallable;
+			typedef std::function<void(const PolardbClient*, const Model::DescribeBackupTasksRequest&, const DescribeBackupTasksOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeBackupTasksAsyncHandler;
 			typedef Outcome<Error, Model::DescribeBackupsResult> DescribeBackupsOutcome;
 			typedef std::future<DescribeBackupsOutcome> DescribeBackupsOutcomeCallable;
 			typedef std::function<void(const PolardbClient*, const Model::DescribeBackupsRequest&, const DescribeBackupsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeBackupsAsyncHandler;
@@ -413,6 +418,9 @@ namespace AlibabaCloud
 			DescribeBackupPolicyOutcome describeBackupPolicy(const Model::DescribeBackupPolicyRequest &request)const;
 			void describeBackupPolicyAsync(const Model::DescribeBackupPolicyRequest& request, const DescribeBackupPolicyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeBackupPolicyOutcomeCallable describeBackupPolicyCallable(const Model::DescribeBackupPolicyRequest& request) const;
+			DescribeBackupTasksOutcome describeBackupTasks(const Model::DescribeBackupTasksRequest &request)const;
+			void describeBackupTasksAsync(const Model::DescribeBackupTasksRequest& request, const DescribeBackupTasksAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeBackupTasksOutcomeCallable describeBackupTasksCallable(const Model::DescribeBackupTasksRequest& request) const;
 			DescribeBackupsOutcome describeBackups(const Model::DescribeBackupsRequest &request)const;
 			void describeBackupsAsync(const Model::DescribeBackupsRequest& request, const DescribeBackupsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeBackupsOutcomeCallable describeBackupsCallable(const Model::DescribeBackupsRequest& request) const;

+ 72 - 0
polardb/include/alibabacloud/polardb/model/DescribeBackupTasksRequest.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_POLARDB_MODEL_DESCRIBEBACKUPTASKSREQUEST_H_
+#define ALIBABACLOUD_POLARDB_MODEL_DESCRIBEBACKUPTASKSREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/polardb/PolardbExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Polardb
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_POLARDB_EXPORT DescribeBackupTasksRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeBackupTasksRequest();
+				~DescribeBackupTasksRequest();
+
+				std::string getBackupJobId()const;
+				void setBackupJobId(const std::string& backupJobId);
+				long getResourceOwnerId()const;
+				void setResourceOwnerId(long resourceOwnerId);
+				std::string getAccessKeyId()const;
+				void setAccessKeyId(const std::string& accessKeyId);
+				std::string getRegionId()const;
+				void setRegionId(const std::string& regionId);
+				std::string getResourceOwnerAccount()const;
+				void setResourceOwnerAccount(const std::string& resourceOwnerAccount);
+				std::string getDBClusterId()const;
+				void setDBClusterId(const std::string& dBClusterId);
+				std::string getOwnerAccount()const;
+				void setOwnerAccount(const std::string& ownerAccount);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getBackupMode()const;
+				void setBackupMode(const std::string& backupMode);
+
+            private:
+				std::string backupJobId_;
+				long resourceOwnerId_;
+				std::string accessKeyId_;
+				std::string regionId_;
+				std::string resourceOwnerAccount_;
+				std::string dBClusterId_;
+				std::string ownerAccount_;
+				long ownerId_;
+				std::string backupMode_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_POLARDB_MODEL_DESCRIBEBACKUPTASKSREQUEST_H_

+ 60 - 0
polardb/include/alibabacloud/polardb/model/DescribeBackupTasksResult.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_POLARDB_MODEL_DESCRIBEBACKUPTASKSRESULT_H_
+#define ALIBABACLOUD_POLARDB_MODEL_DESCRIBEBACKUPTASKSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/polardb/PolardbExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Polardb
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_POLARDB_EXPORT DescribeBackupTasksResult : public ServiceResult
+			{
+			public:
+				struct BackupJob
+				{
+					std::string jobMode;
+					std::string taskAction;
+					std::string startTime;
+					std::string backupProgressStatus;
+					std::string process;
+					std::string backupJobId;
+				};
+
+
+				DescribeBackupTasksResult();
+				explicit DescribeBackupTasksResult(const std::string &payload);
+				~DescribeBackupTasksResult();
+				std::vector<BackupJob> getItems()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<BackupJob> items_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_POLARDB_MODEL_DESCRIBEBACKUPTASKSRESULT_H_

+ 36 - 0
polardb/src/PolardbClient.cc

@@ -735,6 +735,42 @@ PolardbClient::DescribeBackupPolicyOutcomeCallable PolardbClient::describeBackup
 	return task->get_future();
 }
 
+PolardbClient::DescribeBackupTasksOutcome PolardbClient::describeBackupTasks(const DescribeBackupTasksRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeBackupTasksOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeBackupTasksOutcome(DescribeBackupTasksResult(outcome.result()));
+	else
+		return DescribeBackupTasksOutcome(outcome.error());
+}
+
+void PolardbClient::describeBackupTasksAsync(const DescribeBackupTasksRequest& request, const DescribeBackupTasksAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeBackupTasks(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+PolardbClient::DescribeBackupTasksOutcomeCallable PolardbClient::describeBackupTasksCallable(const DescribeBackupTasksRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeBackupTasksOutcome()>>(
+			[this, request]()
+			{
+			return this->describeBackupTasks(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 PolardbClient::DescribeBackupsOutcome PolardbClient::describeBackups(const DescribeBackupsRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();

+ 128 - 0
polardb/src/model/DescribeBackupTasksRequest.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/polardb/model/DescribeBackupTasksRequest.h>
+
+using AlibabaCloud::Polardb::Model::DescribeBackupTasksRequest;
+
+DescribeBackupTasksRequest::DescribeBackupTasksRequest() :
+	RpcServiceRequest("polardb", "2017-08-01", "DescribeBackupTasks")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DescribeBackupTasksRequest::~DescribeBackupTasksRequest()
+{}
+
+std::string DescribeBackupTasksRequest::getBackupJobId()const
+{
+	return backupJobId_;
+}
+
+void DescribeBackupTasksRequest::setBackupJobId(const std::string& backupJobId)
+{
+	backupJobId_ = backupJobId;
+	setParameter("BackupJobId", backupJobId);
+}
+
+long DescribeBackupTasksRequest::getResourceOwnerId()const
+{
+	return resourceOwnerId_;
+}
+
+void DescribeBackupTasksRequest::setResourceOwnerId(long resourceOwnerId)
+{
+	resourceOwnerId_ = resourceOwnerId;
+	setParameter("ResourceOwnerId", std::to_string(resourceOwnerId));
+}
+
+std::string DescribeBackupTasksRequest::getAccessKeyId()const
+{
+	return accessKeyId_;
+}
+
+void DescribeBackupTasksRequest::setAccessKeyId(const std::string& accessKeyId)
+{
+	accessKeyId_ = accessKeyId;
+	setParameter("AccessKeyId", accessKeyId);
+}
+
+std::string DescribeBackupTasksRequest::getRegionId()const
+{
+	return regionId_;
+}
+
+void DescribeBackupTasksRequest::setRegionId(const std::string& regionId)
+{
+	regionId_ = regionId;
+	setParameter("RegionId", regionId);
+}
+
+std::string DescribeBackupTasksRequest::getResourceOwnerAccount()const
+{
+	return resourceOwnerAccount_;
+}
+
+void DescribeBackupTasksRequest::setResourceOwnerAccount(const std::string& resourceOwnerAccount)
+{
+	resourceOwnerAccount_ = resourceOwnerAccount;
+	setParameter("ResourceOwnerAccount", resourceOwnerAccount);
+}
+
+std::string DescribeBackupTasksRequest::getDBClusterId()const
+{
+	return dBClusterId_;
+}
+
+void DescribeBackupTasksRequest::setDBClusterId(const std::string& dBClusterId)
+{
+	dBClusterId_ = dBClusterId;
+	setParameter("DBClusterId", dBClusterId);
+}
+
+std::string DescribeBackupTasksRequest::getOwnerAccount()const
+{
+	return ownerAccount_;
+}
+
+void DescribeBackupTasksRequest::setOwnerAccount(const std::string& ownerAccount)
+{
+	ownerAccount_ = ownerAccount;
+	setParameter("OwnerAccount", ownerAccount);
+}
+
+long DescribeBackupTasksRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void DescribeBackupTasksRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::string DescribeBackupTasksRequest::getBackupMode()const
+{
+	return backupMode_;
+}
+
+void DescribeBackupTasksRequest::setBackupMode(const std::string& backupMode)
+{
+	backupMode_ = backupMode;
+	setParameter("BackupMode", backupMode);
+}
+

+ 67 - 0
polardb/src/model/DescribeBackupTasksResult.cc

@@ -0,0 +1,67 @@
+/*
+ * 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/polardb/model/DescribeBackupTasksResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Polardb;
+using namespace AlibabaCloud::Polardb::Model;
+
+DescribeBackupTasksResult::DescribeBackupTasksResult() :
+	ServiceResult()
+{}
+
+DescribeBackupTasksResult::DescribeBackupTasksResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeBackupTasksResult::~DescribeBackupTasksResult()
+{}
+
+void DescribeBackupTasksResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allItemsNode = value["Items"]["BackupJob"];
+	for (auto valueItemsBackupJob : allItemsNode)
+	{
+		BackupJob itemsObject;
+		if(!valueItemsBackupJob["BackupJobId"].isNull())
+			itemsObject.backupJobId = valueItemsBackupJob["BackupJobId"].asString();
+		if(!valueItemsBackupJob["BackupProgressStatus"].isNull())
+			itemsObject.backupProgressStatus = valueItemsBackupJob["BackupProgressStatus"].asString();
+		if(!valueItemsBackupJob["JobMode"].isNull())
+			itemsObject.jobMode = valueItemsBackupJob["JobMode"].asString();
+		if(!valueItemsBackupJob["StartTime"].isNull())
+			itemsObject.startTime = valueItemsBackupJob["StartTime"].asString();
+		if(!valueItemsBackupJob["Process"].isNull())
+			itemsObject.process = valueItemsBackupJob["Process"].asString();
+		if(!valueItemsBackupJob["TaskAction"].isNull())
+			itemsObject.taskAction = valueItemsBackupJob["TaskAction"].asString();
+		items_.push_back(itemsObject);
+	}
+
+}
+
+std::vector<DescribeBackupTasksResult::BackupJob> DescribeBackupTasksResult::getItems()const
+{
+	return items_;
+}
+