volumes

package
v1.10.0 Latest Latest
Warning

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

Go to latest
Published: Mar 17, 2026 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func WithContext

func WithContext(
	parent context.Context,
	info VolumeInfo) context.Context

WithContext returns a new context with the provided volume info.

Types

type ControllerSpec

type ControllerSpec struct {
	Key         int32
	Bus         int32
	Type        vmopv1.VirtualControllerType
	ScsiType    vmopv1.SCSIControllerType
	SharingMode vmopv1.VirtualControllerSharingMode
}

ControllerSpec is information about a VirtualDeviceController to which an unmanaged volume is attached.

type VirtualDiskInfo

type VirtualDiskInfo struct {
	pkgutil.VirtualDiskInfo
	ProfileIDs         []string
	StorageClass       string
	StoragePolicyID    string
	Target             vmopv1util.TargetID
	NewCapacityInBytes int64
	Snapshot           bool
	LinkedClone        bool
	FCD                bool
}

VirtualDiskInfo is information about a volume.

func FilterOutEmptyUUIDOrFilename

func FilterOutEmptyUUIDOrFilename(disks ...VirtualDiskInfo) []VirtualDiskInfo

FilterOutEmptyUUIDOrFilename returns only the disks that have non-empty UUIDs and filenames.

func FilterOutFCDs

func FilterOutFCDs(disks ...VirtualDiskInfo) []VirtualDiskInfo

FilterOutFCDs returns only the disks that are not FCDs.

func FilterOutLinkedClones

func FilterOutLinkedClones(disks ...VirtualDiskInfo) []VirtualDiskInfo

FilterOutLinkedClones returns only the disks that are not linked clones.

func FilterOutSnapshots

func FilterOutSnapshots(disks ...VirtualDiskInfo) []VirtualDiskInfo

FilterOutSnapshots returns only the disks that are not snapshot disks.

type VolumeInfo

type VolumeInfo struct {
	// Disks is a list of disks configured on the VM.
	Disks []VirtualDiskInfo

	// Controllers maps a VM's controller keys to information about each
	// controller.
	Controllers map[int32]ControllerSpec

	// Volumes maps a disk's target ID to the volume from the VM spec.
	Volumes map[string]*vmopv1.VirtualMachineVolume
}

VolumeInfo is information about a VM's volumes.

func FromContext

func FromContext(ctx context.Context) (VolumeInfo, bool)

FromContext returns the volume info from the context.

func GetVolumeInfo

GetVolumeInfo returns information about a VM and its volumes.

func GetVolumeInfoFromConfigSpec

func GetVolumeInfoFromConfigSpec(
	vm *vmopv1.VirtualMachine,
	configSpec *vimtypes.VirtualMachineConfigSpec) VolumeInfo

GetVolumeInfoFromConfigSpec returns information about a VM and its volumes from a ConfigSpec.

Please note, it is recommended that pkgutil.EnsureDisksHaveControllers be used on the provided ConfigSpec to ensure all disks:

  • Are connected to controllers
  • Have non-nil and unique unit numbers

func GetVolumeInfoFromVM

func GetVolumeInfoFromVM(
	vm *vmopv1.VirtualMachine,
	moVM mo.VirtualMachine) VolumeInfo

GetVolumeInfoFromVM returns information about a VM and its volumes.

Jump to

Keyboard shortcuts

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