Documentation
¶
Index ¶
- type Dom
- type DomSpecs
- type HVNicSpecs
- type HVSpecs
- type Libvirt
- func (l Libvirt) Close() error
- func (l Libvirt) Connect() error
- func (l Libvirt) DestroyVM(dom Dom) error
- func (l Libvirt) GetHVBrs() (hvnics []HVNicSpecs, err error)
- func (l Libvirt) GetHVLibvirtVersion() (string, error)
- func (l Libvirt) GetHVQemuVersion() (string, error)
- func (l Libvirt) GetHVSpecs() (specs HVSpecs, err error)
- func (l Libvirt) GetHVStats() (arch string, memoryTotal uint64, memoryFree uint64, cpus int32, mhz int32, ...)
- func (l Libvirt) GetUndefinedVMs() (vms map[uuid.UUID]Dom, err error)
- func (l Libvirt) GetVMConsole(dom Dom) (port string, err error)
- func (l Libvirt) GetVMFromUUID(vmID uuid.UUID) (dom Dom, err error)
- func (l Libvirt) GetVMSpecs(dom Dom) (specs DomSpecs, err error)
- func (l Libvirt) GetVMState(dom Dom) (stateInt status.Status, stateStr string, reasonStr string, err error)
- func (l Libvirt) GetVMs() (vms map[uuid.UUID]Dom, err error)
- func (l Libvirt) IsConnected() bool
- func (l Libvirt) UndefineVM(dom Dom) error
- func (l Libvirt) VMPowerOff(dom Dom) error
- func (l Libvirt) VMReboot(dom Dom) error
- func (l Libvirt) VMReset(dom Dom) error
- func (l Libvirt) VMStart(dom Dom) (err error)
- func (l Libvirt) VMStop(dom Dom) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DomSpecs ¶
type DomSpecs struct {
XMLName xml.Name `xml:"domain"`
Text string `xml:",chardata"`
Type string `xml:"type,attr"`
ID string `xml:"id,attr"`
Name string `xml:"name"`
Uuid string `xml:"uuid"`
Metadata struct {
Text string `xml:",chardata"`
Libosinfo struct {
Text string `xml:",chardata"`
Libosinfo string `xml:"libosinfo,attr"`
Os struct {
Text string `xml:",chardata"`
ID string `xml:"id,attr"`
} `xml:"os"`
} `xml:"libosinfo"`
} `xml:"metadata"`
Memory struct {
Text string `xml:",chardata"`
Unit string `xml:"unit,attr"`
} `xml:"memory"`
CurrentMemory struct {
Text string `xml:",chardata"`
Unit string `xml:"unit,attr"`
} `xml:"currentMemory"`
Vcpu struct {
Text string `xml:",chardata"`
Placement string `xml:"placement,attr"`
} `xml:"vcpu"`
Resource struct {
Text string `xml:",chardata"`
Partition string `xml:"partition"`
} `xml:"resource"`
Os struct {
Text string `xml:",chardata"`
Type struct {
Text string `xml:",chardata"`
Arch string `xml:"arch,attr"`
Machine string `xml:"machine,attr"`
} `xml:"type"`
Boot []struct {
Text string `xml:",chardata"`
Dev string `xml:"dev,attr"`
} `xml:"boot"`
} `xml:"os"`
Features struct {
Text string `xml:",chardata"`
Acpi string `xml:"acpi"`
Apic string `xml:"apic"`
} `xml:"features"`
Cpu struct {
Text string `xml:",chardata"`
Mode string `xml:"mode,attr"`
Match string `xml:"match,attr"`
Check string `xml:"check,attr"`
Model struct {
Text string `xml:",chardata"`
Fallback string `xml:"fallback,attr"`
} `xml:"model"`
Vendor string `xml:"vendor"`
Feature []struct {
Text string `xml:",chardata"`
Policy string `xml:"policy,attr"`
Name string `xml:"name,attr"`
} `xml:"feature"`
} `xml:"cpu"`
Clock struct {
Text string `xml:",chardata"`
Offset string `xml:"offset,attr"`
Timer []struct {
Text string `xml:",chardata"`
Name string `xml:"name,attr"`
Tickpolicy string `xml:"tickpolicy,attr"`
Present string `xml:"present,attr"`
} `xml:"timer"`
} `xml:"clock"`
OnPoweroff string `xml:"on_poweroff"`
OnReboot string `xml:"on_reboot"`
OnCrash string `xml:"on_crash"`
Pm struct {
Text string `xml:",chardata"`
SuspendToMem struct {
Text string `xml:",chardata"`
Enabled string `xml:"enabled,attr"`
} `xml:"suspend-to-mem"`
SuspendToDisk struct {
Text string `xml:",chardata"`
Enabled string `xml:"enabled,attr"`
} `xml:"suspend-to-disk"`
} `xml:"pm"`
Devices struct {
Text string `xml:",chardata"`
Emulator string `xml:"emulator"`
Disk []struct {
Text string `xml:",chardata"`
Type string `xml:"type,attr"`
Device string `xml:"device,attr"`
Driver struct {
Text string `xml:",chardata"`
Name string `xml:"name,attr"`
Type string `xml:"type,attr"`
} `xml:"driver"`
Source struct {
Text string `xml:",chardata"`
File string `xml:"file,attr"`
Index string `xml:"index,attr"`
} `xml:"source"`
BackingStore string `xml:"backingStore"`
Target struct {
Text string `xml:",chardata"`
Dev string `xml:"dev,attr"`
Bus string `xml:"bus,attr"`
} `xml:"target"`
Alias struct {
Text string `xml:",chardata"`
Name string `xml:"name,attr"`
} `xml:"alias"`
Address struct {
Text string `xml:",chardata"`
Type string `xml:"type,attr"`
Domain string `xml:"domain,attr"`
Bus string `xml:"bus,attr"`
Slot string `xml:"slot,attr"`
Function string `xml:"function,attr"`
Controller string `xml:"controller,attr"`
Target string `xml:"target,attr"`
Unit string `xml:"unit,attr"`
} `xml:"address"`
Readonly string `xml:"readonly"`
} `xml:"disk"`
Controller []struct {
Text string `xml:",chardata"`
Type string `xml:"type,attr"`
Index string `xml:"index,attr"`
AttrModel string `xml:"model,attr"`
Ports string `xml:"ports,attr"`
Alias struct {
Text string `xml:",chardata"`
Name string `xml:"name,attr"`
} `xml:"alias"`
Address struct {
Text string `xml:",chardata"`
Type string `xml:"type,attr"`
Domain string `xml:"domain,attr"`
Bus string `xml:"bus,attr"`
Slot string `xml:"slot,attr"`
Function string `xml:"function,attr"`
Multifunction string `xml:"multifunction,attr"`
} `xml:"address"`
Model struct {
Text string `xml:",chardata"`
Name string `xml:"name,attr"`
} `xml:"model"`
Target struct {
Text string `xml:",chardata"`
Chassis string `xml:"chassis,attr"`
Port string `xml:"port,attr"`
} `xml:"target"`
} `xml:"controller"`
Interface struct {
Text string `xml:",chardata"`
Type string `xml:"type,attr"`
Mac struct {
Text string `xml:",chardata"`
Address string `xml:"address,attr"`
} `xml:"mac"`
Source struct {
Text string `xml:",chardata"`
Bridge string `xml:"bridge,attr"`
} `xml:"source"`
Target struct {
Text string `xml:",chardata"`
Dev string `xml:"dev,attr"`
} `xml:"target"`
Model struct {
Text string `xml:",chardata"`
Type string `xml:"type,attr"`
} `xml:"model"`
Alias struct {
Text string `xml:",chardata"`
Name string `xml:"name,attr"`
} `xml:"alias"`
Address struct {
Text string `xml:",chardata"`
Type string `xml:"type,attr"`
Domain string `xml:"domain,attr"`
Bus string `xml:"bus,attr"`
Slot string `xml:"slot,attr"`
Function string `xml:"function,attr"`
} `xml:"address"`
} `xml:"interface"`
Serial struct {
Text string `xml:",chardata"`
Type string `xml:"type,attr"`
Source struct {
Text string `xml:",chardata"`
Path string `xml:"path,attr"`
} `xml:"source"`
Target struct {
Text string `xml:",chardata"`
Type string `xml:"type,attr"`
Port string `xml:"port,attr"`
Model struct {
Text string `xml:",chardata"`
Name string `xml:"name,attr"`
} `xml:"model"`
} `xml:"target"`
Alias struct {
Text string `xml:",chardata"`
Name string `xml:"name,attr"`
} `xml:"alias"`
} `xml:"serial"`
Console struct {
Text string `xml:",chardata"`
Type string `xml:"type,attr"`
Tty string `xml:"tty,attr"`
Source struct {
Text string `xml:",chardata"`
Path string `xml:"path,attr"`
} `xml:"source"`
Target struct {
Text string `xml:",chardata"`
Type string `xml:"type,attr"`
Port string `xml:"port,attr"`
} `xml:"target"`
Alias struct {
Text string `xml:",chardata"`
Name string `xml:"name,attr"`
} `xml:"alias"`
} `xml:"console"`
Channel struct {
Text string `xml:",chardata"`
Type string `xml:"type,attr"`
Source struct {
Text string `xml:",chardata"`
Mode string `xml:"mode,attr"`
Path string `xml:"path,attr"`
} `xml:"source"`
Target struct {
Text string `xml:",chardata"`
Type string `xml:"type,attr"`
Name string `xml:"name,attr"`
State string `xml:"state,attr"`
} `xml:"target"`
Alias struct {
Text string `xml:",chardata"`
Name string `xml:"name,attr"`
} `xml:"alias"`
Address struct {
Text string `xml:",chardata"`
Type string `xml:"type,attr"`
Controller string `xml:"controller,attr"`
Bus string `xml:"bus,attr"`
Port string `xml:"port,attr"`
} `xml:"address"`
} `xml:"channel"`
Input []struct {
Text string `xml:",chardata"`
Type string `xml:"type,attr"`
Bus string `xml:"bus,attr"`
Alias struct {
Text string `xml:",chardata"`
Name string `xml:"name,attr"`
} `xml:"alias"`
Address struct {
Text string `xml:",chardata"`
Type string `xml:"type,attr"`
Bus string `xml:"bus,attr"`
Port string `xml:"port,attr"`
} `xml:"address"`
} `xml:"input"`
Graphics []struct {
Text string `xml:",chardata"`
Type string `xml:"type,attr"`
Port string `xml:"port,attr"`
Autoport string `xml:"autoport,attr"`
Websocket string `xml:"websocket,attr"`
AttrListen string `xml:"listen,attr"`
Listen struct {
Text string `xml:",chardata"`
Type string `xml:"type,attr"`
Address string `xml:"address,attr"`
} `xml:"listen"`
} `xml:"graphics"`
Video struct {
Text string `xml:",chardata"`
Model struct {
Text string `xml:",chardata"`
Type string `xml:"type,attr"`
Vram string `xml:"vram,attr"`
Heads string `xml:"heads,attr"`
Primary string `xml:"primary,attr"`
} `xml:"model"`
Alias struct {
Text string `xml:",chardata"`
Name string `xml:"name,attr"`
} `xml:"alias"`
Address struct {
Text string `xml:",chardata"`
Type string `xml:"type,attr"`
Domain string `xml:"domain,attr"`
Bus string `xml:"bus,attr"`
Slot string `xml:"slot,attr"`
Function string `xml:"function,attr"`
} `xml:"address"`
} `xml:"video"`
Memballoon struct {
Text string `xml:",chardata"`
Model string `xml:"model,attr"`
Alias struct {
Text string `xml:",chardata"`
Name string `xml:"name,attr"`
} `xml:"alias"`
Address struct {
Text string `xml:",chardata"`
Type string `xml:"type,attr"`
Domain string `xml:"domain,attr"`
Bus string `xml:"bus,attr"`
Slot string `xml:"slot,attr"`
Function string `xml:"function,attr"`
} `xml:"address"`
} `xml:"memballoon"`
Rng struct {
Text string `xml:",chardata"`
Model string `xml:"model,attr"`
Backend struct {
Text string `xml:",chardata"`
Model string `xml:"model,attr"`
} `xml:"backend"`
Alias struct {
Text string `xml:",chardata"`
Name string `xml:"name,attr"`
} `xml:"alias"`
Address struct {
Text string `xml:",chardata"`
Type string `xml:"type,attr"`
Domain string `xml:"domain,attr"`
Bus string `xml:"bus,attr"`
Slot string `xml:"slot,attr"`
Function string `xml:"function,attr"`
} `xml:"address"`
} `xml:"rng"`
} `xml:"devices"`
Seclabel []struct {
Text string `xml:",chardata"`
Type string `xml:"type,attr"`
Model string `xml:"model,attr"`
Relabel string `xml:"relabel,attr"`
Label string `xml:"label"`
Imagelabel string `xml:"imagelabel"`
} `xml:"seclabel"`
}
Generated from https://www.onlinetool.io/xmltogo/
type HVNicSpecs ¶
type HVNicSpecs struct {
XMLName xml.Name `xml:"interface"`
Text string `xml:",chardata"`
Type string `xml:"type,attr"`
Name string `xml:"name,attr"`
Protocol []struct {
Text string `xml:",chardata"`
Family string `xml:"family,attr"`
Ip struct {
Text string `xml:",chardata"`
Address string `xml:"address,attr"`
Prefix string `xml:"prefix,attr"`
} `xml:"ip"`
} `xml:"protocol"`
Bridge struct {
Text string `xml:",chardata"`
Interface struct {
Text string `xml:",chardata"`
Type string `xml:"type,attr"`
Name string `xml:"name,attr"`
Link struct {
Text string `xml:",chardata"`
Speed string `xml:"speed,attr"`
State string `xml:"state,attr"`
} `xml:"link"`
Mac struct {
Text string `xml:",chardata"`
Address string `xml:"address,attr"`
} `xml:"mac"`
} `xml:"interface"`
} `xml:"bridge"`
}
type HVSpecs ¶
type HVSpecs struct {
XMLName xml.Name `xml:"sysinfo"`
Text string `xml:",chardata"`
Type string `xml:"type,attr"`
Bios struct {
Text string `xml:",chardata"`
Entry []struct {
Text string `xml:",chardata"`
Name string `xml:"name,attr"`
} `xml:"entry"`
} `xml:"bios"`
System struct {
Text string `xml:",chardata"`
Entry []struct {
Text string `xml:",chardata"`
Name string `xml:"name,attr"`
} `xml:"entry"`
} `xml:"system"`
BaseBoard struct {
Text string `xml:",chardata"`
Entry []struct {
Text string `xml:",chardata"`
Name string `xml:"name,attr"`
} `xml:"entry"`
} `xml:"baseBoard"`
Chassis struct {
Text string `xml:",chardata"`
Entry []struct {
Text string `xml:",chardata"`
Name string `xml:"name,attr"`
} `xml:"entry"`
} `xml:"chassis"`
Processor struct {
Text string `xml:",chardata"`
Entry []struct {
Text string `xml:",chardata"`
Name string `xml:"name,attr"`
} `xml:"entry"`
} `xml:"processor"`
MemoryDevice []struct {
Text string `xml:",chardata"`
Entry []struct {
Text string `xml:",chardata"`
Name string `xml:"name,attr"`
} `xml:"entry"`
} `xml:"memory_device"`
OemStrings struct {
Text string `xml:",chardata"`
Entry string `xml:"entry"`
} `xml:"oemStrings"`
}
Generated from https://www.onlinetool.io/xmltogo/
type Libvirt ¶
type Libvirt struct {
// contains filtered or unexported fields
}
func (Libvirt) GetHVBrs ¶
func (l Libvirt) GetHVBrs() (hvnics []HVNicSpecs, err error)
func (Libvirt) GetHVLibvirtVersion ¶
func (Libvirt) GetHVQemuVersion ¶
func (Libvirt) GetHVSpecs ¶
func (Libvirt) GetHVStats ¶
func (Libvirt) GetUndefinedVMs ¶
Fetch list of all undefined domains
func (Libvirt) GetVMFromUUID ¶
Fetches a domain from a UUID
func (Libvirt) GetVMSpecs ¶
Fetch VM specs from libvirt, will be used to check consistency
func (Libvirt) GetVMState ¶
func (l Libvirt) GetVMState(dom Dom) (stateInt status.Status, stateStr string, reasonStr string, err error)
Get the state of a domain(vm)
func (Libvirt) GetVMs ¶
Fetches list of all defined domains Won't be used to populate the HV's VM list, instead to check for inconsistencies
func (Libvirt) IsConnected ¶
func (Libvirt) UndefineVM ¶
func (Libvirt) VMPowerOff ¶
Click to show internal directories.
Click to hide internal directories.