virtualsystem

package
v0.22.1 Latest Latest
Warning

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

Go to latest
Published: Oct 25, 2024 License: MIT Imports: 28 Imported by: 3

Documentation

Index

Constants

View Source
const (
	IDEController  = "IDE Controller"
	SCSIController = "SCSI Controller"
)
View Source
const (
	HyperVGeneration_V1 = "Microsoft:Hyper-V:SubType:1"
	HyperVGeneration_V2 = "Microsoft:Hyper-V:SubType:2"
)
View Source
const (
	StateChangeTimeoutSeconds = 300
)

Variables

This section is empty.

Functions

This section is empty.

Types

type GuestStateIsolationMode added in v0.21.0

type GuestStateIsolationMode uint16
const (
	Default             GuestStateIsolationMode = 0
	NoPersistentSecrets GuestStateIsolationMode = 1
	NoManagementVtl     GuestStateIsolationMode = 2
)

type HyperVGeneration added in v0.21.0

type HyperVGeneration string

type VirtualHardDiskType added in v0.21.0

type VirtualHardDiskType int32
const (
	VirtualHardDiskType_OS_VIRTUALHARDDISK       VirtualHardDiskType = 0
	VirtualHardDiskType_DATADISK_VIRTUALHARDDISK VirtualHardDiskType = 1
)

type VirtualMachine

type VirtualMachine struct {
	*v2.Msvm_ComputerSystem
}

func GetVirtualMachineByVMId added in v0.21.0

func GetVirtualMachineByVMId(whost *host.WmiHost, vmID string) (vm *VirtualMachine, err error)

GetVirtualMachineByVMId gets an existing virtual machine

func GetVirtualMachineByVMName added in v0.21.0

func GetVirtualMachineByVMName(whost *host.WmiHost, vmName string) (vm *VirtualMachine, err error)

GetVirtualMachineByVMName gets an existing virtual machine

func NewVirtualMachine

func NewVirtualMachine(instance *wmi.WmiInstance) (*VirtualMachine, error)

NewVirtualMachine

func (*VirtualMachine) ChangeState

func (vm *VirtualMachine) ChangeState(state VirtualMachineState, jobType job.ConcreteJob_JobType, timeoutSeconds int16) (err error)

ChangeState changes the state of the Virtual Machine

func (*VirtualMachine) GetDefaultGpuPartitionSettingData added in v0.21.0

func (vm *VirtualMachine) GetDefaultGpuPartitionSettingData() (partitionSettingData *gpu.GpuPartitionSettingData, err error)

func (*VirtualMachine) GetDvdDriveAndLogicalDiskByIsoPath added in v0.22.1

func (vm *VirtualMachine) GetDvdDriveAndLogicalDiskByIsoPath(isoPath string) (dvd *drive.DvdDrive, diskdvd *disk.LogicalDisk, err error)

func (*VirtualMachine) GetDvdDrives added in v0.22.1

func (vm *VirtualMachine) GetDvdDrives() (col drive.DvdDriveCollection, err error)

func (*VirtualMachine) GetGpuPartitionSettingCollection added in v0.21.0

func (vm *VirtualMachine) GetGpuPartitionSettingCollection() (partitionSettingCollection gpu.GpuPartitionSettingCollection, err error)

func (*VirtualMachine) GetGpuPartitionSettingData added in v0.21.0

func (vm *VirtualMachine) GetGpuPartitionSettingData(partitionSizeBytes uint64) (partitionSettingData *gpu.GpuPartitionSettingData, err error)

func (*VirtualMachine) GetIDEControllers added in v0.21.0

func (*VirtualMachine) GetMemory added in v0.2.11

func (vm *VirtualMachine) GetMemory() (vmmemory *memory.MemorySettingData, err error)

func (*VirtualMachine) GetPcieDevice added in v0.21.0

func (vm *VirtualMachine) GetPcieDevice(hostResource string) (pcieDevice *pcie.PcieDevice, err error)

func (*VirtualMachine) GetProcessor added in v0.2.11

func (vm *VirtualMachine) GetProcessor() (vmprocessor *processor.ProcessorSettingData, err error)

func (*VirtualMachine) GetResourceAllocationSettingData added in v0.1.5

