Documentation
¶
Index ¶
- func WithContext(parent context.Context, info VolumeInfo) context.Context
- type ControllerSpec
- type VirtualDiskInfo
- type VolumeInfo
- func FromContext(ctx context.Context) (VolumeInfo, bool)
- func GetVolumeInfo(vm *vmopv1.VirtualMachine, devices []vimtypes.BaseVirtualDevice, ...) VolumeInfo
- func GetVolumeInfoFromConfigSpec(vm *vmopv1.VirtualMachine, configSpec *vimtypes.VirtualMachineConfigSpec) VolumeInfo
- func GetVolumeInfoFromVM(vm *vmopv1.VirtualMachine, moVM mo.VirtualMachine) VolumeInfo
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 ¶
func GetVolumeInfo( vm *vmopv1.VirtualMachine, devices []vimtypes.BaseVirtualDevice, snapshots []vimtypes.VirtualMachineFileLayoutExSnapshotLayout) VolumeInfo
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.