From f0971eaa3436be5e40d822d38336b8920c71db91 Mon Sep 17 00:00:00 2001 From: sdk-team Date: Wed, 18 Mar 2020 17:39:55 +0800 Subject: [PATCH] Supported API for DescribeInstanceDomains. --- CHANGELOG | 3 + VERSION | 2 +- alidns/CMakeLists.txt | 4 + .../alibabacloud/alidns/AlidnsClient.h | 8 ++ .../model/DescribeInstanceDomainsRequest.h | 60 +++++++++++++ .../model/DescribeInstanceDomainsResult.h | 65 ++++++++++++++ alidns/src/AlidnsClient.cc | 36 ++++++++ .../model/DescribeInstanceDomainsRequest.cc | 84 +++++++++++++++++ .../model/DescribeInstanceDomainsResult.cc | 89 +++++++++++++++++++ 9 files changed, 350 insertions(+), 1 deletion(-) create mode 100644 alidns/include/alibabacloud/alidns/model/DescribeInstanceDomainsRequest.h create mode 100644 alidns/include/alibabacloud/alidns/model/DescribeInstanceDomainsResult.h create mode 100644 alidns/src/model/DescribeInstanceDomainsRequest.cc create mode 100644 alidns/src/model/DescribeInstanceDomainsResult.cc diff --git a/CHANGELOG b/CHANGELOG index 117e908cc..8c31943a9 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,6 @@ +2020-03-18 Version: 1.36.325 +- Supported API for DescribeInstanceDomains. + 2020-03-18 Version: 1.36.324 - ACM POP SDK. diff --git a/VERSION b/VERSION index d0330dc32..68d61667f 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.36.324 \ No newline at end of file +1.36.325 \ No newline at end of file diff --git a/alidns/CMakeLists.txt b/alidns/CMakeLists.txt index 02e7b33bf..7eafaaadc 100644 --- a/alidns/CMakeLists.txt +++ b/alidns/CMakeLists.txt @@ -127,6 +127,8 @@ set(alidns_public_header_model include/alibabacloud/alidns/model/DescribeGtmRecoveryPlanAvailableConfigResult.h include/alibabacloud/alidns/model/DescribeGtmRecoveryPlansRequest.h include/alibabacloud/alidns/model/DescribeGtmRecoveryPlansResult.h + include/alibabacloud/alidns/model/DescribeInstanceDomainsRequest.h + include/alibabacloud/alidns/model/DescribeInstanceDomainsResult.h include/alibabacloud/alidns/model/DescribeRecordLogsRequest.h include/alibabacloud/alidns/model/DescribeRecordLogsResult.h include/alibabacloud/alidns/model/DescribeRecordStatisticsRequest.h @@ -300,6 +302,8 @@ set(alidns_src src/model/DescribeGtmRecoveryPlanAvailableConfigResult.cc src/model/DescribeGtmRecoveryPlansRequest.cc src/model/DescribeGtmRecoveryPlansResult.cc + src/model/DescribeInstanceDomainsRequest.cc + src/model/DescribeInstanceDomainsResult.cc src/model/DescribeRecordLogsRequest.cc src/model/DescribeRecordLogsResult.cc src/model/DescribeRecordStatisticsRequest.cc diff --git a/alidns/include/alibabacloud/alidns/AlidnsClient.h b/alidns/include/alibabacloud/alidns/AlidnsClient.h index 0ac0f3849..3b633b15c 100644 --- a/alidns/include/alibabacloud/alidns/AlidnsClient.h +++ b/alidns/include/alibabacloud/alidns/AlidnsClient.h @@ -128,6 +128,8 @@ #include "model/DescribeGtmRecoveryPlanAvailableConfigResult.h" #include "model/DescribeGtmRecoveryPlansRequest.h" #include "model/DescribeGtmRecoveryPlansResult.h" +#include "model/DescribeInstanceDomainsRequest.h" +#include "model/DescribeInstanceDomainsResult.h" #include "model/DescribeRecordLogsRequest.h" #include "model/DescribeRecordLogsResult.h" #include "model/DescribeRecordStatisticsRequest.h" @@ -360,6 +362,9 @@ namespace AlibabaCloud typedef Outcome DescribeGtmRecoveryPlansOutcome; typedef std::future DescribeGtmRecoveryPlansOutcomeCallable; typedef std::function&)> DescribeGtmRecoveryPlansAsyncHandler; + typedef Outcome DescribeInstanceDomainsOutcome; + typedef std::future DescribeInstanceDomainsOutcomeCallable; + typedef std::function&)> DescribeInstanceDomainsAsyncHandler; typedef Outcome DescribeRecordLogsOutcome; typedef std::future DescribeRecordLogsOutcomeCallable; typedef std::function&)> DescribeRecordLogsAsyncHandler; @@ -620,6 +625,9 @@ namespace AlibabaCloud DescribeGtmRecoveryPlansOutcome describeGtmRecoveryPlans(const Model::DescribeGtmRecoveryPlansRequest &request)const; void describeGtmRecoveryPlansAsync(const Model::DescribeGtmRecoveryPlansRequest& request, const DescribeGtmRecoveryPlansAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; DescribeGtmRecoveryPlansOutcomeCallable describeGtmRecoveryPlansCallable(const Model::DescribeGtmRecoveryPlansRequest& request) const; + DescribeInstanceDomainsOutcome describeInstanceDomains(const Model::DescribeInstanceDomainsRequest &request)const; + void describeInstanceDomainsAsync(const Model::DescribeInstanceDomainsRequest& request, const DescribeInstanceDomainsAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; + DescribeInstanceDomainsOutcomeCallable describeInstanceDomainsCallable(const Model::DescribeInstanceDomainsRequest& request) const; DescribeRecordLogsOutcome describeRecordLogs(const Model::DescribeRecordLogsRequest &request)const; void describeRecordLogsAsync(const Model::DescribeRecordLogsRequest& request, const DescribeRecordLogsAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; DescribeRecordLogsOutcomeCallable describeRecordLogsCallable(const Model::DescribeRecordLogsRequest& request) const; diff --git a/alidns/include/alibabacloud/alidns/model/DescribeInstanceDomainsRequest.h b/alidns/include/alibabacloud/alidns/model/DescribeInstanceDomainsRequest.h new file mode 100644 index 000000000..8fa4f7c95 --- /dev/null +++ b/alidns/include/alibabacloud/alidns/model/DescribeInstanceDomainsRequest.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_ALIDNS_MODEL_DESCRIBEINSTANCEDOMAINSREQUEST_H_ +#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEINSTANCEDOMAINSREQUEST_H_ + +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace Alidns + { + namespace Model + { + class ALIBABACLOUD_ALIDNS_EXPORT DescribeInstanceDomainsRequest : public RpcServiceRequest + { + + public: + DescribeInstanceDomainsRequest(); + ~DescribeInstanceDomainsRequest(); + + long getPageNumber()const; + void setPageNumber(long pageNumber); + std::string getInstanceId()const; + void setInstanceId(const std::string& instanceId); + std::string getUserClientIp()const; + void setUserClientIp(const std::string& userClientIp); + long getPageSize()const; + void setPageSize(long pageSize); + std::string getLang()const; + void setLang(const std::string& lang); + + private: + long pageNumber_; + std::string instanceId_; + std::string userClientIp_; + long pageSize_; + std::string lang_; + + }; + } + } +} +#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEINSTANCEDOMAINSREQUEST_H_ \ No newline at end of file diff --git a/alidns/include/alibabacloud/alidns/model/DescribeInstanceDomainsResult.h b/alidns/include/alibabacloud/alidns/model/DescribeInstanceDomainsResult.h new file mode 100644 index 000000000..40ec58a0a --- /dev/null +++ b/alidns/include/alibabacloud/alidns/model/DescribeInstanceDomainsResult.h @@ -0,0 +1,65 @@ +/* + * 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_ALIDNS_MODEL_DESCRIBEINSTANCEDOMAINSRESULT_H_ +#define ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEINSTANCEDOMAINSRESULT_H_ + +#include +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace Alidns + { + namespace Model + { + class ALIBABACLOUD_ALIDNS_EXPORT DescribeInstanceDomainsResult : public ServiceResult + { + public: + struct InstanceDomain + { + std::string domainName; + std::string createTime; + long createTimestamp; + }; + + + DescribeInstanceDomainsResult(); + explicit DescribeInstanceDomainsResult(const std::string &payload); + ~DescribeInstanceDomainsResult(); + int getPageSize()const; + int getPageNumber()const; + std::vector getInstanceDomains()const; + int getTotalPages()const; + int getTotalItems()const; + + protected: + void parse(const std::string &payload); + private: + int pageSize_; + int pageNumber_; + std::vector instanceDomains_; + int totalPages_; + int totalItems_; + + }; + } + } +} +#endif // !ALIBABACLOUD_ALIDNS_MODEL_DESCRIBEINSTANCEDOMAINSRESULT_H_ \ No newline at end of file diff --git a/alidns/src/AlidnsClient.cc b/alidns/src/AlidnsClient.cc index 77833052b..9a8cda755 100644 --- a/alidns/src/AlidnsClient.cc +++ b/alidns/src/AlidnsClient.cc @@ -1959,6 +1959,42 @@ AlidnsClient::DescribeGtmRecoveryPlansOutcomeCallable AlidnsClient::describeGtmR return task->get_future(); } +AlidnsClient::DescribeInstanceDomainsOutcome AlidnsClient::describeInstanceDomains(const DescribeInstanceDomainsRequest &request) const +{ + auto endpointOutcome = endpointProvider_->getEndpoint(); + if (!endpointOutcome.isSuccess()) + return DescribeInstanceDomainsOutcome(endpointOutcome.error()); + + auto outcome = makeRequest(endpointOutcome.result(), request); + + if (outcome.isSuccess()) + return DescribeInstanceDomainsOutcome(DescribeInstanceDomainsResult(outcome.result())); + else + return DescribeInstanceDomainsOutcome(outcome.error()); +} + +void AlidnsClient::describeInstanceDomainsAsync(const DescribeInstanceDomainsRequest& request, const DescribeInstanceDomainsAsyncHandler& handler, const std::shared_ptr& context) const +{ + auto fn = [this, request, handler, context]() + { + handler(this, request, describeInstanceDomains(request), context); + }; + + asyncExecute(new Runnable(fn)); +} + +AlidnsClient::DescribeInstanceDomainsOutcomeCallable AlidnsClient::describeInstanceDomainsCallable(const DescribeInstanceDomainsRequest &request) const +{ + auto task = std::make_shared>( + [this, request]() + { + return this->describeInstanceDomains(request); + }); + + asyncExecute(new Runnable([task]() { (*task)(); })); + return task->get_future(); +} + AlidnsClient::DescribeRecordLogsOutcome AlidnsClient::describeRecordLogs(const DescribeRecordLogsRequest &request) const { auto endpointOutcome = endpointProvider_->getEndpoint(); diff --git a/alidns/src/model/DescribeInstanceDomainsRequest.cc b/alidns/src/model/DescribeInstanceDomainsRequest.cc new file mode 100644 index 000000000..cf0f99b6f --- /dev/null +++ b/alidns/src/model/DescribeInstanceDomainsRequest.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 + +using AlibabaCloud::Alidns::Model::DescribeInstanceDomainsRequest; + +DescribeInstanceDomainsRequest::DescribeInstanceDomainsRequest() : + RpcServiceRequest("alidns", "2015-01-09", "DescribeInstanceDomains") +{ + setMethod(HttpRequest::Method::Post); +} + +DescribeInstanceDomainsRequest::~DescribeInstanceDomainsRequest() +{} + +long DescribeInstanceDomainsRequest::getPageNumber()const +{ + return pageNumber_; +} + +void DescribeInstanceDomainsRequest::setPageNumber(long pageNumber) +{ + pageNumber_ = pageNumber; + setParameter("PageNumber", std::to_string(pageNumber)); +} + +std::string DescribeInstanceDomainsRequest::getInstanceId()const +{ + return instanceId_; +} + +void DescribeInstanceDomainsRequest::setInstanceId(const std::string& instanceId) +{ + instanceId_ = instanceId; + setParameter("InstanceId", instanceId); +} + +std::string DescribeInstanceDomainsRequest::getUserClientIp()const +{ + return userClientIp_; +} + +void DescribeInstanceDomainsRequest::setUserClientIp(const std::string& userClientIp) +{ + userClientIp_ = userClientIp; + setParameter("UserClientIp", userClientIp); +} + +long DescribeInstanceDomainsRequest::getPageSize()const +{ + return pageSize_; +} + +void DescribeInstanceDomainsRequest::setPageSize(long pageSize) +{ + pageSize_ = pageSize; + setParameter("PageSize", std::to_string(pageSize)); +} + +std::string DescribeInstanceDomainsRequest::getLang()const +{ + return lang_; +} + +void DescribeInstanceDomainsRequest::setLang(const std::string& lang) +{ + lang_ = lang; + setParameter("Lang", lang); +} + diff --git a/alidns/src/model/DescribeInstanceDomainsResult.cc b/alidns/src/model/DescribeInstanceDomainsResult.cc new file mode 100644 index 000000000..0062b44e4 --- /dev/null +++ b/alidns/src/model/DescribeInstanceDomainsResult.cc @@ -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. + */ + +#include +#include + +using namespace AlibabaCloud::Alidns; +using namespace AlibabaCloud::Alidns::Model; + +DescribeInstanceDomainsResult::DescribeInstanceDomainsResult() : + ServiceResult() +{} + +DescribeInstanceDomainsResult::DescribeInstanceDomainsResult(const std::string &payload) : + ServiceResult() +{ + parse(payload); +} + +DescribeInstanceDomainsResult::~DescribeInstanceDomainsResult() +{} + +void DescribeInstanceDomainsResult::parse(const std::string &payload) +{ + Json::Reader reader; + Json::Value value; + reader.parse(payload, value); + setRequestId(value["RequestId"].asString()); + auto allInstanceDomainsNode = value["InstanceDomains"]["InstanceDomain"]; + for (auto valueInstanceDomainsInstanceDomain : allInstanceDomainsNode) + { + InstanceDomain instanceDomainsObject; + if(!valueInstanceDomainsInstanceDomain["DomainName"].isNull()) + instanceDomainsObject.domainName = valueInstanceDomainsInstanceDomain["DomainName"].asString(); + if(!valueInstanceDomainsInstanceDomain["CreateTime"].isNull()) + instanceDomainsObject.createTime = valueInstanceDomainsInstanceDomain["CreateTime"].asString(); + if(!valueInstanceDomainsInstanceDomain["CreateTimestamp"].isNull()) + instanceDomainsObject.createTimestamp = std::stol(valueInstanceDomainsInstanceDomain["CreateTimestamp"].asString()); + instanceDomains_.push_back(instanceDomainsObject); + } + if(!value["TotalItems"].isNull()) + totalItems_ = std::stoi(value["TotalItems"].asString()); + if(!value["PageNumber"].isNull()) + pageNumber_ = std::stoi(value["PageNumber"].asString()); + if(!value["PageSize"].isNull()) + pageSize_ = std::stoi(value["PageSize"].asString()); + if(!value["TotalPages"].isNull()) + totalPages_ = std::stoi(value["TotalPages"].asString()); + +} + +int DescribeInstanceDomainsResult::getPageSize()const +{ + return pageSize_; +} + +int DescribeInstanceDomainsResult::getPageNumber()const +{ + return pageNumber_; +} + +std::vector DescribeInstanceDomainsResult::getInstanceDomains()const +{ + return instanceDomains_; +} + +int DescribeInstanceDomainsResult::getTotalPages()const +{ + return totalPages_; +} + +int DescribeInstanceDomainsResult::getTotalItems()const +{ + return totalItems_; +} +