Update Lego (Gandi API v5, cloudxns, ...)
This commit is contained in:
parent
dd873fbeee
commit
7d3dd5a0e4
43 changed files with 4112 additions and 1238 deletions
514
vendor/github.com/exoscale/egoscale/virtual_machines.go
generated
vendored
Normal file
514
vendor/github.com/exoscale/egoscale/virtual_machines.go
generated
vendored
Normal file
|
@ -0,0 +1,514 @@
|
|||
package egoscale
|
||||
|
||||
import "net"
|
||||
|
||||
// VirtualMachine reprents a virtual machine
|
||||
type VirtualMachine struct {
|
||||
ID string `json:"id,omitempty"`
|
||||
Account string `json:"account,omitempty"`
|
||||
ClusterID string `json:"clusterid,omitempty"`
|
||||
ClusterName string `json:"clustername,omitempty"`
|
||||
CPUNumber int64 `json:"cpunumber,omitempty"`
|
||||
CPUSpeed int64 `json:"cpuspeed,omitempty"`
|
||||
CPUUsed string `json:"cpuused,omitempty"`
|
||||
Created string `json:"created,omitempty"`
|
||||
Details map[string]string `json:"details,omitempty"`
|
||||
DiskIoRead int64 `json:"diskioread,omitempty"`
|
||||
DiskIoWrite int64 `json:"diskiowrite,omitempty"`
|
||||
DiskKbsRead int64 `json:"diskkbsread,omitempty"`
|
||||
DiskKbsWrite int64 `json:"diskkbswrite,omitempty"`
|
||||
DiskOfferingID string `json:"diskofferingid,omitempty"`
|
||||
DiskOfferingName string `json:"diskofferingname,omitempty"`
|
||||
DisplayName string `json:"displayname,omitempty"`
|
||||
DisplayVM bool `json:"displayvm,omitempty"`
|
||||
Domain string `json:"domain,omitempty"`
|
||||
DomainID string `json:"domainid,omitempty"`
|
||||
ForVirtualNetwork bool `json:"forvirtualnetwork,omitempty"`
|
||||
Group string `json:"group,omitempty"`
|
||||
GroupID string `json:"groupid,omitempty"`
|
||||
GuestOsID string `json:"guestosid,omitempty"`
|
||||
HaEnable bool `json:"haenable,omitempty"`
|
||||
HostID string `json:"hostid,omitempty"`
|
||||
HostName string `json:"hostname,omitempty"`
|
||||
Hypervisor string `json:"hypervisor,omitempty"`
|
||||
InstanceName string `json:"instancename,omitempty"` // root only
|
||||
IsDynamicallyScalable bool `json:"isdynamicallyscalable,omitempty"`
|
||||
IsoDisplayText string `json:"isodisplaytext,omitempty"`
|
||||
IsoID string `json:"isoid,omitempty"`
|
||||
IsoName string `json:"isoname,omitempty"`
|
||||
KeyPair string `json:"keypair,omitempty"`
|
||||
Memory int64 `json:"memory,omitempty"`
|
||||
MemoryIntFreeKbs int64 `json:"memoryintfreekbs,omitempty"`
|
||||
MemoryKbs int64 `json:"memorykbs,omitempty"`
|
||||
MemoryTargetKbs int64 `json:"memorytargetkbs,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
NetworkKbsRead int64 `json:"networkkbsread,omitempty"`
|
||||
NetworkKbsWrite int64 `json:"networkkbswrite,omitempty"`
|
||||
OsCategoryID string `json:"oscategoryid,omitempty"`
|
||||
OsTypeID int64 `json:"ostypeid,omitempty"`
|
||||
Password string `json:"password,omitempty"`
|
||||
PasswordEnabled bool `json:"passwordenabled,omitempty"`
|
||||
PCIDevices string `json:"pcidevices,omitempty"` // not in the doc
|
||||
PodID string `json:"podid,omitempty"`
|
||||
PodName string `json:"podname,omitempty"`
|
||||
Project string `json:"project,omitempty"`
|
||||
ProjectID string `json:"projectid,omitempty"`
|
||||
PublicIP string `json:"publicip,omitempty"`
|
||||
PublicIPID string `json:"publicipid,omitempty"`
|
||||
RootDeviceID int64 `json:"rootdeviceid,omitempty"`
|
||||
RootDeviceType string `json:"rootdevicetype,omitempty"`
|
||||
ServiceOfferingID string `json:"serviceofferingid,omitempty"`
|
||||
ServiceOfferingName string `json:"serviceofferingname,omitempty"`
|
||||
ServiceState string `json:"servicestate,omitempty"`
|
||||
State string `json:"state,omitempty"`
|
||||
TemplateDisplayText string `json:"templatedisplaytext,omitempty"`
|
||||
TemplateID string `json:"templateid,omitempty"`
|
||||
TemplateName string `json:"templatename,omitempty"`
|
||||
UserID string `json:"userid,omitempty"` // not in the doc
|
||||
UserName string `json:"username,omitempty"` // not in the doc
|
||||
Vgpu string `json:"vgpu,omitempty"` // not in the doc
|
||||
ZoneID string `json:"zoneid,omitempty"`
|
||||
ZoneName string `json:"zonename,omitempty"`
|
||||
AffinityGroup []AffinityGroup `json:"affinitygroup,omitempty"`
|
||||
Nic []Nic `json:"nic,omitempty"`
|
||||
SecurityGroup []SecurityGroup `json:"securitygroup,omitempty"`
|
||||
Tags []ResourceTag `json:"tags,omitempty"`
|
||||
JobID string `json:"jobid,omitempty"`
|
||||
JobStatus JobStatusType `json:"jobstatus,omitempty"`
|
||||
}
|
||||
|
||||
// ResourceType returns the type of the resource
|
||||
func (*VirtualMachine) ResourceType() string {
|
||||
return "UserVM"
|
||||
}
|
||||
|
||||
// NicsByType returns the corresponding interfaces base on the given type
|
||||
func (vm *VirtualMachine) NicsByType(nicType string) []Nic {
|
||||
nics := make([]Nic, 0)
|
||||
for _, nic := range vm.Nic {
|
||||
if nic.Type == nicType {
|
||||
// XXX The CloudStack API forgets to specify it
|
||||
nic.VirtualMachineID = vm.ID
|
||||
nics = append(nics, nic)
|
||||
}
|
||||
}
|
||||
return nics
|
||||
}
|
||||
|
||||
// NicByNetworkID returns the corresponding interface based on the given NetworkID
|
||||
func (vm *VirtualMachine) NicByNetworkID(networkID string) *Nic {
|
||||
for _, nic := range vm.Nic {
|
||||
if nic.NetworkID == networkID {
|
||||
nic.VirtualMachineID = vm.ID
|
||||
return &nic
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// NicByID returns the corresponding interface base on its ID
|
||||
func (vm *VirtualMachine) NicByID(nicID string) *Nic {
|
||||
for _, nic := range vm.Nic {
|
||||
if nic.ID == nicID {
|
||||
nic.VirtualMachineID = vm.ID
|
||||
return &nic
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// IPToNetwork represents a mapping between ip and networks
|
||||
type IPToNetwork struct {
|
||||
IP string `json:"ip,omitempty"`
|
||||
IPV6 string `json:"ipv6,omitempty"`
|
||||
NetworkID string `json:"networkid,omitempty"`
|
||||
}
|
||||
|
||||
// VirtualMachineResponse represents a generic Virtual Machine response
|
||||
type VirtualMachineResponse struct {
|
||||
VirtualMachine VirtualMachine `json:"virtualmachine"`
|
||||
}
|
||||
|
||||
// DeployVirtualMachine (Async) represents the machine creation
|
||||
//
|
||||
// CloudStack API: https://cloudstack.apache.org/api/apidocs-4.10/apis/deployVirtualMachine.html
|
||||
type DeployVirtualMachine struct {
|
||||
ServiceOfferingID string `json:"serviceofferingid"`
|
||||
TemplateID string `json:"templateid"`
|
||||
ZoneID string `json:"zoneid"`
|
||||
Account string `json:"account,omitempty"`
|
||||
AffinityGroupIDs []string `json:"affinitygroupids,omitempty"`
|
||||
AffinityGroupNames []string `json:"affinitygroupnames,omitempty"`
|
||||
CustomID string `json:"customid,omitempty"` // root only
|
||||
DeploymentPlanner string `json:"deploymentplanner,omitempty"` // root only
|
||||
Details map[string]string `json:"details,omitempty"`
|
||||
DiskOfferingID string `json:"diskofferingid,omitempty"`
|
||||
DisplayName string `json:"displayname,omitempty"`
|
||||
DisplayVM bool `json:"displayvm,omitempty"`
|
||||
DomainID string `json:"domainid,omitempty"`
|
||||
Group string `json:"group,omitempty"`
|
||||
HostID string `json:"hostid,omitempty"`
|
||||
Hypervisor string `json:"hypervisor,omitempty"`
|
||||
IP6Address net.IP `json:"ip6address,omitempty"`
|
||||
IPAddress net.IP `json:"ipaddress,omitempty"`
|
||||
IPToNetworkList []IPToNetwork `json:"iptonetworklist,omitempty"`
|
||||
Keyboard string `json:"keyboard,omitempty"`
|
||||
KeyPair string `json:"keypair,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
NetworkIDs []string `json:"networkids,omitempty"` // mutually exclusive with IPToNetworkList
|
||||
ProjectID string `json:"projectid,omitempty"`
|
||||
RootDiskSize int64 `json:"rootdisksize,omitempty"` // in GiB
|
||||
SecurityGroupIDs []string `json:"securitygroupids,omitempty"`
|
||||
SecurityGroupNames []string `json:"securitygroupnames,omitempty"` // does nothing, mutually exclusive
|
||||
Size string `json:"size,omitempty"` // mutually exclusive with DiskOfferingID
|
||||
StartVM bool `json:"startvm,omitempty"`
|
||||
UserData string `json:"userdata,omitempty"` // the client is responsible to base64/gzip it
|
||||
}
|
||||
|
||||
func (*DeployVirtualMachine) name() string {
|
||||
return "deployVirtualMachine"
|
||||
}
|
||||
|
||||
func (*DeployVirtualMachine) asyncResponse() interface{} {
|
||||
return new(DeployVirtualMachineResponse)
|
||||
}
|
||||
|
||||
// DeployVirtualMachineResponse represents a deployed VM instance
|
||||
type DeployVirtualMachineResponse VirtualMachineResponse
|
||||
|
||||
// StartVirtualMachine (Async) represents the creation of the virtual machine
|
||||
//
|
||||
// CloudStack API: https://cloudstack.apache.org/api/apidocs-4.10/apis/startVirtualMachine.html
|
||||
type StartVirtualMachine struct {
|
||||
ID string `json:"id"`
|
||||
DeploymentPlanner string `json:"deploymentplanner,omitempty"` // root only
|
||||
HostID string `json:"hostid,omitempty"` // root only
|
||||
}
|
||||
|
||||
func (*StartVirtualMachine) name() string {
|
||||
return "startVirtualMachine"
|
||||
}
|
||||
func (*StartVirtualMachine) asyncResponse() interface{} {
|
||||
return new(StartVirtualMachineResponse)
|
||||
}
|
||||
|
||||
// StartVirtualMachineResponse represents a started VM instance
|
||||
type StartVirtualMachineResponse VirtualMachineResponse
|
||||
|
||||
// StopVirtualMachine (Async) represents the stopping of the virtual machine
|
||||
//
|
||||
// CloudStack API: https://cloudstack.apache.org/api/apidocs-4.10/apis/stopVirtualMachine.html
|
||||
type StopVirtualMachine struct {
|
||||
ID string `json:"id"`
|
||||
Forced bool `json:"forced,omitempty"`
|
||||
}
|
||||
|
||||
func (*StopVirtualMachine) name() string {
|
||||
return "stopVirtualMachine"
|
||||
}
|
||||
|
||||
func (*StopVirtualMachine) asyncResponse() interface{} {
|
||||
return new(StopVirtualMachineResponse)
|
||||
}
|
||||
|
||||
// StopVirtualMachineResponse represents a stopped VM instance
|
||||
type StopVirtualMachineResponse VirtualMachineResponse
|
||||
|
||||
// RebootVirtualMachine (Async) represents the rebooting of the virtual machine
|
||||
//
|
||||
// CloudStack API: https://cloudstack.apache.org/api/apidocs-4.10/apis/rebootVirtualMachine.html
|
||||
type RebootVirtualMachine struct {
|
||||
ID string `json:"id"`
|
||||
}
|
||||
|
||||
func (*RebootVirtualMachine) name() string {
|
||||
return "rebootVirtualMachine"
|
||||
}
|
||||
|
||||
func (*RebootVirtualMachine) asyncResponse() interface{} {
|
||||
return new(RebootVirtualMachineResponse)
|
||||
}
|
||||
|
||||
// RebootVirtualMachineResponse represents a rebooted VM instance
|
||||
type RebootVirtualMachineResponse VirtualMachineResponse
|
||||
|
||||
// RestoreVirtualMachine (Async) represents the restoration of the virtual machine
|
||||
//
|
||||
// CloudStack API: https://cloudstack.apache.org/api/apidocs-4.10/apis/restoreVirtualMachine.html
|
||||
type RestoreVirtualMachine struct {
|
||||
VirtualMachineID string `json:"virtualmachineid"`
|
||||
TemplateID string `json:"templateid,omitempty"`
|
||||
}
|
||||
|
||||
func (*RestoreVirtualMachine) name() string {
|
||||
return "restoreVirtualMachine"
|
||||
}
|
||||
|
||||
func (*RestoreVirtualMachine) asyncResponse() interface{} {
|
||||
return new(RestoreVirtualMachineResponse)
|
||||
}
|
||||
|
||||
// RestoreVirtualMachineResponse represents a restored VM instance
|
||||
type RestoreVirtualMachineResponse VirtualMachineResponse
|
||||
|
||||
// RecoverVirtualMachine represents the restoration of the virtual machine
|
||||
//
|
||||
// CloudStack API: https://cloudstack.apache.org/api/apidocs-4.10/apis/recoverVirtualMachine.html
|
||||
type RecoverVirtualMachine struct {
|
||||
ID string `json:"virtualmachineid"`
|
||||
}
|
||||
|
||||
func (*RecoverVirtualMachine) name() string {
|
||||
return "recoverVirtualMachine"
|
||||
}
|
||||
|
||||
func (*RecoverVirtualMachine) response() interface{} {
|
||||
return new(RecoverVirtualMachineResponse)
|
||||
}
|
||||
|
||||
// RecoverVirtualMachineResponse represents a recovered VM instance
|
||||
type RecoverVirtualMachineResponse VirtualMachineResponse
|
||||
|
||||
// DestroyVirtualMachine (Async) represents the destruction of the virtual machine
|
||||
//
|
||||
// CloudStack API: https://cloudstack.apache.org/api/apidocs-4.10/apis/destroyVirtualMachine.html
|
||||
type DestroyVirtualMachine struct {
|
||||
ID string `json:"id"`
|
||||
Expunge bool `json:"expunge,omitempty"`
|
||||
}
|
||||
|
||||
func (*DestroyVirtualMachine) name() string {
|
||||
return "destroyVirtualMachine"
|
||||
}
|
||||
|
||||
func (*DestroyVirtualMachine) asyncResponse() interface{} {
|
||||
return new(DestroyVirtualMachineResponse)
|
||||
}
|
||||
|
||||
// DestroyVirtualMachineResponse represents a destroyed VM instance
|
||||
type DestroyVirtualMachineResponse VirtualMachineResponse
|
||||
|
||||
// UpdateVirtualMachine represents the update of the virtual machine
|
||||
//
|
||||
// CloudStack API: https://cloudstack.apache.org/api/apidocs-4.10/apis/updateVirtualMachine.html
|
||||
type UpdateVirtualMachine struct {
|
||||
ID string `json:"id"`
|
||||
CustomID string `json:"customid,omitempty"` // root only
|
||||
Details map[string]string `json:"details,omitempty"`
|
||||
DisplayName string `json:"displayname,omitempty"`
|
||||
DisplayVM bool `json:"displayvm,omitempty"`
|
||||
Group string `json:"group,omitempty"`
|
||||
HAEnable bool `json:"haenable,omitempty"`
|
||||
IsDynamicallyScalable bool `json:"isdynamicallyscalable,omitempty"`
|
||||
Name string `json:"name,omitempty"` // must reboot
|
||||
OsTypeID int64 `json:"ostypeid,omitempty"`
|
||||
SecurityGroupIDs []string `json:"securitygroupids,omitempty"`
|
||||
UserData string `json:"userdata,omitempty"`
|
||||
}
|
||||
|
||||
func (*UpdateVirtualMachine) name() string {
|
||||
return "updateVirtualMachine"
|
||||
}
|
||||
|
||||
func (*UpdateVirtualMachine) response() interface{} {
|
||||
return new(UpdateVirtualMachineResponse)
|
||||
}
|
||||
|
||||
// UpdateVirtualMachineResponse represents an updated VM instance
|
||||
type UpdateVirtualMachineResponse VirtualMachineResponse
|
||||
|
||||
// ExpungeVirtualMachine represents the annihilation of a VM
|
||||
type ExpungeVirtualMachine struct {
|
||||
ID string `json:"id"`
|
||||
}
|
||||
|
||||
func (*ExpungeVirtualMachine) name() string {
|
||||
return "expungeVirtualMachine"
|
||||
}
|
||||
|
||||
func (*ExpungeVirtualMachine) asyncResponse() interface{} {
|
||||
return new(booleanAsyncResponse)
|
||||
}
|
||||
|
||||
// ScaleVirtualMachine (Async) represents the scaling of a VM
|
||||
//
|
||||
// ChangeServiceForVirtualMachine does the same thing but returns the
|
||||
// new Virtual Machine which is more consistent with the rest of the API.
|
||||
//
|
||||
// CloudStack API: https://cloudstack.apache.org/api/apidocs-4.10/apis/scaleVirtualMachine.html
|
||||
type ScaleVirtualMachine struct {
|
||||
ID string `json:"id"`
|
||||
ServiceOfferingID string `json:"serviceofferingid"`
|
||||
Details map[string]string `json:"details,omitempty"`
|
||||
}
|
||||
|
||||
func (*ScaleVirtualMachine) name() string {
|
||||
return "scaleVirtualMachine"
|
||||
}
|
||||
|
||||
func (*ScaleVirtualMachine) asyncResponse() interface{} {
|
||||
return new(booleanAsyncResponse)
|
||||
}
|
||||
|
||||
// ChangeServiceForVirtualMachine represents the scaling of a VM
|
||||
//
|
||||
// CloudStack API: https://cloudstack.apache.org/api/apidocs-4.10/apis/changeServiceForVirtualMachine.html
|
||||
type ChangeServiceForVirtualMachine ScaleVirtualMachine
|
||||
|
||||
func (*ChangeServiceForVirtualMachine) name() string {
|
||||
return "changeServiceForVirtualMachine"
|
||||
}
|
||||
|
||||
func (*ChangeServiceForVirtualMachine) response() interface{} {
|
||||
return new(ChangeServiceForVirtualMachineResponse)
|
||||
}
|
||||
|
||||
// ChangeServiceForVirtualMachineResponse represents an changed VM instance
|
||||
type ChangeServiceForVirtualMachineResponse VirtualMachineResponse
|
||||
|
||||
// ResetPasswordForVirtualMachine (Async) represents the scaling of a VM
|
||||
//
|
||||
// CloudStack API: https://cloudstack.apache.org/api/apidocs-4.10/apis/resetPasswordForVirtualMachine.html
|
||||
type ResetPasswordForVirtualMachine ScaleVirtualMachine
|
||||
|
||||
func (*ResetPasswordForVirtualMachine) name() string {
|
||||
return "resetPasswordForVirtualMachine"
|
||||
}
|
||||
|
||||
func (*ResetPasswordForVirtualMachine) asyncResponse() interface{} {
|
||||
return new(ResetPasswordForVirtualMachineResponse)
|
||||
}
|
||||
|
||||
// ResetPasswordForVirtualMachineResponse represents the updated vm
|
||||
type ResetPasswordForVirtualMachineResponse VirtualMachineResponse
|
||||
|
||||
// GetVMPassword asks for an encrypted password
|
||||
//
|
||||
// CloudStack API: https://cloudstack.apache.org/api/apidocs-4.10/apis/getVMPassword.html
|
||||
type GetVMPassword struct {
|
||||
ID string `json:"id"`
|
||||
}
|
||||
|
||||
func (*GetVMPassword) name() string {
|
||||
return "getVMPassword"
|
||||
}
|
||||
|
||||
func (*GetVMPassword) response() interface{} {
|
||||
return new(GetVMPasswordResponse)
|
||||
}
|
||||
|
||||
// GetVMPasswordResponse represents the encrypted password
|
||||
type GetVMPasswordResponse struct {
|
||||
// Base64 encrypted password for the VM
|
||||
EncryptedPassword string `json:"encryptedpassword"`
|
||||
}
|
||||
|
||||
// ListVirtualMachines represents a search for a VM
|
||||
//
|
||||
// CloudStack API: https://cloudstack.apache.org/api/apidocs-4.10/apis/listVirtualMachine.html
|
||||
type ListVirtualMachines struct {
|
||||
Account string `json:"account,omitempty"`
|
||||
AffinityGroupID string `json:"affinitygroupid,omitempty"`
|
||||
Details map[string]string `json:"details,omitempty"`
|
||||
DisplayVM bool `json:"displayvm,omitempty"` // root only
|
||||
DomainID string `json:"domainid,omitempty"`
|
||||
ForVirtualNetwork bool `json:"forvirtualnetwork,omitempty"`
|
||||
GroupID string `json:"groupid,omitempty"`
|
||||
HostID string `json:"hostid,omitempty"`
|
||||
Hypervisor string `json:"hypervisor,omitempty"`
|
||||
ID string `json:"id,omitempty"`
|
||||
IDs []string `json:"ids,omitempty"` // mutually exclusive with id
|
||||
IsoID string `json:"isoid,omitempty"`
|
||||
IsRecursive bool `json:"isrecursive,omitempty"`
|
||||
KeyPair string `json:"keypair,omitempty"`
|
||||
Keyword string `json:"keyword,omitempty"`
|
||||
ListAll bool `json:"listall,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
NetworkID string `json:"networkid,omitempty"`
|
||||
Page int `json:"page,omitempty"`
|
||||
PageSize int `json:"pagesize,omitempty"`
|
||||
PodID string `json:"podid,omitempty"`
|
||||
ProjectID string `json:"projectid,omitempty"`
|
||||
ServiceOfferindID string `json:"serviceofferingid,omitempty"`
|
||||
State string `json:"state,omitempty"` // Running, Stopped, Present, ...
|
||||
StorageID string `json:"storageid,omitempty"`
|
||||
Tags []ResourceTag `json:"tags,omitempty"`
|
||||
TemplateID string `json:"templateid,omitempty"`
|
||||
UserID string `json:"userid,omitempty"`
|
||||
VpcID string `json:"vpcid,omitempty"`
|
||||
ZoneID string `json:"zoneid,omitempty"`
|
||||
}
|
||||
|
||||
func (*ListVirtualMachines) name() string {
|
||||
return "listVirtualMachines"
|
||||
}
|
||||
|
||||
func (*ListVirtualMachines) response() interface{} {
|
||||
return new(ListVirtualMachinesResponse)
|
||||
}
|
||||
|
||||
// ListVirtualMachinesResponse represents a list of virtual machines
|
||||
type ListVirtualMachinesResponse struct {
|
||||
Count int `json:"count"`
|
||||
VirtualMachine []VirtualMachine `json:"virtualmachine"`
|
||||
}
|
||||
|
||||
// AddNicToVirtualMachine (Async) adds a NIC to a VM
|
||||
//
|
||||
// CloudStack API: http://cloudstack.apache.org/api/apidocs-4.10/apis/addNicToVirtualMachine.html
|
||||
type AddNicToVirtualMachine struct {
|
||||
NetworkID string `json:"networkid"`
|
||||
VirtualMachineID string `json:"virtualmachineid"`
|
||||
IPAddress net.IP `json:"ipaddress,omitempty"`
|
||||
}
|
||||
|
||||
func (*AddNicToVirtualMachine) name() string {
|
||||
return "addNicToVirtualMachine"
|
||||
}
|
||||
|
||||
func (*AddNicToVirtualMachine) asyncResponse() interface{} {
|
||||
return new(AddNicToVirtualMachineResponse)
|
||||
}
|
||||
|
||||
// AddNicToVirtualMachineResponse represents the modified VM
|
||||
type AddNicToVirtualMachineResponse VirtualMachineResponse
|
||||
|
||||
// RemoveNicFromVirtualMachine (Async) removes a NIC from a VM
|
||||
//
|
||||
// CloudStack API: http://cloudstack.apache.org/api/apidocs-4.10/apis/removeNicFromVirtualMachine.html
|
||||
type RemoveNicFromVirtualMachine struct {
|
||||
NicID string `json:"nicid"`
|
||||
VirtualMachineID string `json:"virtualmachineid"`
|
||||
}
|
||||
|
||||
func (*RemoveNicFromVirtualMachine) name() string {
|
||||
return "removeNicFromVirtualMachine"
|
||||
}
|
||||
|
||||
func (*RemoveNicFromVirtualMachine) asyncResponse() interface{} {
|
||||
return new(RemoveNicFromVirtualMachineResponse)
|
||||
}
|
||||
|
||||
// RemoveNicFromVirtualMachineResponse represents the modified VM
|
||||
type RemoveNicFromVirtualMachineResponse VirtualMachineResponse
|
||||
|
||||
// UpdateDefaultNicForVirtualMachine (Async) adds a NIC to a VM
|
||||
//
|
||||
// CloudStack API: http://cloudstack.apache.org/api/apidocs-4.10/apis/updateDefaultNicForVirtualMachine.html
|
||||
type UpdateDefaultNicForVirtualMachine struct {
|
||||
NetworkID string `json:"networkid"`
|
||||
VirtualMachineID string `json:"virtualmachineid"`
|
||||
IPAddress net.IP `json:"ipaddress,omitempty"`
|
||||
}
|
||||
|
||||
func (*UpdateDefaultNicForVirtualMachine) name() string {
|
||||
return "updateDefaultNicForVirtualMachine"
|
||||
}
|
||||
|
||||
func (*UpdateDefaultNicForVirtualMachine) asyncResponse() interface{} {
|
||||
return new(UpdateDefaultNicForVirtualMachineResponse)
|
||||
}
|
||||
|
||||
// UpdateDefaultNicForVirtualMachineResponse represents the modified VM
|
||||
type UpdateDefaultNicForVirtualMachineResponse VirtualMachineResponse
|
Loading…
Add table
Add a link
Reference in a new issue