浏览代码

VPC SDK Auto Released By jince,Version:1.53.24

Signed-off-by: haowei.yao <haowei.yao@alibaba-inc.com>
haowei.yao 6 年之前
父节点
当前提交
d15f387596
共有 100 个文件被更改,包括 3673 次插入1180 次删除
  1. 5 0
      ChangeLog.txt
  2. 110 0
      services/vpc/add_i_pv6_translator_acl_list_entry.go
  3. 113 0
      services/vpc/allocate_ipv6_internet_bandwidth.go
  4. 1 0
      services/vpc/associate_eip_address.go
  5. 108 0
      services/vpc/convert_bandwidth_package.go
  6. 6 2
      services/vpc/create_common_bandwidth_package.go
  7. 3 2
      services/vpc/create_forward_entry.go
  8. 109 0
      services/vpc/create_i_pv6_translator_acl_list.go
  9. 3 0
      services/vpc/create_i_pv6_translator_entry.go
  10. 113 0
      services/vpc/create_ipv6_egress_only_rule.go
  11. 112 0
      services/vpc/create_ipv6_gateway.go
  12. 7 3
      services/vpc/create_nat_gateway.go
  13. 1 0
      services/vpc/create_route_entry.go
  14. 1 0
      services/vpc/create_snat_entry.go
  15. 4 3
      services/vpc/create_v_switch.go
  16. 6 4
      services/vpc/create_vpc.go
  17. 108 0
      services/vpc/delete_i_pv6_translator_acl_list.go
  18. 108 0
      services/vpc/delete_ipv6_egress_only_rule.go
  19. 26 28
      services/vpc/delete_ipv6_gateway.go
  20. 108 0
      services/vpc/delete_ipv6_internet_bandwidth.go
  21. 1 0
      services/vpc/delete_route_entry.go
  22. 0 111
      services/vpc/describe_bandwidth_package_public_ip_monitor_data.go
  23. 113 0
      services/vpc/describe_bgp_networks.go
  24. 1 0
      services/vpc/describe_common_bandwidth_packages.go
  25. 27 19
      services/vpc/describe_eip_addresses.go
  26. 2 2
      services/vpc/describe_eip_monitor_data.go
  27. 8 2
      services/vpc/describe_forward_table_entries.go
  28. 0 113
      services/vpc/describe_forward_tables.go
  29. 114 0
      services/vpc/describe_grant_rules_to_cen.go
  30. 0 113
      services/vpc/describe_high_definition_monitor_log_attribute.go
  31. 115 0
      services/vpc/describe_i_pv6_translator_acl_list_attributes.go
  32. 114 0
      services/vpc/describe_i_pv6_translator_acl_lists.go
  33. 3 0
      services/vpc/describe_i_pv6_translator_entries.go
  34. 121 0
      services/vpc/describe_ipv6_addresses.go
  35. 117 0
      services/vpc/describe_ipv6_egress_only_rules.go
  36. 118 0
      services/vpc/describe_ipv6_gateway_attribute.go
  37. 115 0
      services/vpc/describe_ipv6_gateways.go
  38. 4 2
      services/vpc/describe_nat_gateways.go
  39. 0 110
      services/vpc/describe_network_quotas.go
  40. 0 111
      services/vpc/describe_new_project_eip_monitor_data.go
  41. 110 0
      services/vpc/describe_physical_connection_order.go
  42. 19 11
      services/vpc/describe_route_table_list.go
  43. 1 0
      services/vpc/describe_route_tables.go
  44. 5 5
      services/vpc/describe_router_interfaces.go
  45. 0 117
      services/vpc/describe_router_interfaces_for_global.go
  46. 6 2
      services/vpc/describe_snat_table_entries.go
  47. 2 0
      services/vpc/describe_v_switch_attributes.go
  48. 20 12
      services/vpc/describe_v_switches.go
  49. 1 0
      services/vpc/describe_vpc_attribute.go
  50. 17 10
      services/vpc/describe_vpcs.go
  51. 0 117
      services/vpc/describe_vpn_connection_logs.go
  52. 111 0
      services/vpc/grant_instance_to_cen.go
  53. 1 0
      services/vpc/modify_forward_entry.go
  54. 109 0
      services/vpc/modify_i_pv6_translator_acl_attribute.go
  55. 109 0
      services/vpc/modify_i_pv6_translator_acl_list_entry.go
  56. 3 0
      services/vpc/modify_i_pv6_translator_entry.go
  57. 109 0
      services/vpc/modify_ipv6_address_attribute.go
  58. 109 0
      services/vpc/modify_ipv6_gateway_attribute.go
  59. 109 0
      services/vpc/modify_ipv6_gateway_spec.go
  60. 110 0
      services/vpc/modify_ipv6_internet_bandwidth.go
  61. 1 0
      services/vpc/modify_nat_gateway_spec.go
  62. 107 0
      services/vpc/modify_route_entry.go
  63. 1 0
      services/vpc/modify_snat_entry.go
  64. 1 0
      services/vpc/modify_v_switch_attribute.go
  65. 1 0
      services/vpc/modify_vpc_attribute.go
  66. 109 0
      services/vpc/remove_i_pv6_translator_acl_list_entry.go
  67. 111 0
      services/vpc/revoke_instance_from_cen.go
  68. 0 112
      services/vpc/set_high_definition_monitor_log_status.go
  69. 3 3
      services/vpc/struct_acl_entries.go
  70. 23 0
      services/vpc/struct_acl_entry.go
  71. 5 3
      services/vpc/struct_bgp_network.go
  72. 3 3
      services/vpc/struct_bgp_networks.go
  73. 23 0
      services/vpc/struct_cbn_grant_rule.go
  74. 21 0
      services/vpc/struct_cen_grant_rules.go
  75. 2 0
      services/vpc/struct_common_bandwidth_package.go
  76. 3 0
      services/vpc/struct_eip_address.go
  77. 4 4
      services/vpc/struct_eip_monitor_data.go
  78. 2 2
      services/vpc/struct_eip_monitor_datas.go
  79. 2 1
      services/vpc/struct_flow_log.go
  80. 0 28
      services/vpc/struct_forward_entry.go
  81. 0 24
      services/vpc/struct_forward_table.go
  82. 9 8
      services/vpc/struct_forward_table_entry.go
  83. 22 0
      services/vpc/struct_i_pv6_translator_acl.go
  84. 33 0
      services/vpc/struct_ipv6_address.go
  85. 21 0
      services/vpc/struct_ipv6_addresses.go
  86. 26 0
      services/vpc/struct_ipv6_egress_only_rule.go
  87. 21 0
      services/vpc/struct_ipv6_egress_only_rules.go
  88. 31 0
      services/vpc/struct_ipv6_gateway.go
  89. 3 3
      services/vpc/struct_ipv6_gateways.go
  90. 25 0
      services/vpc/struct_ipv6_internet_bandwidth.go
  91. 21 0
      services/vpc/struct_ipv6_translator_acls.go
  92. 3 0
      services/vpc/struct_ipv6_translator_entry.go
  93. 0 28
      services/vpc/struct_monitor_data.go
  94. 2 0
      services/vpc/struct_nat_gateway.go
  95. 8 5
      services/vpc/struct_next_hop.go
  96. 12 9
      services/vpc/struct_route_entry.go
  97. 7 6
      services/vpc/struct_route_table.go
  98. 2 2
      services/vpc/struct_router_interface_set.go
  99. 0 21
      services/vpc/struct_router_interface_set_in_describe_router_interfaces.go
  100. 29 19
      services/vpc/struct_router_interface_type.go

+ 5 - 0
ChangeLog.txt

@@ -1,3 +1,8 @@
+2019-03-12 Version: 1.53.24
+1, Add Vpc openapi interface,Support for new fields.
+2, Support for ipv6 gateway openapi.
+3, Fixed some problems of the vpc openapi.
+
 2019-03-12 Version: 1.53.23
 1,  add agency infomation
 2,  update sdk core resources

+ 110 - 0
services/vpc/add_i_pv6_translator_acl_list_entry.go

@@ -0,0 +1,110 @@
+package vpc
+
+//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.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// AddIPv6TranslatorAclListEntry invokes the vpc.AddIPv6TranslatorAclListEntry API synchronously
+// api document: https://help.aliyun.com/api/vpc/addipv6translatoracllistentry.html
+func (client *Client) AddIPv6TranslatorAclListEntry(request *AddIPv6TranslatorAclListEntryRequest) (response *AddIPv6TranslatorAclListEntryResponse, err error) {
+	response = CreateAddIPv6TranslatorAclListEntryResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// AddIPv6TranslatorAclListEntryWithChan invokes the vpc.AddIPv6TranslatorAclListEntry API asynchronously
+// api document: https://help.aliyun.com/api/vpc/addipv6translatoracllistentry.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) AddIPv6TranslatorAclListEntryWithChan(request *AddIPv6TranslatorAclListEntryRequest) (<-chan *AddIPv6TranslatorAclListEntryResponse, <-chan error) {
+	responseChan := make(chan *AddIPv6TranslatorAclListEntryResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.AddIPv6TranslatorAclListEntry(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// AddIPv6TranslatorAclListEntryWithCallback invokes the vpc.AddIPv6TranslatorAclListEntry API asynchronously
+// api document: https://help.aliyun.com/api/vpc/addipv6translatoracllistentry.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) AddIPv6TranslatorAclListEntryWithCallback(request *AddIPv6TranslatorAclListEntryRequest, callback func(response *AddIPv6TranslatorAclListEntryResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *AddIPv6TranslatorAclListEntryResponse
+		var err error
+		defer close(result)
+		response, err = client.AddIPv6TranslatorAclListEntry(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// AddIPv6TranslatorAclListEntryRequest is the request struct for api AddIPv6TranslatorAclListEntry
+type AddIPv6TranslatorAclListEntryRequest struct {
+	*requests.RpcRequest
+	AclId                string           `position:"Query" name:"AclId"`
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	AclEntryIp           string           `position:"Query" name:"AclEntryIp"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	AclEntryComment      string           `position:"Query" name:"AclEntryComment"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// AddIPv6TranslatorAclListEntryResponse is the response struct for api AddIPv6TranslatorAclListEntry
+type AddIPv6TranslatorAclListEntryResponse struct {
+	*responses.BaseResponse
+	RequestId  string `json:"RequestId" xml:"RequestId"`
+	AclEntryId string `json:"AclEntryId" xml:"AclEntryId"`
+}
+
+// CreateAddIPv6TranslatorAclListEntryRequest creates a request to invoke AddIPv6TranslatorAclListEntry API
+func CreateAddIPv6TranslatorAclListEntryRequest() (request *AddIPv6TranslatorAclListEntryRequest) {
+	request = &AddIPv6TranslatorAclListEntryRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Vpc", "2016-04-28", "AddIPv6TranslatorAclListEntry", "vpc", "openAPI")
+	return
+}
+
+// CreateAddIPv6TranslatorAclListEntryResponse creates a response to parse from AddIPv6TranslatorAclListEntry response
+func CreateAddIPv6TranslatorAclListEntryResponse() (response *AddIPv6TranslatorAclListEntryResponse) {
+	response = &AddIPv6TranslatorAclListEntryResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 113 - 0
services/vpc/allocate_ipv6_internet_bandwidth.go

@@ -0,0 +1,113 @@
+package vpc
+
+//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.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// AllocateIpv6InternetBandwidth invokes the vpc.AllocateIpv6InternetBandwidth API synchronously
+// api document: https://help.aliyun.com/api/vpc/allocateipv6internetbandwidth.html
+func (client *Client) AllocateIpv6InternetBandwidth(request *AllocateIpv6InternetBandwidthRequest) (response *AllocateIpv6InternetBandwidthResponse, err error) {
+	response = CreateAllocateIpv6InternetBandwidthResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// AllocateIpv6InternetBandwidthWithChan invokes the vpc.AllocateIpv6InternetBandwidth API asynchronously
+// api document: https://help.aliyun.com/api/vpc/allocateipv6internetbandwidth.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) AllocateIpv6InternetBandwidthWithChan(request *AllocateIpv6InternetBandwidthRequest) (<-chan *AllocateIpv6InternetBandwidthResponse, <-chan error) {
+	responseChan := make(chan *AllocateIpv6InternetBandwidthResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.AllocateIpv6InternetBandwidth(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// AllocateIpv6InternetBandwidthWithCallback invokes the vpc.AllocateIpv6InternetBandwidth API asynchronously
+// api document: https://help.aliyun.com/api/vpc/allocateipv6internetbandwidth.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) AllocateIpv6InternetBandwidthWithCallback(request *AllocateIpv6InternetBandwidthRequest, callback func(response *AllocateIpv6InternetBandwidthResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *AllocateIpv6InternetBandwidthResponse
+		var err error
+		defer close(result)
+		response, err = client.AllocateIpv6InternetBandwidth(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// AllocateIpv6InternetBandwidthRequest is the request struct for api AllocateIpv6InternetBandwidth
+type AllocateIpv6InternetBandwidthRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ClientToken          string           `position:"Query" name:"ClientToken"`
+	Bandwidth            requests.Integer `position:"Query" name:"Bandwidth"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	Ipv6AddressId        string           `position:"Query" name:"Ipv6AddressId"`
+	InternetChargeType   string           `position:"Query" name:"InternetChargeType"`
+	Ipv6GatewayId        string           `position:"Query" name:"Ipv6GatewayId"`
+}
+
+// AllocateIpv6InternetBandwidthResponse is the response struct for api AllocateIpv6InternetBandwidth
+type AllocateIpv6InternetBandwidthResponse struct {
+	*responses.BaseResponse
+	RequestId           string `json:"RequestId" xml:"RequestId"`
+	Ipv6AddressId       string `json:"Ipv6AddressId" xml:"Ipv6AddressId"`
+	InternetBandwidthId string `json:"InternetBandwidthId" xml:"InternetBandwidthId"`
+}
+
+// CreateAllocateIpv6InternetBandwidthRequest creates a request to invoke AllocateIpv6InternetBandwidth API
+func CreateAllocateIpv6InternetBandwidthRequest() (request *AllocateIpv6InternetBandwidthRequest) {
+	request = &AllocateIpv6InternetBandwidthRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Vpc", "2016-04-28", "AllocateIpv6InternetBandwidth", "vpc", "openAPI")
+	return
+}
+
+// CreateAllocateIpv6InternetBandwidthResponse creates a response to parse from AllocateIpv6InternetBandwidth response
+func CreateAllocateIpv6InternetBandwidthResponse() (response *AllocateIpv6InternetBandwidthResponse) {
+	response = &AllocateIpv6InternetBandwidthResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 1 - 0
services/vpc/associate_eip_address.go

@@ -76,6 +76,7 @@ func (client *Client) AssociateEipAddressWithCallback(request *AssociateEipAddre
 // AssociateEipAddressRequest is the request struct for api AssociateEipAddress
 type AssociateEipAddressRequest struct {
 	*requests.RpcRequest
+	PrivateIpAddress     string           `position:"Query" name:"PrivateIpAddress"`
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
 	InstanceId           string           `position:"Query" name:"InstanceId"`
 	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`

+ 108 - 0
services/vpc/convert_bandwidth_package.go

@@ -0,0 +1,108 @@
+package vpc
+
+//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.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// ConvertBandwidthPackage invokes the vpc.ConvertBandwidthPackage API synchronously
+// api document: https://help.aliyun.com/api/vpc/convertbandwidthpackage.html
+func (client *Client) ConvertBandwidthPackage(request *ConvertBandwidthPackageRequest) (response *ConvertBandwidthPackageResponse, err error) {
+	response = CreateConvertBandwidthPackageResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ConvertBandwidthPackageWithChan invokes the vpc.ConvertBandwidthPackage API asynchronously
+// api document: https://help.aliyun.com/api/vpc/convertbandwidthpackage.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ConvertBandwidthPackageWithChan(request *ConvertBandwidthPackageRequest) (<-chan *ConvertBandwidthPackageResponse, <-chan error) {
+	responseChan := make(chan *ConvertBandwidthPackageResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ConvertBandwidthPackage(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ConvertBandwidthPackageWithCallback invokes the vpc.ConvertBandwidthPackage API asynchronously
+// api document: https://help.aliyun.com/api/vpc/convertbandwidthpackage.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ConvertBandwidthPackageWithCallback(request *ConvertBandwidthPackageRequest, callback func(response *ConvertBandwidthPackageResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ConvertBandwidthPackageResponse
+		var err error
+		defer close(result)
+		response, err = client.ConvertBandwidthPackage(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ConvertBandwidthPackageRequest is the request struct for api ConvertBandwidthPackage
+type ConvertBandwidthPackageRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ClientToken          string           `position:"Query" name:"ClientToken"`
+	BandwidthPackageId   string           `position:"Query" name:"BandwidthPackageId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// ConvertBandwidthPackageResponse is the response struct for api ConvertBandwidthPackage
+type ConvertBandwidthPackageResponse struct {
+	*responses.BaseResponse
+	RequestId         string `json:"RequestId" xml:"RequestId"`
+	ConvertInstanceId string `json:"ConvertInstanceId" xml:"ConvertInstanceId"`
+}
+
+// CreateConvertBandwidthPackageRequest creates a request to invoke ConvertBandwidthPackage API
+func CreateConvertBandwidthPackageRequest() (request *ConvertBandwidthPackageRequest) {
+	request = &ConvertBandwidthPackageRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Vpc", "2016-04-28", "ConvertBandwidthPackage", "vpc", "openAPI")
+	return
+}
+
+// CreateConvertBandwidthPackageResponse creates a response to parse from ConvertBandwidthPackage response
+func CreateConvertBandwidthPackageResponse() (response *ConvertBandwidthPackageResponse) {
+	response = &ConvertBandwidthPackageResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 6 - 2
services/vpc/create_common_bandwidth_package.go

@@ -80,11 +80,14 @@ type CreateCommonBandwidthPackageRequest struct {
 	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	ClientToken          string           `position:"Query" name:"ClientToken"`
 	Bandwidth            requests.Integer `position:"Query" name:"Bandwidth"`
-	InternetChargeType   string           `position:"Query" name:"InternetChargeType"`
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
-	Name                 string           `position:"Query" name:"Name"`
+	ISP                  string           `position:"Query" name:"ISP"`
 	Description          string           `position:"Query" name:"Description"`
 	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	ResourceGroupId      string           `position:"Query" name:"ResourceGroupId"`
+	Zone                 string           `position:"Query" name:"Zone"`
+	InternetChargeType   string           `position:"Query" name:"InternetChargeType"`
+	Name                 string           `position:"Query" name:"Name"`
 	Ratio                requests.Integer `position:"Query" name:"Ratio"`
 }
 
@@ -93,6 +96,7 @@ type CreateCommonBandwidthPackageResponse struct {
 	*responses.BaseResponse
 	RequestId          string `json:"RequestId" xml:"RequestId"`
 	BandwidthPackageId string `json:"BandwidthPackageId" xml:"BandwidthPackageId"`
+	ResourceGroupId    string `json:"ResourceGroupId" xml:"ResourceGroupId"`
 }
 
 // CreateCreateCommonBandwidthPackageRequest creates a request to invoke CreateCommonBandwidthPackage API

+ 3 - 2
services/vpc/create_forward_entry.go

@@ -79,13 +79,14 @@ type CreateForwardEntryRequest struct {
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
 	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	IpProtocol           string           `position:"Query" name:"IpProtocol"`
-	InternalPort         string           `position:"Query" name:"InternalPort"`
+	ForwardEntryName     string           `position:"Query" name:"ForwardEntryName"`
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
 	ForwardTableId       string           `position:"Query" name:"ForwardTableId"`
 	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	InternalIp           string           `position:"Query" name:"InternalIp"`
+	InternalPort         string           `position:"Query" name:"InternalPort"`
 	ExternalIp           string           `position:"Query" name:"ExternalIp"`
 	ExternalPort         string           `position:"Query" name:"ExternalPort"`
-	InternalIp           string           `position:"Query" name:"InternalIp"`
 }
 
 // CreateForwardEntryResponse is the response struct for api CreateForwardEntry

+ 109 - 0
services/vpc/create_i_pv6_translator_acl_list.go

@@ -0,0 +1,109 @@
+package vpc
+
+//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.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// CreateIPv6TranslatorAclList invokes the vpc.CreateIPv6TranslatorAclList API synchronously
+// api document: https://help.aliyun.com/api/vpc/createipv6translatoracllist.html
+func (client *Client) CreateIPv6TranslatorAclList(request *CreateIPv6TranslatorAclListRequest) (response *CreateIPv6TranslatorAclListResponse, err error) {
+	response = CreateCreateIPv6TranslatorAclListResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateIPv6TranslatorAclListWithChan invokes the vpc.CreateIPv6TranslatorAclList API asynchronously
+// api document: https://help.aliyun.com/api/vpc/createipv6translatoracllist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateIPv6TranslatorAclListWithChan(request *CreateIPv6TranslatorAclListRequest) (<-chan *CreateIPv6TranslatorAclListResponse, <-chan error) {
+	responseChan := make(chan *CreateIPv6TranslatorAclListResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateIPv6TranslatorAclList(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateIPv6TranslatorAclListWithCallback invokes the vpc.CreateIPv6TranslatorAclList API asynchronously
+// api document: https://help.aliyun.com/api/vpc/createipv6translatoracllist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateIPv6TranslatorAclListWithCallback(request *CreateIPv6TranslatorAclListRequest, callback func(response *CreateIPv6TranslatorAclListResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateIPv6TranslatorAclListResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateIPv6TranslatorAclList(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateIPv6TranslatorAclListRequest is the request struct for api CreateIPv6TranslatorAclList
+type CreateIPv6TranslatorAclListRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	AclName              string           `position:"Query" name:"AclName"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	ClientToken          string           `position:"Query" name:"ClientToken"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// CreateIPv6TranslatorAclListResponse is the response struct for api CreateIPv6TranslatorAclList
+type CreateIPv6TranslatorAclListResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	AclId     string `json:"AclId" xml:"AclId"`
+}
+
+// CreateCreateIPv6TranslatorAclListRequest creates a request to invoke CreateIPv6TranslatorAclList API
+func CreateCreateIPv6TranslatorAclListRequest() (request *CreateIPv6TranslatorAclListRequest) {
+	request = &CreateIPv6TranslatorAclListRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Vpc", "2016-04-28", "CreateIPv6TranslatorAclList", "vpc", "openAPI")
+	return
+}
+
+// CreateCreateIPv6TranslatorAclListResponse creates a response to parse from CreateIPv6TranslatorAclList response
+func CreateCreateIPv6TranslatorAclListResponse() (response *CreateIPv6TranslatorAclListResponse) {
+	response = &CreateIPv6TranslatorAclListResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 3 - 0
services/vpc/create_i_pv6_translator_entry.go

@@ -77,12 +77,15 @@ func (client *Client) CreateIPv6TranslatorEntryWithCallback(request *CreateIPv6T
 type CreateIPv6TranslatorEntryRequest struct {
 	*requests.RpcRequest
 	BackendIpv4Port      requests.Integer `position:"Query" name:"BackendIpv4Port"`
+	AclId                string           `position:"Query" name:"AclId"`
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
 	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	EntryName            string           `position:"Query" name:"EntryName"`
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
 	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	AclStatus            string           `position:"Query" name:"AclStatus"`
 	EntryBandwidth       requests.Integer `position:"Query" name:"EntryBandwidth"`
+	AclType              string           `position:"Query" name:"AclType"`
 	AllocateIpv6Port     requests.Integer `position:"Query" name:"AllocateIpv6Port"`
 	EntryDescription     string           `position:"Query" name:"EntryDescription"`
 	BackendIpv4Addr      string           `position:"Query" name:"BackendIpv4Addr"`

+ 113 - 0
services/vpc/create_ipv6_egress_only_rule.go

@@ -0,0 +1,113 @@
+package vpc
+
+//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.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// CreateIpv6EgressOnlyRule invokes the vpc.CreateIpv6EgressOnlyRule API synchronously
+// api document: https://help.aliyun.com/api/vpc/createipv6egressonlyrule.html
+func (client *Client) CreateIpv6EgressOnlyRule(request *CreateIpv6EgressOnlyRuleRequest) (response *CreateIpv6EgressOnlyRuleResponse, err error) {
+	response = CreateCreateIpv6EgressOnlyRuleResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateIpv6EgressOnlyRuleWithChan invokes the vpc.CreateIpv6EgressOnlyRule API asynchronously
+// api document: https://help.aliyun.com/api/vpc/createipv6egressonlyrule.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateIpv6EgressOnlyRuleWithChan(request *CreateIpv6EgressOnlyRuleRequest) (<-chan *CreateIpv6EgressOnlyRuleResponse, <-chan error) {
+	responseChan := make(chan *CreateIpv6EgressOnlyRuleResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateIpv6EgressOnlyRule(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateIpv6EgressOnlyRuleWithCallback invokes the vpc.CreateIpv6EgressOnlyRule API asynchronously
+// api document: https://help.aliyun.com/api/vpc/createipv6egressonlyrule.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateIpv6EgressOnlyRuleWithCallback(request *CreateIpv6EgressOnlyRuleRequest, callback func(response *CreateIpv6EgressOnlyRuleResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateIpv6EgressOnlyRuleResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateIpv6EgressOnlyRule(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateIpv6EgressOnlyRuleRequest is the request struct for api CreateIpv6EgressOnlyRule
+type CreateIpv6EgressOnlyRuleRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ClientToken          string           `position:"Query" name:"ClientToken"`
+	Description          string           `position:"Query" name:"Description"`
+	InstanceType         string           `position:"Query" name:"InstanceType"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	InstanceId           string           `position:"Query" name:"InstanceId"`
+	Ipv6GatewayId        string           `position:"Query" name:"Ipv6GatewayId"`
+	Name                 string           `position:"Query" name:"Name"`
+}
+
+// CreateIpv6EgressOnlyRuleResponse is the response struct for api CreateIpv6EgressOnlyRule
+type CreateIpv6EgressOnlyRuleResponse struct {
+	*responses.BaseResponse
+	RequestId        string `json:"RequestId" xml:"RequestId"`
+	Ipv6EgressRuleId string `json:"Ipv6EgressRuleId" xml:"Ipv6EgressRuleId"`
+}
+
+// CreateCreateIpv6EgressOnlyRuleRequest creates a request to invoke CreateIpv6EgressOnlyRule API
+func CreateCreateIpv6EgressOnlyRuleRequest() (request *CreateIpv6EgressOnlyRuleRequest) {
+	request = &CreateIpv6EgressOnlyRuleRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Vpc", "2016-04-28", "CreateIpv6EgressOnlyRule", "vpc", "openAPI")
+	return
+}
+
+// CreateCreateIpv6EgressOnlyRuleResponse creates a response to parse from CreateIpv6EgressOnlyRule response
+func CreateCreateIpv6EgressOnlyRuleResponse() (response *CreateIpv6EgressOnlyRuleResponse) {
+	response = &CreateIpv6EgressOnlyRuleResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 112 - 0
services/vpc/create_ipv6_gateway.go

@@ -0,0 +1,112 @@
+package vpc
+
+//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.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// CreateIpv6Gateway invokes the vpc.CreateIpv6Gateway API synchronously
+// api document: https://help.aliyun.com/api/vpc/createipv6gateway.html
+func (client *Client) CreateIpv6Gateway(request *CreateIpv6GatewayRequest) (response *CreateIpv6GatewayResponse, err error) {
+	response = CreateCreateIpv6GatewayResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateIpv6GatewayWithChan invokes the vpc.CreateIpv6Gateway API asynchronously
+// api document: https://help.aliyun.com/api/vpc/createipv6gateway.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateIpv6GatewayWithChan(request *CreateIpv6GatewayRequest) (<-chan *CreateIpv6GatewayResponse, <-chan error) {
+	responseChan := make(chan *CreateIpv6GatewayResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateIpv6Gateway(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateIpv6GatewayWithCallback invokes the vpc.CreateIpv6Gateway API asynchronously
+// api document: https://help.aliyun.com/api/vpc/createipv6gateway.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateIpv6GatewayWithCallback(request *CreateIpv6GatewayRequest, callback func(response *CreateIpv6GatewayResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateIpv6GatewayResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateIpv6Gateway(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateIpv6GatewayRequest is the request struct for api CreateIpv6Gateway
+type CreateIpv6GatewayRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ClientToken          string           `position:"Query" name:"ClientToken"`
+	Description          string           `position:"Query" name:"Description"`
+	Spec                 string           `position:"Query" name:"Spec"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	VpcId                string           `position:"Query" name:"VpcId"`
+	Name                 string           `position:"Query" name:"Name"`
+}
+
+// CreateIpv6GatewayResponse is the response struct for api CreateIpv6Gateway
+type CreateIpv6GatewayResponse struct {
+	*responses.BaseResponse
+	RequestId     string `json:"RequestId" xml:"RequestId"`
+	Ipv6GatewayId string `json:"Ipv6GatewayId" xml:"Ipv6GatewayId"`
+}
+
+// CreateCreateIpv6GatewayRequest creates a request to invoke CreateIpv6Gateway API
+func CreateCreateIpv6GatewayRequest() (request *CreateIpv6GatewayRequest) {
+	request = &CreateIpv6GatewayRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Vpc", "2016-04-28", "CreateIpv6Gateway", "vpc", "openAPI")
+	return
+}
+
+// CreateCreateIpv6GatewayResponse creates a response to parse from CreateIpv6Gateway response
+func CreateCreateIpv6GatewayResponse() (response *CreateIpv6GatewayResponse) {
+	response = &CreateIpv6GatewayResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 7 - 3
services/vpc/create_nat_gateway.go

@@ -77,15 +77,19 @@ func (client *Client) CreateNatGatewayWithCallback(request *CreateNatGatewayRequ
 type CreateNatGatewayRequest struct {
 	*requests.RpcRequest
 	ResourceOwnerId      requests.Integer                    `position:"Query" name:"ResourceOwnerId"`
+	AutoPay              requests.Boolean                    `position:"Query" name:"AutoPay"`
 	ResourceOwnerAccount string                              `position:"Query" name:"ResourceOwnerAccount"`
 	ClientToken          string                              `position:"Query" name:"ClientToken"`
 	OwnerAccount         string                              `position:"Query" name:"OwnerAccount"`
-	VpcId                string                              `position:"Query" name:"VpcId"`
-	Name                 string                              `position:"Query" name:"Name"`
 	Description          string                              `position:"Query" name:"Description"`
 	OwnerId              requests.Integer                    `position:"Query" name:"OwnerId"`
-	BandwidthPackage     *[]CreateNatGatewayBandwidthPackage `position:"Query" name:"BandwidthPackage"  type:"Repeated"`
 	Spec                 string                              `position:"Query" name:"Spec"`
+	Duration             string                              `position:"Query" name:"Duration"`
+	VpcId                string                              `position:"Query" name:"VpcId"`
+	Name                 string                              `position:"Query" name:"Name"`
+	BandwidthPackage     *[]CreateNatGatewayBandwidthPackage `position:"Query" name:"BandwidthPackage"  type:"Repeated"`
+	InstanceChargeType   string                              `position:"Query" name:"InstanceChargeType"`
+	PricingCycle         string                              `position:"Query" name:"PricingCycle"`
 }
 
 // CreateNatGatewayBandwidthPackage is a repeated param struct in CreateNatGatewayRequest

+ 1 - 0
services/vpc/create_route_entry.go

@@ -77,6 +77,7 @@ func (client *Client) CreateRouteEntryWithCallback(request *CreateRouteEntryRequ
 type CreateRouteEntryRequest struct {
 	*requests.RpcRequest
 	ResourceOwnerId      requests.Integer               `position:"Query" name:"ResourceOwnerId"`
+	RouteEntryName       string                         `position:"Query" name:"RouteEntryName"`
 	ResourceOwnerAccount string                         `position:"Query" name:"ResourceOwnerAccount"`
 	ClientToken          string                         `position:"Query" name:"ClientToken"`
 	DestinationCidrBlock string                         `position:"Query" name:"DestinationCidrBlock"`

+ 1 - 0
services/vpc/create_snat_entry.go

@@ -80,6 +80,7 @@ type CreateSnatEntryRequest struct {
 	SourceVSwitchId      string           `position:"Query" name:"SourceVSwitchId"`
 	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	SnatEntryName        string           `position:"Query" name:"SnatEntryName"`
 	SourceCIDR           string           `position:"Query" name:"SourceCIDR"`
 	SnatTableId          string           `position:"Query" name:"SnatTableId"`
 	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`

+ 4 - 3
services/vpc/create_v_switch.go

@@ -79,13 +79,14 @@ type CreateVSwitchRequest struct {
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
 	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	ClientToken          string           `position:"Query" name:"ClientToken"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	Description          string           `position:"Query" name:"Description"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	Ipv6CidrBlock        requests.Integer `position:"Query" name:"Ipv6CidrBlock"`
 	VpcId                string           `position:"Query" name:"VpcId"`
 	VSwitchName          string           `position:"Query" name:"VSwitchName"`
-	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
 	CidrBlock            string           `position:"Query" name:"CidrBlock"`
 	ZoneId               string           `position:"Query" name:"ZoneId"`
-	Description          string           `position:"Query" name:"Description"`
-	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
 }
 
 // CreateVSwitchResponse is the response struct for api CreateVSwitch

+ 6 - 4
services/vpc/create_vpc.go

@@ -76,16 +76,18 @@ func (client *Client) CreateVpcWithCallback(request *CreateVpcRequest, callback
 // CreateVpcRequest is the request struct for api CreateVpc
 type CreateVpcRequest struct {
 	*requests.RpcRequest
-	VpcName              string           `position:"Query" name:"VpcName"`
-	ResourceGroupId      string           `position:"Query" name:"ResourceGroupId"`
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
 	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	ClientToken          string           `position:"Query" name:"ClientToken"`
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
-	CidrBlock            string           `position:"Query" name:"CidrBlock"`
+	EnableIpv6           requests.Boolean `position:"Query" name:"EnableIpv6"`
 	Description          string           `position:"Query" name:"Description"`
-	UserCidr             string           `position:"Query" name:"UserCidr"`
 	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	Ipv6CidrBlock        string           `position:"Query" name:"Ipv6CidrBlock"`
+	VpcName              string           `position:"Query" name:"VpcName"`
+	ResourceGroupId      string           `position:"Query" name:"ResourceGroupId"`
+	CidrBlock            string           `position:"Query" name:"CidrBlock"`
+	UserCidr             string           `position:"Query" name:"UserCidr"`
 }
 
 // CreateVpcResponse is the response struct for api CreateVpc

+ 108 - 0
services/vpc/delete_i_pv6_translator_acl_list.go

@@ -0,0 +1,108 @@
+package vpc
+
+//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.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DeleteIPv6TranslatorAclList invokes the vpc.DeleteIPv6TranslatorAclList API synchronously
+// api document: https://help.aliyun.com/api/vpc/deleteipv6translatoracllist.html
+func (client *Client) DeleteIPv6TranslatorAclList(request *DeleteIPv6TranslatorAclListRequest) (response *DeleteIPv6TranslatorAclListResponse, err error) {
+	response = CreateDeleteIPv6TranslatorAclListResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteIPv6TranslatorAclListWithChan invokes the vpc.DeleteIPv6TranslatorAclList API asynchronously
+// api document: https://help.aliyun.com/api/vpc/deleteipv6translatoracllist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteIPv6TranslatorAclListWithChan(request *DeleteIPv6TranslatorAclListRequest) (<-chan *DeleteIPv6TranslatorAclListResponse, <-chan error) {
+	responseChan := make(chan *DeleteIPv6TranslatorAclListResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteIPv6TranslatorAclList(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteIPv6TranslatorAclListWithCallback invokes the vpc.DeleteIPv6TranslatorAclList API asynchronously
+// api document: https://help.aliyun.com/api/vpc/deleteipv6translatoracllist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteIPv6TranslatorAclListWithCallback(request *DeleteIPv6TranslatorAclListRequest, callback func(response *DeleteIPv6TranslatorAclListResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteIPv6TranslatorAclListResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteIPv6TranslatorAclList(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteIPv6TranslatorAclListRequest is the request struct for api DeleteIPv6TranslatorAclList
+type DeleteIPv6TranslatorAclListRequest struct {
+	*requests.RpcRequest
+	AclId                string           `position:"Query" name:"AclId"`
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	ClientToken          string           `position:"Query" name:"ClientToken"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// DeleteIPv6TranslatorAclListResponse is the response struct for api DeleteIPv6TranslatorAclList
+type DeleteIPv6TranslatorAclListResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteIPv6TranslatorAclListRequest creates a request to invoke DeleteIPv6TranslatorAclList API
+func CreateDeleteIPv6TranslatorAclListRequest() (request *DeleteIPv6TranslatorAclListRequest) {
+	request = &DeleteIPv6TranslatorAclListRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Vpc", "2016-04-28", "DeleteIPv6TranslatorAclList", "vpc", "openAPI")
+	return
+}
+
+// CreateDeleteIPv6TranslatorAclListResponse creates a response to parse from DeleteIPv6TranslatorAclList response
+func CreateDeleteIPv6TranslatorAclListResponse() (response *DeleteIPv6TranslatorAclListResponse) {
+	response = &DeleteIPv6TranslatorAclListResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/vpc/delete_ipv6_egress_only_rule.go

@@ -0,0 +1,108 @@
+package vpc
+
+//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.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DeleteIpv6EgressOnlyRule invokes the vpc.DeleteIpv6EgressOnlyRule API synchronously
+// api document: https://help.aliyun.com/api/vpc/deleteipv6egressonlyrule.html
+func (client *Client) DeleteIpv6EgressOnlyRule(request *DeleteIpv6EgressOnlyRuleRequest) (response *DeleteIpv6EgressOnlyRuleResponse, err error) {
+	response = CreateDeleteIpv6EgressOnlyRuleResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteIpv6EgressOnlyRuleWithChan invokes the vpc.DeleteIpv6EgressOnlyRule API asynchronously
+// api document: https://help.aliyun.com/api/vpc/deleteipv6egressonlyrule.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteIpv6EgressOnlyRuleWithChan(request *DeleteIpv6EgressOnlyRuleRequest) (<-chan *DeleteIpv6EgressOnlyRuleResponse, <-chan error) {
+	responseChan := make(chan *DeleteIpv6EgressOnlyRuleResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteIpv6EgressOnlyRule(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteIpv6EgressOnlyRuleWithCallback invokes the vpc.DeleteIpv6EgressOnlyRule API asynchronously
+// api document: https://help.aliyun.com/api/vpc/deleteipv6egressonlyrule.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteIpv6EgressOnlyRuleWithCallback(request *DeleteIpv6EgressOnlyRuleRequest, callback func(response *DeleteIpv6EgressOnlyRuleResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteIpv6EgressOnlyRuleResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteIpv6EgressOnlyRule(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteIpv6EgressOnlyRuleRequest is the request struct for api DeleteIpv6EgressOnlyRule
+type DeleteIpv6EgressOnlyRuleRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ClientToken          string           `position:"Query" name:"ClientToken"`
+	Ipv6EgressOnlyRuleId string           `position:"Query" name:"Ipv6EgressOnlyRuleId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// DeleteIpv6EgressOnlyRuleResponse is the response struct for api DeleteIpv6EgressOnlyRule
+type DeleteIpv6EgressOnlyRuleResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteIpv6EgressOnlyRuleRequest creates a request to invoke DeleteIpv6EgressOnlyRule API
+func CreateDeleteIpv6EgressOnlyRuleRequest() (request *DeleteIpv6EgressOnlyRuleRequest) {
+	request = &DeleteIpv6EgressOnlyRuleRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Vpc", "2016-04-28", "DeleteIpv6EgressOnlyRule", "vpc", "openAPI")
+	return
+}
+
+// CreateDeleteIpv6EgressOnlyRuleResponse creates a response to parse from DeleteIpv6EgressOnlyRule response
+func CreateDeleteIpv6EgressOnlyRuleResponse() (response *DeleteIpv6EgressOnlyRuleResponse) {
+	response = &DeleteIpv6EgressOnlyRuleResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 26 - 28
services/vpc/move_resource_group.go → services/vpc/delete_ipv6_gateway.go

@@ -20,24 +20,24 @@ import (
 	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
 )
 
-// MoveResourceGroup invokes the vpc.MoveResourceGroup API synchronously
-// api document: https://help.aliyun.com/api/vpc/moveresourcegroup.html
-func (client *Client) MoveResourceGroup(request *MoveResourceGroupRequest) (response *MoveResourceGroupResponse, err error) {
-	response = CreateMoveResourceGroupResponse()
+// DeleteIpv6Gateway invokes the vpc.DeleteIpv6Gateway API synchronously
+// api document: https://help.aliyun.com/api/vpc/deleteipv6gateway.html
+func (client *Client) DeleteIpv6Gateway(request *DeleteIpv6GatewayRequest) (response *DeleteIpv6GatewayResponse, err error) {
+	response = CreateDeleteIpv6GatewayResponse()
 	err = client.DoAction(request, response)
 	return
 }
 
-// MoveResourceGroupWithChan invokes the vpc.MoveResourceGroup API asynchronously
-// api document: https://help.aliyun.com/api/vpc/moveresourcegroup.html
+// DeleteIpv6GatewayWithChan invokes the vpc.DeleteIpv6Gateway API asynchronously
+// api document: https://help.aliyun.com/api/vpc/deleteipv6gateway.html
 // asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) MoveResourceGroupWithChan(request *MoveResourceGroupRequest) (<-chan *MoveResourceGroupResponse, <-chan error) {
-	responseChan := make(chan *MoveResourceGroupResponse, 1)
+func (client *Client) DeleteIpv6GatewayWithChan(request *DeleteIpv6GatewayRequest) (<-chan *DeleteIpv6GatewayResponse, <-chan error) {
+	responseChan := make(chan *DeleteIpv6GatewayResponse, 1)
 	errChan := make(chan error, 1)
 	err := client.AddAsyncTask(func() {
 		defer close(responseChan)
 		defer close(errChan)
-		response, err := client.MoveResourceGroup(request)
+		response, err := client.DeleteIpv6Gateway(request)
 		if err != nil {
 			errChan <- err
 		} else {
@@ -52,16 +52,16 @@ func (client *Client) MoveResourceGroupWithChan(request *MoveResourceGroupReques
 	return responseChan, errChan
 }
 
-// MoveResourceGroupWithCallback invokes the vpc.MoveResourceGroup API asynchronously
-// api document: https://help.aliyun.com/api/vpc/moveresourcegroup.html
+// DeleteIpv6GatewayWithCallback invokes the vpc.DeleteIpv6Gateway API asynchronously
+// api document: https://help.aliyun.com/api/vpc/deleteipv6gateway.html
 // asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) MoveResourceGroupWithCallback(request *MoveResourceGroupRequest, callback func(response *MoveResourceGroupResponse, err error)) <-chan int {
+func (client *Client) DeleteIpv6GatewayWithCallback(request *DeleteIpv6GatewayRequest, callback func(response *DeleteIpv6GatewayResponse, err error)) <-chan int {
 	result := make(chan int, 1)
 	err := client.AddAsyncTask(func() {
-		var response *MoveResourceGroupResponse
+		var response *DeleteIpv6GatewayResponse
 		var err error
 		defer close(result)
-		response, err = client.MoveResourceGroup(request)
+		response, err = client.DeleteIpv6Gateway(request)
 		callback(response, err)
 		result <- 1
 	})
@@ -73,36 +73,34 @@ func (client *Client) MoveResourceGroupWithCallback(request *MoveResourceGroupRe
 	return result
 }
 
-// MoveResourceGroupRequest is the request struct for api MoveResourceGroup
-type MoveResourceGroupRequest struct {
+// DeleteIpv6GatewayRequest is the request struct for api DeleteIpv6Gateway
+type DeleteIpv6GatewayRequest struct {
 	*requests.RpcRequest
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
-	ResourceId           string           `position:"Query" name:"ResourceId"`
-	NewResourceGroupId   string           `position:"Query" name:"NewResourceGroupId"`
 	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
 	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	ResourceType         string           `position:"Query" name:"ResourceType"`
+	Ipv6GatewayId        string           `position:"Query" name:"Ipv6GatewayId"`
 }
 
-// MoveResourceGroupResponse is the response struct for api MoveResourceGroup
-type MoveResourceGroupResponse struct {
+// DeleteIpv6GatewayResponse is the response struct for api DeleteIpv6Gateway
+type DeleteIpv6GatewayResponse struct {
 	*responses.BaseResponse
 	RequestId string `json:"RequestId" xml:"RequestId"`
 }
 
-// CreateMoveResourceGroupRequest creates a request to invoke MoveResourceGroup API
-func CreateMoveResourceGroupRequest() (request *MoveResourceGroupRequest) {
-	request = &MoveResourceGroupRequest{
+// CreateDeleteIpv6GatewayRequest creates a request to invoke DeleteIpv6Gateway API
+func CreateDeleteIpv6GatewayRequest() (request *DeleteIpv6GatewayRequest) {
+	request = &DeleteIpv6GatewayRequest{
 		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("Vpc", "2016-04-28", "MoveResourceGroup", "vpc", "openAPI")
+	request.InitWithApiInfo("Vpc", "2016-04-28", "DeleteIpv6Gateway", "vpc", "openAPI")
 	return
 }
 
-// CreateMoveResourceGroupResponse creates a response to parse from MoveResourceGroup response
-func CreateMoveResourceGroupResponse() (response *MoveResourceGroupResponse) {
-	response = &MoveResourceGroupResponse{
+// CreateDeleteIpv6GatewayResponse creates a response to parse from DeleteIpv6Gateway response
+func CreateDeleteIpv6GatewayResponse() (response *DeleteIpv6GatewayResponse) {
+	response = &DeleteIpv6GatewayResponse{
 		BaseResponse: &responses.BaseResponse{},
 	}
 	return

+ 108 - 0
services/vpc/delete_ipv6_internet_bandwidth.go

@@ -0,0 +1,108 @@
+package vpc
+
+//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.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DeleteIpv6InternetBandwidth invokes the vpc.DeleteIpv6InternetBandwidth API synchronously
+// api document: https://help.aliyun.com/api/vpc/deleteipv6internetbandwidth.html
+func (client *Client) DeleteIpv6InternetBandwidth(request *DeleteIpv6InternetBandwidthRequest) (response *DeleteIpv6InternetBandwidthResponse, err error) {
+	response = CreateDeleteIpv6InternetBandwidthResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteIpv6InternetBandwidthWithChan invokes the vpc.DeleteIpv6InternetBandwidth API asynchronously
+// api document: https://help.aliyun.com/api/vpc/deleteipv6internetbandwidth.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteIpv6InternetBandwidthWithChan(request *DeleteIpv6InternetBandwidthRequest) (<-chan *DeleteIpv6InternetBandwidthResponse, <-chan error) {
+	responseChan := make(chan *DeleteIpv6InternetBandwidthResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteIpv6InternetBandwidth(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteIpv6InternetBandwidthWithCallback invokes the vpc.DeleteIpv6InternetBandwidth API asynchronously
+// api document: https://help.aliyun.com/api/vpc/deleteipv6internetbandwidth.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteIpv6InternetBandwidthWithCallback(request *DeleteIpv6InternetBandwidthRequest, callback func(response *DeleteIpv6InternetBandwidthResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteIpv6InternetBandwidthResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteIpv6InternetBandwidth(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteIpv6InternetBandwidthRequest is the request struct for api DeleteIpv6InternetBandwidth
+type DeleteIpv6InternetBandwidthRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId         requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	Ipv6InternetBandwidthId string           `position:"Query" name:"Ipv6InternetBandwidthId"`
+	ResourceOwnerAccount    string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount            string           `position:"Query" name:"OwnerAccount"`
+	OwnerId                 requests.Integer `position:"Query" name:"OwnerId"`
+	Ipv6AddressId           string           `position:"Query" name:"Ipv6AddressId"`
+}
+
+// DeleteIpv6InternetBandwidthResponse is the response struct for api DeleteIpv6InternetBandwidth
+type DeleteIpv6InternetBandwidthResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteIpv6InternetBandwidthRequest creates a request to invoke DeleteIpv6InternetBandwidth API
+func CreateDeleteIpv6InternetBandwidthRequest() (request *DeleteIpv6InternetBandwidthRequest) {
+	request = &DeleteIpv6InternetBandwidthRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Vpc", "2016-04-28", "DeleteIpv6InternetBandwidth", "vpc", "openAPI")
+	return
+}
+
+// CreateDeleteIpv6InternetBandwidthResponse creates a response to parse from DeleteIpv6InternetBandwidth response
+func CreateDeleteIpv6InternetBandwidthResponse() (response *DeleteIpv6InternetBandwidthResponse) {
+	response = &DeleteIpv6InternetBandwidthResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 1 - 0
services/vpc/delete_route_entry.go

@@ -78,6 +78,7 @@ type DeleteRouteEntryRequest struct {
 	*requests.RpcRequest
 	ResourceOwnerId      requests.Integer               `position:"Query" name:"ResourceOwnerId"`
 	ResourceOwnerAccount string                         `position:"Query" name:"ResourceOwnerAccount"`
+	RouteEntryId         string                         `position:"Query" name:"RouteEntryId"`
 	DestinationCidrBlock string                         `position:"Query" name:"DestinationCidrBlock"`
 	OwnerAccount         string                         `position:"Query" name:"OwnerAccount"`
 	NextHopId            string                         `position:"Query" name:"NextHopId"`

+ 0 - 111
services/vpc/describe_bandwidth_package_public_ip_monitor_data.go

@@ -1,111 +0,0 @@
-package vpc
-
-//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.
-//
-// Code generated by Alibaba Cloud SDK Code Generator.
-// Changes may cause incorrect behavior and will be lost if the code is regenerated.
-
-import (
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
-)
-
-// DescribeBandwidthPackagePublicIpMonitorData invokes the vpc.DescribeBandwidthPackagePublicIpMonitorData API synchronously
-// api document: https://help.aliyun.com/api/vpc/describebandwidthpackagepublicipmonitordata.html
-func (client *Client) DescribeBandwidthPackagePublicIpMonitorData(request *DescribeBandwidthPackagePublicIpMonitorDataRequest) (response *DescribeBandwidthPackagePublicIpMonitorDataResponse, err error) {
-	response = CreateDescribeBandwidthPackagePublicIpMonitorDataResponse()
-	err = client.DoAction(request, response)
-	return
-}
-
-// DescribeBandwidthPackagePublicIpMonitorDataWithChan invokes the vpc.DescribeBandwidthPackagePublicIpMonitorData API asynchronously
-// api document: https://help.aliyun.com/api/vpc/describebandwidthpackagepublicipmonitordata.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) DescribeBandwidthPackagePublicIpMonitorDataWithChan(request *DescribeBandwidthPackagePublicIpMonitorDataRequest) (<-chan *DescribeBandwidthPackagePublicIpMonitorDataResponse, <-chan error) {
-	responseChan := make(chan *DescribeBandwidthPackagePublicIpMonitorDataResponse, 1)
-	errChan := make(chan error, 1)
-	err := client.AddAsyncTask(func() {
-		defer close(responseChan)
-		defer close(errChan)
-		response, err := client.DescribeBandwidthPackagePublicIpMonitorData(request)
-		if err != nil {
-			errChan <- err
-		} else {
-			responseChan <- response
-		}
-	})
-	if err != nil {
-		errChan <- err
-		close(responseChan)
-		close(errChan)
-	}
-	return responseChan, errChan
-}
-
-// DescribeBandwidthPackagePublicIpMonitorDataWithCallback invokes the vpc.DescribeBandwidthPackagePublicIpMonitorData API asynchronously
-// api document: https://help.aliyun.com/api/vpc/describebandwidthpackagepublicipmonitordata.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) DescribeBandwidthPackagePublicIpMonitorDataWithCallback(request *DescribeBandwidthPackagePublicIpMonitorDataRequest, callback func(response *DescribeBandwidthPackagePublicIpMonitorDataResponse, err error)) <-chan int {
-	result := make(chan int, 1)
-	err := client.AddAsyncTask(func() {
-		var response *DescribeBandwidthPackagePublicIpMonitorDataResponse
-		var err error
-		defer close(result)
-		response, err = client.DescribeBandwidthPackagePublicIpMonitorData(request)
-		callback(response, err)
-		result <- 1
-	})
-	if err != nil {
-		defer close(result)
-		callback(nil, err)
-		result <- 0
-	}
-	return result
-}
-
-// DescribeBandwidthPackagePublicIpMonitorDataRequest is the request struct for api DescribeBandwidthPackagePublicIpMonitorData
-type DescribeBandwidthPackagePublicIpMonitorDataRequest struct {
-	*requests.RpcRequest
-	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
-	Period               requests.Integer `position:"Query" name:"Period"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
-	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
-	EndTime              string           `position:"Query" name:"EndTime"`
-	AllocationId         string           `position:"Query" name:"AllocationId"`
-	StartTime            string           `position:"Query" name:"StartTime"`
-	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-}
-
-// DescribeBandwidthPackagePublicIpMonitorDataResponse is the response struct for api DescribeBandwidthPackagePublicIpMonitorData
-type DescribeBandwidthPackagePublicIpMonitorDataResponse struct {
-	*responses.BaseResponse
-	RequestId    string       `json:"RequestId" xml:"RequestId"`
-	MonitorDatas MonitorDatas `json:"MonitorDatas" xml:"MonitorDatas"`
-}
-
-// CreateDescribeBandwidthPackagePublicIpMonitorDataRequest creates a request to invoke DescribeBandwidthPackagePublicIpMonitorData API
-func CreateDescribeBandwidthPackagePublicIpMonitorDataRequest() (request *DescribeBandwidthPackagePublicIpMonitorDataRequest) {
-	request = &DescribeBandwidthPackagePublicIpMonitorDataRequest{
-		RpcRequest: &requests.RpcRequest{},
-	}
-	request.InitWithApiInfo("Vpc", "2016-04-28", "DescribeBandwidthPackagePublicIpMonitorData", "vpc", "openAPI")
-	return
-}
-
-// CreateDescribeBandwidthPackagePublicIpMonitorDataResponse creates a response to parse from DescribeBandwidthPackagePublicIpMonitorData response
-func CreateDescribeBandwidthPackagePublicIpMonitorDataResponse() (response *DescribeBandwidthPackagePublicIpMonitorDataResponse) {
-	response = &DescribeBandwidthPackagePublicIpMonitorDataResponse{
-		BaseResponse: &responses.BaseResponse{},
-	}
-	return
-}

+ 113 - 0
services/vpc/describe_bgp_networks.go

@@ -0,0 +1,113 @@
+package vpc
+
+//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.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DescribeBgpNetworks invokes the vpc.DescribeBgpNetworks API synchronously
+// api document: https://help.aliyun.com/api/vpc/describebgpnetworks.html
+func (client *Client) DescribeBgpNetworks(request *DescribeBgpNetworksRequest) (response *DescribeBgpNetworksResponse, err error) {
+	response = CreateDescribeBgpNetworksResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeBgpNetworksWithChan invokes the vpc.DescribeBgpNetworks API asynchronously
+// api document: https://help.aliyun.com/api/vpc/describebgpnetworks.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeBgpNetworksWithChan(request *DescribeBgpNetworksRequest) (<-chan *DescribeBgpNetworksResponse, <-chan error) {
+	responseChan := make(chan *DescribeBgpNetworksResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeBgpNetworks(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeBgpNetworksWithCallback invokes the vpc.DescribeBgpNetworks API asynchronously
+// api document: https://help.aliyun.com/api/vpc/describebgpnetworks.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeBgpNetworksWithCallback(request *DescribeBgpNetworksRequest, callback func(response *DescribeBgpNetworksResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeBgpNetworksResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeBgpNetworks(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeBgpNetworksRequest is the request struct for api DescribeBgpNetworks
+type DescribeBgpNetworksRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	RouterId             string           `position:"Query" name:"RouterId"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	PageSize             requests.Integer `position:"Query" name:"PageSize"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	PageNumber           requests.Integer `position:"Query" name:"PageNumber"`
+}
+
+// DescribeBgpNetworksResponse is the response struct for api DescribeBgpNetworks
+type DescribeBgpNetworksResponse struct {
+	*responses.BaseResponse
+	RequestId   string      `json:"RequestId" xml:"RequestId"`
+	TotalCount  int         `json:"TotalCount" xml:"TotalCount"`
+	PageNumber  int         `json:"PageNumber" xml:"PageNumber"`
+	PageSize    int         `json:"PageSize" xml:"PageSize"`
+	BgpNetworks BgpNetworks `json:"BgpNetworks" xml:"BgpNetworks"`
+}
+
+// CreateDescribeBgpNetworksRequest creates a request to invoke DescribeBgpNetworks API
+func CreateDescribeBgpNetworksRequest() (request *DescribeBgpNetworksRequest) {
+	request = &DescribeBgpNetworksRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Vpc", "2016-04-28", "DescribeBgpNetworks", "vpc", "openAPI")
+	return
+}
+
+// CreateDescribeBgpNetworksResponse creates a response to parse from DescribeBgpNetworks response
+func CreateDescribeBgpNetworksResponse() (response *DescribeBgpNetworksResponse) {
+	response = &DescribeBgpNetworksResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 1 - 0
services/vpc/describe_common_bandwidth_packages.go

@@ -76,6 +76,7 @@ func (client *Client) DescribeCommonBandwidthPackagesWithCallback(request *Descr
 // DescribeCommonBandwidthPackagesRequest is the request struct for api DescribeCommonBandwidthPackages
 type DescribeCommonBandwidthPackagesRequest struct {
 	*requests.RpcRequest
+	ResourceGroupId        string           `position:"Query" name:"ResourceGroupId"`
 	ResourceOwnerId        requests.Integer `position:"Query" name:"ResourceOwnerId"`
 	BandwidthPackageId     string           `position:"Query" name:"BandwidthPackageId"`
 	ResourceOwnerAccount   string           `position:"Query" name:"ResourceOwnerAccount"`

+ 27 - 19
services/vpc/describe_eip_addresses.go

@@ -76,25 +76,33 @@ func (client *Client) DescribeEipAddressesWithCallback(request *DescribeEipAddre
 // DescribeEipAddressesRequest is the request struct for api DescribeEipAddresses
 type DescribeEipAddressesRequest struct {
 	*requests.RpcRequest
-	ResourceOwnerId        requests.Integer `position:"Query" name:"ResourceOwnerId"`
-	ResourceOwnerAccount   string           `position:"Query" name:"ResourceOwnerAccount"`
-	Filter2Value           string           `position:"Query" name:"Filter.2.Value"`
-	OwnerAccount           string           `position:"Query" name:"OwnerAccount"`
-	AllocationId           string           `position:"Query" name:"AllocationId"`
-	Filter1Value           string           `position:"Query" name:"Filter.1.Value"`
-	Filter2Key             string           `position:"Query" name:"Filter.2.Key"`
-	OwnerId                requests.Integer `position:"Query" name:"OwnerId"`
-	IncludeReservationData requests.Boolean `position:"Query" name:"IncludeReservationData"`
-	EipAddress             string           `position:"Query" name:"EipAddress"`
-	PageNumber             requests.Integer `position:"Query" name:"PageNumber"`
-	ResourceGroupId        string           `position:"Query" name:"ResourceGroupId"`
-	LockReason             string           `position:"Query" name:"LockReason"`
-	Filter1Key             string           `position:"Query" name:"Filter.1.Key"`
-	AssociatedInstanceType string           `position:"Query" name:"AssociatedInstanceType"`
-	PageSize               requests.Integer `position:"Query" name:"PageSize"`
-	ChargeType             string           `position:"Query" name:"ChargeType"`
-	AssociatedInstanceId   string           `position:"Query" name:"AssociatedInstanceId"`
-	Status                 string           `position:"Query" name:"Status"`
+	ResourceOwnerId        requests.Integer           `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount   string                     `position:"Query" name:"ResourceOwnerAccount"`
+	Filter2Value           string                     `position:"Query" name:"Filter.2.Value"`
+	ISP                    string                     `position:"Query" name:"ISP"`
+	OwnerAccount           string                     `position:"Query" name:"OwnerAccount"`
+	AllocationId           string                     `position:"Query" name:"AllocationId"`
+	Filter1Value           string                     `position:"Query" name:"Filter.1.Value"`
+	Filter2Key             string                     `position:"Query" name:"Filter.2.Key"`
+	OwnerId                requests.Integer           `position:"Query" name:"OwnerId"`
+	IncludeReservationData requests.Boolean           `position:"Query" name:"IncludeReservationData"`
+	EipAddress             string                     `position:"Query" name:"EipAddress"`
+	PageNumber             requests.Integer           `position:"Query" name:"PageNumber"`
+	ResourceGroupId        string                     `position:"Query" name:"ResourceGroupId"`
+	LockReason             string                     `position:"Query" name:"LockReason"`
+	Filter1Key             string                     `position:"Query" name:"Filter.1.Key"`
+	AssociatedInstanceType string                     `position:"Query" name:"AssociatedInstanceType"`
+	PageSize               requests.Integer           `position:"Query" name:"PageSize"`
+	Tag                    *[]DescribeEipAddressesTag `position:"Query" name:"Tag"  type:"Repeated"`
+	ChargeType             string                     `position:"Query" name:"ChargeType"`
+	AssociatedInstanceId   string                     `position:"Query" name:"AssociatedInstanceId"`
+	Status                 string                     `position:"Query" name:"Status"`
+}
+
+// DescribeEipAddressesTag is a repeated param struct in DescribeEipAddressesRequest
+type DescribeEipAddressesTag struct {
+	Value string `name:"Value"`
+	Key   string `name:"Key"`
 }
 
 // DescribeEipAddressesResponse is the response struct for api DescribeEipAddresses

+ 2 - 2
services/vpc/describe_eip_monitor_data.go

@@ -89,8 +89,8 @@ type DescribeEipMonitorDataRequest struct {
 // DescribeEipMonitorDataResponse is the response struct for api DescribeEipMonitorData
 type DescribeEipMonitorDataResponse struct {
 	*responses.BaseResponse
-	RequestId       string                                  `json:"RequestId" xml:"RequestId"`
-	EipMonitorDatas EipMonitorDatasInDescribeEipMonitorData `json:"EipMonitorDatas" xml:"EipMonitorDatas"`
+	RequestId       string          `json:"RequestId" xml:"RequestId"`
+	EipMonitorDatas EipMonitorDatas `json:"EipMonitorDatas" xml:"EipMonitorDatas"`
 }
 
 // CreateDescribeEipMonitorDataRequest creates a request to invoke DescribeEipMonitorData API

+ 8 - 2
services/vpc/describe_forward_table_entries.go

@@ -78,12 +78,18 @@ type DescribeForwardTableEntriesRequest struct {
 	*requests.RpcRequest
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
 	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
-	ForwardEntryId       string           `position:"Query" name:"ForwardEntryId"`
+	IpProtocol           string           `position:"Query" name:"IpProtocol"`
+	ForwardEntryName     string           `position:"Query" name:"ForwardEntryName"`
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
 	ForwardTableId       string           `position:"Query" name:"ForwardTableId"`
-	PageSize             requests.Integer `position:"Query" name:"PageSize"`
 	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	InternalIp           string           `position:"Query" name:"InternalIp"`
 	PageNumber           requests.Integer `position:"Query" name:"PageNumber"`
+	ForwardEntryId       string           `position:"Query" name:"ForwardEntryId"`
+	InternalPort         string           `position:"Query" name:"InternalPort"`
+	PageSize             requests.Integer `position:"Query" name:"PageSize"`
+	ExternalIp           string           `position:"Query" name:"ExternalIp"`
+	ExternalPort         string           `position:"Query" name:"ExternalPort"`
 }
 
 // DescribeForwardTableEntriesResponse is the response struct for api DescribeForwardTableEntries

+ 0 - 113
services/vpc/describe_forward_tables.go

@@ -1,113 +0,0 @@
-package vpc
-
-//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.
-//
-// Code generated by Alibaba Cloud SDK Code Generator.
-// Changes may cause incorrect behavior and will be lost if the code is regenerated.
-
-import (
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
-)
-
-// DescribeForwardTables invokes the vpc.DescribeForwardTables API synchronously
-// api document: https://help.aliyun.com/api/vpc/describeforwardtables.html
-func (client *Client) DescribeForwardTables(request *DescribeForwardTablesRequest) (response *DescribeForwardTablesResponse, err error) {
-	response = CreateDescribeForwardTablesResponse()
-	err = client.DoAction(request, response)
-	return
-}
-
-// DescribeForwardTablesWithChan invokes the vpc.DescribeForwardTables API asynchronously
-// api document: https://help.aliyun.com/api/vpc/describeforwardtables.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) DescribeForwardTablesWithChan(request *DescribeForwardTablesRequest) (<-chan *DescribeForwardTablesResponse, <-chan error) {
-	responseChan := make(chan *DescribeForwardTablesResponse, 1)
-	errChan := make(chan error, 1)
-	err := client.AddAsyncTask(func() {
-		defer close(responseChan)
-		defer close(errChan)
-		response, err := client.DescribeForwardTables(request)
-		if err != nil {
-			errChan <- err
-		} else {
-			responseChan <- response
-		}
-	})
-	if err != nil {
-		errChan <- err
-		close(responseChan)
-		close(errChan)
-	}
-	return responseChan, errChan
-}
-
-// DescribeForwardTablesWithCallback invokes the vpc.DescribeForwardTables API asynchronously
-// api document: https://help.aliyun.com/api/vpc/describeforwardtables.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) DescribeForwardTablesWithCallback(request *DescribeForwardTablesRequest, callback func(response *DescribeForwardTablesResponse, err error)) <-chan int {
-	result := make(chan int, 1)
-	err := client.AddAsyncTask(func() {
-		var response *DescribeForwardTablesResponse
-		var err error
-		defer close(result)
-		response, err = client.DescribeForwardTables(request)
-		callback(response, err)
-		result <- 1
-	})
-	if err != nil {
-		defer close(result)
-		callback(nil, err)
-		result <- 0
-	}
-	return result
-}
-
-// DescribeForwardTablesRequest is the request struct for api DescribeForwardTables
-type DescribeForwardTablesRequest struct {
-	*requests.RpcRequest
-	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
-	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
-	ForwardTableId       string           `position:"Query" name:"ForwardTableId"`
-	PageSize             requests.Integer `position:"Query" name:"PageSize"`
-	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	PageNumber           requests.Integer `position:"Query" name:"PageNumber"`
-}
-
-// DescribeForwardTablesResponse is the response struct for api DescribeForwardTables
-type DescribeForwardTablesResponse struct {
-	*responses.BaseResponse
-	RequestId     string        `json:"RequestId" xml:"RequestId"`
-	TotalCount    int           `json:"TotalCount" xml:"TotalCount"`
-	PageNumber    int           `json:"PageNumber" xml:"PageNumber"`
-	PageSize      int           `json:"PageSize" xml:"PageSize"`
-	ForwardTables ForwardTables `json:"ForwardTables" xml:"ForwardTables"`
-}
-
-// CreateDescribeForwardTablesRequest creates a request to invoke DescribeForwardTables API
-func CreateDescribeForwardTablesRequest() (request *DescribeForwardTablesRequest) {
-	request = &DescribeForwardTablesRequest{
-		RpcRequest: &requests.RpcRequest{},
-	}
-	request.InitWithApiInfo("Vpc", "2016-04-28", "DescribeForwardTables", "vpc", "openAPI")
-	return
-}
-
-// CreateDescribeForwardTablesResponse creates a response to parse from DescribeForwardTables response
-func CreateDescribeForwardTablesResponse() (response *DescribeForwardTablesResponse) {
-	response = &DescribeForwardTablesResponse{
-		BaseResponse: &responses.BaseResponse{},
-	}
-	return
-}

+ 114 - 0
services/vpc/describe_grant_rules_to_cen.go

@@ -0,0 +1,114 @@
+package vpc
+
+//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.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DescribeGrantRulesToCen invokes the vpc.DescribeGrantRulesToCen API synchronously
+// api document: https://help.aliyun.com/api/vpc/describegrantrulestocen.html
+func (client *Client) DescribeGrantRulesToCen(request *DescribeGrantRulesToCenRequest) (response *DescribeGrantRulesToCenResponse, err error) {
+	response = CreateDescribeGrantRulesToCenResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeGrantRulesToCenWithChan invokes the vpc.DescribeGrantRulesToCen API asynchronously
+// api document: https://help.aliyun.com/api/vpc/describegrantrulestocen.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeGrantRulesToCenWithChan(request *DescribeGrantRulesToCenRequest) (<-chan *DescribeGrantRulesToCenResponse, <-chan error) {
+	responseChan := make(chan *DescribeGrantRulesToCenResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeGrantRulesToCen(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeGrantRulesToCenWithCallback invokes the vpc.DescribeGrantRulesToCen API asynchronously
+// api document: https://help.aliyun.com/api/vpc/describegrantrulestocen.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeGrantRulesToCenWithCallback(request *DescribeGrantRulesToCenRequest, callback func(response *DescribeGrantRulesToCenResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeGrantRulesToCenResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeGrantRulesToCen(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeGrantRulesToCenRequest is the request struct for api DescribeGrantRulesToCen
+type DescribeGrantRulesToCenRequest struct {
+	*requests.RpcRequest
+	ResourceGroupId      string           `position:"Query" name:"ResourceGroupId"`
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	InstanceId           string           `position:"Query" name:"InstanceId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	ClientToken          string           `position:"Query" name:"ClientToken"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	InstanceType         string           `position:"Query" name:"InstanceType"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// DescribeGrantRulesToCenResponse is the response struct for api DescribeGrantRulesToCen
+type DescribeGrantRulesToCenResponse struct {
+	*responses.BaseResponse
+	RequestId     string        `json:"RequestId" xml:"RequestId"`
+	TotalCount    int           `json:"TotalCount" xml:"TotalCount"`
+	PageNumber    int           `json:"PageNumber" xml:"PageNumber"`
+	PageSize      int           `json:"PageSize" xml:"PageSize"`
+	CenGrantRules CenGrantRules `json:"CenGrantRules" xml:"CenGrantRules"`
+}
+
+// CreateDescribeGrantRulesToCenRequest creates a request to invoke DescribeGrantRulesToCen API
+func CreateDescribeGrantRulesToCenRequest() (request *DescribeGrantRulesToCenRequest) {
+	request = &DescribeGrantRulesToCenRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Vpc", "2016-04-28", "DescribeGrantRulesToCen", "vpc", "openAPI")
+	return
+}
+
+// CreateDescribeGrantRulesToCenResponse creates a response to parse from DescribeGrantRulesToCen response
+func CreateDescribeGrantRulesToCenResponse() (response *DescribeGrantRulesToCenResponse) {
+	response = &DescribeGrantRulesToCenResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 0 - 113
services/vpc/describe_high_definition_monitor_log_attribute.go

@@ -1,113 +0,0 @@
-package vpc
-
-//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.
-//
-// Code generated by Alibaba Cloud SDK Code Generator.
-// Changes may cause incorrect behavior and will be lost if the code is regenerated.
-
-import (
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
-)
-
-// DescribeHighDefinitionMonitorLogAttribute invokes the vpc.DescribeHighDefinitionMonitorLogAttribute API synchronously
-// api document: https://help.aliyun.com/api/vpc/describehighdefinitionmonitorlogattribute.html
-func (client *Client) DescribeHighDefinitionMonitorLogAttribute(request *DescribeHighDefinitionMonitorLogAttributeRequest) (response *DescribeHighDefinitionMonitorLogAttributeResponse, err error) {
-	response = CreateDescribeHighDefinitionMonitorLogAttributeResponse()
-	err = client.DoAction(request, response)
-	return
-}
-
-// DescribeHighDefinitionMonitorLogAttributeWithChan invokes the vpc.DescribeHighDefinitionMonitorLogAttribute API asynchronously
-// api document: https://help.aliyun.com/api/vpc/describehighdefinitionmonitorlogattribute.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) DescribeHighDefinitionMonitorLogAttributeWithChan(request *DescribeHighDefinitionMonitorLogAttributeRequest) (<-chan *DescribeHighDefinitionMonitorLogAttributeResponse, <-chan error) {
-	responseChan := make(chan *DescribeHighDefinitionMonitorLogAttributeResponse, 1)
-	errChan := make(chan error, 1)
-	err := client.AddAsyncTask(func() {
-		defer close(responseChan)
-		defer close(errChan)
-		response, err := client.DescribeHighDefinitionMonitorLogAttribute(request)
-		if err != nil {
-			errChan <- err
-		} else {
-			responseChan <- response
-		}
-	})
-	if err != nil {
-		errChan <- err
-		close(responseChan)
-		close(errChan)
-	}
-	return responseChan, errChan
-}
-
-// DescribeHighDefinitionMonitorLogAttributeWithCallback invokes the vpc.DescribeHighDefinitionMonitorLogAttribute API asynchronously
-// api document: https://help.aliyun.com/api/vpc/describehighdefinitionmonitorlogattribute.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) DescribeHighDefinitionMonitorLogAttributeWithCallback(request *DescribeHighDefinitionMonitorLogAttributeRequest, callback func(response *DescribeHighDefinitionMonitorLogAttributeResponse, err error)) <-chan int {
-	result := make(chan int, 1)
-	err := client.AddAsyncTask(func() {
-		var response *DescribeHighDefinitionMonitorLogAttributeResponse
-		var err error
-		defer close(result)
-		response, err = client.DescribeHighDefinitionMonitorLogAttribute(request)
-		callback(response, err)
-		result <- 1
-	})
-	if err != nil {
-		defer close(result)
-		callback(nil, err)
-		result <- 0
-	}
-	return result
-}
-
-// DescribeHighDefinitionMonitorLogAttributeRequest is the request struct for api DescribeHighDefinitionMonitorLogAttribute
-type DescribeHighDefinitionMonitorLogAttributeRequest struct {
-	*requests.RpcRequest
-	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
-	InstanceId           string           `position:"Query" name:"InstanceId"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
-	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
-	InstanceType         string           `position:"Query" name:"InstanceType"`
-	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-}
-
-// DescribeHighDefinitionMonitorLogAttributeResponse is the response struct for api DescribeHighDefinitionMonitorLogAttribute
-type DescribeHighDefinitionMonitorLogAttributeResponse struct {
-	*responses.BaseResponse
-	RequestId    string `json:"RequestId" xml:"RequestId"`
-	Success      string `json:"Success" xml:"Success"`
-	InstanceId   string `json:"InstanceId" xml:"InstanceId"`
-	InstanceType string `json:"InstanceType" xml:"InstanceType"`
-	LogProject   string `json:"LogProject" xml:"LogProject"`
-	LogStore     string `json:"LogStore" xml:"LogStore"`
-}
-
-// CreateDescribeHighDefinitionMonitorLogAttributeRequest creates a request to invoke DescribeHighDefinitionMonitorLogAttribute API
-func CreateDescribeHighDefinitionMonitorLogAttributeRequest() (request *DescribeHighDefinitionMonitorLogAttributeRequest) {
-	request = &DescribeHighDefinitionMonitorLogAttributeRequest{
-		RpcRequest: &requests.RpcRequest{},
-	}
-	request.InitWithApiInfo("Vpc", "2016-04-28", "DescribeHighDefinitionMonitorLogAttribute", "vpc", "openAPI")
-	return
-}
-
-// CreateDescribeHighDefinitionMonitorLogAttributeResponse creates a response to parse from DescribeHighDefinitionMonitorLogAttribute response
-func CreateDescribeHighDefinitionMonitorLogAttributeResponse() (response *DescribeHighDefinitionMonitorLogAttributeResponse) {
-	response = &DescribeHighDefinitionMonitorLogAttributeResponse{
-		BaseResponse: &responses.BaseResponse{},
-	}
-	return
-}

+ 115 - 0
services/vpc/describe_i_pv6_translator_acl_list_attributes.go

@@ -0,0 +1,115 @@
+package vpc
+
+//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.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DescribeIPv6TranslatorAclListAttributes invokes the vpc.DescribeIPv6TranslatorAclListAttributes API synchronously
+// api document: https://help.aliyun.com/api/vpc/describeipv6translatoracllistattributes.html
+func (client *Client) DescribeIPv6TranslatorAclListAttributes(request *DescribeIPv6TranslatorAclListAttributesRequest) (response *DescribeIPv6TranslatorAclListAttributesResponse, err error) {
+	response = CreateDescribeIPv6TranslatorAclListAttributesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeIPv6TranslatorAclListAttributesWithChan invokes the vpc.DescribeIPv6TranslatorAclListAttributes API asynchronously
+// api document: https://help.aliyun.com/api/vpc/describeipv6translatoracllistattributes.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeIPv6TranslatorAclListAttributesWithChan(request *DescribeIPv6TranslatorAclListAttributesRequest) (<-chan *DescribeIPv6TranslatorAclListAttributesResponse, <-chan error) {
+	responseChan := make(chan *DescribeIPv6TranslatorAclListAttributesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeIPv6TranslatorAclListAttributes(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeIPv6TranslatorAclListAttributesWithCallback invokes the vpc.DescribeIPv6TranslatorAclListAttributes API asynchronously
+// api document: https://help.aliyun.com/api/vpc/describeipv6translatoracllistattributes.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeIPv6TranslatorAclListAttributesWithCallback(request *DescribeIPv6TranslatorAclListAttributesRequest, callback func(response *DescribeIPv6TranslatorAclListAttributesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeIPv6TranslatorAclListAttributesResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeIPv6TranslatorAclListAttributes(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeIPv6TranslatorAclListAttributesRequest is the request struct for api DescribeIPv6TranslatorAclListAttributes
+type DescribeIPv6TranslatorAclListAttributesRequest struct {
+	*requests.RpcRequest
+	AclId                string           `position:"Query" name:"AclId"`
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	PageSize             requests.Integer `position:"Query" name:"PageSize"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	PageNumber           requests.Integer `position:"Query" name:"PageNumber"`
+}
+
+// DescribeIPv6TranslatorAclListAttributesResponse is the response struct for api DescribeIPv6TranslatorAclListAttributes
+type DescribeIPv6TranslatorAclListAttributesResponse struct {
+	*responses.BaseResponse
+	RequestId  string     `json:"RequestId" xml:"RequestId"`
+	AclId      string     `json:"AclId" xml:"AclId"`
+	AclName    string     `json:"AclName" xml:"AclName"`
+	TotalCount int        `json:"TotalCount" xml:"TotalCount"`
+	PageNumber int        `json:"PageNumber" xml:"PageNumber"`
+	PageSize   int        `json:"PageSize" xml:"PageSize"`
+	AclEntries AclEntries `json:"AclEntries" xml:"AclEntries"`
+}
+
+// CreateDescribeIPv6TranslatorAclListAttributesRequest creates a request to invoke DescribeIPv6TranslatorAclListAttributes API
+func CreateDescribeIPv6TranslatorAclListAttributesRequest() (request *DescribeIPv6TranslatorAclListAttributesRequest) {
+	request = &DescribeIPv6TranslatorAclListAttributesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Vpc", "2016-04-28", "DescribeIPv6TranslatorAclListAttributes", "vpc", "openAPI")
+	return
+}
+
+// CreateDescribeIPv6TranslatorAclListAttributesResponse creates a response to parse from DescribeIPv6TranslatorAclListAttributes response
+func CreateDescribeIPv6TranslatorAclListAttributesResponse() (response *DescribeIPv6TranslatorAclListAttributesResponse) {
+	response = &DescribeIPv6TranslatorAclListAttributesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 114 - 0
services/vpc/describe_i_pv6_translator_acl_lists.go

@@ -0,0 +1,114 @@
+package vpc
+
+//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.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DescribeIPv6TranslatorAclLists invokes the vpc.DescribeIPv6TranslatorAclLists API synchronously
+// api document: https://help.aliyun.com/api/vpc/describeipv6translatoracllists.html
+func (client *Client) DescribeIPv6TranslatorAclLists(request *DescribeIPv6TranslatorAclListsRequest) (response *DescribeIPv6TranslatorAclListsResponse, err error) {
+	response = CreateDescribeIPv6TranslatorAclListsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeIPv6TranslatorAclListsWithChan invokes the vpc.DescribeIPv6TranslatorAclLists API asynchronously
+// api document: https://help.aliyun.com/api/vpc/describeipv6translatoracllists.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeIPv6TranslatorAclListsWithChan(request *DescribeIPv6TranslatorAclListsRequest) (<-chan *DescribeIPv6TranslatorAclListsResponse, <-chan error) {
+	responseChan := make(chan *DescribeIPv6TranslatorAclListsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeIPv6TranslatorAclLists(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeIPv6TranslatorAclListsWithCallback invokes the vpc.DescribeIPv6TranslatorAclLists API asynchronously
+// api document: https://help.aliyun.com/api/vpc/describeipv6translatoracllists.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeIPv6TranslatorAclListsWithCallback(request *DescribeIPv6TranslatorAclListsRequest, callback func(response *DescribeIPv6TranslatorAclListsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeIPv6TranslatorAclListsResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeIPv6TranslatorAclLists(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeIPv6TranslatorAclListsRequest is the request struct for api DescribeIPv6TranslatorAclLists
+type DescribeIPv6TranslatorAclListsRequest struct {
+	*requests.RpcRequest
+	AclId                string           `position:"Query" name:"AclId"`
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	AclName              string           `position:"Query" name:"AclName"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	PageSize             requests.Integer `position:"Query" name:"PageSize"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	PageNumber           requests.Integer `position:"Query" name:"PageNumber"`
+}
+
+// DescribeIPv6TranslatorAclListsResponse is the response struct for api DescribeIPv6TranslatorAclLists
+type DescribeIPv6TranslatorAclListsResponse struct {
+	*responses.BaseResponse
+	RequestId          string             `json:"RequestId" xml:"RequestId"`
+	TotalCount         int                `json:"TotalCount" xml:"TotalCount"`
+	PageNumber         int                `json:"PageNumber" xml:"PageNumber"`
+	PageSize           int                `json:"PageSize" xml:"PageSize"`
+	Ipv6TranslatorAcls Ipv6TranslatorAcls `json:"Ipv6TranslatorAcls" xml:"Ipv6TranslatorAcls"`
+}
+
+// CreateDescribeIPv6TranslatorAclListsRequest creates a request to invoke DescribeIPv6TranslatorAclLists API
+func CreateDescribeIPv6TranslatorAclListsRequest() (request *DescribeIPv6TranslatorAclListsRequest) {
+	request = &DescribeIPv6TranslatorAclListsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Vpc", "2016-04-28", "DescribeIPv6TranslatorAclLists", "vpc", "openAPI")
+	return
+}
+
+// CreateDescribeIPv6TranslatorAclListsResponse creates a response to parse from DescribeIPv6TranslatorAclLists response
+func CreateDescribeIPv6TranslatorAclListsResponse() (response *DescribeIPv6TranslatorAclListsResponse) {
+	response = &DescribeIPv6TranslatorAclListsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 3 - 0
services/vpc/describe_i_pv6_translator_entries.go

@@ -77,6 +77,7 @@ func (client *Client) DescribeIPv6TranslatorEntriesWithCallback(request *Describ
 type DescribeIPv6TranslatorEntriesRequest struct {
 	*requests.RpcRequest
 	BackendIpv4Port       requests.Integer `position:"Query" name:"BackendIpv4Port"`
+	AclId                 string           `position:"Query" name:"AclId"`
 	ResourceOwnerId       requests.Integer `position:"Query" name:"ResourceOwnerId"`
 	Ipv6TranslatorEntryId string           `position:"Query" name:"Ipv6TranslatorEntryId"`
 	ResourceOwnerAccount  string           `position:"Query" name:"ResourceOwnerAccount"`
@@ -85,7 +86,9 @@ type DescribeIPv6TranslatorEntriesRequest struct {
 	ClientToken           string           `position:"Query" name:"ClientToken"`
 	OwnerAccount          string           `position:"Query" name:"OwnerAccount"`
 	OwnerId               requests.Integer `position:"Query" name:"OwnerId"`
+	AclStatus             string           `position:"Query" name:"AclStatus"`
 	PageNumber            requests.Integer `position:"Query" name:"PageNumber"`
+	AclType               string           `position:"Query" name:"AclType"`
 	AllocateIpv6Port      requests.Integer `position:"Query" name:"AllocateIpv6Port"`
 	PageSize              requests.Integer `position:"Query" name:"PageSize"`
 	BackendIpv4Addr       string           `position:"Query" name:"BackendIpv4Addr"`

+ 121 - 0
services/vpc/describe_ipv6_addresses.go

@@ -0,0 +1,121 @@
+package vpc
+
+//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.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DescribeIpv6Addresses invokes the vpc.DescribeIpv6Addresses API synchronously
+// api document: https://help.aliyun.com/api/vpc/describeipv6addresses.html
+func (client *Client) DescribeIpv6Addresses(request *DescribeIpv6AddressesRequest) (response *DescribeIpv6AddressesResponse, err error) {
+	response = CreateDescribeIpv6AddressesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeIpv6AddressesWithChan invokes the vpc.DescribeIpv6Addresses API asynchronously
+// api document: https://help.aliyun.com/api/vpc/describeipv6addresses.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeIpv6AddressesWithChan(request *DescribeIpv6AddressesRequest) (<-chan *DescribeIpv6AddressesResponse, <-chan error) {
+	responseChan := make(chan *DescribeIpv6AddressesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeIpv6Addresses(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeIpv6AddressesWithCallback invokes the vpc.DescribeIpv6Addresses API asynchronously
+// api document: https://help.aliyun.com/api/vpc/describeipv6addresses.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeIpv6AddressesWithCallback(request *DescribeIpv6AddressesRequest, callback func(response *DescribeIpv6AddressesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeIpv6AddressesResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeIpv6Addresses(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeIpv6AddressesRequest is the request struct for api DescribeIpv6Addresses
+type DescribeIpv6AddressesRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId         requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	Ipv6InternetBandwidthId string           `position:"Query" name:"Ipv6InternetBandwidthId"`
+	NetworkType             string           `position:"Query" name:"NetworkType"`
+	PageNumber              requests.Integer `position:"Query" name:"PageNumber"`
+	AssociatedInstanceType  string           `position:"Query" name:"AssociatedInstanceType"`
+	PageSize                requests.Integer `position:"Query" name:"PageSize"`
+	ResourceOwnerAccount    string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount            string           `position:"Query" name:"OwnerAccount"`
+	OwnerId                 requests.Integer `position:"Query" name:"OwnerId"`
+	VSwitchId               string           `position:"Query" name:"VSwitchId"`
+	Ipv6AddressId           string           `position:"Query" name:"Ipv6AddressId"`
+	VpcId                   string           `position:"Query" name:"VpcId"`
+	Name                    string           `position:"Query" name:"Name"`
+	Ipv6Address             string           `position:"Query" name:"Ipv6Address"`
+	AssociatedInstanceId    string           `position:"Query" name:"AssociatedInstanceId"`
+}
+
+// DescribeIpv6AddressesResponse is the response struct for api DescribeIpv6Addresses
+type DescribeIpv6AddressesResponse struct {
+	*responses.BaseResponse
+	RequestId     string        `json:"RequestId" xml:"RequestId"`
+	TotalCount    int           `json:"TotalCount" xml:"TotalCount"`
+	PageNumber    int           `json:"PageNumber" xml:"PageNumber"`
+	PageSize      int           `json:"PageSize" xml:"PageSize"`
+	Ipv6Addresses Ipv6Addresses `json:"Ipv6Addresses" xml:"Ipv6Addresses"`
+}
+
+// CreateDescribeIpv6AddressesRequest creates a request to invoke DescribeIpv6Addresses API
+func CreateDescribeIpv6AddressesRequest() (request *DescribeIpv6AddressesRequest) {
+	request = &DescribeIpv6AddressesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Vpc", "2016-04-28", "DescribeIpv6Addresses", "vpc", "openAPI")
+	return
+}
+
+// CreateDescribeIpv6AddressesResponse creates a response to parse from DescribeIpv6Addresses response
+func CreateDescribeIpv6AddressesResponse() (response *DescribeIpv6AddressesResponse) {
+	response = &DescribeIpv6AddressesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 117 - 0
services/vpc/describe_ipv6_egress_only_rules.go

@@ -0,0 +1,117 @@
+package vpc
+
+//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.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DescribeIpv6EgressOnlyRules invokes the vpc.DescribeIpv6EgressOnlyRules API synchronously
+// api document: https://help.aliyun.com/api/vpc/describeipv6egressonlyrules.html
+func (client *Client) DescribeIpv6EgressOnlyRules(request *DescribeIpv6EgressOnlyRulesRequest) (response *DescribeIpv6EgressOnlyRulesResponse, err error) {
+	response = CreateDescribeIpv6EgressOnlyRulesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeIpv6EgressOnlyRulesWithChan invokes the vpc.DescribeIpv6EgressOnlyRules API asynchronously
+// api document: https://help.aliyun.com/api/vpc/describeipv6egressonlyrules.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeIpv6EgressOnlyRulesWithChan(request *DescribeIpv6EgressOnlyRulesRequest) (<-chan *DescribeIpv6EgressOnlyRulesResponse, <-chan error) {
+	responseChan := make(chan *DescribeIpv6EgressOnlyRulesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeIpv6EgressOnlyRules(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeIpv6EgressOnlyRulesWithCallback invokes the vpc.DescribeIpv6EgressOnlyRules API asynchronously
+// api document: https://help.aliyun.com/api/vpc/describeipv6egressonlyrules.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeIpv6EgressOnlyRulesWithCallback(request *DescribeIpv6EgressOnlyRulesRequest, callback func(response *DescribeIpv6EgressOnlyRulesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeIpv6EgressOnlyRulesResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeIpv6EgressOnlyRules(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeIpv6EgressOnlyRulesRequest is the request struct for api DescribeIpv6EgressOnlyRules
+type DescribeIpv6EgressOnlyRulesRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	PageNumber           requests.Integer `position:"Query" name:"PageNumber"`
+	Ipv6EgressOnlyRuleId string           `position:"Query" name:"Ipv6EgressOnlyRuleId"`
+	PageSize             requests.Integer `position:"Query" name:"PageSize"`
+	InstanceType         string           `position:"Query" name:"InstanceType"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	InstanceId           string           `position:"Query" name:"InstanceId"`
+	Ipv6GatewayId        string           `position:"Query" name:"Ipv6GatewayId"`
+	Name                 string           `position:"Query" name:"Name"`
+}
+
+// DescribeIpv6EgressOnlyRulesResponse is the response struct for api DescribeIpv6EgressOnlyRules
+type DescribeIpv6EgressOnlyRulesResponse struct {
+	*responses.BaseResponse
+	RequestId           string              `json:"RequestId" xml:"RequestId"`
+	TotalCount          int                 `json:"TotalCount" xml:"TotalCount"`
+	PageNumber          int                 `json:"PageNumber" xml:"PageNumber"`
+	PageSize            int                 `json:"PageSize" xml:"PageSize"`
+	Ipv6EgressOnlyRules Ipv6EgressOnlyRules `json:"Ipv6EgressOnlyRules" xml:"Ipv6EgressOnlyRules"`
+}
+
+// CreateDescribeIpv6EgressOnlyRulesRequest creates a request to invoke DescribeIpv6EgressOnlyRules API
+func CreateDescribeIpv6EgressOnlyRulesRequest() (request *DescribeIpv6EgressOnlyRulesRequest) {
+	request = &DescribeIpv6EgressOnlyRulesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Vpc", "2016-04-28", "DescribeIpv6EgressOnlyRules", "vpc", "openAPI")
+	return
+}
+
+// CreateDescribeIpv6EgressOnlyRulesResponse creates a response to parse from DescribeIpv6EgressOnlyRules response
+func CreateDescribeIpv6EgressOnlyRulesResponse() (response *DescribeIpv6EgressOnlyRulesResponse) {
+	response = &DescribeIpv6EgressOnlyRulesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 118 - 0
services/vpc/describe_ipv6_gateway_attribute.go

@@ -0,0 +1,118 @@
+package vpc
+
+//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.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DescribeIpv6GatewayAttribute invokes the vpc.DescribeIpv6GatewayAttribute API synchronously
+// api document: https://help.aliyun.com/api/vpc/describeipv6gatewayattribute.html
+func (client *Client) DescribeIpv6GatewayAttribute(request *DescribeIpv6GatewayAttributeRequest) (response *DescribeIpv6GatewayAttributeResponse, err error) {
+	response = CreateDescribeIpv6GatewayAttributeResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeIpv6GatewayAttributeWithChan invokes the vpc.DescribeIpv6GatewayAttribute API asynchronously
+// api document: https://help.aliyun.com/api/vpc/describeipv6gatewayattribute.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeIpv6GatewayAttributeWithChan(request *DescribeIpv6GatewayAttributeRequest) (<-chan *DescribeIpv6GatewayAttributeResponse, <-chan error) {
+	responseChan := make(chan *DescribeIpv6GatewayAttributeResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeIpv6GatewayAttribute(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeIpv6GatewayAttributeWithCallback invokes the vpc.DescribeIpv6GatewayAttribute API asynchronously
+// api document: https://help.aliyun.com/api/vpc/describeipv6gatewayattribute.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeIpv6GatewayAttributeWithCallback(request *DescribeIpv6GatewayAttributeRequest, callback func(response *DescribeIpv6GatewayAttributeResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeIpv6GatewayAttributeResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeIpv6GatewayAttribute(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeIpv6GatewayAttributeRequest is the request struct for api DescribeIpv6GatewayAttribute
+type DescribeIpv6GatewayAttributeRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	Ipv6GatewayId        string           `position:"Query" name:"Ipv6GatewayId"`
+}
+
+// DescribeIpv6GatewayAttributeResponse is the response struct for api DescribeIpv6GatewayAttribute
+type DescribeIpv6GatewayAttributeResponse struct {
+	*responses.BaseResponse
+	RequestId          string `json:"RequestId" xml:"RequestId"`
+	RegionId           string `json:"RegionId" xml:"RegionId"`
+	Ipv6GatewayId      string `json:"Ipv6GatewayId" xml:"Ipv6GatewayId"`
+	VpcId              string `json:"VpcId" xml:"VpcId"`
+	Status             string `json:"Status" xml:"Status"`
+	BusinessStatus     string `json:"BusinessStatus" xml:"BusinessStatus"`
+	Name               string `json:"Name" xml:"Name"`
+	Description        string `json:"Description" xml:"Description"`
+	Spec               string `json:"Spec" xml:"Spec"`
+	InstanceChargeType string `json:"InstanceChargeType" xml:"InstanceChargeType"`
+	ExpiredTime        string `json:"ExpiredTime" xml:"ExpiredTime"`
+	CreationTime       string `json:"CreationTime" xml:"CreationTime"`
+}
+
+// CreateDescribeIpv6GatewayAttributeRequest creates a request to invoke DescribeIpv6GatewayAttribute API
+func CreateDescribeIpv6GatewayAttributeRequest() (request *DescribeIpv6GatewayAttributeRequest) {
+	request = &DescribeIpv6GatewayAttributeRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Vpc", "2016-04-28", "DescribeIpv6GatewayAttribute", "vpc", "openAPI")
+	return
+}
+
+// CreateDescribeIpv6GatewayAttributeResponse creates a response to parse from DescribeIpv6GatewayAttribute response
+func CreateDescribeIpv6GatewayAttributeResponse() (response *DescribeIpv6GatewayAttributeResponse) {
+	response = &DescribeIpv6GatewayAttributeResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 115 - 0
services/vpc/describe_ipv6_gateways.go

@@ -0,0 +1,115 @@
+package vpc
+
+//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.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DescribeIpv6Gateways invokes the vpc.DescribeIpv6Gateways API synchronously
+// api document: https://help.aliyun.com/api/vpc/describeipv6gateways.html
+func (client *Client) DescribeIpv6Gateways(request *DescribeIpv6GatewaysRequest) (response *DescribeIpv6GatewaysResponse, err error) {
+	response = CreateDescribeIpv6GatewaysResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeIpv6GatewaysWithChan invokes the vpc.DescribeIpv6Gateways API asynchronously
+// api document: https://help.aliyun.com/api/vpc/describeipv6gateways.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeIpv6GatewaysWithChan(request *DescribeIpv6GatewaysRequest) (<-chan *DescribeIpv6GatewaysResponse, <-chan error) {
+	responseChan := make(chan *DescribeIpv6GatewaysResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeIpv6Gateways(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeIpv6GatewaysWithCallback invokes the vpc.DescribeIpv6Gateways API asynchronously
+// api document: https://help.aliyun.com/api/vpc/describeipv6gateways.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeIpv6GatewaysWithCallback(request *DescribeIpv6GatewaysRequest, callback func(response *DescribeIpv6GatewaysResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeIpv6GatewaysResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeIpv6Gateways(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeIpv6GatewaysRequest is the request struct for api DescribeIpv6Gateways
+type DescribeIpv6GatewaysRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	PageNumber           requests.Integer `position:"Query" name:"PageNumber"`
+	PageSize             requests.Integer `position:"Query" name:"PageSize"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	VpcId                string           `position:"Query" name:"VpcId"`
+	Ipv6GatewayId        string           `position:"Query" name:"Ipv6GatewayId"`
+	Name                 string           `position:"Query" name:"Name"`
+}
+
+// DescribeIpv6GatewaysResponse is the response struct for api DescribeIpv6Gateways
+type DescribeIpv6GatewaysResponse struct {
+	*responses.BaseResponse
+	RequestId    string       `json:"RequestId" xml:"RequestId"`
+	TotalCount   int          `json:"TotalCount" xml:"TotalCount"`
+	PageNumber   int          `json:"PageNumber" xml:"PageNumber"`
+	PageSize     int          `json:"PageSize" xml:"PageSize"`
+	Ipv6Gateways Ipv6Gateways `json:"Ipv6Gateways" xml:"Ipv6Gateways"`
+}
+
+// CreateDescribeIpv6GatewaysRequest creates a request to invoke DescribeIpv6Gateways API
+func CreateDescribeIpv6GatewaysRequest() (request *DescribeIpv6GatewaysRequest) {
+	request = &DescribeIpv6GatewaysRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Vpc", "2016-04-28", "DescribeIpv6Gateways", "vpc", "openAPI")
+	return
+}
+
+// CreateDescribeIpv6GatewaysResponse creates a response to parse from DescribeIpv6Gateways response
+func CreateDescribeIpv6GatewaysResponse() (response *DescribeIpv6GatewaysResponse) {
+	response = &DescribeIpv6GatewaysResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 4 - 2
services/vpc/describe_nat_gateways.go

@@ -79,12 +79,14 @@ type DescribeNatGatewaysRequest struct {
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
 	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	Spec                 string           `position:"Query" name:"Spec"`
+	PageNumber           requests.Integer `position:"Query" name:"PageNumber"`
 	VpcId                string           `position:"Query" name:"VpcId"`
 	Name                 string           `position:"Query" name:"Name"`
 	PageSize             requests.Integer `position:"Query" name:"PageSize"`
 	NatGatewayId         string           `position:"Query" name:"NatGatewayId"`
-	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	PageNumber           requests.Integer `position:"Query" name:"PageNumber"`
+	InstanceChargeType   string           `position:"Query" name:"InstanceChargeType"`
 }
 
 // DescribeNatGatewaysResponse is the response struct for api DescribeNatGateways

+ 0 - 110
services/vpc/describe_network_quotas.go

@@ -1,110 +0,0 @@
-package vpc
-
-//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.
-//
-// Code generated by Alibaba Cloud SDK Code Generator.
-// Changes may cause incorrect behavior and will be lost if the code is regenerated.
-
-import (
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
-)
-
-// DescribeNetworkQuotas invokes the vpc.DescribeNetworkQuotas API synchronously
-// api document: https://help.aliyun.com/api/vpc/describenetworkquotas.html
-func (client *Client) DescribeNetworkQuotas(request *DescribeNetworkQuotasRequest) (response *DescribeNetworkQuotasResponse, err error) {
-	response = CreateDescribeNetworkQuotasResponse()
-	err = client.DoAction(request, response)
-	return
-}
-
-// DescribeNetworkQuotasWithChan invokes the vpc.DescribeNetworkQuotas API asynchronously
-// api document: https://help.aliyun.com/api/vpc/describenetworkquotas.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) DescribeNetworkQuotasWithChan(request *DescribeNetworkQuotasRequest) (<-chan *DescribeNetworkQuotasResponse, <-chan error) {
-	responseChan := make(chan *DescribeNetworkQuotasResponse, 1)
-	errChan := make(chan error, 1)
-	err := client.AddAsyncTask(func() {
-		defer close(responseChan)
-		defer close(errChan)
-		response, err := client.DescribeNetworkQuotas(request)
-		if err != nil {
-			errChan <- err
-		} else {
-			responseChan <- response
-		}
-	})
-	if err != nil {
-		errChan <- err
-		close(responseChan)
-		close(errChan)
-	}
-	return responseChan, errChan
-}
-
-// DescribeNetworkQuotasWithCallback invokes the vpc.DescribeNetworkQuotas API asynchronously
-// api document: https://help.aliyun.com/api/vpc/describenetworkquotas.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) DescribeNetworkQuotasWithCallback(request *DescribeNetworkQuotasRequest, callback func(response *DescribeNetworkQuotasResponse, err error)) <-chan int {
-	result := make(chan int, 1)
-	err := client.AddAsyncTask(func() {
-		var response *DescribeNetworkQuotasResponse
-		var err error
-		defer close(result)
-		response, err = client.DescribeNetworkQuotas(request)
-		callback(response, err)
-		result <- 1
-	})
-	if err != nil {
-		defer close(result)
-		callback(nil, err)
-		result <- 0
-	}
-	return result
-}
-
-// DescribeNetworkQuotasRequest is the request struct for api DescribeNetworkQuotas
-type DescribeNetworkQuotasRequest struct {
-	*requests.RpcRequest
-	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
-	ClientToken          string           `position:"Query" name:"ClientToken"`
-	Product              string           `position:"Query" name:"Product"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
-	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-}
-
-// DescribeNetworkQuotasResponse is the response struct for api DescribeNetworkQuotas
-type DescribeNetworkQuotasResponse struct {
-	*responses.BaseResponse
-	RequestId string `json:"RequestId" xml:"RequestId"`
-	Product   string `json:"Product" xml:"Product"`
-	RegionId  string `json:"RegionId" xml:"RegionId"`
-	Quota     string `json:"Quota" xml:"Quota"`
-}
-
-// CreateDescribeNetworkQuotasRequest creates a request to invoke DescribeNetworkQuotas API
-func CreateDescribeNetworkQuotasRequest() (request *DescribeNetworkQuotasRequest) {
-	request = &DescribeNetworkQuotasRequest{
-		RpcRequest: &requests.RpcRequest{},
-	}
-	request.InitWithApiInfo("Vpc", "2016-04-28", "DescribeNetworkQuotas", "vpc", "openAPI")
-	return
-}
-
-// CreateDescribeNetworkQuotasResponse creates a response to parse from DescribeNetworkQuotas response
-func CreateDescribeNetworkQuotasResponse() (response *DescribeNetworkQuotasResponse) {
-	response = &DescribeNetworkQuotasResponse{
-		BaseResponse: &responses.BaseResponse{},
-	}
-	return
-}

+ 0 - 111
services/vpc/describe_new_project_eip_monitor_data.go

@@ -1,111 +0,0 @@
-package vpc
-
-//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.
-//
-// Code generated by Alibaba Cloud SDK Code Generator.
-// Changes may cause incorrect behavior and will be lost if the code is regenerated.
-
-import (
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
-)
-
-// DescribeNewProjectEipMonitorData invokes the vpc.DescribeNewProjectEipMonitorData API synchronously
-// api document: https://help.aliyun.com/api/vpc/describenewprojecteipmonitordata.html
-func (client *Client) DescribeNewProjectEipMonitorData(request *DescribeNewProjectEipMonitorDataRequest) (response *DescribeNewProjectEipMonitorDataResponse, err error) {
-	response = CreateDescribeNewProjectEipMonitorDataResponse()
-	err = client.DoAction(request, response)
-	return
-}
-
-// DescribeNewProjectEipMonitorDataWithChan invokes the vpc.DescribeNewProjectEipMonitorData API asynchronously
-// api document: https://help.aliyun.com/api/vpc/describenewprojecteipmonitordata.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) DescribeNewProjectEipMonitorDataWithChan(request *DescribeNewProjectEipMonitorDataRequest) (<-chan *DescribeNewProjectEipMonitorDataResponse, <-chan error) {
-	responseChan := make(chan *DescribeNewProjectEipMonitorDataResponse, 1)
-	errChan := make(chan error, 1)
-	err := client.AddAsyncTask(func() {
-		defer close(responseChan)
-		defer close(errChan)
-		response, err := client.DescribeNewProjectEipMonitorData(request)
-		if err != nil {
-			errChan <- err
-		} else {
-			responseChan <- response
-		}
-	})
-	if err != nil {
-		errChan <- err
-		close(responseChan)
-		close(errChan)
-	}
-	return responseChan, errChan
-}
-
-// DescribeNewProjectEipMonitorDataWithCallback invokes the vpc.DescribeNewProjectEipMonitorData API asynchronously
-// api document: https://help.aliyun.com/api/vpc/describenewprojecteipmonitordata.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) DescribeNewProjectEipMonitorDataWithCallback(request *DescribeNewProjectEipMonitorDataRequest, callback func(response *DescribeNewProjectEipMonitorDataResponse, err error)) <-chan int {
-	result := make(chan int, 1)
-	err := client.AddAsyncTask(func() {
-		var response *DescribeNewProjectEipMonitorDataResponse
-		var err error
-		defer close(result)
-		response, err = client.DescribeNewProjectEipMonitorData(request)
-		callback(response, err)
-		result <- 1
-	})
-	if err != nil {
-		defer close(result)
-		callback(nil, err)
-		result <- 0
-	}
-	return result
-}
-
-// DescribeNewProjectEipMonitorDataRequest is the request struct for api DescribeNewProjectEipMonitorData
-type DescribeNewProjectEipMonitorDataRequest struct {
-	*requests.RpcRequest
-	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
-	Period               requests.Integer `position:"Query" name:"Period"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
-	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
-	EndTime              string           `position:"Query" name:"EndTime"`
-	AllocationId         string           `position:"Query" name:"AllocationId"`
-	StartTime            string           `position:"Query" name:"StartTime"`
-	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-}
-
-// DescribeNewProjectEipMonitorDataResponse is the response struct for api DescribeNewProjectEipMonitorData
-type DescribeNewProjectEipMonitorDataResponse struct {
-	*responses.BaseResponse
-	RequestId       string                                            `json:"RequestId" xml:"RequestId"`
-	EipMonitorDatas EipMonitorDatasInDescribeNewProjectEipMonitorData `json:"EipMonitorDatas" xml:"EipMonitorDatas"`
-}
-
-// CreateDescribeNewProjectEipMonitorDataRequest creates a request to invoke DescribeNewProjectEipMonitorData API
-func CreateDescribeNewProjectEipMonitorDataRequest() (request *DescribeNewProjectEipMonitorDataRequest) {
-	request = &DescribeNewProjectEipMonitorDataRequest{
-		RpcRequest: &requests.RpcRequest{},
-	}
-	request.InitWithApiInfo("Vpc", "2016-04-28", "DescribeNewProjectEipMonitorData", "vpc", "openAPI")
-	return
-}
-
-// CreateDescribeNewProjectEipMonitorDataResponse creates a response to parse from DescribeNewProjectEipMonitorData response
-func CreateDescribeNewProjectEipMonitorDataResponse() (response *DescribeNewProjectEipMonitorDataResponse) {
-	response = &DescribeNewProjectEipMonitorDataResponse{
-		BaseResponse: &responses.BaseResponse{},
-	}
-	return
-}

+ 110 - 0
services/vpc/describe_physical_connection_order.go

@@ -0,0 +1,110 @@
+package vpc
+
+//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.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DescribePhysicalConnectionOrder invokes the vpc.DescribePhysicalConnectionOrder API synchronously
+// api document: https://help.aliyun.com/api/vpc/describephysicalconnectionorder.html
+func (client *Client) DescribePhysicalConnectionOrder(request *DescribePhysicalConnectionOrderRequest) (response *DescribePhysicalConnectionOrderResponse, err error) {
+	response = CreateDescribePhysicalConnectionOrderResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribePhysicalConnectionOrderWithChan invokes the vpc.DescribePhysicalConnectionOrder API asynchronously
+// api document: https://help.aliyun.com/api/vpc/describephysicalconnectionorder.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribePhysicalConnectionOrderWithChan(request *DescribePhysicalConnectionOrderRequest) (<-chan *DescribePhysicalConnectionOrderResponse, <-chan error) {
+	responseChan := make(chan *DescribePhysicalConnectionOrderResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribePhysicalConnectionOrder(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribePhysicalConnectionOrderWithCallback invokes the vpc.DescribePhysicalConnectionOrder API asynchronously
+// api document: https://help.aliyun.com/api/vpc/describephysicalconnectionorder.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribePhysicalConnectionOrderWithCallback(request *DescribePhysicalConnectionOrderRequest, callback func(response *DescribePhysicalConnectionOrderResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribePhysicalConnectionOrderResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribePhysicalConnectionOrder(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribePhysicalConnectionOrderRequest is the request struct for api DescribePhysicalConnectionOrder
+type DescribePhysicalConnectionOrderRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	ClientToken          string           `position:"Query" name:"ClientToken"`
+	PhysicalConnectionId string           `position:"Query" name:"PhysicalConnectionId"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// DescribePhysicalConnectionOrderResponse is the response struct for api DescribePhysicalConnectionOrder
+type DescribePhysicalConnectionOrderResponse struct {
+	*responses.BaseResponse
+	RequestId  string `json:"RequestId" xml:"RequestId"`
+	InstanceId string `json:"InstanceId" xml:"InstanceId"`
+	OrderId    string `json:"OrderId" xml:"OrderId"`
+}
+
+// CreateDescribePhysicalConnectionOrderRequest creates a request to invoke DescribePhysicalConnectionOrder API
+func CreateDescribePhysicalConnectionOrderRequest() (request *DescribePhysicalConnectionOrderRequest) {
+	request = &DescribePhysicalConnectionOrderRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Vpc", "2016-04-28", "DescribePhysicalConnectionOrder", "vpc", "openAPI")
+	return
+}
+
+// CreateDescribePhysicalConnectionOrderResponse creates a response to parse from DescribePhysicalConnectionOrder response
+func CreateDescribePhysicalConnectionOrderResponse() (response *DescribePhysicalConnectionOrderResponse) {
+	response = &DescribePhysicalConnectionOrderResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 19 - 11
services/vpc/describe_route_table_list.go

@@ -76,17 +76,25 @@ func (client *Client) DescribeRouteTableListWithCallback(request *DescribeRouteT
 // DescribeRouteTableListRequest is the request struct for api DescribeRouteTableList
 type DescribeRouteTableListRequest struct {
 	*requests.RpcRequest
-	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
-	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
-	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	PageNumber           requests.Integer `position:"Query" name:"PageNumber"`
-	RouterType           string           `position:"Query" name:"RouterType"`
-	RouteTableName       string           `position:"Query" name:"RouteTableName"`
-	RouterId             string           `position:"Query" name:"RouterId"`
-	VpcId                string           `position:"Query" name:"VpcId"`
-	PageSize             requests.Integer `position:"Query" name:"PageSize"`
-	RouteTableId         string           `position:"Query" name:"RouteTableId"`
+	ResourceOwnerId      requests.Integer             `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount string                       `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string                       `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer             `position:"Query" name:"OwnerId"`
+	PageNumber           requests.Integer             `position:"Query" name:"PageNumber"`
+	RouterType           string                       `position:"Query" name:"RouterType"`
+	ResourceGroupId      string                       `position:"Query" name:"ResourceGroupId"`
+	RouteTableName       string                       `position:"Query" name:"RouteTableName"`
+	RouterId             string                       `position:"Query" name:"RouterId"`
+	VpcId                string                       `position:"Query" name:"VpcId"`
+	PageSize             requests.Integer             `position:"Query" name:"PageSize"`
+	Tag                  *[]DescribeRouteTableListTag `position:"Query" name:"Tag"  type:"Repeated"`
+	RouteTableId         string                       `position:"Query" name:"RouteTableId"`
+}
+
+// DescribeRouteTableListTag is a repeated param struct in DescribeRouteTableListRequest
+type DescribeRouteTableListTag struct {
+	Value string `name:"Value"`
+	Key   string `name:"Key"`
 }
 
 // DescribeRouteTableListResponse is the response struct for api DescribeRouteTableList

+ 1 - 0
services/vpc/describe_route_tables.go

@@ -84,6 +84,7 @@ type DescribeRouteTablesRequest struct {
 	Type                 string           `position:"Query" name:"Type"`
 	PageNumber           requests.Integer `position:"Query" name:"PageNumber"`
 	RouterType           string           `position:"Query" name:"RouterType"`
+	ResourceGroupId      string           `position:"Query" name:"ResourceGroupId"`
 	RouteTableName       string           `position:"Query" name:"RouteTableName"`
 	RouterId             string           `position:"Query" name:"RouterId"`
 	PageSize             requests.Integer `position:"Query" name:"PageSize"`

+ 5 - 5
services/vpc/describe_router_interfaces.go

@@ -94,11 +94,11 @@ type DescribeRouterInterfacesFilter struct {
 // DescribeRouterInterfacesResponse is the response struct for api DescribeRouterInterfaces
 type DescribeRouterInterfacesResponse struct {
 	*responses.BaseResponse
-	RequestId          string                                       `json:"RequestId" xml:"RequestId"`
-	PageNumber         int                                          `json:"PageNumber" xml:"PageNumber"`
-	PageSize           int                                          `json:"PageSize" xml:"PageSize"`
-	TotalCount         int                                          `json:"TotalCount" xml:"TotalCount"`
-	RouterInterfaceSet RouterInterfaceSetInDescribeRouterInterfaces `json:"RouterInterfaceSet" xml:"RouterInterfaceSet"`
+	RequestId          string             `json:"RequestId" xml:"RequestId"`
+	PageNumber         int                `json:"PageNumber" xml:"PageNumber"`
+	PageSize           int                `json:"PageSize" xml:"PageSize"`
+	TotalCount         int                `json:"TotalCount" xml:"TotalCount"`
+	RouterInterfaceSet RouterInterfaceSet `json:"RouterInterfaceSet" xml:"RouterInterfaceSet"`
 }
 
 // CreateDescribeRouterInterfacesRequest creates a request to invoke DescribeRouterInterfaces API

+ 0 - 117
services/vpc/describe_router_interfaces_for_global.go

@@ -1,117 +0,0 @@
-package vpc
-
-//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.
-//
-// Code generated by Alibaba Cloud SDK Code Generator.
-// Changes may cause incorrect behavior and will be lost if the code is regenerated.
-
-import (
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
-)
-
-// DescribeRouterInterfacesForGlobal invokes the vpc.DescribeRouterInterfacesForGlobal API synchronously
-// api document: https://help.aliyun.com/api/vpc/describerouterinterfacesforglobal.html
-func (client *Client) DescribeRouterInterfacesForGlobal(request *DescribeRouterInterfacesForGlobalRequest) (response *DescribeRouterInterfacesForGlobalResponse, err error) {
-	response = CreateDescribeRouterInterfacesForGlobalResponse()
-	err = client.DoAction(request, response)
-	return
-}
-
-// DescribeRouterInterfacesForGlobalWithChan invokes the vpc.DescribeRouterInterfacesForGlobal API asynchronously
-// api document: https://help.aliyun.com/api/vpc/describerouterinterfacesforglobal.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) DescribeRouterInterfacesForGlobalWithChan(request *DescribeRouterInterfacesForGlobalRequest) (<-chan *DescribeRouterInterfacesForGlobalResponse, <-chan error) {
-	responseChan := make(chan *DescribeRouterInterfacesForGlobalResponse, 1)
-	errChan := make(chan error, 1)
-	err := client.AddAsyncTask(func() {
-		defer close(responseChan)
-		defer close(errChan)
-		response, err := client.DescribeRouterInterfacesForGlobal(request)
-		if err != nil {
-			errChan <- err
-		} else {
-			responseChan <- response
-		}
-	})
-	if err != nil {
-		errChan <- err
-		close(responseChan)
-		close(errChan)
-	}
-	return responseChan, errChan
-}
-
-// DescribeRouterInterfacesForGlobalWithCallback invokes the vpc.DescribeRouterInterfacesForGlobal API asynchronously
-// api document: https://help.aliyun.com/api/vpc/describerouterinterfacesforglobal.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) DescribeRouterInterfacesForGlobalWithCallback(request *DescribeRouterInterfacesForGlobalRequest, callback func(response *DescribeRouterInterfacesForGlobalResponse, err error)) <-chan int {
-	result := make(chan int, 1)
-	err := client.AddAsyncTask(func() {
-		var response *DescribeRouterInterfacesForGlobalResponse
-		var err error
-		defer close(result)
-		response, err = client.DescribeRouterInterfacesForGlobal(request)
-		callback(response, err)
-		result <- 1
-	})
-	if err != nil {
-		defer close(result)
-		callback(nil, err)
-		result <- 0
-	}
-	return result
-}
-
-// DescribeRouterInterfacesForGlobalRequest is the request struct for api DescribeRouterInterfacesForGlobal
-type DescribeRouterInterfacesForGlobalRequest struct {
-	*requests.RpcRequest
-	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
-	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
-	PageSize             requests.Integer `position:"Query" name:"PageSize"`
-	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	PageNumber           requests.Integer `position:"Query" name:"PageNumber"`
-	Status               string           `position:"Query" name:"Status"`
-}
-
-// DescribeRouterInterfacesForGlobalResponse is the response struct for api DescribeRouterInterfacesForGlobal
-type DescribeRouterInterfacesForGlobalResponse struct {
-	*responses.BaseResponse
-	RequestId          string                                                `json:"RequestId" xml:"RequestId"`
-	Code               string                                                `json:"Code" xml:"Code"`
-	Message            string                                                `json:"Message" xml:"Message"`
-	Desc               string                                                `json:"desc" xml:"desc"`
-	Success            bool                                                  `json:"Success" xml:"Success"`
-	PageSize           int                                                   `json:"PageSize" xml:"PageSize"`
-	PageNumber         int                                                   `json:"PageNumber" xml:"PageNumber"`
-	TotalCount         int                                                   `json:"TotalCount" xml:"TotalCount"`
-	RouterInterfaceSet RouterInterfaceSetInDescribeRouterInterfacesForGlobal `json:"RouterInterfaceSet" xml:"RouterInterfaceSet"`
-}
-
-// CreateDescribeRouterInterfacesForGlobalRequest creates a request to invoke DescribeRouterInterfacesForGlobal API
-func CreateDescribeRouterInterfacesForGlobalRequest() (request *DescribeRouterInterfacesForGlobalRequest) {
-	request = &DescribeRouterInterfacesForGlobalRequest{
-		RpcRequest: &requests.RpcRequest{},
-	}
-	request.InitWithApiInfo("Vpc", "2016-04-28", "DescribeRouterInterfacesForGlobal", "vpc", "openAPI")
-	return
-}
-
-// CreateDescribeRouterInterfacesForGlobalResponse creates a response to parse from DescribeRouterInterfacesForGlobal response
-func CreateDescribeRouterInterfacesForGlobalResponse() (response *DescribeRouterInterfacesForGlobalResponse) {
-	response = &DescribeRouterInterfacesForGlobalResponse{
-		BaseResponse: &responses.BaseResponse{},
-	}
-	return
-}

+ 6 - 2
services/vpc/describe_snat_table_entries.go

@@ -79,11 +79,15 @@ type DescribeSnatTableEntriesRequest struct {
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
 	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
-	PageSize             requests.Integer `position:"Query" name:"PageSize"`
+	SourceCIDR           string           `position:"Query" name:"SourceCIDR"`
 	SnatTableId          string           `position:"Query" name:"SnatTableId"`
-	SnatEntryId          string           `position:"Query" name:"SnatEntryId"`
 	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	SnatIp               string           `position:"Query" name:"SnatIp"`
 	PageNumber           requests.Integer `position:"Query" name:"PageNumber"`
+	SourceVSwitchId      string           `position:"Query" name:"SourceVSwitchId"`
+	SnatEntryName        string           `position:"Query" name:"SnatEntryName"`
+	PageSize             requests.Integer `position:"Query" name:"PageSize"`
+	SnatEntryId          string           `position:"Query" name:"SnatEntryId"`
 }
 
 // DescribeSnatTableEntriesResponse is the response struct for api DescribeSnatTableEntries

+ 2 - 0
services/vpc/describe_v_switch_attributes.go

@@ -91,12 +91,14 @@ type DescribeVSwitchAttributesResponse struct {
 	VpcId                   string                                    `json:"VpcId" xml:"VpcId"`
 	Status                  string                                    `json:"Status" xml:"Status"`
 	CidrBlock               string                                    `json:"CidrBlock" xml:"CidrBlock"`
+	Ipv6CidrBlock           string                                    `json:"Ipv6CidrBlock" xml:"Ipv6CidrBlock"`
 	ZoneId                  string                                    `json:"ZoneId" xml:"ZoneId"`
 	AvailableIpAddressCount int                                       `json:"AvailableIpAddressCount" xml:"AvailableIpAddressCount"`
 	Description             string                                    `json:"Description" xml:"Description"`
 	VSwitchName             string                                    `json:"VSwitchName" xml:"VSwitchName"`
 	CreationTime            string                                    `json:"CreationTime" xml:"CreationTime"`
 	IsDefault               bool                                      `json:"IsDefault" xml:"IsDefault"`
+	ResourceGroupId         string                                    `json:"ResourceGroupId" xml:"ResourceGroupId"`
 	RouteTable              RouteTable                                `json:"RouteTable" xml:"RouteTable"`
 	CloudResources          CloudResourcesInDescribeVSwitchAttributes `json:"CloudResources" xml:"CloudResources"`
 }

+ 20 - 12
services/vpc/describe_v_switches.go

@@ -76,18 +76,26 @@ func (client *Client) DescribeVSwitchesWithCallback(request *DescribeVSwitchesRe
 // DescribeVSwitchesRequest is the request struct for api DescribeVSwitches
 type DescribeVSwitchesRequest struct {
 	*requests.RpcRequest
-	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
-	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
-	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	PageNumber           requests.Integer `position:"Query" name:"PageNumber"`
-	VSwitchId            string           `position:"Query" name:"VSwitchId"`
-	VpcId                string           `position:"Query" name:"VpcId"`
-	VSwitchName          string           `position:"Query" name:"VSwitchName"`
-	PageSize             requests.Integer `position:"Query" name:"PageSize"`
-	ZoneId               string           `position:"Query" name:"ZoneId"`
-	IsDefault            requests.Boolean `position:"Query" name:"IsDefault"`
-	RouteTableId         string           `position:"Query" name:"RouteTableId"`
+	ResourceOwnerId      requests.Integer        `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount string                  `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string                  `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer        `position:"Query" name:"OwnerId"`
+	PageNumber           requests.Integer        `position:"Query" name:"PageNumber"`
+	VSwitchId            string                  `position:"Query" name:"VSwitchId"`
+	ResourceGroupId      string                  `position:"Query" name:"ResourceGroupId"`
+	VpcId                string                  `position:"Query" name:"VpcId"`
+	VSwitchName          string                  `position:"Query" name:"VSwitchName"`
+	PageSize             requests.Integer        `position:"Query" name:"PageSize"`
+	ZoneId               string                  `position:"Query" name:"ZoneId"`
+	Tag                  *[]DescribeVSwitchesTag `position:"Query" name:"Tag"  type:"Repeated"`
+	IsDefault            requests.Boolean        `position:"Query" name:"IsDefault"`
+	RouteTableId         string                  `position:"Query" name:"RouteTableId"`
+}
+
+// DescribeVSwitchesTag is a repeated param struct in DescribeVSwitchesRequest
+type DescribeVSwitchesTag struct {
+	Value string `name:"Value"`
+	Key   string `name:"Key"`
 }
 
 // DescribeVSwitchesResponse is the response struct for api DescribeVSwitches

+ 1 - 0
services/vpc/describe_vpc_attribute.go

@@ -94,6 +94,7 @@ type DescribeVpcAttributeResponse struct {
 	VpcName            string                               `json:"VpcName" xml:"VpcName"`
 	CreationTime       string                               `json:"CreationTime" xml:"CreationTime"`
 	CidrBlock          string                               `json:"CidrBlock" xml:"CidrBlock"`
+	Ipv6CidrBlock      string                               `json:"Ipv6CidrBlock" xml:"Ipv6CidrBlock"`
 	VRouterId          string                               `json:"VRouterId" xml:"VRouterId"`
 	Description        string                               `json:"Description" xml:"Description"`
 	IsDefault          bool                                 `json:"IsDefault" xml:"IsDefault"`

+ 17 - 10
services/vpc/describe_vpcs.go

@@ -76,16 +76,23 @@ func (client *Client) DescribeVpcsWithCallback(request *DescribeVpcsRequest, cal
 // DescribeVpcsRequest is the request struct for api DescribeVpcs
 type DescribeVpcsRequest struct {
 	*requests.RpcRequest
-	VpcName              string           `position:"Query" name:"VpcName"`
-	ResourceGroupId      string           `position:"Query" name:"ResourceGroupId"`
-	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
-	VpcId                string           `position:"Query" name:"VpcId"`
-	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
-	PageSize             requests.Integer `position:"Query" name:"PageSize"`
-	IsDefault            requests.Boolean `position:"Query" name:"IsDefault"`
-	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	PageNumber           requests.Integer `position:"Query" name:"PageNumber"`
+	ResourceOwnerId      requests.Integer   `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount string             `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string             `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer   `position:"Query" name:"OwnerId"`
+	PageNumber           requests.Integer   `position:"Query" name:"PageNumber"`
+	VpcName              string             `position:"Query" name:"VpcName"`
+	ResourceGroupId      string             `position:"Query" name:"ResourceGroupId"`
+	VpcId                string             `position:"Query" name:"VpcId"`
+	PageSize             requests.Integer   `position:"Query" name:"PageSize"`
+	Tag                  *[]DescribeVpcsTag `position:"Query" name:"Tag"  type:"Repeated"`
+	IsDefault            requests.Boolean   `position:"Query" name:"IsDefault"`
+}
+
+// DescribeVpcsTag is a repeated param struct in DescribeVpcsRequest
+type DescribeVpcsTag struct {
+	Value string `name:"Value"`
+	Key   string `name:"Key"`
 }
 
 // DescribeVpcsResponse is the response struct for api DescribeVpcs

+ 0 - 117
services/vpc/describe_vpn_connection_logs.go

@@ -1,117 +0,0 @@
-package vpc
-
-//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.
-//
-// Code generated by Alibaba Cloud SDK Code Generator.
-// Changes may cause incorrect behavior and will be lost if the code is regenerated.
-
-import (
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
-)
-
-// DescribeVpnConnectionLogs invokes the vpc.DescribeVpnConnectionLogs API synchronously
-// api document: https://help.aliyun.com/api/vpc/describevpnconnectionlogs.html
-func (client *Client) DescribeVpnConnectionLogs(request *DescribeVpnConnectionLogsRequest) (response *DescribeVpnConnectionLogsResponse, err error) {
-	response = CreateDescribeVpnConnectionLogsResponse()
-	err = client.DoAction(request, response)
-	return
-}
-
-// DescribeVpnConnectionLogsWithChan invokes the vpc.DescribeVpnConnectionLogs API asynchronously
-// api document: https://help.aliyun.com/api/vpc/describevpnconnectionlogs.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) DescribeVpnConnectionLogsWithChan(request *DescribeVpnConnectionLogsRequest) (<-chan *DescribeVpnConnectionLogsResponse, <-chan error) {
-	responseChan := make(chan *DescribeVpnConnectionLogsResponse, 1)
-	errChan := make(chan error, 1)
-	err := client.AddAsyncTask(func() {
-		defer close(responseChan)
-		defer close(errChan)
-		response, err := client.DescribeVpnConnectionLogs(request)
-		if err != nil {
-			errChan <- err
-		} else {
-			responseChan <- response
-		}
-	})
-	if err != nil {
-		errChan <- err
-		close(responseChan)
-		close(errChan)
-	}
-	return responseChan, errChan
-}
-
-// DescribeVpnConnectionLogsWithCallback invokes the vpc.DescribeVpnConnectionLogs API asynchronously
-// api document: https://help.aliyun.com/api/vpc/describevpnconnectionlogs.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) DescribeVpnConnectionLogsWithCallback(request *DescribeVpnConnectionLogsRequest, callback func(response *DescribeVpnConnectionLogsResponse, err error)) <-chan int {
-	result := make(chan int, 1)
-	err := client.AddAsyncTask(func() {
-		var response *DescribeVpnConnectionLogsResponse
-		var err error
-		defer close(result)
-		response, err = client.DescribeVpnConnectionLogs(request)
-		callback(response, err)
-		result <- 1
-	})
-	if err != nil {
-		defer close(result)
-		callback(nil, err)
-		result <- 0
-	}
-	return result
-}
-
-// DescribeVpnConnectionLogsRequest is the request struct for api DescribeVpnConnectionLogs
-type DescribeVpnConnectionLogsRequest struct {
-	*requests.RpcRequest
-	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
-	MinutePeriod         requests.Integer `position:"Query" name:"MinutePeriod"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
-	VpnConnectionId      string           `position:"Query" name:"VpnConnectionId"`
-	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
-	PageSize             requests.Integer `position:"Query" name:"PageSize"`
-	From                 requests.Integer `position:"Query" name:"From"`
-	To                   requests.Integer `position:"Query" name:"To"`
-	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	PageNumber           requests.Integer `position:"Query" name:"PageNumber"`
-}
-
-// DescribeVpnConnectionLogsResponse is the response struct for api DescribeVpnConnectionLogs
-type DescribeVpnConnectionLogsResponse struct {
-	*responses.BaseResponse
-	RequestId   string `json:"RequestId" xml:"RequestId"`
-	Count       int    `json:"Count" xml:"Count"`
-	IsCompleted bool   `json:"IsCompleted" xml:"IsCompleted"`
-	PageNumber  int    `json:"PageNumber" xml:"PageNumber"`
-	PageSize    int    `json:"PageSize" xml:"PageSize"`
-	Data        Data   `json:"Data" xml:"Data"`
-}
-
-// CreateDescribeVpnConnectionLogsRequest creates a request to invoke DescribeVpnConnectionLogs API
-func CreateDescribeVpnConnectionLogsRequest() (request *DescribeVpnConnectionLogsRequest) {
-	request = &DescribeVpnConnectionLogsRequest{
-		RpcRequest: &requests.RpcRequest{},
-	}
-	request.InitWithApiInfo("Vpc", "2016-04-28", "DescribeVpnConnectionLogs", "vpc", "openAPI")
-	return
-}
-
-// CreateDescribeVpnConnectionLogsResponse creates a response to parse from DescribeVpnConnectionLogs response
-func CreateDescribeVpnConnectionLogsResponse() (response *DescribeVpnConnectionLogsResponse) {
-	response = &DescribeVpnConnectionLogsResponse{
-		BaseResponse: &responses.BaseResponse{},
-	}
-	return
-}

+ 111 - 0
services/vpc/grant_instance_to_cen.go

@@ -0,0 +1,111 @@
+package vpc
+
+//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.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// GrantInstanceToCen invokes the vpc.GrantInstanceToCen API synchronously
+// api document: https://help.aliyun.com/api/vpc/grantinstancetocen.html
+func (client *Client) GrantInstanceToCen(request *GrantInstanceToCenRequest) (response *GrantInstanceToCenResponse, err error) {
+	response = CreateGrantInstanceToCenResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GrantInstanceToCenWithChan invokes the vpc.GrantInstanceToCen API asynchronously
+// api document: https://help.aliyun.com/api/vpc/grantinstancetocen.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GrantInstanceToCenWithChan(request *GrantInstanceToCenRequest) (<-chan *GrantInstanceToCenResponse, <-chan error) {
+	responseChan := make(chan *GrantInstanceToCenResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GrantInstanceToCen(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GrantInstanceToCenWithCallback invokes the vpc.GrantInstanceToCen API asynchronously
+// api document: https://help.aliyun.com/api/vpc/grantinstancetocen.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GrantInstanceToCenWithCallback(request *GrantInstanceToCenRequest, callback func(response *GrantInstanceToCenResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GrantInstanceToCenResponse
+		var err error
+		defer close(result)
+		response, err = client.GrantInstanceToCen(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GrantInstanceToCenRequest is the request struct for api GrantInstanceToCen
+type GrantInstanceToCenRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	InstanceId           string           `position:"Query" name:"InstanceId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	CenId                string           `position:"Query" name:"CenId"`
+	ClientToken          string           `position:"Query" name:"ClientToken"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	InstanceType         string           `position:"Query" name:"InstanceType"`
+	CenOwnerId           requests.Integer `position:"Query" name:"CenOwnerId"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// GrantInstanceToCenResponse is the response struct for api GrantInstanceToCen
+type GrantInstanceToCenResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateGrantInstanceToCenRequest creates a request to invoke GrantInstanceToCen API
+func CreateGrantInstanceToCenRequest() (request *GrantInstanceToCenRequest) {
+	request = &GrantInstanceToCenRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Vpc", "2016-04-28", "GrantInstanceToCen", "vpc", "openAPI")
+	return
+}
+
+// CreateGrantInstanceToCenResponse creates a response to parse from GrantInstanceToCen response
+func CreateGrantInstanceToCenResponse() (response *GrantInstanceToCenResponse) {
+	response = &GrantInstanceToCenResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 1 - 0
services/vpc/modify_forward_entry.go

@@ -79,6 +79,7 @@ type ModifyForwardEntryRequest struct {
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
 	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	IpProtocol           string           `position:"Query" name:"IpProtocol"`
+	ForwardEntryName     string           `position:"Query" name:"ForwardEntryName"`
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
 	ForwardTableId       string           `position:"Query" name:"ForwardTableId"`
 	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`

+ 109 - 0
services/vpc/modify_i_pv6_translator_acl_attribute.go

@@ -0,0 +1,109 @@
+package vpc
+
+//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.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// ModifyIPv6TranslatorAclAttribute invokes the vpc.ModifyIPv6TranslatorAclAttribute API synchronously
+// api document: https://help.aliyun.com/api/vpc/modifyipv6translatoraclattribute.html
+func (client *Client) ModifyIPv6TranslatorAclAttribute(request *ModifyIPv6TranslatorAclAttributeRequest) (response *ModifyIPv6TranslatorAclAttributeResponse, err error) {
+	response = CreateModifyIPv6TranslatorAclAttributeResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyIPv6TranslatorAclAttributeWithChan invokes the vpc.ModifyIPv6TranslatorAclAttribute API asynchronously
+// api document: https://help.aliyun.com/api/vpc/modifyipv6translatoraclattribute.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyIPv6TranslatorAclAttributeWithChan(request *ModifyIPv6TranslatorAclAttributeRequest) (<-chan *ModifyIPv6TranslatorAclAttributeResponse, <-chan error) {
+	responseChan := make(chan *ModifyIPv6TranslatorAclAttributeResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyIPv6TranslatorAclAttribute(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyIPv6TranslatorAclAttributeWithCallback invokes the vpc.ModifyIPv6TranslatorAclAttribute API asynchronously
+// api document: https://help.aliyun.com/api/vpc/modifyipv6translatoraclattribute.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyIPv6TranslatorAclAttributeWithCallback(request *ModifyIPv6TranslatorAclAttributeRequest, callback func(response *ModifyIPv6TranslatorAclAttributeResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyIPv6TranslatorAclAttributeResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyIPv6TranslatorAclAttribute(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyIPv6TranslatorAclAttributeRequest is the request struct for api ModifyIPv6TranslatorAclAttribute
+type ModifyIPv6TranslatorAclAttributeRequest struct {
+	*requests.RpcRequest
+	AclId                string           `position:"Query" name:"AclId"`
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	AclName              string           `position:"Query" name:"AclName"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	ClientToken          string           `position:"Query" name:"ClientToken"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// ModifyIPv6TranslatorAclAttributeResponse is the response struct for api ModifyIPv6TranslatorAclAttribute
+type ModifyIPv6TranslatorAclAttributeResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateModifyIPv6TranslatorAclAttributeRequest creates a request to invoke ModifyIPv6TranslatorAclAttribute API
+func CreateModifyIPv6TranslatorAclAttributeRequest() (request *ModifyIPv6TranslatorAclAttributeRequest) {
+	request = &ModifyIPv6TranslatorAclAttributeRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Vpc", "2016-04-28", "ModifyIPv6TranslatorAclAttribute", "vpc", "openAPI")
+	return
+}
+
+// CreateModifyIPv6TranslatorAclAttributeResponse creates a response to parse from ModifyIPv6TranslatorAclAttribute response
+func CreateModifyIPv6TranslatorAclAttributeResponse() (response *ModifyIPv6TranslatorAclAttributeResponse) {
+	response = &ModifyIPv6TranslatorAclAttributeResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/vpc/modify_i_pv6_translator_acl_list_entry.go

@@ -0,0 +1,109 @@
+package vpc
+
+//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.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// ModifyIPv6TranslatorAclListEntry invokes the vpc.ModifyIPv6TranslatorAclListEntry API synchronously
+// api document: https://help.aliyun.com/api/vpc/modifyipv6translatoracllistentry.html
+func (client *Client) ModifyIPv6TranslatorAclListEntry(request *ModifyIPv6TranslatorAclListEntryRequest) (response *ModifyIPv6TranslatorAclListEntryResponse, err error) {
+	response = CreateModifyIPv6TranslatorAclListEntryResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyIPv6TranslatorAclListEntryWithChan invokes the vpc.ModifyIPv6TranslatorAclListEntry API asynchronously
+// api document: https://help.aliyun.com/api/vpc/modifyipv6translatoracllistentry.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyIPv6TranslatorAclListEntryWithChan(request *ModifyIPv6TranslatorAclListEntryRequest) (<-chan *ModifyIPv6TranslatorAclListEntryResponse, <-chan error) {
+	responseChan := make(chan *ModifyIPv6TranslatorAclListEntryResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyIPv6TranslatorAclListEntry(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyIPv6TranslatorAclListEntryWithCallback invokes the vpc.ModifyIPv6TranslatorAclListEntry API asynchronously
+// api document: https://help.aliyun.com/api/vpc/modifyipv6translatoracllistentry.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyIPv6TranslatorAclListEntryWithCallback(request *ModifyIPv6TranslatorAclListEntryRequest, callback func(response *ModifyIPv6TranslatorAclListEntryResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyIPv6TranslatorAclListEntryResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyIPv6TranslatorAclListEntry(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyIPv6TranslatorAclListEntryRequest is the request struct for api ModifyIPv6TranslatorAclListEntry
+type ModifyIPv6TranslatorAclListEntryRequest struct {
+	*requests.RpcRequest
+	AclId                string           `position:"Query" name:"AclId"`
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	AclEntryComment      string           `position:"Query" name:"AclEntryComment"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	AclEntryId           string           `position:"Query" name:"AclEntryId"`
+}
+
+// ModifyIPv6TranslatorAclListEntryResponse is the response struct for api ModifyIPv6TranslatorAclListEntry
+type ModifyIPv6TranslatorAclListEntryResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateModifyIPv6TranslatorAclListEntryRequest creates a request to invoke ModifyIPv6TranslatorAclListEntry API
+func CreateModifyIPv6TranslatorAclListEntryRequest() (request *ModifyIPv6TranslatorAclListEntryRequest) {
+	request = &ModifyIPv6TranslatorAclListEntryRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Vpc", "2016-04-28", "ModifyIPv6TranslatorAclListEntry", "vpc", "openAPI")
+	return
+}
+
+// CreateModifyIPv6TranslatorAclListEntryResponse creates a response to parse from ModifyIPv6TranslatorAclListEntry response
+func CreateModifyIPv6TranslatorAclListEntryResponse() (response *ModifyIPv6TranslatorAclListEntryResponse) {
+	response = &ModifyIPv6TranslatorAclListEntryResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 3 - 0
services/vpc/modify_i_pv6_translator_entry.go

@@ -77,13 +77,16 @@ func (client *Client) ModifyIPv6TranslatorEntryWithCallback(request *ModifyIPv6T
 type ModifyIPv6TranslatorEntryRequest struct {
 	*requests.RpcRequest
 	BackendIpv4Port       requests.Integer `position:"Query" name:"BackendIpv4Port"`
+	AclId                 string           `position:"Query" name:"AclId"`
 	ResourceOwnerId       requests.Integer `position:"Query" name:"ResourceOwnerId"`
 	Ipv6TranslatorEntryId string           `position:"Query" name:"Ipv6TranslatorEntryId"`
 	ResourceOwnerAccount  string           `position:"Query" name:"ResourceOwnerAccount"`
 	EntryName             string           `position:"Query" name:"EntryName"`
 	OwnerAccount          string           `position:"Query" name:"OwnerAccount"`
 	OwnerId               requests.Integer `position:"Query" name:"OwnerId"`
+	AclStatus             string           `position:"Query" name:"AclStatus"`
 	EntryBandwidth        requests.Integer `position:"Query" name:"EntryBandwidth"`
+	AclType               string           `position:"Query" name:"AclType"`
 	AllocateIpv6Port      requests.Integer `position:"Query" name:"AllocateIpv6Port"`
 	EntryDescription      string           `position:"Query" name:"EntryDescription"`
 	BackendIpv4Addr       string           `position:"Query" name:"BackendIpv4Addr"`

+ 109 - 0
services/vpc/modify_ipv6_address_attribute.go

@@ -0,0 +1,109 @@
+package vpc
+
+//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.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// ModifyIpv6AddressAttribute invokes the vpc.ModifyIpv6AddressAttribute API synchronously
+// api document: https://help.aliyun.com/api/vpc/modifyipv6addressattribute.html
+func (client *Client) ModifyIpv6AddressAttribute(request *ModifyIpv6AddressAttributeRequest) (response *ModifyIpv6AddressAttributeResponse, err error) {
+	response = CreateModifyIpv6AddressAttributeResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyIpv6AddressAttributeWithChan invokes the vpc.ModifyIpv6AddressAttribute API asynchronously
+// api document: https://help.aliyun.com/api/vpc/modifyipv6addressattribute.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyIpv6AddressAttributeWithChan(request *ModifyIpv6AddressAttributeRequest) (<-chan *ModifyIpv6AddressAttributeResponse, <-chan error) {
+	responseChan := make(chan *ModifyIpv6AddressAttributeResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyIpv6AddressAttribute(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyIpv6AddressAttributeWithCallback invokes the vpc.ModifyIpv6AddressAttribute API asynchronously
+// api document: https://help.aliyun.com/api/vpc/modifyipv6addressattribute.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyIpv6AddressAttributeWithCallback(request *ModifyIpv6AddressAttributeRequest, callback func(response *ModifyIpv6AddressAttributeResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyIpv6AddressAttributeResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyIpv6AddressAttribute(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyIpv6AddressAttributeRequest is the request struct for api ModifyIpv6AddressAttribute
+type ModifyIpv6AddressAttributeRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	Description          string           `position:"Query" name:"Description"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	Ipv6AddressId        string           `position:"Query" name:"Ipv6AddressId"`
+	Name                 string           `position:"Query" name:"Name"`
+}
+
+// ModifyIpv6AddressAttributeResponse is the response struct for api ModifyIpv6AddressAttribute
+type ModifyIpv6AddressAttributeResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateModifyIpv6AddressAttributeRequest creates a request to invoke ModifyIpv6AddressAttribute API
+func CreateModifyIpv6AddressAttributeRequest() (request *ModifyIpv6AddressAttributeRequest) {
+	request = &ModifyIpv6AddressAttributeRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Vpc", "2016-04-28", "ModifyIpv6AddressAttribute", "vpc", "openAPI")
+	return
+}
+
+// CreateModifyIpv6AddressAttributeResponse creates a response to parse from ModifyIpv6AddressAttribute response
+func CreateModifyIpv6AddressAttributeResponse() (response *ModifyIpv6AddressAttributeResponse) {
+	response = &ModifyIpv6AddressAttributeResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/vpc/modify_ipv6_gateway_attribute.go

@@ -0,0 +1,109 @@
+package vpc
+
+//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.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// ModifyIpv6GatewayAttribute invokes the vpc.ModifyIpv6GatewayAttribute API synchronously
+// api document: https://help.aliyun.com/api/vpc/modifyipv6gatewayattribute.html
+func (client *Client) ModifyIpv6GatewayAttribute(request *ModifyIpv6GatewayAttributeRequest) (response *ModifyIpv6GatewayAttributeResponse, err error) {
+	response = CreateModifyIpv6GatewayAttributeResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyIpv6GatewayAttributeWithChan invokes the vpc.ModifyIpv6GatewayAttribute API asynchronously
+// api document: https://help.aliyun.com/api/vpc/modifyipv6gatewayattribute.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyIpv6GatewayAttributeWithChan(request *ModifyIpv6GatewayAttributeRequest) (<-chan *ModifyIpv6GatewayAttributeResponse, <-chan error) {
+	responseChan := make(chan *ModifyIpv6GatewayAttributeResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyIpv6GatewayAttribute(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyIpv6GatewayAttributeWithCallback invokes the vpc.ModifyIpv6GatewayAttribute API asynchronously
+// api document: https://help.aliyun.com/api/vpc/modifyipv6gatewayattribute.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyIpv6GatewayAttributeWithCallback(request *ModifyIpv6GatewayAttributeRequest, callback func(response *ModifyIpv6GatewayAttributeResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyIpv6GatewayAttributeResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyIpv6GatewayAttribute(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyIpv6GatewayAttributeRequest is the request struct for api ModifyIpv6GatewayAttribute
+type ModifyIpv6GatewayAttributeRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	Description          string           `position:"Query" name:"Description"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	Ipv6GatewayId        string           `position:"Query" name:"Ipv6GatewayId"`
+	Name                 string           `position:"Query" name:"Name"`
+}
+
+// ModifyIpv6GatewayAttributeResponse is the response struct for api ModifyIpv6GatewayAttribute
+type ModifyIpv6GatewayAttributeResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateModifyIpv6GatewayAttributeRequest creates a request to invoke ModifyIpv6GatewayAttribute API
+func CreateModifyIpv6GatewayAttributeRequest() (request *ModifyIpv6GatewayAttributeRequest) {
+	request = &ModifyIpv6GatewayAttributeRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Vpc", "2016-04-28", "ModifyIpv6GatewayAttribute", "vpc", "openAPI")
+	return
+}
+
+// CreateModifyIpv6GatewayAttributeResponse creates a response to parse from ModifyIpv6GatewayAttribute response
+func CreateModifyIpv6GatewayAttributeResponse() (response *ModifyIpv6GatewayAttributeResponse) {
+	response = &ModifyIpv6GatewayAttributeResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/vpc/modify_ipv6_gateway_spec.go

@@ -0,0 +1,109 @@
+package vpc
+
+//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.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// ModifyIpv6GatewaySpec invokes the vpc.ModifyIpv6GatewaySpec API synchronously
+// api document: https://help.aliyun.com/api/vpc/modifyipv6gatewayspec.html
+func (client *Client) ModifyIpv6GatewaySpec(request *ModifyIpv6GatewaySpecRequest) (response *ModifyIpv6GatewaySpecResponse, err error) {
+	response = CreateModifyIpv6GatewaySpecResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyIpv6GatewaySpecWithChan invokes the vpc.ModifyIpv6GatewaySpec API asynchronously
+// api document: https://help.aliyun.com/api/vpc/modifyipv6gatewayspec.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyIpv6GatewaySpecWithChan(request *ModifyIpv6GatewaySpecRequest) (<-chan *ModifyIpv6GatewaySpecResponse, <-chan error) {
+	responseChan := make(chan *ModifyIpv6GatewaySpecResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyIpv6GatewaySpec(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyIpv6GatewaySpecWithCallback invokes the vpc.ModifyIpv6GatewaySpec API asynchronously
+// api document: https://help.aliyun.com/api/vpc/modifyipv6gatewayspec.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyIpv6GatewaySpecWithCallback(request *ModifyIpv6GatewaySpecRequest, callback func(response *ModifyIpv6GatewaySpecResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyIpv6GatewaySpecResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyIpv6GatewaySpec(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyIpv6GatewaySpecRequest is the request struct for api ModifyIpv6GatewaySpec
+type ModifyIpv6GatewaySpecRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ClientToken          string           `position:"Query" name:"ClientToken"`
+	Spec                 string           `position:"Query" name:"Spec"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	Ipv6GatewayId        string           `position:"Query" name:"Ipv6GatewayId"`
+}
+
+// ModifyIpv6GatewaySpecResponse is the response struct for api ModifyIpv6GatewaySpec
+type ModifyIpv6GatewaySpecResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateModifyIpv6GatewaySpecRequest creates a request to invoke ModifyIpv6GatewaySpec API
+func CreateModifyIpv6GatewaySpecRequest() (request *ModifyIpv6GatewaySpecRequest) {
+	request = &ModifyIpv6GatewaySpecRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Vpc", "2016-04-28", "ModifyIpv6GatewaySpec", "vpc", "openAPI")
+	return
+}
+
+// CreateModifyIpv6GatewaySpecResponse creates a response to parse from ModifyIpv6GatewaySpec response
+func CreateModifyIpv6GatewaySpecResponse() (response *ModifyIpv6GatewaySpecResponse) {
+	response = &ModifyIpv6GatewaySpecResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/vpc/modify_ipv6_internet_bandwidth.go

@@ -0,0 +1,110 @@
+package vpc
+
+//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.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// ModifyIpv6InternetBandwidth invokes the vpc.ModifyIpv6InternetBandwidth API synchronously
+// api document: https://help.aliyun.com/api/vpc/modifyipv6internetbandwidth.html
+func (client *Client) ModifyIpv6InternetBandwidth(request *ModifyIpv6InternetBandwidthRequest) (response *ModifyIpv6InternetBandwidthResponse, err error) {
+	response = CreateModifyIpv6InternetBandwidthResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyIpv6InternetBandwidthWithChan invokes the vpc.ModifyIpv6InternetBandwidth API asynchronously
+// api document: https://help.aliyun.com/api/vpc/modifyipv6internetbandwidth.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyIpv6InternetBandwidthWithChan(request *ModifyIpv6InternetBandwidthRequest) (<-chan *ModifyIpv6InternetBandwidthResponse, <-chan error) {
+	responseChan := make(chan *ModifyIpv6InternetBandwidthResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyIpv6InternetBandwidth(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyIpv6InternetBandwidthWithCallback invokes the vpc.ModifyIpv6InternetBandwidth API asynchronously
+// api document: https://help.aliyun.com/api/vpc/modifyipv6internetbandwidth.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyIpv6InternetBandwidthWithCallback(request *ModifyIpv6InternetBandwidthRequest, callback func(response *ModifyIpv6InternetBandwidthResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyIpv6InternetBandwidthResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyIpv6InternetBandwidth(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyIpv6InternetBandwidthRequest is the request struct for api ModifyIpv6InternetBandwidth
+type ModifyIpv6InternetBandwidthRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId         requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ClientToken             string           `position:"Query" name:"ClientToken"`
+	Ipv6InternetBandwidthId string           `position:"Query" name:"Ipv6InternetBandwidthId"`
+	Bandwidth               requests.Integer `position:"Query" name:"Bandwidth"`
+	ResourceOwnerAccount    string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount            string           `position:"Query" name:"OwnerAccount"`
+	OwnerId                 requests.Integer `position:"Query" name:"OwnerId"`
+	Ipv6AddressId           string           `position:"Query" name:"Ipv6AddressId"`
+}
+
+// ModifyIpv6InternetBandwidthResponse is the response struct for api ModifyIpv6InternetBandwidth
+type ModifyIpv6InternetBandwidthResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateModifyIpv6InternetBandwidthRequest creates a request to invoke ModifyIpv6InternetBandwidth API
+func CreateModifyIpv6InternetBandwidthRequest() (request *ModifyIpv6InternetBandwidthRequest) {
+	request = &ModifyIpv6InternetBandwidthRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Vpc", "2016-04-28", "ModifyIpv6InternetBandwidth", "vpc", "openAPI")
+	return
+}
+
+// CreateModifyIpv6InternetBandwidthResponse creates a response to parse from ModifyIpv6InternetBandwidth response
+func CreateModifyIpv6InternetBandwidthResponse() (response *ModifyIpv6InternetBandwidthResponse) {
+	response = &ModifyIpv6InternetBandwidthResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 1 - 0
services/vpc/modify_nat_gateway_spec.go

@@ -77,6 +77,7 @@ func (client *Client) ModifyNatGatewaySpecWithCallback(request *ModifyNatGateway
 type ModifyNatGatewaySpecRequest struct {
 	*requests.RpcRequest
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	AutoPay              requests.Boolean `position:"Query" name:"AutoPay"`
 	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	ClientToken          string           `position:"Query" name:"ClientToken"`
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`

+ 107 - 0
services/vpc/modify_route_entry.go

@@ -0,0 +1,107 @@
+package vpc
+
+//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.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// ModifyRouteEntry invokes the vpc.ModifyRouteEntry API synchronously
+// api document: https://help.aliyun.com/api/vpc/modifyrouteentry.html
+func (client *Client) ModifyRouteEntry(request *ModifyRouteEntryRequest) (response *ModifyRouteEntryResponse, err error) {
+	response = CreateModifyRouteEntryResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyRouteEntryWithChan invokes the vpc.ModifyRouteEntry API asynchronously
+// api document: https://help.aliyun.com/api/vpc/modifyrouteentry.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyRouteEntryWithChan(request *ModifyRouteEntryRequest) (<-chan *ModifyRouteEntryResponse, <-chan error) {
+	responseChan := make(chan *ModifyRouteEntryResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyRouteEntry(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyRouteEntryWithCallback invokes the vpc.ModifyRouteEntry API asynchronously
+// api document: https://help.aliyun.com/api/vpc/modifyrouteentry.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyRouteEntryWithCallback(request *ModifyRouteEntryRequest, callback func(response *ModifyRouteEntryResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyRouteEntryResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyRouteEntry(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyRouteEntryRequest is the request struct for api ModifyRouteEntry
+type ModifyRouteEntryRequest struct {
+	*requests.RpcRequest
+	RouteEntryName       string           `position:"Query" name:"RouteEntryName"`
+	RouteEntryId         string           `position:"Query" name:"RouteEntryId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// ModifyRouteEntryResponse is the response struct for api ModifyRouteEntry
+type ModifyRouteEntryResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateModifyRouteEntryRequest creates a request to invoke ModifyRouteEntry API
+func CreateModifyRouteEntryRequest() (request *ModifyRouteEntryRequest) {
+	request = &ModifyRouteEntryRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Vpc", "2016-04-28", "ModifyRouteEntry", "vpc", "openAPI")
+	return
+}
+
+// CreateModifyRouteEntryResponse creates a response to parse from ModifyRouteEntry response
+func CreateModifyRouteEntryResponse() (response *ModifyRouteEntryResponse) {
+	response = &ModifyRouteEntryResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 1 - 0
services/vpc/modify_snat_entry.go

@@ -79,6 +79,7 @@ type ModifySnatEntryRequest struct {
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
 	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	SnatEntryName        string           `position:"Query" name:"SnatEntryName"`
 	SnatTableId          string           `position:"Query" name:"SnatTableId"`
 	SnatEntryId          string           `position:"Query" name:"SnatEntryId"`
 	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`

+ 1 - 0
services/vpc/modify_v_switch_attribute.go

@@ -83,6 +83,7 @@ type ModifyVSwitchAttributeRequest struct {
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
 	Description          string           `position:"Query" name:"Description"`
 	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	Ipv6CidrBlock        requests.Integer `position:"Query" name:"Ipv6CidrBlock"`
 }
 
 // ModifyVSwitchAttributeResponse is the response struct for api ModifyVSwitchAttribute

+ 1 - 0
services/vpc/modify_vpc_attribute.go

@@ -82,6 +82,7 @@ type ModifyVpcAttributeRequest struct {
 	VpcId                string           `position:"Query" name:"VpcId"`
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
 	CidrBlock            string           `position:"Query" name:"CidrBlock"`
+	EnableIPv6           requests.Boolean `position:"Query" name:"EnableIPv6"`
 	Description          string           `position:"Query" name:"Description"`
 	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
 }

+ 109 - 0
services/vpc/remove_i_pv6_translator_acl_list_entry.go

@@ -0,0 +1,109 @@
+package vpc
+
+//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.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// RemoveIPv6TranslatorAclListEntry invokes the vpc.RemoveIPv6TranslatorAclListEntry API synchronously
+// api document: https://help.aliyun.com/api/vpc/removeipv6translatoracllistentry.html
+func (client *Client) RemoveIPv6TranslatorAclListEntry(request *RemoveIPv6TranslatorAclListEntryRequest) (response *RemoveIPv6TranslatorAclListEntryResponse, err error) {
+	response = CreateRemoveIPv6TranslatorAclListEntryResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// RemoveIPv6TranslatorAclListEntryWithChan invokes the vpc.RemoveIPv6TranslatorAclListEntry API asynchronously
+// api document: https://help.aliyun.com/api/vpc/removeipv6translatoracllistentry.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) RemoveIPv6TranslatorAclListEntryWithChan(request *RemoveIPv6TranslatorAclListEntryRequest) (<-chan *RemoveIPv6TranslatorAclListEntryResponse, <-chan error) {
+	responseChan := make(chan *RemoveIPv6TranslatorAclListEntryResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.RemoveIPv6TranslatorAclListEntry(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// RemoveIPv6TranslatorAclListEntryWithCallback invokes the vpc.RemoveIPv6TranslatorAclListEntry API asynchronously
+// api document: https://help.aliyun.com/api/vpc/removeipv6translatoracllistentry.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) RemoveIPv6TranslatorAclListEntryWithCallback(request *RemoveIPv6TranslatorAclListEntryRequest, callback func(response *RemoveIPv6TranslatorAclListEntryResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *RemoveIPv6TranslatorAclListEntryResponse
+		var err error
+		defer close(result)
+		response, err = client.RemoveIPv6TranslatorAclListEntry(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// RemoveIPv6TranslatorAclListEntryRequest is the request struct for api RemoveIPv6TranslatorAclListEntry
+type RemoveIPv6TranslatorAclListEntryRequest struct {
+	*requests.RpcRequest
+	AclId                string           `position:"Query" name:"AclId"`
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	ClientToken          string           `position:"Query" name:"ClientToken"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	AclEntryId           string           `position:"Query" name:"AclEntryId"`
+}
+
+// RemoveIPv6TranslatorAclListEntryResponse is the response struct for api RemoveIPv6TranslatorAclListEntry
+type RemoveIPv6TranslatorAclListEntryResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateRemoveIPv6TranslatorAclListEntryRequest creates a request to invoke RemoveIPv6TranslatorAclListEntry API
+func CreateRemoveIPv6TranslatorAclListEntryRequest() (request *RemoveIPv6TranslatorAclListEntryRequest) {
+	request = &RemoveIPv6TranslatorAclListEntryRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Vpc", "2016-04-28", "RemoveIPv6TranslatorAclListEntry", "vpc", "openAPI")
+	return
+}
+
+// CreateRemoveIPv6TranslatorAclListEntryResponse creates a response to parse from RemoveIPv6TranslatorAclListEntry response
+func CreateRemoveIPv6TranslatorAclListEntryResponse() (response *RemoveIPv6TranslatorAclListEntryResponse) {
+	response = &RemoveIPv6TranslatorAclListEntryResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 111 - 0
services/vpc/revoke_instance_from_cen.go

@@ -0,0 +1,111 @@
+package vpc
+
+//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.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// RevokeInstanceFromCen invokes the vpc.RevokeInstanceFromCen API synchronously
+// api document: https://help.aliyun.com/api/vpc/revokeinstancefromcen.html
+func (client *Client) RevokeInstanceFromCen(request *RevokeInstanceFromCenRequest) (response *RevokeInstanceFromCenResponse, err error) {
+	response = CreateRevokeInstanceFromCenResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// RevokeInstanceFromCenWithChan invokes the vpc.RevokeInstanceFromCen API asynchronously
+// api document: https://help.aliyun.com/api/vpc/revokeinstancefromcen.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) RevokeInstanceFromCenWithChan(request *RevokeInstanceFromCenRequest) (<-chan *RevokeInstanceFromCenResponse, <-chan error) {
+	responseChan := make(chan *RevokeInstanceFromCenResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.RevokeInstanceFromCen(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// RevokeInstanceFromCenWithCallback invokes the vpc.RevokeInstanceFromCen API asynchronously
+// api document: https://help.aliyun.com/api/vpc/revokeinstancefromcen.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) RevokeInstanceFromCenWithCallback(request *RevokeInstanceFromCenRequest, callback func(response *RevokeInstanceFromCenResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *RevokeInstanceFromCenResponse
+		var err error
+		defer close(result)
+		response, err = client.RevokeInstanceFromCen(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// RevokeInstanceFromCenRequest is the request struct for api RevokeInstanceFromCen
+type RevokeInstanceFromCenRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	InstanceId           string           `position:"Query" name:"InstanceId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	CenId                string           `position:"Query" name:"CenId"`
+	ClientToken          string           `position:"Query" name:"ClientToken"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	InstanceType         string           `position:"Query" name:"InstanceType"`
+	CenOwnerId           requests.Integer `position:"Query" name:"CenOwnerId"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// RevokeInstanceFromCenResponse is the response struct for api RevokeInstanceFromCen
+type RevokeInstanceFromCenResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateRevokeInstanceFromCenRequest creates a request to invoke RevokeInstanceFromCen API
+func CreateRevokeInstanceFromCenRequest() (request *RevokeInstanceFromCenRequest) {
+	request = &RevokeInstanceFromCenRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Vpc", "2016-04-28", "RevokeInstanceFromCen", "vpc", "openAPI")
+	return
+}
+
+// CreateRevokeInstanceFromCenResponse creates a response to parse from RevokeInstanceFromCen response
+func CreateRevokeInstanceFromCenResponse() (response *RevokeInstanceFromCenResponse) {
+	response = &RevokeInstanceFromCenResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 0 - 112
services/vpc/set_high_definition_monitor_log_status.go

@@ -1,112 +0,0 @@
-package vpc
-
-//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.
-//
-// Code generated by Alibaba Cloud SDK Code Generator.
-// Changes may cause incorrect behavior and will be lost if the code is regenerated.
-
-import (
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
-	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
-)
-
-// SetHighDefinitionMonitorLogStatus invokes the vpc.SetHighDefinitionMonitorLogStatus API synchronously
-// api document: https://help.aliyun.com/api/vpc/sethighdefinitionmonitorlogstatus.html
-func (client *Client) SetHighDefinitionMonitorLogStatus(request *SetHighDefinitionMonitorLogStatusRequest) (response *SetHighDefinitionMonitorLogStatusResponse, err error) {
-	response = CreateSetHighDefinitionMonitorLogStatusResponse()
-	err = client.DoAction(request, response)
-	return
-}
-
-// SetHighDefinitionMonitorLogStatusWithChan invokes the vpc.SetHighDefinitionMonitorLogStatus API asynchronously
-// api document: https://help.aliyun.com/api/vpc/sethighdefinitionmonitorlogstatus.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) SetHighDefinitionMonitorLogStatusWithChan(request *SetHighDefinitionMonitorLogStatusRequest) (<-chan *SetHighDefinitionMonitorLogStatusResponse, <-chan error) {
-	responseChan := make(chan *SetHighDefinitionMonitorLogStatusResponse, 1)
-	errChan := make(chan error, 1)
-	err := client.AddAsyncTask(func() {
-		defer close(responseChan)
-		defer close(errChan)
-		response, err := client.SetHighDefinitionMonitorLogStatus(request)
-		if err != nil {
-			errChan <- err
-		} else {
-			responseChan <- response
-		}
-	})
-	if err != nil {
-		errChan <- err
-		close(responseChan)
-		close(errChan)
-	}
-	return responseChan, errChan
-}
-
-// SetHighDefinitionMonitorLogStatusWithCallback invokes the vpc.SetHighDefinitionMonitorLogStatus API asynchronously
-// api document: https://help.aliyun.com/api/vpc/sethighdefinitionmonitorlogstatus.html
-// asynchronous document: https://help.aliyun.com/document_detail/66220.html
-func (client *Client) SetHighDefinitionMonitorLogStatusWithCallback(request *SetHighDefinitionMonitorLogStatusRequest, callback func(response *SetHighDefinitionMonitorLogStatusResponse, err error)) <-chan int {
-	result := make(chan int, 1)
-	err := client.AddAsyncTask(func() {
-		var response *SetHighDefinitionMonitorLogStatusResponse
-		var err error
-		defer close(result)
-		response, err = client.SetHighDefinitionMonitorLogStatus(request)
-		callback(response, err)
-		result <- 1
-	})
-	if err != nil {
-		defer close(result)
-		callback(nil, err)
-		result <- 0
-	}
-	return result
-}
-
-// SetHighDefinitionMonitorLogStatusRequest is the request struct for api SetHighDefinitionMonitorLogStatus
-type SetHighDefinitionMonitorLogStatusRequest struct {
-	*requests.RpcRequest
-	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
-	InstanceId           string           `position:"Query" name:"InstanceId"`
-	LogProject           string           `position:"Query" name:"LogProject"`
-	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
-	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
-	InstanceType         string           `position:"Query" name:"InstanceType"`
-	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	LogStore             string           `position:"Query" name:"LogStore"`
-	Status               string           `position:"Query" name:"Status"`
-}
-
-// SetHighDefinitionMonitorLogStatusResponse is the response struct for api SetHighDefinitionMonitorLogStatus
-type SetHighDefinitionMonitorLogStatusResponse struct {
-	*responses.BaseResponse
-	RequestId string `json:"RequestId" xml:"RequestId"`
-	Success   string `json:"Success" xml:"Success"`
-}
-
-// CreateSetHighDefinitionMonitorLogStatusRequest creates a request to invoke SetHighDefinitionMonitorLogStatus API
-func CreateSetHighDefinitionMonitorLogStatusRequest() (request *SetHighDefinitionMonitorLogStatusRequest) {
-	request = &SetHighDefinitionMonitorLogStatusRequest{
-		RpcRequest: &requests.RpcRequest{},
-	}
-	request.InitWithApiInfo("Vpc", "2016-04-28", "SetHighDefinitionMonitorLogStatus", "vpc", "openAPI")
-	return
-}
-
-// CreateSetHighDefinitionMonitorLogStatusResponse creates a response to parse from SetHighDefinitionMonitorLogStatus response
-func CreateSetHighDefinitionMonitorLogStatusResponse() (response *SetHighDefinitionMonitorLogStatusResponse) {
-	response = &SetHighDefinitionMonitorLogStatusResponse{
-		BaseResponse: &responses.BaseResponse{},
-	}
-	return
-}

+ 3 - 3
services/vpc/struct_forward_tables.go → services/vpc/struct_acl_entries.go

@@ -15,7 +15,7 @@ package vpc
 // Code generated by Alibaba Cloud SDK Code Generator.
 // Changes may cause incorrect behavior and will be lost if the code is regenerated.
 
-// ForwardTables is a nested struct in vpc response
-type ForwardTables struct {
-	ForwardTable []ForwardTable `json:"ForwardTable" xml:"ForwardTable"`
+// AclEntries is a nested struct in vpc response
+type AclEntries struct {
+	AclEntry []AclEntry `json:"AclEntry" xml:"AclEntry"`
 }

+ 23 - 0
services/vpc/struct_acl_entry.go

@@ -0,0 +1,23 @@
+package vpc
+
+//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.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// AclEntry is a nested struct in vpc response
+type AclEntry struct {
+	AclEntryId      string `json:"AclEntryId" xml:"AclEntryId"`
+	AclEntryIp      string `json:"AclEntryIp" xml:"AclEntryIp"`
+	AclEntryComment string `json:"AclEntryComment" xml:"AclEntryComment"`
+}

+ 5 - 3
services/vpc/struct_eip_monitor_datas_in_describe_new_project_eip_monitor_data.go → services/vpc/struct_bgp_network.go

@@ -15,7 +15,9 @@ package vpc
 // Code generated by Alibaba Cloud SDK Code Generator.
 // Changes may cause incorrect behavior and will be lost if the code is regenerated.
 
-// EipMonitorDatasInDescribeNewProjectEipMonitorData is a nested struct in vpc response
-type EipMonitorDatasInDescribeNewProjectEipMonitorData struct {
-	EipMonitorData []EipMonitorData `json:"EipMonitorData" xml:"EipMonitorData"`
+// BgpNetwork is a nested struct in vpc response
+type BgpNetwork struct {
+	VpcId        string `json:"VpcId" xml:"VpcId"`
+	DstCidrBlock string `json:"DstCidrBlock" xml:"DstCidrBlock"`
+	RouterId     string `json:"RouterId" xml:"RouterId"`
 }

+ 3 - 3
services/vpc/struct_forward_entrys.go → services/vpc/struct_bgp_networks.go

@@ -15,7 +15,7 @@ package vpc
 // Code generated by Alibaba Cloud SDK Code Generator.
 // Changes may cause incorrect behavior and will be lost if the code is regenerated.
 
-// ForwardEntrys is a nested struct in vpc response
-type ForwardEntrys struct {
-	ForwardEntry []ForwardEntry `json:"ForwardEntry" xml:"ForwardEntry"`
+// BgpNetworks is a nested struct in vpc response
+type BgpNetworks struct {
+	BgpNetwork []BgpNetwork `json:"BgpNetwork" xml:"BgpNetwork"`
 }

+ 23 - 0
services/vpc/struct_cbn_grant_rule.go

@@ -0,0 +1,23 @@
+package vpc
+
+//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.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// CbnGrantRule is a nested struct in vpc response
+type CbnGrantRule struct {
+	CenInstanceId string `json:"CenInstanceId" xml:"CenInstanceId"`
+	CenOwnerId    int    `json:"CenOwnerId" xml:"CenOwnerId"`
+	CreationTime  string `json:"CreationTime" xml:"CreationTime"`
+}

+ 21 - 0
services/vpc/struct_cen_grant_rules.go

@@ -0,0 +1,21 @@
+package vpc
+
+//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.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// CenGrantRules is a nested struct in vpc response
+type CenGrantRules struct {
+	CbnGrantRule []CbnGrantRule `json:"CbnGrantRule" xml:"CbnGrantRule"`
+}

+ 2 - 0
services/vpc/struct_common_bandwidth_package.go

@@ -29,10 +29,12 @@ type CommonBandwidthPackage struct {
 	ExpiredTime                   string                                             `json:"ExpiredTime" xml:"ExpiredTime"`
 	Status                        string                                             `json:"Status" xml:"Status"`
 	Ratio                         int                                                `json:"Ratio" xml:"Ratio"`
+	ResourceGroupId               string                                             `json:"ResourceGroupId" xml:"ResourceGroupId"`
 	HasReservationData            string                                             `json:"HasReservationData" xml:"HasReservationData"`
 	ReservationBandwidth          string                                             `json:"ReservationBandwidth" xml:"ReservationBandwidth"`
 	ReservationInternetChargeType string                                             `json:"ReservationInternetChargeType" xml:"ReservationInternetChargeType"`
 	ReservationActiveTime         string                                             `json:"ReservationActiveTime" xml:"ReservationActiveTime"`
 	ReservationOrderType          string                                             `json:"ReservationOrderType" xml:"ReservationOrderType"`
+	ISP                           string                                             `json:"ISP" xml:"ISP"`
 	PublicIpAddresses             PublicIpAddressesInDescribeCommonBandwidthPackages `json:"PublicIpAddresses" xml:"PublicIpAddresses"`
 }

+ 3 - 0
services/vpc/struct_eip_address.go

@@ -19,6 +19,7 @@ package vpc
 type EipAddress struct {
 	RegionId                      string                               `json:"RegionId" xml:"RegionId"`
 	IpAddress                     string                               `json:"IpAddress" xml:"IpAddress"`
+	PrivateIpAddress              string                               `json:"PrivateIpAddress" xml:"PrivateIpAddress"`
 	AllocationId                  string                               `json:"AllocationId" xml:"AllocationId"`
 	Status                        string                               `json:"Status" xml:"Status"`
 	InstanceId                    string                               `json:"InstanceId" xml:"InstanceId"`
@@ -42,6 +43,8 @@ type EipAddress struct {
 	ReservationInternetChargeType string                               `json:"ReservationInternetChargeType" xml:"ReservationInternetChargeType"`
 	ReservationActiveTime         string                               `json:"ReservationActiveTime" xml:"ReservationActiveTime"`
 	ReservationOrderType          string                               `json:"ReservationOrderType" xml:"ReservationOrderType"`
+	Mode                          string                               `json:"Mode" xml:"Mode"`
 	AvailableRegions              AvailableRegions                     `json:"AvailableRegions" xml:"AvailableRegions"`
 	OperationLocks                OperationLocksInDescribeEipAddresses `json:"OperationLocks" xml:"OperationLocks"`
+	Tags                          TagsInDescribeEipAddresses           `json:"Tags" xml:"Tags"`
 }

+ 4 - 4
services/vpc/struct_eip_monitor_data.go

@@ -17,10 +17,10 @@ package vpc
 
 // EipMonitorData is a nested struct in vpc response
 type EipMonitorData struct {
-	EipPackets   int    `json:"EipPackets" xml:"EipPackets"`
-	TimeStamp    string `json:"TimeStamp" xml:"TimeStamp"`
-	EipFlow      int    `json:"EipFlow" xml:"EipFlow"`
 	EipRX        int    `json:"EipRX" xml:"EipRX"`
-	EipBandwidth int    `json:"EipBandwidth" xml:"EipBandwidth"`
 	EipTX        int    `json:"EipTX" xml:"EipTX"`
+	EipFlow      int    `json:"EipFlow" xml:"EipFlow"`
+	EipBandwidth int    `json:"EipBandwidth" xml:"EipBandwidth"`
+	EipPackets   int    `json:"EipPackets" xml:"EipPackets"`
+	TimeStamp    string `json:"TimeStamp" xml:"TimeStamp"`
 }

+ 2 - 2
services/vpc/struct_eip_monitor_datas_in_describe_eip_monitor_data.go → services/vpc/struct_eip_monitor_datas.go

@@ -15,7 +15,7 @@ package vpc
 // Code generated by Alibaba Cloud SDK Code Generator.
 // Changes may cause incorrect behavior and will be lost if the code is regenerated.
 
-// EipMonitorDatasInDescribeEipMonitorData is a nested struct in vpc response
-type EipMonitorDatasInDescribeEipMonitorData struct {
+// EipMonitorDatas is a nested struct in vpc response
+type EipMonitorDatas struct {
 	EipMonitorData []EipMonitorData `json:"EipMonitorData" xml:"EipMonitorData"`
 }

+ 2 - 1
services/vpc/struct_flow_log.go

@@ -19,7 +19,7 @@ package vpc
 type FlowLog struct {
 	FlowLogId    string `json:"FlowLogId" xml:"FlowLogId"`
 	FlowLogName  string `json:"FlowLogName" xml:"FlowLogName"`
-	Descripthon  string `json:"Descripthon" xml:"Descripthon"`
+	Description  string `json:"Description" xml:"Description"`
 	CreationTime string `json:"CreationTime" xml:"CreationTime"`
 	ResourceType string `json:"ResourceType" xml:"ResourceType"`
 	ResourceId   string `json:"ResourceId" xml:"ResourceId"`
@@ -27,4 +27,5 @@ type FlowLog struct {
 	LogStoreName string `json:"LogStoreName" xml:"LogStoreName"`
 	Status       string `json:"Status" xml:"Status"`
 	TrafficType  string `json:"TrafficType" xml:"TrafficType"`
+	RegionId     string `json:"RegionId" xml:"RegionId"`
 }

+ 0 - 28
services/vpc/struct_forward_entry.go

@@ -1,28 +0,0 @@
-package vpc
-
-//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.
-//
-// Code generated by Alibaba Cloud SDK Code Generator.
-// Changes may cause incorrect behavior and will be lost if the code is regenerated.
-
-// ForwardEntry is a nested struct in vpc response
-type ForwardEntry struct {
-	ForwardTableId string `json:"ForwardTableId" xml:"ForwardTableId"`
-	ForwardEntryId string `json:"ForwardEntryId" xml:"ForwardEntryId"`
-	ExternalIp     string `json:"ExternalIp" xml:"ExternalIp"`
-	ExternalPort   string `json:"ExternalPort" xml:"ExternalPort"`
-	IpProtocol     string `json:"IpProtocol" xml:"IpProtocol"`
-	InternalIp     string `json:"InternalIp" xml:"InternalIp"`
-	InternalPort   string `json:"InternalPort" xml:"InternalPort"`
-	Status         string `json:"Status" xml:"Status"`
-}

+ 0 - 24
services/vpc/struct_forward_table.go

@@ -1,24 +0,0 @@
-package vpc
-
-//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.
-//
-// Code generated by Alibaba Cloud SDK Code Generator.
-// Changes may cause incorrect behavior and will be lost if the code is regenerated.
-
-// ForwardTable is a nested struct in vpc response
-type ForwardTable struct {
-	NatGatewayId   string        `json:"NatGatewayId" xml:"NatGatewayId"`
-	ForwardTableId string        `json:"ForwardTableId" xml:"ForwardTableId"`
-	CreationTime   string        `json:"CreationTime" xml:"CreationTime"`
-	ForwardEntrys  ForwardEntrys `json:"ForwardEntrys" xml:"ForwardEntrys"`
-}

+ 9 - 8
services/vpc/struct_forward_table_entry.go

@@ -17,12 +17,13 @@ package vpc
 
 // ForwardTableEntry is a nested struct in vpc response
 type ForwardTableEntry struct {
-	ForwardTableId string `json:"ForwardTableId" xml:"ForwardTableId"`
-	ForwardEntryId string `json:"ForwardEntryId" xml:"ForwardEntryId"`
-	ExternalIp     string `json:"ExternalIp" xml:"ExternalIp"`
-	ExternalPort   string `json:"ExternalPort" xml:"ExternalPort"`
-	IpProtocol     string `json:"IpProtocol" xml:"IpProtocol"`
-	InternalIp     string `json:"InternalIp" xml:"InternalIp"`
-	InternalPort   string `json:"InternalPort" xml:"InternalPort"`
-	Status         string `json:"Status" xml:"Status"`
+	ForwardTableId   string `json:"ForwardTableId" xml:"ForwardTableId"`
+	ForwardEntryId   string `json:"ForwardEntryId" xml:"ForwardEntryId"`
+	ExternalIp       string `json:"ExternalIp" xml:"ExternalIp"`
+	ExternalPort     string `json:"ExternalPort" xml:"ExternalPort"`
+	IpProtocol       string `json:"IpProtocol" xml:"IpProtocol"`
+	InternalIp       string `json:"InternalIp" xml:"InternalIp"`
+	InternalPort     string `json:"InternalPort" xml:"InternalPort"`
+	Status           string `json:"Status" xml:"Status"`
+	ForwardEntryName string `json:"ForwardEntryName" xml:"ForwardEntryName"`
 }

+ 22 - 0
services/vpc/struct_i_pv6_translator_acl.go

@@ -0,0 +1,22 @@
+package vpc
+
+//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.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// IPv6TranslatorAcl is a nested struct in vpc response
+type IPv6TranslatorAcl struct {
+	AclId   string `json:"AclId" xml:"AclId"`
+	AclName string `json:"AclName" xml:"AclName"`
+}

+ 33 - 0
services/vpc/struct_ipv6_address.go

@@ -0,0 +1,33 @@
+package vpc
+
+//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.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// Ipv6Address is a nested struct in vpc response
+type Ipv6Address struct {
+	Ipv6AddressId          string                `json:"Ipv6AddressId" xml:"Ipv6AddressId"`
+	Ipv6AddressName        string                `json:"Ipv6AddressName" xml:"Ipv6AddressName"`
+	VSwitchId              string                `json:"VSwitchId" xml:"VSwitchId"`
+	VpcId                  string                `json:"VpcId" xml:"VpcId"`
+	Ipv6GatewayId          string                `json:"Ipv6GatewayId" xml:"Ipv6GatewayId"`
+	Ipv6Address            string                `json:"Ipv6Address" xml:"Ipv6Address"`
+	AssociatedInstanceId   string                `json:"AssociatedInstanceId" xml:"AssociatedInstanceId"`
+	AssociatedInstanceType string                `json:"AssociatedInstanceType" xml:"AssociatedInstanceType"`
+	Status                 string                `json:"Status" xml:"Status"`
+	NetworkType            string                `json:"NetworkType" xml:"NetworkType"`
+	RealBandwidth          int                   `json:"RealBandwidth" xml:"RealBandwidth"`
+	AllocationTime         string                `json:"AllocationTime" xml:"AllocationTime"`
+	Ipv6InternetBandwidth  Ipv6InternetBandwidth `json:"Ipv6InternetBandwidth" xml:"Ipv6InternetBandwidth"`
+}

+ 21 - 0
services/vpc/struct_ipv6_addresses.go

@@ -0,0 +1,21 @@
+package vpc
+
+//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.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// Ipv6Addresses is a nested struct in vpc response
+type Ipv6Addresses struct {
+	Ipv6Address []Ipv6Address `json:"Ipv6Address" xml:"Ipv6Address"`
+}

+ 26 - 0
services/vpc/struct_ipv6_egress_only_rule.go

@@ -0,0 +1,26 @@
+package vpc
+
+//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.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// Ipv6EgressOnlyRule is a nested struct in vpc response
+type Ipv6EgressOnlyRule struct {
+	Ipv6EgressOnlyRuleId string `json:"Ipv6EgressOnlyRuleId" xml:"Ipv6EgressOnlyRuleId"`
+	InstanceType         string `json:"InstanceType" xml:"InstanceType"`
+	InstanceId           string `json:"InstanceId" xml:"InstanceId"`
+	Status               string `json:"Status" xml:"Status"`
+	Name                 string `json:"Name" xml:"Name"`
+	Description          string `json:"Description" xml:"Description"`
+}

+ 21 - 0
services/vpc/struct_ipv6_egress_only_rules.go

@@ -0,0 +1,21 @@
+package vpc
+
+//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.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// Ipv6EgressOnlyRules is a nested struct in vpc response
+type Ipv6EgressOnlyRules struct {
+	Ipv6EgressOnlyRule []Ipv6EgressOnlyRule `json:"Ipv6EgressOnlyRule" xml:"Ipv6EgressOnlyRule"`
+}

+ 31 - 0
services/vpc/struct_ipv6_gateway.go

@@ -0,0 +1,31 @@
+package vpc
+
+//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.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// Ipv6Gateway is a nested struct in vpc response
+type Ipv6Gateway struct {
+	RegionId           string `json:"RegionId" xml:"RegionId"`
+	Ipv6GatewayId      string `json:"Ipv6GatewayId" xml:"Ipv6GatewayId"`
+	VpcId              string `json:"VpcId" xml:"VpcId"`
+	Status             string `json:"Status" xml:"Status"`
+	Name               string `json:"Name" xml:"Name"`
+	Description        string `json:"Description" xml:"Description"`
+	Spec               string `json:"Spec" xml:"Spec"`
+	InstanceChargeType string `json:"InstanceChargeType" xml:"InstanceChargeType"`
+	BusinessStatus     string `json:"BusinessStatus" xml:"BusinessStatus"`
+	ExpiredTime        string `json:"ExpiredTime" xml:"ExpiredTime"`
+	CreationTime       string `json:"CreationTime" xml:"CreationTime"`
+}

+ 3 - 3
services/vpc/struct_monitor_datas.go → services/vpc/struct_ipv6_gateways.go

@@ -15,7 +15,7 @@ package vpc
 // Code generated by Alibaba Cloud SDK Code Generator.
 // Changes may cause incorrect behavior and will be lost if the code is regenerated.
 
-// MonitorDatas is a nested struct in vpc response
-type MonitorDatas struct {
-	MonitorData []MonitorData `json:"MonitorData" xml:"MonitorData"`
+// Ipv6Gateways is a nested struct in vpc response
+type Ipv6Gateways struct {
+	Ipv6Gateway []Ipv6Gateway `json:"Ipv6Gateway" xml:"Ipv6Gateway"`
 }

+ 25 - 0
services/vpc/struct_ipv6_internet_bandwidth.go

@@ -0,0 +1,25 @@
+package vpc
+
+//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.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// Ipv6InternetBandwidth is a nested struct in vpc response
+type Ipv6InternetBandwidth struct {
+	Bandwidth               int    `json:"Bandwidth" xml:"Bandwidth"`
+	InstanceChargeType      string `json:"InstanceChargeType" xml:"InstanceChargeType"`
+	InternetChargeType      string `json:"InternetChargeType" xml:"InternetChargeType"`
+	BusinessStatus          string `json:"BusinessStatus" xml:"BusinessStatus"`
+	Ipv6InternetBandwidthId string `json:"Ipv6InternetBandwidthId" xml:"Ipv6InternetBandwidthId"`
+}

+ 21 - 0
services/vpc/struct_ipv6_translator_acls.go

@@ -0,0 +1,21 @@
+package vpc
+
+//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.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// Ipv6TranslatorAcls is a nested struct in vpc response
+type Ipv6TranslatorAcls struct {
+	IPv6TranslatorAcl []IPv6TranslatorAcl `json:"IPv6TranslatorAcl" xml:"IPv6TranslatorAcl"`
+}

+ 3 - 0
services/vpc/struct_ipv6_translator_entry.go

@@ -28,5 +28,8 @@ type Ipv6TranslatorEntry struct {
 	EntryDescription      string `json:"EntryDescription" xml:"EntryDescription"`
 	EntryName             string `json:"EntryName" xml:"EntryName"`
 	EntryStatus           string `json:"EntryStatus" xml:"EntryStatus"`
+	AclStatus             string `json:"AclStatus" xml:"AclStatus"`
+	AclType               string `json:"AclType" xml:"AclType"`
+	AclId                 string `json:"AclId" xml:"AclId"`
 	RegionId              string `json:"RegionId" xml:"RegionId"`
 }

+ 0 - 28
services/vpc/struct_monitor_data.go

@@ -1,28 +0,0 @@
-package vpc
-
-//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.
-//
-// Code generated by Alibaba Cloud SDK Code Generator.
-// Changes may cause incorrect behavior and will be lost if the code is regenerated.
-
-// MonitorData is a nested struct in vpc response
-type MonitorData struct {
-	RX                   int    `json:"RX" xml:"RX"`
-	TX                   int    `json:"TX" xml:"TX"`
-	ReceivedBandwidth    int    `json:"ReceivedBandwidth" xml:"ReceivedBandwidth"`
-	TransportedBandwidth int    `json:"TransportedBandwidth" xml:"TransportedBandwidth"`
-	Flow                 int    `json:"Flow" xml:"Flow"`
-	Bandwidth            int    `json:"Bandwidth" xml:"Bandwidth"`
-	Packets              int    `json:"Packets" xml:"Packets"`
-	TimeStamp            string `json:"TimeStamp" xml:"TimeStamp"`
-}

+ 2 - 0
services/vpc/struct_nat_gateway.go

@@ -24,6 +24,8 @@ type NatGateway struct {
 	VpcId               string                                   `json:"VpcId" xml:"VpcId"`
 	Spec                string                                   `json:"Spec" xml:"Spec"`
 	InstanceChargeType  string                                   `json:"InstanceChargeType" xml:"InstanceChargeType"`
+	ExpiredTime         string                                   `json:"ExpiredTime" xml:"ExpiredTime"`
+	AutoPay             bool                                     `json:"AutoPay" xml:"AutoPay"`
 	BusinessStatus      string                                   `json:"BusinessStatus" xml:"BusinessStatus"`
 	CreationTime        string                                   `json:"CreationTime" xml:"CreationTime"`
 	Status              string                                   `json:"Status" xml:"Status"`

+ 8 - 5
services/vpc/struct_next_hop.go

@@ -17,9 +17,12 @@ package vpc
 
 // NextHop is a nested struct in vpc response
 type NextHop struct {
-	NextHopType     string `json:"NextHopType" xml:"NextHopType"`
-	NextHopId       string `json:"NextHopId" xml:"NextHopId"`
-	Enabled         int    `json:"Enabled" xml:"Enabled"`
-	Weight          int    `json:"Weight" xml:"Weight"`
-	NextHopRegionId string `json:"NextHopRegionId" xml:"NextHopRegionId"`
+	NextHopType              string `json:"NextHopType" xml:"NextHopType"`
+	NextHopId                string `json:"NextHopId" xml:"NextHopId"`
+	Enabled                  int    `json:"Enabled" xml:"Enabled"`
+	Weight                   int    `json:"Weight" xml:"Weight"`
+	NextHopRegionId          string `json:"NextHopRegionId" xml:"NextHopRegionId"`
+	NextHopOppsiteType       string `json:"NextHopOppsiteType" xml:"NextHopOppsiteType"`
+	NextHopOppsiteInstanceId string `json:"NextHopOppsiteInstanceId" xml:"NextHopOppsiteInstanceId"`
+	NextHopOppsiteRegionId   string `json:"NextHopOppsiteRegionId" xml:"NextHopOppsiteRegionId"`
 }

+ 12 - 9
services/vpc/struct_route_entry.go

@@ -17,13 +17,16 @@ package vpc
 
 // RouteEntry is a nested struct in vpc response
 type RouteEntry struct {
-	RouteTableId         string   `json:"RouteTableId" xml:"RouteTableId"`
-	DestinationCidrBlock string   `json:"DestinationCidrBlock" xml:"DestinationCidrBlock"`
-	Type                 string   `json:"Type" xml:"Type"`
-	Status               string   `json:"Status" xml:"Status"`
-	InstanceId           string   `json:"InstanceId" xml:"InstanceId"`
-	NextHopType          string   `json:"NextHopType" xml:"NextHopType"`
-	NextHopRegionId      string   `json:"NextHopRegionId" xml:"NextHopRegionId"`
-	PrivateIpAddress     string   `json:"PrivateIpAddress" xml:"PrivateIpAddress"`
-	NextHops             NextHops `json:"NextHops" xml:"NextHops"`
+	RouteTableId             string   `json:"RouteTableId" xml:"RouteTableId"`
+	DestinationCidrBlock     string   `json:"DestinationCidrBlock" xml:"DestinationCidrBlock"`
+	Type                     string   `json:"Type" xml:"Type"`
+	Status                   string   `json:"Status" xml:"Status"`
+	InstanceId               string   `json:"InstanceId" xml:"InstanceId"`
+	NextHopType              string   `json:"NextHopType" xml:"NextHopType"`
+	NextHopRegionId          string   `json:"NextHopRegionId" xml:"NextHopRegionId"`
+	NextHopOppsiteType       string   `json:"NextHopOppsiteType" xml:"NextHopOppsiteType"`
+	NextHopOppsiteInstanceId string   `json:"NextHopOppsiteInstanceId" xml:"NextHopOppsiteInstanceId"`
+	NextHopOppsiteRegionId   string   `json:"NextHopOppsiteRegionId" xml:"NextHopOppsiteRegionId"`
+	PrivateIpAddress         string   `json:"PrivateIpAddress" xml:"PrivateIpAddress"`
+	NextHops                 NextHops `json:"NextHops" xml:"NextHops"`
 }

+ 7 - 6
services/vpc/struct_route_table.go

@@ -17,10 +17,11 @@ package vpc
 
 // RouteTable is a nested struct in vpc response
 type RouteTable struct {
-	CreationTime   string                          `json:"CreationTime" xml:"CreationTime"`
-	RouteTableType string                          `json:"RouteTableType" xml:"RouteTableType"`
-	RouteTableId   string                          `json:"RouteTableId" xml:"RouteTableId"`
-	VRouterId      string                          `json:"VRouterId" xml:"VRouterId"`
-	VSwitchIds     VSwitchIdsInDescribeRouteTables `json:"VSwitchIds" xml:"VSwitchIds"`
-	RouteEntrys    RouteEntrys                     `json:"RouteEntrys" xml:"RouteEntrys"`
+	ResourceGroupId string                          `json:"ResourceGroupId" xml:"ResourceGroupId"`
+	CreationTime    string                          `json:"CreationTime" xml:"CreationTime"`
+	RouteTableType  string                          `json:"RouteTableType" xml:"RouteTableType"`
+	RouteTableId    string                          `json:"RouteTableId" xml:"RouteTableId"`
+	VRouterId       string                          `json:"VRouterId" xml:"VRouterId"`
+	VSwitchIds      VSwitchIdsInDescribeRouteTables `json:"VSwitchIds" xml:"VSwitchIds"`
+	RouteEntrys     RouteEntrys                     `json:"RouteEntrys" xml:"RouteEntrys"`
 }

+ 2 - 2
services/vpc/struct_router_interface_set_in_describe_router_interfaces_for_global.go → services/vpc/struct_router_interface_set.go

@@ -15,7 +15,7 @@ package vpc
 // Code generated by Alibaba Cloud SDK Code Generator.
 // Changes may cause incorrect behavior and will be lost if the code is regenerated.
 
-// RouterInterfaceSetInDescribeRouterInterfacesForGlobal is a nested struct in vpc response
-type RouterInterfaceSetInDescribeRouterInterfacesForGlobal struct {
+// RouterInterfaceSet is a nested struct in vpc response
+type RouterInterfaceSet struct {
 	RouterInterfaceType []RouterInterfaceType `json:"RouterInterfaceType" xml:"RouterInterfaceType"`
 }

+ 0 - 21
services/vpc/struct_router_interface_set_in_describe_router_interfaces.go

@@ -1,21 +0,0 @@
-package vpc
-
-//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.
-//
-// Code generated by Alibaba Cloud SDK Code Generator.
-// Changes may cause incorrect behavior and will be lost if the code is regenerated.
-
-// RouterInterfaceSetInDescribeRouterInterfaces is a nested struct in vpc response
-type RouterInterfaceSetInDescribeRouterInterfaces struct {
-	RouterInterfaceType []RouterInterfaceTypeInDescribeRouterInterfaces `json:"RouterInterfaceType" xml:"RouterInterfaceType"`
-}

+ 29 - 19
services/vpc/struct_router_interface_type.go

@@ -17,31 +17,41 @@ package vpc
 
 // RouterInterfaceType is a nested struct in vpc response
 type RouterInterfaceType struct {
-	AccessPointId                   string `json:"AccessPointId" xml:"AccessPointId"`
-	Name                            string `json:"Name" xml:"Name"`
-	ConnectedTime                   string `json:"ConnectedTime" xml:"ConnectedTime"`
-	ChargeType                      string `json:"ChargeType" xml:"ChargeType"`
-	RouterId                        string `json:"RouterId" xml:"RouterId"`
-	OppositeInterfaceId             string `json:"OppositeInterfaceId" xml:"OppositeInterfaceId"`
-	HealthCheckSourceIp             string `json:"HealthCheckSourceIp" xml:"HealthCheckSourceIp"`
-	RegionId                        string `json:"RegionId" xml:"RegionId"`
-	Role                            string `json:"Role" xml:"Role"`
-	HealthCheckTargetIp             string `json:"HealthCheckTargetIp" xml:"HealthCheckTargetIp"`
 	RouterInterfaceId               string `json:"RouterInterfaceId" xml:"RouterInterfaceId"`
-	OppositeInterfaceSpec           string `json:"OppositeInterfaceSpec" xml:"OppositeInterfaceSpec"`
+	OppositeRegionId                string `json:"OppositeRegionId" xml:"OppositeRegionId"`
+	Role                            string `json:"Role" xml:"Role"`
+	Spec                            string `json:"Spec" xml:"Spec"`
+	Name                            string `json:"Name" xml:"Name"`
 	Description                     string `json:"Description" xml:"Description"`
-	OppositeInterfaceOwnerId        int    `json:"OppositeInterfaceOwnerId" xml:"OppositeInterfaceOwnerId"`
-	VpcInstanceId                   string `json:"VpcInstanceId" xml:"VpcInstanceId"`
+	RouterId                        string `json:"RouterId" xml:"RouterId"`
 	RouterType                      string `json:"RouterType" xml:"RouterType"`
 	CreationTime                    string `json:"CreationTime" xml:"CreationTime"`
-	OppositeRouterType              string `json:"OppositeRouterType" xml:"OppositeRouterType"`
-	OppositeVpcInstanceId           string `json:"OppositeVpcInstanceId" xml:"OppositeVpcInstanceId"`
-	OppositeInterfaceBusinessStatus string `json:"OppositeInterfaceBusinessStatus" xml:"OppositeInterfaceBusinessStatus"`
-	Spec                            string `json:"Spec" xml:"Spec"`
+	EndTime                         string `json:"EndTime" xml:"EndTime"`
+	ChargeType                      string `json:"ChargeType" xml:"ChargeType"`
+	Status                          string `json:"Status" xml:"Status"`
 	BusinessStatus                  string `json:"BusinessStatus" xml:"BusinessStatus"`
+	ConnectedTime                   string `json:"ConnectedTime" xml:"ConnectedTime"`
+	OppositeInterfaceId             string `json:"OppositeInterfaceId" xml:"OppositeInterfaceId"`
+	OppositeInterfaceSpec           string `json:"OppositeInterfaceSpec" xml:"OppositeInterfaceSpec"`
 	OppositeInterfaceStatus         string `json:"OppositeInterfaceStatus" xml:"OppositeInterfaceStatus"`
+	OppositeInterfaceBusinessStatus string `json:"OppositeInterfaceBusinessStatus" xml:"OppositeInterfaceBusinessStatus"`
 	OppositeRouterId                string `json:"OppositeRouterId" xml:"OppositeRouterId"`
-	Status                          string `json:"Status" xml:"Status"`
+	OppositeRouterType              string `json:"OppositeRouterType" xml:"OppositeRouterType"`
+	OppositeInterfaceOwnerId        string `json:"OppositeInterfaceOwnerId" xml:"OppositeInterfaceOwnerId"`
+	AccessPointId                   string `json:"AccessPointId" xml:"AccessPointId"`
 	OppositeAccessPointId           string `json:"OppositeAccessPointId" xml:"OppositeAccessPointId"`
-	OppositeRegionId                string `json:"OppositeRegionId" xml:"OppositeRegionId"`
+	HealthCheckSourceIp             string `json:"HealthCheckSourceIp" xml:"HealthCheckSourceIp"`
+	HealthCheckTargetIp             string `json:"HealthCheckTargetIp" xml:"HealthCheckTargetIp"`
+	OppositeVpcInstanceId           string `json:"OppositeVpcInstanceId" xml:"OppositeVpcInstanceId"`
+	Bandwidth                       int    `json:"Bandwidth" xml:"Bandwidth"`
+	VpcInstanceId                   string `json:"VpcInstanceId" xml:"VpcInstanceId"`
+	OppositeBandwidth               int    `json:"OppositeBandwidth" xml:"OppositeBandwidth"`
+	HasReservationData              string `json:"HasReservationData" xml:"HasReservationData"`
+	ReservationBandwidth            string `json:"ReservationBandwidth" xml:"ReservationBandwidth"`
+	ReservationInternetChargeType   string `json:"ReservationInternetChargeType" xml:"ReservationInternetChargeType"`
+	ReservationActiveTime           string `json:"ReservationActiveTime" xml:"ReservationActiveTime"`
+	ReservationOrderType            string `json:"ReservationOrderType" xml:"ReservationOrderType"`
+	CrossBorder                     bool   `json:"CrossBorder" xml:"CrossBorder"`
+	HcThreshold                     int    `json:"HcThreshold" xml:"HcThreshold"`
+	HcRate                          int    `json:"HcRate" xml:"HcRate"`
 }

部分文件因为文件数量过多而无法显示