Przeglądaj źródła

Support create default VPC and create default vSwitch .

sdk-team 3 lat temu
rodzic
commit
262fc718c8
82 zmienionych plików z 1350 dodań i 46 usunięć
  1. 1 1
      VERSION
  2. 8 0
      vpc/CMakeLists.txt
  3. 16 0
      vpc/include/alibabacloud/vpc/VpcClient.h
  4. 63 0
      vpc/include/alibabacloud/vpc/model/CreateDefaultVSwitchRequest.h
  5. 51 0
      vpc/include/alibabacloud/vpc/model/CreateDefaultVSwitchResult.h
  6. 72 0
      vpc/include/alibabacloud/vpc/model/CreateDefaultVpcRequest.h
  7. 62 0
      vpc/include/alibabacloud/vpc/model/CreateDefaultVpcResult.h
  8. 3 0
      vpc/include/alibabacloud/vpc/model/CreateFlowLogRequest.h
  9. 2 0
      vpc/include/alibabacloud/vpc/model/CreateFlowLogResult.h
  10. 3 0
      vpc/include/alibabacloud/vpc/model/CreateHaVipRequest.h
  11. 3 0
      vpc/include/alibabacloud/vpc/model/CreateIpv4GatewayRequest.h
  12. 2 0
      vpc/include/alibabacloud/vpc/model/CreateIpv4GatewayResult.h
  13. 3 0
      vpc/include/alibabacloud/vpc/model/CreateIpv6GatewayRequest.h
  14. 2 0
      vpc/include/alibabacloud/vpc/model/CreateIpv6GatewayResult.h
  15. 3 0
      vpc/include/alibabacloud/vpc/model/CreateTrafficMirrorFilterRequest.h
  16. 2 0
      vpc/include/alibabacloud/vpc/model/CreateTrafficMirrorFilterResult.h
  17. 3 0
      vpc/include/alibabacloud/vpc/model/CreateTrafficMirrorSessionRequest.h
  18. 2 0
      vpc/include/alibabacloud/vpc/model/CreateTrafficMirrorSessionResult.h
  19. 6 0
      vpc/include/alibabacloud/vpc/model/DeleteVpcRequest.h
  20. 1 0
      vpc/include/alibabacloud/vpc/model/DescribeEcGrantRelationResult.h
  21. 3 0
      vpc/include/alibabacloud/vpc/model/DescribeEipAddressesRequest.h
  22. 10 0
      vpc/include/alibabacloud/vpc/model/DescribeFlowLogsRequest.h
  23. 7 0
      vpc/include/alibabacloud/vpc/model/DescribeFlowLogsResult.h
  24. 10 0
      vpc/include/alibabacloud/vpc/model/DescribeHaVipsRequest.h
  25. 7 0
      vpc/include/alibabacloud/vpc/model/DescribeHaVipsResult.h
  26. 17 8
      vpc/include/alibabacloud/vpc/model/DescribeIpv6GatewayAttributeResult.h
  27. 10 0
      vpc/include/alibabacloud/vpc/model/DescribeIpv6GatewaysRequest.h
  28. 11 4
      vpc/include/alibabacloud/vpc/model/DescribeIpv6GatewaysResult.h
  29. 6 0
      vpc/include/alibabacloud/vpc/model/DescribeNetworkAclAttributesResult.h
  30. 7 0
      vpc/include/alibabacloud/vpc/model/DescribeNetworkAclsRequest.h
  31. 6 0
      vpc/include/alibabacloud/vpc/model/DescribeNetworkAclsResult.h
  32. 7 0
      vpc/include/alibabacloud/vpc/model/DescribeVSwitchAttributesResult.h
  33. 9 0
      vpc/include/alibabacloud/vpc/model/GetIpv4GatewayAttributeResult.h
  34. 10 0
      vpc/include/alibabacloud/vpc/model/ListIpv4GatewaysRequest.h
  35. 7 0
      vpc/include/alibabacloud/vpc/model/ListIpv4GatewaysResult.h
  36. 4 4
      vpc/include/alibabacloud/vpc/model/ListTagResourcesRequest.h
  37. 10 0
      vpc/include/alibabacloud/vpc/model/ListTrafficMirrorFiltersRequest.h
  38. 7 0
      vpc/include/alibabacloud/vpc/model/ListTrafficMirrorFiltersResult.h
  39. 10 0
      vpc/include/alibabacloud/vpc/model/ListTrafficMirrorSessionsRequest.h
  40. 7 0
      vpc/include/alibabacloud/vpc/model/ListTrafficMirrorSessionsResult.h
  41. 1 1
      vpc/include/alibabacloud/vpc/model/TagResourcesRequest.h
  42. 1 1
      vpc/include/alibabacloud/vpc/model/UnTagResourcesRequest.h
  43. 72 0
      vpc/src/VpcClient.cc
  44. 99 0
      vpc/src/model/CreateDefaultVSwitchRequest.cc
  45. 51 0
      vpc/src/model/CreateDefaultVSwitchResult.cc
  46. 125 0
      vpc/src/model/CreateDefaultVpcRequest.cc
  47. 80 0
      vpc/src/model/CreateDefaultVpcResult.cc
  48. 9 0
      vpc/src/model/CreateFlowLogRequest.cc
  49. 7 0
      vpc/src/model/CreateFlowLogResult.cc
  50. 9 0
      vpc/src/model/CreateHaVipRequest.cc
  51. 9 0
      vpc/src/model/CreateIpv4GatewayRequest.cc
  52. 7 0
      vpc/src/model/CreateIpv4GatewayResult.cc
  53. 9 0
      vpc/src/model/CreateIpv6GatewayRequest.cc
  54. 7 0
      vpc/src/model/CreateIpv6GatewayResult.cc
  55. 9 0
      vpc/src/model/CreateTrafficMirrorFilterRequest.cc
  56. 7 0
      vpc/src/model/CreateTrafficMirrorFilterResult.cc
  57. 9 0
      vpc/src/model/CreateTrafficMirrorSessionRequest.cc
  58. 7 0
      vpc/src/model/CreateTrafficMirrorSessionResult.cc
  59. 18 0
      vpc/src/model/DeleteVpcRequest.cc
  60. 2 0
      vpc/src/model/DescribeEcGrantRelationResult.cc
  61. 9 0
      vpc/src/model/DescribeEipAddressesRequest.cc
  62. 23 0
      vpc/src/model/DescribeFlowLogsRequest.cc
  63. 13 1
      vpc/src/model/DescribeFlowLogsResult.cc
  64. 23 0
      vpc/src/model/DescribeHaVipsRequest.cc
  65. 12 0
      vpc/src/model/DescribeHaVipsResult.cc
  66. 36 14
      vpc/src/model/DescribeIpv6GatewayAttributeResult.cc
  67. 23 0
      vpc/src/model/DescribeIpv6GatewaysRequest.cc
  68. 12 0
      vpc/src/model/DescribeIpv6GatewaysResult.cc
  69. 10 0
      vpc/src/model/DescribeNetworkAclAttributesResult.cc
  70. 14 0
      vpc/src/model/DescribeNetworkAclsRequest.cc
  71. 10 0
      vpc/src/model/DescribeNetworkAclsResult.cc
  72. 15 0
      vpc/src/model/DescribeVSwitchAttributesResult.cc
  73. 22 0
      vpc/src/model/GetIpv4GatewayAttributeResult.cc
  74. 23 0
      vpc/src/model/ListIpv4GatewaysRequest.cc
  75. 12 0
      vpc/src/model/ListIpv4GatewaysResult.cc
  76. 10 10
      vpc/src/model/ListTagResourcesRequest.cc
  77. 23 0
      vpc/src/model/ListTrafficMirrorFiltersRequest.cc
  78. 12 0
      vpc/src/model/ListTrafficMirrorFiltersResult.cc
  79. 23 0
      vpc/src/model/ListTrafficMirrorSessionsRequest.cc
  80. 12 0
      vpc/src/model/ListTrafficMirrorSessionsResult.cc
  81. 1 1
      vpc/src/model/TagResourcesRequest.cc
  82. 1 1
      vpc/src/model/UnTagResourcesRequest.cc

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.1497
+1.36.1498

+ 8 - 0
vpc/CMakeLists.txt