func (vm *VirtualMachine) GetResourceAllocationSettingData(rtype v2.ResourcePool_ResourceType) (col resourceallocation.ResourceAllocationSettingDataCollection, err error)

func (*VirtualMachine) GetResourceAllocationSettingDataBySubType added in v0.21.0

func (vm *VirtualMachine) GetResourceAllocationSettingDataBySubType(resourceSubType virtconstant.ResourceSubType) (col *v2.CIM_ResourceAllocationSettingData, err error)

func (*VirtualMachine) GetSCSIControllers added in v0.1.5

func (*VirtualMachine) GetVirtualHardDiskByLocation added in v0.1.5

func (vm *VirtualMachine) GetVirtualHardDiskByLocation(controllerNumber, controllerLocation int) (vhd *disk.VirtualHardDisk, err error)

func (*VirtualMachine) GetVirtualHardDiskByPath added in v0.1.5

func (vm *VirtualMachine) GetVirtualHardDiskByPath(path string) (vhd *disk.VirtualHardDisk, err error)

func (*VirtualMachine) GetVirtualHardDisks added in v0.1.5

func (*VirtualMachine) GetVirtualHardDrives added in v0.1.5

func (*VirtualMachine) GetVirtualMachineGeneration added in v0.21.0

func (vm *VirtualMachine) GetVirtualMachineGeneration() (HyperVGeneration, error)

func (*VirtualMachine) GetVirtualNetworkAdapterByName

func (vm *VirtualMachine) GetVirtualNetworkAdapterByName(name string) (vna *na.VirtualNetworkAdapter, err error)

func (*VirtualMachine) GetVirtualNetworkAdapters added in v0.2.8

func (vm *VirtualMachine) GetVirtualNetworkAdapters() (col na.VirtualNetworkAdapterCollection, err error)

func (*VirtualMachine) GetVirtualSystemSettingData added in v0.1.5

func (vm *VirtualMachine) GetVirtualSystemSettingData() (*VirtualSystemSettingData, error)

func (*VirtualMachine) ID added in v0.21.0

func (vm *VirtualMachine) ID() (name string)

func (*VirtualMachine) Name added in v0.1.5

func (vm *VirtualMachine) Name() (name string)

func (*VirtualMachine) NewDefaultGpuPartition added in v0.21.0

func (vm *VirtualMachine) NewDefaultGpuPartition() (newGpuPartitionSettingData *gpu.GpuPartitionSettingData, err error)

func (*VirtualMachine) NewDvdDrive added in v0.21.0

func (vm *VirtualMachine) NewDvdDrive() (dvd *drive.DvdDrive, err error)

func (*VirtualMachine) NewEthernetPortAllocationSettingData added in v0.2.2

func (vm *VirtualMachine) NewEthernetPortAllocationSettingData(vna *na.VirtualNetworkAdapter) (epas *switchport.EthernetPortAllocationSettingData, err error)

func (*VirtualMachine) NewGpuPartition added in v0.21.0

func (vm *VirtualMachine) NewGpuPartition(partitionSizeBytes uint64) (newGpuPartitionSettingData *gpu.GpuPartitionSettingData, err error)

func (*VirtualMachine) NewLogicalDisk added in v0.21.0

func (vm *VirtualMachine) NewLogicalDisk() (ld *disk.LogicalDisk, err error)

func (*VirtualMachine) NewPcieDevice added in v0.21.0

func (vm *VirtualMachine) NewPcieDevice(hostPcieDeviceWmiPath string) (newPcieDevice *pcie.PciExpressSettingData, err error)

func (*VirtualMachine) NewSCSIController added in v0.2.2

func (vm *VirtualMachine) NewSCSIController() (resource *resourceallocation.ResourceAllocationSettingData, err error)

func (*VirtualMachine) NewSyntheticDiskDrive added in v0.1.5

func (vm *VirtualMachine) NewSyntheticDiskDrive(controllernumber, controllerlocation int32, diskType VirtualHardDiskType) (synDrive *drive.SyntheticDiskDrive, err error)

func (*VirtualMachine) NewSyntheticNetworkAdapter added in v0.2.2

