Преглед изворни кода

Support DeleteTransitRouter API.

sdk-team пре 4 година
родитељ
комит
6b5999e621

+ 3 - 0
CHANGELOG

@@ -1,3 +1,6 @@
+2022-01-11 Version: 1.36.1023
+- Support  DeleteTransitRouter API.
+
 2022-01-11 Version: 1.36.1022
 - Fix bugs.
 

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.1022
+1.36.1023

+ 4 - 0
cbn/CMakeLists.txt

@@ -83,6 +83,8 @@ set(cbn_public_header_model
 	include/alibabacloud/cbn/model/DeleteRouteServiceInCenResult.h
 	include/alibabacloud/cbn/model/DeleteTrafficMarkingPolicyRequest.h
 	include/alibabacloud/cbn/model/DeleteTrafficMarkingPolicyResult.h
+	include/alibabacloud/cbn/model/DeleteTransitRouterRequest.h
+	include/alibabacloud/cbn/model/DeleteTransitRouterResult.h
 	include/alibabacloud/cbn/model/DeleteTransitRouterPeerAttachmentRequest.h
 	include/alibabacloud/cbn/model/DeleteTransitRouterPeerAttachmentResult.h
 	include/alibabacloud/cbn/model/DeleteTransitRouterRouteEntryRequest.h
@@ -294,6 +296,8 @@ set(cbn_src
 	src/model/DeleteRouteServiceInCenResult.cc
 	src/model/DeleteTrafficMarkingPolicyRequest.cc
 	src/model/DeleteTrafficMarkingPolicyResult.cc
+	src/model/DeleteTransitRouterRequest.cc
+	src/model/DeleteTransitRouterResult.cc
 	src/model/DeleteTransitRouterPeerAttachmentRequest.cc
 	src/model/DeleteTransitRouterPeerAttachmentResult.cc
 	src/model/DeleteTransitRouterRouteEntryRequest.cc

+ 8 - 0
cbn/include/alibabacloud/cbn/CbnClient.h

@@ -84,6 +84,8 @@
 #include "model/DeleteRouteServiceInCenResult.h"
 #include "model/DeleteTrafficMarkingPolicyRequest.h"
 #include "model/DeleteTrafficMarkingPolicyResult.h"
+#include "model/DeleteTransitRouterRequest.h"
+#include "model/DeleteTransitRouterResult.h"
 #include "model/DeleteTransitRouterPeerAttachmentRequest.h"
 #include "model/DeleteTransitRouterPeerAttachmentResult.h"
 #include "model/DeleteTransitRouterRouteEntryRequest.h"
@@ -332,6 +334,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DeleteTrafficMarkingPolicyResult> DeleteTrafficMarkingPolicyOutcome;
 			typedef std::future<DeleteTrafficMarkingPolicyOutcome> DeleteTrafficMarkingPolicyOutcomeCallable;
 			typedef std::function<void(const CbnClient*, const Model::DeleteTrafficMarkingPolicyRequest&, const DeleteTrafficMarkingPolicyOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteTrafficMarkingPolicyAsyncHandler;
+			typedef Outcome<Error, Model::DeleteTransitRouterResult> DeleteTransitRouterOutcome;
+			typedef std::future<DeleteTransitRouterOutcome> DeleteTransitRouterOutcomeCallable;
+			typedef std::function<void(const CbnClient*, const Model::DeleteTransitRouterRequest&, const DeleteTransitRouterOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteTransitRouterAsyncHandler;
 			typedef Outcome<Error, Model::DeleteTransitRouterPeerAttachmentResult> DeleteTransitRouterPeerAttachmentOutcome;
 			typedef std::future<DeleteTransitRouterPeerAttachmentOutcome> DeleteTransitRouterPeerAttachmentOutcomeCallable;
 			typedef std::function<void(const CbnClient*, const Model::DeleteTransitRouterPeerAttachmentRequest&, const DeleteTransitRouterPeerAttachmentOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteTransitRouterPeerAttachmentAsyncHandler;
@@ -649,6 +654,9 @@ namespace AlibabaCloud
 			DeleteTrafficMarkingPolicyOutcome deleteTrafficMarkingPolicy(const Model::DeleteTrafficMarkingPolicyRequest &request)const;
 			void deleteTrafficMarkingPolicyAsync(const Model::DeleteTrafficMarkingPolicyRequest& request, const DeleteTrafficMarkingPolicyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteTrafficMarkingPolicyOutcomeCallable deleteTrafficMarkingPolicyCallable(const Model::DeleteTrafficMarkingPolicyRequest& request) const;
+			DeleteTransitRouterOutcome deleteTransitRouter(const Model::DeleteTransitRouterRequest &request)const;
+			void deleteTransitRouterAsync(const Model::DeleteTransitRouterRequest& request, const DeleteTransitRouterAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteTransitRouterOutcomeCallable deleteTransitRouterCallable(const Model::DeleteTransitRouterRequest& request) const;
 			DeleteTransitRouterPeerAttachmentOutcome deleteTransitRouterPeerAttachment(const Model::DeleteTransitRouterPeerAttachmentRequest &request)const;
 			void deleteTransitRouterPeerAttachmentAsync(const Model::DeleteTransitRouterPeerAttachmentRequest& request, const DeleteTransitRouterPeerAttachmentAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteTransitRouterPeerAttachmentOutcomeCallable deleteTransitRouterPeerAttachmentCallable(const Model::DeleteTransitRouterPeerAttachmentRequest& request) const;

+ 3 - 0
cbn/include/alibabacloud/cbn/model/CreateTransitRouterRequest.h

@@ -34,6 +34,8 @@ public:
 	void setTransitRouterName(const std::string &transitRouterName);
 	long getResourceOwnerId() const;
 	void setResourceOwnerId(long resourceOwnerId);
+	std::string getServiceMode() const;
+	void setServiceMode(const std::string &serviceMode);
 	std::string getClientToken() const;
 	void setClientToken(const std::string &clientToken);
 	std::string getCenId() const;
@@ -56,6 +58,7 @@ public:
 private:
 	std::string transitRouterName_;
 	long resourceOwnerId_;
+	std::string serviceMode_;
 	std::string clientToken_;
 	std::string cenId_;
 	std::string type_;

+ 3 - 0
cbn/include/alibabacloud/cbn/model/CreateTransitRouterVpcAttachmentRequest.h

@@ -36,6 +36,8 @@ public:
 	~CreateTransitRouterVpcAttachmentRequest();
 	long getResourceOwnerId() const;
 	void setResourceOwnerId(long resourceOwnerId);
+	std::string getServiceMode() const;
+	void setServiceMode(const std::string &serviceMode);
 	long getVpcOwnerId() const;
 	void setVpcOwnerId(long vpcOwnerId);
 	std::string getClientToken() const;
@@ -75,6 +77,7 @@ public:
 
 private:
 	long resourceOwnerId_;
+	std::string serviceMode_;
 	long vpcOwnerId_;
 	std::string clientToken_;
 	std::string cenId_;

+ 60 - 0
cbn/include/alibabacloud/cbn/model/DeleteTransitRouterRequest.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_CBN_MODEL_DELETETRANSITROUTERREQUEST_H_
+#define ALIBABACLOUD_CBN_MODEL_DELETETRANSITROUTERREQUEST_H_
+
+#include <alibabacloud/cbn/CbnExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Cbn {
+namespace Model {
+class ALIBABACLOUD_CBN_EXPORT DeleteTransitRouterRequest : public RpcServiceRequest {
+public:
+	DeleteTransitRouterRequest();
+	~DeleteTransitRouterRequest();
+	long getResourceOwnerId() const;
+	void setResourceOwnerId(long resourceOwnerId);
+	std::string getClientToken() const;
+	void setClientToken(const std::string &clientToken);
+	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 getTransitRouterId() const;
+	void setTransitRouterId(const std::string &transitRouterId);
+
+private:
+	long resourceOwnerId_;
+	std::string clientToken_;
+	bool dryRun_;
+	std::string resourceOwnerAccount_;
+	std::string ownerAccount_;
+	long ownerId_;
+	std::string transitRouterId_;
+};
+} // namespace Model
+} // namespace Cbn
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_CBN_MODEL_DELETETRANSITROUTERREQUEST_H_

+ 49 - 0
cbn/include/alibabacloud/cbn/model/DeleteTransitRouterResult.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_DELETETRANSITROUTERRESULT_H_
+#define ALIBABACLOUD_CBN_MODEL_DELETETRANSITROUTERRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cbn/CbnExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cbn
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CBN_EXPORT DeleteTransitRouterResult : public ServiceResult
+			{
+			public:
+
+
+				DeleteTransitRouterResult();
+				explicit DeleteTransitRouterResult(const std::string &payload);
+				~DeleteTransitRouterResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CBN_MODEL_DELETETRANSITROUTERRESULT_H_

+ 2 - 0
cbn/include/alibabacloud/cbn/model/ListTransitRouterVpcAttachmentsResult.h

@@ -38,6 +38,7 @@ namespace AlibabaCloud
 					{
 						std::string zoneId;
 						std::string vSwitchId;
+						std::string networkInterfaceId;
 					};
 					std::string status;
 					std::string transitRouterAttachmentId;
@@ -47,6 +48,7 @@ namespace AlibabaCloud
 					std::string transitRouterAttachmentName;
 					std::string resourceType;
 					std::vector<TransitRouterAttachment::ZoneMapping> zoneMappings;
+					std::string serviceMode;
 					std::string transitRouterAttachmentDescription;
 					long vpcOwnerId;
 					std::string transitRouterId;

+ 1 - 0
cbn/include/alibabacloud/cbn/model/ListTransitRoutersResult.h

@@ -41,6 +41,7 @@ namespace AlibabaCloud
 					std::string transitRouterDescription;
 					std::string transitRouterName;
 					std::string regionId;
+					std::string serviceMode;
 					std::string transitRouterId;
 					long aliUid;
 				};

+ 36 - 0
cbn/src/CbnClient.cc

@@ -1167,6 +1167,42 @@ CbnClient::DeleteTrafficMarkingPolicyOutcomeCallable CbnClient::deleteTrafficMar
 	return task->get_future();
 }
 
+CbnClient::DeleteTransitRouterOutcome CbnClient::deleteTransitRouter(const DeleteTransitRouterRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DeleteTransitRouterOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DeleteTransitRouterOutcome(DeleteTransitRouterResult(outcome.result()));
+	else
+		return DeleteTransitRouterOutcome(outcome.error());
+}
+
+void CbnClient::deleteTransitRouterAsync(const DeleteTransitRouterRequest& request, const DeleteTransitRouterAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, deleteTransitRouter(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CbnClient::DeleteTransitRouterOutcomeCallable CbnClient::deleteTransitRouterCallable(const DeleteTransitRouterRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DeleteTransitRouterOutcome()>>(
+			[this, request]()
+			{
+			return this->deleteTransitRouter(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 CbnClient::DeleteTransitRouterPeerAttachmentOutcome CbnClient::deleteTransitRouterPeerAttachment(const DeleteTransitRouterPeerAttachmentRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();

+ 9 - 0
cbn/src/model/CreateTransitRouterRequest.cc

@@ -43,6 +43,15 @@ void CreateTransitRouterRequest::setResourceOwnerId(long resourceOwnerId) {
   setParameter(std::string("ResourceOwnerId"), std::to_string(resourceOwnerId));
 }
 
+std::string CreateTransitRouterRequest::getServiceMode() const {
+  return serviceMode_;
+}
+
+void CreateTransitRouterRequest::setServiceMode(const std::string &serviceMode) {
+  serviceMode_ = serviceMode;
+  setParameter(std::string("ServiceMode"), serviceMode);
+}
+
 std::string CreateTransitRouterRequest::getClientToken() const {
   return clientToken_;
 }

+ 9 - 0
cbn/src/model/CreateTransitRouterVpcAttachmentRequest.cc

@@ -34,6 +34,15 @@ void CreateTransitRouterVpcAttachmentRequest::setResourceOwnerId(long resourceOw
   setParameter(std::string("ResourceOwnerId"), std::to_string(resourceOwnerId));
 }
 
+std::string CreateTransitRouterVpcAttachmentRequest::getServiceMode() const {
+  return serviceMode_;
+}
+
+void CreateTransitRouterVpcAttachmentRequest::setServiceMode(const std::string &serviceMode) {
+  serviceMode_ = serviceMode;
+  setParameter(std::string("ServiceMode"), serviceMode);
+}
+
 long CreateTransitRouterVpcAttachmentRequest::getVpcOwnerId() const {
   return vpcOwnerId_;
 }

+ 90 - 0
cbn/src/model/DeleteTransitRouterRequest.cc

@@ -0,0 +1,90 @@
+/*
+ * 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/cbn/model/DeleteTransitRouterRequest.h>
+
+using AlibabaCloud::Cbn::Model::DeleteTransitRouterRequest;
+
+DeleteTransitRouterRequest::DeleteTransitRouterRequest()
+    : RpcServiceRequest("cbn", "2017-09-12", "DeleteTransitRouter") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DeleteTransitRouterRequest::~DeleteTransitRouterRequest() {}
+
+long DeleteTransitRouterRequest::getResourceOwnerId() const {
+  return resourceOwnerId_;
+}
+
+void DeleteTransitRouterRequest::setResourceOwnerId(long resourceOwnerId) {
+  resourceOwnerId_ = resourceOwnerId;
+  setParameter(std::string("ResourceOwnerId"), std::to_string(resourceOwnerId));
+}
+
+std::string DeleteTransitRouterRequest::getClientToken() const {
+  return clientToken_;
+}
+
+void DeleteTransitRouterRequest::setClientToken(const std::string &clientToken) {
+  clientToken_ = clientToken;
+  setParameter(std::string("ClientToken"), clientToken);
+}
+
+bool DeleteTransitRouterRequest::getDryRun() const {
+  return dryRun_;
+}
+
+void DeleteTransitRouterRequest::setDryRun(bool dryRun) {
+  dryRun_ = dryRun;
+  setParameter(std::string("DryRun"), dryRun ? "true" : "false");
+}
+
+std::string DeleteTransitRouterRequest::getResourceOwnerAccount() const {
+  return resourceOwnerAccount_;
+}
+
+void DeleteTransitRouterRequest::setResourceOwnerAccount(const std::string &resourceOwnerAccount) {
+  resourceOwnerAccount_ = resourceOwnerAccount;
+  setParameter(std::string("ResourceOwnerAccount"), resourceOwnerAccount);
+}
+
+std::string DeleteTransitRouterRequest::getOwnerAccount() const {
+  return ownerAccount_;
+}
+
+void DeleteTransitRouterRequest::setOwnerAccount(const std::string &ownerAccount) {
+  ownerAccount_ = ownerAccount;
+  setParameter(std::string("OwnerAccount"), ownerAccount);
+}
+
+long DeleteTransitRouterRequest::getOwnerId() const {
+  return ownerId_;
+}
+
+void DeleteTransitRouterRequest::setOwnerId(long ownerId) {
+  ownerId_ = ownerId;
+  setParameter(std::string("OwnerId"), std::to_string(ownerId));
+}
+
+std::string DeleteTransitRouterRequest::getTransitRouterId() const {
+  return transitRouterId_;
+}
+
+void DeleteTransitRouterRequest::setTransitRouterId(const std::string &transitRouterId) {
+  transitRouterId_ = transitRouterId;
+  setParameter(std::string("TransitRouterId"), transitRouterId);
+}
+

+ 44 - 0
cbn/src/model/DeleteTransitRouterResult.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 <alibabacloud/cbn/model/DeleteTransitRouterResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Cbn;
+using namespace AlibabaCloud::Cbn::Model;
+
+DeleteTransitRouterResult::DeleteTransitRouterResult() :
+	ServiceResult()
+{}
+
+DeleteTransitRouterResult::DeleteTransitRouterResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DeleteTransitRouterResult::~DeleteTransitRouterResult()
+{}
+
+void DeleteTransitRouterResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+
+}
+

+ 4 - 0
cbn/src/model/ListTransitRouterVpcAttachmentsResult.cc

@@ -63,6 +63,8 @@ void ListTransitRouterVpcAttachmentsResult::parse(const std::string &payload)
 			transitRouterAttachmentsObject.vpcRegionId = valueTransitRouterAttachmentsTransitRouterAttachment["VpcRegionId"].asString();
 		if(!valueTransitRouterAttachmentsTransitRouterAttachment["TransitRouterAttachmentName"].isNull())
 			transitRouterAttachmentsObject.transitRouterAttachmentName = valueTransitRouterAttachmentsTransitRouterAttachment["TransitRouterAttachmentName"].asString();
+		if(!valueTransitRouterAttachmentsTransitRouterAttachment["ServiceMode"].isNull())
+			transitRouterAttachmentsObject.serviceMode = valueTransitRouterAttachmentsTransitRouterAttachment["ServiceMode"].asString();
 		auto allZoneMappingsNode = valueTransitRouterAttachmentsTransitRouterAttachment["ZoneMappings"]["ZoneMapping"];
 		for (auto valueTransitRouterAttachmentsTransitRouterAttachmentZoneMappingsZoneMapping : allZoneMappingsNode)
 		{
@@ -71,6 +73,8 @@ void ListTransitRouterVpcAttachmentsResult::parse(const std::string &payload)
 				zoneMappingsObject.zoneId = valueTransitRouterAttachmentsTransitRouterAttachmentZoneMappingsZoneMapping["ZoneId"].asString();
 			if(!valueTransitRouterAttachmentsTransitRouterAttachmentZoneMappingsZoneMapping["VSwitchId"].isNull())
 				zoneMappingsObject.vSwitchId = valueTransitRouterAttachmentsTransitRouterAttachmentZoneMappingsZoneMapping["VSwitchId"].asString();
+			if(!valueTransitRouterAttachmentsTransitRouterAttachmentZoneMappingsZoneMapping["NetworkInterfaceId"].isNull())
+				zoneMappingsObject.networkInterfaceId = valueTransitRouterAttachmentsTransitRouterAttachmentZoneMappingsZoneMapping["NetworkInterfaceId"].asString();
 			transitRouterAttachmentsObject.zoneMappings.push_back(zoneMappingsObject);
 		}
 		transitRouterAttachments_.push_back(transitRouterAttachmentsObject);

+ 2 - 0
cbn/src/model/ListTransitRoutersResult.cc

@@ -61,6 +61,8 @@ void ListTransitRoutersResult::parse(const std::string &payload)
 			transitRoutersObject.aliUid = std::stol(valueTransitRoutersTransitRouter["AliUid"].asString());
 		if(!valueTransitRoutersTransitRouter["RegionId"].isNull())
 			transitRoutersObject.regionId = valueTransitRoutersTransitRouter["RegionId"].asString();
+		if(!valueTransitRoutersTransitRouter["ServiceMode"].isNull())
+			transitRoutersObject.serviceMode = valueTransitRoutersTransitRouter["ServiceMode"].asString();
 		transitRouters_.push_back(transitRoutersObject);
 	}
 	if(!value["PageSize"].isNull())