Browse Source

Add enhanced natgateway sdk.

sdk-team 6 years ago
parent
commit
9191913365

+ 3 - 0
ChangeLog.txt

@@ -1,3 +1,6 @@
+2019-11-27 Version: v1.60.268
+- Add enhanced natgateway sdk.
+
 2019-11-26 Version: v1.60.267
 - Modify QueryBill, add SubOrderId in item of response.
 

+ 107 - 0
services/vpc/cancel_express_cloud_connection.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"
+)
+
+// CancelExpressCloudConnection invokes the vpc.CancelExpressCloudConnection API synchronously
+// api document: https://help.aliyun.com/api/vpc/cancelexpresscloudconnection.html
+func (client *Client) CancelExpressCloudConnection(request *CancelExpressCloudConnectionRequest) (response *CancelExpressCloudConnectionResponse, err error) {
+	response = CreateCancelExpressCloudConnectionResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CancelExpressCloudConnectionWithChan invokes the vpc.CancelExpressCloudConnection API asynchronously
+// api document: https://help.aliyun.com/api/vpc/cancelexpresscloudconnection.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CancelExpressCloudConnectionWithChan(request *CancelExpressCloudConnectionRequest) (<-chan *CancelExpressCloudConnectionResponse, <-chan error) {
+	responseChan := make(chan *CancelExpressCloudConnectionResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CancelExpressCloudConnection(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CancelExpressCloudConnectionWithCallback invokes the vpc.CancelExpressCloudConnection API asynchronously
+// api document: https://help.aliyun.com/api/vpc/cancelexpresscloudconnection.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CancelExpressCloudConnectionWithCallback(request *CancelExpressCloudConnectionRequest, callback func(response *CancelExpressCloudConnectionResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CancelExpressCloudConnectionResponse
+		var err error
+		defer close(result)
+		response, err = client.CancelExpressCloudConnection(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CancelExpressCloudConnectionRequest is the request struct for api CancelExpressCloudConnection
+type CancelExpressCloudConnectionRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	EccId                string           `position:"Query" name:"EccId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// CancelExpressCloudConnectionResponse is the response struct for api CancelExpressCloudConnection
+type CancelExpressCloudConnectionResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateCancelExpressCloudConnectionRequest creates a request to invoke CancelExpressCloudConnection API
+func CreateCancelExpressCloudConnectionRequest() (request *CancelExpressCloudConnectionRequest) {
+	request = &CancelExpressCloudConnectionRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Vpc", "2016-04-28", "CancelExpressCloudConnection", "vpc", "openAPI")
+	return
+}
+
+// CreateCancelExpressCloudConnectionResponse creates a response to parse from CancelExpressCloudConnection response
+func CreateCancelExpressCloudConnectionResponse() (response *CancelExpressCloudConnectionResponse) {
+	response = &CancelExpressCloudConnectionResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 0 - 1
services/vpc/create_global_acceleration_instance.go

@@ -85,7 +85,6 @@ type CreateGlobalAccelerationInstanceRequest struct {
 	Bandwidth            string           `position:"Query" name:"Bandwidth"`
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
 	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
-	InternetChargeType   string           `position:"Query" name:"InternetChargeType"`
 	Name                 string           `position:"Query" name:"Name"`
 }
 

+ 3 - 0
services/vpc/create_nat_gateway.go

@@ -81,12 +81,15 @@ type CreateNatGatewayRequest struct {
 	Description          string                              `position:"Query" name:"Description"`
 	Spec                 string                              `position:"Query" name:"Spec"`
 	Duration             string                              `position:"Query" name:"Duration"`
+	NatType              string                              `position:"Query" name:"NatType"`
 	BandwidthPackage     *[]CreateNatGatewayBandwidthPackage `position:"Query" name:"BandwidthPackage"  type:"Repeated"`
 	InstanceChargeType   string                              `position:"Query" name:"InstanceChargeType"`
 	AutoPay              requests.Boolean                    `position:"Query" name:"AutoPay"`
 	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"`
+	InternetChargeType   string                              `position:"Query" name:"InternetChargeType"`
 	VpcId                string                              `position:"Query" name:"VpcId"`
 	Name                 string                              `position:"Query" name:"Name"`
 	PricingCycle         string                              `position:"Query" name:"PricingCycle"`

+ 107 - 0
services/vpc/delete_express_cloud_connection.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"
+)
+
+// DeleteExpressCloudConnection invokes the vpc.DeleteExpressCloudConnection API synchronously
+// api document: https://help.aliyun.com/api/vpc/deleteexpresscloudconnection.html
+func (client *Client) DeleteExpressCloudConnection(request *DeleteExpressCloudConnectionRequest) (response *DeleteExpressCloudConnectionResponse, err error) {
+	response = CreateDeleteExpressCloudConnectionResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteExpressCloudConnectionWithChan invokes the vpc.DeleteExpressCloudConnection API asynchronously
+// api document: https://help.aliyun.com/api/vpc/deleteexpresscloudconnection.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteExpressCloudConnectionWithChan(request *DeleteExpressCloudConnectionRequest) (<-chan *DeleteExpressCloudConnectionResponse, <-chan error) {
+	responseChan := make(chan *DeleteExpressCloudConnectionResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteExpressCloudConnection(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteExpressCloudConnectionWithCallback invokes the vpc.DeleteExpressCloudConnection API asynchronously
+// api document: https://help.aliyun.com/api/vpc/deleteexpresscloudconnection.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteExpressCloudConnectionWithCallback(request *DeleteExpressCloudConnectionRequest, callback func(response *DeleteExpressCloudConnectionResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteExpressCloudConnectionResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteExpressCloudConnection(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteExpressCloudConnectionRequest is the request struct for api DeleteExpressCloudConnection
+type DeleteExpressCloudConnectionRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	EccId                string           `position:"Query" name:"EccId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// DeleteExpressCloudConnectionResponse is the response struct for api DeleteExpressCloudConnection
+type DeleteExpressCloudConnectionResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteExpressCloudConnectionRequest creates a request to invoke DeleteExpressCloudConnection API
+func CreateDeleteExpressCloudConnectionRequest() (request *DeleteExpressCloudConnectionRequest) {
+	request = &DeleteExpressCloudConnectionRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Vpc", "2016-04-28", "DeleteExpressCloudConnection", "vpc", "openAPI")
+	return
+}
+
+// CreateDeleteExpressCloudConnectionResponse creates a response to parse from DeleteExpressCloudConnection response
+func CreateDeleteExpressCloudConnectionResponse() (response *DeleteExpressCloudConnectionResponse) {
+	response = &DeleteExpressCloudConnectionResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 0 - 1
services/vpc/delete_physical_connection.go

@@ -78,7 +78,6 @@ type DeletePhysicalConnectionRequest struct {
 	*requests.RpcRequest
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
 	ClientToken          string           `position:"Query" name:"ClientToken"`
-	UserCidr             string           `position:"Query" name:"UserCidr"`
 	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
 	OwnerAccount         string           `position:"Query" name:"OwnerAccount"`
 	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`

+ 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 EipMonitorDatas `json:"EipMonitorDatas" xml:"EipMonitorDatas"`
+	RequestId       string                                  `json:"RequestId" xml:"RequestId"`
+	EipMonitorDatas EipMonitorDatasInDescribeEipMonitorData `json:"EipMonitorDatas" xml:"EipMonitorDatas"`
 }
 
 // CreateDescribeEipMonitorDataRequest creates a request to invoke DescribeEipMonitorData API

+ 2 - 0
services/vpc/describe_nat_gateways.go

@@ -79,6 +79,8 @@ type DescribeNatGatewaysRequest struct {
 	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
 	Spec                 string           `position:"Query" name:"Spec"`
 	PageNumber           requests.Integer `position:"Query" name:"PageNumber"`
+	ResourceGroupId      string           `position:"Query" name:"ResourceGroupId"`
+	NatType              string           `position:"Query" name:"NatType"`
 	PageSize             requests.Integer `position:"Query" name:"PageSize"`
 	NatGatewayId         string           `position:"Query" name:"NatGatewayId"`
 	InstanceChargeType   string           `position:"Query" name:"InstanceChargeType"`

+ 111 - 0
services/vpc/describe_new_project_eip_monitor_data.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"
+)
+
+// 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"`
+	AllocationId         string           `position:"Query" name:"AllocationId"`
+	StartTime            string           `position:"Query" name:"StartTime"`
+	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"`
+	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
+}

+ 148 - 0
services/vpc/describe_router_interface_attribute.go

@@ -0,0 +1,148 @@
+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"
+)
+
+// DescribeRouterInterfaceAttribute invokes the vpc.DescribeRouterInterfaceAttribute API synchronously
+// api document: https://help.aliyun.com/api/vpc/describerouterinterfaceattribute.html
+func (client *Client) DescribeRouterInterfaceAttribute(request *DescribeRouterInterfaceAttributeRequest) (response *DescribeRouterInterfaceAttributeResponse, err error) {
+	response = CreateDescribeRouterInterfaceAttributeResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeRouterInterfaceAttributeWithChan invokes the vpc.DescribeRouterInterfaceAttribute API asynchronously
+// api document: https://help.aliyun.com/api/vpc/describerouterinterfaceattribute.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeRouterInterfaceAttributeWithChan(request *DescribeRouterInterfaceAttributeRequest) (<-chan *DescribeRouterInterfaceAttributeResponse, <-chan error) {
+	responseChan := make(chan *DescribeRouterInterfaceAttributeResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeRouterInterfaceAttribute(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeRouterInterfaceAttributeWithCallback invokes the vpc.DescribeRouterInterfaceAttribute API asynchronously
+// api document: https://help.aliyun.com/api/vpc/describerouterinterfaceattribute.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeRouterInterfaceAttributeWithCallback(request *DescribeRouterInterfaceAttributeRequest, callback func(response *DescribeRouterInterfaceAttributeResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeRouterInterfaceAttributeResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeRouterInterfaceAttribute(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeRouterInterfaceAttributeRequest is the request struct for api DescribeRouterInterfaceAttribute
+type DescribeRouterInterfaceAttributeRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId      requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	ResourceOwnerAccount string           `position:"Query" name:"ResourceOwnerAccount"`
+	OwnerId              requests.Integer `position:"Query" name:"OwnerId"`
+	InstanceId           string           `position:"Query" name:"InstanceId"`
+}
+
+// DescribeRouterInterfaceAttributeResponse is the response struct for api DescribeRouterInterfaceAttribute
+type DescribeRouterInterfaceAttributeResponse struct {
+	*responses.BaseResponse
+	RequestId                       string `json:"RequestId" xml:"RequestId"`
+	Code                            string `json:"Code" xml:"Code"`
+	Message                         string `json:"Message" xml:"Message"`
+	Success                         bool   `json:"Success" xml:"Success"`
+	RouterInterfaceId               string `json:"RouterInterfaceId" xml:"RouterInterfaceId"`
+	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"`
+	RouterId                        string `json:"RouterId" xml:"RouterId"`
+	RouterType                      string `json:"RouterType" xml:"RouterType"`
+	CreationTime                    string `json:"CreationTime" xml:"CreationTime"`
+	GmtModified                     string `json:"GmtModified" xml:"GmtModified"`
+	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"`
+	OppositeRouterType              string `json:"OppositeRouterType" xml:"OppositeRouterType"`
+	OppositeInterfaceOwnerId        string `json:"OppositeInterfaceOwnerId" xml:"OppositeInterfaceOwnerId"`
+	AccessPointId                   string `json:"AccessPointId" xml:"AccessPointId"`
+	OppositeAccessPointId           string `json:"OppositeAccessPointId" xml:"OppositeAccessPointId"`
+	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"`
+	HealthCheckStatus               string `json:"HealthCheckStatus" xml:"HealthCheckStatus"`
+}
+
+// CreateDescribeRouterInterfaceAttributeRequest creates a request to invoke DescribeRouterInterfaceAttribute API
+func CreateDescribeRouterInterfaceAttributeRequest() (request *DescribeRouterInterfaceAttributeRequest) {
+	request = &DescribeRouterInterfaceAttributeRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Vpc", "2016-04-28", "DescribeRouterInterfaceAttribute", "vpc", "openAPI")
+	return
+}
+
+// CreateDescribeRouterInterfaceAttributeResponse creates a response to parse from DescribeRouterInterfaceAttribute response
+func CreateDescribeRouterInterfaceAttributeResponse() (response *DescribeRouterInterfaceAttributeResponse) {
+	response = &DescribeRouterInterfaceAttributeResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 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 {
-	EipRX        int    `json:"EipRX" xml:"EipRX"`
-	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"`
+	EipFlow      int    `json:"EipFlow" xml:"EipFlow"`
+	EipRX        int    `json:"EipRX" xml:"EipRX"`
+	EipBandwidth int    `json:"EipBandwidth" xml:"EipBandwidth"`
+	EipTX        int    `json:"EipTX" xml:"EipTX"`
 }

+ 2 - 2
services/vpc/struct_eip_monitor_datas.go → services/vpc/struct_eip_monitor_datas_in_describe_eip_monitor_data.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.
 
-// EipMonitorDatas is a nested struct in vpc response
-type EipMonitorDatas struct {
+// EipMonitorDatasInDescribeEipMonitorData is a nested struct in vpc response
+type EipMonitorDatasInDescribeEipMonitorData struct {
 	EipMonitorData []EipMonitorData `json:"EipMonitorData" xml:"EipMonitorData"`
 }

+ 21 - 0
services/vpc/struct_eip_monitor_datas_in_describe_new_project_eip_monitor_data.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.
+
+// EipMonitorDatasInDescribeNewProjectEipMonitorData is a nested struct in vpc response
+type EipMonitorDatasInDescribeNewProjectEipMonitorData struct {
+	EipMonitorData []EipMonitorData `json:"EipMonitorData" xml:"EipMonitorData"`
+}

+ 7 - 2
services/vpc/struct_express_cloud_connection_type.go

@@ -43,10 +43,15 @@ type ExpressCloudConnectionType struct {
 	ApplicationId                 string                    `json:"ApplicationId" xml:"ApplicationId"`
 	ApplicationStatus             string                    `json:"ApplicationStatus" xml:"ApplicationStatus"`
 	ApplicationBandwidth          string                    `json:"ApplicationBandwidth" xml:"ApplicationBandwidth"`
+	EndTime                       string                    `json:"EndTime" xml:"EndTime"`
+	ChargeType                    string                    `json:"ChargeType" xml:"ChargeType"`
 	ContactTel                    string                    `json:"ContactTel" xml:"ContactTel"`
 	ContactMail                   string                    `json:"ContactMail" xml:"ContactMail"`
 	IDCardNo                      string                    `json:"IDCardNo" xml:"IDCardNo"`
-	EndTime                       string                    `json:"EndTime" xml:"EndTime"`
-	ChargeType                    string                    `json:"ChargeType" xml:"ChargeType"`
+	EstimatedTime                 string                    `json:"EstimatedTime" xml:"EstimatedTime"`
+	BgpAs                         string                    `json:"BgpAs" xml:"BgpAs"`
+	PeIp                          string                    `json:"PeIp" xml:"PeIp"`
+	CeIp                          string                    `json:"CeIp" xml:"CeIp"`
+	ConstructionPeriod            string                    `json:"ConstructionPeriod" xml:"ConstructionPeriod"`
 	VirtualBorderRouterModels     VirtualBorderRouterModels `json:"VirtualBorderRouterModels" xml:"VirtualBorderRouterModels"`
 }

+ 21 - 17
services/vpc/struct_nat_gateway.go

@@ -17,21 +17,25 @@ package vpc
 
 // NatGateway is a nested struct in vpc response
 type NatGateway struct {
-	NatGatewayId        string                                   `json:"NatGatewayId" xml:"NatGatewayId"`
-	RegionId            string                                   `json:"RegionId" xml:"RegionId"`
-	Name                string                                   `json:"Name" xml:"Name"`
-	Description         string                                   `json:"Description" xml:"Description"`
-	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"`
-	DeletionProtection  bool                                     `json:"DeletionProtection" xml:"DeletionProtection"`
-	ForwardTableIds     ForwardTableIdsInDescribeNatGateways     `json:"ForwardTableIds" xml:"ForwardTableIds"`
-	SnatTableIds        SnatTableIdsInDescribeNatGateways        `json:"SnatTableIds" xml:"SnatTableIds"`
-	BandwidthPackageIds BandwidthPackageIdsInDescribeNatGateways `json:"BandwidthPackageIds" xml:"BandwidthPackageIds"`
-	IpLists             IpLists                                  `json:"IpLists" xml:"IpLists"`
+	NatGatewayId          string                                   `json:"NatGatewayId" xml:"NatGatewayId"`
+	RegionId              string                                   `json:"RegionId" xml:"RegionId"`
+	Name                  string                                   `json:"Name" xml:"Name"`
+	Description           string                                   `json:"Description" xml:"Description"`
+	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"`
+	NatType               string                                   `json:"NatType" xml:"NatType"`
+	InternetChargeType    string                                   `json:"InternetChargeType" xml:"InternetChargeType"`
+	ResourceGroupId       string                                   `json:"ResourceGroupId" xml:"ResourceGroupId"`
+	DeletionProtection    bool                                     `json:"DeletionProtection" xml:"DeletionProtection"`
+	ForwardTableIds       ForwardTableIdsInDescribeNatGateways     `json:"ForwardTableIds" xml:"ForwardTableIds"`
+	SnatTableIds          SnatTableIdsInDescribeNatGateways        `json:"SnatTableIds" xml:"SnatTableIds"`
+	BandwidthPackageIds   BandwidthPackageIdsInDescribeNatGateways `json:"BandwidthPackageIds" xml:"BandwidthPackageIds"`
+	NatGatewayPrivateInfo NatGatewayPrivateInfo                    `json:"NatGatewayPrivateInfo" xml:"NatGatewayPrivateInfo"`
+	IpLists               IpLists                                  `json:"IpLists" xml:"IpLists"`
 }

+ 25 - 0
services/vpc/struct_nat_gateway_private_info.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.
+
+// NatGatewayPrivateInfo is a nested struct in vpc response
+type NatGatewayPrivateInfo struct {
+	EniInstanceId    int    `json:"EniInstanceId" xml:"EniInstanceId"`
+	PrivateIpAddress string `json:"PrivateIpAddress" xml:"PrivateIpAddress"`
+	VswitchId        string `json:"VswitchId" xml:"VswitchId"`
+	IzNo             string `json:"IzNo" xml:"IzNo"`
+	MaxBandwidth     int    `json:"MaxBandwidth" xml:"MaxBandwidth"`
+}

+ 10 - 10
services/vpc/struct_network_acl_attribute.go

@@ -17,14 +17,14 @@ package vpc
 
 // NetworkAclAttribute is a nested struct in vpc response
 type NetworkAclAttribute struct {
-	NetworkAclName    string                                          `json:"NetworkAclName" xml:"NetworkAclName"`
-	RegionId          string                                          `json:"RegionId" xml:"RegionId"`
-	NetworkAclId      string                                          `json:"NetworkAclId" xml:"NetworkAclId"`
-	CreationTime      string                                          `json:"CreationTime" xml:"CreationTime"`
-	VpcId             string                                          `json:"VpcId" xml:"VpcId"`
-	Status            string                                          `json:"Status" xml:"Status"`
-	Description       string                                          `json:"Description" xml:"Description"`
-	IngressAclEntries IngressAclEntriesInDescribeNetworkAclAttributes `json:"IngressAclEntries" xml:"IngressAclEntries"`
-	Resources         ResourcesInDescribeNetworkAclAttributes         `json:"Resources" xml:"Resources"`
-	EgressAclEntries  EgressAclEntriesInDescribeNetworkAclAttributes  `json:"EgressAclEntries" xml:"EgressAclEntries"`
+	NetworkAclName    string                              `json:"NetworkAclName" xml:"NetworkAclName"`
+	RegionId          string                              `json:"RegionId" xml:"RegionId"`
+	NetworkAclId      string                              `json:"NetworkAclId" xml:"NetworkAclId"`
+	CreationTime      string                              `json:"CreationTime" xml:"CreationTime"`
+	VpcId             string                              `json:"VpcId" xml:"VpcId"`
+	Status            string                              `json:"Status" xml:"Status"`
+	Description       string                              `json:"Description" xml:"Description"`
+	IngressAclEntries IngressAclEntriesInCreateNetworkAcl `json:"IngressAclEntries" xml:"IngressAclEntries"`
+	Resources         ResourcesInCreateNetworkAcl         `json:"Resources" xml:"Resources"`
+	EgressAclEntries  EgressAclEntriesInCreateNetworkAcl  `json:"EgressAclEntries" xml:"EgressAclEntries"`
 }

+ 1 - 1
services/vpc/struct_pm_info.go

@@ -17,5 +17,5 @@ package vpc
 
 // PMInfo is a nested struct in vpc response
 type PMInfo struct {
-	PMInfoItem []PMInfoItem `json:"PMInfoItem" xml:"PMInfoItem"`
+	PMInfoItem []PMInfoItem `json:"PMInfo" xml:"PMInfo"`
 }

+ 1 - 1
services/vpc/struct_route_table.go

@@ -21,8 +21,8 @@ type RouteTable struct {
 	CreationTime    string                           `json:"CreationTime" xml:"CreationTime"`
 	RouteTableType  string                           `json:"RouteTableType" xml:"RouteTableType"`
 	Status          string                           `json:"Status" xml:"Status"`
-	RouteTableId    string                           `json:"RouteTableId" xml:"RouteTableId"`
 	VRouterId       string                           `json:"VRouterId" xml:"VRouterId"`
+	RouteTableId    string                           `json:"RouteTableId" xml:"RouteTableId"`
 	VSwitchIds      VSwitchIdsInDescribeRouteTables  `json:"VSwitchIds" xml:"VSwitchIds"`
 	RouteEntrys     RouteEntrysInDescribeRouteTables `json:"RouteEntrys" xml:"RouteEntrys"`
 }

+ 18 - 14
services/vpc/struct_virtual_border_router_for_physical_connection_type.go

@@ -17,18 +17,22 @@ package vpc
 
 // VirtualBorderRouterForPhysicalConnectionType is a nested struct in vpc response
 type VirtualBorderRouterForPhysicalConnectionType struct {
-	VbrId             string `json:"VbrId" xml:"VbrId"`
-	VbrOwnerUid       int64  `json:"VbrOwnerUid" xml:"VbrOwnerUid"`
-	EccId             string `json:"EccId" xml:"EccId"`
-	Type              string `json:"Type" xml:"Type"`
-	CreationTime      string `json:"CreationTime" xml:"CreationTime"`
-	ActivationTime    string `json:"ActivationTime" xml:"ActivationTime"`
-	TerminationTime   string `json:"TerminationTime" xml:"TerminationTime"`
-	RecoveryTime      string `json:"RecoveryTime" xml:"RecoveryTime"`
-	VlanId            int    `json:"VlanId" xml:"VlanId"`
-	Status            string `json:"Status" xml:"Status"`
-	CircuitCode       string `json:"CircuitCode" xml:"CircuitCode"`
-	LocalGatewayIp    string `json:"LocalGatewayIp" xml:"LocalGatewayIp"`
-	PeerGatewayIp     string `json:"PeerGatewayIp" xml:"PeerGatewayIp"`
-	PeeringSubnetMask string `json:"PeeringSubnetMask" xml:"PeeringSubnetMask"`
+	VbrId                   string `json:"VbrId" xml:"VbrId"`
+	VbrOwnerUid             int64  `json:"VbrOwnerUid" xml:"VbrOwnerUid"`
+	EccId                   string `json:"EccId" xml:"EccId"`
+	Type                    string `json:"Type" xml:"Type"`
+	CreationTime            string `json:"CreationTime" xml:"CreationTime"`
+	ActivationTime          string `json:"ActivationTime" xml:"ActivationTime"`
+	TerminationTime         string `json:"TerminationTime" xml:"TerminationTime"`
+	RecoveryTime            string `json:"RecoveryTime" xml:"RecoveryTime"`
+	VlanId                  int    `json:"VlanId" xml:"VlanId"`
+	Status                  string `json:"Status" xml:"Status"`
+	CircuitCode             string `json:"CircuitCode" xml:"CircuitCode"`
+	LocalGatewayIp          string `json:"LocalGatewayIp" xml:"LocalGatewayIp"`
+	PeerGatewayIp           string `json:"PeerGatewayIp" xml:"PeerGatewayIp"`
+	PeeringSubnetMask       string `json:"PeeringSubnetMask" xml:"PeeringSubnetMask"`
+	PConnVbrChargeType      string `json:"PConnVbrChargeType" xml:"PConnVbrChargeType"`
+	PConnVbrExpireTime      string `json:"PConnVbrExpireTime" xml:"PConnVbrExpireTime"`
+	PConnVbrBussinessStatus string `json:"PConnVbrBussinessStatus" xml:"PConnVbrBussinessStatus"`
+	Bandwidth               string `json:"Bandwidth" xml:"Bandwidth"`
 }

+ 1 - 0
services/vpc/struct_virtual_border_router_type.go

@@ -37,6 +37,7 @@ type VirtualBorderRouterType struct {
 	AccessPointId                    string                                       `json:"AccessPointId" xml:"AccessPointId"`
 	Name                             string                                       `json:"Name" xml:"Name"`
 	Description                      string                                       `json:"Description" xml:"Description"`
+	PConnVbrExpireTime               string                                       `json:"PConnVbrExpireTime" xml:"PConnVbrExpireTime"`
 	EccId                            string                                       `json:"EccId" xml:"EccId"`
 	Type                             string                                       `json:"Type" xml:"Type"`
 	MinTxInterval                    int64                                        `json:"MinTxInterval" xml:"MinTxInterval"`