func (vm *VirtualMachine) NewSyntheticNetworkAdapter(name string) (adapter *na.VirtualNetworkAdapter, err error)

func (*VirtualMachine) NewTPM added in v0.2.3

func (*VirtualMachine) NewVirtualHardDisk added in v0.1.5

func (vm *VirtualMachine) NewVirtualHardDisk(path string) (vhd *disk.VirtualHardDisk, err error)

func (*VirtualMachine) Pause added in v0.21.0

func (vm *VirtualMachine) Pause() error

Pause Virtual Machine

func (*VirtualMachine) Restore added in v0.21.0

func (vm *VirtualMachine) Restore() error

Restore Virtual Machine

func (*VirtualMachine) Resume added in v0.21.0

func (vm *VirtualMachine) Resume() error

Resume Virtual Machine

func (*VirtualMachine) Save added in v0.21.0

func (vm *VirtualMachine) Save() error

Save Virtual Machine

func (*VirtualMachine) Start

func (vm *VirtualMachine) Start() error

Start Virtual Machine

func (*VirtualMachine) State

func (vm *VirtualMachine) State() (state VirtualMachineState, err error)

GetVirtualMachineState get the virtual machine state

func (*VirtualMachine) Status added in v0.21.0

func (vm *VirtualMachine) Status() (string, error)

func (*VirtualMachine) StatusDescriptions added in v0.21.0

func (vm *VirtualMachine) StatusDescriptions() ([]string, error)

func (*VirtualMachine) Stop

func (vm *VirtualMachine) Stop(force bool) error

Stop Virtual Machine

func (*VirtualMachine) WaitForState

func (vm *VirtualMachine) WaitForState(state VirtualMachineState, timeoutSeconds int32) (err error)

WaitForState

type VirtualMachineCollection

type VirtualMachineCollection []*VirtualMachine

func NewVirtualMachineCollection added in v0.21.0

func NewVirtualMachineCollection(instances []*wmi.WmiInstance) (col VirtualMachineCollection, err error)

func (*VirtualMachineCollection) Close

func (vms *VirtualMachineCollection) Close() (err error)

func (*VirtualMachineCollection) String

func (vms *VirtualMachineCollection) String() string

type VirtualMachineMonitor

type VirtualMachineMonitor struct {
	*monitor.Monitor
}

func CreateVirtualMachineMonitor

func CreateVirtualMachineMonitor(callbackContext interface{},
	callbackFunction func(interface{}, string)) *VirtualMachineMonitor

CreateVirtualMachineMonitor createa a new VirtualMachineMonitor

func (*VirtualMachineMonitor) AddEntity

func (m *VirtualMachineMonitor) AddEntity(vmID string) error

type VirtualMachineState

type VirtualMachineState int32
const (
	Unknown            VirtualMachineState = 0
	Other              VirtualMachineState = 1
	Running            VirtualMachineState = 2
	Off                VirtualMachineState = 3
	Stopping           VirtualMachineState = 4
	Saved              VirtualMachineState = 6
	Paused             VirtualMachineState = 9
	Starting           VirtualMachineState = 10
	Reset              VirtualMachineState = 11
	Saving             VirtualMachineState = 32773
	Pausing            VirtualMachineState = 32776
	Resuming           VirtualMachineState = 32777
	FastSaved          VirtualMachineState = 32779
	FastSaving         VirtualMachineState = 32780
	ForceShutdown      VirtualMachineState = 32781
	ForceReboot        VirtualMachineState = 32782
	Hibernated         VirtualMachineState = 32783
	ComponentServicing VirtualMachineState = 32784
	RunningCritical    VirtualMachineState = 32785
	OffCritical        VirtualMachineState = 32786
	StoppingCritial    VirtualMachineState = 32787
	SavedCritical      VirtualMachineState = 32788
	PausedCritical     VirtualMachineState = 32789
	StartingCritical   VirtualMachineState = 32790
	ResetCritical      VirtualMachineState = 32791
	SavingCritical     VirtualMachineState = 32792
	PausingCritical    VirtualMachineState = 32793
	ResumingCritical   VirtualMachineState = 32794
	FastSaveCritical   VirtualMachineState = 32795
	FastSavingCritical VirtualMachineState = 32796
)

