Documentation
¶
Index ¶
- Constants
- Variables
- func IsNotAuthorized(err error) bool
- func IsTimeout(err error) bool
- func VNCAuthPasswordEncrypt(key string, bytes []byte) ([]byte, error)
- type AgentExecCommand
- type AgentExecResult
- type AgentExecStatusResult
- type AgentFileReadResult
- type AgentNetworkIface
- type AgentNetworkIpAddress
- type AgentOsInfo
- type Appliance
- type Appliances
- type Backup
- type Backups
- type CPUInfo
- type Client
- func (c *Client) APIToken(tokenID, secret string)
- func (c *Client) Cluster() (*Cluster, error)
- func (c *Client) Delete(p string, v interface{}) error
- func (c *Client) Get(p string, v interface{}) error
- func (c *Client) Login(username, password string) error
- func (c *Client) Node(name string) (*Node, error)
- func (c *Client) Nodes() (ns NodeStatuses, err error)
- func (c *Client) Post(p string, d interface{}, v interface{}) error
- func (c *Client) Put(p string, d interface{}, v interface{}) error
- func (c *Client) Req(method, path string, data []byte, v interface{}) error
- func (c *Client) TermProxyWebsocketServeHTTP(path string, vnc *VNC, w http.ResponseWriter, r *http.Request, ...) (err error)
- func (c *Client) Ticket(credentials *Credentials) (*Session, error)
- func (c *Client) Upload(path string, fields map[string]string, file *os.File, v interface{}) error
- func (c *Client) VNCProxyWebsocketServeHTTP(path string, vnc *VNC, w http.ResponseWriter, r *http.Request, ...) (err error)
- func (c *Client) VNCWebSocket(path string, vnc *VNC) (chan string, chan string, chan error, func() error, error)
- func (c *Client) Version() (*Version, error)
- type Cluster
- func (cl *Cluster) FWGroup(name string) (group *FirewallSecurityGroup, err error)
- func (cl *Cluster) FWGroups() (groups []*FirewallSecurityGroup, err error)
- func (cl *Cluster) NewFWGroup(group *FirewallSecurityGroup) (err error)
- func (cl *Cluster) NextID() (int, error)
- func (cl *Cluster) Resources(filters ...string) (rs ClusterResources, err error)
- func (cl *Cluster) SdnApply() (err error)
- func (cl *Cluster) SdnVNetAdd(vNet *SdnVNet) (err error)
- func (cl *Cluster) SdnVNetDelete(vNet *SdnVNet) (err error)
- func (cl *Cluster) SdnVNetGet(vNet *SdnVNet) (err error)
- func (cl *Cluster) SdnVNetUpdate(vNet *SdnVNet) (err error)
- func (cl *Cluster) SdnVNetsGet() (vNets []*SdnVNet, err error)
- func (cl *Cluster) SdnZonesGet() (zones []*SdnZone, err error)
- func (cl *Cluster) UnmarshalJSON(b []byte) error
- type ClusterResource
- type ClusterResources
- type Content
- type Credentials
- type FirewallNodeOption
- type FirewallRule
- type FirewallSecurityGroup
- func (g *FirewallSecurityGroup) Delete() (err error)
- func (g *FirewallSecurityGroup) GetRules() (rules []*FirewallRule, err error)
- func (g *FirewallSecurityGroup) RuleCreate(rule *FirewallRule) (err error)
- func (g *FirewallSecurityGroup) RuleDelete(rulePos int) (err error)
- func (g *FirewallSecurityGroup) RuleUpdate(rule *FirewallRule) (err error)
- type FirewallVirtualMachineOption
- type HA
- type ISO
- type ISOs
- type IsTemplate
- type Ksm
- type LxcContainer
- func (c *LxcContainer) Reboot() (status *LxcContainerStatus, err error)
- func (c *LxcContainer) Resume() (status *LxcContainerStatus, err error)
- func (c *LxcContainer) Start() (status string, err error)
- func (c *LxcContainer) Stop() (status *LxcContainerStatus, err error)
- func (c *LxcContainer) Suspend() (status *LxcContainerStatus, err error)
- func (c *LxcContainer) TermProxy() (vnc *VNC, err error)
- func (c *LxcContainer) VNCWebSocket(vnc *VNC) (chan string, chan string, chan error, func() error, error)
- type LxcContainerStatus
- type LxcContainerStatuses
- type LxcContainers
- type Memory
- type Node
- func (n *Node) Appliances() (appliances Appliances, err error)
- func (n *Node) DownloadAppliance(template, storage string) (ret string, err error)
- func (n *Node) FirewallGetRules() (rules []*FirewallRule, err error)
- func (n *Node) FirewallOptionGet() (firewallOption *FirewallNodeOption, err error)
- func (n *Node) FirewallOptionSet(firewallOption *FirewallNodeOption) (err error)
- func (n *Node) FirewallRulesCreate(rule *FirewallRule) (err error)
- func (n *Node) FirewallRulesDelete(rulePos int) (err error)
- func (n *Node) FirewallRulesUpdate(rule *FirewallRule) (err error)
- func (n *Node) LxcContainer(id int) (*LxcContainer, error)
- func (n *Node) LxcContainers() (c LxcContainers, err error)
- func (n *Node) Network(iface string) (network *NodeNetwork, err error)
- func (n *Node) NetworkReload() (*Task, error)
- func (n *Node) Networks() (networks NodeNetworks, err error)
- func (n *Node) NewNetwork(network *NodeNetwork) (task *Task, err error)
- func (n *Node) NewVirtualMachine(id int, options ...VirtualMachineOption) (*Task, error)
- func (n *Node) Storage(name string) (storage *Storage, err error)
- func (n *Node) Storages() (storages Storages, err error)
- func (n *Node) TermProxy() (vnc *VNC, err error)
- func (n *Node) VNCWebSocket(vnc *VNC) (chan string, chan string, chan error, func() error, error)
- func (n *Node) Version() (version *Version, err error)
- func (n *Node) VirtualMachine(id int) (*VirtualMachine, error)
- func (n *Node) VirtualMachines() (vms VirtualMachines, err error)
- func (n *Node) VzTmpl(template, storage string) (*VzTmpl, error)
- func (n *Node) VzTmpls(storage string) (templates VzTmpls, err error)
- type NodeNetwork
- type NodeNetworks
- type NodeStatus
- type NodeStatuses
- type Option
- type RootFS
- type SdnVNet
- type SdnZone
- type Session
- type Snapshot
- type Storage
- func (s *Storage) Backup(name string) (backup *Backup, err error)
- func (s *Storage) DeleteContent(v, p, t string) (*Task, error)
- func (s *Storage) DownloadURL(content, filename, url string) (*Task, error)
- func (s *Storage) ISO(name string) (iso *ISO, err error)
- func (s *Storage) Upload(content, file string) (*Task, error)
- func (s *Storage) VzTmpl(name string) (vztmpl *VzTmpl, err error)
- type Storages
- type StringOrUint64
- type Task
- func (t *Task) Log(start, limit int) (l TaskLog, err error)
- func (t *Task) LogTail(start int, watch chan string) error
- func (t *Task) Ping() error
- func (t *Task) Stop() error
- func (t *Task) UnmarshalJSON(b []byte) error
- func (t *Task) Wait(interval, max time.Duration) error
- func (t *Task) WaitFor(seconds int) error
- func (t *Task) WaitForComplete(timesNum int, stepSeconds ...int) (err error)
- func (t *Task) WaitForCompleteStatus(timesNum int, stepSeconds ...int) (status bool, completed bool, err error)
- func (t *Task) Watch(start int) (chan string, error)
- type TaskLog
- type Tasks
- type VNC
- type Version
- type VirtualMachine
- func (v *VirtualMachine) AgentExec(command *AgentExecCommand) (pid int64, err error)
- func (v *VirtualMachine) AgentExecStatus(pid int64) (result *AgentExecStatusResult, err error)
- func (v *VirtualMachine) AgentExecSync(command *AgentExecCommand, timeoutSeconds int) (output string, err error)
- func (v *VirtualMachine) AgentFileRead(file string) (content string, err error)
- func (v *VirtualMachine) AgentFileWrite(file string, content string) (err error)
- func (v *VirtualMachine) AgentGetNetworkIFaces() (iFaces []*AgentNetworkIface, err error)
- func (v *VirtualMachine) AgentOsInfo() (info *AgentOsInfo, err error)
- func (v *VirtualMachine) AgentSetUserPassword(password string, username string) (err error)
- func (v *VirtualMachine) ChangeDisk(diskName string, disk *VirtualMachineDisk, storage string) (err error)
- func (v *VirtualMachine) Clone(name, target string) (newid int, task *Task, err error)
- func (v *VirtualMachine) Config(options ...VirtualMachineOption) (*Task, error)
- func (v *VirtualMachine) ConfigLoad(force ...bool) (err error)
- func (v *VirtualMachine) Delete() (task *Task, err error)
- func (v *VirtualMachine) FirewallGetRules() (rules []*FirewallRule, err error)
- func (v *VirtualMachine) FirewallOptionGet() (firewallOption *FirewallVirtualMachineOption, err error)
- func (v *VirtualMachine) FirewallOptionSet(firewallOption *FirewallVirtualMachineOption) (err error)
- func (v *VirtualMachine) FirewallRulesCreate(rule *FirewallRule) (err error)
- func (v *VirtualMachine) FirewallRulesDelete(rulePos int) (err error)
- func (v *VirtualMachine) FirewallRulesUpdate(rule *FirewallRule) (err error)
- func (v *VirtualMachine) GetDisk(diskName string) (disk *VirtualMachineDisk, err error)
- func (v *VirtualMachine) Hibernate() (task *Task, err error)
- func (v *VirtualMachine) IsHibernated() bool
- func (v *VirtualMachine) IsPaused() bool
- func (v *VirtualMachine) IsRunning() bool
- func (v *VirtualMachine) IsStopped() bool
- func (v *VirtualMachine) MoveDisk(diskName, storage string, format ...string) (task *Task, err error)
- func (v *VirtualMachine) NewSnapshot(name string) (task *Task, err error)
- func (v *VirtualMachine) Pause() (task *Task, err error)
- func (v *VirtualMachine) Ping() error
- func (v *VirtualMachine) Reboot() (task *Task, err error)
- func (v *VirtualMachine) Reset() (task *Task, err error)
- func (v *VirtualMachine) Resize(diskName string, sizeGb int64) (task *Task, err error)
- func (v *VirtualMachine) Resume() (task *Task, err error)
- func (v *VirtualMachine) Shutdown() (task *Task, err error)
- func (v *VirtualMachine) SnapshotDelete(name string) (task *Task, err error)
- func (v *VirtualMachine) SnapshotRollback(name string) (task *Task, err error)
- func (v *VirtualMachine) Snapshots() (snapshots []*Snapshot, err error)
- func (v *VirtualMachine) Start() (*Task, error)
- func (v *VirtualMachine) Stop() (task *Task, err error)
- func (v *VirtualMachine) TermProxy() (vnc *VNC, err error)
- func (v *VirtualMachine) TermProxyWebsocketServeHTTP(w http.ResponseWriter, r *http.Request, responseHeader http.Header) (err error)
- func (v *VirtualMachine) VNCProxyWebsocketServeHTTP(w http.ResponseWriter, r *http.Request, responseHeader http.Header) (err error)
- func (v *VirtualMachine) VNCWebSocket(vnc *VNC) (chan string, chan string, chan error, func() error, error)
- func (v *VirtualMachine) VncProxy() (vnc *VNC, err error)
- type VirtualMachineConfig
- func (vmc *VirtualMachineConfig) MergeIDEs() map[string]*VirtualMachineDisk
- func (vmc *VirtualMachineConfig) MergeNets() map[string]*VirtualMachineNetwork
- func (vmc *VirtualMachineConfig) MergeSATAs() map[string]*VirtualMachineDisk
- func (vmc *VirtualMachineConfig) MergeSCSIs() map[string]*VirtualMachineDisk
- func (vmc *VirtualMachineConfig) MergeUnuseds() map[string]*VirtualMachineDisk
- type VirtualMachineDisk
- type VirtualMachineNetwork
- type VirtualMachineOption
- type VirtualMachineOptions
- type VirtualMachines
- type VzTmpl
- type VzTmpls
Constants ¶
View Source
const ( StatusVirtualMachineRunning = "running" StatusVirtualMachineStopped = "stopped" StatusVirtualMachinePaused = "paused" )
View Source
const (
DefaultUserAgent = "hilaoyu-go-pve-client"
)
View Source
const (
TaskRunning = "running"
)
Variables ¶
View Source
var ( ErrNotAuthorized = errors.New("not authorized to access endpoint") ErrTimeout = errors.New("the operation has timed out") )
View Source
var DefaultWaitInterval = 1 * time.Second
Functions ¶
func IsNotAuthorized ¶
Types ¶
type AgentExecCommand ¶
type AgentExecResult ¶
type AgentExecResult struct {
Pid int64 `json:"pid,omitempty"`
}
type AgentExecStatusResult ¶
type AgentFileReadResult ¶
type AgentFileReadResult struct { Content string `json:"content,omitempty"` BytesRead StringOrUint64 `json:"bytes-read,omitempty"` }
type AgentNetworkIface ¶
type AgentNetworkIface struct { Name string `json:"name"` HardwareAddress string `json:"hardware-address"` IpAddresses []*AgentNetworkIpAddress `json:"ip-addresses"` }
type AgentNetworkIpAddress ¶
type AgentOsInfo ¶
type AgentOsInfo struct { Version string `json:"version"` VersionId string `json:"version-id"` Id string `json:"id"` Machine string `json:"machine"` PrettyName string `json:"pretty-name"` Name string `json:"name"` KernelRelease string `json:"kernel-release"` KernelVersion string `json:"kernel-version"` }
type Appliance ¶
type Appliance struct { Node string `json:",omitempty"` Os string Source string Type string SHA512Sum string Package string Template string Architecture string InfoPage string Description string ManageURL string Version string Section string Headline string // contains filtered or unexported fields }
type Appliances ¶
type Appliances []*Appliance
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
func (*Client) Nodes ¶
func (c *Client) Nodes() (ns NodeStatuses, err error)
func (*Client) TermProxyWebsocketServeHTTP ¶
func (*Client) VNCProxyWebsocketServeHTTP ¶
func (*Client) VNCWebSocket ¶
type Cluster ¶
type Cluster struct { Version int Quorate int Nodes NodeStatuses Name string ID string // contains filtered or unexported fields }
func (*Cluster) FWGroup ¶
func (cl *Cluster) FWGroup(name string) (group *FirewallSecurityGroup, err error)
func (*Cluster) FWGroups ¶
func (cl *Cluster) FWGroups() (groups []*FirewallSecurityGroup, err error)
func (*Cluster) NewFWGroup ¶
func (cl *Cluster) NewFWGroup(group *FirewallSecurityGroup) (err error)
func (*Cluster) Resources ¶
func (cl *Cluster) Resources(filters ...string) (rs ClusterResources, err error)
func (*Cluster) SdnVNetAdd ¶
func (*Cluster) SdnVNetDelete ¶
func (*Cluster) SdnVNetGet ¶
func (*Cluster) SdnVNetUpdate ¶
func (*Cluster) SdnVNetsGet ¶
func (*Cluster) SdnZonesGet ¶
func (*Cluster) UnmarshalJSON ¶
type ClusterResource ¶
type ClusterResource struct { ID string `jsont:"id"` Type string `json:"type"` Content string `json:",omitempty"` CPU float64 `json:",omitempty"` Disk uint64 `json:",omitempty"` // documented as string but this is an int HAstate string `json:",omitempty"` Level string `json:",omitempty"` MaxCPU uint64 `json:",omitempty"` MaxDisk uint64 `json:",omitempty"` MaxMem uint64 `json:",omitempty"` Mem uint64 `json:",omitempty"` // documented as string but this is an int Name string `json:",omitempty"` Node string `json:",omitempty"` PluginType string `json:",omitempty"` Pool string `json:",omitempty"` Status string `json:",omitempty"` Storage string `json:",omitempty"` Uptime uint64 `json:",omitempty"` }
type ClusterResources ¶
type ClusterResources []*ClusterResource
type Content ¶
type Content struct { URL string Node string Storage string `json:",omitempty"` Content string `json:",omitempty"` VolID string `json:",omitempty"` CTime uint64 `json:",omitempty"` Format string Size StringOrUint64 Used StringOrUint64 `json:",omitempty"` Path string `json:",omitempty"` Notes string `json:",omitempty"` // contains filtered or unexported fields }
type Credentials ¶
type FirewallNodeOption ¶
type FirewallNodeOption struct { Enable bool `json:"enable,omitempty"` LogLevelIn string `json:"log_level_in,omitempty"` LogLevelOut string `json:"log_level_out,omitempty"` LogNfConntrack bool `json:"log_nf_conntrack,omitempty"` Ntp bool `json:"ntp,omitempty"` NfConntrackAllowInvalid bool `json:"nf_conntrack_allow_invalid,omitempty"` NfConntrackMax int `json:"nf_conntrack_max,omitempty"` NfConntrackTcpTimeoutEstablished int `json:"nf_conntrack_tcp_timeout_established,omitempty"` NfConntrackTcpTimeoutSynRecv int `json:"nf_conntrack_tcp_timeout_syn_recv,omitempty"` Nosmurfs bool `json:"nosmurfs,omitempty"` ProtectionSynflood bool `json:"protection_synflood,omitempty"` ProtectionSynfloodBurst int `json:"protection_synflood_burst,omitempty"` ProtectionSynfloodRate int `json:"protection_synflood_rate,omitempty"` SmurfLogLevel string `json:"smurf_log_level,omitempty"` TcpFlagsLogLevel string `json:"tcp_flags_log_level,omitempty"` Tcpflags bool `json:"tcpflags,omitempty"` }
type FirewallRule ¶
type FirewallRule struct { Type string `json:"type,omitempty"` Action string `json:"action,omitempty"` Pos int `json:"pos,omitempty"` Comment string `json:"comment,omitempty"` Dest string `json:"dest,omitempty"` Dport string `json:"dport,omitempty"` Enable int `json:"enable,omitempty"` IcmpType string `json:"icmp_type,omitempty"` Iface string `json:"iface,omitempty"` Log string `json:"log,omitempty"` Macro string `json:"macro,omitempty"` Proto string `json:"proto,omitempty"` Source string `json:"source,omitempty"` Sport string `json:"sport,omitempty"` }
func (*FirewallRule) IsEnable ¶
func (r *FirewallRule) IsEnable() bool
type FirewallSecurityGroup ¶
type FirewallSecurityGroup struct { Group string `json:"group,omitempty"` Comment string `json:"comment,omitempty"` Rules []*FirewallRule `json:"rules,omitempty"` // contains filtered or unexported fields }
func (*FirewallSecurityGroup) Delete ¶
func (g *FirewallSecurityGroup) Delete() (err error)
func (*FirewallSecurityGroup) GetRules ¶
func (g *FirewallSecurityGroup) GetRules() (rules []*FirewallRule, err error)
func (*FirewallSecurityGroup) RuleCreate ¶
func (g *FirewallSecurityGroup) RuleCreate(rule *FirewallRule) (err error)
func (*FirewallSecurityGroup) RuleDelete ¶
func (g *FirewallSecurityGroup) RuleDelete(rulePos int) (err error)
func (*FirewallSecurityGroup) RuleUpdate ¶
func (g *FirewallSecurityGroup) RuleUpdate(rule *FirewallRule) (err error)
type FirewallVirtualMachineOption ¶
type FirewallVirtualMachineOption struct { Enable bool `json:"enable,omitempty"` Dhcp bool `json:"dhcp,omitempty"` Ipfilter bool `json:"ipfilter,omitempty"` LogLevelIn string `json:"log_level_in,omitempty"` LogLevelOut string `json:"log_level_out,omitempty"` Macfilter bool `json:"macfilter,omitempty"` Ndp bool `json:"ndp,omitempty"` PolicyIn string `json:"policy_in,omitempty"` PolicyOut string `json:"policy_out,omitempty"` Radv bool `json:"radv,omitempty"` }
type IsTemplate ¶
type IsTemplate bool
func (*IsTemplate) UnmarshalJSON ¶
func (it *IsTemplate) UnmarshalJSON(b []byte) error
type LxcContainer ¶
type LxcContainer struct { Name string Node string CPUs int Status string VMID StringOrUint64 Uptime uint64 MaxMem uint64 MaxDisk uint64 MaxSwap uint64 // contains filtered or unexported fields }
func (*LxcContainer) Reboot ¶
func (c *LxcContainer) Reboot() (status *LxcContainerStatus, err error)
func (*LxcContainer) Resume ¶
func (c *LxcContainer) Resume() (status *LxcContainerStatus, err error)
func (*LxcContainer) Start ¶
func (c *LxcContainer) Start() (status string, err error)
func (*LxcContainer) Stop ¶
func (c *LxcContainer) Stop() (status *LxcContainerStatus, err error)
func (*LxcContainer) Suspend ¶
func (c *LxcContainer) Suspend() (status *LxcContainerStatus, err error)
func (*LxcContainer) TermProxy ¶
func (c *LxcContainer) TermProxy() (vnc *VNC, err error)
func (*LxcContainer) VNCWebSocket ¶
type LxcContainerStatus ¶
type LxcContainerStatus struct {
Data string `json:",omitempty"`
}
type LxcContainerStatuses ¶
type LxcContainerStatuses []*LxcContainerStatus
type LxcContainers ¶
type LxcContainers []*LxcContainer
type Node ¶
type Node struct { Name string Kversion string LoadAvg []string CPU float64 RootFS RootFS PVEVersion string CPUInfo CPUInfo Swap Memory Idle int Memory Memory Ksm Ksm Uptime uint64 Wait float64 // contains filtered or unexported fields }
func (*Node) Appliances ¶
func (n *Node) Appliances() (appliances Appliances, err error)
func (*Node) DownloadAppliance ¶
func (*Node) FirewallGetRules ¶
func (n *Node) FirewallGetRules() (rules []*FirewallRule, err error)
func (*Node) FirewallOptionGet ¶
func (n *Node) FirewallOptionGet() (firewallOption *FirewallNodeOption, err error)
func (*Node) FirewallOptionSet ¶
func (n *Node) FirewallOptionSet(firewallOption *FirewallNodeOption) (err error)
func (*Node) FirewallRulesCreate ¶
func (n *Node) FirewallRulesCreate(rule *FirewallRule) (err error)
func (*Node) FirewallRulesDelete ¶
func (*Node) FirewallRulesUpdate ¶
func (n *Node) FirewallRulesUpdate(rule *FirewallRule) (err error)
func (*Node) LxcContainer ¶
func (n *Node) LxcContainer(id int) (*LxcContainer, error)
func (*Node) LxcContainers ¶
func (n *Node) LxcContainers() (c LxcContainers, err error)
func (*Node) NetworkReload ¶
func (*Node) Networks ¶
func (n *Node) Networks() (networks NodeNetworks, err error)
func (*Node) NewNetwork ¶
func (n *Node) NewNetwork(network *NodeNetwork) (task *Task, err error)
func (*Node) NewVirtualMachine ¶
func (n *Node) NewVirtualMachine(id int, options ...VirtualMachineOption) (*Task, error)
func (*Node) VNCWebSocket ¶
VNCWebSocket send, recv, errors, closer, error
func (*Node) VirtualMachine ¶
func (n *Node) VirtualMachine(id int) (*VirtualMachine, error)
func (*Node) VirtualMachines ¶
func (n *Node) VirtualMachines() (vms VirtualMachines, err error)
type NodeNetwork ¶
type NodeNetwork struct { Node string `json:"-"` NodeApi *Node `json:"-"` Iface string `json:"iface,omitempty"` BondMode string `json:"bond_mode,omitempty"` Autostart int `json:"autostart,omitempty"` CIDR string `json:"cidr,omitempty"` CIDR6 string `json:"cidr6,omitempty"` Gateway string `json:"gateway,omitempty"` Gateway6 string `json:"gateway6,omitempty"` Netmask string `json:"netmask,omitempty"` Netmask6 string `json:"netmask6,omitempty"` BridgeVlanAware bool `json:"bridge_vlan_aware,omitempty"` BridgePorts string `json:"bridge_ports,omitempty"` Comments string `json:"comments,omitempty"` Comments6 string `json:"comments6,omitempty"` BridgeStp string `json:"bridge_stp,omitempty"` BridgeFd string `json:"bridge_fd,omitempty"` BondPrimary string `json:"bond-primary,omitempty"` Address string `json:"address,omitempty"` Address6 string `json:"address6,omitempty"` Type string `json:"type,omitempty"` Active int `json:"active,omitempty"` Method string `json:"method,omitempty"` Method6 string `json:"method6,omitempty"` Priority int `json:"priority,omitempty"` // contains filtered or unexported fields }
func (*NodeNetwork) Delete ¶
func (nw *NodeNetwork) Delete() (task *Task, err error)
func (*NodeNetwork) Update ¶
func (nw *NodeNetwork) Update() (task *Task, err error)
type NodeNetworks ¶
type NodeNetworks []*NodeNetwork
type NodeStatus ¶
type NodeStatus struct { // shared Status string `json:",omitempty"` Level string `json:",omitempty"` ID string `json:",omitempty"` // format "node/<name>" // from /nodes endpoint Node string `json:",omitempty"` MaxCPU int `json:",omitempty"` MaxMem uint64 `json:",omitempty"` Disk uint64 `json:",omitempty"` SSLFingerprint string `json:"ssl_fingerprint,omitempty"` MaxDisk uint64 `json:",omitempty"` Mem uint64 `json:",omitempty"` CPU float64 `json:",omitempty"` // from /cluster endpoint NodeID int `json:",omitempty"` // the internal id of the node Name string `json:",omitempty"` IP string `json:",omitempty"` Online int `json:",omitempty"` Local int `json:",omitempty"` }
type NodeStatuses ¶
type NodeStatuses []*NodeStatus
type Option ¶
type Option func(*Client)
func WithAuthAccount ¶
func WithAuthApiToken ¶
func WithHttpClient ¶
func WithLogger ¶
func WithLogger(logger *utilLogger.Logger) Option
func WithUserAgent ¶
type Storage ¶
type Storage struct { Node string Name string `json:"storage"` Enabled int UsedFraction float64 `json:"used_fraction"` Active int Content string Avail uint64 Type string Used uint64 Total uint64 Storage string // contains filtered or unexported fields }
func (*Storage) DownloadURL ¶
type StringOrUint64 ¶
type StringOrUint64 uint64
func (*StringOrUint64) UnmarshalJSON ¶
func (d *StringOrUint64) UnmarshalJSON(b []byte) error
type Task ¶
type Task struct { UPID string ID string Type string User string Status string Node string PID uint64 `json:",omitempty"` PStart uint64 `json:",omitempty"` Saved string `json:",omitempty"` ExitStatus string `json:",omitempty"` IsCompleted bool IsRunning bool IsFailed bool IsSuccessful bool StartTime time.Time `json:"-"` EndTime time.Time `json:"-"` Duration time.Duration `json:"-"` // contains filtered or unexported fields }
func (*Task) UnmarshalJSON ¶
func (*Task) WaitForComplete ¶
func (*Task) WaitForCompleteStatus ¶
type TaskLog ¶
func (*TaskLog) UnmarshalJSON ¶
line numbers in the response start a 1 but the start param indexes from 0 so converting to that
type VirtualMachine ¶
type VirtualMachine struct { VirtualMachineConfig *VirtualMachineConfig Name string Node string NetIn uint64 CPUs int DiskWrite uint64 Status string Lock string `json:",omitempty"` VMID StringOrUint64 PID StringOrUint64 Netout uint64 Disk uint64 Uptime uint64 Mem uint64 CPU float64 MaxMem uint64 MaxDisk uint64 DiskRead uint64 QMPStatus string `json:"qmpstatus,omitempty"` Template IsTemplate // empty str if a vm, int 1 if a template HA HA `json:",omitempty"` // contains filtered or unexported fields }
func (*VirtualMachine) AgentExec ¶
func (v *VirtualMachine) AgentExec(command *AgentExecCommand) (pid int64, err error)
func (*VirtualMachine) AgentExecStatus ¶
func (v *VirtualMachine) AgentExecStatus(pid int64) (result *AgentExecStatusResult, err error)
func (*VirtualMachine) AgentExecSync ¶
func (v *VirtualMachine) AgentExecSync(command *AgentExecCommand, timeoutSeconds int) (output string, err error)
func (*VirtualMachine) AgentFileRead ¶
func (v *VirtualMachine) AgentFileRead(file string) (content string, err error)
func (*VirtualMachine) AgentFileWrite ¶
func (v *VirtualMachine) AgentFileWrite(file string, content string) (err error)
func (*VirtualMachine) AgentGetNetworkIFaces ¶
func (v *VirtualMachine) AgentGetNetworkIFaces() (iFaces []*AgentNetworkIface, err error)
func (*VirtualMachine) AgentOsInfo ¶
func (v *VirtualMachine) AgentOsInfo() (info *AgentOsInfo, err error)
func (*VirtualMachine) AgentSetUserPassword ¶
func (v *VirtualMachine) AgentSetUserPassword(password string, username string) (err error)
func (*VirtualMachine) ChangeDisk ¶
func (v *VirtualMachine) ChangeDisk(diskName string, disk *VirtualMachineDisk, storage string) (err error)
func (*VirtualMachine) Clone ¶
func (v *VirtualMachine) Clone(name, target string) (newid int, task *Task, err error)
func (*VirtualMachine) Config ¶
func (v *VirtualMachine) Config(options ...VirtualMachineOption) (*Task, error)
func (*VirtualMachine) ConfigLoad ¶
func (v *VirtualMachine) ConfigLoad(force ...bool) (err error)
func (*VirtualMachine) Delete ¶
func (v *VirtualMachine) Delete() (task *Task, err error)
func (*VirtualMachine) FirewallGetRules ¶
func (v *VirtualMachine) FirewallGetRules() (rules []*FirewallRule, err error)
func (*VirtualMachine) FirewallOptionGet ¶
func (v *VirtualMachine) FirewallOptionGet() (firewallOption *FirewallVirtualMachineOption, err error)
func (*VirtualMachine) FirewallOptionSet ¶
func (v *VirtualMachine) FirewallOptionSet(firewallOption *FirewallVirtualMachineOption) (err error)
func (*VirtualMachine) FirewallRulesCreate ¶
func (v *VirtualMachine) FirewallRulesCreate(rule *FirewallRule) (err error)
func (*VirtualMachine) FirewallRulesDelete ¶
func (v *VirtualMachine) FirewallRulesDelete(rulePos int) (err error)
func (*VirtualMachine) FirewallRulesUpdate ¶
func (v *VirtualMachine) FirewallRulesUpdate(rule *FirewallRule) (err error)
func (*VirtualMachine) GetDisk ¶
func (v *VirtualMachine) GetDisk(diskName string) (disk *VirtualMachineDisk, err error)
func (*VirtualMachine) Hibernate ¶
func (v *VirtualMachine) Hibernate() (task *Task, err error)
func (*VirtualMachine) IsHibernated ¶
func (v *VirtualMachine) IsHibernated() bool
func (*VirtualMachine) IsPaused ¶
func (v *VirtualMachine) IsPaused() bool
func (*VirtualMachine) IsRunning ¶
func (v *VirtualMachine) IsRunning() bool
func (*VirtualMachine) IsStopped ¶
func (v *VirtualMachine) IsStopped() bool
func (*VirtualMachine) MoveDisk ¶
func (v *VirtualMachine) MoveDisk(diskName, storage string, format ...string) (task *Task, err error)
func (*VirtualMachine) NewSnapshot ¶
func (v *VirtualMachine) NewSnapshot(name string) (task *Task, err error)
func (*VirtualMachine) Pause ¶
func (v *VirtualMachine) Pause() (task *Task, err error)
func (*VirtualMachine) Ping ¶
func (v *VirtualMachine) Ping() error
func (*VirtualMachine) Reboot ¶
func (v *VirtualMachine) Reboot() (task *Task, err error)
func (*VirtualMachine) Reset ¶
func (v *VirtualMachine) Reset() (task *Task, err error)
func (*VirtualMachine) Resize ¶
func (v *VirtualMachine) Resize(diskName string, sizeGb int64) (task *Task, err error)
func (*VirtualMachine) Resume ¶
func (v *VirtualMachine) Resume() (task *Task, err error)
func (*VirtualMachine) Shutdown ¶
func (v *VirtualMachine) Shutdown() (task *Task, err error)
func (*VirtualMachine) SnapshotDelete ¶
func (v *VirtualMachine) SnapshotDelete(name string) (task *Task, err error)
func (*VirtualMachine) SnapshotRollback ¶
func (v *VirtualMachine) SnapshotRollback(name string) (task *Task, err error)
func (*VirtualMachine) Snapshots ¶
func (v *VirtualMachine) Snapshots() (snapshots []*Snapshot, err error)
func (*VirtualMachine) Start ¶
func (v *VirtualMachine) Start() (*Task, error)
func (*VirtualMachine) Stop ¶
func (v *VirtualMachine) Stop() (task *Task, err error)
func (*VirtualMachine) TermProxy ¶
func (v *VirtualMachine) TermProxy() (vnc *VNC, err error)
func (*VirtualMachine) TermProxyWebsocketServeHTTP ¶
func (v *VirtualMachine) TermProxyWebsocketServeHTTP(w http.ResponseWriter, r *http.Request, responseHeader http.Header) (err error)
func (*VirtualMachine) VNCProxyWebsocketServeHTTP ¶
func (v *VirtualMachine) VNCProxyWebsocketServeHTTP(w http.ResponseWriter, r *http.Request, responseHeader http.Header) (err error)
func (*VirtualMachine) VNCWebSocket ¶
func (v *VirtualMachine) VNCWebSocket(vnc *VNC) (chan string, chan string, chan error, func() error, error)
VNCWebSocket copy/paste when calling to get the channel names right send, recv, errors, closer, errors := vm.VNCWebSocket(vnc) for this to work you need to first setup a serial terminal on your vm https://pve.proxmox.com/wiki/Serial_Terminal
func (*VirtualMachine) VncProxy ¶
func (v *VirtualMachine) VncProxy() (vnc *VNC, err error)
type VirtualMachineConfig ¶
type VirtualMachineConfig struct { Cores int Numa int Memory StringOrUint64 Sockets int OSType string SMBios1 string SCSIHW string Digest string Meta string Boot string VMGenID string Name string IDEs map[string]*VirtualMachineDisk IDE0 *VirtualMachineDisk IDE1 *VirtualMachineDisk IDE2 *VirtualMachineDisk IDE3 *VirtualMachineDisk IDE4 *VirtualMachineDisk IDE5 *VirtualMachineDisk IDE6 *VirtualMachineDisk IDE7 *VirtualMachineDisk IDE8 *VirtualMachineDisk IDE9 *VirtualMachineDisk SCSIs map[string]*VirtualMachineDisk SCSI0 *VirtualMachineDisk SCSI1 *VirtualMachineDisk SCSI2 *VirtualMachineDisk SCSI3 *VirtualMachineDisk SCSI4 *VirtualMachineDisk SCSI5 *VirtualMachineDisk SCSI6 *VirtualMachineDisk SCSI7 *VirtualMachineDisk SCSI8 *VirtualMachineDisk SCSI9 *VirtualMachineDisk SATAs map[string]*VirtualMachineDisk SATA0 *VirtualMachineDisk SATA1 *VirtualMachineDisk SATA2 *VirtualMachineDisk SATA3 *VirtualMachineDisk SATA4 *VirtualMachineDisk SATA5 *VirtualMachineDisk SATA6 *VirtualMachineDisk SATA7 *VirtualMachineDisk SATA8 *VirtualMachineDisk SATA9 *VirtualMachineDisk Nets map[string]*VirtualMachineNetwork Net0 *VirtualMachineNetwork Net1 *VirtualMachineNetwork Net2 *VirtualMachineNetwork Net3 *VirtualMachineNetwork Net4 *VirtualMachineNetwork Net5 *VirtualMachineNetwork Net6 *VirtualMachineNetwork Net7 *VirtualMachineNetwork Net8 *VirtualMachineNetwork Net9 *VirtualMachineNetwork Unuseds map[string]*VirtualMachineDisk Unused0 *VirtualMachineDisk Unused1 *VirtualMachineDisk Unused2 *VirtualMachineDisk Unused3 *VirtualMachineDisk Unused4 *VirtualMachineDisk Unused5 *VirtualMachineDisk Unused6 *VirtualMachineDisk Unused7 *VirtualMachineDisk Unused8 *VirtualMachineDisk Unused9 *VirtualMachineDisk }
func (*VirtualMachineConfig) MergeIDEs ¶
func (vmc *VirtualMachineConfig) MergeIDEs() map[string]*VirtualMachineDisk
func (*VirtualMachineConfig) MergeNets ¶
func (vmc *VirtualMachineConfig) MergeNets() map[string]*VirtualMachineNetwork
func (*VirtualMachineConfig) MergeSATAs ¶
func (vmc *VirtualMachineConfig) MergeSATAs() map[string]*VirtualMachineDisk
func (*VirtualMachineConfig) MergeSCSIs ¶
func (vmc *VirtualMachineConfig) MergeSCSIs() map[string]*VirtualMachineDisk
func (*VirtualMachineConfig) MergeUnuseds ¶
func (vmc *VirtualMachineConfig) MergeUnuseds() map[string]*VirtualMachineDisk
type VirtualMachineDisk ¶
type VirtualMachineDisk struct { Name string `json:"name,omitempty"` Storage string `json:"storage,omitempty"` File string `json:"file,omitempty"` Aio string `json:"aio,omitempty"` Cache string `json:"cache,omitempty"` Discard string `json:"discard,omitempty"` IoThread int `json:"iothread,omitempty"` Replicate int `json:"replicate,omitempty"` Ro int `json:"ro,omitempty"` Backup int `json:"backup,omitempty"` SizeGb int64 `json:"size_gb,omitempty"` Ssd int `json:"ssd,omitempty"` Media string `json:"media,omitempty"` Format string `json:"format,omitempty"` }
func (*VirtualMachineDisk) SourcePath ¶
func (vmd *VirtualMachineDisk) SourcePath() string
func (*VirtualMachineDisk) ToConfigOptions ¶
func (vmd *VirtualMachineDisk) ToConfigOptions() (options []string)
func (*VirtualMachineDisk) UnmarshalJSON ¶
func (vmd *VirtualMachineDisk) UnmarshalJSON(b []byte) error
type VirtualMachineNetwork ¶
type VirtualMachineNetwork struct { Name string `json:"name,omitempty"` Type string `json:"type,omitempty"` Mac string `json:"mac,omitempty"` Bridge string `json:"bridge,omitempty"` Firewall int `json:"firewall,omitempty"` LinkDown int `json:"link_down,omitempty"` Mtu int `json:"mtu,omitempty"` Queues int `json:"queues,omitempty"` Rate int `json:"rate,omitempty"` Tag int `json:"tag,omitempty"` Trunks string `json:"trunks,omitempty"` }
func (*VirtualMachineNetwork) UnmarshalJSON ¶
func (vmn *VirtualMachineNetwork) UnmarshalJSON(b []byte) error
type VirtualMachineOption ¶
type VirtualMachineOption struct { Name string Value interface{} }
type VirtualMachineOptions ¶
type VirtualMachineOptions []*VirtualMachineOption
type VirtualMachines ¶
type VirtualMachines []*VirtualMachine
Source Files
¶
- client.go
- client_options.go
- cluster.go
- cluster_firewall.go
- cluster_sdn.go
- lxc-containers.go
- node_appliances.go
- node_filrwall.go
- node_networks.go
- node_storage.go
- nodes.go
- storage.go
- tasks.go
- types.go
- utils.go
- virtual_machine_agent.go
- virtual_machine_firewall.go
- virtual_machine_snapshot.go
- virtual_machines.go
Click to show internal directories.
Click to hide internal directories.