Documentation
¶
Overview ¶
Package vf converts a config.VirtualMachine configuration to native virtualization framework datatypes. It also provides APIs to start/stop/... the virtualization framework virtual machine.
The interaction with the virtualization framework is done using the Code-Hex/vz Objective-C bindings. This requires cgo, and this package cannot be easily cross-compiled, it must be built on macOS.
Index ¶
- Variables
- func AddToVirtualMachineConfig(vmConfig *VirtualMachineConfiguration, dev config.VirtioDevice) error
- func ConnectVsockSync(vm *VirtualMachine, port uint32) (net.Conn, error)
- func ExposeVsock(vm *VirtualMachine, port uint32, vsockPath string, listen bool) (io.Closer, error)
- func ListenNetworkBlockDevices(vm *VirtualMachine) error
- func NewMacPlatformConfiguration(_, _, _ string) (vz.PlatformConfiguration, error)
- type NVMExpressController
- type NetworkBlockDevice
- type RosettaShare
- type StorageConfig
- type USBMassStorage
- type VirtioBlk
- type VirtioFs
- type VirtioGPU
- type VirtioInput
- type VirtioNet
- type VirtioRng
- type VirtioSerial
- type VirtioVsock
- type VirtualMachine
- type VirtualMachineConfiguration
Constants ¶
This section is empty.
Variables ¶
View Source
var PlatformType string
Functions ¶
func AddToVirtualMachineConfig ¶ added in v0.1.0
func AddToVirtualMachineConfig(vmConfig *VirtualMachineConfiguration, dev config.VirtioDevice) error
func ConnectVsockSync ¶
func ConnectVsockSync(vm *VirtualMachine, port uint32) (net.Conn, error)
func ExposeVsock ¶
func ListenNetworkBlockDevices ¶ added in v0.6.0
func ListenNetworkBlockDevices(vm *VirtualMachine) error
func NewMacPlatformConfiguration ¶ added in v0.6.0
Types ¶
type NVMExpressController ¶ added in v0.6.0
type NVMExpressController config.NVMExpressController
func (*NVMExpressController) AddToVirtualMachineConfig ¶ added in v0.6.0
func (dev *NVMExpressController) AddToVirtualMachineConfig(vmConfig *VirtualMachineConfiguration) error
type NetworkBlockDevice ¶ added in v0.6.0
type NetworkBlockDevice config.NetworkBlockDevice
func (*NetworkBlockDevice) AddToVirtualMachineConfig ¶ added in v0.6.0
func (dev *NetworkBlockDevice) AddToVirtualMachineConfig(vmConfig *VirtualMachineConfiguration) error
func (*NetworkBlockDevice) SynchronizationModeVZ ¶ added in v0.6.0
func (dev *NetworkBlockDevice) SynchronizationModeVZ() vz.DiskSynchronizationMode
type RosettaShare ¶ added in v0.5.0
type RosettaShare config.RosettaShare
vf will define toVZ() and AddToVirtualMachineConfig() methods on these types We alias the types from the config package to avoid duplicating struct definitions between the config and vf packages
func (*RosettaShare) AddToVirtualMachineConfig ¶ added in v0.5.0
func (dev *RosettaShare) AddToVirtualMachineConfig(_ *VirtualMachineConfiguration) error
type StorageConfig ¶ added in v0.1.0
type StorageConfig config.StorageConfig
type USBMassStorage ¶ added in v0.1.0
type USBMassStorage config.USBMassStorage
func (*USBMassStorage) AddToVirtualMachineConfig ¶ added in v0.1.0
func (dev *USBMassStorage) AddToVirtualMachineConfig(vmConfig *VirtualMachineConfiguration) error
type VirtioBlk ¶ added in v0.1.0
func (*VirtioBlk) AddToVirtualMachineConfig ¶ added in v0.1.0
func (dev *VirtioBlk) AddToVirtualMachineConfig(vmConfig *VirtualMachineConfiguration) error
type VirtioFs ¶ added in v0.1.0
func (*VirtioFs) AddToVirtualMachineConfig ¶ added in v0.1.0
func (dev *VirtioFs) AddToVirtualMachineConfig(vmConfig *VirtualMachineConfiguration) error
type VirtioGPU ¶ added in v0.1.0
func (*VirtioGPU) AddToVirtualMachineConfig ¶ added in v0.1.0
func (dev *VirtioGPU) AddToVirtualMachineConfig(vmConfig *VirtualMachineConfiguration) error
type VirtioInput ¶ added in v0.1.0
type VirtioInput config.VirtioInput
func (*VirtioInput) AddToVirtualMachineConfig ¶ added in v0.1.0
func (dev *VirtioInput) AddToVirtualMachineConfig(vmConfig *VirtualMachineConfiguration) error
type VirtioNet ¶ added in v0.1.0
func (*VirtioNet) AddToVirtualMachineConfig ¶ added in v0.1.0
func (dev *VirtioNet) AddToVirtualMachineConfig(vmConfig *VirtualMachineConfiguration) error
type VirtioRng ¶ added in v0.1.0
func (*VirtioRng) AddToVirtualMachineConfig ¶ added in v0.1.0
func (dev *VirtioRng) AddToVirtualMachineConfig(vmConfig *VirtualMachineConfiguration) error
type VirtioSerial ¶ added in v0.1.0
type VirtioSerial config.VirtioSerial
func (*VirtioSerial) AddToVirtualMachineConfig ¶ added in v0.1.0
func (dev *VirtioSerial) AddToVirtualMachineConfig(vmConfig *VirtualMachineConfiguration) error
type VirtioVsock ¶ added in v0.1.0
type VirtioVsock config.VirtioVsock
func (*VirtioVsock) AddToVirtualMachineConfig ¶ added in v0.1.0
func (dev *VirtioVsock) AddToVirtualMachineConfig(vmConfig *VirtualMachineConfiguration) error
type VirtualMachine ¶ added in v0.6.0
type VirtualMachine struct { *vz.VirtualMachine // contains filtered or unexported fields }
func NewVirtualMachine ¶ added in v0.6.0
func NewVirtualMachine(vmConfig config.VirtualMachine) (*VirtualMachine, error)
func (*VirtualMachine) Config ¶ added in v0.6.0
func (vm *VirtualMachine) Config() *config.VirtualMachine
func (*VirtualMachine) Start ¶ added in v0.6.0
func (vm *VirtualMachine) Start() error
type VirtualMachineConfiguration ¶ added in v0.6.0
type VirtualMachineConfiguration struct { *vz.VirtualMachineConfiguration // wrapper for Objective-C type // contains filtered or unexported fields }
func NewVirtualMachineConfiguration ¶ added in v0.6.0
func NewVirtualMachineConfiguration(vmConfig *config.VirtualMachine) (*VirtualMachineConfiguration, error)
Click to show internal directories.
Click to hide internal directories.