https://docs.microsoft.com/en-us/previous-versions/windows/desktop/virtual/msvm-computersystem?redirectedfrom=MSDN

type VirtualSystemSettingData added in v0.1.5

type VirtualSystemSettingData struct {
	*v2.Msvm_VirtualSystemSettingData
}

func GetDefaultVirtualSystemSettingData added in v0.1.5

func GetDefaultVirtualSystemSettingData(whost *host.WmiHost) (*VirtualSystemSettingData, error)

func GetVirtualSystemSettingData added in v0.1.5

func GetVirtualSystemSettingData(whost *host.WmiHost, name string) (*VirtualSystemSettingData, error)

func NewVirtualSystemSettingData added in v0.1.5

func NewVirtualSystemSettingData(instance *wmi.WmiInstance) (*VirtualSystemSettingData, error)

NewVirtualSystemSettingData

func (*VirtualSystemSettingData) GetEmulatedVirtualNetworkAdapters added in v0.1.5

func (vm *VirtualSystemSettingData) GetEmulatedVirtualNetworkAdapters() (col na.VirtualNetworkAdapterCollection, err error)

func (*VirtualSystemSettingData) GetGpuPartitionSettingCollection added in v0.21.0

func (vm *VirtualSystemSettingData) GetGpuPartitionSettingCollection() (col gpu.GpuPartitionSettingCollection, err error)

func (*VirtualSystemSettingData) GetGpuPartitionSettingData added in v0.21.0

func (vm *VirtualSystemSettingData) GetGpuPartitionSettingData(partitionSizeBytes uint64) (*gpu.GpuPartitionSettingData, error)

func (*VirtualSystemSettingData) GetMemorySetting added in v0.2.11

func (vm *VirtualSystemSettingData) GetMemorySetting() (out *memory.MemorySettingData, err error)

func (*VirtualSystemSettingData) GetPcieDevice added in v0.21.0

func (vm *VirtualSystemSettingData) GetPcieDevice(hostResource string) (*pcie.PcieDevice, error)

func (*VirtualSystemSettingData) GetPcieDevices added in v0.21.0

func (vm *VirtualSystemSettingData) GetPcieDevices() (col pcie.PcieDeviceCollection, err error)

func (*VirtualSystemSettingData) GetProcessorSetting added in v0.2.11

func (vm *VirtualSystemSettingData) GetProcessorSetting() (out *processor.ProcessorSettingData, err error)

func (*VirtualSystemSettingData) GetSyntheticVirtualNetworkAdapters added in v0.1.5

func (vm *VirtualSystemSettingData) GetSyntheticVirtualNetworkAdapters() (col na.VirtualNetworkAdapterCollection, err error)

func (*VirtualSystemSettingData) GetVirtualDvdDrives added in v0.22.1

func (vm *VirtualSystemSettingData) GetVirtualDvdDrives() (col drive.DvdDriveCollection, err error)

func (*VirtualSystemSettingData) GetVirtualHardDisks added in v0.1.5

func (vm *VirtualSystemSettingData) GetVirtualHardDisks() (col disk.VirtualHardDiskCollection, err error)

func (*VirtualSystemSettingData) GetVirtualNetworkAdapterByMACAddress added in v0.1.5

func (vm *VirtualSystemSettingData) GetVirtualNetworkAdapterByMACAddress(macAddress string) (vna *na.VirtualNetworkAdapter, err error)

GetVirtualNetworkAdapterByMACAddress

func (*VirtualSystemSettingData) GetVirtualNetworkAdapterByName added in v0.1.5

func (vm *VirtualSystemSettingData) GetVirtualNetworkAdapterByName(adapterName string) (vna *na.VirtualNetworkAdapter, err error)

GetVirtualNetworkAdapterByName

func (*VirtualSystemSettingData) GetVirtualNetworkAdapters added in v0.1.5

func (vm *VirtualSystemSettingData) GetVirtualNetworkAdapters() (col na.VirtualNetworkAdapterCollection, err error)

func (*VirtualSystemSettingData) SetHyperVGeneration added in v0.21.0

func (vm *VirtualSystemSettingData) SetHyperVGeneration(generation HyperVGeneration) (err error)

Jump to

Keyboard shortcuts

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