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.