func (c *Client) ListNatGateway(args *ListNatGatewayArgs) (*ListNatGatewayResult, error) {
	if args == nil {
		return nil, fmt.Errorf("The listNatGatewayArgs cannot be nil.")
	}
	if args.MaxKeys == 0 {
		args.MaxKeys = 1000
	}
	result := &ListNatGatewayResult{}
	err := bce.NewRequestBuilder(c).
		WithURL(getURLForNat()).
		WithMethod(http.GET).
		WithQueryParam("vpcId", args.VpcId).
		WithQueryParamFilter("natId", args.NatId).
		WithQueryParamFilter("name", args.Name).
		WithQueryParamFilter("ip", args.Ip).
		WithQueryParamFilter("marker", args.Marker).
		WithQueryParamFilter("maxKeys", strconv.Itoa(args.MaxKeys)).
		WithResult(result).
		Do()
	return result, err
}
ListNatGateway - list all nat gateways with the specific parameters

PARAMS:
- args: the arguments to list nat gateways
RETURNS:
- *ListNatGatewayResult: the result of nat gateway list
- error: nil if success otherwise the specific error
package vpc
import (
	"fmt"
	"strconv"
	"github.com/baidubce/bce-sdk-go/bce"
	"github.com/baidubce/bce-sdk-go/http"
)
func (c *Client) CreateNatGateway(args *CreateNatGatewayArgs) (*CreateNatGatewayResult, error) {
	if args == nil {
		return nil, fmt.Errorf("The createNatGatewayArgs cannot be nil.")
	}
	result := &CreateNatGatewayResult{}
	err := bce.NewRequestBuilder(c).
		WithURL(getURLForNat()).
		WithMethod(http.POST).
		WithBody(args).
		WithQueryParamFilter("clientToken", args.ClientToken).
		WithResult(result).
		Do()
	return result, err
}