capabilities

package
v0.0.0-...-db145c8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 9, 2025 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Capabilities

type Capabilities struct {
	Host  CapabilitiesHost  `xml:"host"`
	Guest CapabilitiesGuest `xml:"guest"`
}

Capabilities as returned from the libvirt driver capabilities api.

The format is the same as returned when executing `virsh capabilities`. See:

type CapabilitiesGuest

type CapabilitiesGuest struct {
	OSType string                `xml:"os_type"`
	Arch   CapabilitiesGuestArch `xml:"arch"`
}

type CapabilitiesGuestArch

type CapabilitiesGuestArch struct {
	Name     string                      `xml:"name,attr"`
	WordSize int                         `xml:"wordsize"`
	Domain   CapabilitiesGuestArchDomain `xml:"domain"`
}

type CapabilitiesGuestArchDomain

type CapabilitiesGuestArchDomain struct {
	Type string `xml:"type,attr"`
}

type CapabilitiesHost

type CapabilitiesHost struct {
	CPU      CapabilitiesHostCPU      `xml:"cpu"`
	IOMMU    CapabilitiesHostIOMMU    `xml:"iommu"`
	Topology CapabilitiesHostTopology `xml:"topology"`
	Cache    CapabilitiesHostCache    `xml:"cache"`
}

type CapabilitiesHostCPU

type CapabilitiesHostCPU struct {
	Arch string `xml:"arch"`
}

type CapabilitiesHostCache

type CapabilitiesHostCache struct {
	Banks []CapabilitiesHostCacheBank `xml:"bank"`
}

type CapabilitiesHostCacheBank

type CapabilitiesHostCacheBank struct {
	ID    int    `xml:"id,attr"`
	Level int    `xml:"level,attr"`
	Type  string `xml:"type,attr"`
	Size  int    `xml:"size,attr"`
	Unit  string `xml:"unit,attr"`
	CPUs  string `xml:"cpus,attr"`
}

type CapabilitiesHostIOMMU

type CapabilitiesHostIOMMU struct {
	Support string `xml:"support,attr"`
}

type CapabilitiesHostTopology

type CapabilitiesHostTopology struct {
	CellSpec      CapabilitiesHostTopologyCells         `xml:"cells"`
	Interconnects CapabilitiesHostTopologyInterconnects `xml:"interconnects"`
}

type CapabilitiesHostTopologyBandwidth

type CapabilitiesHostTopologyBandwidth struct {
	Initiator int    `xml:"initiator,attr"`
	Target    int    `xml:"target,attr"`
	Type      string `xml:"type,attr"`
	Value     uint64 `xml:"value,attr"`
	Unit      string `xml:"unit,attr"`
}

type CapabilitiesHostTopologyCell

type CapabilitiesHostTopologyCell struct {
	ID        int                                   `xml:"id,attr"`
	Memory    CapabilitiesHostTopologyCellMemory    `xml:"memory"`
	Pages     []CapabilitiesHostTopologyCellPages   `xml:"pages"`
	Distances CapabilitiesHostTopologyCellDistances `xml:"distances"`
	CPUs      CapabilitiesHostTopologyCellCPUs      `xml:"cpus"`
}

type CapabilitiesHostTopologyCellCPU

type CapabilitiesHostTopologyCellCPU struct {
	ID        int    `xml:"id,attr"`
	SocketID  int    `xml:"socket_id,attr"`
	DieID     int    `xml:"die_id,attr"`
	ClusterID int    `xml:"cluster_id,attr"`
	CoreID    int    `xml:"core_id,attr"`
	Siblings  string `xml:"siblings,attr"`
}

type CapabilitiesHostTopologyCellCPUs

type CapabilitiesHostTopologyCellCPUs struct {
	Num  int64                             `xml:"num,attr"`
	CPUs []CapabilitiesHostTopologyCellCPU `xml:"cpu"`
}

type CapabilitiesHostTopologyCellDistances

type CapabilitiesHostTopologyCellDistances struct {
	Siblings []CapabilitiesHostTopologyCellSibling `xml:"sibling"`
}

type CapabilitiesHostTopologyCellMemory

type CapabilitiesHostTopologyCellMemory struct {
	Unit  string `xml:"unit,attr"`
	Value int64  `xml:",chardata"`
}

func (CapabilitiesHostTopologyCellMemory) AsQuantity

Get the cell memory as resource.Quantity.

type CapabilitiesHostTopologyCellPages

type CapabilitiesHostTopologyCellPages struct {
	Unit  string `xml:"unit,attr"`
	Size  int    `xml:"size,attr"`
	Value uint64 `xml:",chardata"`
}

type CapabilitiesHostTopologyCellSibling

type CapabilitiesHostTopologyCellSibling struct {
	ID    int `xml:"id,attr"`
	Value int `xml:"value,attr"`
}

type CapabilitiesHostTopologyCells

type CapabilitiesHostTopologyCells struct {
	Num   int                            `xml:"num,attr"`
	Cells []CapabilitiesHostTopologyCell `xml:"cell"`
}

type CapabilitiesHostTopologyInterconnects

type CapabilitiesHostTopologyInterconnects struct {
	Latencies  []CapabilitiesHostTopologyLatency   `xml:"latency"`
	Bandwidths []CapabilitiesHostTopologyBandwidth `xml:"bandwidth"`
}

type CapabilitiesHostTopologyLatency

type CapabilitiesHostTopologyLatency struct {
	Initiator int    `xml:"initiator,attr"`
	Target    int    `xml:"target,attr"`
	Type      string `xml:"type,attr"`
	Value     int    `xml:"value,attr"`
}

type Client

type Client interface {
	// Return the capabilities status of the host we are mounted on.
	Get(virt *libvirt.Libvirt) (v1.CapabilitiesStatus, error)
}

Client that returns the capabilities of the host we are mounted on.

func NewClient

func NewClient() Client

Create a new capabilities client.

func NewClientEmulator

func NewClientEmulator() Client

Create a new emulated capabilities client.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL