104 lines
2.4 KiB
Go
104 lines
2.4 KiB
Go
|
package ecs
|
||
|
|
||
|
import "github.com/denverdino/aliyungo/common"
|
||
|
|
||
|
type CreateSnatEntryArgs struct {
|
||
|
RegionId common.Region
|
||
|
SnatTableId string
|
||
|
SourceVSwitchId string
|
||
|
SnatIp string
|
||
|
}
|
||
|
|
||
|
type CreateSnatEntryResponse struct {
|
||
|
common.Response
|
||
|
SnatEntryId string
|
||
|
}
|
||
|
|
||
|
type SnatEntrySetType struct {
|
||
|
RegionId common.Region
|
||
|
SnatEntryId string
|
||
|
SnatIp string
|
||
|
SnatTableId string
|
||
|
SourceCIDR string
|
||
|
SourceVSwitchId string
|
||
|
Status string
|
||
|
}
|
||
|
|
||
|
type DescribeSnatTableEntriesArgs struct {
|
||
|
RegionId common.Region
|
||
|
SnatTableId string
|
||
|
common.Pagination
|
||
|
}
|
||
|
|
||
|
type DescribeSnatTableEntriesResponse struct {
|
||
|
common.Response
|
||
|
common.PaginationResult
|
||
|
SnatTableEntries struct {
|
||
|
SnatTableEntry []SnatEntrySetType
|
||
|
}
|
||
|
}
|
||
|
|
||
|
type ModifySnatEntryArgs struct {
|
||
|
RegionId common.Region
|
||
|
SnatTableId string
|
||
|
SnatEntryId string
|
||
|
SnatIp string
|
||
|
}
|
||
|
|
||
|
type ModifySnatEntryResponse struct {
|
||
|
common.Response
|
||
|
}
|
||
|
|
||
|
type DeleteSnatEntryArgs struct {
|
||
|
RegionId common.Region
|
||
|
SnatTableId string
|
||
|
SnatEntryId string
|
||
|
}
|
||
|
|
||
|
type DeleteSnatEntryResponse struct {
|
||
|
common.Response
|
||
|
}
|
||
|
|
||
|
func (client *Client) CreateSnatEntry(args *CreateSnatEntryArgs) (resp *CreateSnatEntryResponse, err error) {
|
||
|
response := CreateSnatEntryResponse{}
|
||
|
err = client.Invoke("CreateSnatEntry", args, &response)
|
||
|
if err != nil {
|
||
|
return nil, err
|
||
|
}
|
||
|
return &response, err
|
||
|
}
|
||
|
|
||
|
func (client *Client) DescribeSnatTableEntries(args *DescribeSnatTableEntriesArgs) (snatTableEntries []SnatEntrySetType,
|
||
|
pagination *common.PaginationResult, err error) {
|
||
|
response, err := client.DescribeSnatTableEntriesWithRaw(args)
|
||
|
if err != nil {
|
||
|
return nil, nil, err
|
||
|
}
|
||
|
|
||
|
return response.SnatTableEntries.SnatTableEntry, &response.PaginationResult, nil
|
||
|
}
|
||
|
|
||
|
func (client *Client) DescribeSnatTableEntriesWithRaw(args *DescribeSnatTableEntriesArgs) ( response *DescribeSnatTableEntriesResponse, err error) {
|
||
|
args.Validate()
|
||
|
response = &DescribeSnatTableEntriesResponse{}
|
||
|
|
||
|
err = client.Invoke("DescribeSnatTableEntries", args, response)
|
||
|
|
||
|
if err != nil {
|
||
|
return nil, err
|
||
|
}
|
||
|
|
||
|
return response, nil
|
||
|
}
|
||
|
|
||
|
func (client *Client) ModifySnatEntry(args *ModifySnatEntryArgs) error {
|
||
|
response := ModifySnatEntryResponse{}
|
||
|
return client.Invoke("ModifySnatEntry", args, &response)
|
||
|
}
|
||
|
|
||
|
func (client *Client) DeleteSnatEntry(args *DeleteSnatEntryArgs) error {
|
||
|
response := DeleteSnatEntryResponse{}
|
||
|
err := client.Invoke("DeleteSnatEntry", args, &response)
|
||
|
return err
|
||
|
}
|