@@ -105,6 +105,10 @@ set(vpc_public_header_model
 	include/alibabacloud/vpc/model/CreateCommonBandwidthPackageResult.h
 	include/alibabacloud/vpc/model/CreateCustomerGatewayRequest.h
 	include/alibabacloud/vpc/model/CreateCustomerGatewayResult.h
+	include/alibabacloud/vpc/model/CreateDefaultVSwitchRequest.h
+	include/alibabacloud/vpc/model/CreateDefaultVSwitchResult.h
+	include/alibabacloud/vpc/model/CreateDefaultVpcRequest.h
+	include/alibabacloud/vpc/model/CreateDefaultVpcResult.h
 	include/alibabacloud/vpc/model/CreateDhcpOptionsSetRequest.h
 	include/alibabacloud/vpc/model/CreateDhcpOptionsSetResult.h
 	include/alibabacloud/vpc/model/CreateExpressCloudConnectionRequest.h
@@ -804,6 +808,10 @@ set(vpc_src
 	src/model/CreateCommonBandwidthPackageResult.cc
 	src/model/CreateCustomerGatewayRequest.cc
 	src/model/CreateCustomerGatewayResult.cc
+	src/model/CreateDefaultVSwitchRequest.cc
+	src/model/CreateDefaultVSwitchResult.cc
+	src/model/CreateDefaultVpcRequest.cc
+	src/model/CreateDefaultVpcResult.cc
 	src/model/CreateDhcpOptionsSetRequest.cc
 	src/model/CreateDhcpOptionsSetResult.cc
 	src/model/CreateExpressCloudConnectionRequest.cc

+ 16 - 0
vpc/include/alibabacloud/vpc/VpcClient.h

@@ -106,6 +106,10 @@
 #include "model/CreateCommonBandwidthPackageResult.h"
 #include "model/CreateCustomerGatewayRequest.h"
 #include "model/CreateCustomerGatewayResult.h"
+#include "model/CreateDefaultVSwitchRequest.h"
+#include "model/CreateDefaultVSwitchResult.h"
+#include "model/CreateDefaultVpcRequest.h"
+#include "model/CreateDefaultVpcResult.h"
 #include "model/CreateDhcpOptionsSetRequest.h"
 #include "model/CreateDhcpOptionsSetResult.h"
 #include "model/CreateExpressCloudConnectionRequest.h"
@@ -853,6 +857,12 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::CreateCustomerGatewayResult> CreateCustomerGatewayOutcome;
 			typedef std::future<CreateCustomerGatewayOutcome> CreateCustomerGatewayOutcomeCallable;
 			typedef std::function<void(const VpcClient*, const Model::CreateCustomerGatewayRequest&, const CreateCustomerGatewayOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateCustomerGatewayAsyncHandler;
+			typedef Outcome<Error, Model::CreateDefaultVSwitchResult> CreateDefaultVSwitchOutcome;
+			typedef std::future<CreateDefaultVSwitchOutcome> CreateDefaultVSwitchOutcomeCallable;
+			typedef std::function<void(const VpcClient*, const Model::CreateDefaultVSwitchRequest&, const CreateDefaultVSwitchOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateDefaultVSwitchAsyncHandler;
+			typedef Outcome<Error, Model::CreateDefaultVpcResult> CreateDefaultVpcOutcome;
+			typedef std::future<CreateDefaultVpcOutcome> CreateDefaultVpcOutcomeCallable;
+			typedef std::function<void(const VpcClient*, const Model::CreateDefaultVpcRequest&, const CreateDefaultVpcOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateDefaultVpcAsyncHandler;
 			typedef Outcome<Error, Model::CreateDhcpOptionsSetResult> CreateDhcpOptionsSetOutcome;
 			typedef std::future<CreateDhcpOptionsSetOutcome> CreateDhcpOptionsSetOutcomeCallable;
 			typedef std::function<void(const VpcClient*, const Model::CreateDhcpOptionsSetRequest&, const CreateDhcpOptionsSetOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateDhcpOptionsSetAsyncHandler;
@@ -1902,6 +1912,12 @@ namespace AlibabaCloud
 			CreateCustomerGatewayOutcome createCustomerGateway(const Model::CreateCustomerGatewayRequest &request)const;
 			void createCustomerGatewayAsync(const Model::CreateCustomerGatewayRequest& request, const CreateCustomerGatewayAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateCustomerGatewayOutcomeCallable createCustomerGatewayCallable(const Model::CreateCustomerGatewayRequest& request) const;
+			CreateDefaultVSwitchOutcome createDefaultVSwitch(const Model::CreateDefaultVSwitchRequest &request)const;
+			void createDefaultVSwitchAsync(const Model::CreateDefaultVSwitchRequest& request, const CreateDefaultVSwitchAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateDefaultVSwitchOutcomeCallable createDefaultVSwitchCallable(const Model::CreateDefaultVSwitchRequest& request) const;
+			CreateDefaultVpcOutcome createDefaultVpc(const Model::CreateDefaultVpcRequest &request)const;
+			void createDefaultVpcAsync(const Model::CreateDefaultVpcRequest& request, const CreateDefaultVpcAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreateDefaultVpcOutcomeCallable createDefaultVpcCallable(const Model::CreateDefaultVpcRequest& request) const;
 			CreateDhcpOptionsSetOutcome createDhcpOptionsSet(const Model::CreateDhcpOptionsSetRequest &request)const;
 			void createDhcpOptionsSetAsync(const Model::CreateDhcpOptionsSetRequest& request, const CreateDhcpOptionsSetAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateDhcpOptionsSetOutcomeCallable createDhcpOptionsSetCallable(const Model::CreateDhcpOptionsSetRequest& request) const;

+ 63 - 0
vpc/include/alibabacloud/vpc/model/CreateDefaultVSwitchRequest.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_VPC_MODEL_CREATEDEFAULTVSWITCHREQUEST_H_
+#define ALIBABACLOUD_VPC_MODEL_CREATEDEFAULTVSWITCHREQUEST_H_
+
+#include <alibabacloud/vpc/VpcExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Vpc {
+namespace Model {
+class ALIBABACLOUD_VPC_EXPORT CreateDefaultVSwitchRequest : public RpcServiceRequest {
+public:
+	CreateDefaultVSwitchRequest();
+	~CreateDefaultVSwitchRequest();
+	long getResourceOwnerId() const;
+	void setResourceOwnerId(long resourceOwnerId);
+	std::string getClientToken() const;
+	void setClientToken(const std::string &clientToken);
+	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 getIpv6CidrBlock() const;
+	void setIpv6CidrBlock(int ipv6CidrBlock);
+	std::string getZoneId() const;
+	void setZoneId(const std::string &zoneId);
+
+private:
+	long resourceOwnerId_;
+	std::string clientToken_;
+	std::string regionId_;
+	std::string resourceOwnerAccount_;
+	std::string ownerAccount_;
+	long ownerId_;
+	int ipv6CidrBlock_;
+	std::string zoneId_;
+};
+} // namespace Model
+} // namespace Vpc
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_VPC_MODEL_CREATEDEFAULTVSWITCHREQUEST_H_

+ 51 - 0
vpc/include/alibabacloud/vpc/model/CreateDefaultVSwitchResult.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_VPC_MODEL_CREATEDEFAULTVSWITCHRESULT_H_
+#define ALIBABACLOUD_VPC_MODEL_CREATEDEFAULTVSWITCHRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/vpc/VpcExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vpc
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VPC_EXPORT CreateDefaultVSwitchResult : public ServiceResult
+			{
+			public:
+
+
+				CreateDefaultVSwitchResult();
+				explicit CreateDefaultVSwitchResult(const std::string &payload);
+				~CreateDefaultVSwitchResult();
+				std::string getVSwitchId()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string vSwitchId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VPC_MODEL_CREATEDEFAULTVSWITCHRESULT_H_

+ 72 - 0
vpc/include/alibabacloud/vpc/model/CreateDefaultVpcRequest.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_VPC_MODEL_CREATEDEFAULTVPCREQUEST_H_
+#define ALIBABACLOUD_VPC_MODEL_CREATEDEFAULTVPCREQUEST_H_
+
+#include <alibabacloud/vpc/VpcExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Vpc {
+namespace Model {
+class ALIBABACLOUD_VPC_EXPORT CreateDefaultVpcRequest : public RpcServiceRequest {
+public:
+	CreateDefaultVpcRequest();
+	~CreateDefaultVpcRequest();
+	bool getEnableDefaultVSwitch() const;
+	void setEnableDefaultVSwitch(bool enableDefaultVSwitch);
+	long getResourceOwnerId() const;
+	void setResourceOwnerId(long resourceOwnerId);
+	std::string getClientToken() const;
+	void setClientToken(const std::string &clientToken);
+	bool getEnableIpv6() const;
+	void setEnableIpv6(bool enableIpv6);
+	std::string getResourceGroupId() const;
+	void setResourceGroupId(const std::string &resourceGroupId);
+	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);
+	std::string getIpv6CidrBlock() const;
+	void setIpv6CidrBlock(const std::string &ipv6CidrBlock);
+	std::vector<std::string> getZoneId() const;
+	void setZoneId(const std::vector<std::string> &zoneId);
+
+private:
+	bool enableDefaultVSwitch_;
+	long resourceOwnerId_;
+	std::string clientToken_;
+	bool enableIpv6_;
+	std::string resourceGroupId_;
+	std::string regionId_;
+	std::string resourceOwnerAccount_;
+	std::string ownerAccount_;
+	long ownerId_;
+	std::string ipv6CidrBlock_;
+	std::vector<std::string> zoneId_;
+};
+} // namespace Model
+} // namespace Vpc
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_VPC_MODEL_CREATEDEFAULTVPCREQUEST_H_

+ 62 - 0
vpc/include/alibabacloud/vpc/model/CreateDefaultVpcResult.h

@@ -0,0 +1,62 @@
+/*
+ * 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_VPC_MODEL_CREATEDEFAULTVPCRESULT_H_
+#define ALIBABACLOUD_VPC_MODEL_CREATEDEFAULTVPCRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/vpc/VpcExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Vpc
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_VPC_EXPORT CreateDefaultVpcResult : public ServiceResult
+			{
+			public:
+				struct DefaultVSwitch
+				{
+					std::string zoneId;
+					std::string vSwitchId;
+				};
+
+
+				CreateDefaultVpcResult();
+				explicit CreateDefaultVpcResult(const std::string &payload);
+				~CreateDefaultVpcResult();
+				std::string getVRouterId()const;
+				std::vector<DefaultVSwitch> getDefaultVSwitchs()const;
+				std::string getRouteTableId()const;
+				std::string getVpcId()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string vRouterId_;
+				std::vector<DefaultVSwitch> defaultVSwitchs_;
+				std::string routeTableId_;
+				std::string vpcId_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_VPC_MODEL_CREATEDEFAULTVPCRESULT_H_

+ 3 - 0
vpc/include/alibabacloud/vpc/model/CreateFlowLogRequest.h

@@ -34,6 +34,8 @@ public:
 	void setResourceOwnerId(long resourceOwnerId);
 	std::string getDescription() const;
 	void setDescription(const std::string &description);
+	std::string getResourceGroupId() const;
+	void setResourceGroupId(const std::string &resourceGroupId);
 	std::string getRegionId() const;
 	void setRegionId(const std::string &regionId);
 	std::string getResourceId() const;
@@ -62,6 +64,7 @@ public:
 private:
 	long resourceOwnerId_;
 	std::string description_;
+	std::string resourceGroupId_;
 	std::string regionId_;
 	std::string resourceId_;
 	std::string projectName_;

+ 2 - 0
vpc/include/alibabacloud/vpc/model/CreateFlowLogResult.h

@@ -37,12 +37,14 @@ namespace AlibabaCloud
 				CreateFlowLogResult();
 				explicit CreateFlowLogResult(const std::string &payload);
 				~CreateFlowLogResult();
+				std::string getResourceGroupId()const;
 				std::string getFlowLogId()const;
 				std::string getSuccess()const;
 
 			protected:
 				void parse(const std::string &payload);
 			private:
+				std::string resourceGroupId_;
 				std::string flowLogId_;
 				std::string success_;
 

+ 3 - 0
vpc/include/alibabacloud/vpc/model/CreateHaVipRequest.h

@@ -38,6 +38,8 @@ public:
 	void setClientToken(const std::string &clientToken);
 	std::string getDescription() const;
 	void setDescription(const std::string &description);
+	std::string getResourceGroupId() const;
+	void setResourceGroupId(const std::string &resourceGroupId);
 	std::string getRegionId() const;
 	void setRegionId(const std::string &regionId);
 	std::string getResourceOwnerAccount() const;
@@ -56,6 +58,7 @@ private:
 	long resourceOwnerId_;
 	std::string clientToken_;
 	std::string description_;
+	std::string resourceGroupId_;
 	std::string regionId_;
 	std::string resourceOwnerAccount_;
 	std::string ownerAccount_;

+ 3 - 0
vpc/include/alibabacloud/vpc/model/CreateIpv4GatewayRequest.h

@@ -38,6 +38,8 @@ public:
 	void setClientToken(const std::string &clientToken);
 	std::string getIpv4GatewayName() const;
 	void setIpv4GatewayName(const std::string &ipv4GatewayName);
+	std::string getResourceGroupId() const;
+	void setResourceGroupId(const std::string &resourceGroupId);
 	std::string getRegionId() const;
 	void setRegionId(const std::string &regionId);
 	bool getDryRun() const;
@@ -56,6 +58,7 @@ private:
 	long resourceOwnerId_;
 	std::string clientToken_;
 	std::string ipv4GatewayName_;
+	std::string resourceGroupId_;
 	std::string regionId_;
 	bool dryRun_;
 	std::string resourceOwnerAccount_;

+ 2 - 0
vpc/include/alibabacloud/vpc/model/CreateIpv4GatewayResult.h

@@ -38,11 +38,13 @@ namespace AlibabaCloud
 				explicit CreateIpv4GatewayResult(const std::string &payload);
 				~CreateIpv4GatewayResult();
 				std::string getIpv4GatewayId()const;
+				std::string getResourceGroupId()const;
 
 			protected:
 				void parse(const std::string &payload);
 			private:
 				std::string ipv4GatewayId_;
+				std::string resourceGroupId_;
 
 			};
 		}

+ 3 - 0
vpc/include/alibabacloud/vpc/model/CreateIpv6GatewayRequest.h

@@ -38,6 +38,8 @@ public:
 	void setDescription(const std::string &description);
 	std::string getSpec() const;
 	void setSpec(const std::string &spec);
+	std::string getResourceGroupId() const;
+	void setResourceGroupId(const std::string &resourceGroupId);
 	std::string getRegionId() const;
 	void setRegionId(const std::string &regionId);
 	std::string getResourceOwnerAccount() const;
@@ -56,6 +58,7 @@ private:
 	std::string clientToken_;
 	std::string description_;
 	std::string spec_;
+	std::string resourceGroupId_;
 	std::string regionId_;
 	std::string resourceOwnerAccount_;
 	std::string ownerAccount_;

+ 2 - 0
vpc/include/alibabacloud/vpc/model/CreateIpv6GatewayResult.h

@@ -37,11 +37,13 @@ namespace AlibabaCloud
 				CreateIpv6GatewayResult();
 				explicit CreateIpv6GatewayResult(const std::string &payload);
 				~CreateIpv6GatewayResult();
+				std::string getResourceGroupId()const;
 				std::string getIpv6GatewayId()const;
 
 			protected:
 				void parse(const std::string &payload);
 			private:
+				std::string resourceGroupId_;
 				std::string ipv6GatewayId_;
 
 			};

+ 3 - 0
vpc/include/alibabacloud/vpc/model/CreateTrafficMirrorFilterRequest.h

@@ -56,6 +56,8 @@ public:
 	void setIngressRules(const std::vector<IngressRules> &ingressRules);
 	std::string getTrafficMirrorFilterName() const;
 	void setTrafficMirrorFilterName(const std::string &trafficMirrorFilterName);
+	std::string getResourceGroupId() const;
+	void setResourceGroupId(const std::string &resourceGroupId);
 	std::string getRegionId() const;
 	void setRegionId(const std::string &regionId);
 	std::vector<EgressRules> getEgressRules() const;
@@ -76,6 +78,7 @@ private:
 	std::string clientToken_;
 	std::vector<IngressRules> ingressRules_;
 	std::string trafficMirrorFilterName_;
+	std::string resourceGroupId_;
 	std::string regionId_;
 	std::vector<EgressRules> egressRules_;
 	bool dryRun_;

+ 2 - 0
vpc/include/alibabacloud/vpc/model/CreateTrafficMirrorFilterResult.h

@@ -37,11 +37,13 @@ namespace AlibabaCloud
 				CreateTrafficMirrorFilterResult();
 				explicit CreateTrafficMirrorFilterResult(const std::string &payload);
 				~CreateTrafficMirrorFilterResult();
+				std::string getResourceGroupId()const;
 				std::string getTrafficMirrorFilterId()const;
 
 			protected:
 				void parse(const std::string &payload);
 			private:
+				std::string resourceGroupId_;
 				std::string trafficMirrorFilterId_;
 
 			};

+ 3 - 0
vpc/include/alibabacloud/vpc/model/CreateTrafficMirrorSessionRequest.h

@@ -38,6 +38,8 @@ public:
 	void setClientToken(const std::string &clientToken);
 	bool getEnabled() const;
 	void setEnabled(bool enabled);
+	std::string getResourceGroupId() const;
+	void setResourceGroupId(const std::string &resourceGroupId);
 	std::string getTrafficMirrorSessionName() const;
 	void setTrafficMirrorSessionName(const std::string &trafficMirrorSessionName);
 	std::string getRegionId() const;
@@ -70,6 +72,7 @@ private:
 	long resourceOwnerId_;
 	std::string clientToken_;
 	bool enabled_;
+	std::string resourceGroupId_;
 	std::string trafficMirrorSessionName_;
 	std::string regionId_;
 	std::string trafficMirrorSessionDescription_;

+ 2 - 0
vpc/include/alibabacloud/vpc/model/CreateTrafficMirrorSessionResult.h

@@ -37,11 +37,13 @@ namespace AlibabaCloud
 				CreateTrafficMirrorSessionResult();
 				explicit CreateTrafficMirrorSessionResult(const std::string &payload);
 				~CreateTrafficMirrorSessionResult();
+				std::string getResourceGroupId()const;
 				std::string getTrafficMirrorSessionId()const;
 
 			protected:
 				void parse(const std::string &payload);
 			private:
+				std::string resourceGroupId_;
 				std::string trafficMirrorSessionId_;
 
 			};

+ 6 - 0
vpc/include/alibabacloud/vpc/model/DeleteVpcRequest.h

@@ -34,6 +34,10 @@ public:
 	void setResourceOwnerId(long resourceOwnerId);
 	std::string getRegionId() const;
 	void setRegionId(const std::string &regionId);
+	bool getForceDelete() const;
+	void setForceDelete(bool forceDelete);
+	bool getDryRun() const;
+	void setDryRun(bool dryRun);
 	std::string getResourceOwnerAccount() const;
 	void setResourceOwnerAccount(const std::string &resourceOwnerAccount);
 	std::string getOwnerAccount() const;
@@ -46,6 +50,8 @@ public:
 private:
 	long resourceOwnerId_;
 	std::string regionId_;
+	bool forceDelete_;
+	bool dryRun_;
 	std::string resourceOwnerAccount_;
 	std::string ownerAccount_;
 	long ownerId_;

+ 1 - 0
vpc/include/alibabacloud/vpc/model/DescribeEcGrantRelationResult.h

@@ -43,6 +43,7 @@ namespace AlibabaCloud
 					std::string vbrRegionNo;
 					long vbrOwnerUid;
 					std::string instanceId;
+					std::string grantType;
 					long aliUid;
 				};
 

+ 3 - 0
vpc/include/alibabacloud/vpc/model/DescribeEipAddressesRequest.h

@@ -72,6 +72,8 @@ public:
 	void setSegmentInstanceId(const std::string &segmentInstanceId);
 	bool getDryRun() const;
 	void setDryRun(bool dryRun);
+	std::string getBandwidthPackageId() const;
+	void setBandwidthPackageId(const std::string &bandwidthPackageId);
 	std::string getResourceOwnerAccount() const;
 	void setResourceOwnerAccount(const std::string &resourceOwnerAccount);
 	std::string getOwnerAccount() const;
@@ -109,6 +111,7 @@ private:
 	std::vector<Tag> tag_;
 	std::string segmentInstanceId_;
 	bool dryRun_;
+	std::string bandwidthPackageId_;
 	std::string resourceOwnerAccount_;
 	std::string ownerAccount_;
 	std::string filter1Value_;

+ 10 - 0
vpc/include/alibabacloud/vpc/model/DescribeFlowLogsRequest.h

@@ -28,6 +28,10 @@ namespace Vpc {
 namespace Model {
 class ALIBABACLOUD_VPC_EXPORT DescribeFlowLogsRequest : public RpcServiceRequest {
 public:
+	struct Tags {
+		std::string value;
+		std::string key;
+	};
 	DescribeFlowLogsRequest();
 	~DescribeFlowLogsRequest();
 	long getResourceOwnerId() const;
@@ -36,6 +40,8 @@ public:
 	void setDescription(const std::string &description);
 	int getPageNumber() const;
 	void setPageNumber(int pageNumber);
+	std::string getResourceGroupId() const;
+	void setResourceGroupId(const std::string &resourceGroupId);
 	std::string getRegionId() const;
 	void setRegionId(const std::string &regionId);
 	int getPageSize() const;
@@ -54,6 +60,8 @@ public:
 	void setOwnerId(long ownerId);
 	std::string getResourceType() const;
 	void setResourceType(const std::string &resourceType);
+	std::vector<Tags> getTags() const;
+	void setTags(const std::vector<Tags> &tags);
 	std::string getVpcId() const;
 	void setVpcId(const std::string &vpcId);
 	std::string getTrafficType() const;
@@ -69,6 +77,7 @@ private:
 	long resourceOwnerId_;
 	std::string description_;
 	int pageNumber_;
+	std::string resourceGroupId_;
 	std::string regionId_;
 	int pageSize_;
 	std::string resourceId_;
@@ -78,6 +87,7 @@ private:
 	std::string ownerAccount_;
 	long ownerId_;
 	std::string resourceType_;
+	std::vector<Tags> tags_;
 	std::string vpcId_;
 	std::string trafficType_;
 	std::string flowLogId_;

+ 7 - 0
vpc/include/alibabacloud/vpc/model/DescribeFlowLogsResult.h

@@ -34,8 +34,14 @@ namespace AlibabaCloud
 			public:
 				struct FlowLog
 				{
+					struct Tag
+					{
+						std::string value;
+						std::string key;
+					};
 					std::string status;
 					std::string description;
+					std::string resourceGroupId;
 					std::vector<std::string> trafficPath;
 					std::string projectName;
 					std::string resourceType;
@@ -48,6 +54,7 @@ namespace AlibabaCloud
 					std::string creationTime;
 					std::string regionId;
 					int aggregationInterval;
+					std::vector<FlowLog::Tag> tags;
 					std::string trafficType;
 				};
 

+ 10 - 0
vpc/include/alibabacloud/vpc/model/DescribeHaVipsRequest.h

@@ -28,6 +28,10 @@ namespace Vpc {
 namespace Model {
 class ALIBABACLOUD_VPC_EXPORT DescribeHaVipsRequest : public RpcServiceRequest {
 public:
+	struct Tags {
+		std::string value;
+		std::string key;
+	};
 	struct Filter {
 		std::string key;
 	};
@@ -37,6 +41,8 @@ public:
 	void setResourceOwnerId(long resourceOwnerId);
 	int getPageNumber() const;
 	void setPageNumber(int pageNumber);
+	std::string getResourceGroupId() const;
+	void setResourceGroupId(const std::string &resourceGroupId);
 	std::string getRegionId() const;
 	void setRegionId(const std::string &regionId);
 	int getPageSize() const;
@@ -47,17 +53,21 @@ public:
 	void setOwnerAccount(const std::string &ownerAccount);
 	long getOwnerId() const;
 	void setOwnerId(long ownerId);
+	std::vector<Tags> getTags() const;
+	void setTags(const std::vector<Tags> &tags);
 	std::vector<Filter> getFilter() const;
 	void setFilter(const std::vector<Filter> &filter);
 
 private:
 	long resourceOwnerId_;
 	int pageNumber_;
+	std::string resourceGroupId_;
 	std::string regionId_;
 	int pageSize_;
 	std::string resourceOwnerAccount_;
 	std::string ownerAccount_;
 	long ownerId_;
+	std::vector<Tags> tags_;
 	std::vector<Filter> filter_;
 };
 } // namespace Model

+ 7 - 0
vpc/include/alibabacloud/vpc/model/DescribeHaVipsResult.h

@@ -34,8 +34,14 @@ namespace AlibabaCloud
 			public:
 				struct HaVip
 				{
+					struct Tag
+					{
+						std::string value;
+						std::string key;
+					};
 					std::string status;
 					std::string description;
+					std::string resourceGroupId;
 					std::vector<std::string> associatedEipAddresses;
 					std::string createTime;
 					std::string vSwitchId;
@@ -48,6 +54,7 @@ namespace AlibabaCloud
 					std::string ipAddress;
 					std::string regionId;
 					std::string associatedInstanceType;
+					std::vector<HaVip::Tag> tags;
 				};
 
 

+ 17 - 8
vpc/include/alibabacloud/vpc/model/DescribeIpv6GatewayAttributeResult.h

@@ -32,6 +32,11 @@ namespace AlibabaCloud
 			class ALIBABACLOUD_VPC_EXPORT DescribeIpv6GatewayAttributeResult : public ServiceResult
 			{
 			public:
+				struct Tag
+				{
+					std::string value;
+					std::string key;
+				};
 
 
 				DescribeIpv6GatewayAttributeResult();
@@ -39,30 +44,34 @@ namespace AlibabaCloud
 				~DescribeIpv6GatewayAttributeResult();
 				std::string getStatus()const;
 				std::string getDescription()const;
-				std::string getVpcId()const;
+				std::string getResourceGroupId()const;
 				std::string getInstanceChargeType()const;
+				std::string getIpv6GatewayId()const;
+				std::string getBusinessStatus()const;
+				std::string getName()const;
+				std::string getVpcId()const;
 				std::string getExpiredTime()const;
 				std::string getCreationTime()const;
-				std::string getIpv6GatewayId()const;
 				std::string getRegionId()const;
 				std::string getSpec()const;
-				std::string getBusinessStatus()const;
-				std::string getName()const;
+				std::vector<Tag> getTags()const;
 
 			protected:
 				void parse(const std::string &payload);
 			private:
 				std::string status_;
 				std::string description_;
-				std::string vpcId_;
+				std::string resourceGroupId_;
 				std::string instanceChargeType_;
+				std::string ipv6GatewayId_;
+				std::string businessStatus_;
+				std::string name_;
+				std::string vpcId_;
 				std::string expiredTime_;
 				std::string creationTime_;
-				std::string ipv6GatewayId_;
 				std::string regionId_;
 				std::string spec_;
-				std::string businessStatus_;
-				std::string name_;
+				std::vector<Tag> tags_;
 
 			};
 		}

+ 10 - 0
vpc/include/alibabacloud/vpc/model/DescribeIpv6GatewaysRequest.h

@@ -28,12 +28,18 @@ namespace Vpc {
 namespace Model {
 class ALIBABACLOUD_VPC_EXPORT DescribeIpv6GatewaysRequest : public RpcServiceRequest {
 public:
+	struct Tags {
+		std::string key;
+		std::string value;
+	};
 	DescribeIpv6GatewaysRequest();
 	~DescribeIpv6GatewaysRequest();
 	long getResourceOwnerId() const;
 	void setResourceOwnerId(long resourceOwnerId);
 	int getPageNumber() const;
 	void setPageNumber(int pageNumber);
+	std::string getResourceGroupId() const;
+	void setResourceGroupId(const std::string &resourceGroupId);
 	std::string getRegionId() const;
 	void setRegionId(const std::string &regionId);
 	int getPageSize() const;
@@ -44,6 +50,8 @@ public:
 	void setOwnerAccount(const std::string &ownerAccount);
 	long getOwnerId() const;
 	void setOwnerId(long ownerId);
+	std::vector<Tags> getTags() const;
+	void setTags(const std::vector<Tags> &tags);
 	std::string getVpcId() const;
 	void setVpcId(const std::string &vpcId);
 	std::string getIpv6GatewayId() const;
@@ -54,11 +62,13 @@ public:
 private:
 	long resourceOwnerId_;
 	int pageNumber_;
+	std::string resourceGroupId_;
 	std::string regionId_;
 	int pageSize_;
 	std::string resourceOwnerAccount_;
 	std::string ownerAccount_;
 	long ownerId_;
+	std::vector<Tags> tags_;
 	std::string vpcId_;
 	std::string ipv6GatewayId_;
 	std::string name_;

+ 11 - 4
vpc/include/alibabacloud/vpc/model/DescribeIpv6GatewaysResult.h

@@ -34,17 +34,24 @@ namespace AlibabaCloud
 			public:
 				struct Ipv6Gateway
 				{
+					struct Tag
+					{
+						std::string value;
+						std::string key;
+					};
 					std::string status;
 					std::string description;
-					std::string vpcId;
+					std::string resourceGroupId;
 					std::string instanceChargeType;
+					std::string ipv6GatewayId;
+					std::string businessStatus;
+					std::string name;
+					std::string vpcId;
 					std::string expiredTime;
 					std::string creationTime;
-					std::string ipv6GatewayId;
 					std::string regionId;
 					std::string spec;
-					std::string businessStatus;
-					std::string name;
+					std::vector<Ipv6Gateway::Tag> tags;
 				};
 
 

+ 6 - 0
vpc/include/alibabacloud/vpc/model/DescribeNetworkAclAttributesResult.h

@@ -62,6 +62,11 @@ namespace AlibabaCloud
 						std::string resourceId;
 						std::string resourceType;
 					};
+					struct Tag
+					{
+						std::string value;
+						std::string key;
+					};
 					std::vector<IngressAclEntry> ingressAclEntries;
 					std::string status;
 					std::string description;
@@ -73,6 +78,7 @@ namespace AlibabaCloud
 					std::string networkAclName;
 					std::vector<Resource> resources;
 					std::string regionId;
+					std::vector<Tag> tags;
 				};
 
 

+ 7 - 0
vpc/include/alibabacloud/vpc/model/DescribeNetworkAclsRequest.h

@@ -28,6 +28,10 @@ namespace Vpc {
 namespace Model {
 class ALIBABACLOUD_VPC_EXPORT DescribeNetworkAclsRequest : public RpcServiceRequest {
 public:
+	struct Tags {
+		std::string key;
+		std::string value;
+	};
 	DescribeNetworkAclsRequest();
 	~DescribeNetworkAclsRequest();
 	long getResourceOwnerId() const;
@@ -52,6 +56,8 @@ public:
 	void setOwnerId(long ownerId);
 	std::string getResourceType() const;
 	void setResourceType(const std::string &resourceType);
+	std::vector<Tags> getTags() const;
+	void setTags(const std::vector<Tags> &tags);
 	std::string getVpcId() const;
 	void setVpcId(const std::string &vpcId);
 
@@ -67,6 +73,7 @@ private:
 	std::string networkAclName_;
 	long ownerId_;
 	std::string resourceType_;
+	std::vector<Tags> tags_;
 	std::string vpcId_;
 };
 } // namespace Model

+ 6 - 0
vpc/include/alibabacloud/vpc/model/DescribeNetworkAclsResult.h

@@ -62,6 +62,11 @@ namespace AlibabaCloud
 						std::string resourceId;
 						std::string resourceType;
 					};
+					struct Tag
+					{
+						std::string value;
+						std::string key;
+					};
 					std::vector<NetworkAcl::IngressAclEntry> ingressAclEntries;
 					std::string status;
 					std::string description;
@@ -73,6 +78,7 @@ namespace AlibabaCloud
 					std::string networkAclName;
 					std::vector<NetworkAcl::Resource> resources;
 					std::string regionId;
+					std::vector<NetworkAcl::Tag> tags;
 				};
 
 

+ 7 - 0
vpc/include/alibabacloud/vpc/model/DescribeVSwitchAttributesResult.h

@@ -42,6 +42,11 @@ namespace AlibabaCloud
 					int resourceCount;
 					std::string resourceType;
 				};
+				struct Tag
+				{
+					std::string value;
+					std::string key;
+				};
 
 
 				DescribeVSwitchAttributesResult();
@@ -63,6 +68,7 @@ namespace AlibabaCloud
 				std::string getVSwitchName()const;
 				std::string getIpv6CidrBlock()const;
 				std::vector<CloudResourceSetType> getCloudResources()const;
+				std::vector<Tag> getTags()const;
 				std::string getShareType()const;
 
 			protected:
@@ -84,6 +90,7 @@ namespace AlibabaCloud
 				std::string vSwitchName_;
 				std::string ipv6CidrBlock_;
 				std::vector<CloudResourceSetType> cloudResources_;
+				std::vector<Tag> tags_;
 				std::string shareType_;
 
 			};

+ 9 - 0
vpc/include/alibabacloud/vpc/model/GetIpv4GatewayAttributeResult.h

@@ -32,6 +32,11 @@ namespace AlibabaCloud
 			class ALIBABACLOUD_VPC_EXPORT GetIpv4GatewayAttributeResult : public ServiceResult
 			{
 			public:
+				struct Tag
+				{
+					std::string value;
+					std::string key;
+				};
 
 
 				GetIpv4GatewayAttributeResult();
@@ -42,8 +47,10 @@ namespace AlibabaCloud
 				std::string getIpv4GatewayName()const;
 				std::string getVpcId()const;
 				std::string getIpv4GatewayId()const;
+				std::string getResourceGroupId()const;
 				std::string getCreateTime()const;
 				bool getEnabled()const;
+				std::vector<Tag> getTags()const;
 				std::string getIpv4GatewayDescription()const;
 
 			protected:
@@ -54,8 +61,10 @@ namespace AlibabaCloud
 				std::string ipv4GatewayName_;
 				std::string vpcId_;
 				std::string ipv4GatewayId_;
+				std::string resourceGroupId_;
 				std::string createTime_;
 				bool enabled_;
+				std::vector<Tag> tags_;
 				std::string ipv4GatewayDescription_;
 
 			};

+ 10 - 0
vpc/include/alibabacloud/vpc/model/ListIpv4GatewaysRequest.h

@@ -28,12 +28,18 @@ namespace Vpc {
 namespace Model {
 class ALIBABACLOUD_VPC_EXPORT ListIpv4GatewaysRequest : public RpcServiceRequest {
 public:
+	struct Tags {
+		std::string key;
+		std::string value;
+	};
 	ListIpv4GatewaysRequest();
 	~ListIpv4GatewaysRequest();
 	long getResourceOwnerId() const;
 	void setResourceOwnerId(long resourceOwnerId);
 	std::string getIpv4GatewayName() const;
 	void setIpv4GatewayName(const std::string &ipv4GatewayName);
+	std::string getResourceGroupId() const;
+	void setResourceGroupId(const std::string &resourceGroupId);
 	std::string getRegionId() const;
 	void setRegionId(const std::string &regionId);
 	std::string getNextToken() const;
@@ -46,6 +52,8 @@ public:
 	void setOwnerAccount(const std::string &ownerAccount);
 	long getOwnerId() const;
 	void setOwnerId(long ownerId);
+	std::vector<Tags> getTags() const;
+	void setTags(const std::vector<Tags> &tags);
 	std::string getVpcId() const;
 	void setVpcId(const std::string &vpcId);
 	int getMaxResults() const;
@@ -54,12 +62,14 @@ public:
 private:
 	long resourceOwnerId_;
 	std::string ipv4GatewayName_;
+	std::string resourceGroupId_;
 	std::string regionId_;
 	std::string nextToken_;
 	std::string ipv4GatewayId_;
 	std::string resourceOwnerAccount_;
 	std::string ownerAccount_;
 	long ownerId_;
+	std::vector<Tags> tags_;
 	std::string vpcId_;
 	int maxResults_;
 };

+ 7 - 0
vpc/include/alibabacloud/vpc/model/ListIpv4GatewaysResult.h

@@ -34,13 +34,20 @@ namespace AlibabaCloud
 			public:
 				struct Ipv4GatewayModelsItem
 				{
+					struct Tag
+					{
+						std::string value;
+						std::string key;
+					};
 					std::string status;
 					std::string gmtCreate;
 					std::string ipv4GatewayRouteTableId;
 					std::string ipv4GatewayName;
 					std::string vpcId;
 					std::string ipv4GatewayId;
+					std::string resourceGroupId;
 					bool enabled;
+					std::vector<Ipv4GatewayModelsItem::Tag> tags;
 					std::string ipv4GatewayDescription;
 				};
 

+ 4 - 4
vpc/include/alibabacloud/vpc/model/ListTagResourcesRequest.h

@@ -29,17 +29,17 @@ namespace Model {
 class ALIBABACLOUD_VPC_EXPORT ListTagResourcesRequest : public RpcServiceRequest {
 public:
 	struct Tag {
-		std::string value;
 		std::string key;
+		std::string value;
 	};
 	ListTagResourcesRequest();
 	~ListTagResourcesRequest();
 	long getResourceOwnerId() const;
 	void setResourceOwnerId(long resourceOwnerId);
-	std::string getRegionId() const;
-	void setRegionId(const std::string &regionId);
 	std::string getNextToken() const;
 	void setNextToken(const std::string &nextToken);
+	std::string getRegionId() const;
+	void setRegionId(const std::string &regionId);
 	std::vector<Tag> getTag() const;
 	void setTag(const std::vector<Tag> &tag);
 	std::vector<std::string> getResourceId() const;
@@ -57,8 +57,8 @@ public:
 
 private:
 	long resourceOwnerId_;
-	std::string regionId_;
 	std::string nextToken_;
+	std::string regionId_;
 	std::vector<Tag> tag_;
 	std::vector<std::string> resourceId_;
 	std::string resourceOwnerAccount_;

+ 10 - 0
vpc/include/alibabacloud/vpc/model/ListTrafficMirrorFiltersRequest.h

@@ -28,6 +28,10 @@ namespace Vpc {
 namespace Model {
 class ALIBABACLOUD_VPC_EXPORT ListTrafficMirrorFiltersRequest : public RpcServiceRequest {
 public:
+	struct Tags {
+		std::string key;
+		std::string value;
+	};
 	ListTrafficMirrorFiltersRequest();
 	~ListTrafficMirrorFiltersRequest();
 	long getResourceOwnerId() const;
@@ -36,6 +40,8 @@ public:
 	void setTrafficMirrorFilterIds(const std::vector<std::string> &trafficMirrorFilterIds);
 	std::string getTrafficMirrorFilterName() const;
 	void setTrafficMirrorFilterName(const std::string &trafficMirrorFilterName);
+	std::string getResourceGroupId() const;
+	void setResourceGroupId(const std::string &resourceGroupId);
 	std::string getNextToken() const;
 	void setNextToken(const std::string &nextToken);
 	std::string getRegionId() const;
@@ -46,6 +52,8 @@ public:
 	void setOwnerAccount(const std::string &ownerAccount);
 	long getOwnerId() const;
 	void setOwnerId(long ownerId);
+	std::vector<Tags> getTags() const;
+	void setTags(const std::vector<Tags> &tags);
 	int getMaxResults() const;
 	void setMaxResults(int maxResults);
 
@@ -53,11 +61,13 @@ private:
 	long resourceOwnerId_;
 	std::vector<std::string> trafficMirrorFilterIds_;
 	std::string trafficMirrorFilterName_;
+	std::string resourceGroupId_;
 	std::string nextToken_;
 	std::string regionId_;
 	std::string resourceOwnerAccount_;
 	std::string ownerAccount_;
 	long ownerId_;
+	std::vector<Tags> tags_;
 	int maxResults_;
 };
 } // namespace Model

+ 7 - 0
vpc/include/alibabacloud/vpc/model/ListTrafficMirrorFiltersResult.h

@@ -62,11 +62,18 @@ namespace AlibabaCloud
 						std::string protocol;
 						std::string trafficMirrorFilterId;
 					};
+					struct Tag
+					{
+						std::string value;
+						std::string key;
+					};
 					std::string trafficMirrorFilterDescription;
+					std::string resourceGroupId;
 					std::vector<TrafficMirrorFilter::TrafficMirrorRule> egressRules;
 					std::string trafficMirrorFilterStatus;
 					std::string trafficMirrorFilterId;
 					std::string trafficMirrorFilterName;
+					std::vector<TrafficMirrorFilter::Tag> tags;
 					std::vector<TrafficMirrorFilter::TrafficMirrorRule> ingressRules;
 				};
 

+ 10 - 0
vpc/include/alibabacloud/vpc/model/ListTrafficMirrorSessionsRequest.h

@@ -28,6 +28,10 @@ namespace Vpc {
 namespace Model {
 class ALIBABACLOUD_VPC_EXPORT ListTrafficMirrorSessionsRequest : public RpcServiceRequest {
 public:
+	struct Tags {
+		std::string key;
+		std::string value;
+	};
 	ListTrafficMirrorSessionsRequest();
 	~ListTrafficMirrorSessionsRequest();
 	long getResourceOwnerId() const;
@@ -36,6 +40,8 @@ public:
 	void setTrafficMirrorSourceId(const std::string &trafficMirrorSourceId);
 	bool getEnabled() const;
 	void setEnabled(bool enabled);
+	std::string getResourceGroupId() const;
+	void setResourceGroupId(const std::string &resourceGroupId);
 	std::string getTrafficMirrorSessionName() const;
 	void setTrafficMirrorSessionName(const std::string &trafficMirrorSessionName);
 	std::string getNextToken() const;
@@ -56,6 +62,8 @@ public:
 	void setTrafficMirrorTargetId(const std::string &trafficMirrorTargetId);
 	std::string getTrafficMirrorFilterId() const;
 	void setTrafficMirrorFilterId(const std::string &trafficMirrorFilterId);
+	std::vector<Tags> getTags() const;
+	void setTags(const std::vector<Tags> &tags);
 	int getMaxResults() const;
 	void setMaxResults(int maxResults);
 	int getVirtualNetworkId() const;
@@ -65,6 +73,7 @@ private:
 	long resourceOwnerId_;
 	std::string trafficMirrorSourceId_;
 	bool enabled_;
+	std::string resourceGroupId_;
 	std::string trafficMirrorSessionName_;
 	std::string nextToken_;
 	std::string regionId_;
@@ -75,6 +84,7 @@ private:
 	long ownerId_;
 	std::string trafficMirrorTargetId_;
 	std::string trafficMirrorFilterId_;
+	std::vector<Tags> tags_;
 	int maxResults_;
 	int virtualNetworkId_;
 };

+ 7 - 0
vpc/include/alibabacloud/vpc/model/ListTrafficMirrorSessionsResult.h

@@ -34,7 +34,13 @@ namespace AlibabaCloud
 			public:
 				struct TrafficMirrorSession
 				{
+					struct Tag
+					{
+						std::string value;
+						std::string key;
+					};
 					std::string trafficMirrorTargetId;
+					std::string resourceGroupId;
 					int virtualNetworkId;
 					int priority;
 					std::string trafficMirrorSessionBusinessStatus;
@@ -46,6 +52,7 @@ namespace AlibabaCloud
 					std::string trafficMirrorSessionStatus;
 					std::string trafficMirrorSessionDescription;
 					std::string trafficMirrorSessionName;
+					std::vector<TrafficMirrorSession::Tag> tags;
 					std::string trafficMirrorTargetType;
 				};
 

+ 1 - 1
vpc/include/alibabacloud/vpc/model/TagResourcesRequest.h

@@ -29,8 +29,8 @@ namespace Model {
 class ALIBABACLOUD_VPC_EXPORT TagResourcesRequest : public RpcServiceRequest {
 public:
 	struct Tag {
-		std::string value;
 		std::string key;
+		std::string value;
 	};
 	TagResourcesRequest();
 	~TagResourcesRequest();

+ 1 - 1
vpc/include/alibabacloud/vpc/model/UnTagResourcesRequest.h

@@ -29,8 +29,8 @@ namespace Model {
 class ALIBABACLOUD_VPC_EXPORT UnTagResourcesRequest : public RpcServiceRequest {
 public:
 	struct Tag {
-		std::string value;
 		std::string key;
+		std::string value;
 	};
 	UnTagResourcesRequest();
 	~UnTagResourcesRequest();

+ 72 - 0
vpc/src/VpcClient.cc

@@ -1563,6 +1563,78 @@ VpcClient::CreateCustomerGatewayOutcomeCallable VpcClient::createCustomerGateway
 	return task->get_future();
 }
 
+VpcClient::CreateDefaultVSwitchOutcome VpcClient::createDefaultVSwitch(const CreateDefaultVSwitchRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return CreateDefaultVSwitchOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return CreateDefaultVSwitchOutcome(CreateDefaultVSwitchResult(outcome.result()));
+	else
+		return CreateDefaultVSwitchOutcome(outcome.error());
+}
+
+void VpcClient::createDefaultVSwitchAsync(const CreateDefaultVSwitchRequest& request, const CreateDefaultVSwitchAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, createDefaultVSwitch(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+VpcClient::CreateDefaultVSwitchOutcomeCallable VpcClient::createDefaultVSwitchCallable(const CreateDefaultVSwitchRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<CreateDefaultVSwitchOutcome()>>(
+			[this, request]()
+			{
+			return this->createDefaultVSwitch(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+VpcClient::CreateDefaultVpcOutcome VpcClient::createDefaultVpc(const CreateDefaultVpcRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return CreateDefaultVpcOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return CreateDefaultVpcOutcome(CreateDefaultVpcResult(outcome.result()));
+	else
+		return CreateDefaultVpcOutcome(outcome.error());
+}
+
+void VpcClient::createDefaultVpcAsync(const CreateDefaultVpcRequest& request, const CreateDefaultVpcAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, createDefaultVpc(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+VpcClient::CreateDefaultVpcOutcomeCallable VpcClient::createDefaultVpcCallable(const CreateDefaultVpcRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<CreateDefaultVpcOutcome()>>(
+			[this, request]()
+			{
+			return this->createDefaultVpc(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 VpcClient::CreateDhcpOptionsSetOutcome VpcClient::createDhcpOptionsSet(const CreateDhcpOptionsSetRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();

+ 99 - 0
vpc/src/model/CreateDefaultVSwitchRequest.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/vpc/model/CreateDefaultVSwitchRequest.h>
+
+using AlibabaCloud::Vpc::Model::CreateDefaultVSwitchRequest;
+
+CreateDefaultVSwitchRequest::CreateDefaultVSwitchRequest()
+    : RpcServiceRequest("vpc", "2016-04-28", "CreateDefaultVSwitch") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+CreateDefaultVSwitchRequest::~CreateDefaultVSwitchRequest() {}
+
+long CreateDefaultVSwitchRequest::getResourceOwnerId() const {
+  return resourceOwnerId_;
+}
+
+void CreateDefaultVSwitchRequest::setResourceOwnerId(long resourceOwnerId) {
+  resourceOwnerId_ = resourceOwnerId;
+  setParameter(std::string("ResourceOwnerId"), std::to_string(resourceOwnerId));
+}
+
+std::string CreateDefaultVSwitchRequest::getClientToken() const {
+  return clientToken_;
+}
+
+void CreateDefaultVSwitchRequest::setClientToken(const std::string &clientToken) {
+  clientToken_ = clientToken;
+  setParameter(std::string("ClientToken"), clientToken);
+}
+
+std::string CreateDefaultVSwitchRequest::getRegionId() const {
+  return regionId_;
+}
+
+void CreateDefaultVSwitchRequest::setRegionId(const std::string &regionId) {
+  regionId_ = regionId;
+  setParameter(std::string("RegionId"), regionId);
+}
+
+std::string CreateDefaultVSwitchRequest::getResourceOwnerAccount() const {
+  return resourceOwnerAccount_;
+}
+
+void CreateDefaultVSwitchRequest::setResourceOwnerAccount(const std::string &resourceOwnerAccount) {
+  resourceOwnerAccount_ = resourceOwnerAccount;
+  setParameter(std::string("ResourceOwnerAccount"), resourceOwnerAccount);
+}
+
+std::string CreateDefaultVSwitchRequest::getOwnerAccount() const {
+  return ownerAccount_;
+}
+
+void CreateDefaultVSwitchRequest::setOwnerAccount(const std::string &ownerAccount) {
+  ownerAccount_ = ownerAccount;
+  setParameter(std::string("OwnerAccount"), ownerAccount);
+}
+
+long CreateDefaultVSwitchRequest::getOwnerId() const {
+  return ownerId_;
+}
+
+void CreateDefaultVSwitchRequest::setOwnerId(long ownerId) {
+  ownerId_ = ownerId;
+  setParameter(std::string("OwnerId"), std::to_string(ownerId));
+}
+
+int CreateDefaultVSwitchRequest::getIpv6CidrBlock() const {
+  return ipv6CidrBlock_;
+}
+
+void CreateDefaultVSwitchRequest::setIpv6CidrBlock(int ipv6CidrBlock) {
+  ipv6CidrBlock_ = ipv6CidrBlock;
+  setParameter(std::string("Ipv6CidrBlock"), std::to_string(ipv6CidrBlock));
+}
+
+std::string CreateDefaultVSwitchRequest::getZoneId() const {
+  return zoneId_;
+}
+
+void CreateDefaultVSwitchRequest::setZoneId(const std::string &zoneId) {
+  zoneId_ = zoneId;
+  setParameter(std::string("ZoneId"), zoneId);
+}
+

+ 51 - 0
vpc/src/model/CreateDefaultVSwitchResult.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/vpc/model/CreateDefaultVSwitchResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Vpc;
+using namespace AlibabaCloud::Vpc::Model;
+
+CreateDefaultVSwitchResult::CreateDefaultVSwitchResult() :
+	ServiceResult()
+{}
+
+CreateDefaultVSwitchResult::CreateDefaultVSwitchResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+CreateDefaultVSwitchResult::~CreateDefaultVSwitchResult()
+{}
+
+void CreateDefaultVSwitchResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	if(!value["VSwitchId"].isNull())
+		vSwitchId_ = value["VSwitchId"].asString();
+
+}
+
+std::string CreateDefaultVSwitchResult::getVSwitchId()const
+{
+	return vSwitchId_;
+}
+

+ 125 - 0
vpc/src/model/CreateDefaultVpcRequest.cc

@@ -0,0 +1,125 @@
+/*
+ * 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/vpc/model/CreateDefaultVpcRequest.h>
+
+using AlibabaCloud::Vpc::Model::CreateDefaultVpcRequest;
+
+CreateDefaultVpcRequest::CreateDefaultVpcRequest()
+    : RpcServiceRequest("vpc", "2016-04-28", "CreateDefaultVpc") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+CreateDefaultVpcRequest::~CreateDefaultVpcRequest() {}
+
+bool CreateDefaultVpcRequest::getEnableDefaultVSwitch() const {
+  return enableDefaultVSwitch_;
+}
+
+void CreateDefaultVpcRequest::setEnableDefaultVSwitch(bool enableDefaultVSwitch) {
+  enableDefaultVSwitch_ = enableDefaultVSwitch;
+  setParameter(std::string("EnableDefaultVSwitch"), enableDefaultVSwitch ? "true" : "false");
+}
+
+long CreateDefaultVpcRequest::getResourceOwnerId() const {
+  return resourceOwnerId_;
+}
+
+void CreateDefaultVpcRequest::setResourceOwnerId(long resourceOwnerId) {
+  resourceOwnerId_ = resourceOwnerId;
+  setParameter(std::string("ResourceOwnerId"), std::to_string(resourceOwnerId));
+}
+
+std::string CreateDefaultVpcRequest::getClientToken() const {
+  return clientToken_;
+}
+
+void CreateDefaultVpcRequest::setClientToken(const std::string &clientToken) {
+  clientToken_ = clientToken;
+  setParameter(std::string("ClientToken"), clientToken);
+}
+
+bool CreateDefaultVpcRequest::getEnableIpv6() const {
+  return enableIpv6_;
+}
+
+void CreateDefaultVpcRequest::setEnableIpv6(bool enableIpv6) {
+  enableIpv6_ = enableIpv6;
+  setParameter(std::string("EnableIpv6"), enableIpv6 ? "true" : "false");
+}
+
+std::string CreateDefaultVpcRequest::getResourceGroupId() const {
+  return resourceGroupId_;
+}
+
+void CreateDefaultVpcRequest::setResourceGroupId(const std::string &resourceGroupId) {
+  resourceGroupId_ = resourceGroupId;
+  setParameter(std::string("ResourceGroupId"), resourceGroupId);
+}
+
+std::string CreateDefaultVpcRequest::getRegionId() const {
+  return regionId_;
+}
+
+void CreateDefaultVpcRequest::setRegionId(const std::string &regionId) {
+  regionId_ = regionId;
+  setParameter(std::string("RegionId"), regionId);
+}
+
+std::string CreateDefaultVpcRequest::getResourceOwnerAccount() const {
+  return resourceOwnerAccount_;
+}
+
+void CreateDefaultVpcRequest::setResourceOwnerAccount(const std::string &resourceOwnerAccount) {
+  resourceOwnerAccount_ = resourceOwnerAccount;
+  setParameter(std::string("ResourceOwnerAccount"), resourceOwnerAccount);
+}
+
+std::string CreateDefaultVpcRequest::getOwnerAccount() const {
+  return ownerAccount_;
+}
+
+void CreateDefaultVpcRequest::setOwnerAccount(const std::string &ownerAccount) {
+  ownerAccount_ = ownerAccount;
+  setParameter(std::string("OwnerAccount"), ownerAccount);
+}
+
+long CreateDefaultVpcRequest::getOwnerId() const {
+  return ownerId_;
+}
+
+void CreateDefaultVpcRequest::setOwnerId(long ownerId) {
+  ownerId_ = ownerId;
+  setParameter(std::string("OwnerId"), std::to_string(ownerId));
+}
+
+std::string CreateDefaultVpcRequest::getIpv6CidrBlock() const {
+  return ipv6CidrBlock_;
+}
+
+void CreateDefaultVpcRequest::setIpv6CidrBlock(const std::string &ipv6CidrBlock) {
+  ipv6CidrBlock_ = ipv6CidrBlock;
+  setParameter(std::string("Ipv6CidrBlock"), ipv6CidrBlock);
+}
+
+std::vector<std::string> CreateDefaultVpcRequest::getZoneId() const {
+  return zoneId_;
+}
+
+void CreateDefaultVpcRequest::setZoneId(const std::vector<std::string> &zoneId) {
+  zoneId_ = zoneId;
+}
+

+ 80 - 0
vpc/src/model/CreateDefaultVpcResult.cc

@@ -0,0 +1,80 @@
+/*
+ * 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/vpc/model/CreateDefaultVpcResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Vpc;
+using namespace AlibabaCloud::Vpc::Model;
+
+CreateDefaultVpcResult::CreateDefaultVpcResult() :
+	ServiceResult()
+{}
+
+CreateDefaultVpcResult::CreateDefaultVpcResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+CreateDefaultVpcResult::~CreateDefaultVpcResult()
+{}
+
+void CreateDefaultVpcResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allDefaultVSwitchsNode = value["DefaultVSwitchs"]["DefaultVSwitch"];
+	for (auto valueDefaultVSwitchsDefaultVSwitch : allDefaultVSwitchsNode)
+	{
+		DefaultVSwitch defaultVSwitchsObject;
+		if(!valueDefaultVSwitchsDefaultVSwitch["ZoneId"].isNull())
+			defaultVSwitchsObject.zoneId = valueDefaultVSwitchsDefaultVSwitch["ZoneId"].asString();
+		if(!valueDefaultVSwitchsDefaultVSwitch["VSwitchId"].isNull())
+			defaultVSwitchsObject.vSwitchId = valueDefaultVSwitchsDefaultVSwitch["VSwitchId"].asString();
+		defaultVSwitchs_.push_back(defaultVSwitchsObject);
+	}
+	if(!value["VpcId"].isNull())
+		vpcId_ = value["VpcId"].asString();
+	if(!value["VRouterId"].isNull())
+		vRouterId_ = value["VRouterId"].asString();
+	if(!value["RouteTableId"].isNull())
+		routeTableId_ = value["RouteTableId"].asString();
+
+}
+
+std::string CreateDefaultVpcResult::getVRouterId()const
+{
+	return vRouterId_;
+}
+
+std::vector<CreateDefaultVpcResult::DefaultVSwitch> CreateDefaultVpcResult::getDefaultVSwitchs()const
+{
+	return defaultVSwitchs_;
+}
+
+std::string CreateDefaultVpcResult::getRouteTableId()const
+{
+	return routeTableId_;
+}
+
+std::string CreateDefaultVpcResult::getVpcId()const
+{
+	return vpcId_;
+}
+

+ 9 - 0
vpc/src/model/CreateFlowLogRequest.cc

@@ -43,6 +43,15 @@ void CreateFlowLogRequest::setDescription(const std::string &description) {
   setParameter(std::string("Description"), description);
 }
 
+std::string CreateFlowLogRequest::getResourceGroupId() const {
+  return resourceGroupId_;
+}
+
+void CreateFlowLogRequest::setResourceGroupId(const std::string &resourceGroupId) {
+  resourceGroupId_ = resourceGroupId;
+  setParameter(std::string("ResourceGroupId"), resourceGroupId);
+}
+
 std::string CreateFlowLogRequest::getRegionId() const {
   return regionId_;
 }

+ 7 - 0
vpc/src/model/CreateFlowLogResult.cc

@@ -43,9 +43,16 @@ void CreateFlowLogResult::parse(const std::string &payload)
 		success_ = value["Success"].asString();
 	if(!value["FlowLogId"].isNull())
 		flowLogId_ = value["FlowLogId"].asString();
+	if(!value["ResourceGroupId"].isNull())
+		resourceGroupId_ = value["ResourceGroupId"].asString();
 
 }
 
+std::string CreateFlowLogResult::getResourceGroupId()const
+{
+	return resourceGroupId_;
+}
+
 std::string CreateFlowLogResult::getFlowLogId()const
 {
 	return flowLogId_;

+ 9 - 0
vpc/src/model/CreateHaVipRequest.cc

@@ -61,6 +61,15 @@ void CreateHaVipRequest::setDescription(const std::string &description) {
   setParameter(std::string("Description"), description);
 }
 
+std::string CreateHaVipRequest::getResourceGroupId() const {
+  return resourceGroupId_;
+}
+
+void CreateHaVipRequest::setResourceGroupId(const std::string &resourceGroupId) {
+  resourceGroupId_ = resourceGroupId;
+  setParameter(std::string("ResourceGroupId"), resourceGroupId);
+}
+
 std::string CreateHaVipRequest::getRegionId() const {
   return regionId_;
 }

+ 9 - 0
vpc/src/model/CreateIpv4GatewayRequest.cc

@@ -61,6 +61,15 @@ void CreateIpv4GatewayRequest::setIpv4GatewayName(const std::string &ipv4Gateway
   setParameter(std::string("Ipv4GatewayName"), ipv4GatewayName);
 }
 
+std::string CreateIpv4GatewayRequest::getResourceGroupId() const {
+  return resourceGroupId_;
+}
+
+void CreateIpv4GatewayRequest::setResourceGroupId(const std::string &resourceGroupId) {
+  resourceGroupId_ = resourceGroupId;
+  setParameter(std::string("ResourceGroupId"), resourceGroupId);
+}
+
 std::string CreateIpv4GatewayRequest::getRegionId() const {
   return regionId_;
 }

+ 7 - 0
vpc/src/model/CreateIpv4GatewayResult.cc

@@ -41,6 +41,8 @@ void CreateIpv4GatewayResult::parse(const std::string &payload)
 	setRequestId(value["RequestId"].asString());
 	if(!value["Ipv4GatewayId"].isNull())
 		ipv4GatewayId_ = value["Ipv4GatewayId"].asString();
+	if(!value["ResourceGroupId"].isNull())
+		resourceGroupId_ = value["ResourceGroupId"].asString();
 
 }
 
@@ -49,3 +51,8 @@ std::string CreateIpv4GatewayResult::getIpv4GatewayId()const
 	return ipv4GatewayId_;
 }
 
+std::string CreateIpv4GatewayResult::getResourceGroupId()const
+{
+	return resourceGroupId_;
+}
+

+ 9 - 0
vpc/src/model/CreateIpv6GatewayRequest.cc

@@ -61,6 +61,15 @@ void CreateIpv6GatewayRequest::setSpec(const std::string &spec) {
   setParameter(std::string("Spec"), spec);
 }
 
+std::string CreateIpv6GatewayRequest::getResourceGroupId() const {
+  return resourceGroupId_;
+}
+
+void CreateIpv6GatewayRequest::setResourceGroupId(const std::string &resourceGroupId) {
+  resourceGroupId_ = resourceGroupId;
+  setParameter(std::string("ResourceGroupId"), resourceGroupId);
+}
+
 std::string CreateIpv6GatewayRequest::getRegionId() const {
   return regionId_;
 }

+ 7 - 0
vpc/src/model/CreateIpv6GatewayResult.cc

@@ -41,9 +41,16 @@ void CreateIpv6GatewayResult::parse(const std::string &payload)
 	setRequestId(value["RequestId"].asString());
 	if(!value["Ipv6GatewayId"].isNull())
 		ipv6GatewayId_ = value["Ipv6GatewayId"].asString();
+	if(!value["ResourceGroupId"].isNull())
+		resourceGroupId_ = value["ResourceGroupId"].asString();
 
 }
 
+std::string CreateIpv6GatewayResult::getResourceGroupId()const
+{
+	return resourceGroupId_;
+}
+
 std::string CreateIpv6GatewayResult::getIpv6GatewayId()const
 {
 	return ipv6GatewayId_;

+ 9 - 0
vpc/src/model/CreateTrafficMirrorFilterRequest.cc

@@ -71,6 +71,15 @@ void CreateTrafficMirrorFilterRequest::setTrafficMirrorFilterName(const std::str
   setParameter(std::string("TrafficMirrorFilterName"), trafficMirrorFilterName);
 }
 
+std::string CreateTrafficMirrorFilterRequest::getResourceGroupId() const {
+  return resourceGroupId_;
+}
+
+void CreateTrafficMirrorFilterRequest::setResourceGroupId(const std::string &resourceGroupId) {
+  resourceGroupId_ = resourceGroupId;
+  setParameter(std::string("ResourceGroupId"), resourceGroupId);
+}
+
 std::string CreateTrafficMirrorFilterRequest::getRegionId() const {
   return regionId_;
 }

+ 7 - 0
vpc/src/model/CreateTrafficMirrorFilterResult.cc

@@ -41,9 +41,16 @@ void CreateTrafficMirrorFilterResult::parse(const std::string &payload)
 	setRequestId(value["RequestId"].asString());
 	if(!value["TrafficMirrorFilterId"].isNull())
 		trafficMirrorFilterId_ = value["TrafficMirrorFilterId"].asString();
+	if(!value["ResourceGroupId"].isNull())
+		resourceGroupId_ = value["ResourceGroupId"].asString();
 
 }
 
+std::string CreateTrafficMirrorFilterResult::getResourceGroupId()const
+{
+	return resourceGroupId_;
+}
+
 std::string CreateTrafficMirrorFilterResult::getTrafficMirrorFilterId()const
 {
 	return trafficMirrorFilterId_;

+ 9 - 0
vpc/src/model/CreateTrafficMirrorSessionRequest.cc

@@ -61,6 +61,15 @@ void CreateTrafficMirrorSessionRequest::setEnabled(bool enabled) {
   setParameter(std::string("Enabled"), enabled ? "true" : "false");
 }
 
+std::string CreateTrafficMirrorSessionRequest::getResourceGroupId() const {
+  return resourceGroupId_;
+}
+
+void CreateTrafficMirrorSessionRequest::setResourceGroupId(const std::string &resourceGroupId) {
+  resourceGroupId_ = resourceGroupId;
+  setParameter(std::string("ResourceGroupId"), resourceGroupId);
+}
+
 std::string CreateTrafficMirrorSessionRequest::getTrafficMirrorSessionName() const {
   return trafficMirrorSessionName_;
 }

+ 7 - 0
vpc/src/model/CreateTrafficMirrorSessionResult.cc

@@ -41,9 +41,16 @@ void CreateTrafficMirrorSessionResult::parse(const std::string &payload)
 	setRequestId(value["RequestId"].asString());
 	if(!value["TrafficMirrorSessionId"].isNull())
 		trafficMirrorSessionId_ = value["TrafficMirrorSessionId"].asString();
+	if(!value["ResourceGroupId"].isNull())
+		resourceGroupId_ = value["ResourceGroupId"].asString();
 
 }
 
+std::string CreateTrafficMirrorSessionResult::getResourceGroupId()const
+{
+	return resourceGroupId_;
+}
+
 std::string CreateTrafficMirrorSessionResult::getTrafficMirrorSessionId()const
 {
 	return trafficMirrorSessionId_;

+ 18 - 0
vpc/src/model/DeleteVpcRequest.cc

@@ -43,6 +43,24 @@ void DeleteVpcRequest::setRegionId(const std::string &regionId) {
   setParameter(std::string("RegionId"), regionId);
 }
 
+bool DeleteVpcRequest::getForceDelete() const {
+  return forceDelete_;
+}
+
+void DeleteVpcRequest::setForceDelete(bool forceDelete) {
+  forceDelete_ = forceDelete;
+  setParameter(std::string("ForceDelete"), forceDelete ? "true" : "false");
+}
+
+bool DeleteVpcRequest::getDryRun() const {
+  return dryRun_;
+}
+
+void DeleteVpcRequest::setDryRun(bool dryRun) {
+  dryRun_ = dryRun;
+  setParameter(std::string("DryRun"), dryRun ? "true" : "false");
+}
+
 std::string DeleteVpcRequest::getResourceOwnerAccount() const {
   return resourceOwnerAccount_;
 }

+ 2 - 0
vpc/src/model/DescribeEcGrantRelationResult.cc

@@ -63,6 +63,8 @@ void DescribeEcGrantRelationResult::parse(const std::string &payload)
 			ecGrantRelationsObject.vbrRegionNo = valueEcGrantRelationsEcGrantRelationModel["VbrRegionNo"].asString();
 		if(!valueEcGrantRelationsEcGrantRelationModel["GmtCreate"].isNull())
 			ecGrantRelationsObject.gmtCreate = valueEcGrantRelationsEcGrantRelationModel["GmtCreate"].asString();
+		if(!valueEcGrantRelationsEcGrantRelationModel["GrantType"].isNull())
+			ecGrantRelationsObject.grantType = valueEcGrantRelationsEcGrantRelationModel["GrantType"].asString();
 		ecGrantRelations_.push_back(ecGrantRelationsObject);
 	}
 	if(!value["TotalCount"].isNull())

+ 9 - 0
vpc/src/model/DescribeEipAddressesRequest.cc

@@ -201,6 +201,15 @@ void DescribeEipAddressesRequest::setDryRun(bool dryRun) {
   setParameter(std::string("DryRun"), dryRun ? "true" : "false");
 }
 
+std::string DescribeEipAddressesRequest::getBandwidthPackageId() const {
+  return bandwidthPackageId_;
+}
+
+void DescribeEipAddressesRequest::setBandwidthPackageId(const std::string &bandwidthPackageId) {
+  bandwidthPackageId_ = bandwidthPackageId;
+  setParameter(std::string("BandwidthPackageId"), bandwidthPackageId);
+}
+
 std::string DescribeEipAddressesRequest::getResourceOwnerAccount() const {
   return resourceOwnerAccount_;
 }

+ 23 - 0
vpc/src/model/DescribeFlowLogsRequest.cc

@@ -52,6 +52,15 @@ void DescribeFlowLogsRequest::setPageNumber(int pageNumber) {
   setParameter(std::string("PageNumber"), std::to_string(pageNumber));
 }
 
+std::string DescribeFlowLogsRequest::getResourceGroupId() const {
+  return resourceGroupId_;
+}
+
+void DescribeFlowLogsRequest::setResourceGroupId(const std::string &resourceGroupId) {
+  resourceGroupId_ = resourceGroupId;
+  setParameter(std::string("ResourceGroupId"), resourceGroupId);
+}
+
 std::string DescribeFlowLogsRequest::getRegionId() const {
   return regionId_;
 }
@@ -133,6 +142,20 @@ void DescribeFlowLogsRequest::setResourceType(const std::string &resourceType) {
   setParameter(std::string("ResourceType"), resourceType);
 }
 
+std::vector<DescribeFlowLogsRequest::Tags> DescribeFlowLogsRequest::getTags() const {
+  return tags_;
+}
+
+void DescribeFlowLogsRequest::setTags(const std::vector<DescribeFlowLogsRequest::Tags> &tags) {
+  tags_ = tags;
+  for(int dep1 = 0; dep1 != tags.size(); dep1++) {
+  auto tagsObj = tags.at(dep1);
+  std::string tagsObjStr = std::string("Tags") + "." + std::to_string(dep1 + 1);
+    setParameter(tagsObjStr + ".Value", tagsObj.value);
+    setParameter(tagsObjStr + ".Key", tagsObj.key);
+  }
+}
+
 std::string DescribeFlowLogsRequest::getVpcId() const {
   return vpcId_;
 }

+ 13 - 1
vpc/src/model/DescribeFlowLogsResult.cc

@@ -71,7 +71,19 @@ void DescribeFlowLogsResult::parse(const std::string &payload)
 			flowLogsObject.aggregationInterval = std::stoi(valueFlowLogsFlowLog["AggregationInterval"].asString());
 		if(!valueFlowLogsFlowLog["ServiceType"].isNull())
 			flowLogsObject.serviceType = valueFlowLogsFlowLog["ServiceType"].asString();
-		auto allTrafficPath = value["TrafficPath"]["trafficPathList"];
+		if(!valueFlowLogsFlowLog["ResourceGroupId"].isNull())
+			flowLogsObject.resourceGroupId = valueFlowLogsFlowLog["ResourceGroupId"].asString();
+		auto allTagsNode = valueFlowLogsFlowLog["Tags"]["Tag"];
+		for (auto valueFlowLogsFlowLogTagsTag : allTagsNode)
+		{
+			FlowLog::Tag tagsObject;
+			if(!valueFlowLogsFlowLogTagsTag["Key"].isNull())
+				tagsObject.key = valueFlowLogsFlowLogTagsTag["Key"].asString();
+			if(!valueFlowLogsFlowLogTagsTag["Value"].isNull())
+				tagsObject.value = valueFlowLogsFlowLogTagsTag["Value"].asString();
+			flowLogsObject.tags.push_back(tagsObject);
+		}
+		auto allTrafficPath = value["TrafficPath"]["TrafficPathList"];
 		for (auto value : allTrafficPath)
 			flowLogsObject.trafficPath.push_back(value.asString());
 		flowLogs_.push_back(flowLogsObject);

+ 23 - 0
vpc/src/model/DescribeHaVipsRequest.cc

@@ -43,6 +43,15 @@ void DescribeHaVipsRequest::setPageNumber(int pageNumber) {
   setParameter(std::string("PageNumber"), std::to_string(pageNumber));
 }
 
+std::string DescribeHaVipsRequest::getResourceGroupId() const {
+  return resourceGroupId_;
+}
+
+void DescribeHaVipsRequest::setResourceGroupId(const std::string &resourceGroupId) {
+  resourceGroupId_ = resourceGroupId;
+  setParameter(std::string("ResourceGroupId"), resourceGroupId);
+}
+
 std::string DescribeHaVipsRequest::getRegionId() const {
   return regionId_;
 }
@@ -88,6 +97,20 @@ void DescribeHaVipsRequest::setOwnerId(long ownerId) {
   setParameter(std::string("OwnerId"), std::to_string(ownerId));
 }
 
+std::vector<DescribeHaVipsRequest::Tags> DescribeHaVipsRequest::getTags() const {
+  return tags_;
+}
+
+void DescribeHaVipsRequest::setTags(const std::vector<DescribeHaVipsRequest::Tags> &tags) {
+  tags_ = tags;
+  for(int dep1 = 0; dep1 != tags.size(); dep1++) {
+  auto tagsObj = tags.at(dep1);
+  std::string tagsObjStr = std::string("Tags") + "." + std::to_string(dep1 + 1);
+    setParameter(tagsObjStr + ".Value", tagsObj.value);
+    setParameter(tagsObjStr + ".Key", tagsObj.key);
+  }
+}
+
 std::vector<DescribeHaVipsRequest::Filter> DescribeHaVipsRequest::getFilter() const {
   return filter_;
 }

+ 12 - 0
vpc/src/model/DescribeHaVipsResult.cc

@@ -67,6 +67,18 @@ void DescribeHaVipsResult::parse(const std::string &payload)
 			haVipsObject.masterInstanceId = valueHaVipsHaVip["MasterInstanceId"].asString();
 		if(!valueHaVipsHaVip["Name"].isNull())
 			haVipsObject.name = valueHaVipsHaVip["Name"].asString();
+		if(!valueHaVipsHaVip["ResourceGroupId"].isNull())
+			haVipsObject.resourceGroupId = valueHaVipsHaVip["ResourceGroupId"].asString();
+		auto allTagsNode = valueHaVipsHaVip["Tags"]["Tag"];
+		for (auto valueHaVipsHaVipTagsTag : allTagsNode)
+		{
+			HaVip::Tag tagsObject;
+			if(!valueHaVipsHaVipTagsTag["Key"].isNull())
+				tagsObject.key = valueHaVipsHaVipTagsTag["Key"].asString();
+			if(!valueHaVipsHaVipTagsTag["Value"].isNull())
+				tagsObject.value = valueHaVipsHaVipTagsTag["Value"].asString();
+			haVipsObject.tags.push_back(tagsObject);
+		}
 		auto allAssociatedEipAddresses = value["AssociatedEipAddresses"]["associatedEipAddresse"];
 		for (auto value : allAssociatedEipAddresses)
 			haVipsObject.associatedEipAddresses.push_back(value.asString());

+ 36 - 14
vpc/src/model/DescribeIpv6GatewayAttributeResult.cc

@@ -39,6 +39,16 @@ void DescribeIpv6GatewayAttributeResult::parse(const std::string &payload)
 	Json::Value value;
 	reader.parse(payload, value);
 	setRequestId(value["RequestId"].asString());
+	auto allTagsNode = value["Tags"]["Tag"];
+	for (auto valueTagsTag : allTagsNode)
+	{
+		Tag tagsObject;
+		if(!valueTagsTag["Key"].isNull())
+			tagsObject.key = valueTagsTag["Key"].asString();
+		if(!valueTagsTag["Value"].isNull())
+			tagsObject.value = valueTagsTag["Value"].asString();
+		tags_.push_back(tagsObject);
+	}
 	if(!value["VpcId"].isNull())
 		vpcId_ = value["VpcId"].asString();
 	if(!value["Status"].isNull())
@@ -61,6 +71,8 @@ void DescribeIpv6GatewayAttributeResult::parse(const std::string &payload)
 		businessStatus_ = value["BusinessStatus"].asString();
 	if(!value["Name"].isNull())
 		name_ = value["Name"].asString();
+	if(!value["ResourceGroupId"].isNull())
+		resourceGroupId_ = value["ResourceGroupId"].asString();
 
 }
 
@@ -74,9 +86,9 @@ std::string DescribeIpv6GatewayAttributeResult::getDescription()const
 	return description_;
 }
 
-std::string DescribeIpv6GatewayAttributeResult::getVpcId()const
+std::string DescribeIpv6GatewayAttributeResult::getResourceGroupId()const
 {
-	return vpcId_;
+	return resourceGroupId_;
 }
 
 std::string DescribeIpv6GatewayAttributeResult::getInstanceChargeType()const
@@ -84,6 +96,26 @@ std::string DescribeIpv6GatewayAttributeResult::getInstanceChargeType()const
 	return instanceChargeType_;
 }
 
+std::string DescribeIpv6GatewayAttributeResult::getIpv6GatewayId()const
+{
+	return ipv6GatewayId_;
+}
+
+std::string DescribeIpv6GatewayAttributeResult::getBusinessStatus()const
+{
+	return businessStatus_;
+}
+
+std::string DescribeIpv6GatewayAttributeResult::getName()const
+{
+	return name_;
+}
+
+std::string DescribeIpv6GatewayAttributeResult::getVpcId()const
+{
+	return vpcId_;
+}
+
 std::string DescribeIpv6GatewayAttributeResult::getExpiredTime()const
 {
 	return expiredTime_;
@@ -94,11 +126,6 @@ std::string DescribeIpv6GatewayAttributeResult::getCreationTime()const
 	return creationTime_;
 }
 
-std::string DescribeIpv6GatewayAttributeResult::getIpv6GatewayId()const
-{
-	return ipv6GatewayId_;
-}
-
 std::string DescribeIpv6GatewayAttributeResult::getRegionId()const
 {
 	return regionId_;
@@ -109,13 +136,8 @@ std::string DescribeIpv6GatewayAttributeResult::getSpec()const
 	return spec_;
 }
 
-std::string DescribeIpv6GatewayAttributeResult::getBusinessStatus()const
-{
-	return businessStatus_;
-}
-
-std::string DescribeIpv6GatewayAttributeResult::getName()const
+std::vector<DescribeIpv6GatewayAttributeResult::Tag> DescribeIpv6GatewayAttributeResult::getTags()const
 {
-	return name_;
+	return tags_;
 }
 

+ 23 - 0
vpc/src/model/DescribeIpv6GatewaysRequest.cc

@@ -43,6 +43,15 @@ void DescribeIpv6GatewaysRequest::setPageNumber(int pageNumber) {
   setParameter(std::string("PageNumber"), std::to_string(pageNumber));
 }
 
+std::string DescribeIpv6GatewaysRequest::getResourceGroupId() const {
+  return resourceGroupId_;
+}
+
+void DescribeIpv6GatewaysRequest::setResourceGroupId(const std::string &resourceGroupId) {
+  resourceGroupId_ = resourceGroupId;
+  setParameter(std::string("ResourceGroupId"), resourceGroupId);
+}
+
 std::string DescribeIpv6GatewaysRequest::getRegionId() const {
   return regionId_;
 }
@@ -88,6 +97,20 @@ void DescribeIpv6GatewaysRequest::setOwnerId(long ownerId) {
   setParameter(std::string("OwnerId"), std::to_string(ownerId));
 }
 
+std::vector<DescribeIpv6GatewaysRequest::Tags> DescribeIpv6GatewaysRequest::getTags() const {
+  return tags_;
+}
+
+void DescribeIpv6GatewaysRequest::setTags(const std::vector<DescribeIpv6GatewaysRequest::Tags> &tags) {
+  tags_ = tags;
+  for(int dep1 = 0; dep1 != tags.size(); dep1++) {
+  auto tagsObj = tags.at(dep1);
+  std::string tagsObjStr = std::string("Tags") + "." + std::to_string(dep1 + 1);
+    setParameter(tagsObjStr + ".Key", tagsObj.key);
+    setParameter(tagsObjStr + ".Value", tagsObj.value);
+  }
+}
+
 std::string DescribeIpv6GatewaysRequest::getVpcId() const {
   return vpcId_;
 }

+ 12 - 0
vpc/src/model/DescribeIpv6GatewaysResult.cc

@@ -65,6 +65,18 @@ void DescribeIpv6GatewaysResult::parse(const std::string &payload)
 			ipv6GatewaysObject.instanceChargeType = valueIpv6GatewaysIpv6Gateway["InstanceChargeType"].asString();
 		if(!valueIpv6GatewaysIpv6Gateway["RegionId"].isNull())
 			ipv6GatewaysObject.regionId = valueIpv6GatewaysIpv6Gateway["RegionId"].asString();
+		if(!valueIpv6GatewaysIpv6Gateway["ResourceGroupId"].isNull())
+			ipv6GatewaysObject.resourceGroupId = valueIpv6GatewaysIpv6Gateway["ResourceGroupId"].asString();
+		auto allTagsNode = valueIpv6GatewaysIpv6Gateway["Tags"]["Tag"];
+		for (auto valueIpv6GatewaysIpv6GatewayTagsTag : allTagsNode)
+		{
+			Ipv6Gateway::Tag tagsObject;
+			if(!valueIpv6GatewaysIpv6GatewayTagsTag["Key"].isNull())
+				tagsObject.key = valueIpv6GatewaysIpv6GatewayTagsTag["Key"].asString();
+			if(!valueIpv6GatewaysIpv6GatewayTagsTag["Value"].isNull())
+				tagsObject.value = valueIpv6GatewaysIpv6GatewayTagsTag["Value"].asString();
+			ipv6GatewaysObject.tags.push_back(tagsObject);
+		}
 		ipv6Gateways_.push_back(ipv6GatewaysObject);
 	}
 	if(!value["PageSize"].isNull())

+ 10 - 0
vpc/src/model/DescribeNetworkAclAttributesResult.cc

@@ -112,6 +112,16 @@ void DescribeNetworkAclAttributesResult::parse(const std::string &payload)
 			resourceObject.resourceId = networkAclAttributeNodeResourcesResource["ResourceId"].asString();
 		networkAclAttribute_.resources.push_back(resourceObject);
 	}
+	auto allTagsNode = networkAclAttributeNode["Tags"]["Tag"];
+	for (auto networkAclAttributeNodeTagsTag : allTagsNode)
+	{
+		NetworkAclAttribute::Tag tagObject;
+		if(!networkAclAttributeNodeTagsTag["Key"].isNull())
+			tagObject.key = networkAclAttributeNodeTagsTag["Key"].asString();
+		if(!networkAclAttributeNodeTagsTag["Value"].isNull())
+			tagObject.value = networkAclAttributeNodeTagsTag["Value"].asString();
+		networkAclAttribute_.tags.push_back(tagObject);
+	}
 
 }
 

+ 14 - 0
vpc/src/model/DescribeNetworkAclsRequest.cc

@@ -124,6 +124,20 @@ void DescribeNetworkAclsRequest::setResourceType(const std::string &resourceType
   setParameter(std::string("ResourceType"), resourceType);
 }
 
+std::vector<DescribeNetworkAclsRequest::Tags> DescribeNetworkAclsRequest::getTags() const {
+  return tags_;
+}
+
+void DescribeNetworkAclsRequest::setTags(const std::vector<DescribeNetworkAclsRequest::Tags> &tags) {
+  tags_ = tags;
+  for(int dep1 = 0; dep1 != tags.size(); dep1++) {
+  auto tagsObj = tags.at(dep1);
+  std::string tagsObjStr = std::string("Tags") + "." + std::to_string(dep1 + 1);
+    setParameter(tagsObjStr + ".Key", tagsObj.key);
+    setParameter(tagsObjStr + ".Value", tagsObj.value);
+  }
+}
+
 std::string DescribeNetworkAclsRequest::getVpcId() const {
   return vpcId_;
 }

+ 10 - 0
vpc/src/model/DescribeNetworkAclsResult.cc

@@ -115,6 +115,16 @@ void DescribeNetworkAclsResult::parse(const std::string &payload)
 				resourcesObject.resourceId = valueNetworkAclsNetworkAclResourcesResource["ResourceId"].asString();
 			networkAclsObject.resources.push_back(resourcesObject);
 		}
+		auto allTagsNode = valueNetworkAclsNetworkAcl["Tags"]["Tag"];
+		for (auto valueNetworkAclsNetworkAclTagsTag : allTagsNode)
+		{
+			NetworkAcl::Tag tagsObject;
+			if(!valueNetworkAclsNetworkAclTagsTag["Key"].isNull())
+				tagsObject.key = valueNetworkAclsNetworkAclTagsTag["Key"].asString();
+			if(!valueNetworkAclsNetworkAclTagsTag["Value"].isNull())
+				tagsObject.value = valueNetworkAclsNetworkAclTagsTag["Value"].asString();
+			networkAclsObject.tags.push_back(tagsObject);
+		}
 		networkAcls_.push_back(networkAclsObject);
 	}
 	if(!value["PageSize"].isNull())

+ 15 - 0
vpc/src/model/DescribeVSwitchAttributesResult.cc

@@ -49,6 +49,16 @@ void DescribeVSwitchAttributesResult::parse(const std::string &payload)
 			cloudResourcesObject.resourceType = valueCloudResourcesCloudResourceSetType["ResourceType"].asString();
 		cloudResources_.push_back(cloudResourcesObject);
 	}
+	auto allTagsNode = value["Tags"]["Tag"];
+	for (auto valueTagsTag : allTagsNode)
+	{
+		Tag tagsObject;
+		if(!valueTagsTag["Key"].isNull())
+			tagsObject.key = valueTagsTag["Key"].asString();
+		if(!valueTagsTag["Value"].isNull())
+			tagsObject.value = valueTagsTag["Value"].asString();
+		tags_.push_back(tagsObject);
+	}
 	auto routeTableNode = value["RouteTable"];
 	if(!routeTableNode["RouteTableId"].isNull())
 		routeTable_.routeTableId = routeTableNode["RouteTableId"].asString();
@@ -167,6 +177,11 @@ std::vector<DescribeVSwitchAttributesResult::CloudResourceSetType> DescribeVSwit
 	return cloudResources_;
 }
 
+std::vector<DescribeVSwitchAttributesResult::Tag> DescribeVSwitchAttributesResult::getTags()const
+{
+	return tags_;
+}
+
 std::string DescribeVSwitchAttributesResult::getShareType()const
 {
 	return shareType_;

+ 22 - 0
vpc/src/model/GetIpv4GatewayAttributeResult.cc

@@ -39,6 +39,16 @@ void GetIpv4GatewayAttributeResult::parse(const std::string &payload)
 	Json::Value value;
 	reader.parse(payload, value);
 	setRequestId(value["RequestId"].asString());
+	auto allTagsNode = value["Tags"]["Tag"];
+	for (auto valueTagsTag : allTagsNode)
+	{
+		Tag tagsObject;
+		if(!valueTagsTag["Key"].isNull())
+			tagsObject.key = valueTagsTag["Key"].asString();
+		if(!valueTagsTag["Value"].isNull())
+			tagsObject.value = valueTagsTag["Value"].asString();
+		tags_.push_back(tagsObject);
+	}
 	if(!value["VpcId"].isNull())
 		vpcId_ = value["VpcId"].asString();
 	if(!value["Status"].isNull())
@@ -55,6 +65,8 @@ void GetIpv4GatewayAttributeResult::parse(const std::string &payload)
 		ipv4GatewayName_ = value["Ipv4GatewayName"].asString();
 	if(!value["CreateTime"].isNull())
 		createTime_ = value["CreateTime"].asString();
+	if(!value["ResourceGroupId"].isNull())
+		resourceGroupId_ = value["ResourceGroupId"].asString();
 
 }
 
@@ -83,6 +95,11 @@ std::string GetIpv4GatewayAttributeResult::getIpv4GatewayId()const
 	return ipv4GatewayId_;
 }
 
+std::string GetIpv4GatewayAttributeResult::getResourceGroupId()const
+{
+	return resourceGroupId_;
+}
+
 std::string GetIpv4GatewayAttributeResult::getCreateTime()const
 {
 	return createTime_;
@@ -93,6 +110,11 @@ bool GetIpv4GatewayAttributeResult::getEnabled()const
 	return enabled_;
 }
 
+std::vector<GetIpv4GatewayAttributeResult::Tag> GetIpv4GatewayAttributeResult::getTags()const
+{
+	return tags_;
+}
+
 std::string GetIpv4GatewayAttributeResult::getIpv4GatewayDescription()const
 {
 	return ipv4GatewayDescription_;

+ 23 - 0
vpc/src/model/ListIpv4GatewaysRequest.cc

@@ -43,6 +43,15 @@ void ListIpv4GatewaysRequest::setIpv4GatewayName(const std::string &ipv4GatewayN
   setParameter(std::string("Ipv4GatewayName"), ipv4GatewayName);
 }
 
+std::string ListIpv4GatewaysRequest::getResourceGroupId() const {
+  return resourceGroupId_;
+}
+
+void ListIpv4GatewaysRequest::setResourceGroupId(const std::string &resourceGroupId) {
+  resourceGroupId_ = resourceGroupId;
+  setParameter(std::string("ResourceGroupId"), resourceGroupId);
+}
+
 std::string ListIpv4GatewaysRequest::getRegionId() const {
   return regionId_;
 }
@@ -97,6 +106,20 @@ void ListIpv4GatewaysRequest::setOwnerId(long ownerId) {
   setParameter(std::string("OwnerId"), std::to_string(ownerId));
 }
 
+std::vector<ListIpv4GatewaysRequest::Tags> ListIpv4GatewaysRequest::getTags() const {
+  return tags_;
+}
+
+void ListIpv4GatewaysRequest::setTags(const std::vector<ListIpv4GatewaysRequest::Tags> &tags) {
+  tags_ = tags;
+  for(int dep1 = 0; dep1 != tags.size(); dep1++) {
+  auto tagsObj = tags.at(dep1);
+  std::string tagsObjStr = std::string("Tags") + "." + std::to_string(dep1 + 1);
+    setParameter(tagsObjStr + ".Key", tagsObj.key);
+    setParameter(tagsObjStr + ".Value", tagsObj.value);
+  }
+}
+
 std::string ListIpv4GatewaysRequest::getVpcId() const {
   return vpcId_;
 }

+ 12 - 0
vpc/src/model/ListIpv4GatewaysResult.cc

@@ -59,6 +59,18 @@ void ListIpv4GatewaysResult::parse(const std::string &payload)
 			ipv4GatewayModelsObject.ipv4GatewayRouteTableId = valueIpv4GatewayModelsIpv4GatewayModelsItem["Ipv4GatewayRouteTableId"].asString();
 		if(!valueIpv4GatewayModelsIpv4GatewayModelsItem["Ipv4GatewayName"].isNull())
 			ipv4GatewayModelsObject.ipv4GatewayName = valueIpv4GatewayModelsIpv4GatewayModelsItem["Ipv4GatewayName"].asString();
+		if(!valueIpv4GatewayModelsIpv4GatewayModelsItem["ResourceGroupId"].isNull())
+			ipv4GatewayModelsObject.resourceGroupId = valueIpv4GatewayModelsIpv4GatewayModelsItem["ResourceGroupId"].asString();
+		auto allTagsNode = valueIpv4GatewayModelsIpv4GatewayModelsItem["Tags"]["Tag"];
+		for (auto valueIpv4GatewayModelsIpv4GatewayModelsItemTagsTag : allTagsNode)
+		{
+			Ipv4GatewayModelsItem::Tag tagsObject;
+			if(!valueIpv4GatewayModelsIpv4GatewayModelsItemTagsTag["Key"].isNull())
+				tagsObject.key = valueIpv4GatewayModelsIpv4GatewayModelsItemTagsTag["Key"].asString();
+			if(!valueIpv4GatewayModelsIpv4GatewayModelsItemTagsTag["Value"].isNull())
+				tagsObject.value = valueIpv4GatewayModelsIpv4GatewayModelsItemTagsTag["Value"].asString();
+			ipv4GatewayModelsObject.tags.push_back(tagsObject);
+		}
 		ipv4GatewayModels_.push_back(ipv4GatewayModelsObject);
 	}
 	if(!value["NextToken"].isNull())

+ 10 - 10
vpc/src/model/ListTagResourcesRequest.cc

@@ -34,15 +34,6 @@ void ListTagResourcesRequest::setResourceOwnerId(long resourceOwnerId) {
   setParameter(std::string("ResourceOwnerId"), std::to_string(resourceOwnerId));
 }
 
-std::string ListTagResourcesRequest::getRegionId() const {
-  return regionId_;
-}
-
-void ListTagResourcesRequest::setRegionId(const std::string &regionId) {
-  regionId_ = regionId;
-  setParameter(std::string("RegionId"), regionId);
-}
-
 std::string ListTagResourcesRequest::getNextToken() const {
   return nextToken_;
 }
@@ -52,6 +43,15 @@ void ListTagResourcesRequest::setNextToken(const std::string &nextToken) {
   setParameter(std::string("NextToken"), nextToken);
 }
 
+std::string ListTagResourcesRequest::getRegionId() const {
+  return regionId_;
+}
+
+void ListTagResourcesRequest::setRegionId(const std::string &regionId) {
+  regionId_ = regionId;
+  setParameter(std::string("RegionId"), regionId);
+}
+
 std::vector<ListTagResourcesRequest::Tag> ListTagResourcesRequest::getTag() const {
   return tag_;
 }
@@ -61,8 +61,8 @@ void ListTagResourcesRequest::setTag(const std::vector<ListTagResourcesRequest::
   for(int dep1 = 0; dep1 != tag.size(); dep1++) {
   auto tagObj = tag.at(dep1);
   std::string tagObjStr = std::string("Tag") + "." + std::to_string(dep1 + 1);
-    setParameter(tagObjStr + ".Value", tagObj.value);
     setParameter(tagObjStr + ".Key", tagObj.key);
+    setParameter(tagObjStr + ".Value", tagObj.value);
   }
 }
 

+ 23 - 0
vpc/src/model/ListTrafficMirrorFiltersRequest.cc

@@ -51,6 +51,15 @@ void ListTrafficMirrorFiltersRequest::setTrafficMirrorFilterName(const std::stri
   setParameter(std::string("TrafficMirrorFilterName"), trafficMirrorFilterName);
 }
 
+std::string ListTrafficMirrorFiltersRequest::getResourceGroupId() const {
+  return resourceGroupId_;
+}
+
+void ListTrafficMirrorFiltersRequest::setResourceGroupId(const std::string &resourceGroupId) {
+  resourceGroupId_ = resourceGroupId;
+  setParameter(std::string("ResourceGroupId"), resourceGroupId);
+}
+
 std::string ListTrafficMirrorFiltersRequest::getNextToken() const {
   return nextToken_;
 }
@@ -96,6 +105,20 @@ void ListTrafficMirrorFiltersRequest::setOwnerId(long ownerId) {
   setParameter(std::string("OwnerId"), std::to_string(ownerId));
 }
 
+std::vector<ListTrafficMirrorFiltersRequest::Tags> ListTrafficMirrorFiltersRequest::getTags() const {
+  return tags_;
+}
+
+void ListTrafficMirrorFiltersRequest::setTags(const std::vector<ListTrafficMirrorFiltersRequest::Tags> &tags) {
+  tags_ = tags;
+  for(int dep1 = 0; dep1 != tags.size(); dep1++) {
+  auto tagsObj = tags.at(dep1);
+  std::string tagsObjStr = std::string("Tags") + "." + std::to_string(dep1 + 1);
+    setParameter(tagsObjStr + ".Key", tagsObj.key);
+    setParameter(tagsObjStr + ".Value", tagsObj.value);
+  }
+}
+
 int ListTrafficMirrorFiltersRequest::getMaxResults() const {
   return maxResults_;
 }

+ 12 - 0
vpc/src/model/ListTrafficMirrorFiltersResult.cc

@@ -51,6 +51,8 @@ void ListTrafficMirrorFiltersResult::parse(const std::string &payload)
 			trafficMirrorFiltersObject.trafficMirrorFilterId = valueTrafficMirrorFiltersTrafficMirrorFilter["TrafficMirrorFilterId"].asString();
 		if(!valueTrafficMirrorFiltersTrafficMirrorFilter["TrafficMirrorFilterName"].isNull())
 			trafficMirrorFiltersObject.trafficMirrorFilterName = valueTrafficMirrorFiltersTrafficMirrorFilter["TrafficMirrorFilterName"].asString();
+		if(!valueTrafficMirrorFiltersTrafficMirrorFilter["ResourceGroupId"].isNull())
+			trafficMirrorFiltersObject.resourceGroupId = valueTrafficMirrorFiltersTrafficMirrorFilter["ResourceGroupId"].asString();
 		auto allIngressRulesNode = valueTrafficMirrorFiltersTrafficMirrorFilter["IngressRules"]["TrafficMirrorRule"];
 		for (auto valueTrafficMirrorFiltersTrafficMirrorFilterIngressRulesTrafficMirrorRule : allIngressRulesNode)
 		{
@@ -107,6 +109,16 @@ void ListTrafficMirrorFiltersResult::parse(const std::string &payload)
 				egressRulesObject.sourcePortRange = valueTrafficMirrorFiltersTrafficMirrorFilterEgressRulesTrafficMirrorRule["SourcePortRange"].asString();
 			trafficMirrorFiltersObject.egressRules.push_back(egressRulesObject);
 		}
+		auto allTagsNode = valueTrafficMirrorFiltersTrafficMirrorFilter["Tags"]["Tag"];
+		for (auto valueTrafficMirrorFiltersTrafficMirrorFilterTagsTag : allTagsNode)
+		{
+			TrafficMirrorFilter::Tag tagsObject;
+			if(!valueTrafficMirrorFiltersTrafficMirrorFilterTagsTag["Key"].isNull())
+				tagsObject.key = valueTrafficMirrorFiltersTrafficMirrorFilterTagsTag["Key"].asString();
+			if(!valueTrafficMirrorFiltersTrafficMirrorFilterTagsTag["Value"].isNull())
+				tagsObject.value = valueTrafficMirrorFiltersTrafficMirrorFilterTagsTag["Value"].asString();
+			trafficMirrorFiltersObject.tags.push_back(tagsObject);
+		}
 		trafficMirrorFilters_.push_back(trafficMirrorFiltersObject);
 	}
 	if(!value["NextToken"].isNull())

+ 23 - 0
vpc/src/model/ListTrafficMirrorSessionsRequest.cc

@@ -52,6 +52,15 @@ void ListTrafficMirrorSessionsRequest::setEnabled(bool enabled) {
   setParameter(std::string("Enabled"), enabled ? "true" : "false");
 }
 
+std::string ListTrafficMirrorSessionsRequest::getResourceGroupId() const {
+  return resourceGroupId_;
+}
+
+void ListTrafficMirrorSessionsRequest::setResourceGroupId(const std::string &resourceGroupId) {
+  resourceGroupId_ = resourceGroupId;
+  setParameter(std::string("ResourceGroupId"), resourceGroupId);
+}
+
 std::string ListTrafficMirrorSessionsRequest::getTrafficMirrorSessionName() const {
   return trafficMirrorSessionName_;
 }
@@ -141,6 +150,20 @@ void ListTrafficMirrorSessionsRequest::setTrafficMirrorFilterId(const std::strin
   setParameter(std::string("TrafficMirrorFilterId"), trafficMirrorFilterId);
 }
 
+std::vector<ListTrafficMirrorSessionsRequest::Tags> ListTrafficMirrorSessionsRequest::getTags() const {
+  return tags_;
+}
+
+void ListTrafficMirrorSessionsRequest::setTags(const std::vector<ListTrafficMirrorSessionsRequest::Tags> &tags) {
+  tags_ = tags;
+  for(int dep1 = 0; dep1 != tags.size(); dep1++) {
+  auto tagsObj = tags.at(dep1);
+  std::string tagsObjStr = std::string("Tags") + "." + std::to_string(dep1 + 1);
+    setParameter(tagsObjStr + ".Key", tagsObj.key);
+    setParameter(tagsObjStr + ".Value", tagsObj.value);
+  }
+}
+
 int ListTrafficMirrorSessionsRequest::getMaxResults() const {
   return maxResults_;
 }

+ 12 - 0
vpc/src/model/ListTrafficMirrorSessionsResult.cc

@@ -67,6 +67,18 @@ void ListTrafficMirrorSessionsResult::parse(const std::string &payload)
 			trafficMirrorSessionsObject.trafficMirrorFilterId = valueTrafficMirrorSessionsTrafficMirrorSession["TrafficMirrorFilterId"].asString();
 		if(!valueTrafficMirrorSessionsTrafficMirrorSession["TrafficMirrorSessionName"].isNull())
 			trafficMirrorSessionsObject.trafficMirrorSessionName = valueTrafficMirrorSessionsTrafficMirrorSession["TrafficMirrorSessionName"].asString();
+		if(!valueTrafficMirrorSessionsTrafficMirrorSession["ResourceGroupId"].isNull())
+			trafficMirrorSessionsObject.resourceGroupId = valueTrafficMirrorSessionsTrafficMirrorSession["ResourceGroupId"].asString();
+		auto allTagsNode = valueTrafficMirrorSessionsTrafficMirrorSession["Tags"]["Tag"];
+		for (auto valueTrafficMirrorSessionsTrafficMirrorSessionTagsTag : allTagsNode)
+		{
+			TrafficMirrorSession::Tag tagsObject;
+			if(!valueTrafficMirrorSessionsTrafficMirrorSessionTagsTag["Key"].isNull())
+				tagsObject.key = valueTrafficMirrorSessionsTrafficMirrorSessionTagsTag["Key"].asString();
+			if(!valueTrafficMirrorSessionsTrafficMirrorSessionTagsTag["Value"].isNull())
+				tagsObject.value = valueTrafficMirrorSessionsTrafficMirrorSessionTagsTag["Value"].asString();
+			trafficMirrorSessionsObject.tags.push_back(tagsObject);
+		}
 		auto allTrafficMirrorSourceIds = value["TrafficMirrorSourceIds"]["TrafficMirrorSourceId"];
 		for (auto value : allTrafficMirrorSourceIds)
 			trafficMirrorSessionsObject.trafficMirrorSourceIds.push_back(value.asString());

+ 1 - 1
vpc/src/model/TagResourcesRequest.cc

@@ -52,8 +52,8 @@ void TagResourcesRequest::setTag(const std::vector<TagResourcesRequest::Tag> &ta
   for(int dep1 = 0; dep1 != tag.size(); dep1++) {
   auto tagObj = tag.at(dep1);
   std::string tagObjStr = std::string("Tag") + "." + std::to_string(dep1 + 1);
-    setParameter(tagObjStr + ".Value", tagObj.value);
     setParameter(tagObjStr + ".Key", tagObj.key);
+    setParameter(tagObjStr + ".Value", tagObj.value);
   }
 }
 

+ 1 - 1
vpc/src/model/UnTagResourcesRequest.cc

@@ -52,8 +52,8 @@ void UnTagResourcesRequest::setTag(const std::vector<UnTagResourcesRequest::Tag>
   for(int dep1 = 0; dep1 != tag.size(); dep1++) {
   auto tagObj = tag.at(dep1);
   std::string tagObjStr = std::string("Tag") + "." + std::to_string(dep1 + 1);
-    setParameter(tagObjStr + ".Value", tagObj.value);
     setParameter(tagObjStr + ".Key", tagObj.key);
+    setParameter(tagObjStr + ".Value", tagObj.value);
   }
 }