vf

package
v0.6.0 Latest Latest
Warning

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

Go to latest
Published: Nov 27, 2024 License: Apache-2.0 Imports: 19 Imported by: 1

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

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 ExposeVsock(vm *VirtualMachine, port uint32, vsockPath string, listen bool) (io.Closer, error)

func ListenNetworkBlockDevices added in v0.6.0

func ListenNetworkBlockDevices(vm *VirtualMachine) error

func NewMacPlatformConfiguration added in v0.6.0

func NewMacPlatformConfiguration(_, _, _ string) (vz.PlatformConfiguration, error)

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

type VirtioBlk config.VirtioBlk

func (*VirtioBlk) AddToVirtualMachineConfig added in v0.1.0

func (dev *VirtioBlk) AddToVirtualMachineConfig(vmConfig *VirtualMachineConfiguration) error

type VirtioFs added in v0.1.0

type VirtioFs config.VirtioFs

func (*VirtioFs) AddToVirtualMachineConfig added in v0.1.0

func (dev *VirtioFs) AddToVirtualMachineConfig(vmConfig *VirtualMachineConfiguration) error

type VirtioGPU added in v0.1.0

type VirtioGPU config.VirtioGPU

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

type VirtioNet struct {
	*config.VirtioNet
	// contains filtered or unexported fields
}

func (*VirtioNet) AddToVirtualMachineConfig added in v0.1.0

func (dev *VirtioNet) AddToVirtualMachineConfig(vmConfig *VirtualMachineConfiguration) error

func (*VirtioNet) Shutdown added in v0.1.0

func (dev *VirtioNet) Shutdown() error

type VirtioRng added in v0.1.0

type VirtioRng config.VirtioRng

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)

Jump to

Keyboard shortcuts

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