Documentation ¶
Index ¶
- Constants
- func EncodeGzipBase64(s string) (string, error)
- func ExtraConfigToMap(input []vimTypes.BaseOptionValue) (output map[string]string)
- func GetCloudInitGuestInfoCustSpec(cloudInitMetadata string, config *vimTypes.VirtualMachineConfigInfo, ...) (*vimTypes.VirtualMachineConfigSpec, error)
- func GetCloudInitMetadata(vm *v1alpha1.VirtualMachine, netplan network.Netplan, data map[string]string) (string, error)
- func GetCloudInitPrepCustSpec(cloudInitMetadata string, updateArgs VMUpdateArgs) (*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 IsCustomizationPendingExtraConfig(extraConfig []vimTypes.BaseOptionValue) bool
- func MarkCustomizationInfoCondition(vm *v1alpha1.VirtualMachine, guestInfo *vimTypes.GuestInfo)
- func MarkVMToolsRunningStatusCondition(vm *v1alpha1.VirtualMachine, guestInfo *vimTypes.GuestInfo)
- func MergeExtraConfig(extraConfig []vimTypes.BaseOptionValue, newMap map[string]string) []vimTypes.BaseOptionValue
- func NicInfoToDevicesStatus(updateArgs VMUpdateArgs) []v1alpha1.NetworkDeviceStatus
- func NicInfoToNetworkIfStatus(nicInfo vimTypes.GuestNicInfo) v1alpha1.NetworkInterfaceStatus
- func TemplateVMMetadata(vmCtx context.VirtualMachineContext, updateArgs VMUpdateArgs)
- func UpdateConfigSpecCPUAllocation(config *vimTypes.VirtualMachineConfigInfo, ...)
- func UpdateConfigSpecChangeBlockTracking(config *vimTypes.VirtualMachineConfigInfo, ...)
- func UpdateConfigSpecDeviceGroups(config *vimTypes.VirtualMachineConfigInfo, ...)
- func UpdateConfigSpecExtraConfig(config *vimTypes.VirtualMachineConfigInfo, ...)
- func UpdateConfigSpecFirmware(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 ( // 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 EncodeGzipBase64 ¶
func ExtraConfigToMap ¶
func ExtraConfigToMap(input []vimTypes.BaseOptionValue) (output map[string]string)
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.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 IsCustomizationPendingExtraConfig ¶
func IsCustomizationPendingExtraConfig(extraConfig []vimTypes.BaseOptionValue) bool
func MarkCustomizationInfoCondition ¶
func MarkCustomizationInfoCondition(vm *v1alpha1.VirtualMachine, guestInfo *vimTypes.GuestInfo)
func MarkVMToolsRunningStatusCondition ¶
func MarkVMToolsRunningStatusCondition(vm *v1alpha1.VirtualMachine, guestInfo *vimTypes.GuestInfo)
func MergeExtraConfig ¶
func MergeExtraConfig(extraConfig []vimTypes.BaseOptionValue, newMap map[string]string) []vimTypes.BaseOptionValue
MergeExtraConfig adds the key/value to the ExtraConfig if the key is not present, to let to the value be changed by the VM. The existing usage of ExtraConfig is hard to fit in the reconciliation model.
func NicInfoToDevicesStatus ¶
func NicInfoToDevicesStatus(updateArgs VMUpdateArgs) []v1alpha1.NetworkDeviceStatus
func NicInfoToNetworkIfStatus ¶
func NicInfoToNetworkIfStatus(nicInfo vimTypes.GuestNicInfo) v1alpha1.NetworkInterfaceStatus
func TemplateVMMetadata ¶
func TemplateVMMetadata(vmCtx context.VirtualMachineContext, updateArgs VMUpdateArgs)
TemplateVMMetadata can convert templated expressions to dynamic configuration data.
func UpdateConfigSpecCPUAllocation ¶
func UpdateConfigSpecCPUAllocation( config *vimTypes.VirtualMachineConfigInfo, configSpec *vimTypes.VirtualMachineConfigSpec, vmClassSpec *v1alpha1.VirtualMachineClassSpec, minCPUFeq uint64)
func UpdateConfigSpecChangeBlockTracking ¶
func UpdateConfigSpecChangeBlockTracking( config *vimTypes.VirtualMachineConfigInfo, configSpec, classConfigSpec *vimTypes.VirtualMachineConfigSpec, vmSpec v1alpha1.VirtualMachineSpec)
func UpdateConfigSpecDeviceGroups ¶
func UpdateConfigSpecDeviceGroups( config *vimTypes.VirtualMachineConfigInfo, configSpec, classConfigSpec *vimTypes.VirtualMachineConfigSpec)
UpdateConfigSpecDeviceGroups sets the desired config spec device groups to reconcile by differencing the current VM config and the class config spec device groups.
func UpdateConfigSpecExtraConfig ¶
func UpdateConfigSpecExtraConfig( config *vimTypes.VirtualMachineConfigInfo, configSpec, classConfigSpec *vimTypes.VirtualMachineConfigSpec, vmImageStatus *v1alpha1.VirtualMachineImageStatus, vmClassSpec *v1alpha1.VirtualMachineClassSpec, vm *v1alpha1.VirtualMachine, globalExtraConfig map[string]string)
func UpdateConfigSpecFirmware ¶
func UpdateConfigSpecFirmware( config *vimTypes.VirtualMachineConfigInfo, configSpec *vimTypes.VirtualMachineConfigSpec, vm *v1alpha1.VirtualMachine)
func UpdateConfigSpecMemoryAllocation ¶
func UpdateConfigSpecMemoryAllocation( config *vimTypes.VirtualMachineConfigInfo, configSpec *vimTypes.VirtualMachineConfigSpec, vmClassSpec *v1alpha1.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 *v1alpha1.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, updateArgs *VMUpdateArgs) (err error)
type VMCreateArgs ¶
type VMCreateArgs struct { VMClass *vmopv1alpha1.VirtualMachineClass VMImageStatus *vmopv1alpha1.VirtualMachineImageStatus ResourcePolicy *vmopv1alpha1.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 v1alpha1.VirtualMachineMetadataTransport }
type VMUpdateArgs ¶
type VMUpdateArgs struct { VMClass *v1alpha1.VirtualMachineClass VMImageStatus *v1alpha1.VirtualMachineImageStatus ResourcePolicy *v1alpha1.VirtualMachineSetResourcePolicy MinCPUFreq uint64 ExtraConfig map[string]string VMMetadata VMMetadata ConfigSpec *vimTypes.VirtualMachineConfigSpec ClassConfigSpec *vimTypes.VirtualMachineConfigSpec NetIfList network.InterfaceInfoList DNSServers []string }
VMUpdateArgs contains the arguments needed to update a VM on VC.