virt

package
v0.8.1 Latest Latest
Warning

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

Go to latest
Published: Aug 11, 2017 License: Apache-2.0 Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

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

ErrDomainNotFound error is returned by VirtDomainConnection'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 VirtDomainConnection'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 VirtStorageConnection'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 VirtStoragePool's LookupVolumeByName() method when the volume in question cannot be found

Functions

This section is empty.

Types

type DomainState

type DomainState int

DomainState represents a state of a domain

const (
	// DOMAIN_NOSTATE means "no state", i.e. that the domain state is undefined
	DOMAIN_NOSTATE DomainState = iota
	// DOMAIN_RUNNING means that the domain is running
	DOMAIN_RUNNING
	// DOMAIN_BLOCKED means that the domain is blocked on resource
	DOMAIN_BLOCKED
	// DOMAIN_PAUSED means that the domain is paused by user
	DOMAIN_PAUSED
	// DOMAIN_SHUTDOWN means that the domain is being shut down
	DOMAIN_SHUTDOWN
	// DOMAIN_CRASHED means that the domain is crashed
	DOMAIN_CRASHED
	// DOMAIN_PMSUSPENDED means that the domain is suspended
	DOMAIN_PMSUSPENDED
	// DOMAIN_SHUTOFF means that the domain is shut off
	DOMAIN_SHUTOFF
)

type VirtDomain

type VirtDomain 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)
}

VirtDomain represents a domain which corresponds to a VM

type VirtDomainConnection

type VirtDomainConnection interface {
	// Define creates and returns a new domain based on the specified definition
	DefineDomain(def *libvirtxml.Domain) (VirtDomain, error)
	// ListAll lists all the domains available on the system
	ListDomains() ([]VirtDomain, 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) (VirtDomain, 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) (VirtDomain, error)
	// DefineSecret defines a Secret with the specified value
	DefineSecret(def *libvirtxml.Secret) (VirtSecret, 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) (VirtSecret, 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) (VirtSecret, error)
}

VirtDomainConnection provides operations on domains that correspond to VMs

type VirtSecret

type VirtSecret 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 VirtStorageConnection

type VirtStorageConnection interface {
	// CreateStoragePool creates a storage pool based on the specified definition
	CreateStoragePool(def *libvirtxml.StoragePool) (VirtStoragePool, 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) (VirtStoragePool, error)
}

VirtStorageConnection provides operations on the storage pools and storage volumes

type VirtStoragePool

type VirtStoragePool interface {
	// CreateStorageVol creates a new storage volume based on the specified definition
	CreateStorageVol(def *libvirtxml.StorageVolume) (VirtStorageVolume, error)
	// CreateStorageVolClone creates a new storage volume clone
	// based on the specified definition and an existing volume
	// passed as 'from'
	CreateStorageVolClone(def *libvirtxml.StorageVolume, from VirtStorageVolume) (VirtStorageVolume, error)
	// ListAllVolumes lists all storage volumes available in the pool
	ListAllVolumes() ([]VirtStorageVolume, 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) (VirtStorageVolume, error)
	// ImageToVolume converts an image at sourcePath to a storage
	// volume using the specified definition
	ImageToVolume(def *libvirtxml.StorageVolume, sourcePath string) (VirtStorageVolume, error)
	// RemoveVolumeByName removes the storage volume with the
	// specified name
	RemoveVolumeByName(name string) error
}

VirtStoragePool represents a pool of volumes

type VirtStorageVolume

type VirtStorageVolume interface {
	// Name returns the name of this storage volume
	Name() string
	// Size returns the size of this storage volume
	Size() (uint64, error)
	// Size 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
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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