config

package
v0.0.0-...-288c4de Latest Latest
Warning

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

Go to latest
Published: Jul 5, 2023 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

View Source
const DefaultVMBlockFilesystemSize = "100MiB"

DefaultVMBlockFilesystemSize is the size of a VM root device block volume's associated filesystem volume.

View Source
const MountOwnerShiftDynamic = "dynamic"

MountOwnerShiftDynamic use shiftfs for dynamic owner shifting.

View Source
const MountOwnerShiftNone = ""

MountOwnerShiftNone do not use owner shifting.

View Source
const MountOwnerShiftStatic = "static"

MountOwnerShiftStatic statically modify ownership.

View Source
const NICConfigDir = "nics"

NICConfigDir shared constant used to indicate where NIC config is stored.

Variables

This section is empty.

Functions

This section is empty.

Types

type Device

type Device map[string]string

Device represents a LXD container device.

func (Device) Clone

func (device Device) Clone() Device

Clone returns a copy of the Device.

func (Device) Validate

func (device Device) Validate(rules map[string]func(value string) error) error

Validate accepts a map of field/validation functions to run against the device's config.

type DeviceNamed

type DeviceNamed struct {
	Name   string
	Config Device
}

DeviceNamed contains the name of a device and its config.

type Devices

type Devices map[string]Device

Devices represents a set of LXD container devices.

func NewDevices

func NewDevices(nativeSet map[string]map[string]string) Devices

NewDevices creates a new Devices set from a native map[string]map[string]string set.

func (Devices) Clone

func (list Devices) Clone() Devices

Clone returns a copy of the Devices set.

func (Devices) CloneNative

func (list Devices) CloneNative() map[string]map[string]string

CloneNative returns a copy of the Devices set as a native map[string]map[string]string type.

func (Devices) Contains

func (list Devices) Contains(k string, d Device) bool

Contains checks if a given device exists in the set and if it's identical to that provided.

func (Devices) Reversed

func (list Devices) Reversed() DevicesSortable

Reversed returns the name of all devices in the set, sorted reversed.

func (Devices) Sorted

func (list Devices) Sorted() DevicesSortable

Sorted returns the name of all devices in the set, sorted properly.

func (Devices) Update

func (list Devices) Update(newlist Devices, updateFields func(Device, Device) []string) (map[string]Device, map[string]Device, map[string]Device, []string)

Update returns the difference between two device sets (removed, added, updated devices) and a list of all changed keys across all devices. Accepts a function to return which keys can be live updated, which prevents them being removed and re-added if the device supports live updates of certain keys.

type DevicesSortable

type DevicesSortable []DeviceNamed

DevicesSortable is a sortable slice of device names and config.

func (DevicesSortable) Len

func (devices DevicesSortable) Len() int

func (DevicesSortable) Less

func (devices DevicesSortable) Less(i, j int) bool

func (DevicesSortable) Swap

func (devices DevicesSortable) Swap(i, j int)

type MountEntryItem

type MountEntryItem struct {
	DevName    string   // The internal name for the device.
	DevPath    string   // Describes the block special device or remote filesystem to be mounted.
	TargetPath string   // Describes the mount point (target) for the filesystem.
	FSType     string   // Describes the type of the filesystem.
	Opts       []string // Describes the mount options associated with the filesystem.
	Freq       int      // Used by dump(8) to determine which filesystems need to be dumped. Defaults to zero (don't dump) if not present.
	PassNo     int      // Used by fsck(8) to determine the order in which filesystem checks are done at boot time. Defaults to zero (don't fsck) if not present.
	OwnerShift string   // Ownership shifting mode, use constants MountOwnerShiftNone, MountOwnerShiftStatic or MountOwnerShiftDynamic.
}

MountEntryItem represents a single mount entry item.

type NICConfig

type NICConfig struct {
	DeviceName string `json:"device_name"`
	NICName    string `json:"nic_name"`
	MACAddress string `json:"mac_address"`
	MTU        uint32 `json:"mtu"`
}

NICConfig contains network interface configuration to be passed into a VM and applied by the agent.

type ProxyAddress

type ProxyAddress struct {
	ConnType string
	Abstract bool
	Address  string
	Ports    []uint64
}

ProxyAddress represents a proxy address configuration.

type RootFSEntryItem

type RootFSEntryItem struct {
	Path string   // Describes the root file system source.
	Opts []string // Describes the mount options associated with the filesystem.
}

RootFSEntryItem represents the root filesystem options for an Instance.

type RunConfig

type RunConfig struct {
	RootFS           RootFSEntryItem  // RootFS to setup.
	NetworkInterface []RunConfigItem  // Network interface configuration settings.
	CGroups          []RunConfigItem  // Cgroup rules to setup.
	Mounts           []MountEntryItem // Mounts to setup/remove.
	Uevents          [][]string       // Uevents to inject.
	PostHooks        []func() error   // Functions to be run after device attach/detach.
	GPUDevice        []RunConfigItem  // GPU device configuration settings.
	USBDevice        []USBDeviceItem  // USB device configuration settings.
	TPMDevice        []RunConfigItem  // TPM device configuration settings.
	PCIDevice        []RunConfigItem  // PCI device configuration settings.
	Revert           revert.Hook      // Revert setup of device on post-setup error.
}

RunConfig represents LXD defined run-time config used for device setup/cleanup.

type RunConfigItem

type RunConfigItem struct {
	Key   string
	Value string
}

RunConfigItem represents a single config item.

type USBDeviceItem

type USBDeviceItem struct {
	DeviceName     string
	HostDevicePath string
}

USBDeviceItem represents a single USB device matched from LXD USB device specification.

Jump to

Keyboard shortcuts

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