diff --git a/VERSION b/VERSION index b883e9726..1f6d1a26b 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.36.1233 \ No newline at end of file +1.36.1234 \ No newline at end of file diff --git a/cbn/CMakeLists.txt b/cbn/CMakeLists.txt index d9d19aa46..5d3ba5f7b 100644 --- a/cbn/CMakeLists.txt +++ b/cbn/CMakeLists.txt @@ -277,6 +277,8 @@ set(cbn_public_header_model include/alibabacloud/cbn/model/UpdateTransitRouterVbrAttachmentAttributeResult.h include/alibabacloud/cbn/model/UpdateTransitRouterVpcAttachmentAttributeRequest.h include/alibabacloud/cbn/model/UpdateTransitRouterVpcAttachmentAttributeResult.h + include/alibabacloud/cbn/model/UpdateTransitRouterVpcAttachmentZonesRequest.h + include/alibabacloud/cbn/model/UpdateTransitRouterVpcAttachmentZonesResult.h include/alibabacloud/cbn/model/UpdateTransitRouterVpnAttachmentAttributeRequest.h include/alibabacloud/cbn/model/UpdateTransitRouterVpnAttachmentAttributeResult.h include/alibabacloud/cbn/model/WithdrawPublishedRouteEntriesRequest.h @@ -540,6 +542,8 @@ set(cbn_src src/model/UpdateTransitRouterVbrAttachmentAttributeResult.cc src/model/UpdateTransitRouterVpcAttachmentAttributeRequest.cc src/model/UpdateTransitRouterVpcAttachmentAttributeResult.cc + src/model/UpdateTransitRouterVpcAttachmentZonesRequest.cc + src/model/UpdateTransitRouterVpcAttachmentZonesResult.cc src/model/UpdateTransitRouterVpnAttachmentAttributeRequest.cc src/model/UpdateTransitRouterVpnAttachmentAttributeResult.cc src/model/WithdrawPublishedRouteEntriesRequest.cc diff --git a/cbn/include/alibabacloud/cbn/CbnClient.h b/cbn/include/alibabacloud/cbn/CbnClient.h index 563dbe8dc..19f80ee30 100644 --- a/cbn/include/alibabacloud/cbn/CbnClient.h +++ b/cbn/include/alibabacloud/cbn/CbnClient.h @@ -278,6 +278,8 @@ #include "model/UpdateTransitRouterVbrAttachmentAttributeResult.h" #include "model/UpdateTransitRouterVpcAttachmentAttributeRequest.h" #include "model/UpdateTransitRouterVpcAttachmentAttributeResult.h" +#include "model/UpdateTransitRouterVpcAttachmentZonesRequest.h" +#include "model/UpdateTransitRouterVpcAttachmentZonesResult.h" #include "model/UpdateTransitRouterVpnAttachmentAttributeRequest.h" #include "model/UpdateTransitRouterVpnAttachmentAttributeResult.h" #include "model/WithdrawPublishedRouteEntriesRequest.h" @@ -675,6 +677,9 @@ namespace AlibabaCloud typedef Outcome UpdateTransitRouterVpcAttachmentAttributeOutcome; typedef std::future UpdateTransitRouterVpcAttachmentAttributeOutcomeCallable; typedef std::function&)> UpdateTransitRouterVpcAttachmentAttributeAsyncHandler; + typedef Outcome UpdateTransitRouterVpcAttachmentZonesOutcome; + typedef std::future UpdateTransitRouterVpcAttachmentZonesOutcomeCallable; + typedef std::function&)> UpdateTransitRouterVpcAttachmentZonesAsyncHandler; typedef Outcome UpdateTransitRouterVpnAttachmentAttributeOutcome; typedef std::future UpdateTransitRouterVpnAttachmentAttributeOutcomeCallable; typedef std::function&)> UpdateTransitRouterVpnAttachmentAttributeAsyncHandler; @@ -1070,6 +1075,9 @@ namespace AlibabaCloud UpdateTransitRouterVpcAttachmentAttributeOutcome updateTransitRouterVpcAttachmentAttribute(const Model::UpdateTransitRouterVpcAttachmentAttributeRequest &request)const; void updateTransitRouterVpcAttachmentAttributeAsync(const Model::UpdateTransitRouterVpcAttachmentAttributeRequest& request, const UpdateTransitRouterVpcAttachmentAttributeAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; UpdateTransitRouterVpcAttachmentAttributeOutcomeCallable updateTransitRouterVpcAttachmentAttributeCallable(const Model::UpdateTransitRouterVpcAttachmentAttributeRequest& request) const; + UpdateTransitRouterVpcAttachmentZonesOutcome updateTransitRouterVpcAttachmentZones(const Model::UpdateTransitRouterVpcAttachmentZonesRequest &request)const; + void updateTransitRouterVpcAttachmentZonesAsync(const Model::UpdateTransitRouterVpcAttachmentZonesRequest& request, const UpdateTransitRouterVpcAttachmentZonesAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; + UpdateTransitRouterVpcAttachmentZonesOutcomeCallable updateTransitRouterVpcAttachmentZonesCallable(const Model::UpdateTransitRouterVpcAttachmentZonesRequest& request) const; UpdateTransitRouterVpnAttachmentAttributeOutcome updateTransitRouterVpnAttachmentAttribute(const Model::UpdateTransitRouterVpnAttachmentAttributeRequest &request)const; void updateTransitRouterVpnAttachmentAttributeAsync(const Model::UpdateTransitRouterVpnAttachmentAttributeRequest& request, const UpdateTransitRouterVpnAttachmentAttributeAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; UpdateTransitRouterVpnAttachmentAttributeOutcomeCallable updateTransitRouterVpnAttachmentAttributeCallable(const Model::UpdateTransitRouterVpnAttachmentAttributeRequest& request) const; diff --git a/cbn/include/alibabacloud/cbn/model/UpdateTransitRouterVpcAttachmentZonesRequest.h b/cbn/include/alibabacloud/cbn/model/UpdateTransitRouterVpcAttachmentZonesRequest.h new file mode 100644 index 000000000..72845ca17 --- /dev/null +++ b/cbn/include/alibabacloud/cbn/model/UpdateTransitRouterVpcAttachmentZonesRequest.h @@ -0,0 +1,74 @@ +/* + * 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_CBN_MODEL_UPDATETRANSITROUTERVPCATTACHMENTZONESREQUEST_H_ +#define ALIBABACLOUD_CBN_MODEL_UPDATETRANSITROUTERVPCATTACHMENTZONESREQUEST_H_ + +#include +#include +#include +#include +#include + +namespace AlibabaCloud { +namespace Cbn { +namespace Model { +class ALIBABACLOUD_CBN_EXPORT UpdateTransitRouterVpcAttachmentZonesRequest : public RpcServiceRequest { +public: + struct RemoveZoneMappings { + std::string vSwitchId; + std::string zoneId; + }; + struct AddZoneMappings { + std::string vSwitchId; + std::string zoneId; + }; + UpdateTransitRouterVpcAttachmentZonesRequest(); + ~UpdateTransitRouterVpcAttachmentZonesRequest(); + long getResourceOwnerId() const; + void setResourceOwnerId(long resourceOwnerId); + std::string getClientToken() const; + void setClientToken(const std::string &clientToken); + std::vector getRemoveZoneMappings() const; + void setRemoveZoneMappings(const std::vector &removeZoneMappings); + std::vector getAddZoneMappings() const; + void setAddZoneMappings(const std::vector &addZoneMappings); + bool getDryRun() const; + void setDryRun(bool dryRun); + std::string getResourceOwnerAccount() const; + void setResourceOwnerAccount(const std::string &resourceOwnerAccount); + std::string getOwnerAccount() const; + void setOwnerAccount(const std::string &ownerAccount); + long getOwnerId() const; + void setOwnerId(long ownerId); + std::string getTransitRouterAttachmentId() const; + void setTransitRouterAttachmentId(const std::string &transitRouterAttachmentId); + +private: + long resourceOwnerId_; + std::string clientToken_; + std::vector removeZoneMappings_; + std::vector addZoneMappings_; + bool dryRun_; + std::string resourceOwnerAccount_; + std::string ownerAccount_; + long ownerId_; + std::string transitRouterAttachmentId_; +}; +} // namespace Model +} // namespace Cbn +} // namespace AlibabaCloud +#endif // !ALIBABACLOUD_CBN_MODEL_UPDATETRANSITROUTERVPCATTACHMENTZONESREQUEST_H_ diff --git a/cbn/include/alibabacloud/cbn/model/UpdateTransitRouterVpcAttachmentZonesResult.h b/cbn/include/alibabacloud/cbn/model/UpdateTransitRouterVpcAttachmentZonesResult.h new file mode 100644 index 000000000..0f3bf00d0 --- /dev/null +++ b/cbn/include/alibabacloud/cbn/model/UpdateTransitRouterVpcAttachmentZonesResult.h @@ -0,0 +1,49 @@ +/* + * 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_CBN_MODEL_UPDATETRANSITROUTERVPCATTACHMENTZONESRESULT_H_ +#define ALIBABACLOUD_CBN_MODEL_UPDATETRANSITROUTERVPCATTACHMENTZONESRESULT_H_ + +#include +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace Cbn + { + namespace Model + { + class ALIBABACLOUD_CBN_EXPORT UpdateTransitRouterVpcAttachmentZonesResult : public ServiceResult + { + public: + + + UpdateTransitRouterVpcAttachmentZonesResult(); + explicit UpdateTransitRouterVpcAttachmentZonesResult(const std::string &payload); + ~UpdateTransitRouterVpcAttachmentZonesResult(); + + protected: + void parse(const std::string &payload); + private: + + }; + } + } +} +#endif // !ALIBABACLOUD_CBN_MODEL_UPDATETRANSITROUTERVPCATTACHMENTZONESRESULT_H_ \ No newline at end of file diff --git a/cbn/src/CbnClient.cc b/cbn/src/CbnClient.cc index 65ef5fad1..78e8c9dc9 100644 --- a/cbn/src/CbnClient.cc +++ b/cbn/src/CbnClient.cc @@ -4659,6 +4659,42 @@ CbnClient::UpdateTransitRouterVpcAttachmentAttributeOutcomeCallable CbnClient::u return task->get_future(); } +CbnClient::UpdateTransitRouterVpcAttachmentZonesOutcome CbnClient::updateTransitRouterVpcAttachmentZones(const UpdateTransitRouterVpcAttachmentZonesRequest &request) const +{ + auto endpointOutcome = endpointProvider_->getEndpoint(); + if (!endpointOutcome.isSuccess()) + return UpdateTransitRouterVpcAttachmentZonesOutcome(endpointOutcome.error()); + + auto outcome = makeRequest(endpointOutcome.result(), request); + + if (outcome.isSuccess()) + return UpdateTransitRouterVpcAttachmentZonesOutcome(UpdateTransitRouterVpcAttachmentZonesResult(outcome.result())); + else + return UpdateTransitRouterVpcAttachmentZonesOutcome(outcome.error()); +} + +void CbnClient::updateTransitRouterVpcAttachmentZonesAsync(const UpdateTransitRouterVpcAttachmentZonesRequest& request, const UpdateTransitRouterVpcAttachmentZonesAsyncHandler& handler, const std::shared_ptr& context) const +{ + auto fn = [this, request, handler, context]() + { + handler(this, request, updateTransitRouterVpcAttachmentZones(request), context); + }; + + asyncExecute(new Runnable(fn)); +} + +CbnClient::UpdateTransitRouterVpcAttachmentZonesOutcomeCallable CbnClient::updateTransitRouterVpcAttachmentZonesCallable(const UpdateTransitRouterVpcAttachmentZonesRequest &request) const +{ + auto task = std::make_shared>( + [this, request]() + { + return this->updateTransitRouterVpcAttachmentZones(request); + }); + + asyncExecute(new Runnable([task]() { (*task)(); })); + return task->get_future(); +} + CbnClient::UpdateTransitRouterVpnAttachmentAttributeOutcome CbnClient::updateTransitRouterVpnAttachmentAttribute(const UpdateTransitRouterVpnAttachmentAttributeRequest &request) const { auto endpointOutcome = endpointProvider_->getEndpoint(); diff --git a/cbn/src/model/UpdateTransitRouterVpcAttachmentZonesRequest.cc b/cbn/src/model/UpdateTransitRouterVpcAttachmentZonesRequest.cc new file mode 100644 index 000000000..4ccc071bb --- /dev/null +++ b/cbn/src/model/UpdateTransitRouterVpcAttachmentZonesRequest.cc @@ -0,0 +1,118 @@ +/* + * 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::Cbn::Model::UpdateTransitRouterVpcAttachmentZonesRequest; + +UpdateTransitRouterVpcAttachmentZonesRequest::UpdateTransitRouterVpcAttachmentZonesRequest() + : RpcServiceRequest("cbn", "2017-09-12", "UpdateTransitRouterVpcAttachmentZones") { + setMethod(HttpRequest::Method::Post); +} + +UpdateTransitRouterVpcAttachmentZonesRequest::~UpdateTransitRouterVpcAttachmentZonesRequest() {} + +long UpdateTransitRouterVpcAttachmentZonesRequest::getResourceOwnerId() const { + return resourceOwnerId_; +} + +void UpdateTransitRouterVpcAttachmentZonesRequest::setResourceOwnerId(long resourceOwnerId) { + resourceOwnerId_ = resourceOwnerId; + setParameter(std::string("ResourceOwnerId"), std::to_string(resourceOwnerId)); +} + +std::string UpdateTransitRouterVpcAttachmentZonesRequest::getClientToken() const { + return clientToken_; +} + +void UpdateTransitRouterVpcAttachmentZonesRequest::setClientToken(const std::string &clientToken) { + clientToken_ = clientToken; + setParameter(std::string("ClientToken"), clientToken); +} + +std::vector UpdateTransitRouterVpcAttachmentZonesRequest::getRemoveZoneMappings() const { + return removeZoneMappings_; +} + +void UpdateTransitRouterVpcAttachmentZonesRequest::setRemoveZoneMappings(const std::vector &removeZoneMappings) { + removeZoneMappings_ = removeZoneMappings; + for(int dep1 = 0; dep1 != removeZoneMappings.size(); dep1++) { + auto removeZoneMappingsObj = removeZoneMappings.at(dep1); + std::string removeZoneMappingsObjStr = std::string("RemoveZoneMappings") + "." + std::to_string(dep1 + 1); + setParameter(removeZoneMappingsObjStr + ".VSwitchId", removeZoneMappingsObj.vSwitchId); + setParameter(removeZoneMappingsObjStr + ".ZoneId", removeZoneMappingsObj.zoneId); + } +} + +std::vector UpdateTransitRouterVpcAttachmentZonesRequest::getAddZoneMappings() const { + return addZoneMappings_; +} + +void UpdateTransitRouterVpcAttachmentZonesRequest::setAddZoneMappings(const std::vector &addZoneMappings) { + addZoneMappings_ = addZoneMappings; + for(int dep1 = 0; dep1 != addZoneMappings.size(); dep1++) { + auto addZoneMappingsObj = addZoneMappings.at(dep1); + std::string addZoneMappingsObjStr = std::string("AddZoneMappings") + "." + std::to_string(dep1 + 1); + setParameter(addZoneMappingsObjStr + ".VSwitchId", addZoneMappingsObj.vSwitchId); + setParameter(addZoneMappingsObjStr + ".ZoneId", addZoneMappingsObj.zoneId); + } +} + +bool UpdateTransitRouterVpcAttachmentZonesRequest::getDryRun() const { + return dryRun_; +} + +void UpdateTransitRouterVpcAttachmentZonesRequest::setDryRun(bool dryRun) { + dryRun_ = dryRun; + setParameter(std::string("DryRun"), dryRun ? "true" : "false"); +} + +std::string UpdateTransitRouterVpcAttachmentZonesRequest::getResourceOwnerAccount() const { + return resourceOwnerAccount_; +} + +void UpdateTransitRouterVpcAttachmentZonesRequest::setResourceOwnerAccount(const std::string &resourceOwnerAccount) { + resourceOwnerAccount_ = resourceOwnerAccount; + setParameter(std::string("ResourceOwnerAccount"), resourceOwnerAccount); +} + +std::string UpdateTransitRouterVpcAttachmentZonesRequest::getOwnerAccount() const { + return ownerAccount_; +} + +void UpdateTransitRouterVpcAttachmentZonesRequest::setOwnerAccount(const std::string &ownerAccount) { + ownerAccount_ = ownerAccount; + setParameter(std::string("OwnerAccount"), ownerAccount); +} + +long UpdateTransitRouterVpcAttachmentZonesRequest::getOwnerId() const { + return ownerId_; +} + +void UpdateTransitRouterVpcAttachmentZonesRequest::setOwnerId(long ownerId) { + ownerId_ = ownerId; + setParameter(std::string("OwnerId"), std::to_string(ownerId)); +} + +std::string UpdateTransitRouterVpcAttachmentZonesRequest::getTransitRouterAttachmentId() const { + return transitRouterAttachmentId_; +} + +void UpdateTransitRouterVpcAttachmentZonesRequest::setTransitRouterAttachmentId(const std::string &transitRouterAttachmentId) { + transitRouterAttachmentId_ = transitRouterAttachmentId; + setParameter(std::string("TransitRouterAttachmentId"), transitRouterAttachmentId); +} + diff --git a/cbn/src/model/UpdateTransitRouterVpcAttachmentZonesResult.cc b/cbn/src/model/UpdateTransitRouterVpcAttachmentZonesResult.cc new file mode 100644 index 000000000..4cdb2c1ef --- /dev/null +++ b/cbn/src/model/UpdateTransitRouterVpcAttachmentZonesResult.cc @@ -0,0 +1,44 @@ +/* + * 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::Cbn; +using namespace AlibabaCloud::Cbn::Model; + +UpdateTransitRouterVpcAttachmentZonesResult::UpdateTransitRouterVpcAttachmentZonesResult() : + ServiceResult() +{} + +UpdateTransitRouterVpcAttachmentZonesResult::UpdateTransitRouterVpcAttachmentZonesResult(const std::string &payload) : + ServiceResult() +{ + parse(payload); +} + +UpdateTransitRouterVpcAttachmentZonesResult::~UpdateTransitRouterVpcAttachmentZonesResult() +{} + +void UpdateTransitRouterVpcAttachmentZonesResult::parse(const std::string &payload) +{ + Json::Reader reader; + Json::Value value; + reader.parse(payload, value); + setRequestId(value["RequestId"].asString()); + +} +