123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202 |
- package ecs
- import (
- "github.com/denverdino/aliyungo/common"
- )
- type BandwidthPackageType struct {
- IpCount int
- Bandwidth int
- Zone string
- }
- type CreateNatGatewayArgs struct {
- RegionId common.Region
- VpcId string
- Spec string
- BandwidthPackage []BandwidthPackageType
- Name string
- Description string
- ClientToken string
- }
- type ForwardTableIdType struct {
- ForwardTableId []string
- }
- type SnatTableIdType struct {
- SnatTableId []string
- }
- type BandwidthPackageIdType struct {
- BandwidthPackageId []string
- }
- type CreateNatGatewayResponse struct {
- common.Response
- NatGatewayId string
- ForwardTableIds ForwardTableIdType
- BandwidthPackageIds BandwidthPackageIdType
- }
- // CreateNatGateway creates Virtual Private Cloud
- //
- // You can read doc at http://docs.aliyun.com/#/pub/ecs/open-api/vpc&createvpc
- func (client *Client) CreateNatGateway(args *CreateNatGatewayArgs) (resp *CreateNatGatewayResponse, err error) {
- response := CreateNatGatewayResponse{}
- err = client.Invoke("CreateNatGateway", args, &response)
- if err != nil {
- return nil, err
- }
- return &response, err
- }
- type NatGatewaySetType struct {
- BusinessStatus string
- Description string
- BandwidthPackageIds BandwidthPackageIdType
- ForwardTableIds ForwardTableIdType
- SnatTableIds SnatTableIdType
- InstanceChargeType string
- Name string
- NatGatewayId string
- RegionId common.Region
- Spec string
- Status string
- VpcId string
- }
- type DescribeNatGatewayResponse struct {
- common.Response
- common.PaginationResult
- NatGateways struct {
- NatGateway []NatGatewaySetType
- }
- }
- type DescribeNatGatewaysArgs struct {
- RegionId common.Region
- NatGatewayId string
- VpcId string
- common.Pagination
- }
- func (client *Client) DescribeNatGateways(args *DescribeNatGatewaysArgs) (natGateways []NatGatewaySetType,
- pagination *common.PaginationResult, err error) {
- args.Validate()
- response := DescribeNatGatewayResponse{}
- err = client.Invoke("DescribeNatGateways", args, &response)
- if err == nil {
- return response.NatGateways.NatGateway, &response.PaginationResult, nil
- }
- return nil, nil, err
- }
- type ModifyNatGatewayAttributeArgs struct {
- RegionId common.Region
- NatGatewayId string
- Name string
- Description string
- }
- type ModifyNatGatewayAttributeResponse struct {
- common.Response
- }
- func (client *Client) ModifyNatGatewayAttribute(args *ModifyNatGatewayAttributeArgs) error {
- response := ModifyNatGatewayAttributeResponse{}
- return client.Invoke("ModifyNatGatewayAttribute", args, &response)
- }
- type ModifyNatGatewaySpecArgs struct {
- RegionId common.Region
- NatGatewayId string
- Spec NatGatewaySpec
- }
- func (client *Client) ModifyNatGatewaySpec(args *ModifyNatGatewaySpecArgs) error {
- response := ModifyNatGatewayAttributeResponse{}
- return client.Invoke("ModifyNatGatewaySpec", args, &response)
- }
- type DeleteNatGatewayArgs struct {
- RegionId common.Region
- NatGatewayId string
- }
- type DeleteNatGatewayResponse struct {
- common.Response
- }
- func (client *Client) DeleteNatGateway(args *DeleteNatGatewayArgs) error {
- response := DeleteNatGatewayResponse{}
- err := client.Invoke("DeleteNatGateway", args, &response)
- return err
- }
- type DescribeBandwidthPackagesArgs struct {
- RegionId common.Region
- BandwidthPackageId string
- NatGatewayId string
- }
- type PublicIpAddresseType struct {
- AllocationId string
- IpAddress string
- }
- type DescribeBandwidthPackageType struct {
- Bandwidth string
- BandwidthPackageId string
- IpCount string
- PublicIpAddresses struct {
- PublicIpAddresse []PublicIpAddresseType
- }
- ZoneId string
- }
- type DescribeBandwidthPackagesResponse struct {
- common.Response
- BandwidthPackages struct {
- BandwidthPackage []DescribeBandwidthPackageType
- }
- }
- func (client *Client) DescribeBandwidthPackages(args *DescribeBandwidthPackagesArgs) ([]DescribeBandwidthPackageType, error) {
- response := &DescribeBandwidthPackagesResponse{}
- err := client.Invoke("DescribeBandwidthPackages", args, response)
- if err != nil {
- return nil, err
- }
- return response.BandwidthPackages.BandwidthPackage, err
- }
- type DeleteBandwidthPackageArgs struct {
- RegionId common.Region
- BandwidthPackageId string
- }
- type DeleteBandwidthPackageResponse struct {
- common.Response
- }
- func (client *Client) DeleteBandwidthPackage(args *DeleteBandwidthPackageArgs) error {
- response := DeleteBandwidthPackageResponse{}
- err := client.Invoke("DeleteBandwidthPackage", args, &response)
- return err
- }
- type NatGatewaySpec string
- const (
- NatGatewaySmallSpec = NatGatewaySpec("Small")
- NatGatewayMiddleSpec = NatGatewaySpec("Middle")
- NatGatewayLargeSpec = NatGatewaySpec("Large")
- )
|