sdk-team 4 лет назад
Родитель
Сommit
477e188af9
33 измененных файлов с 2435 добавлено и 1 удалено
  1. 4 0
      CHANGELOG
  2. 1 1
      VERSION
  3. 28 0
      cbn/CMakeLists.txt
  4. 56 0
      cbn/include/alibabacloud/cbn/CbnClient.h
  5. 99 0
      cbn/include/alibabacloud/cbn/model/CreateTransitRouterVpnAttachmentRequest.h
  6. 51 0
      cbn/include/alibabacloud/cbn/model/CreateTransitRouterVpnAttachmentResult.h
  7. 63 0
      cbn/include/alibabacloud/cbn/model/DeleteTransitRouterVpnAttachmentRequest.h
  8. 49 0
      cbn/include/alibabacloud/cbn/model/DeleteTransitRouterVpnAttachmentResult.h
  9. 57 0
      cbn/include/alibabacloud/cbn/model/DescribeCenVpcFlowStatisticSwitchRequest.h
  10. 57 0
      cbn/include/alibabacloud/cbn/model/DescribeCenVpcFlowStatisticSwitchResult.h
  11. 60 0
      cbn/include/alibabacloud/cbn/model/DisableCenVpcFlowStatisticRequest.h
  12. 49 0
      cbn/include/alibabacloud/cbn/model/DisableCenVpcFlowStatisticResult.h
  13. 63 0
      cbn/include/alibabacloud/cbn/model/EnableCenVpcFlowStatisticRequest.h
  14. 49 0
      cbn/include/alibabacloud/cbn/model/EnableCenVpcFlowStatisticResult.h
  15. 72 0
      cbn/include/alibabacloud/cbn/model/ListTransitRouterVpnAttachmentsRequest.h
  16. 76 0
      cbn/include/alibabacloud/cbn/model/ListTransitRouterVpnAttachmentsResult.h
  17. 72 0
      cbn/include/alibabacloud/cbn/model/UpdateTransitRouterVpnAttachmentAttributeRequest.h
  18. 49 0
      cbn/include/alibabacloud/cbn/model/UpdateTransitRouterVpnAttachmentAttributeResult.h
  19. 252 0
      cbn/src/CbnClient.cc
  20. 202 0
      cbn/src/model/CreateTransitRouterVpnAttachmentRequest.cc
  21. 51 0
      cbn/src/model/CreateTransitRouterVpnAttachmentResult.cc
  22. 99 0
      cbn/src/model/DeleteTransitRouterVpnAttachmentRequest.cc
  23. 44 0
      cbn/src/model/DeleteTransitRouterVpnAttachmentResult.cc
  24. 81 0
      cbn/src/model/DescribeCenVpcFlowStatisticSwitchRequest.cc
  25. 72 0
      cbn/src/model/DescribeCenVpcFlowStatisticSwitchResult.cc
  26. 90 0
      cbn/src/model/DisableCenVpcFlowStatisticRequest.cc
  27. 44 0
      cbn/src/model/DisableCenVpcFlowStatisticResult.cc
  28. 99 0
      cbn/src/model/EnableCenVpcFlowStatisticRequest.cc
  29. 44 0
      cbn/src/model/EnableCenVpcFlowStatisticResult.cc
  30. 126 0
      cbn/src/model/ListTransitRouterVpnAttachmentsRequest.cc
  31. 106 0
      cbn/src/model/ListTransitRouterVpnAttachmentsResult.cc
  32. 126 0
      cbn/src/model/UpdateTransitRouterVpnAttachmentAttributeRequest.cc
  33. 44 0
      cbn/src/model/UpdateTransitRouterVpnAttachmentAttributeResult.cc

+ 4 - 0
CHANGELOG

@@ -1,3 +1,7 @@
+2022-06-23 Version: 1.36.1157
+- Support Vpn-Attachment.
+- Support Sys-Flowlog.
+
 2022-06-22 Version: 1.36.1156
 - Fix bugs.
 

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.1156
+1.36.1157

+ 28 - 0
cbn/CMakeLists.txt

