From 2738249b7dc7cae59a346a57eb2365c31fe601d4 Mon Sep 17 00:00:00 2001 From: sdk-team Date: Fri, 24 Jul 2020 18:39:22 +0800 Subject: [PATCH] Add DescribeBackupTasks. --- CHANGELOG | 3 + VERSION | 2 +- polardb/CMakeLists.txt | 4 + .../alibabacloud/polardb/PolardbClient.h | 8 ++ .../model/DescribeBackupTasksRequest.h | 72 ++++++++++ .../polardb/model/DescribeBackupTasksResult.h | 60 ++++++++ polardb/src/PolardbClient.cc | 36 +++++ .../src/model/DescribeBackupTasksRequest.cc | 128 ++++++++++++++++++ .../src/model/DescribeBackupTasksResult.cc | 67 +++++++++ 9 files changed, 379 insertions(+), 1 deletion(-) create mode 100644 polardb/include/alibabacloud/polardb/model/DescribeBackupTasksRequest.h create mode 100644 polardb/include/alibabacloud/polardb/model/DescribeBackupTasksResult.h create mode 100644 polardb/src/model/DescribeBackupTasksRequest.cc create mode 100644 polardb/src/model/DescribeBackupTasksResult.cc diff --git a/CHANGELOG b/CHANGELOG index 445d34422..f63fc136d 100644 --- a/CHANGELOG +++ b/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. diff --git a/VERSION b/VERSION index d8eb67511..8b8524ba7 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.36.536 \ No newline at end of file +1.36.537 \ No newline at end of file diff --git a/polardb/CMakeLists.txt b/polardb/CMakeLists.txt index 5d0beaa3e..d96e069f0 100644 --- a/polardb/CMakeLists.txt +++ b/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 diff --git a/polardb/include/alibabacloud/polardb/PolardbClient.h b/polardb/include/alibabacloud/polardb/PolardbClient.h index 6b16f5898..b7bfe24d9 100644 --- a/polardb/include/alibabacloud/polardb/PolardbClient.h +++ b/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 DescribeBackupPolicyOutcome; typedef std::future DescribeBackupPolicyOutcomeCallable; typedef std::function&)> DescribeBackupPolicyAsyncHandler; + typedef Outcome DescribeBackupTasksOutcome; + typedef std::future DescribeBackupTasksOutcomeCallable; + typedef std::function&)> DescribeBackupTasksAsyncHandler; typedef Outcome DescribeBackupsOutcome; typedef std::future DescribeBackupsOutcomeCallable; typedef std::function&)> 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& 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& 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& context = nullptr) const; DescribeBackupsOutcomeCallable describeBackupsCallable(const Model::DescribeBackupsRequest& request) const; diff --git a/polardb/include/alibabacloud/polardb/model/DescribeBackupTasksRequest.h b/polardb/include/alibabacloud/polardb/model/DescribeBackupTasksRequest.h new file mode 100644 index 000000000..3d9b0b8b6 --- /dev/null +++ b/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 +#include +#include +#include + +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_ \ No newline at end of file diff --git a/polardb/include/alibabacloud/polardb/model/DescribeBackupTasksResult.h b/polardb/include/alibabacloud/polardb/model/DescribeBackupTasksResult.h new file mode 100644 index 000000000..88dfa467a --- /dev/null +++ b/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 +#include +#include +#include +#include + +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 getItems()const; + + protected: + void parse(const std::string &payload); + private: + std::vector items_; + + }; + } + } +} +#endif // !ALIBABACLOUD_POLARDB_MODEL_DESCRIBEBACKUPTASKSRESULT_H_ \ No newline at end of file diff --git a/polardb/src/PolardbClient.cc b/polardb/src/PolardbClient.cc index 3d8289ee0..5f5d656d8 100644 --- a/polardb/src/PolardbClient.cc +++ b/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& 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>( + [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(); diff --git a/polardb/src/model/DescribeBackupTasksRequest.cc b/polardb/src/model/DescribeBackupTasksRequest.cc new file mode 100644 index 000000000..9169455bd --- /dev/null +++ b/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 + +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); +} + diff --git a/polardb/src/model/DescribeBackupTasksResult.cc b/polardb/src/model/DescribeBackupTasksResult.cc new file mode 100644 index 000000000..12f3bf510 --- /dev/null +++ b/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 +#include + +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::getItems()const +{ + return items_; +} +