Documentation ¶
Index ¶
- Constants
- func GetCloudInitGuestInfoCustSpec(cloudInitMetadata string, config *vimTypes.VirtualMachineConfigInfo, ...) (*vimTypes.VirtualMachineConfigSpec, error)
- func GetCloudInitMetadata(vm *vmopv1.VirtualMachine, netplan network.Netplan, data map[string]string) (string, error)
- func GetCloudInitPrepCustSpec(cloudInitMetadata string, updateArgs VMUpdateArgs) (*vimTypes.VirtualMachineConfigSpec, *vimTypes.CustomizationSpec, error)
- func GetExtraConfigCustSpec(config *vimTypes.VirtualMachineConfigInfo, updateArgs VMUpdateArgs) *vimTypes.VirtualMachineConfigSpec
- func GetLinuxPrepCustSpec(vmName string, updateArgs VMUpdateArgs) *vimTypes.CustomizationSpec
- func GetMergedvAppConfigSpec(inProps map[string]string, vmProps []vimTypes.VAppPropertyInfo) *vimTypes.VmConfigSpec
- func GetOvfEnvCustSpec(config *vimTypes.VirtualMachineConfigInfo, updateArgs VMUpdateArgs) *vimTypes.VirtualMachineConfigSpec
- func GetSysprepCustSpec(vmName string, updateArgs VMUpdateArgs) (*vimTypes.CustomizationSpec, error)
- func IsCustomizationPendingExtraConfig(extraConfig []vimTypes.BaseOptionValue) bool
- func MarkCustomizationInfoCondition(vm *vmopv1.VirtualMachine, guestInfo *vimTypes.GuestInfo)
- func MarkVMToolsRunningStatusCondition(vm *vmopv1.VirtualMachine, guestInfo *vimTypes.GuestInfo)
- func MutateUpdateArgsWithDNSInformation(vmLabels map[string]string, updateArgs *VMUpdateArgs, client ctrl.Client) error
- func NicInfoToDevicesStatus(vmCtx context.VirtualMachineContext, resVM *res.VirtualMachine, ...) []vmopv1.NetworkDeviceStatus
- func NicInfoToNetworkIfStatus(nicInfo vimTypes.GuestNicInfo) vmopv1.NetworkInterfaceStatus
- func TemplateVMMetadata(vmCtx context.VirtualMachineContext, resVM *res.VirtualMachine, ...)
- func UpdateConfigSpecAnnotation(config *vimTypes.VirtualMachineConfigInfo, ...)
- func UpdateConfigSpecCPUAllocation(config *vimTypes.VirtualMachineConfigInfo, ...)
- func UpdateConfigSpecChangeBlockTracking(config *vimTypes.VirtualMachineConfigInfo, ...)
- func UpdateConfigSpecExtraConfig(config *vimTypes.VirtualMachineConfigInfo, ...)
- func UpdateConfigSpecFirmware(config *vimTypes.VirtualMachineConfigInfo, ...)
- func UpdateConfigSpecManagedBy(config *vimTypes.VirtualMachineConfigInfo, ...)
- func UpdateConfigSpecMemoryAllocation(config *vimTypes.VirtualMachineConfigInfo, ...)
- func UpdateEthCardDeviceChanges(expectedEthCards object.VirtualDeviceList, ...) ([]vimTypes.BaseVirtualDeviceConfigSpec, error)
- func UpdateHardwareConfigSpec(config *vimTypes.VirtualMachineConfigInfo, ...)
- func UpdatePCIDeviceChanges(expectedPciDevices object.VirtualDeviceList, ...) ([]vimTypes.BaseVirtualDeviceConfigSpec, error)
- type CloudInitMetadata
- type Session
- type VMCreateArgs
- type VMMetadata
- type VMUpdateArgs
Constants ¶
const ( // CAPWClusterRoleLabelKey is the key for the label applied to a VM that was // created by CAPW. CAPWClusterRoleLabelKey = "capw.vmware.com/cluster.role" //nolint:gosec // CAPVClusterRoleLabelKey is the key for the label applied to a VM that was // created by CAPV. CAPVClusterRoleLabelKey = "capv.vmware.com/cluster.role" )
const ( // OvfEnvironmentTransportGuestInfo is the OVF transport type that uses // GuestInfo. The other valid type is "iso". OvfEnvironmentTransportGuestInfo = "com.vmware.guestInfo" )
Variables ¶
This section is empty.
Functions ¶
func GetCloudInitGuestInfoCustSpec ¶
func GetCloudInitGuestInfoCustSpec( cloudInitMetadata string, config *vimTypes.VirtualMachineConfigInfo, updateArgs VMUpdateArgs) (*vimTypes.VirtualMachineConfigSpec, error)
func GetCloudInitMetadata ¶
func GetCloudInitPrepCustSpec ¶
func GetCloudInitPrepCustSpec( cloudInitMetadata string, updateArgs VMUpdateArgs) (*vimTypes.VirtualMachineConfigSpec, *vimTypes.CustomizationSpec, error)
func GetExtraConfigCustSpec ¶
func GetExtraConfigCustSpec( config *vimTypes.VirtualMachineConfigInfo, updateArgs VMUpdateArgs) *vimTypes.VirtualMachineConfigSpec
func GetLinuxPrepCustSpec ¶
func GetLinuxPrepCustSpec(vmName string, updateArgs VMUpdateArgs) *vimTypes.CustomizationSpec
func GetMergedvAppConfigSpec ¶
func GetMergedvAppConfigSpec(inProps map[string]string, vmProps []vimTypes.VAppPropertyInfo) *vimTypes.VmConfigSpec
GetMergedvAppConfigSpec prepares a vApp VmConfigSpec which will set the vmMetadata supplied key/value fields. Only fields marked userConfigurable and pre-existing on the VM (ie. originated from the OVF Image) will be set, and all others will be ignored.
func GetOvfEnvCustSpec ¶
func GetOvfEnvCustSpec( config *vimTypes.VirtualMachineConfigInfo, updateArgs VMUpdateArgs) *vimTypes.VirtualMachineConfigSpec
func GetSysprepCustSpec ¶ added in v1.8.1
func GetSysprepCustSpec(vmName string, updateArgs VMUpdateArgs) (*vimTypes.CustomizationSpec, error)
func IsCustomizationPendingExtraConfig ¶
func IsCustomizationPendingExtraConfig(extraConfig []vimTypes.BaseOptionValue) bool
func MarkCustomizationInfoCondition ¶
func MarkCustomizationInfoCondition(vm *vmopv1.VirtualMachine, guestInfo *vimTypes.GuestInfo)
func MarkVMToolsRunningStatusCondition ¶
func MarkVMToolsRunningStatusCondition(vm *vmopv1.VirtualMachine, guestInfo *vimTypes.GuestInfo)
func MutateUpdateArgsWithDNSInformation ¶ added in v1.8.1
func NicInfoToDevicesStatus ¶
func NicInfoToDevicesStatus( vmCtx context.VirtualMachineContext, resVM *res.VirtualMachine, updateArgs VMUpdateArgs) []vmopv1.NetworkDeviceStatus
NicInfoToDevicesStatus returns a list of NetworkDeviceStatus constructed from the NetIfList and resVM.
func NicInfoToNetworkIfStatus ¶
func NicInfoToNetworkIfStatus(nicInfo vimTypes.GuestNicInfo) vmopv1.NetworkInterfaceStatus
func TemplateVMMetadata ¶
func TemplateVMMetadata( vmCtx context.VirtualMachineContext, resVM *res.VirtualMachine, updateArgs VMUpdateArgs)
TemplateVMMetadata can convert templated expressions to dynamic configuration data.
func UpdateConfigSpecAnnotation ¶ added in v1.8.1
func UpdateConfigSpecAnnotation( config *vimTypes.VirtualMachineConfigInfo, configSpec *vimTypes.VirtualMachineConfigSpec)
func UpdateConfigSpecCPUAllocation ¶
func UpdateConfigSpecCPUAllocation( config *vimTypes.VirtualMachineConfigInfo, configSpec *vimTypes.VirtualMachineConfigSpec, vmClassSpec *vmopv1.VirtualMachineClassSpec, minCPUFreq uint64)
func UpdateConfigSpecChangeBlockTracking ¶
func UpdateConfigSpecChangeBlockTracking( config *vimTypes.VirtualMachineConfigInfo, configSpec, classConfigSpec *vimTypes.VirtualMachineConfigSpec, vmSpec vmopv1.VirtualMachineSpec)
func UpdateConfigSpecExtraConfig ¶
func UpdateConfigSpecExtraConfig( config *vimTypes.VirtualMachineConfigInfo, configSpec, classConfigSpec *vimTypes.VirtualMachineConfigSpec, vmClassSpec *vmopv1.VirtualMachineClassSpec, vm *vmopv1.VirtualMachine, globalExtraConfig map[string]string, imageV1Alpha1Compatible bool)
func UpdateConfigSpecFirmware ¶
func UpdateConfigSpecFirmware( config *vimTypes.VirtualMachineConfigInfo, configSpec *vimTypes.VirtualMachineConfigSpec, vm *vmopv1.VirtualMachine)
func UpdateConfigSpecManagedBy ¶ added in v1.8.1
func UpdateConfigSpecManagedBy( config *vimTypes.VirtualMachineConfigInfo, configSpec *vimTypes.VirtualMachineConfigSpec)
func UpdateConfigSpecMemoryAllocation ¶
func UpdateConfigSpecMemoryAllocation( config *vimTypes.VirtualMachineConfigInfo, configSpec *vimTypes.VirtualMachineConfigSpec, vmClassSpec *vmopv1.VirtualMachineClassSpec)
func UpdateEthCardDeviceChanges ¶
func UpdateEthCardDeviceChanges( expectedEthCards object.VirtualDeviceList, currentEthCards object.VirtualDeviceList) ([]vimTypes.BaseVirtualDeviceConfigSpec, error)
func UpdateHardwareConfigSpec ¶
func UpdateHardwareConfigSpec( config *vimTypes.VirtualMachineConfigInfo, configSpec *vimTypes.VirtualMachineConfigSpec, vmClassSpec *vmopv1.VirtualMachineClassSpec)
func UpdatePCIDeviceChanges ¶
func UpdatePCIDeviceChanges( expectedPciDevices object.VirtualDeviceList, currentPciDevices object.VirtualDeviceList) ([]vimTypes.BaseVirtualDeviceConfigSpec, error)
UpdatePCIDeviceChanges returns devices changes for PCI devices attached to a VM. There are 2 types of PCI devices processed here and in case of cloning a VM, devices listed in VMClass are considered as source of truth.
Types ¶
type CloudInitMetadata ¶
type Session ¶
type Session struct { Client *client.Client K8sClient ctrlruntime.Client Finder *find.Finder // Fields only used during Update Cluster *object.ClusterComputeResource NetworkProvider network.Provider }
func (*Session) CreateVirtualMachine ¶
func (s *Session) CreateVirtualMachine( vmCtx context.VirtualMachineContext, createArgs *VMCreateArgs) (*object.VirtualMachine, error)
func (*Session) UpdateVirtualMachine ¶
func (s *Session) UpdateVirtualMachine( vmCtx context.VirtualMachineContext, vcVM *object.VirtualMachine, getUpdateArgsFn func() (*VMUpdateArgs, error)) (err error)
type VMCreateArgs ¶
type VMCreateArgs struct { VMClass *vmopv1.VirtualMachineClass VMImageStatus *vmopv1.VirtualMachineImageStatus VMImageSpec *vmopv1.VirtualMachineImageSpec ResourcePolicy *vmopv1.VirtualMachineSetResourcePolicy VMMetadata VMMetadata ContentLibraryUUID string StorageClassesToIDs map[string]string StorageProvisioning string HasInstanceStorage bool // From the ResourcePolicy if specified ChildResourcePoolName string ChildFolderName string MinCPUFreq uint64 ConfigSpec *vimTypes.VirtualMachineConfigSpec PlacementConfigSpec *vimTypes.VirtualMachineConfigSpec ClassConfigSpec *vimTypes.VirtualMachineConfigSpec FolderMoID string ResourcePoolMoID string HostMoID string StorageProfileID string DatastoreMoID string // gce2e only: used if StorageProfileID is unset }
VMCreateArgs contains the arguments needed to create a VM on VC.
type VMMetadata ¶
type VMMetadata struct { Data map[string]string Transport vmopv1.VirtualMachineMetadataTransport }
type VMUpdateArgs ¶
type VMUpdateArgs struct { VMClass *vmopv1.VirtualMachineClass ResourcePolicy *vmopv1.VirtualMachineSetResourcePolicy MinCPUFreq uint64 ExtraConfig map[string]string VMMetadata VMMetadata ConfigSpec *vimTypes.VirtualMachineConfigSpec ClassConfigSpec *vimTypes.VirtualMachineConfigSpec NetIfList network.InterfaceInfoList DNSServers []string SearchSuffixes []string // hack. Remove after VMSVC-1261. // indicating if this VM image used is VM service v1alpha1 compatible. VirtualMachineImageV1Alpha1Compatible bool }
VMUpdateArgs contains the arguments needed to update a VM on VC.