virt

package
v1.4.0 Latest Latest
Warning

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

Go to latest
Published: Sep 19, 2018 License: Apache-2.0 Imports: 2 Imported by: 8

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrDomainNotFound = errors.New("domain not found")

ErrDomainNotFound error is returned by DomainConnection's Lookup*() methods when the domain in question cannot be found

View Source
var ErrSecretNotFound = errors.New("secret not found")

ErrSecretNotFound error is returned by DomainConnection's Lookup*() methods when the domain in question cannot be found

View Source
var ErrStoragePoolNotFound = errors.New("storage pool not found")

ErrStoragePoolNotFound error is returned by StorageConnection's LookupByName() method when the pool in question cannot be found

View Source
var ErrStorageVolumeNotFound = errors.New("storage volume not found")

ErrStorageVolumeNotFound error is returned by StoragePool's LookupVolumeByName() method when the volume in question cannot be found

Functions

This section is empty.

Types

type Domain added in v1.0.0

type Domain interface {
	// Create boots the domain
	Create() error
	// Destroy destroys the domain
	Destroy() error
	// Undefine removes the domain so it will no longer be possible
	// to locate it using LookupByName() or LookupByUUIDString()
	Undefine() error
	// Shutdown shuts down the domain
	Shutdown() error
	// State obtains the current state of the domain
	State() (DomainState, error)
	// UUIDString returns UUID string for this domain
	UUIDString() (string, error)
	// Name returns the name of this domain
	Name() (string, error)
	// XML retrieves xml definition of the domain
	XML() (*libvirtxml.Domain, error)
	// GetRSS returns RSS used by VM in bytes
	GetRSS() (uint64, error)
	// GetCPUTime returns cpu time used by VM in nanoseconds per core
	GetCPUTime() (uint64, error)
}

Domain represents a domain which corresponds to a VM

type DomainConnection added in v1.0.0

type DomainConnection interface {
	// Define creates and returns a new domain based on the specified definition
	DefineDomain(def *libvirtxml.Domain) (Domain, error)
	// ListDomains lists all the domains available on the system
	ListDomains() ([]Domain, error)
	// LookupByName tries to locate the domain by name. In case if the
	// domain cannot be found but no other error occurred, it returns
	// ErrDomainNotFound
	LookupDomainByName(name string) (Domain, error)
	// LookupDomainByUUIDString tries to locate the domain by its UUID. In case if the
	// domain cannot be found but no other error occurred, it returns
	// ErrDomainNotFound
	LookupDomainByUUIDString(uuid string) (Domain, error)
	// DefineSecret defines a Secret with the specified value
	DefineSecret(def *libvirtxml.Secret) (Secret, error)
	// LookupSecretByUUIDString tries to locate the secret by its UUID. In case if the
	// secret cannot be found but no other error occurred, it returns
	// ErrSecretNotFound
	LookupSecretByUUIDString(uuid string) (Secret, error)
	// LookupSecretByUsageName tries to locate the secret by its Usage name. In case if the
	// secret cannot be found but no other error occurred, it returns
	// ErrSecretNotFound
	LookupSecretByUsageName(usageType string, usageName string) (Secret, error)
}

DomainConnection provides operations on domains that correspond to VMs

type DomainState

type DomainState int

DomainState represents a state of a domain

const (
	// DomainStateNoState means "no state", i.e. that the domain state is undefined
	DomainStateNoState DomainState = iota
	// DomainStateRunning means that the domain is running
	DomainStateRunning
	// DomainStateBlocked means that the domain is blocked on resource
	DomainStateBlocked
	// DomainStatePaused means that the domain is paused by user
	DomainStatePaused
	// DomainStateShutdown means that the domain is being shut down
	DomainStateShutdown
	// DomainStateCrashed means that the domain is crashed
	DomainStateCrashed
	// DomainStatePMSuspended means that the domain is suspended
	DomainStatePMSuspended
	// DomainStateShutoff means that the domain is shut off
	DomainStateShutoff
)

type Secret added in v1.0.0

type Secret interface {
	// SetValue sets the value of the secret
	SetValue(value []byte) error
	// Remove removes the secret
	Remove() error
}

Secret represents a secret that's used by the domain

type StorageConnection added in v1.0.0

type StorageConnection interface {
	// CreateStoragePool creates a storage pool based on the specified definition
	CreateStoragePool(def *libvirtxml.StoragePool) (StoragePool, error)
	// LookupByName tries to locate the storage pool by its
	// UUID. In case if the domain cannot be found but no other
	// error occurred, it returns ErrStoragePoolNotFound
	LookupStoragePoolByName(name string) (StoragePool, error)
	// ListPools() retrieves the list of pools
	ListPools() ([]StoragePool, error)
}

StorageConnection provides operations on the storage pools and storage volumes

type StoragePool added in v1.0.0

type StoragePool interface {
	// CreateStorageVol creates a new storage volume based on the specified definition
	CreateStorageVol(def *libvirtxml.StorageVolume) (StorageVolume, error)
	// ListVolumes lists all the storage volumes available in the pool
	ListVolumes() ([]StorageVolume, error)
	// LookupVolumeByName tries to locate the storage volume by its
	// UUID. In case if the domain cannot be found but no other
	// error occurred, it returns ErrStorageVolumeNotFound
	LookupVolumeByName(name string) (StorageVolume, error)
	// RemoveVolumeByName removes the storage volume with the
	// specified name
	RemoveVolumeByName(name string) error
	// XML retrieves xml definition of the pool
	XML() (*libvirtxml.StoragePool, error)
}

StoragePool represents a pool of volumes

type StorageVolume added in v1.0.0

type StorageVolume interface {
	// Name returns the name of this storage volume
	Name() string
	// Size returns the size of this storage volume
	Size() (uint64, error)
	// Path returns the path to the file representing this storage volume
	Path() (string, error)
	// Remove removes this storage volume
	Remove() error
	// Format formats the volume as ext4 filesystem
	Format() error
	// XML retrieves xml definition of the volume
	XML() (*libvirtxml.StorageVolume, error)
}

StorageVolume represents a particular volume in pool

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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