@@ -67,6 +67,8 @@ set(cbn_public_header_model
 	include/alibabacloud/cbn/model/CreateTransitRouterVbrAttachmentResult.h
 	include/alibabacloud/cbn/model/CreateTransitRouterVpcAttachmentRequest.h
 	include/alibabacloud/cbn/model/CreateTransitRouterVpcAttachmentResult.h
+	include/alibabacloud/cbn/model/CreateTransitRouterVpnAttachmentRequest.h
+	include/alibabacloud/cbn/model/CreateTransitRouterVpnAttachmentResult.h
 	include/alibabacloud/cbn/model/DeactiveFlowLogRequest.h
 	include/alibabacloud/cbn/model/DeactiveFlowLogResult.h
 	include/alibabacloud/cbn/model/DeleteCenRequest.h
@@ -103,6 +105,8 @@ set(cbn_public_header_model
 	include/alibabacloud/cbn/model/DeleteTransitRouterVbrAttachmentResult.h
 	include/alibabacloud/cbn/model/DeleteTransitRouterVpcAttachmentRequest.h
 	include/alibabacloud/cbn/model/DeleteTransitRouterVpcAttachmentResult.h
+	include/alibabacloud/cbn/model/DeleteTransitRouterVpnAttachmentRequest.h
+	include/alibabacloud/cbn/model/DeleteTransitRouterVpnAttachmentResult.h
 	include/alibabacloud/cbn/model/DeregisterTransitRouterMulticastGroupMembersRequest.h
 	include/alibabacloud/cbn/model/DeregisterTransitRouterMulticastGroupMembersResult.h
 	include/alibabacloud/cbn/model/DeregisterTransitRouterMulticastGroupSourcesRequest.h
@@ -129,6 +133,8 @@ set(cbn_public_header_model
 	include/alibabacloud/cbn/model/DescribeCenRouteMapsResult.h
 	include/alibabacloud/cbn/model/DescribeCenVbrHealthCheckRequest.h
 	include/alibabacloud/cbn/model/DescribeCenVbrHealthCheckResult.h
+	include/alibabacloud/cbn/model/DescribeCenVpcFlowStatisticSwitchRequest.h
+	include/alibabacloud/cbn/model/DescribeCenVpcFlowStatisticSwitchResult.h
 	include/alibabacloud/cbn/model/DescribeCensRequest.h
 	include/alibabacloud/cbn/model/DescribeCensResult.h
 	include/alibabacloud/cbn/model/DescribeChildInstanceRegionsRequest.h
@@ -149,6 +155,8 @@ set(cbn_public_header_model
 	include/alibabacloud/cbn/model/DetachCenChildInstanceResult.h
 	include/alibabacloud/cbn/model/DisableCenVbrHealthCheckRequest.h
 	include/alibabacloud/cbn/model/DisableCenVbrHealthCheckResult.h
+	include/alibabacloud/cbn/model/DisableCenVpcFlowStatisticRequest.h
+	include/alibabacloud/cbn/model/DisableCenVpcFlowStatisticResult.h
 	include/alibabacloud/cbn/model/DisableTransitRouterRouteTablePropagationRequest.h
 	include/alibabacloud/cbn/model/DisableTransitRouterRouteTablePropagationResult.h
 	include/alibabacloud/cbn/model/DisassociateTransitRouterMulticastDomainRequest.h
@@ -157,6 +165,8 @@ set(cbn_public_header_model
 	include/alibabacloud/cbn/model/DissociateTransitRouterAttachmentFromRouteTableResult.h
 	include/alibabacloud/cbn/model/EnableCenVbrHealthCheckRequest.h
 	include/alibabacloud/cbn/model/EnableCenVbrHealthCheckResult.h
+	include/alibabacloud/cbn/model/EnableCenVpcFlowStatisticRequest.h
+	include/alibabacloud/cbn/model/EnableCenVpcFlowStatisticResult.h
 	include/alibabacloud/cbn/model/EnableTransitRouterRouteTablePropagationRequest.h
 	include/alibabacloud/cbn/model/EnableTransitRouterRouteTablePropagationResult.h
 	include/alibabacloud/cbn/model/GrantInstanceToTransitRouterRequest.h
@@ -195,6 +205,8 @@ set(cbn_public_header_model
 	include/alibabacloud/cbn/model/ListTransitRouterVbrAttachmentsResult.h
 	include/alibabacloud/cbn/model/ListTransitRouterVpcAttachmentsRequest.h
 	include/alibabacloud/cbn/model/ListTransitRouterVpcAttachmentsResult.h
+	include/alibabacloud/cbn/model/ListTransitRouterVpnAttachmentsRequest.h
+	include/alibabacloud/cbn/model/ListTransitRouterVpnAttachmentsResult.h
 	include/alibabacloud/cbn/model/ListTransitRoutersRequest.h
 	include/alibabacloud/cbn/model/ListTransitRoutersResult.h
 	include/alibabacloud/cbn/model/ModifyCenAttributeRequest.h
@@ -259,6 +271,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/UpdateTransitRouterVpnAttachmentAttributeRequest.h
+	include/alibabacloud/cbn/model/UpdateTransitRouterVpnAttachmentAttributeResult.h
 	include/alibabacloud/cbn/model/WithdrawPublishedRouteEntriesRequest.h
 	include/alibabacloud/cbn/model/WithdrawPublishedRouteEntriesResult.h )
 
@@ -310,6 +324,8 @@ set(cbn_src
 	src/model/CreateTransitRouterVbrAttachmentResult.cc
 	src/model/CreateTransitRouterVpcAttachmentRequest.cc
 	src/model/CreateTransitRouterVpcAttachmentResult.cc
+	src/model/CreateTransitRouterVpnAttachmentRequest.cc
+	src/model/CreateTransitRouterVpnAttachmentResult.cc
 	src/model/DeactiveFlowLogRequest.cc
 	src/model/DeactiveFlowLogResult.cc
 	src/model/DeleteCenRequest.cc
@@ -346,6 +362,8 @@ set(cbn_src
 	src/model/DeleteTransitRouterVbrAttachmentResult.cc
 	src/model/DeleteTransitRouterVpcAttachmentRequest.cc
 	src/model/DeleteTransitRouterVpcAttachmentResult.cc
+	src/model/DeleteTransitRouterVpnAttachmentRequest.cc
+	src/model/DeleteTransitRouterVpnAttachmentResult.cc
 	src/model/DeregisterTransitRouterMulticastGroupMembersRequest.cc
 	src/model/DeregisterTransitRouterMulticastGroupMembersResult.cc
 	src/model/DeregisterTransitRouterMulticastGroupSourcesRequest.cc
@@ -372,6 +390,8 @@ set(cbn_src
 	src/model/DescribeCenRouteMapsResult.cc
 	src/model/DescribeCenVbrHealthCheckRequest.cc
 	src/model/DescribeCenVbrHealthCheckResult.cc
+	src/model/DescribeCenVpcFlowStatisticSwitchRequest.cc
+	src/model/DescribeCenVpcFlowStatisticSwitchResult.cc
 	src/model/DescribeCensRequest.cc
 	src/model/DescribeCensResult.cc
 	src/model/DescribeChildInstanceRegionsRequest.cc
@@ -392,6 +412,8 @@ set(cbn_src
 	src/model/DetachCenChildInstanceResult.cc
 	src/model/DisableCenVbrHealthCheckRequest.cc
 	src/model/DisableCenVbrHealthCheckResult.cc
+	src/model/DisableCenVpcFlowStatisticRequest.cc
+	src/model/DisableCenVpcFlowStatisticResult.cc
 	src/model/DisableTransitRouterRouteTablePropagationRequest.cc
 	src/model/DisableTransitRouterRouteTablePropagationResult.cc
 	src/model/DisassociateTransitRouterMulticastDomainRequest.cc
@@ -400,6 +422,8 @@ set(cbn_src
 	src/model/DissociateTransitRouterAttachmentFromRouteTableResult.cc
 	src/model/EnableCenVbrHealthCheckRequest.cc
 	src/model/EnableCenVbrHealthCheckResult.cc
+	src/model/EnableCenVpcFlowStatisticRequest.cc
+	src/model/EnableCenVpcFlowStatisticResult.cc
 	src/model/EnableTransitRouterRouteTablePropagationRequest.cc
 	src/model/EnableTransitRouterRouteTablePropagationResult.cc
 	src/model/GrantInstanceToTransitRouterRequest.cc
@@ -438,6 +462,8 @@ set(cbn_src
 	src/model/ListTransitRouterVbrAttachmentsResult.cc
 	src/model/ListTransitRouterVpcAttachmentsRequest.cc
 	src/model/ListTransitRouterVpcAttachmentsResult.cc
+	src/model/ListTransitRouterVpnAttachmentsRequest.cc
+	src/model/ListTransitRouterVpnAttachmentsResult.cc
 	src/model/ListTransitRoutersRequest.cc
 	src/model/ListTransitRoutersResult.cc
 	src/model/ModifyCenAttributeRequest.cc
@@ -502,6 +528,8 @@ set(cbn_src
 	src/model/UpdateTransitRouterVbrAttachmentAttributeResult.cc
 	src/model/UpdateTransitRouterVpcAttachmentAttributeRequest.cc
 	src/model/UpdateTransitRouterVpcAttachmentAttributeResult.cc
+	src/model/UpdateTransitRouterVpnAttachmentAttributeRequest.cc
+	src/model/UpdateTransitRouterVpnAttachmentAttributeResult.cc
 	src/model/WithdrawPublishedRouteEntriesRequest.cc
 	src/model/WithdrawPublishedRouteEntriesResult.cc )
 

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

@@ -68,6 +68,8 @@
 #include "model/CreateTransitRouterVbrAttachmentResult.h"
 #include "model/CreateTransitRouterVpcAttachmentRequest.h"
 #include "model/CreateTransitRouterVpcAttachmentResult.h"
+#include "model/CreateTransitRouterVpnAttachmentRequest.h"
+#include "model/CreateTransitRouterVpnAttachmentResult.h"
 #include "model/DeactiveFlowLogRequest.h"
 #include "model/DeactiveFlowLogResult.h"
 #include "model/DeleteCenRequest.h"
@@ -104,6 +106,8 @@
 #include "model/DeleteTransitRouterVbrAttachmentResult.h"
 #include "model/DeleteTransitRouterVpcAttachmentRequest.h"
 #include "model/DeleteTransitRouterVpcAttachmentResult.h"
+#include "model/DeleteTransitRouterVpnAttachmentRequest.h"
+#include "model/DeleteTransitRouterVpnAttachmentResult.h"
 #include "model/DeregisterTransitRouterMulticastGroupMembersRequest.h"
 #include "model/DeregisterTransitRouterMulticastGroupMembersResult.h"
 #include "model/DeregisterTransitRouterMulticastGroupSourcesRequest.h"
@@ -130,6 +134,8 @@
 #include "model/DescribeCenRouteMapsResult.h"
 #include "model/DescribeCenVbrHealthCheckRequest.h"
 #include "model/DescribeCenVbrHealthCheckResult.h"
+#include "model/DescribeCenVpcFlowStatisticSwitchRequest.h"
+#include "model/DescribeCenVpcFlowStatisticSwitchResult.h"
 #include "model/DescribeCensRequest.h"
 #include "model/DescribeCensResult.h"
 #include "model/DescribeChildInstanceRegionsRequest.h"
@@ -150,6 +156,8 @@
 #include "model/DetachCenChildInstanceResult.h"
 #include "model/DisableCenVbrHealthCheckRequest.h"
 #include "model/DisableCenVbrHealthCheckResult.h"
+#include "model/DisableCenVpcFlowStatisticRequest.h"
+#include "model/DisableCenVpcFlowStatisticResult.h"
 #include "model/DisableTransitRouterRouteTablePropagationRequest.h"
 #include "model/DisableTransitRouterRouteTablePropagationResult.h"
 #include "model/DisassociateTransitRouterMulticastDomainRequest.h"
@@ -158,6 +166,8 @@
 #include "model/DissociateTransitRouterAttachmentFromRouteTableResult.h"
 #include "model/EnableCenVbrHealthCheckRequest.h"
 #include "model/EnableCenVbrHealthCheckResult.h"
+#include "model/EnableCenVpcFlowStatisticRequest.h"
+#include "model/EnableCenVpcFlowStatisticResult.h"
 #include "model/EnableTransitRouterRouteTablePropagationRequest.h"
 #include "model/EnableTransitRouterRouteTablePropagationResult.h"
 #include "model/GrantInstanceToTransitRouterRequest.h"
@@ -196,6 +206,8 @@
 #include "model/ListTransitRouterVbrAttachmentsResult.h"
 #include "model/ListTransitRouterVpcAttachmentsRequest.h"
 #include "model/ListTransitRouterVpcAttachmentsResult.h"
+#include "model/ListTransitRouterVpnAttachmentsRequest.h"
+#include "model/ListTransitRouterVpnAttachmentsResult.h"
 #include "model/ListTransitRoutersRequest.h"
 #include "model/ListTransitRoutersResult.h"
 #include "model/ModifyCenAttributeRequest.h"
@@ -260,6 +272,8 @@
 #include "model/UpdateTransitRouterVbrAttachmentAttributeResult.h"
 #include "model/UpdateTransitRouterVpcAttachmentAttributeRequest.h"
 #include "model/UpdateTransitRouterVpcAttachmentAttributeResult.h"
+#include "model/UpdateTransitRouterVpnAttachmentAttributeRequest.h"
+#include "model/UpdateTransitRouterVpnAttachmentAttributeResult.h"
 #include "model/WithdrawPublishedRouteEntriesRequest.h"
 #include "model/WithdrawPublishedRouteEntriesResult.h"
 
@@ -340,6 +354,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::CreateTransitRouterVpcAttachmentResult> CreateTransitRouterVpcAttachmentOutcome;
 			typedef std::future<CreateTransitRouterVpcAttachmentOutcome> CreateTransitRouterVpcAttachmentOutcomeCallable;
 			typedef std::function<void(const CbnClient*, const Model::CreateTransitRouterVpcAttachmentRequest&, const CreateTransitRouterVpcAttachmentOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateTransitRouterVpcAttachmentAsyncHandler;
+			typedef Outcome<Error, Model::CreateTransitRouterVpnAttachmentResult> CreateTransitRouterVpnAttachmentOutcome;
+			typedef std::future<CreateTransitRouterVpnAttachmentOutcome> CreateTransitRouterVpnAttachmentOutcomeCallable;
+			typedef std::function<void(const CbnClient*, const Model::CreateTransitRouterVpnAttachmentRequest&, const CreateTransitRouterVpnAttachmentOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateTransitRouterVpnAttachmentAsyncHandler;
 			typedef Outcome<Error, Model::DeactiveFlowLogResult> DeactiveFlowLogOutcome;
 			typedef std::future<DeactiveFlowLogOutcome> DeactiveFlowLogOutcomeCallable;
 			typedef std::function<void(const CbnClient*, const Model::DeactiveFlowLogRequest&, const DeactiveFlowLogOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeactiveFlowLogAsyncHandler;
@@ -394,6 +411,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DeleteTransitRouterVpcAttachmentResult> DeleteTransitRouterVpcAttachmentOutcome;
 			typedef std::future<DeleteTransitRouterVpcAttachmentOutcome> DeleteTransitRouterVpcAttachmentOutcomeCallable;
 			typedef std::function<void(const CbnClient*, const Model::DeleteTransitRouterVpcAttachmentRequest&, const DeleteTransitRouterVpcAttachmentOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteTransitRouterVpcAttachmentAsyncHandler;
+			typedef Outcome<Error, Model::DeleteTransitRouterVpnAttachmentResult> DeleteTransitRouterVpnAttachmentOutcome;
+			typedef std::future<DeleteTransitRouterVpnAttachmentOutcome> DeleteTransitRouterVpnAttachmentOutcomeCallable;
+			typedef std::function<void(const CbnClient*, const Model::DeleteTransitRouterVpnAttachmentRequest&, const DeleteTransitRouterVpnAttachmentOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteTransitRouterVpnAttachmentAsyncHandler;
 			typedef Outcome<Error, Model::DeregisterTransitRouterMulticastGroupMembersResult> DeregisterTransitRouterMulticastGroupMembersOutcome;
 			typedef std::future<DeregisterTransitRouterMulticastGroupMembersOutcome> DeregisterTransitRouterMulticastGroupMembersOutcomeCallable;
 			typedef std::function<void(const CbnClient*, const Model::DeregisterTransitRouterMulticastGroupMembersRequest&, const DeregisterTransitRouterMulticastGroupMembersOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeregisterTransitRouterMulticastGroupMembersAsyncHandler;
@@ -433,6 +453,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeCenVbrHealthCheckResult> DescribeCenVbrHealthCheckOutcome;
 			typedef std::future<DescribeCenVbrHealthCheckOutcome> DescribeCenVbrHealthCheckOutcomeCallable;
 			typedef std::function<void(const CbnClient*, const Model::DescribeCenVbrHealthCheckRequest&, const DescribeCenVbrHealthCheckOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeCenVbrHealthCheckAsyncHandler;
+			typedef Outcome<Error, Model::DescribeCenVpcFlowStatisticSwitchResult> DescribeCenVpcFlowStatisticSwitchOutcome;
+			typedef std::future<DescribeCenVpcFlowStatisticSwitchOutcome> DescribeCenVpcFlowStatisticSwitchOutcomeCallable;
+			typedef std::function<void(const CbnClient*, const Model::DescribeCenVpcFlowStatisticSwitchRequest&, const DescribeCenVpcFlowStatisticSwitchOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeCenVpcFlowStatisticSwitchAsyncHandler;
 			typedef Outcome<Error, Model::DescribeCensResult> DescribeCensOutcome;
 			typedef std::future<DescribeCensOutcome> DescribeCensOutcomeCallable;
 			typedef std::function<void(const CbnClient*, const Model::DescribeCensRequest&, const DescribeCensOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeCensAsyncHandler;
@@ -463,6 +486,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DisableCenVbrHealthCheckResult> DisableCenVbrHealthCheckOutcome;
 			typedef std::future<DisableCenVbrHealthCheckOutcome> DisableCenVbrHealthCheckOutcomeCallable;
 			typedef std::function<void(const CbnClient*, const Model::DisableCenVbrHealthCheckRequest&, const DisableCenVbrHealthCheckOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DisableCenVbrHealthCheckAsyncHandler;
+			typedef Outcome<Error, Model::DisableCenVpcFlowStatisticResult> DisableCenVpcFlowStatisticOutcome;
+			typedef std::future<DisableCenVpcFlowStatisticOutcome> DisableCenVpcFlowStatisticOutcomeCallable;
+			typedef std::function<void(const CbnClient*, const Model::DisableCenVpcFlowStatisticRequest&, const DisableCenVpcFlowStatisticOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DisableCenVpcFlowStatisticAsyncHandler;
 			typedef Outcome<Error, Model::DisableTransitRouterRouteTablePropagationResult> DisableTransitRouterRouteTablePropagationOutcome;
 			typedef std::future<DisableTransitRouterRouteTablePropagationOutcome> DisableTransitRouterRouteTablePropagationOutcomeCallable;
 			typedef std::function<void(const CbnClient*, const Model::DisableTransitRouterRouteTablePropagationRequest&, const DisableTransitRouterRouteTablePropagationOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DisableTransitRouterRouteTablePropagationAsyncHandler;
@@ -475,6 +501,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::EnableCenVbrHealthCheckResult> EnableCenVbrHealthCheckOutcome;
 			typedef std::future<EnableCenVbrHealthCheckOutcome> EnableCenVbrHealthCheckOutcomeCallable;
 			typedef std::function<void(const CbnClient*, const Model::EnableCenVbrHealthCheckRequest&, const EnableCenVbrHealthCheckOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> EnableCenVbrHealthCheckAsyncHandler;
+			typedef Outcome<Error, Model::EnableCenVpcFlowStatisticResult> EnableCenVpcFlowStatisticOutcome;
+			typedef std::future<EnableCenVpcFlowStatisticOutcome> EnableCenVpcFlowStatisticOutcomeCallable;
+			typedef std::function<void(const CbnClient*, const Model::EnableCenVpcFlowStatisticRequest&, const EnableCenVpcFlowStatisticOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> EnableCenVpcFlowStatisticAsyncHandler;
 			typedef Outcome<Error, Model::EnableTransitRouterRouteTablePropagationResult> EnableTransitRouterRouteTablePropagationOutcome;
 			typedef std::future<EnableTransitRouterRouteTablePropagationOutcome> EnableTransitRouterRouteTablePropagationOutcomeCallable;
 			typedef std::function<void(const CbnClient*, const Model::EnableTransitRouterRouteTablePropagationRequest&, const EnableTransitRouterRouteTablePropagationOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> EnableTransitRouterRouteTablePropagationAsyncHandler;
@@ -532,6 +561,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::ListTransitRouterVpcAttachmentsResult> ListTransitRouterVpcAttachmentsOutcome;
 			typedef std::future<ListTransitRouterVpcAttachmentsOutcome> ListTransitRouterVpcAttachmentsOutcomeCallable;
 			typedef std::function<void(const CbnClient*, const Model::ListTransitRouterVpcAttachmentsRequest&, const ListTransitRouterVpcAttachmentsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListTransitRouterVpcAttachmentsAsyncHandler;
+			typedef Outcome<Error, Model::ListTransitRouterVpnAttachmentsResult> ListTransitRouterVpnAttachmentsOutcome;
+			typedef std::future<ListTransitRouterVpnAttachmentsOutcome> ListTransitRouterVpnAttachmentsOutcomeCallable;
+			typedef std::function<void(const CbnClient*, const Model::ListTransitRouterVpnAttachmentsRequest&, const ListTransitRouterVpnAttachmentsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListTransitRouterVpnAttachmentsAsyncHandler;
 			typedef Outcome<Error, Model::ListTransitRoutersResult> ListTransitRoutersOutcome;
 			typedef std::future<ListTransitRoutersOutcome> ListTransitRoutersOutcomeCallable;
 			typedef std::function<void(const CbnClient*, const Model::ListTransitRoutersRequest&, const ListTransitRoutersOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListTransitRoutersAsyncHandler;
@@ -628,6 +660,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::UpdateTransitRouterVpcAttachmentAttributeResult> UpdateTransitRouterVpcAttachmentAttributeOutcome;
 			typedef std::future<UpdateTransitRouterVpcAttachmentAttributeOutcome> UpdateTransitRouterVpcAttachmentAttributeOutcomeCallable;
 			typedef std::function<void(const CbnClient*, const Model::UpdateTransitRouterVpcAttachmentAttributeRequest&, const UpdateTransitRouterVpcAttachmentAttributeOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateTransitRouterVpcAttachmentAttributeAsyncHandler;
+			typedef Outcome<Error, Model::UpdateTransitRouterVpnAttachmentAttributeResult> UpdateTransitRouterVpnAttachmentAttributeOutcome;
+			typedef std::future<UpdateTransitRouterVpnAttachmentAttributeOutcome> UpdateTransitRouterVpnAttachmentAttributeOutcomeCallable;
+			typedef std::function<void(const CbnClient*, const Model::UpdateTransitRouterVpnAttachmentAttributeRequest&, const UpdateTransitRouterVpnAttachmentAttributeOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateTransitRouterVpnAttachmentAttributeAsyncHandler;
 			typedef Outcome<Error, Model::WithdrawPublishedRouteEntriesResult> WithdrawPublishedRouteEntriesOutcome;
 			typedef std::future<WithdrawPublishedRouteEntriesOutcome> WithdrawPublishedRouteEntriesOutcomeCallable;
 			typedef std::function<void(const CbnClient*, const Model::WithdrawPublishedRouteEntriesRequest&, const WithdrawPublishedRouteEntriesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> WithdrawPublishedRouteEntriesAsyncHandler;
@@ -705,6 +740,9 @@ namespace AlibabaCloud
 			CreateTransitRouterVpcAttachmentOutcome createTransitRouterVpcAttachment(const Model::CreateTransitRouterVpcAttachmentRequest &request)const;
 			void createTransitRouterVpcAttachmentAsync(const Model::CreateTransitRouterVpcAttachmentRequest& request, const CreateTransitRouterVpcAttachmentAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateTransitRouterVpcAttachmentOutcomeCallable createTransitRouterVpcAttachmentCallable(const Model::CreateTransitRouterVpcAttachmentRequest& request) const;
+			CreateTransitRouterVpnAttachmentOutcome createTransitRouterVpnAttachment(const Model::CreateTransitRouterVpnAttachmentRequest &request)const;
+			void createTransitRouterVpnAttachmentAsync(const Model::CreateTransitRouterVpnAttachmentRequest& request, const CreateTransitRouterVpnAttachmentAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateTransitRouterVpnAttachmentOutcomeCallable createTransitRouterVpnAttachmentCallable(const Model::CreateTransitRouterVpnAttachmentRequest& request) const;
 			DeactiveFlowLogOutcome deactiveFlowLog(const Model::DeactiveFlowLogRequest &request)const;
 			void deactiveFlowLogAsync(const Model::DeactiveFlowLogRequest& request, const DeactiveFlowLogAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeactiveFlowLogOutcomeCallable deactiveFlowLogCallable(const Model::DeactiveFlowLogRequest& request) const;
@@ -759,6 +797,9 @@ namespace AlibabaCloud
 			DeleteTransitRouterVpcAttachmentOutcome deleteTransitRouterVpcAttachment(const Model::DeleteTransitRouterVpcAttachmentRequest &request)const;
 			void deleteTransitRouterVpcAttachmentAsync(const Model::DeleteTransitRouterVpcAttachmentRequest& request, const DeleteTransitRouterVpcAttachmentAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteTransitRouterVpcAttachmentOutcomeCallable deleteTransitRouterVpcAttachmentCallable(const Model::DeleteTransitRouterVpcAttachmentRequest& request) const;
+			DeleteTransitRouterVpnAttachmentOutcome deleteTransitRouterVpnAttachment(const Model::DeleteTransitRouterVpnAttachmentRequest &request)const;
+			void deleteTransitRouterVpnAttachmentAsync(const Model::DeleteTransitRouterVpnAttachmentRequest& request, const DeleteTransitRouterVpnAttachmentAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeleteTransitRouterVpnAttachmentOutcomeCallable deleteTransitRouterVpnAttachmentCallable(const Model::DeleteTransitRouterVpnAttachmentRequest& request) const;
 			DeregisterTransitRouterMulticastGroupMembersOutcome deregisterTransitRouterMulticastGroupMembers(const Model::DeregisterTransitRouterMulticastGroupMembersRequest &request)const;
 			void deregisterTransitRouterMulticastGroupMembersAsync(const Model::DeregisterTransitRouterMulticastGroupMembersRequest& request, const DeregisterTransitRouterMulticastGroupMembersAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeregisterTransitRouterMulticastGroupMembersOutcomeCallable deregisterTransitRouterMulticastGroupMembersCallable(const Model::DeregisterTransitRouterMulticastGroupMembersRequest& request) const;
@@ -798,6 +839,9 @@ namespace AlibabaCloud
 			DescribeCenVbrHealthCheckOutcome describeCenVbrHealthCheck(const Model::DescribeCenVbrHealthCheckRequest &request)const;
 			void describeCenVbrHealthCheckAsync(const Model::DescribeCenVbrHealthCheckRequest& request, const DescribeCenVbrHealthCheckAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeCenVbrHealthCheckOutcomeCallable describeCenVbrHealthCheckCallable(const Model::DescribeCenVbrHealthCheckRequest& request) const;
+			DescribeCenVpcFlowStatisticSwitchOutcome describeCenVpcFlowStatisticSwitch(const Model::DescribeCenVpcFlowStatisticSwitchRequest &request)const;
+			void describeCenVpcFlowStatisticSwitchAsync(const Model::DescribeCenVpcFlowStatisticSwitchRequest& request, const DescribeCenVpcFlowStatisticSwitchAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeCenVpcFlowStatisticSwitchOutcomeCallable describeCenVpcFlowStatisticSwitchCallable(const Model::DescribeCenVpcFlowStatisticSwitchRequest& request) const;
 			DescribeCensOutcome describeCens(const Model::DescribeCensRequest &request)const;
 			void describeCensAsync(const Model::DescribeCensRequest& request, const DescribeCensAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeCensOutcomeCallable describeCensCallable(const Model::DescribeCensRequest& request) const;
@@ -828,6 +872,9 @@ namespace AlibabaCloud
 			DisableCenVbrHealthCheckOutcome disableCenVbrHealthCheck(const Model::DisableCenVbrHealthCheckRequest &request)const;
 			void disableCenVbrHealthCheckAsync(const Model::DisableCenVbrHealthCheckRequest& request, const DisableCenVbrHealthCheckAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DisableCenVbrHealthCheckOutcomeCallable disableCenVbrHealthCheckCallable(const Model::DisableCenVbrHealthCheckRequest& request) const;
+			DisableCenVpcFlowStatisticOutcome disableCenVpcFlowStatistic(const Model::DisableCenVpcFlowStatisticRequest &request)const;
+			void disableCenVpcFlowStatisticAsync(const Model::DisableCenVpcFlowStatisticRequest& request, const DisableCenVpcFlowStatisticAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DisableCenVpcFlowStatisticOutcomeCallable disableCenVpcFlowStatisticCallable(const Model::DisableCenVpcFlowStatisticRequest& request) const;
 			DisableTransitRouterRouteTablePropagationOutcome disableTransitRouterRouteTablePropagation(const Model::DisableTransitRouterRouteTablePropagationRequest &request)const;
 			void disableTransitRouterRouteTablePropagationAsync(const Model::DisableTransitRouterRouteTablePropagationRequest& request, const DisableTransitRouterRouteTablePropagationAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DisableTransitRouterRouteTablePropagationOutcomeCallable disableTransitRouterRouteTablePropagationCallable(const Model::DisableTransitRouterRouteTablePropagationRequest& request) const;
@@ -840,6 +887,9 @@ namespace AlibabaCloud
 			EnableCenVbrHealthCheckOutcome enableCenVbrHealthCheck(const Model::EnableCenVbrHealthCheckRequest &request)const;
 			void enableCenVbrHealthCheckAsync(const Model::EnableCenVbrHealthCheckRequest& request, const EnableCenVbrHealthCheckAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			EnableCenVbrHealthCheckOutcomeCallable enableCenVbrHealthCheckCallable(const Model::EnableCenVbrHealthCheckRequest& request) const;
+			EnableCenVpcFlowStatisticOutcome enableCenVpcFlowStatistic(const Model::EnableCenVpcFlowStatisticRequest &request)const;
+			void enableCenVpcFlowStatisticAsync(const Model::EnableCenVpcFlowStatisticRequest& request, const EnableCenVpcFlowStatisticAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			EnableCenVpcFlowStatisticOutcomeCallable enableCenVpcFlowStatisticCallable(const Model::EnableCenVpcFlowStatisticRequest& request) const;
 			EnableTransitRouterRouteTablePropagationOutcome enableTransitRouterRouteTablePropagation(const Model::EnableTransitRouterRouteTablePropagationRequest &request)const;
 			void enableTransitRouterRouteTablePropagationAsync(const Model::EnableTransitRouterRouteTablePropagationRequest& request, const EnableTransitRouterRouteTablePropagationAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			EnableTransitRouterRouteTablePropagationOutcomeCallable enableTransitRouterRouteTablePropagationCallable(const Model::EnableTransitRouterRouteTablePropagationRequest& request) const;
@@ -897,6 +947,9 @@ namespace AlibabaCloud
 			ListTransitRouterVpcAttachmentsOutcome listTransitRouterVpcAttachments(const Model::ListTransitRouterVpcAttachmentsRequest &request)const;
 			void listTransitRouterVpcAttachmentsAsync(const Model::ListTransitRouterVpcAttachmentsRequest& request, const ListTransitRouterVpcAttachmentsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ListTransitRouterVpcAttachmentsOutcomeCallable listTransitRouterVpcAttachmentsCallable(const Model::ListTransitRouterVpcAttachmentsRequest& request) const;
+			ListTransitRouterVpnAttachmentsOutcome listTransitRouterVpnAttachments(const Model::ListTransitRouterVpnAttachmentsRequest &request)const;
+			void listTransitRouterVpnAttachmentsAsync(const Model::ListTransitRouterVpnAttachmentsRequest& request, const ListTransitRouterVpnAttachmentsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			ListTransitRouterVpnAttachmentsOutcomeCallable listTransitRouterVpnAttachmentsCallable(const Model::ListTransitRouterVpnAttachmentsRequest& request) const;
 			ListTransitRoutersOutcome listTransitRouters(const Model::ListTransitRoutersRequest &request)const;
 			void listTransitRoutersAsync(const Model::ListTransitRoutersRequest& request, const ListTransitRoutersAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ListTransitRoutersOutcomeCallable listTransitRoutersCallable(const Model::ListTransitRoutersRequest& request) const;
@@ -993,6 +1046,9 @@ namespace AlibabaCloud
 			UpdateTransitRouterVpcAttachmentAttributeOutcome updateTransitRouterVpcAttachmentAttribute(const Model::UpdateTransitRouterVpcAttachmentAttributeRequest &request)const;
 			void updateTransitRouterVpcAttachmentAttributeAsync(const Model::UpdateTransitRouterVpcAttachmentAttributeRequest& request, const UpdateTransitRouterVpcAttachmentAttributeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			UpdateTransitRouterVpcAttachmentAttributeOutcomeCallable updateTransitRouterVpcAttachmentAttributeCallable(const Model::UpdateTransitRouterVpcAttachmentAttributeRequest& request) const;
+			UpdateTransitRouterVpnAttachmentAttributeOutcome updateTransitRouterVpnAttachmentAttribute(const Model::UpdateTransitRouterVpnAttachmentAttributeRequest &request)const;
+			void updateTransitRouterVpnAttachmentAttributeAsync(const Model::UpdateTransitRouterVpnAttachmentAttributeRequest& request, const UpdateTransitRouterVpnAttachmentAttributeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UpdateTransitRouterVpnAttachmentAttributeOutcomeCallable updateTransitRouterVpnAttachmentAttributeCallable(const Model::UpdateTransitRouterVpnAttachmentAttributeRequest& request) const;
 			WithdrawPublishedRouteEntriesOutcome withdrawPublishedRouteEntries(const Model::WithdrawPublishedRouteEntriesRequest &request)const;
 			void withdrawPublishedRouteEntriesAsync(const Model::WithdrawPublishedRouteEntriesRequest& request, const WithdrawPublishedRouteEntriesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			WithdrawPublishedRouteEntriesOutcomeCallable withdrawPublishedRouteEntriesCallable(const Model::WithdrawPublishedRouteEntriesRequest& request) const;

+ 99 - 0
cbn/include/alibabacloud/cbn/model/CreateTransitRouterVpnAttachmentRequest.h

@@ -0,0 +1,99 @@
+/*
+ * 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_CREATETRANSITROUTERVPNATTACHMENTREQUEST_H_
+#define ALIBABACLOUD_CBN_MODEL_CREATETRANSITROUTERVPNATTACHMENTREQUEST_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 CreateTransitRouterVpnAttachmentRequest : public RpcServiceRequest {
+public:
+	struct Zone {
+		std::string zoneId;
+	};
+	CreateTransitRouterVpnAttachmentRequest();
+	~CreateTransitRouterVpnAttachmentRequest();
+	long getResourceOwnerId() const;
+	void setResourceOwnerId(long resourceOwnerId);
+	std::string getClientToken() const;
+	void setClientToken(const std::string &clientToken);
+	std::string getCenId() const;
+	void setCenId(const std::string &cenId);
+	bool getRouteTableAssociationEnabled() const;
+	void setRouteTableAssociationEnabled(bool routeTableAssociationEnabled);
+	std::string getTransitRouterAttachmentName() const;
+	void setTransitRouterAttachmentName(const std::string &transitRouterAttachmentName);
+	std::string getRegionId() const;
+	void setRegionId(const std::string &regionId);
+	std::vector<Zone> getZone() const;
+	void setZone(const std::vector<Zone> &zone);
+	bool getAutoPublishRouteEnabled() const;
+	void setAutoPublishRouteEnabled(bool autoPublishRouteEnabled);
+	bool getRouteTablePropagationEnabled() const;
+	void setRouteTablePropagationEnabled(bool routeTablePropagationEnabled);
+	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);
+	std::string getResourceType() const;
+	void setResourceType(const std::string &resourceType);
+	std::string getTransitRouterAttachmentDescription() const;
+	void setTransitRouterAttachmentDescription(const std::string &transitRouterAttachmentDescription);
+	long getVpnOwnerId() const;
+	void setVpnOwnerId(long vpnOwnerId);
+	std::string getChargeType() const;
+	void setChargeType(const std::string &chargeType);
+	std::string getVpnId() const;
+	void setVpnId(const std::string &vpnId);
+
+private:
+	long resourceOwnerId_;
+	std::string clientToken_;
+	std::string cenId_;
+	bool routeTableAssociationEnabled_;
+	std::string transitRouterAttachmentName_;
+	std::string regionId_;
+	std::vector<Zone> zone_;
+	bool autoPublishRouteEnabled_;
+	bool routeTablePropagationEnabled_;
+	bool dryRun_;
+	std::string resourceOwnerAccount_;
+	std::string ownerAccount_;
+	long ownerId_;
+	std::string transitRouterId_;
+	std::string resourceType_;
+	std::string transitRouterAttachmentDescription_;
+	long vpnOwnerId_;
+	std::string chargeType_;
+	std::string vpnId_;
+};
+} // namespace Model
+} // namespace Cbn
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_CBN_MODEL_CREATETRANSITROUTERVPNATTACHMENTREQUEST_H_

+ 51 - 0
cbn/include/alibabacloud/cbn/model/CreateTransitRouterVpnAttachmentResult.h

@@ -0,0 +1,51 @@
+/*
+ * 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_CREATETRANSITROUTERVPNATTACHMENTRESULT_H_
+#define ALIBABACLOUD_CBN_MODEL_CREATETRANSITROUTERVPNATTACHMENTRESULT_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 CreateTransitRouterVpnAttachmentResult : public ServiceResult
+			{
+			public:
+
+
+				CreateTransitRouterVpnAttachmentResult();
+				explicit CreateTransitRouterVpnAttachmentResult(const std::string &payload);
+				~CreateTransitRouterVpnAttachmentResult();
+				std::string getTransitRouterAttachmentId()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string transitRouterAttachmentId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CBN_MODEL_CREATETRANSITROUTERVPNATTACHMENTRESULT_H_

+ 63 - 0
cbn/include/alibabacloud/cbn/model/DeleteTransitRouterVpnAttachmentRequest.h

@@ -0,0 +1,63 @@
+/*
+ * 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_DELETETRANSITROUTERVPNATTACHMENTREQUEST_H_
+#define ALIBABACLOUD_CBN_MODEL_DELETETRANSITROUTERVPNATTACHMENTREQUEST_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 DeleteTransitRouterVpnAttachmentRequest : public RpcServiceRequest {
+public:
+	DeleteTransitRouterVpnAttachmentRequest();
+	~DeleteTransitRouterVpnAttachmentRequest();
+	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 getResourceType() const;
+	void setResourceType(const std::string &resourceType);
+	std::string getTransitRouterAttachmentId() const;
+	void setTransitRouterAttachmentId(const std::string &transitRouterAttachmentId);
+
+private:
+	long resourceOwnerId_;
+	std::string clientToken_;
+	bool dryRun_;
+	std::string resourceOwnerAccount_;
+	std::string ownerAccount_;
+	long ownerId_;
+	std::string resourceType_;
+	std::string transitRouterAttachmentId_;
+};
+} // namespace Model
+} // namespace Cbn
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_CBN_MODEL_DELETETRANSITROUTERVPNATTACHMENTREQUEST_H_

+ 49 - 0
cbn/include/alibabacloud/cbn/model/DeleteTransitRouterVpnAttachmentResult.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_DELETETRANSITROUTERVPNATTACHMENTRESULT_H_
+#define ALIBABACLOUD_CBN_MODEL_DELETETRANSITROUTERVPNATTACHMENTRESULT_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 DeleteTransitRouterVpnAttachmentResult : public ServiceResult
+			{
+			public:
+
+
+				DeleteTransitRouterVpnAttachmentResult();
+				explicit DeleteTransitRouterVpnAttachmentResult(const std::string &payload);
+				~DeleteTransitRouterVpnAttachmentResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CBN_MODEL_DELETETRANSITROUTERVPNATTACHMENTRESULT_H_

+ 57 - 0
cbn/include/alibabacloud/cbn/model/DescribeCenVpcFlowStatisticSwitchRequest.h

@@ -0,0 +1,57 @@
+/*
+ * 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_DESCRIBECENVPCFLOWSTATISTICSWITCHREQUEST_H_
+#define ALIBABACLOUD_CBN_MODEL_DESCRIBECENVPCFLOWSTATISTICSWITCHREQUEST_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 DescribeCenVpcFlowStatisticSwitchRequest : public RpcServiceRequest {
+public:
+	DescribeCenVpcFlowStatisticSwitchRequest();
+	~DescribeCenVpcFlowStatisticSwitchRequest();
+	long getResourceOwnerId() const;
+	void setResourceOwnerId(long resourceOwnerId);
+	std::string getCenId() const;
+	void setCenId(const std::string &cenId);
+	std::string getRegionId() const;
+	void setRegionId(const std::string &regionId);
+	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);
+
+private:
+	long resourceOwnerId_;
+	std::string cenId_;
+	std::string regionId_;
+	std::string resourceOwnerAccount_;
+	std::string ownerAccount_;
+	long ownerId_;
+};
+} // namespace Model
+} // namespace Cbn
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_CBN_MODEL_DESCRIBECENVPCFLOWSTATISTICSWITCHREQUEST_H_

+ 57 - 0
cbn/include/alibabacloud/cbn/model/DescribeCenVpcFlowStatisticSwitchResult.h

@@ -0,0 +1,57 @@
+/*
+ * 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_DESCRIBECENVPCFLOWSTATISTICSWITCHRESULT_H_
+#define ALIBABACLOUD_CBN_MODEL_DESCRIBECENVPCFLOWSTATISTICSWITCHRESULT_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 DescribeCenVpcFlowStatisticSwitchResult : public ServiceResult
+			{
+			public:
+
+
+				DescribeCenVpcFlowStatisticSwitchResult();
+				explicit DescribeCenVpcFlowStatisticSwitchResult(const std::string &payload);
+				~DescribeCenVpcFlowStatisticSwitchResult();
+				std::string getState()const;
+				std::string getInvalidDate()const;
+				std::string getCenId()const;
+				std::string getRegionId()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string state_;
+				std::string invalidDate_;
+				std::string cenId_;
+				std::string regionId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CBN_MODEL_DESCRIBECENVPCFLOWSTATISTICSWITCHRESULT_H_

+ 60 - 0
cbn/include/alibabacloud/cbn/model/DisableCenVpcFlowStatisticRequest.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_DISABLECENVPCFLOWSTATISTICREQUEST_H_
+#define ALIBABACLOUD_CBN_MODEL_DISABLECENVPCFLOWSTATISTICREQUEST_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 DisableCenVpcFlowStatisticRequest : public RpcServiceRequest {
+public:
+	DisableCenVpcFlowStatisticRequest();
+	~DisableCenVpcFlowStatisticRequest();
+	long getResourceOwnerId() const;
+	void setResourceOwnerId(long resourceOwnerId);
+	std::string getClientToken() const;
+	void setClientToken(const std::string &clientToken);
+	std::string getCenId() const;
+	void setCenId(const std::string &cenId);
+	std::string getRegionId() const;
+	void setRegionId(const std::string &regionId);
+	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);
+
+private:
+	long resourceOwnerId_;
+	std::string clientToken_;
+	std::string cenId_;
+	std::string regionId_;
+	std::string resourceOwnerAccount_;
+	std::string ownerAccount_;
+	long ownerId_;
+};
+} // namespace Model
+} // namespace Cbn
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_CBN_MODEL_DISABLECENVPCFLOWSTATISTICREQUEST_H_

+ 49 - 0
cbn/include/alibabacloud/cbn/model/DisableCenVpcFlowStatisticResult.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_DISABLECENVPCFLOWSTATISTICRESULT_H_
+#define ALIBABACLOUD_CBN_MODEL_DISABLECENVPCFLOWSTATISTICRESULT_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 DisableCenVpcFlowStatisticResult : public ServiceResult
+			{
+			public:
+
+
+				DisableCenVpcFlowStatisticResult();
+				explicit DisableCenVpcFlowStatisticResult(const std::string &payload);
+				~DisableCenVpcFlowStatisticResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CBN_MODEL_DISABLECENVPCFLOWSTATISTICRESULT_H_

+ 63 - 0
cbn/include/alibabacloud/cbn/model/EnableCenVpcFlowStatisticRequest.h

@@ -0,0 +1,63 @@
+/*
+ * 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_ENABLECENVPCFLOWSTATISTICREQUEST_H_
+#define ALIBABACLOUD_CBN_MODEL_ENABLECENVPCFLOWSTATISTICREQUEST_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 EnableCenVpcFlowStatisticRequest : public RpcServiceRequest {
+public:
+	EnableCenVpcFlowStatisticRequest();
+	~EnableCenVpcFlowStatisticRequest();
+	long getResourceOwnerId() const;
+	void setResourceOwnerId(long resourceOwnerId);
+	std::string getClientToken() const;
+	void setClientToken(const std::string &clientToken);
+	std::string getCenId() const;
+	void setCenId(const std::string &cenId);
+	std::string getRegionId() const;
+	void setRegionId(const std::string &regionId);
+	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);
+	int getDays() const;
+	void setDays(int days);
+
+private:
+	long resourceOwnerId_;
+	std::string clientToken_;
+	std::string cenId_;
+	std::string regionId_;
+	std::string resourceOwnerAccount_;
+	std::string ownerAccount_;
+	long ownerId_;
+	int days_;
+};
+} // namespace Model
+} // namespace Cbn
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_CBN_MODEL_ENABLECENVPCFLOWSTATISTICREQUEST_H_

+ 49 - 0
cbn/include/alibabacloud/cbn/model/EnableCenVpcFlowStatisticResult.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_ENABLECENVPCFLOWSTATISTICRESULT_H_
+#define ALIBABACLOUD_CBN_MODEL_ENABLECENVPCFLOWSTATISTICRESULT_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 EnableCenVpcFlowStatisticResult : public ServiceResult
+			{
+			public:
+
+
+				EnableCenVpcFlowStatisticResult();
+				explicit EnableCenVpcFlowStatisticResult(const std::string &payload);
+				~EnableCenVpcFlowStatisticResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CBN_MODEL_ENABLECENVPCFLOWSTATISTICRESULT_H_

+ 72 - 0
cbn/include/alibabacloud/cbn/model/ListTransitRouterVpnAttachmentsRequest.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_CBN_MODEL_LISTTRANSITROUTERVPNATTACHMENTSREQUEST_H_
+#define ALIBABACLOUD_CBN_MODEL_LISTTRANSITROUTERVPNATTACHMENTSREQUEST_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 ListTransitRouterVpnAttachmentsRequest : public RpcServiceRequest {
+public:
+	ListTransitRouterVpnAttachmentsRequest();
+	~ListTransitRouterVpnAttachmentsRequest();
+	long getResourceOwnerId() const;
+	void setResourceOwnerId(long resourceOwnerId);
+	std::string getCenId() const;
+	void setCenId(const std::string &cenId);
+	std::string getRegionId() const;
+	void setRegionId(const std::string &regionId);
+	std::string getNextToken() const;
+	void setNextToken(const std::string &nextToken);
+	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);
+	std::string getResourceType() const;
+	void setResourceType(const std::string &resourceType);
+	std::string getTransitRouterAttachmentId() const;
+	void setTransitRouterAttachmentId(const std::string &transitRouterAttachmentId);
+	int getMaxResults() const;
+	void setMaxResults(int maxResults);
+
+private:
+	long resourceOwnerId_;
+	std::string cenId_;
+	std::string regionId_;
+	std::string nextToken_;
+	std::string resourceOwnerAccount_;
+	std::string ownerAccount_;
+	long ownerId_;
+	std::string transitRouterId_;
+	std::string resourceType_;
+	std::string transitRouterAttachmentId_;
+	int maxResults_;
+};
+} // namespace Model
+} // namespace Cbn
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_CBN_MODEL_LISTTRANSITROUTERVPNATTACHMENTSREQUEST_H_

+ 76 - 0
cbn/include/alibabacloud/cbn/model/ListTransitRouterVpnAttachmentsResult.h

@@ -0,0 +1,76 @@
+/*
+ * 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_LISTTRANSITROUTERVPNATTACHMENTSRESULT_H_
+#define ALIBABACLOUD_CBN_MODEL_LISTTRANSITROUTERVPNATTACHMENTSRESULT_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 ListTransitRouterVpnAttachmentsResult : public ServiceResult
+			{
+			public:
+				struct TransitRouterAttachment
+				{
+					struct Zone
+					{
+						std::string zoneId;
+					};
+					std::string status;
+					std::string transitRouterAttachmentId;
+					bool autoPublishRouteEnabled;
+					long vpnOwnerId;
+					std::string vpnRegionId;
+					std::string creationTime;
+					std::string transitRouterAttachmentName;
+					int resourceType;
+					std::string transitRouterAttachmentDescription;
+					std::vector<TransitRouterAttachment::Zone> zones;
+					std::string transitRouterId;
+					std::string vpnId;
+				};
+
+
+				ListTransitRouterVpnAttachmentsResult();
+				explicit ListTransitRouterVpnAttachmentsResult(const std::string &payload);
+				~ListTransitRouterVpnAttachmentsResult();
+				int getTotalCount()const;
+				std::string getNextToken()const;
+				int getMaxResults()const;
+				std::vector<TransitRouterAttachment> getTransitRouterAttachments()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				int totalCount_;
+				std::string nextToken_;
+				int maxResults_;
+				std::vector<TransitRouterAttachment> transitRouterAttachments_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CBN_MODEL_LISTTRANSITROUTERVPNATTACHMENTSRESULT_H_

+ 72 - 0
cbn/include/alibabacloud/cbn/model/UpdateTransitRouterVpnAttachmentAttributeRequest.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_CBN_MODEL_UPDATETRANSITROUTERVPNATTACHMENTATTRIBUTEREQUEST_H_
+#define ALIBABACLOUD_CBN_MODEL_UPDATETRANSITROUTERVPNATTACHMENTATTRIBUTEREQUEST_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 UpdateTransitRouterVpnAttachmentAttributeRequest : public RpcServiceRequest {
+public:
+	UpdateTransitRouterVpnAttachmentAttributeRequest();
+	~UpdateTransitRouterVpnAttachmentAttributeRequest();
+	long getResourceOwnerId() const;
+	void setResourceOwnerId(long resourceOwnerId);
+	std::string getClientToken() const;
+	void setClientToken(const std::string &clientToken);
+	std::string getTransitRouterAttachmentName() const;
+	void setTransitRouterAttachmentName(const std::string &transitRouterAttachmentName);
+	bool getAutoPublishRouteEnabled() const;
+	void setAutoPublishRouteEnabled(bool autoPublishRouteEnabled);
+	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 getResourceType() const;
+	void setResourceType(const std::string &resourceType);
+	std::string getTransitRouterAttachmentId() const;
+	void setTransitRouterAttachmentId(const std::string &transitRouterAttachmentId);
+	std::string getTransitRouterAttachmentDescription() const;
+	void setTransitRouterAttachmentDescription(const std::string &transitRouterAttachmentDescription);
+
+private:
+	long resourceOwnerId_;
+	std::string clientToken_;
+	std::string transitRouterAttachmentName_;
+	bool autoPublishRouteEnabled_;
+	bool dryRun_;
+	std::string resourceOwnerAccount_;
+	std::string ownerAccount_;
+	long ownerId_;
+	std::string resourceType_;
+	std::string transitRouterAttachmentId_;
+	std::string transitRouterAttachmentDescription_;
+};
+} // namespace Model
+} // namespace Cbn
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_CBN_MODEL_UPDATETRANSITROUTERVPNATTACHMENTATTRIBUTEREQUEST_H_

+ 49 - 0
cbn/include/alibabacloud/cbn/model/UpdateTransitRouterVpnAttachmentAttributeResult.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_UPDATETRANSITROUTERVPNATTACHMENTATTRIBUTERESULT_H_
+#define ALIBABACLOUD_CBN_MODEL_UPDATETRANSITROUTERVPNATTACHMENTATTRIBUTERESULT_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 UpdateTransitRouterVpnAttachmentAttributeResult : public ServiceResult
+			{
+			public:
+
+
+				UpdateTransitRouterVpnAttachmentAttributeResult();
+				explicit UpdateTransitRouterVpnAttachmentAttributeResult(const std::string &payload);
+				~UpdateTransitRouterVpnAttachmentAttributeResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CBN_MODEL_UPDATETRANSITROUTERVPNATTACHMENTATTRIBUTERESULT_H_

+ 252 - 0
cbn/src/CbnClient.cc

@@ -879,6 +879,42 @@ CbnClient::CreateTransitRouterVpcAttachmentOutcomeCallable CbnClient::createTran
 	return task->get_future();
 }
 
+CbnClient::CreateTransitRouterVpnAttachmentOutcome CbnClient::createTransitRouterVpnAttachment(const CreateTransitRouterVpnAttachmentRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return CreateTransitRouterVpnAttachmentOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return CreateTransitRouterVpnAttachmentOutcome(CreateTransitRouterVpnAttachmentResult(outcome.result()));
+	else
+		return CreateTransitRouterVpnAttachmentOutcome(outcome.error());
+}
+
+void CbnClient::createTransitRouterVpnAttachmentAsync(const CreateTransitRouterVpnAttachmentRequest& request, const CreateTransitRouterVpnAttachmentAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, createTransitRouterVpnAttachment(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CbnClient::CreateTransitRouterVpnAttachmentOutcomeCallable CbnClient::createTransitRouterVpnAttachmentCallable(const CreateTransitRouterVpnAttachmentRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<CreateTransitRouterVpnAttachmentOutcome()>>(
+			[this, request]()
+			{
+			return this->createTransitRouterVpnAttachment(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 CbnClient::DeactiveFlowLogOutcome CbnClient::deactiveFlowLog(const DeactiveFlowLogRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1527,6 +1563,42 @@ CbnClient::DeleteTransitRouterVpcAttachmentOutcomeCallable CbnClient::deleteTran
 	return task->get_future();
 }
 
+CbnClient::DeleteTransitRouterVpnAttachmentOutcome CbnClient::deleteTransitRouterVpnAttachment(const DeleteTransitRouterVpnAttachmentRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DeleteTransitRouterVpnAttachmentOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DeleteTransitRouterVpnAttachmentOutcome(DeleteTransitRouterVpnAttachmentResult(outcome.result()));
+	else
+		return DeleteTransitRouterVpnAttachmentOutcome(outcome.error());
+}
+
+void CbnClient::deleteTransitRouterVpnAttachmentAsync(const DeleteTransitRouterVpnAttachmentRequest& request, const DeleteTransitRouterVpnAttachmentAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, deleteTransitRouterVpnAttachment(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CbnClient::DeleteTransitRouterVpnAttachmentOutcomeCallable CbnClient::deleteTransitRouterVpnAttachmentCallable(const DeleteTransitRouterVpnAttachmentRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DeleteTransitRouterVpnAttachmentOutcome()>>(
+			[this, request]()
+			{
+			return this->deleteTransitRouterVpnAttachment(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 CbnClient::DeregisterTransitRouterMulticastGroupMembersOutcome CbnClient::deregisterTransitRouterMulticastGroupMembers(const DeregisterTransitRouterMulticastGroupMembersRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1995,6 +2067,42 @@ CbnClient::DescribeCenVbrHealthCheckOutcomeCallable CbnClient::describeCenVbrHea
 	return task->get_future();
 }
 
+CbnClient::DescribeCenVpcFlowStatisticSwitchOutcome CbnClient::describeCenVpcFlowStatisticSwitch(const DescribeCenVpcFlowStatisticSwitchRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeCenVpcFlowStatisticSwitchOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeCenVpcFlowStatisticSwitchOutcome(DescribeCenVpcFlowStatisticSwitchResult(outcome.result()));
+	else
+		return DescribeCenVpcFlowStatisticSwitchOutcome(outcome.error());
+}
+
+void CbnClient::describeCenVpcFlowStatisticSwitchAsync(const DescribeCenVpcFlowStatisticSwitchRequest& request, const DescribeCenVpcFlowStatisticSwitchAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeCenVpcFlowStatisticSwitch(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CbnClient::DescribeCenVpcFlowStatisticSwitchOutcomeCallable CbnClient::describeCenVpcFlowStatisticSwitchCallable(const DescribeCenVpcFlowStatisticSwitchRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeCenVpcFlowStatisticSwitchOutcome()>>(
+			[this, request]()
+			{
+			return this->describeCenVpcFlowStatisticSwitch(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 CbnClient::DescribeCensOutcome CbnClient::describeCens(const DescribeCensRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -2355,6 +2463,42 @@ CbnClient::DisableCenVbrHealthCheckOutcomeCallable CbnClient::disableCenVbrHealt
 	return task->get_future();
 }
 
+CbnClient::DisableCenVpcFlowStatisticOutcome CbnClient::disableCenVpcFlowStatistic(const DisableCenVpcFlowStatisticRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DisableCenVpcFlowStatisticOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DisableCenVpcFlowStatisticOutcome(DisableCenVpcFlowStatisticResult(outcome.result()));
+	else
+		return DisableCenVpcFlowStatisticOutcome(outcome.error());
+}
+
+void CbnClient::disableCenVpcFlowStatisticAsync(const DisableCenVpcFlowStatisticRequest& request, const DisableCenVpcFlowStatisticAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, disableCenVpcFlowStatistic(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CbnClient::DisableCenVpcFlowStatisticOutcomeCallable CbnClient::disableCenVpcFlowStatisticCallable(const DisableCenVpcFlowStatisticRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DisableCenVpcFlowStatisticOutcome()>>(
+			[this, request]()
+			{
+			return this->disableCenVpcFlowStatistic(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 CbnClient::DisableTransitRouterRouteTablePropagationOutcome CbnClient::disableTransitRouterRouteTablePropagation(const DisableTransitRouterRouteTablePropagationRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -2499,6 +2643,42 @@ CbnClient::EnableCenVbrHealthCheckOutcomeCallable CbnClient::enableCenVbrHealthC
 	return task->get_future();
 }
 
+CbnClient::EnableCenVpcFlowStatisticOutcome CbnClient::enableCenVpcFlowStatistic(const EnableCenVpcFlowStatisticRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return EnableCenVpcFlowStatisticOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return EnableCenVpcFlowStatisticOutcome(EnableCenVpcFlowStatisticResult(outcome.result()));
+	else
+		return EnableCenVpcFlowStatisticOutcome(outcome.error());
+}
+
+void CbnClient::enableCenVpcFlowStatisticAsync(const EnableCenVpcFlowStatisticRequest& request, const EnableCenVpcFlowStatisticAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, enableCenVpcFlowStatistic(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CbnClient::EnableCenVpcFlowStatisticOutcomeCallable CbnClient::enableCenVpcFlowStatisticCallable(const EnableCenVpcFlowStatisticRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<EnableCenVpcFlowStatisticOutcome()>>(
+			[this, request]()
+			{
+			return this->enableCenVpcFlowStatistic(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 CbnClient::EnableTransitRouterRouteTablePropagationOutcome CbnClient::enableTransitRouterRouteTablePropagation(const EnableTransitRouterRouteTablePropagationRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -3183,6 +3363,42 @@ CbnClient::ListTransitRouterVpcAttachmentsOutcomeCallable CbnClient::listTransit
 	return task->get_future();
 }
 
+CbnClient::ListTransitRouterVpnAttachmentsOutcome CbnClient::listTransitRouterVpnAttachments(const ListTransitRouterVpnAttachmentsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return ListTransitRouterVpnAttachmentsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return ListTransitRouterVpnAttachmentsOutcome(ListTransitRouterVpnAttachmentsResult(outcome.result()));
+	else
+		return ListTransitRouterVpnAttachmentsOutcome(outcome.error());
+}
+
+void CbnClient::listTransitRouterVpnAttachmentsAsync(const ListTransitRouterVpnAttachmentsRequest& request, const ListTransitRouterVpnAttachmentsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, listTransitRouterVpnAttachments(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CbnClient::ListTransitRouterVpnAttachmentsOutcomeCallable CbnClient::listTransitRouterVpnAttachmentsCallable(const ListTransitRouterVpnAttachmentsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<ListTransitRouterVpnAttachmentsOutcome()>>(
+			[this, request]()
+			{
+			return this->listTransitRouterVpnAttachments(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 CbnClient::ListTransitRoutersOutcome CbnClient::listTransitRouters(const ListTransitRoutersRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -4335,6 +4551,42 @@ CbnClient::UpdateTransitRouterVpcAttachmentAttributeOutcomeCallable CbnClient::u
 	return task->get_future();
 }
 
+CbnClient::UpdateTransitRouterVpnAttachmentAttributeOutcome CbnClient::updateTransitRouterVpnAttachmentAttribute(const UpdateTransitRouterVpnAttachmentAttributeRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return UpdateTransitRouterVpnAttachmentAttributeOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return UpdateTransitRouterVpnAttachmentAttributeOutcome(UpdateTransitRouterVpnAttachmentAttributeResult(outcome.result()));
+	else
+		return UpdateTransitRouterVpnAttachmentAttributeOutcome(outcome.error());
+}
+
+void CbnClient::updateTransitRouterVpnAttachmentAttributeAsync(const UpdateTransitRouterVpnAttachmentAttributeRequest& request, const UpdateTransitRouterVpnAttachmentAttributeAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, updateTransitRouterVpnAttachmentAttribute(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CbnClient::UpdateTransitRouterVpnAttachmentAttributeOutcomeCallable CbnClient::updateTransitRouterVpnAttachmentAttributeCallable(const UpdateTransitRouterVpnAttachmentAttributeRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<UpdateTransitRouterVpnAttachmentAttributeOutcome()>>(
+			[this, request]()
+			{
+			return this->updateTransitRouterVpnAttachmentAttribute(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 CbnClient::WithdrawPublishedRouteEntriesOutcome CbnClient::withdrawPublishedRouteEntries(const WithdrawPublishedRouteEntriesRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();

+ 202 - 0
cbn/src/model/CreateTransitRouterVpnAttachmentRequest.cc

@@ -0,0 +1,202 @@
+/*
+ * 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/CreateTransitRouterVpnAttachmentRequest.h>
+
+using AlibabaCloud::Cbn::Model::CreateTransitRouterVpnAttachmentRequest;
+
+CreateTransitRouterVpnAttachmentRequest::CreateTransitRouterVpnAttachmentRequest()
+    : RpcServiceRequest("cbn", "2017-09-12", "CreateTransitRouterVpnAttachment") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+CreateTransitRouterVpnAttachmentRequest::~CreateTransitRouterVpnAttachmentRequest() {}
+
+long CreateTransitRouterVpnAttachmentRequest::getResourceOwnerId() const {
+  return resourceOwnerId_;
+}
+
+void CreateTransitRouterVpnAttachmentRequest::setResourceOwnerId(long resourceOwnerId) {
+  resourceOwnerId_ = resourceOwnerId;
+  setParameter(std::string("ResourceOwnerId"), std::to_string(resourceOwnerId));
+}
+
+std::string CreateTransitRouterVpnAttachmentRequest::getClientToken() const {
+  return clientToken_;
+}
+
+void CreateTransitRouterVpnAttachmentRequest::setClientToken(const std::string &clientToken) {
+  clientToken_ = clientToken;
+  setParameter(std::string("ClientToken"), clientToken);
+}
+
+std::string CreateTransitRouterVpnAttachmentRequest::getCenId() const {
+  return cenId_;
+}
+
+void CreateTransitRouterVpnAttachmentRequest::setCenId(const std::string &cenId) {
+  cenId_ = cenId;
+  setParameter(std::string("CenId"), cenId);
+}
+
+bool CreateTransitRouterVpnAttachmentRequest::getRouteTableAssociationEnabled() const {
+  return routeTableAssociationEnabled_;
+}
+
+void CreateTransitRouterVpnAttachmentRequest::setRouteTableAssociationEnabled(bool routeTableAssociationEnabled) {
+  routeTableAssociationEnabled_ = routeTableAssociationEnabled;
+  setParameter(std::string("RouteTableAssociationEnabled"), routeTableAssociationEnabled ? "true" : "false");
+}
+
+std::string CreateTransitRouterVpnAttachmentRequest::getTransitRouterAttachmentName() const {
+  return transitRouterAttachmentName_;
+}
+
+void CreateTransitRouterVpnAttachmentRequest::setTransitRouterAttachmentName(const std::string &transitRouterAttachmentName) {
+  transitRouterAttachmentName_ = transitRouterAttachmentName;
+  setParameter(std::string("TransitRouterAttachmentName"), transitRouterAttachmentName);
+}
+
+std::string CreateTransitRouterVpnAttachmentRequest::getRegionId() const {
+  return regionId_;
+}
+
+void CreateTransitRouterVpnAttachmentRequest::setRegionId(const std::string &regionId) {
+  regionId_ = regionId;
+  setParameter(std::string("RegionId"), regionId);
+}
+
+std::vector<CreateTransitRouterVpnAttachmentRequest::Zone> CreateTransitRouterVpnAttachmentRequest::getZone() const {
+  return zone_;
+}
+
+void CreateTransitRouterVpnAttachmentRequest::setZone(const std::vector<CreateTransitRouterVpnAttachmentRequest::Zone> &zone) {
+  zone_ = zone;
+  for(int dep1 = 0; dep1 != zone.size(); dep1++) {
+  auto zoneObj = zone.at(dep1);
+  std::string zoneObjStr = std::string("Zone") + "." + std::to_string(dep1 + 1);
+    setParameter(zoneObjStr + ".ZoneId", zoneObj.zoneId);
+  }
+}
+
+bool CreateTransitRouterVpnAttachmentRequest::getAutoPublishRouteEnabled() const {
+  return autoPublishRouteEnabled_;
+}
+
+void CreateTransitRouterVpnAttachmentRequest::setAutoPublishRouteEnabled(bool autoPublishRouteEnabled) {
+  autoPublishRouteEnabled_ = autoPublishRouteEnabled;
+  setParameter(std::string("AutoPublishRouteEnabled"), autoPublishRouteEnabled ? "true" : "false");
+}
+
+bool CreateTransitRouterVpnAttachmentRequest::getRouteTablePropagationEnabled() const {
+  return routeTablePropagationEnabled_;
+}
+
+void CreateTransitRouterVpnAttachmentRequest::setRouteTablePropagationEnabled(bool routeTablePropagationEnabled) {
+  routeTablePropagationEnabled_ = routeTablePropagationEnabled;
+  setParameter(std::string("RouteTablePropagationEnabled"), routeTablePropagationEnabled ? "true" : "false");
+}
+
+bool CreateTransitRouterVpnAttachmentRequest::getDryRun() const {
+  return dryRun_;
+}
+
+void CreateTransitRouterVpnAttachmentRequest::setDryRun(bool dryRun) {
+  dryRun_ = dryRun;
+  setParameter(std::string("DryRun"), dryRun ? "true" : "false");
+}
+
+std::string CreateTransitRouterVpnAttachmentRequest::getResourceOwnerAccount() const {
+  return resourceOwnerAccount_;
+}
+
+void CreateTransitRouterVpnAttachmentRequest::setResourceOwnerAccount(const std::string &resourceOwnerAccount) {
+  resourceOwnerAccount_ = resourceOwnerAccount;
+  setParameter(std::string("ResourceOwnerAccount"), resourceOwnerAccount);
+}
+
+std::string CreateTransitRouterVpnAttachmentRequest::getOwnerAccount() const {
+  return ownerAccount_;
+}
+
+void CreateTransitRouterVpnAttachmentRequest::setOwnerAccount(const std::string &ownerAccount) {
+  ownerAccount_ = ownerAccount;
+  setParameter(std::string("OwnerAccount"), ownerAccount);
+}
+
+long CreateTransitRouterVpnAttachmentRequest::getOwnerId() const {
+  return ownerId_;
+}
+
+void CreateTransitRouterVpnAttachmentRequest::setOwnerId(long ownerId) {
+  ownerId_ = ownerId;
+  setParameter(std::string("OwnerId"), std::to_string(ownerId));
+}
+
+std::string CreateTransitRouterVpnAttachmentRequest::getTransitRouterId() const {
+  return transitRouterId_;
+}
+
+void CreateTransitRouterVpnAttachmentRequest::setTransitRouterId(const std::string &transitRouterId) {
+  transitRouterId_ = transitRouterId;
+  setParameter(std::string("TransitRouterId"), transitRouterId);
+}
+
+std::string CreateTransitRouterVpnAttachmentRequest::getResourceType() const {
+  return resourceType_;
+}
+
+void CreateTransitRouterVpnAttachmentRequest::setResourceType(const std::string &resourceType) {
+  resourceType_ = resourceType;
+  setParameter(std::string("ResourceType"), resourceType);
+}
+
+std::string CreateTransitRouterVpnAttachmentRequest::getTransitRouterAttachmentDescription() const {
+  return transitRouterAttachmentDescription_;
+}
+
+void CreateTransitRouterVpnAttachmentRequest::setTransitRouterAttachmentDescription(const std::string &transitRouterAttachmentDescription) {
+  transitRouterAttachmentDescription_ = transitRouterAttachmentDescription;
+  setParameter(std::string("TransitRouterAttachmentDescription"), transitRouterAttachmentDescription);
+}
+
+long CreateTransitRouterVpnAttachmentRequest::getVpnOwnerId() const {
+  return vpnOwnerId_;
+}
+
+void CreateTransitRouterVpnAttachmentRequest::setVpnOwnerId(long vpnOwnerId) {
+  vpnOwnerId_ = vpnOwnerId;
+  setParameter(std::string("VpnOwnerId"), std::to_string(vpnOwnerId));
+}
+
+std::string CreateTransitRouterVpnAttachmentRequest::getChargeType() const {
+  return chargeType_;
+}
+
+void CreateTransitRouterVpnAttachmentRequest::setChargeType(const std::string &chargeType) {
+  chargeType_ = chargeType;
+  setParameter(std::string("ChargeType"), chargeType);
+}
+
+std::string CreateTransitRouterVpnAttachmentRequest::getVpnId() const {
+  return vpnId_;
+}
+
+void CreateTransitRouterVpnAttachmentRequest::setVpnId(const std::string &vpnId) {
+  vpnId_ = vpnId;
+  setParameter(std::string("VpnId"), vpnId);
+}
+

+ 51 - 0
cbn/src/model/CreateTransitRouterVpnAttachmentResult.cc

@@ -0,0 +1,51 @@
+/*
+ * 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/CreateTransitRouterVpnAttachmentResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Cbn;
+using namespace AlibabaCloud::Cbn::Model;
+
+CreateTransitRouterVpnAttachmentResult::CreateTransitRouterVpnAttachmentResult() :
+	ServiceResult()
+{}
+
+CreateTransitRouterVpnAttachmentResult::CreateTransitRouterVpnAttachmentResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+CreateTransitRouterVpnAttachmentResult::~CreateTransitRouterVpnAttachmentResult()
+{}
+
+void CreateTransitRouterVpnAttachmentResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	if(!value["TransitRouterAttachmentId"].isNull())
+		transitRouterAttachmentId_ = value["TransitRouterAttachmentId"].asString();
+
+}
+
+std::string CreateTransitRouterVpnAttachmentResult::getTransitRouterAttachmentId()const
+{
+	return transitRouterAttachmentId_;
+}
+

+ 99 - 0
cbn/src/model/DeleteTransitRouterVpnAttachmentRequest.cc

@@ -0,0 +1,99 @@
+/*
+ * 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/DeleteTransitRouterVpnAttachmentRequest.h>
+
+using AlibabaCloud::Cbn::Model::DeleteTransitRouterVpnAttachmentRequest;
+
+DeleteTransitRouterVpnAttachmentRequest::DeleteTransitRouterVpnAttachmentRequest()
+    : RpcServiceRequest("cbn", "2017-09-12", "DeleteTransitRouterVpnAttachment") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DeleteTransitRouterVpnAttachmentRequest::~DeleteTransitRouterVpnAttachmentRequest() {}
+
+long DeleteTransitRouterVpnAttachmentRequest::getResourceOwnerId() const {
+  return resourceOwnerId_;
+}
+
+void DeleteTransitRouterVpnAttachmentRequest::setResourceOwnerId(long resourceOwnerId) {
+  resourceOwnerId_ = resourceOwnerId;
+  setParameter(std::string("ResourceOwnerId"), std::to_string(resourceOwnerId));
+}
+
+std::string DeleteTransitRouterVpnAttachmentRequest::getClientToken() const {
+  return clientToken_;
+}
+
+void DeleteTransitRouterVpnAttachmentRequest::setClientToken(const std::string &clientToken) {
+  clientToken_ = clientToken;
+  setParameter(std::string("ClientToken"), clientToken);
+}
+
+bool DeleteTransitRouterVpnAttachmentRequest::getDryRun() const {
+  return dryRun_;
+}
+
+void DeleteTransitRouterVpnAttachmentRequest::setDryRun(bool dryRun) {
+  dryRun_ = dryRun;
+  setParameter(std::string("DryRun"), dryRun ? "true" : "false");
+}
+
+std::string DeleteTransitRouterVpnAttachmentRequest::getResourceOwnerAccount() const {
+  return resourceOwnerAccount_;
+}
+
+void DeleteTransitRouterVpnAttachmentRequest::setResourceOwnerAccount(const std::string &resourceOwnerAccount) {
+  resourceOwnerAccount_ = resourceOwnerAccount;
+  setParameter(std::string("ResourceOwnerAccount"), resourceOwnerAccount);
+}
+
+std::string DeleteTransitRouterVpnAttachmentRequest::getOwnerAccount() const {
+  return ownerAccount_;
+}
+
+void DeleteTransitRouterVpnAttachmentRequest::setOwnerAccount(const std::string &ownerAccount) {
+  ownerAccount_ = ownerAccount;
+  setParameter(std::string("OwnerAccount"), ownerAccount);
+}
+
+long DeleteTransitRouterVpnAttachmentRequest::getOwnerId() const {
+  return ownerId_;
+}
+
+void DeleteTransitRouterVpnAttachmentRequest::setOwnerId(long ownerId) {
+  ownerId_ = ownerId;
+  setParameter(std::string("OwnerId"), std::to_string(ownerId));
+}
+
+std::string DeleteTransitRouterVpnAttachmentRequest::getResourceType() const {
+  return resourceType_;
+}
+
+void DeleteTransitRouterVpnAttachmentRequest::setResourceType(const std::string &resourceType) {
+  resourceType_ = resourceType;
+  setParameter(std::string("ResourceType"), resourceType);
+}
+
+std::string DeleteTransitRouterVpnAttachmentRequest::getTransitRouterAttachmentId() const {
+  return transitRouterAttachmentId_;
+}
+
+void DeleteTransitRouterVpnAttachmentRequest::setTransitRouterAttachmentId(const std::string &transitRouterAttachmentId) {
+  transitRouterAttachmentId_ = transitRouterAttachmentId;
+  setParameter(std::string("TransitRouterAttachmentId"), transitRouterAttachmentId);
+}
+

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

+ 81 - 0
cbn/src/model/DescribeCenVpcFlowStatisticSwitchRequest.cc

@@ -0,0 +1,81 @@
+/*
+ * 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/DescribeCenVpcFlowStatisticSwitchRequest.h>
+
+using AlibabaCloud::Cbn::Model::DescribeCenVpcFlowStatisticSwitchRequest;
+
+DescribeCenVpcFlowStatisticSwitchRequest::DescribeCenVpcFlowStatisticSwitchRequest()
+    : RpcServiceRequest("cbn", "2017-09-12", "DescribeCenVpcFlowStatisticSwitch") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DescribeCenVpcFlowStatisticSwitchRequest::~DescribeCenVpcFlowStatisticSwitchRequest() {}
+
+long DescribeCenVpcFlowStatisticSwitchRequest::getResourceOwnerId() const {
+  return resourceOwnerId_;
+}
+
+void DescribeCenVpcFlowStatisticSwitchRequest::setResourceOwnerId(long resourceOwnerId) {
+  resourceOwnerId_ = resourceOwnerId;
+  setParameter(std::string("ResourceOwnerId"), std::to_string(resourceOwnerId));
+}
+
+std::string DescribeCenVpcFlowStatisticSwitchRequest::getCenId() const {
+  return cenId_;
+}
+
+void DescribeCenVpcFlowStatisticSwitchRequest::setCenId(const std::string &cenId) {
+  cenId_ = cenId;
+  setParameter(std::string("CenId"), cenId);
+}
+
+std::string DescribeCenVpcFlowStatisticSwitchRequest::getRegionId() const {
+  return regionId_;
+}
+
+void DescribeCenVpcFlowStatisticSwitchRequest::setRegionId(const std::string &regionId) {
+  regionId_ = regionId;
+  setParameter(std::string("RegionId"), regionId);
+}
+
+std::string DescribeCenVpcFlowStatisticSwitchRequest::getResourceOwnerAccount() const {
+  return resourceOwnerAccount_;
+}
+
+void DescribeCenVpcFlowStatisticSwitchRequest::setResourceOwnerAccount(const std::string &resourceOwnerAccount) {
+  resourceOwnerAccount_ = resourceOwnerAccount;
+  setParameter(std::string("ResourceOwnerAccount"), resourceOwnerAccount);
+}
+
+std::string DescribeCenVpcFlowStatisticSwitchRequest::getOwnerAccount() const {
+  return ownerAccount_;
+}
+
+void DescribeCenVpcFlowStatisticSwitchRequest::setOwnerAccount(const std::string &ownerAccount) {
+  ownerAccount_ = ownerAccount;
+  setParameter(std::string("OwnerAccount"), ownerAccount);
+}
+
+long DescribeCenVpcFlowStatisticSwitchRequest::getOwnerId() const {
+  return ownerId_;
+}
+
+void DescribeCenVpcFlowStatisticSwitchRequest::setOwnerId(long ownerId) {
+  ownerId_ = ownerId;
+  setParameter(std::string("OwnerId"), std::to_string(ownerId));
+}
+

+ 72 - 0
cbn/src/model/DescribeCenVpcFlowStatisticSwitchResult.cc

@@ -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.
+ */
+
+#include <alibabacloud/cbn/model/DescribeCenVpcFlowStatisticSwitchResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Cbn;
+using namespace AlibabaCloud::Cbn::Model;
+
+DescribeCenVpcFlowStatisticSwitchResult::DescribeCenVpcFlowStatisticSwitchResult() :
+	ServiceResult()
+{}
+
+DescribeCenVpcFlowStatisticSwitchResult::DescribeCenVpcFlowStatisticSwitchResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeCenVpcFlowStatisticSwitchResult::~DescribeCenVpcFlowStatisticSwitchResult()
+{}
+
+void DescribeCenVpcFlowStatisticSwitchResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	if(!value["InvalidDate"].isNull())
+		invalidDate_ = value["InvalidDate"].asString();
+	if(!value["State"].isNull())
+		state_ = value["State"].asString();
+	if(!value["RegionId"].isNull())
+		regionId_ = value["RegionId"].asString();
+	if(!value["CenId"].isNull())
+		cenId_ = value["CenId"].asString();
+
+}
+
+std::string DescribeCenVpcFlowStatisticSwitchResult::getState()const
+{
+	return state_;
+}
+
+std::string DescribeCenVpcFlowStatisticSwitchResult::getInvalidDate()const
+{
+	return invalidDate_;
+}
+
+std::string DescribeCenVpcFlowStatisticSwitchResult::getCenId()const
+{
+	return cenId_;
+}
+
+std::string DescribeCenVpcFlowStatisticSwitchResult::getRegionId()const
+{
+	return regionId_;
+}
+

+ 90 - 0
cbn/src/model/DisableCenVpcFlowStatisticRequest.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/DisableCenVpcFlowStatisticRequest.h>
+
+using AlibabaCloud::Cbn::Model::DisableCenVpcFlowStatisticRequest;
+
+DisableCenVpcFlowStatisticRequest::DisableCenVpcFlowStatisticRequest()
+    : RpcServiceRequest("cbn", "2017-09-12", "DisableCenVpcFlowStatistic") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DisableCenVpcFlowStatisticRequest::~DisableCenVpcFlowStatisticRequest() {}
+
+long DisableCenVpcFlowStatisticRequest::getResourceOwnerId() const {
+  return resourceOwnerId_;
+}
+
+void DisableCenVpcFlowStatisticRequest::setResourceOwnerId(long resourceOwnerId) {
+  resourceOwnerId_ = resourceOwnerId;
+  setParameter(std::string("ResourceOwnerId"), std::to_string(resourceOwnerId));
+}
+
+std::string DisableCenVpcFlowStatisticRequest::getClientToken() const {
+  return clientToken_;
+}
+
+void DisableCenVpcFlowStatisticRequest::setClientToken(const std::string &clientToken) {
+  clientToken_ = clientToken;
+  setParameter(std::string("ClientToken"), clientToken);
+}
+
+std::string DisableCenVpcFlowStatisticRequest::getCenId() const {
+  return cenId_;
+}
+
+void DisableCenVpcFlowStatisticRequest::setCenId(const std::string &cenId) {
+  cenId_ = cenId;
+  setParameter(std::string("CenId"), cenId);
+}
+
+std::string DisableCenVpcFlowStatisticRequest::getRegionId() const {
+  return regionId_;
+}
+
+void DisableCenVpcFlowStatisticRequest::setRegionId(const std::string &regionId) {
+  regionId_ = regionId;
+  setParameter(std::string("RegionId"), regionId);
+}
+
+std::string DisableCenVpcFlowStatisticRequest::getResourceOwnerAccount() const {
+  return resourceOwnerAccount_;
+}
+
+void DisableCenVpcFlowStatisticRequest::setResourceOwnerAccount(const std::string &resourceOwnerAccount) {
+  resourceOwnerAccount_ = resourceOwnerAccount;
+  setParameter(std::string("ResourceOwnerAccount"), resourceOwnerAccount);
+}
+
+std::string DisableCenVpcFlowStatisticRequest::getOwnerAccount() const {
+  return ownerAccount_;
+}
+
+void DisableCenVpcFlowStatisticRequest::setOwnerAccount(const std::string &ownerAccount) {
+  ownerAccount_ = ownerAccount;
+  setParameter(std::string("OwnerAccount"), ownerAccount);
+}
+
+long DisableCenVpcFlowStatisticRequest::getOwnerId() const {
+  return ownerId_;
+}
+
+void DisableCenVpcFlowStatisticRequest::setOwnerId(long ownerId) {
+  ownerId_ = ownerId;
+  setParameter(std::string("OwnerId"), std::to_string(ownerId));
+}
+

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

+ 99 - 0
cbn/src/model/EnableCenVpcFlowStatisticRequest.cc

@@ -0,0 +1,99 @@
+/*
+ * 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/EnableCenVpcFlowStatisticRequest.h>
+
+using AlibabaCloud::Cbn::Model::EnableCenVpcFlowStatisticRequest;
+
+EnableCenVpcFlowStatisticRequest::EnableCenVpcFlowStatisticRequest()
+    : RpcServiceRequest("cbn", "2017-09-12", "EnableCenVpcFlowStatistic") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+EnableCenVpcFlowStatisticRequest::~EnableCenVpcFlowStatisticRequest() {}
+
+long EnableCenVpcFlowStatisticRequest::getResourceOwnerId() const {
+  return resourceOwnerId_;
+}
+
+void EnableCenVpcFlowStatisticRequest::setResourceOwnerId(long resourceOwnerId) {
+  resourceOwnerId_ = resourceOwnerId;
+  setParameter(std::string("ResourceOwnerId"), std::to_string(resourceOwnerId));
+}
+
+std::string EnableCenVpcFlowStatisticRequest::getClientToken() const {
+  return clientToken_;
+}
+
+void EnableCenVpcFlowStatisticRequest::setClientToken(const std::string &clientToken) {
+  clientToken_ = clientToken;
+  setParameter(std::string("ClientToken"), clientToken);
+}
+
+std::string EnableCenVpcFlowStatisticRequest::getCenId() const {
+  return cenId_;
+}
+
+void EnableCenVpcFlowStatisticRequest::setCenId(const std::string &cenId) {
+  cenId_ = cenId;
+  setParameter(std::string("CenId"), cenId);
+}
+
+std::string EnableCenVpcFlowStatisticRequest::getRegionId() const {
+  return regionId_;
+}
+
+void EnableCenVpcFlowStatisticRequest::setRegionId(const std::string &regionId) {
+  regionId_ = regionId;
+  setParameter(std::string("RegionId"), regionId);
+}
+
+std::string EnableCenVpcFlowStatisticRequest::getResourceOwnerAccount() const {
+  return resourceOwnerAccount_;
+}
+
+void EnableCenVpcFlowStatisticRequest::setResourceOwnerAccount(const std::string &resourceOwnerAccount) {
+  resourceOwnerAccount_ = resourceOwnerAccount;
+  setParameter(std::string("ResourceOwnerAccount"), resourceOwnerAccount);
+}
+
+std::string EnableCenVpcFlowStatisticRequest::getOwnerAccount() const {
+  return ownerAccount_;
+}
+
+void EnableCenVpcFlowStatisticRequest::setOwnerAccount(const std::string &ownerAccount) {
+  ownerAccount_ = ownerAccount;
+  setParameter(std::string("OwnerAccount"), ownerAccount);
+}
+
+long EnableCenVpcFlowStatisticRequest::getOwnerId() const {
+  return ownerId_;
+}
+
+void EnableCenVpcFlowStatisticRequest::setOwnerId(long ownerId) {
+  ownerId_ = ownerId;
+  setParameter(std::string("OwnerId"), std::to_string(ownerId));
+}
+
+int EnableCenVpcFlowStatisticRequest::getDays() const {
+  return days_;
+}
+
+void EnableCenVpcFlowStatisticRequest::setDays(int days) {
+  days_ = days;
+  setParameter(std::string("Days"), std::to_string(days));
+}
+

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

+ 126 - 0
cbn/src/model/ListTransitRouterVpnAttachmentsRequest.cc

@@ -0,0 +1,126 @@
+/*
+ * 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/ListTransitRouterVpnAttachmentsRequest.h>
+
+using AlibabaCloud::Cbn::Model::ListTransitRouterVpnAttachmentsRequest;
+
+ListTransitRouterVpnAttachmentsRequest::ListTransitRouterVpnAttachmentsRequest()
+    : RpcServiceRequest("cbn", "2017-09-12", "ListTransitRouterVpnAttachments") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+ListTransitRouterVpnAttachmentsRequest::~ListTransitRouterVpnAttachmentsRequest() {}
+
+long ListTransitRouterVpnAttachmentsRequest::getResourceOwnerId() const {
+  return resourceOwnerId_;
+}
+
+void ListTransitRouterVpnAttachmentsRequest::setResourceOwnerId(long resourceOwnerId) {
+  resourceOwnerId_ = resourceOwnerId;
+  setParameter(std::string("ResourceOwnerId"), std::to_string(resourceOwnerId));
+}
+
+std::string ListTransitRouterVpnAttachmentsRequest::getCenId() const {
+  return cenId_;
+}
+
+void ListTransitRouterVpnAttachmentsRequest::setCenId(const std::string &cenId) {
+  cenId_ = cenId;
+  setParameter(std::string("CenId"), cenId);
+}
+
+std::string ListTransitRouterVpnAttachmentsRequest::getRegionId() const {
+  return regionId_;
+}
+
+void ListTransitRouterVpnAttachmentsRequest::setRegionId(const std::string &regionId) {
+  regionId_ = regionId;
+  setParameter(std::string("RegionId"), regionId);
+}
+
+std::string ListTransitRouterVpnAttachmentsRequest::getNextToken() const {
+  return nextToken_;
+}
+
+void ListTransitRouterVpnAttachmentsRequest::setNextToken(const std::string &nextToken) {
+  nextToken_ = nextToken;
+  setParameter(std::string("NextToken"), nextToken);
+}
+
+std::string ListTransitRouterVpnAttachmentsRequest::getResourceOwnerAccount() const {
+  return resourceOwnerAccount_;
+}
+
+void ListTransitRouterVpnAttachmentsRequest::setResourceOwnerAccount(const std::string &resourceOwnerAccount) {
+  resourceOwnerAccount_ = resourceOwnerAccount;
+  setParameter(std::string("ResourceOwnerAccount"), resourceOwnerAccount);
+}
+
+std::string ListTransitRouterVpnAttachmentsRequest::getOwnerAccount() const {
+  return ownerAccount_;
+}
+
+void ListTransitRouterVpnAttachmentsRequest::setOwnerAccount(const std::string &ownerAccount) {
+  ownerAccount_ = ownerAccount;
+  setParameter(std::string("OwnerAccount"), ownerAccount);
+}
+
+long ListTransitRouterVpnAttachmentsRequest::getOwnerId() const {
+  return ownerId_;
+}
+
+void ListTransitRouterVpnAttachmentsRequest::setOwnerId(long ownerId) {
+  ownerId_ = ownerId;
+  setParameter(std::string("OwnerId"), std::to_string(ownerId));
+}
+
+std::string ListTransitRouterVpnAttachmentsRequest::getTransitRouterId() const {
+  return transitRouterId_;
+}
+
+void ListTransitRouterVpnAttachmentsRequest::setTransitRouterId(const std::string &transitRouterId) {
+  transitRouterId_ = transitRouterId;
+  setParameter(std::string("TransitRouterId"), transitRouterId);
+}
+
+std::string ListTransitRouterVpnAttachmentsRequest::getResourceType() const {
+  return resourceType_;
+}
+
+void ListTransitRouterVpnAttachmentsRequest::setResourceType(const std::string &resourceType) {
+  resourceType_ = resourceType;
+  setParameter(std::string("ResourceType"), resourceType);
+}
+
+std::string ListTransitRouterVpnAttachmentsRequest::getTransitRouterAttachmentId() const {
+  return transitRouterAttachmentId_;
+}
+
+void ListTransitRouterVpnAttachmentsRequest::setTransitRouterAttachmentId(const std::string &transitRouterAttachmentId) {
+  transitRouterAttachmentId_ = transitRouterAttachmentId;
+  setParameter(std::string("TransitRouterAttachmentId"), transitRouterAttachmentId);
+}
+
+int ListTransitRouterVpnAttachmentsRequest::getMaxResults() const {
+  return maxResults_;
+}
+
+void ListTransitRouterVpnAttachmentsRequest::setMaxResults(int maxResults) {
+  maxResults_ = maxResults;
+  setParameter(std::string("MaxResults"), std::to_string(maxResults));
+}
+

+ 106 - 0
cbn/src/model/ListTransitRouterVpnAttachmentsResult.cc

@@ -0,0 +1,106 @@
+/*
+ * 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/ListTransitRouterVpnAttachmentsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Cbn;
+using namespace AlibabaCloud::Cbn::Model;
+
+ListTransitRouterVpnAttachmentsResult::ListTransitRouterVpnAttachmentsResult() :
+	ServiceResult()
+{}
+
+ListTransitRouterVpnAttachmentsResult::ListTransitRouterVpnAttachmentsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+ListTransitRouterVpnAttachmentsResult::~ListTransitRouterVpnAttachmentsResult()
+{}
+
+void ListTransitRouterVpnAttachmentsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allTransitRouterAttachmentsNode = value["TransitRouterAttachments"]["TransitRouterAttachment"];
+	for (auto valueTransitRouterAttachmentsTransitRouterAttachment : allTransitRouterAttachmentsNode)
+	{
+		TransitRouterAttachment transitRouterAttachmentsObject;
+		if(!valueTransitRouterAttachmentsTransitRouterAttachment["CreationTime"].isNull())
+			transitRouterAttachmentsObject.creationTime = valueTransitRouterAttachmentsTransitRouterAttachment["CreationTime"].asString();
+		if(!valueTransitRouterAttachmentsTransitRouterAttachment["Status"].isNull())
+			transitRouterAttachmentsObject.status = valueTransitRouterAttachmentsTransitRouterAttachment["Status"].asString();
+		if(!valueTransitRouterAttachmentsTransitRouterAttachment["TransitRouterAttachmentId"].isNull())
+			transitRouterAttachmentsObject.transitRouterAttachmentId = valueTransitRouterAttachmentsTransitRouterAttachment["TransitRouterAttachmentId"].asString();
+		if(!valueTransitRouterAttachmentsTransitRouterAttachment["TransitRouterId"].isNull())
+			transitRouterAttachmentsObject.transitRouterId = valueTransitRouterAttachmentsTransitRouterAttachment["TransitRouterId"].asString();
+		if(!valueTransitRouterAttachmentsTransitRouterAttachment["ResourceType"].isNull())
+			transitRouterAttachmentsObject.resourceType = std::stoi(valueTransitRouterAttachmentsTransitRouterAttachment["ResourceType"].asString());
+		if(!valueTransitRouterAttachmentsTransitRouterAttachment["VpnOwnerId"].isNull())
+			transitRouterAttachmentsObject.vpnOwnerId = std::stol(valueTransitRouterAttachmentsTransitRouterAttachment["VpnOwnerId"].asString());
+		if(!valueTransitRouterAttachmentsTransitRouterAttachment["VpnId"].isNull())
+			transitRouterAttachmentsObject.vpnId = valueTransitRouterAttachmentsTransitRouterAttachment["VpnId"].asString();
+		if(!valueTransitRouterAttachmentsTransitRouterAttachment["TransitRouterAttachmentDescription"].isNull())
+			transitRouterAttachmentsObject.transitRouterAttachmentDescription = valueTransitRouterAttachmentsTransitRouterAttachment["TransitRouterAttachmentDescription"].asString();
+		if(!valueTransitRouterAttachmentsTransitRouterAttachment["VpnRegionId"].isNull())
+			transitRouterAttachmentsObject.vpnRegionId = valueTransitRouterAttachmentsTransitRouterAttachment["VpnRegionId"].asString();
+		if(!valueTransitRouterAttachmentsTransitRouterAttachment["AutoPublishRouteEnabled"].isNull())
+			transitRouterAttachmentsObject.autoPublishRouteEnabled = valueTransitRouterAttachmentsTransitRouterAttachment["AutoPublishRouteEnabled"].asString() == "true";
+		if(!valueTransitRouterAttachmentsTransitRouterAttachment["TransitRouterAttachmentName"].isNull())
+			transitRouterAttachmentsObject.transitRouterAttachmentName = valueTransitRouterAttachmentsTransitRouterAttachment["TransitRouterAttachmentName"].asString();
+		auto allZonesNode = valueTransitRouterAttachmentsTransitRouterAttachment["Zones"]["Zone"];
+		for (auto valueTransitRouterAttachmentsTransitRouterAttachmentZonesZone : allZonesNode)
+		{
+			TransitRouterAttachment::Zone zonesObject;
+			if(!valueTransitRouterAttachmentsTransitRouterAttachmentZonesZone["ZoneId"].isNull())
+				zonesObject.zoneId = valueTransitRouterAttachmentsTransitRouterAttachmentZonesZone["ZoneId"].asString();
+			transitRouterAttachmentsObject.zones.push_back(zonesObject);
+		}
+		transitRouterAttachments_.push_back(transitRouterAttachmentsObject);
+	}
+	if(!value["NextToken"].isNull())
+		nextToken_ = value["NextToken"].asString();
+	if(!value["TotalCount"].isNull())
+		totalCount_ = std::stoi(value["TotalCount"].asString());
+	if(!value["MaxResults"].isNull())
+		maxResults_ = std::stoi(value["MaxResults"].asString());
+
+}
+
+int ListTransitRouterVpnAttachmentsResult::getTotalCount()const
+{
+	return totalCount_;
+}
+
+std::string ListTransitRouterVpnAttachmentsResult::getNextToken()const
+{
+	return nextToken_;
+}
+
+int ListTransitRouterVpnAttachmentsResult::getMaxResults()const
+{
+	return maxResults_;
+}
+
+std::vector<ListTransitRouterVpnAttachmentsResult::TransitRouterAttachment> ListTransitRouterVpnAttachmentsResult::getTransitRouterAttachments()const
+{
+	return transitRouterAttachments_;
+}
+

+ 126 - 0
cbn/src/model/UpdateTransitRouterVpnAttachmentAttributeRequest.cc

@@ -0,0 +1,126 @@
+/*
+ * 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/UpdateTransitRouterVpnAttachmentAttributeRequest.h>
+
+using AlibabaCloud::Cbn::Model::UpdateTransitRouterVpnAttachmentAttributeRequest;
+
+UpdateTransitRouterVpnAttachmentAttributeRequest::UpdateTransitRouterVpnAttachmentAttributeRequest()
+    : RpcServiceRequest("cbn", "2017-09-12", "UpdateTransitRouterVpnAttachmentAttribute") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+UpdateTransitRouterVpnAttachmentAttributeRequest::~UpdateTransitRouterVpnAttachmentAttributeRequest() {}
+
+long UpdateTransitRouterVpnAttachmentAttributeRequest::getResourceOwnerId() const {
+  return resourceOwnerId_;
+}
+
+void UpdateTransitRouterVpnAttachmentAttributeRequest::setResourceOwnerId(long resourceOwnerId) {
+  resourceOwnerId_ = resourceOwnerId;
+  setParameter(std::string("ResourceOwnerId"), std::to_string(resourceOwnerId));
+}
+
+std::string UpdateTransitRouterVpnAttachmentAttributeRequest::getClientToken() const {
+  return clientToken_;
+}
+
+void UpdateTransitRouterVpnAttachmentAttributeRequest::setClientToken(const std::string &clientToken) {
+  clientToken_ = clientToken;
+  setParameter(std::string("ClientToken"), clientToken);
+}
+
+std::string UpdateTransitRouterVpnAttachmentAttributeRequest::getTransitRouterAttachmentName() const {
+  return transitRouterAttachmentName_;
+}
+
+void UpdateTransitRouterVpnAttachmentAttributeRequest::setTransitRouterAttachmentName(const std::string &transitRouterAttachmentName) {
+  transitRouterAttachmentName_ = transitRouterAttachmentName;
+  setParameter(std::string("TransitRouterAttachmentName"), transitRouterAttachmentName);
+}
+
+bool UpdateTransitRouterVpnAttachmentAttributeRequest::getAutoPublishRouteEnabled() const {
+  return autoPublishRouteEnabled_;
+}
+
+void UpdateTransitRouterVpnAttachmentAttributeRequest::setAutoPublishRouteEnabled(bool autoPublishRouteEnabled) {
+  autoPublishRouteEnabled_ = autoPublishRouteEnabled;
+  setParameter(std::string("AutoPublishRouteEnabled"), autoPublishRouteEnabled ? "true" : "false");
+}
+
+bool UpdateTransitRouterVpnAttachmentAttributeRequest::getDryRun() const {
+  return dryRun_;
+}
+
+void UpdateTransitRouterVpnAttachmentAttributeRequest::setDryRun(bool dryRun) {
+  dryRun_ = dryRun;
+  setParameter(std::string("DryRun"), dryRun ? "true" : "false");
+}
+
+std::string UpdateTransitRouterVpnAttachmentAttributeRequest::getResourceOwnerAccount() const {
+  return resourceOwnerAccount_;
+}
+
+void UpdateTransitRouterVpnAttachmentAttributeRequest::setResourceOwnerAccount(const std::string &resourceOwnerAccount) {
+  resourceOwnerAccount_ = resourceOwnerAccount;
+  setParameter(std::string("ResourceOwnerAccount"), resourceOwnerAccount);
+}
+
+std::string UpdateTransitRouterVpnAttachmentAttributeRequest::getOwnerAccount() const {
+  return ownerAccount_;
+}
+
+void UpdateTransitRouterVpnAttachmentAttributeRequest::setOwnerAccount(const std::string &ownerAccount) {
+  ownerAccount_ = ownerAccount;
+  setParameter(std::string("OwnerAccount"), ownerAccount);
+}
+
+long UpdateTransitRouterVpnAttachmentAttributeRequest::getOwnerId() const {
+  return ownerId_;
+}
+
+void UpdateTransitRouterVpnAttachmentAttributeRequest::setOwnerId(long ownerId) {
+  ownerId_ = ownerId;
+  setParameter(std::string("OwnerId"), std::to_string(ownerId));
+}
+
+std::string UpdateTransitRouterVpnAttachmentAttributeRequest::getResourceType() const {
+  return resourceType_;
+}
+
+void UpdateTransitRouterVpnAttachmentAttributeRequest::setResourceType(const std::string &resourceType) {
+  resourceType_ = resourceType;
+  setParameter(std::string("ResourceType"), resourceType);
+}
+
+std::string UpdateTransitRouterVpnAttachmentAttributeRequest::getTransitRouterAttachmentId() const {
+  return transitRouterAttachmentId_;
+}
+
+void UpdateTransitRouterVpnAttachmentAttributeRequest::setTransitRouterAttachmentId(const std::string &transitRouterAttachmentId) {
+  transitRouterAttachmentId_ = transitRouterAttachmentId;
+  setParameter(std::string("TransitRouterAttachmentId"), transitRouterAttachmentId);
+}
+
+std::string UpdateTransitRouterVpnAttachmentAttributeRequest::getTransitRouterAttachmentDescription() const {
+  return transitRouterAttachmentDescription_;
+}
+
+void UpdateTransitRouterVpnAttachmentAttributeRequest::setTransitRouterAttachmentDescription(const std::string &transitRouterAttachmentDescription) {
+  transitRouterAttachmentDescription_ = transitRouterAttachmentDescription;
+  setParameter(std::string("TransitRouterAttachmentDescription"), transitRouterAttachmentDescription);
+}
+

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