Update Lego (Gandi API v5, cloudxns, ...)
This commit is contained in:
parent
dd873fbeee
commit
7d3dd5a0e4
43 changed files with 4112 additions and 1238 deletions
135
vendor/github.com/exoscale/egoscale/nics.go
generated
vendored
Normal file
135
vendor/github.com/exoscale/egoscale/nics.go
generated
vendored
Normal file
|
@ -0,0 +1,135 @@
|
|||
package egoscale
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"net"
|
||||
)
|
||||
|
||||
// Nic represents a Network Interface Controller (NIC)
|
||||
type Nic struct {
|
||||
ID string `json:"id,omitempty"`
|
||||
BroadcastURI string `json:"broadcasturi,omitempty"`
|
||||
Gateway net.IP `json:"gateway,omitempty"`
|
||||
IP6Address net.IP `json:"ip6address,omitempty"`
|
||||
IP6Cidr string `json:"ip6cidr,omitempty"`
|
||||
IP6Gateway net.IP `json:"ip6gateway,omitempty"`
|
||||
IPAddress net.IP `json:"ipaddress,omitempty"`
|
||||
IsDefault bool `json:"isdefault,omitempty"`
|
||||
IsolationURI string `json:"isolationuri,omitempty"`
|
||||
MacAddress string `json:"macaddress,omitempty"`
|
||||
Netmask net.IP `json:"netmask,omitempty"`
|
||||
NetworkID string `json:"networkid,omitempty"`
|
||||
NetworkName string `json:"networkname,omitempty"`
|
||||
SecondaryIP []NicSecondaryIP `json:"secondaryip,omitempty"`
|
||||
Traffictype string `json:"traffictype,omitempty"`
|
||||
Type string `json:"type,omitempty"`
|
||||
VirtualMachineID string `json:"virtualmachineid,omitempty"`
|
||||
}
|
||||
|
||||
// NicSecondaryIP represents a link between NicID and IPAddress
|
||||
type NicSecondaryIP struct {
|
||||
ID string `json:"id"`
|
||||
IPAddress net.IP `json:"ipaddress"`
|
||||
NetworkID string `json:"networkid"`
|
||||
NicID string `json:"nicid"`
|
||||
VirtualMachineID string `json:"virtualmachineid,omitempty"`
|
||||
}
|
||||
|
||||
// ListNics represents the NIC search
|
||||
type ListNics struct {
|
||||
VirtualMachineID string `json:"virtualmachineid"`
|
||||
ForDisplay bool `json:"fordisplay,omitempty"`
|
||||
Keyword string `json:"keyword,omitempty"`
|
||||
NetworkID string `json:"networkid,omitempty"`
|
||||
NicID string `json:"nicid,omitempty"`
|
||||
Page int `json:"page,omitempty"`
|
||||
PageSize int `json:"pagesize,omitempty"`
|
||||
}
|
||||
|
||||
func (*ListNics) name() string {
|
||||
return "listNics"
|
||||
}
|
||||
|
||||
func (*ListNics) response() interface{} {
|
||||
return new(ListNicsResponse)
|
||||
}
|
||||
|
||||
// ListNicsResponse represents a list of templates
|
||||
type ListNicsResponse struct {
|
||||
Count int `json:"count"`
|
||||
Nic []Nic `json:"nic"`
|
||||
}
|
||||
|
||||
// AddIPToNic represents the assignation of a secondary IP
|
||||
type AddIPToNic struct {
|
||||
NicID string `json:"nicid"`
|
||||
IPAddress net.IP `json:"ipaddress"`
|
||||
}
|
||||
|
||||
func (*AddIPToNic) name() string {
|
||||
return "addIpToNic"
|
||||
}
|
||||
func (*AddIPToNic) asyncResponse() interface{} {
|
||||
return new(AddIPToNicResponse)
|
||||
}
|
||||
|
||||
// AddIPToNicResponse represents the addition of an IP to a NIC
|
||||
type AddIPToNicResponse struct {
|
||||
NicSecondaryIP NicSecondaryIP `json:"nicsecondaryip"`
|
||||
}
|
||||
|
||||
// RemoveIPFromNic represents a deletion request
|
||||
type RemoveIPFromNic struct {
|
||||
ID string `json:"id"`
|
||||
}
|
||||
|
||||
func (*RemoveIPFromNic) name() string {
|
||||
return "removeIpFromNic"
|
||||
}
|
||||
|
||||
func (*RemoveIPFromNic) asyncResponse() interface{} {
|
||||
return new(booleanAsyncResponse)
|
||||
}
|
||||
|
||||
// ListNics lists the NIC of a VM
|
||||
//
|
||||
// Deprecated: use the API directly
|
||||
func (exo *Client) ListNics(req *ListNics) ([]Nic, error) {
|
||||
resp, err := exo.Request(req)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return resp.(*ListNicsResponse).Nic, nil
|
||||
}
|
||||
|
||||
// AddIPToNic adds an IP to a NIC
|
||||
//
|
||||
// Deprecated: use the API directly
|
||||
func (exo *Client) AddIPToNic(nicID string, ipAddress string, async AsyncInfo) (*NicSecondaryIP, error) {
|
||||
ip := net.ParseIP(ipAddress)
|
||||
if ip == nil {
|
||||
return nil, fmt.Errorf("%s is not a valid IP address", ipAddress)
|
||||
}
|
||||
req := &AddIPToNic{
|
||||
NicID: nicID,
|
||||
IPAddress: ip,
|
||||
}
|
||||
resp, err := exo.AsyncRequest(req, async)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
nic := resp.(AddIPToNicResponse).NicSecondaryIP
|
||||
return &nic, nil
|
||||
}
|
||||
|
||||
// RemoveIPFromNic removes an IP from a NIC
|
||||
//
|
||||
// Deprecated: use the API directly
|
||||
func (exo *Client) RemoveIPFromNic(secondaryNicID string, async AsyncInfo) error {
|
||||
req := &RemoveIPFromNic{
|
||||
ID: secondaryNicID,
|
||||
}
|
||||
return exo.BooleanAsyncRequest(req, async)
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue