Documentation
¶
Overview ¶
Package v1alpha4 is one of the schemas for VM Operator.
Index ¶
- Constants
- Variables
- func SortVirtualMachineVolumeStatuses(s []VirtualMachineVolumeStatus)
- type ClusterVirtualMachineImage
- func (in *ClusterVirtualMachineImage) DeepCopy() *ClusterVirtualMachineImage
- func (in *ClusterVirtualMachineImage) DeepCopyInto(out *ClusterVirtualMachineImage)
- func (in *ClusterVirtualMachineImage) DeepCopyObject() runtime.Object
- func (i ClusterVirtualMachineImage) GetConditions() []metav1.Condition
- func (*ClusterVirtualMachineImage) Hub()
- func (i *ClusterVirtualMachineImage) SetConditions(conditions []metav1.Condition)
- type ClusterVirtualMachineImageList
- type DynamicDirectPathIODevice
- type GroupMember
- type GuestHeartbeatAction
- type GuestHeartbeatStatus
- type GuestInfoAction
- type InstanceStorage
- type InstanceStorageVolume
- type InstanceVolumeClaimVolumeSource
- type LoadBalancerIngress
- type LoadBalancerStatus
- type NetworkDeviceStatus
- type NetworkStatus
- type OVFProperty
- type PersistentVolumeClaimVolumeSource
- type QuiesceSpec
- type ResourcePoolSpec
- type ResourcePoolStatus
- type TCPSocketAction
- type VGPUDevice
- type VMAffinityTerm
- type VSphereClusterModuleStatus
- type VirtualDevices
- type VirtualMachine
- func (in *VirtualMachine) DeepCopy() *VirtualMachine
- func (in *VirtualMachine) DeepCopyInto(out *VirtualMachine)
- func (in *VirtualMachine) DeepCopyObject() runtime.Object
- func (vm *VirtualMachine) GetConditions() []metav1.Condition
- func (vm *VirtualMachine) GetGroupName() string
- func (vm *VirtualMachine) GetPowerState() VirtualMachinePowerState
- func (*VirtualMachine) Hub()
- func (vm *VirtualMachine) NamespacedName() string
- func (vm *VirtualMachine) SetConditions(conditions []metav1.Condition)
- func (vm *VirtualMachine) SetGroupName(value string)
- func (vm *VirtualMachine) SetPowerState(value VirtualMachinePowerState)
- type VirtualMachineAdvancedSpec
- type VirtualMachineAffinitySpec
- type VirtualMachineAffinityVMAffinitySpec
- type VirtualMachineAffinityZoneAffinitySpec
- type VirtualMachineAntiAffinityVMAffinitySpec
- type VirtualMachineAntiAffinityZoneAffinitySpec
- type VirtualMachineBootOptions
- type VirtualMachineBootOptionsBootRetry
- type VirtualMachineBootOptionsBootableDevice
- type VirtualMachineBootOptionsEFISecureBoot
- type VirtualMachineBootOptionsFirmwareType
- type VirtualMachineBootOptionsForceBootEntry
- type VirtualMachineBootOptionsNetworkBootProtocol
- type VirtualMachineBootstrapCloudInitSpec
- type VirtualMachineBootstrapLinuxPrepSpec
- type VirtualMachineBootstrapSpec
- type VirtualMachineBootstrapSysprepSpec
- type VirtualMachineBootstrapVAppConfigSpec
- type VirtualMachineCdromSpec
- type VirtualMachineClass
- type VirtualMachineClassHardware
- type VirtualMachineClassInstance
- type VirtualMachineClassInstanceList
- type VirtualMachineClassInstanceSpec
- type VirtualMachineClassInstanceStatus
- type VirtualMachineClassList
- type VirtualMachineClassPolicies
- type VirtualMachineClassResources
- type VirtualMachineClassSpec
- type VirtualMachineClassStatus
- type VirtualMachineCryptoSpec
- type VirtualMachineCryptoStatus
- type VirtualMachineDeployMode
- type VirtualMachineEncryptionType
- type VirtualMachineGroup
- func (in *VirtualMachineGroup) DeepCopy() *VirtualMachineGroup
- func (in *VirtualMachineGroup) DeepCopyInto(out *VirtualMachineGroup)
- func (in *VirtualMachineGroup) DeepCopyObject() runtime.Object
- func (vmg *VirtualMachineGroup) GetConditions() []metav1.Condition
- func (vmg *VirtualMachineGroup) GetGroupName() string
- func (vmg *VirtualMachineGroup) GetPowerState() VirtualMachinePowerState
- func (vmg *VirtualMachineGroup) SetConditions(conditions []metav1.Condition)
- func (vmg *VirtualMachineGroup) SetGroupName(value string)
- func (vmg *VirtualMachineGroup) SetPowerState(value VirtualMachinePowerState)
- type VirtualMachineGroupBootOrderGroup
- type VirtualMachineGroupList
- type VirtualMachineGroupMemberStatus
- func (in *VirtualMachineGroupMemberStatus) DeepCopy() *VirtualMachineGroupMemberStatus
- func (in *VirtualMachineGroupMemberStatus) DeepCopyInto(out *VirtualMachineGroupMemberStatus)
- func (m *VirtualMachineGroupMemberStatus) GetConditions() []metav1.Condition
- func (m *VirtualMachineGroupMemberStatus) SetConditions(conditions []metav1.Condition)
- type VirtualMachineGroupPlacementDatastoreStatus
- type VirtualMachineGroupPublishRequest
- func (in *VirtualMachineGroupPublishRequest) DeepCopy() *VirtualMachineGroupPublishRequest
- func (in *VirtualMachineGroupPublishRequest) DeepCopyInto(out *VirtualMachineGroupPublishRequest)
- func (in *VirtualMachineGroupPublishRequest) DeepCopyObject() runtime.Object
- func (vmgrouppub *VirtualMachineGroupPublishRequest) GetConditions() []metav1.Condition
- func (vmgrouppub *VirtualMachineGroupPublishRequest) SetConditions(conditions []metav1.Condition)
- type VirtualMachineGroupPublishRequestImageStatus
- type VirtualMachineGroupPublishRequestList
- type VirtualMachineGroupPublishRequestSpec
- type VirtualMachineGroupPublishRequestStatus
- type VirtualMachineGroupSpec
- type VirtualMachineGroupStatus
- type VirtualMachineGuestOSIdentifier
- type VirtualMachineImage
- func (in *VirtualMachineImage) DeepCopy() *VirtualMachineImage
- func (in *VirtualMachineImage) DeepCopyInto(out *VirtualMachineImage)
- func (in *VirtualMachineImage) DeepCopyObject() runtime.Object
- func (i VirtualMachineImage) GetConditions() []metav1.Condition
- func (*VirtualMachineImage) Hub()
- func (i *VirtualMachineImage) SetConditions(conditions []metav1.Condition)
- type VirtualMachineImageCache
- func (i *VirtualMachineImageCache) AddLocation(datacenterID, datastoreID string)
- func (in *VirtualMachineImageCache) DeepCopy() *VirtualMachineImageCache
- func (in *VirtualMachineImageCache) DeepCopyInto(out *VirtualMachineImageCache)
- func (in *VirtualMachineImageCache) DeepCopyObject() runtime.Object
- func (i VirtualMachineImageCache) GetConditions() []metav1.Condition
- func (*VirtualMachineImageCache) Hub()
- func (i *VirtualMachineImageCache) SetConditions(conditions []metav1.Condition)
- type VirtualMachineImageCacheFileStatus
- type VirtualMachineImageCacheFileType
- type VirtualMachineImageCacheList
- type VirtualMachineImageCacheLocationSpec
- type VirtualMachineImageCacheLocationStatus
- func (in *VirtualMachineImageCacheLocationStatus) DeepCopy() *VirtualMachineImageCacheLocationStatus
- func (in *VirtualMachineImageCacheLocationStatus) DeepCopyInto(out *VirtualMachineImageCacheLocationStatus)
- func (i VirtualMachineImageCacheLocationStatus) GetConditions() []metav1.Condition
- func (i *VirtualMachineImageCacheLocationStatus) SetConditions(conditions []metav1.Condition)
- type VirtualMachineImageCacheOVFStatus
- type VirtualMachineImageCacheSpec
- type VirtualMachineImageCacheStatus
- type VirtualMachineImageDiskInfo
- type VirtualMachineImageList
- type VirtualMachineImageOSInfo
- type VirtualMachineImageProductInfo
- type VirtualMachineImageRef
- type VirtualMachineImageSpec
- type VirtualMachineImageStatus
- func (in *VirtualMachineImageStatus) DeepCopy() *VirtualMachineImageStatus
- func (in *VirtualMachineImageStatus) DeepCopyInto(out *VirtualMachineImageStatus)
- func (i VirtualMachineImageStatus) GetConditions() []metav1.Condition
- func (i *VirtualMachineImageStatus) SetConditions(conditions []metav1.Condition)
- type VirtualMachineList
- type VirtualMachineNetworkConfigDHCPOptionsStatus
- type VirtualMachineNetworkConfigDHCPStatus
- type VirtualMachineNetworkConfigDNSStatus
- type VirtualMachineNetworkConfigInterfaceIPStatus
- type VirtualMachineNetworkConfigInterfaceStatus
- type VirtualMachineNetworkConfigStatus
- type VirtualMachineNetworkDHCPOptionsStatus
- type VirtualMachineNetworkDHCPStatus
- type VirtualMachineNetworkDNSStatus
- type VirtualMachineNetworkIPRouteGatewayStatus
- type VirtualMachineNetworkIPRouteStatus
- type VirtualMachineNetworkIPStackStatus
- type VirtualMachineNetworkInterfaceIPAddrStatus
- type VirtualMachineNetworkInterfaceIPStatus
- type VirtualMachineNetworkInterfaceSpec
- type VirtualMachineNetworkInterfaceStatus
- type VirtualMachineNetworkRouteSpec
- type VirtualMachineNetworkRouteStatus
- type VirtualMachineNetworkSpec
- type VirtualMachineNetworkStatus
- type VirtualMachineOrGroup
- type VirtualMachinePlacementStatus
- type VirtualMachinePowerOpMode
- type VirtualMachinePowerState
- type VirtualMachinePromoteDisksMode
- type VirtualMachinePublishRequest
- func (in *VirtualMachinePublishRequest) DeepCopy() *VirtualMachinePublishRequest
- func (in *VirtualMachinePublishRequest) DeepCopyInto(out *VirtualMachinePublishRequest)
- func (in *VirtualMachinePublishRequest) DeepCopyObject() runtime.Object
- func (vmpub *VirtualMachinePublishRequest) GetConditions() []metav1.Condition
- func (*VirtualMachinePublishRequest) Hub()
- func (vmpub *VirtualMachinePublishRequest) SetConditions(conditions []metav1.Condition)
- type VirtualMachinePublishRequestList
- func (in *VirtualMachinePublishRequestList) DeepCopy() *VirtualMachinePublishRequestList
- func (in *VirtualMachinePublishRequestList) DeepCopyInto(out *VirtualMachinePublishRequestList)
- func (in *VirtualMachinePublishRequestList) DeepCopyObject() runtime.Object
- func (*VirtualMachinePublishRequestList) Hub()
- type VirtualMachinePublishRequestSource
- type VirtualMachinePublishRequestSpec
- type VirtualMachinePublishRequestStatus
- type VirtualMachinePublishRequestTarget
- type VirtualMachinePublishRequestTargetItem
- type VirtualMachinePublishRequestTargetLocation
- type VirtualMachineReadinessProbeSpec
- type VirtualMachineReplicaSet
- func (in *VirtualMachineReplicaSet) DeepCopy() *VirtualMachineReplicaSet
- func (in *VirtualMachineReplicaSet) DeepCopyInto(out *VirtualMachineReplicaSet)
- func (in *VirtualMachineReplicaSet) DeepCopyObject() runtime.Object
- func (rs *VirtualMachineReplicaSet) GetConditions() []metav1.Condition
- func (rs *VirtualMachineReplicaSet) SetConditions(conditions []metav1.Condition)
- type VirtualMachineReplicaSetList
- type VirtualMachineReplicaSetSpec
- type VirtualMachineReplicaSetStatus
- type VirtualMachineReservedSpec
- type VirtualMachineResourceSpec
- type VirtualMachineService
- type VirtualMachineServiceList
- type VirtualMachineServicePort
- type VirtualMachineServiceSpec
- type VirtualMachineServiceStatus
- type VirtualMachineServiceType
- type VirtualMachineSetResourcePolicy
- func (in *VirtualMachineSetResourcePolicy) DeepCopy() *VirtualMachineSetResourcePolicy
- func (in *VirtualMachineSetResourcePolicy) DeepCopyInto(out *VirtualMachineSetResourcePolicy)
- func (in *VirtualMachineSetResourcePolicy) DeepCopyObject() runtime.Object
- func (*VirtualMachineSetResourcePolicy) Hub()
- func (p *VirtualMachineSetResourcePolicy) NamespacedName() string
- type VirtualMachineSetResourcePolicyList
- func (in *VirtualMachineSetResourcePolicyList) DeepCopy() *VirtualMachineSetResourcePolicyList
- func (in *VirtualMachineSetResourcePolicyList) DeepCopyInto(out *VirtualMachineSetResourcePolicyList)
- func (in *VirtualMachineSetResourcePolicyList) DeepCopyObject() runtime.Object
- func (*VirtualMachineSetResourcePolicyList) Hub()
- type VirtualMachineSetResourcePolicySpec
- type VirtualMachineSetResourcePolicyStatus
- type VirtualMachineSnapshot
- func (in *VirtualMachineSnapshot) DeepCopy() *VirtualMachineSnapshot
- func (in *VirtualMachineSnapshot) DeepCopyInto(out *VirtualMachineSnapshot)
- func (in *VirtualMachineSnapshot) DeepCopyObject() runtime.Object
- func (vmSnapshot *VirtualMachineSnapshot) GetConditions() []metav1.Condition
- func (vmSnapshot *VirtualMachineSnapshot) NamespacedName() string
- func (vmSnapshot *VirtualMachineSnapshot) SetConditions(conditions []metav1.Condition)
- type VirtualMachineSnapshotList
- type VirtualMachineSnapshotSpec
- type VirtualMachineSnapshotStatus
- type VirtualMachineSpec
- type VirtualMachineStatus
- type VirtualMachineStorageStatus
- type VirtualMachineStorageStatusRequested
- type VirtualMachineStorageStatusUsed
- type VirtualMachineTemplate
- type VirtualMachineTemplateSpec
- type VirtualMachineVolume
- type VirtualMachineVolumeCryptoStatus
- type VirtualMachineVolumeProvisioningMode
- type VirtualMachineVolumeSource
- type VirtualMachineVolumeStatus
- type VirtualMachineVolumeType
- type VirtualMachineWebConsoleRequest
- func (in *VirtualMachineWebConsoleRequest) DeepCopy() *VirtualMachineWebConsoleRequest
- func (in *VirtualMachineWebConsoleRequest) DeepCopyInto(out *VirtualMachineWebConsoleRequest)
- func (in *VirtualMachineWebConsoleRequest) DeepCopyObject() runtime.Object
- func (*VirtualMachineWebConsoleRequest) Hub()
- type VirtualMachineWebConsoleRequestList
- func (in *VirtualMachineWebConsoleRequestList) DeepCopy() *VirtualMachineWebConsoleRequestList
- func (in *VirtualMachineWebConsoleRequestList) DeepCopyInto(out *VirtualMachineWebConsoleRequestList)
- func (in *VirtualMachineWebConsoleRequestList) DeepCopyObject() runtime.Object
- func (*VirtualMachineWebConsoleRequestList) Hub()
- type VirtualMachineWebConsoleRequestSpec
- type VirtualMachineWebConsoleRequestStatus
- type ZoneSelectorOperator
- type ZoneSelectorRequirement
- type ZoneSelectorTerm
Constants ¶
const ( // VirtualMachineConditionClassReady indicates that a referenced // VirtualMachineClass is ready. // // For more information please see VirtualMachineClass.Status.Ready. VirtualMachineConditionClassReady = "VirtualMachineClassReady" // VirtualMachineConditionImageReady indicates that a referenced // VirtualMachineImage is ready. // // For more information please see VirtualMachineImage.Status.Ready. VirtualMachineConditionImageReady = "VirtualMachineImageReady" // VirtualMachineConditionVMSetResourcePolicyReady indicates that a referenced // VirtualMachineSetResourcePolicy is Ready. VirtualMachineConditionVMSetResourcePolicyReady = "VirtualMachineConditionVMSetResourcePolicyReady" // VirtualMachineConditionStorageReady indicates that the storage prerequisites for the VM are ready. VirtualMachineConditionStorageReady = "VirtualMachineStorageReady" // VirtualMachineConditionBootstrapReady indicates that the bootstrap prerequisites for the VM are ready. VirtualMachineConditionBootstrapReady = "VirtualMachineBootstrapReady" // VirtualMachineConditionNetworkReady indicates that the network prerequisites for the VM are ready. VirtualMachineConditionNetworkReady = "VirtualMachineNetworkReady" // VirtualMachineConditionPlacementReady indicates that the placement decision for the VM is ready. VirtualMachineConditionPlacementReady = "VirtualMachineConditionPlacementReady" // VirtualMachineEncryptionSynced indicates that the VirtualMachine's // encryption state is synced to the desired encryption state. VirtualMachineEncryptionSynced = "VirtualMachineEncryptionSynced" // VirtualMachineDiskPromotionSynced indicates that the VirtualMachine's // disk promotion state is synced to the desired promotion state. VirtualMachineDiskPromotionSynced = "VirtualMachineDiskPromotionSynced" // VirtualMachineConditionCreated indicates that the VM has been created. VirtualMachineConditionCreated = "VirtualMachineCreated" // VirtualMachineClassConfigurationSynced indicates that the VM's current configuration is synced to the // current version of its VirtualMachineClass. VirtualMachineClassConfigurationSynced = "VirtualMachineClassConfigurationSynced" )
const ( // GuestBootstrapCondition exposes the status of guest bootstrap from within // the guest OS, when available. GuestBootstrapCondition = "GuestBootstrap" // GuestIDReconfiguredCondition exposes the status of guest ID // reconfiguration after a VM has been created, when available. GuestIDReconfiguredCondition = "GuestIDReconfigured" )
const ( // GuestCustomizationCondition exposes the status of guest customization // from within the guest OS, when available. GuestCustomizationCondition = "GuestCustomization" // GuestCustomizationIdleReason documents that guest // customizations were not applied for the VirtualMachine. GuestCustomizationIdleReason = "GuestCustomizationIdle" // GuestCustomizationPendingReason documents that guest // customization is still pending within the guest OS. GuestCustomizationPendingReason = "GuestCustomizationPending" // GuestCustomizationRunningReason documents that the guest // customization is now running on the guest OS. GuestCustomizationRunningReason = "GuestCustomizationRunning" // GuestCustomizationSucceededReason documents that the // guest customization succeeded within the guest OS. GuestCustomizationSucceededReason = "GuestCustomizationSucceeded" // GuestCustomizationFailedReason documents that the guest // customization failed within the guest OS. GuestCustomizationFailedReason = "GuestCustomizationFailed" )
const ( // VirtualMachineToolsCondition exposes the status of VMware Tools running // in the guest OS, when available. VirtualMachineToolsCondition = "VirtualMachineTools" // VirtualMachineToolsNotRunningReason documents that // VMware Tools is not running. VirtualMachineToolsNotRunningReason = "VirtualMachineToolsNotRunning" // VirtualMachineToolsRunningReason documents that VMware // Tools is running. VirtualMachineToolsRunningReason = "VirtualMachineToolsRunning" )
const ( // VirtualMachineReconcileReady exposes the status of VirtualMachine reconciliation. VirtualMachineReconcileReady = "VirtualMachineReconcileReady" // VirtualMachineReconcileRunningReason indicates that VirtualMachine // reconciliation is running. VirtualMachineReconcileRunningReason = "VirtualMachineReconcileRunning" // VirtualMachineReconcilePausedReason indicates that VirtualMachine // reconciliation is being paused. VirtualMachineReconcilePausedReason = "VirtualMachineReconcilePaused" )
const ( // PauseAnnotation is an annotation that prevents a VM from being // reconciled. // // This can be used when a VM needs to be modified directly on the // underlying infrastructure without VM Service attempting to direct the // VM back to its intended state. // // The VM will not be reconciled again until this annotation is removed. PauseAnnotation = GroupName + "/paused" // InstanceIDAnnotation is an annotation that can be applied to set Cloud-Init metadata Instance ID. // // This cannot be set by users. It is for VM Operator to handle corner cases. // // In a corner case where a VM first boot failed to bootstrap with Cloud-Init, VM Operator sets Instance ID // the same with the first boot Instance ID to prevent Cloud-Init from treating this VM as first boot // due to different Instance ID. This annotation is used in upgrade script. InstanceIDAnnotation = GroupName + "/cloud-init-instance-id" // FirstBootDoneAnnotation is an annotation that indicates the VM has been // booted at least once. This annotation cannot be set by users and will not // be removed once set until the VM is deleted. FirstBootDoneAnnotation = "virtualmachine." + GroupName + "/first-boot-done" // V1alpha1ConfigMapTransportAnnotation is an annotation that indicates that the VM // was created with the v1alpha1 API and specifies a configMap as the metadata transport resource type. V1alpha1ConfigMapTransportAnnotation = GroupName + "/v1a1-configmap-md-transport" // VirtualMachineSameVMClassResizeAnnotation is an annotation that indicates the VM // should be resized as the class it points to changes. VirtualMachineSameVMClassResizeAnnotation = GroupName + "/same-vm-class-resize" )
const ( // CheckAnnotationPowerOn is an annotation that may be used to prevent a // VM from being powered on. A user can still set a VM's spec.powerState to // PoweredOn, but the VM will not be powered on until the check annotation // is removed. // // Please note, there may be multiple check annotations, ex.: // // - poweron.check.vmoperator.vmware.com/component1: "reason" // - poweron.check.vmoperator.vmware.com/component2: "reason" // - poweron.check.vmoperator.vmware.com/component3: "reason" // // All check annotations must be removed before a VM can be powered on. // // This annotation may only be applied when creating a new VM by any user. // // Only privileged users may apply this annotation to existing VMs. // // Only privileged users may remove this annotation from a VM. If a // non-privileged user accidentally adds this annotation when creating a VM, // the recourse is to delete the VM and recreate it without the annotation. CheckAnnotationPowerOn = "poweron." + checkAnnotationSubDomain // CheckAnnotationDelete is an annotation that may be used to prevent a // VM from being deleted. A user can still delete the VM, but the VM will // not *actually* be removed until the annotation is removed. // // Unlike a finalizer, this annotation *also* prevents the underlying // vSphere VM from being deleted as well. // // Please note, there may be multiple check annotations, ex.: // // - delete.check.vmoperator.vmware.com/component1: "reason" // - delete.check.vmoperator.vmware.com/component2: "reason" // - delete.check.vmoperator.vmware.com/component3: "reason" // // All check annotations must be removed before a VM can be deleted. // // Only privileged users may add or remove this annotation. CheckAnnotationDelete = "delete." + checkAnnotationSubDomain )
const ( // ManagedByExtensionKey and ManagedByExtensionType represent the ManagedBy // field on the VM. They are used to differentiate VM Service managed VMs // from traditional vSphere VMs. ManagedByExtensionKey = "com.vmware.vcenter.wcp" ManagedByExtensionType = "VirtualMachine" )
const ( // VirtualMachineBackupUpToDateCondition exposes the status of the latest VirtualMachine Backup, when available. VirtualMachineBackupUpToDateCondition = "VirtualMachineBackupUpToDate" // VirtualMachineBackupPausedReason documents that VirtualMachine backup is paused. // This can happen after the backing virtual machine is restored by a backup/restore vendor, or a failover operation // by a data protection solution. In either of these operations, VM operator does not persist backup information and // waits for the virtual machine to be (re)-registered with VM Service. VirtualMachineBackupPausedReason = "VirtualMachineBackupPaused" // VirtualMachineBackupFailedReason documents that the VirtualMachine backup failed due to an error. VirtualMachineBackupFailedReason = "VirtualMachineBackupFailed" )
const ( // ForceEnableBackupAnnotation is an annotation that instructs VM operator to // ignore all exclusion rules and persist the configuration of the resource in // virtual machine in relevant ExtraConfig fields. // // This is an experimental flag which only guarantees that the configuration // of the VirtualMachine resource will be persisted in the virtual machine on // vSphere. There is no guarantee that the registration of the VM will be // successful post a restore or failover operation. ForceEnableBackupAnnotation = GroupName + "/force-enable-backup" // VirtualMachineBackupVersionAnnotation is an annotation that indicates the VM's // last backup version. It is a monotonically increasing counter and // is only supposed to be used by IaaS control plane and vCenter for virtual machine registration // post a restore operation. // // The VirtualMachineBackupVersionAnnotation on the VM resource in Supervisor and the BackupVersionExtraConfigKey on the vSphere VM // indicate whether the backups are in sync. VirtualMachineBackupVersionAnnotation = GroupName + "/backup-version" )
const ( // ManagerID on a VirtualMachine contains the UUID of the // VMware vCenter (VC) that is managing this virtual machine. ManagerID = GroupName + "/manager-id" // RestoredVMAnnotation on a VirtualMachine represents that a virtual // machine has been restored using the RegisterVM API, typically by a // VADP based data protection vendor. The presence of this annotation is // used to bypass some validation checks that are otherwise // applicable to all VirtualMachine create/update requests. RestoredVMAnnotation = GroupName + "/restored-vm" // ImportedVMAnnotation on a VirtualMachine represents that a traditional virtual // machine has been imported into Supervisor using the ImportVM API. The presence of this // annotation is used to bypass some validation checks that are otherwise applicable // to all VirtualMachine create/update requests. ImportedVMAnnotation = GroupName + "/imported-vm" // FailedOverVMAnnotation on a VirtualMachine resource represents that a virtual // machine has been failed over from one site to the other, typically as part of a // disaster recovery workflow. The presence of this annotation is used to bypass // some validation checks that are otherwise applicable to all VirtualMachine // create/update requests. FailedOverVMAnnotation = GroupName + "/failed-over-vm" )
const ( // PauseVMExtraConfigKey is the ExtraConfig key to allow override // operations for admins to pause reconciliation of VM Service VM. // // Please note, the value that takes effect is the string "True"(case-insensitive). PauseVMExtraConfigKey = "vmservice.virtualmachine.pause" // PausedVMLabelKey is the label key to identify VMs that reconciliation // are paused. Value will specify whose operation is responsible for // the pause. It can be admins or devops or both. // // Only privileged user can edit this label. PausedVMLabelKey = GroupName + "/paused" )
const ( // VirtualMachineGroupMemberConditionGroupLinked indicates that the member // exists and has its "Spec.GroupName" field set to the group's name. VirtualMachineGroupMemberConditionGroupLinked = "GroupLinked" // VirtualMachineGroupMemberConditionPowerStateSynced indicates that the // member has been updated to match the group's power state. VirtualMachineGroupMemberConditionPowerStateSynced = "PowerStateSynced" // VirtualMachineGroupMemberConditionPlacementReady indicates that the // member has a placement decision ready. VirtualMachineGroupMemberConditionPlacementReady = "PlacementReady" )
const ( // VirtualMachineImageOSIDLabel is a label applied to images with // a value that specifies the operating system ID. VirtualMachineImageOSIDLabel = imageOSLabelPrefix + "id" // VirtualMachineImageOSTypeLabel is a label applied to images with a // value that specifies the operating system type. VirtualMachineImageOSTypeLabel = imageOSLabelPrefix + "type" // VirtualMachineImageOSVersionLabel is a label applied to images with // a value that specifies the operating system version. VirtualMachineImageOSVersionLabel = imageOSLabelPrefix + "version" )
const ( // VirtualMachineImageNotSyncedReason documents that the VirtualMachineImage is not synced with // the vSphere content library item that contains the source of this image's information. VirtualMachineImageNotSyncedReason = "VirtualMachineImageNotSynced" // VirtualMachineImageProviderNotReadyReason documents that the VirtualMachineImage provider // is not in ready state. VirtualMachineImageProviderNotReadyReason = "VirtualMachineImageProviderNotReady" // VirtualMachineImageProviderSecurityNotCompliantReason documents that the // VirtualMachineImage provider doesn't meet security compliance requirements. VirtualMachineImageProviderSecurityNotCompliantReason = "VirtualMachineImageProviderSecurityNotCompliant" )
Condition reasons for VirtualMachineImages.
const ( // VirtualMachineImageCacheConditionProviderReady indicates the underlying // provider is fully synced, including its files being available locally on // some datastore. VirtualMachineImageCacheConditionProviderReady = "VirtualMachineImageCacheProviderReady" // VirtualMachineImageCacheConditionFilesReady indicates the files are // cached in a given location. VirtualMachineImageCacheConditionFilesReady = "VirtualMachineImageCacheFilesReady" // VirtualMachineImageCacheConditionOVFReady indicates the OVF is cached. VirtualMachineImageCacheConditionOVFReady = "VirtualMachineImageCacheOVFReady" )
const ( // VirtualMachinePublishRequestConditionSourceValid is the Type for a // VirtualMachinePublishRequest resource's status condition. // // The condition's status is set to true only when the information // that describes the source side of the publication has been validated. VirtualMachinePublishRequestConditionSourceValid = "SourceValid" // VirtualMachinePublishRequestConditionTargetValid is the Type for a // VirtualMachinePublishRequest resource's status condition. // // The condition's status is set to true only when the information // that describes the target side of the publication has been // validated. VirtualMachinePublishRequestConditionTargetValid = "TargetValid" // VirtualMachinePublishRequestConditionUploaded is the Type for a // VirtualMachinePublishRequest resource's status condition. // // The condition's status is set to true only when the VM being // published has been successfully uploaded. VirtualMachinePublishRequestConditionUploaded = "Uploaded" // VirtualMachinePublishRequestConditionImageAvailable is the Type for a // VirtualMachinePublishRequest resource's status condition. // // The condition's status is set to true only when a new // VirtualMachineImage resource has been realized from the published // VM. VirtualMachinePublishRequestConditionImageAvailable = "ImageAvailable" // VirtualMachinePublishRequestConditionComplete is the Type for a // VirtualMachinePublishRequest resource's status condition. // // The condition's status is set to true only when all other conditions // present on the resource have a truthy status. VirtualMachinePublishRequestConditionComplete = "Complete" )
const ( // SourceVirtualMachineNotExistReason documents that the source VM of // the VirtualMachinePublishRequest doesn't exist. SourceVirtualMachineNotExistReason = "SourceVirtualMachineNotExist" // SourceVirtualMachineNotCreatedReason documents that the source VM of // the VirtualMachinePublishRequest hasn't been created. SourceVirtualMachineNotCreatedReason = "SourceVirtualMachineNotCreated" // TargetContentLibraryNotExistReason documents that the target content // library of the VirtualMachinePublishRequest doesn't exist. TargetContentLibraryNotExistReason = "TargetContentLibraryNotExist" // TargetContentLibraryNotWritableReason documents that the target content // library of the VirtualMachinePublishRequest isn't writable. TargetContentLibraryNotWritableReason = "TargetContentLibraryNotWritable" // TargetContentLibraryNotReadyReason documents that the target content // library of the VirtualMachinePublishRequest isn't ready. TargetContentLibraryNotReadyReason = "TargetContentLibraryNotReady" // TargetItemAlreadyExistsReason documents that an item with the same name // as the VirtualMachinePublishRequest's target item name exists in // the target content library. TargetItemAlreadyExistsReason = "TargetItemAlreadyExists" // TargetVirtualMachineImageNotFoundReason documents that the expected // VirtualMachineImage resource corresponding to the VirtualMachinePublishRequest's // target item is not found in the namespace. TargetVirtualMachineImageNotFoundReason = "VirtualMachineImageNotFound" // UploadTaskNotStartedReason documents that the VM publish task hasn't started. UploadTaskNotStartedReason = "NotStarted" // UploadTaskQueuedReason documents that the VM publish task is in queued status. UploadTaskQueuedReason = "Queued" // UploadingReason documents that the VM publish task is in running status // and the published item is being uploaded to the target location. UploadingReason = "Uploading" // UploadItemIDInvalidReason documents that the VM publish task result // returns an invalid Item id. UploadItemIDInvalidReason = "ItemIDInvalid" // UploadFailureReason documents that uploading published item to the // target location failed. UploadFailureReason = "UploadFailure" // HasNotBeenUploadedReason documents that the VirtualMachinePublishRequest // hasn't completed because the published item hasn't been uploaded // to the target location. HasNotBeenUploadedReason = "HasNotBeenUploaded" // hasn't been completed because the expected VirtualMachineImage resource // isn't available yet. ImageUnavailableReason = "ImageUnavailable" )
Condition.Reason for Conditions related to VirtualMachinePublishRequest.
const ( // VirtualMachinesCreatedCondition documents that the virtual machines controlled by // the VirtualMachineReplicaSet are created. When this condition is false, it indicates that // there was an error when creating the VirtualMachine object. VirtualMachinesCreatedCondition = "VirtualMachinesCreated" // VirtualMachinesReadyCondition reports an aggregate of current status of // the virtual machines controlled by the VirtualMachineReplicaSet. VirtualMachinesReadyCondition = "VirtualMachinesReady" // VirtualMachineCreationFailedReason documents a VirtualMachineReplicaSet failing to // generate a VirtualMachine object. VirtualMachineCreationFailedReason = "VirtualMachineCreationFailed" // ResizedCondition documents a VirtualMachineReplicaSet is resizing the set of controlled VirtualMachines. ResizedCondition = "Resized" // ScalingUpReason documents a VirtualMachineReplicaSet is increasing the number of replicas. ScalingUpReason = "ScalingUp" // ScalingDownReason documents a VirtualMachineReplicaSet is decreasing the number of replicas. ScalingDownReason = "ScalingDown" )
const GroupName = "vmoperator.vmware.com"
GroupName specifies the group name used to register the objects.
const (
// ReadyConditionType is the Ready condition type that summarizes the operational state of a VM Operator API object.
ReadyConditionType = "Ready"
)
const ( // VMClassInstanceActiveLabelKey represents if a // VirtualMachineClassInstance can be used to deploy a new virtual // machine, or resize an existing one. The presence of this label // on a VirtualMachineClassInstance marks the instance as active. // The value of this key does not matter. VMClassInstanceActiveLabelKey = GroupName + "/active" )
const ( // VMIContentLibRefAnnotation is the key for the annotation that stores the content library // reference for VMI and CVMI down conversion. VMIContentLibRefAnnotation = "vmoperator.vmware.com/conversion-content-lib-ref" )
const ( // VirtualMachineGroupPublishRequestConditionComplete is the Type for a // VirtualMachineGroupPublishRequest resource's status condition. // // The condition's status is set to true only when all other conditions // present on the resource have a truthy status. VirtualMachineGroupPublishRequestConditionComplete = "Complete" )
const ( // VirtualMachineImageCapabilityLabel is the prefix for a label that // advertises an image capability. VirtualMachineImageCapabilityLabel = "capability.image." + GroupName + "/" )
const ( // VirtualMachineImageTypeLabel is the label key for the type of the image // (e.g. OVF, ISO, etc.). VirtualMachineImageTypeLabel = "image." + GroupName + "/type" )
const ( // VirtualMachineImageV1Alpha1CompatibleCondition denotes that an image was prepared by // VMware specifically for compatibility with VMService. VirtualMachineImageV1Alpha1CompatibleCondition = "VirtualMachineImageV1Alpha1Compatible" )
const ( // VirtualMachineReplicaSetNameLabel is the key of the label applied on all the // replicas VirtualMachine objects that it owns. The value of this label is the // name of the VirtualMachineReplicaSet. VirtualMachineReplicaSetNameLabel = "vmoperator.vmware.com/replicaset-name" )
const ( // VirtualMachineReplicaSetReplicaFailure is added in a replica set when one of // its VMs fails to be created due to insufficient quota, limit ranges, // security policy, host selection, or deleted due to the host being down or // finalizers are failing. VirtualMachineReplicaSetReplicaFailure = "ReplicaFailure" )
const ( // VirtualMachineSnapshotReadyCondition represents the condition // that the virtual machine snapshot is ready. VirtualMachineSnapshotReadyCondition = "VirtualMachineSnapshotReady" )
Variables ¶
var ( // GroupVersion is group version used to register these objects. GroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha4"} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = schemeBuilder.AddToScheme )
Functions ¶
func SortVirtualMachineVolumeStatuses ¶
func SortVirtualMachineVolumeStatuses(s []VirtualMachineVolumeStatus)
SortVirtualMachineVolumeStatuses sorts the provided list of VirtualMachineVolumeStatus objects.
Types ¶
type ClusterVirtualMachineImage ¶
type ClusterVirtualMachineImage struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec VirtualMachineImageSpec `json:"spec,omitempty"`
Status VirtualMachineImageStatus `json:"status,omitempty"`
}
ClusterVirtualMachineImage is the schema for the clustervirtualmachineimages API.
func (*ClusterVirtualMachineImage) DeepCopy ¶
func (in *ClusterVirtualMachineImage) DeepCopy() *ClusterVirtualMachineImage
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterVirtualMachineImage.
func (*ClusterVirtualMachineImage) DeepCopyInto ¶
func (in *ClusterVirtualMachineImage) DeepCopyInto(out *ClusterVirtualMachineImage)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterVirtualMachineImage) DeepCopyObject ¶
func (in *ClusterVirtualMachineImage) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (ClusterVirtualMachineImage) GetConditions ¶
func (i ClusterVirtualMachineImage) GetConditions() []metav1.Condition
func (*ClusterVirtualMachineImage) Hub ¶
func (*ClusterVirtualMachineImage) Hub()
Hub marks ClusterVirtualMachineImage as a conversion hub.
func (*ClusterVirtualMachineImage) SetConditions ¶
func (i *ClusterVirtualMachineImage) SetConditions(conditions []metav1.Condition)
type ClusterVirtualMachineImageList ¶
type ClusterVirtualMachineImageList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []ClusterVirtualMachineImage `json:"items"`
}
ClusterVirtualMachineImageList contains a list of ClusterVirtualMachineImage.
func (*ClusterVirtualMachineImageList) DeepCopy ¶
func (in *ClusterVirtualMachineImageList) DeepCopy() *ClusterVirtualMachineImageList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterVirtualMachineImageList.
func (*ClusterVirtualMachineImageList) DeepCopyInto ¶
func (in *ClusterVirtualMachineImageList) DeepCopyInto(out *ClusterVirtualMachineImageList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterVirtualMachineImageList) DeepCopyObject ¶
func (in *ClusterVirtualMachineImageList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ClusterVirtualMachineImageList) Hub ¶
func (*ClusterVirtualMachineImageList) Hub()
Hub marks ClusterVirtualMachineImageList as a conversion hub.
type DynamicDirectPathIODevice ¶
type DynamicDirectPathIODevice struct {
VendorID int64 `json:"vendorID"`
DeviceID int64 `json:"deviceID"`
CustomLabel string `json:"customLabel,omitempty"`
}
DynamicDirectPathIODevice contains the configuration corresponding to a Dynamic DirectPath I/O device.
func (*DynamicDirectPathIODevice) DeepCopy ¶
func (in *DynamicDirectPathIODevice) DeepCopy() *DynamicDirectPathIODevice
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DynamicDirectPathIODevice.
func (*DynamicDirectPathIODevice) DeepCopyInto ¶
func (in *DynamicDirectPathIODevice) DeepCopyInto(out *DynamicDirectPathIODevice)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GroupMember ¶
type GroupMember struct {
// Name is the name of member of this group.
Name string `json:"name"`
// Kind is the kind of member of this group, which can be either
// VirtualMachine or VirtualMachineGroup.
//
// If omitted, it defaults to VirtualMachine.
Kind string `json:"kind,omitempty"`
}
GroupMember describes a member of a VirtualMachineGroup.
func (*GroupMember) DeepCopy ¶
func (in *GroupMember) DeepCopy() *GroupMember
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GroupMember.
func (*GroupMember) DeepCopyInto ¶
func (in *GroupMember) DeepCopyInto(out *GroupMember)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GuestHeartbeatAction ¶
type GuestHeartbeatAction struct {
// ThresholdStatus is the value that the guest heartbeat status must be at or above to be
// considered successful.
ThresholdStatus GuestHeartbeatStatus `json:"thresholdStatus,omitempty"`
}
GuestHeartbeatAction describes an action based on the guest heartbeat.
func (*GuestHeartbeatAction) DeepCopy ¶
func (in *GuestHeartbeatAction) DeepCopy() *GuestHeartbeatAction
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GuestHeartbeatAction.
func (*GuestHeartbeatAction) DeepCopyInto ¶
func (in *GuestHeartbeatAction) DeepCopyInto(out *GuestHeartbeatAction)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GuestHeartbeatStatus ¶
type GuestHeartbeatStatus string
GuestHeartbeatStatus is the guest heartbeat status.
const ( // GrayHeartbeatStatus means VMware Tools are not installed or not running. GrayHeartbeatStatus GuestHeartbeatStatus = "gray" // RedHeartbeatStatus means no heartbeat. // Guest operating system may have stopped responding. RedHeartbeatStatus GuestHeartbeatStatus = "red" // YellowHeartbeatStatus means an intermittent heartbeat. // This may be due to guest load. YellowHeartbeatStatus GuestHeartbeatStatus = "yellow" // GreenHeartbeatStatus means the guest operating system is responding normally. GreenHeartbeatStatus GuestHeartbeatStatus = "green" )
See govmomi.vim25.types.ManagedEntityStatus.
type GuestInfoAction ¶
type GuestInfoAction struct {
// Key is the name of the GuestInfo key.
//
// The key is automatically prefixed with "guestinfo." before being
// evaluated. Thus if the key "guestinfo.mykey" is provided, it will be
// evaluated as "guestinfo.guestinfo.mykey".
Key string `json:"key"`
// Value is a regular expression that is matched against the value of the
// specified key.
//
// An empty value is the equivalent of "match any" or ".*".
//
// All values must adhere to the RE2 regular expression syntax as documented
// at https://golang.org/s/re2syntax. Invalid values may be rejected or
// ignored depending on the implementation of this API. Either way, invalid
// values will not be considered when evaluating the ready state of a VM.
Value string `json:"value,omitempty"`
}
GuestInfoAction describes a key from GuestInfo that must match the associated value expression.
func (*GuestInfoAction) DeepCopy ¶
func (in *GuestInfoAction) DeepCopy() *GuestInfoAction
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GuestInfoAction.
func (*GuestInfoAction) DeepCopyInto ¶
func (in *GuestInfoAction) DeepCopyInto(out *GuestInfoAction)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InstanceStorage ¶
type InstanceStorage struct {
// StorageClass refers to the name of a StorageClass resource used to
// provide the storage for the configured instance storage volumes.
// The value of this field has no relationship to or bearing on the field
// virtualMachine.spec.storageClass. Please note the referred StorageClass
// must be available in the same namespace as the VirtualMachineClass that
// uses it for configuring instance storage.
StorageClass string `json:"storageClass,omitempty"`
// Volumes describes instance storage volumes created for a VirtualMachine
// instance that use this VirtualMachineClass.
Volumes []InstanceStorageVolume `json:"volumes,omitempty"`
}
InstanceStorage provides information used to configure instance storage volumes for a VirtualMachine.
func (*InstanceStorage) DeepCopy ¶
func (in *InstanceStorage) DeepCopy() *InstanceStorage
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceStorage.
func (*InstanceStorage) DeepCopyInto ¶
func (in *InstanceStorage) DeepCopyInto(out *InstanceStorage)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InstanceStorageVolume ¶
InstanceStorageVolume contains information required to create an instance storage volume on a VirtualMachine.
func (*InstanceStorageVolume) DeepCopy ¶
func (in *InstanceStorageVolume) DeepCopy() *InstanceStorageVolume
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceStorageVolume.
func (*InstanceStorageVolume) DeepCopyInto ¶
func (in *InstanceStorageVolume) DeepCopyInto(out *InstanceStorageVolume)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InstanceVolumeClaimVolumeSource ¶
type InstanceVolumeClaimVolumeSource struct {
// StorageClass is the name of the Kubernetes StorageClass that provides
// the backing storage for this instance storage volume.
StorageClass string `json:"storageClass"`
// Size is the size of the requested instance storage volume.
Size resource.Quantity `json:"size"`
}
InstanceVolumeClaimVolumeSource contains information about the instance storage volume claimed as a PVC.
func (*InstanceVolumeClaimVolumeSource) DeepCopy ¶
func (in *InstanceVolumeClaimVolumeSource) DeepCopy() *InstanceVolumeClaimVolumeSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceVolumeClaimVolumeSource.
func (*InstanceVolumeClaimVolumeSource) DeepCopyInto ¶
func (in *InstanceVolumeClaimVolumeSource) DeepCopyInto(out *InstanceVolumeClaimVolumeSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LoadBalancerIngress ¶
type LoadBalancerIngress struct {
// IP is set for load balancer ingress points that are specified by an IP
// address.
IP string `json:"ip,omitempty"`
// Hostname is set for load balancer ingress points that are specified by a
// DNS address.
Hostname string `json:"hostname,omitempty"`
}
LoadBalancerIngress represents the status of a load balancer ingress point: traffic intended for the service should be sent to an ingress point. IP or Hostname may both be set in this structure. It is up to the consumer to determine which field should be used when accessing this LoadBalancer.
func (*LoadBalancerIngress) DeepCopy ¶
func (in *LoadBalancerIngress) DeepCopy() *LoadBalancerIngress
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancerIngress.
func (*LoadBalancerIngress) DeepCopyInto ¶
func (in *LoadBalancerIngress) DeepCopyInto(out *LoadBalancerIngress)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LoadBalancerStatus ¶
type LoadBalancerStatus struct {
// Ingress is a list containing ingress addresses for the load balancer.
// Traffic intended for the service should be sent to any of these ingress
// points.
Ingress []LoadBalancerIngress `json:"ingress,omitempty"`
}
LoadBalancerStatus represents the status of a load balancer.
func (*LoadBalancerStatus) DeepCopy ¶
func (in *LoadBalancerStatus) DeepCopy() *LoadBalancerStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancerStatus.
func (*LoadBalancerStatus) DeepCopyInto ¶
func (in *LoadBalancerStatus) DeepCopyInto(out *LoadBalancerStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NetworkDeviceStatus ¶
type NetworkDeviceStatus struct {
// Gateway4 is the gateway for the IPv4 address family for this device.
Gateway4 string
// MacAddress is the MAC address of the network device.
MacAddress string
// IpAddresses represents one or more IP addresses assigned to the network
// device in CIDR notation, ex. "192.0.2.1/16".
IPAddresses []string
}
NetworkDeviceStatus defines the network interface IP configuration including gateway, subnet mask and IP address as seen by OVF properties.
func (*NetworkDeviceStatus) DeepCopy ¶
func (in *NetworkDeviceStatus) DeepCopy() *NetworkDeviceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDeviceStatus.
func (*NetworkDeviceStatus) DeepCopyInto ¶
func (in *NetworkDeviceStatus) DeepCopyInto(out *NetworkDeviceStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NetworkStatus ¶
type NetworkStatus struct {
// Devices describe a list of current status information for each
// network interface that is desired to be attached to the
// VirtualMachineTemplate.
Devices []NetworkDeviceStatus
// Nameservers describe a list of the DNS servers accessible by one of the
// VM's configured network devices.
Nameservers []string
}
NetworkStatus describes the observed state of the VM's network configuration.
func (*NetworkStatus) DeepCopy ¶
func (in *NetworkStatus) DeepCopy() *NetworkStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkStatus.
func (*NetworkStatus) DeepCopyInto ¶
func (in *NetworkStatus) DeepCopyInto(out *NetworkStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OVFProperty ¶
type OVFProperty struct {
// Key describes the OVF property's key.
Key string `json:"key"`
// Type describes the OVF property's type.
Type string `json:"type"`
// Default describes the OVF property's default value.
Default *string `json:"default,omitempty"`
}
OVFProperty describes an OVF property associated with an image. OVF properties may be used in conjunction with the vAppConfig bootstrap provider to customize a VM during its creation.
func (*OVFProperty) DeepCopy ¶
func (in *OVFProperty) DeepCopy() *OVFProperty
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OVFProperty.
func (*OVFProperty) DeepCopyInto ¶
func (in *OVFProperty) DeepCopyInto(out *OVFProperty)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PersistentVolumeClaimVolumeSource ¶
type PersistentVolumeClaimVolumeSource struct {
corev1.PersistentVolumeClaimVolumeSource `json:",inline" yaml:",inline"`
// InstanceVolumeClaim is set if the PVC is backed by instance storage.
InstanceVolumeClaim *InstanceVolumeClaimVolumeSource `json:"instanceVolumeClaim,omitempty"`
}
PersistentVolumeClaimVolumeSource is a composite for the Kubernetes corev1.PersistentVolumeClaimVolumeSource and instance storage options.
func (*PersistentVolumeClaimVolumeSource) DeepCopy ¶
func (in *PersistentVolumeClaimVolumeSource) DeepCopy() *PersistentVolumeClaimVolumeSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PersistentVolumeClaimVolumeSource.
func (*PersistentVolumeClaimVolumeSource) DeepCopyInto ¶
func (in *PersistentVolumeClaimVolumeSource) DeepCopyInto(out *PersistentVolumeClaimVolumeSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type QuiesceSpec ¶
type QuiesceSpec struct {
// Timeout represents the maximum time in minutes for snapshot
// operation to be performed on the virtual machine. The timeout
// can not be less than 5 minutes or more than 240 minutes.
Timeout *metav1.Duration `json:"timeout,omitempty"`
}
QuiesceSpec represents specifications that will be used to quiesce the guest when taking a snapshot.
func (*QuiesceSpec) DeepCopy ¶
func (in *QuiesceSpec) DeepCopy() *QuiesceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QuiesceSpec.
func (*QuiesceSpec) DeepCopyInto ¶
func (in *QuiesceSpec) DeepCopyInto(out *QuiesceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourcePoolSpec ¶
type ResourcePoolSpec struct {
// Name describes the name of the ResourcePool grouping.
Name string `json:"name,omitempty"`
// Reservations describes the guaranteed resources reserved for the
// ResourcePool.
Reservations VirtualMachineResourceSpec `json:"reservations,omitempty"`
// Limits describes the limit to resources available to the ResourcePool.
Limits VirtualMachineResourceSpec `json:"limits,omitempty"`
}
ResourcePoolSpec defines a Logical Grouping of workloads that share resource policies.
func (*ResourcePoolSpec) DeepCopy ¶
func (in *ResourcePoolSpec) DeepCopy() *ResourcePoolSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourcePoolSpec.
func (*ResourcePoolSpec) DeepCopyInto ¶
func (in *ResourcePoolSpec) DeepCopyInto(out *ResourcePoolSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourcePoolStatus ¶
type ResourcePoolStatus struct {
ClusterMoID string `json:"clusterMoID"`
ChildResourcePoolMoID string `json:"childResourcePoolMoID"`
}
ResourcePoolStatus describes the observed state of a vSphere child resource pool created for the Spec.ResourcePool.Name.
func (*ResourcePoolStatus) DeepCopy ¶
func (in *ResourcePoolStatus) DeepCopy() *ResourcePoolStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourcePoolStatus.
func (*ResourcePoolStatus) DeepCopyInto ¶
func (in *ResourcePoolStatus) DeepCopyInto(out *ResourcePoolStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TCPSocketAction ¶
type TCPSocketAction struct {
// Port specifies a number or name of the port to access on the VM.
// If the format of port is a number, it must be in the range 1 to 65535.
// If the format of name is a string, it must be an IANA_SVC_NAME.
Port intstr.IntOrString `json:"port"`
// Host is an optional host name to connect to. Host defaults to the VM IP.
Host string `json:"host,omitempty"`
}
TCPSocketAction describes an action based on opening a socket.
func (*TCPSocketAction) DeepCopy ¶
func (in *TCPSocketAction) DeepCopy() *TCPSocketAction
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TCPSocketAction.
func (*TCPSocketAction) DeepCopyInto ¶
func (in *TCPSocketAction) DeepCopyInto(out *TCPSocketAction)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VGPUDevice ¶
type VGPUDevice struct {
ProfileName string `json:"profileName"`
}
VGPUDevice contains the configuration corresponding to a vGPU device.
func (*VGPUDevice) DeepCopy ¶
func (in *VGPUDevice) DeepCopy() *VGPUDevice
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VGPUDevice.
func (*VGPUDevice) DeepCopyInto ¶
func (in *VGPUDevice) DeepCopyInto(out *VGPUDevice)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VMAffinityTerm ¶
type VMAffinityTerm struct {
// LabelSelector is a label query over a set of VMs.
// When omitted, this term matches with no VMs.
LabelSelector *metav1.LabelSelector `json:"labelSelector,omitempty"`
// TopologyKey describes where this VM should be co-located (affinity) or not
// co-located (anti-affinity).
// Commonly used values include:
// `kubernetes.io/hostname` -- The rule is executed in the context of a node/host.
// `topology.kubernetes.io/zone` -- This rule is executed in the context of a zone.
//
// Please note, The following rules apply when specifying the topology key in the context of a zone/host.
//
// - When topology key is in the context of a zone, the only supported verbs are
// PreferredDuringSchedulingIgnoredDuringExecution and RequiredDuringSchedulingIgnoredDuringExecution.
// - When topology key is in the context of a host, the only supported verbs are
// PreferredDuringSchedulingPreferredDuringExecution and RequiredDuringSchedulingPreferredDuringExecution
// for VM-VM node-level anti-affinity scheduling.
// - When topology key is in the context of a host, the only supported verbs are
// PreferredDuringSchedulingIgnoredDuringExecution and RequiredDuringSchedulingIgnoredDuringExecution
// for VM-VM node-level anti-affinity scheduling.
TopologyKey string `json:"topologyKey"`
}
VMAffinityTerm defines the VM affinity/anti-affinity term.
func (*VMAffinityTerm) DeepCopy ¶
func (in *VMAffinityTerm) DeepCopy() *VMAffinityTerm
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VMAffinityTerm.
func (*VMAffinityTerm) DeepCopyInto ¶
func (in *VMAffinityTerm) DeepCopyInto(out *VMAffinityTerm)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VSphereClusterModuleStatus ¶
type VSphereClusterModuleStatus struct {
GroupName string `json:"groupName"`
ModuleUuid string `json:"moduleUUID"` //nolint:revive
ClusterMoID string `json:"clusterMoID"`
}
VSphereClusterModuleStatus describes the observed state of a vSphere cluster module.
func (*VSphereClusterModuleStatus) DeepCopy ¶
func (in *VSphereClusterModuleStatus) DeepCopy() *VSphereClusterModuleStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VSphereClusterModuleStatus.
func (*VSphereClusterModuleStatus) DeepCopyInto ¶
func (in *VSphereClusterModuleStatus) DeepCopyInto(out *VSphereClusterModuleStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualDevices ¶
type VirtualDevices struct {
// +optional
// +listType=map
// +listMapKey=profileName
VGPUDevices []VGPUDevice `json:"vgpuDevices,omitempty"`
// +optional
DynamicDirectPathIODevices []DynamicDirectPathIODevice `json:"dynamicDirectPathIODevices,omitempty"`
}
VirtualDevices contains information about the virtual devices associated with a VirtualMachineClass.
func (*VirtualDevices) DeepCopy ¶
func (in *VirtualDevices) DeepCopy() *VirtualDevices
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualDevices.
func (*VirtualDevices) DeepCopyInto ¶
func (in *VirtualDevices) DeepCopyInto(out *VirtualDevices)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachine ¶
type VirtualMachine struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec VirtualMachineSpec `json:"spec,omitempty"`
Status VirtualMachineStatus `json:"status,omitempty"`
}
VirtualMachine is the schema for the virtualmachines API and represents the desired state and observed status of a virtualmachines resource.
func (*VirtualMachine) DeepCopy ¶
func (in *VirtualMachine) DeepCopy() *VirtualMachine
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachine.
func (*VirtualMachine) DeepCopyInto ¶
func (in *VirtualMachine) DeepCopyInto(out *VirtualMachine)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VirtualMachine) DeepCopyObject ¶
func (in *VirtualMachine) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*VirtualMachine) GetConditions ¶
func (vm *VirtualMachine) GetConditions() []metav1.Condition
func (*VirtualMachine) GetGroupName ¶
func (vm *VirtualMachine) GetGroupName() string
func (*VirtualMachine) GetPowerState ¶
func (vm *VirtualMachine) GetPowerState() VirtualMachinePowerState
func (*VirtualMachine) Hub ¶
func (*VirtualMachine) Hub()
Hub marks VirtualMachine as a conversion hub.
func (*VirtualMachine) NamespacedName ¶
func (vm *VirtualMachine) NamespacedName() string
func (*VirtualMachine) SetConditions ¶
func (vm *VirtualMachine) SetConditions(conditions []metav1.Condition)
func (*VirtualMachine) SetGroupName ¶
func (vm *VirtualMachine) SetGroupName(value string)
func (*VirtualMachine) SetPowerState ¶
func (vm *VirtualMachine) SetPowerState(value VirtualMachinePowerState)
type VirtualMachineAdvancedSpec ¶
type VirtualMachineAdvancedSpec struct {
// BootDiskCapacity is the capacity of the VM's boot disk -- the first disk
// from the VirtualMachineImage from which the VM was deployed.
//
// Please note it is not advised to change this value while the VM is
// running. Also, resizing the VM's boot disk may require actions inside of
// the guest to take advantage of the additional capacity. Finally, changing
// the size of the VM's boot disk, even increasing it, could adversely
// affect the VM.
//
// Please note this field is ignored if the VM is deployed from an ISO with
// CD-ROM devices attached.
BootDiskCapacity *resource.Quantity `json:"bootDiskCapacity,omitempty"`
// DefaultVolumeProvisioningMode specifies the default provisioning mode for
// persistent volumes managed by this VM.
DefaultVolumeProvisioningMode VirtualMachineVolumeProvisioningMode `json:"defaultVolumeProvisioningMode,omitempty"`
// ChangeBlockTracking is a flag that enables incremental backup support
// for this VM, a feature utilized by external backup systems such as
// VMware Data Recovery.
ChangeBlockTracking *bool `json:"changeBlockTracking,omitempty"`
}
VirtualMachineAdvancedSpec describes a set of optional, advanced VM configuration options.
func (*VirtualMachineAdvancedSpec) DeepCopy ¶
func (in *VirtualMachineAdvancedSpec) DeepCopy() *VirtualMachineAdvancedSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineAdvancedSpec.
func (*VirtualMachineAdvancedSpec) DeepCopyInto ¶
func (in *VirtualMachineAdvancedSpec) DeepCopyInto(out *VirtualMachineAdvancedSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineAffinitySpec ¶
type VirtualMachineAffinitySpec struct {
// ZoneAffinity describes affinity scheduling rules related to a zone.
ZoneAffinity *VirtualMachineAffinityZoneAffinitySpec `json:"zoneAffinity,omitempty"`
// ZoneAntiAffinity describes anti-affinity scheduling rules related to a zone.
ZoneAntiAffinity *VirtualMachineAntiAffinityZoneAffinitySpec `json:"zoneAntiAffinity,omitempty"`
// VMAffinity describes affinity scheduling rules related to other VMs.
VMAffinity *VirtualMachineAffinityVMAffinitySpec `json:"vmAffinity,omitempty"`
// VMAntiAffinity describes anti-affinity scheduling rules related to other VMs.
VMAntiAffinity *VirtualMachineAntiAffinityVMAffinitySpec `json:"vmAntiAffinity,omitempty"`
}
VirtualMachineAffinitySpec defines the group of affinity scheduling rules.
func (*VirtualMachineAffinitySpec) DeepCopy ¶
func (in *VirtualMachineAffinitySpec) DeepCopy() *VirtualMachineAffinitySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineAffinitySpec.
func (*VirtualMachineAffinitySpec) DeepCopyInto ¶
func (in *VirtualMachineAffinitySpec) DeepCopyInto(out *VirtualMachineAffinitySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineAffinityVMAffinitySpec ¶
type VirtualMachineAffinityVMAffinitySpec struct {
// RequiredDuringSchedulingIgnoredDuringExecution describes affinity
// requirements that must be met or the VM will not be scheduled.
//
// When there are multiple elements, the lists of nodes corresponding to
// each term are intersected, i.e. all terms must be satisfied.
RequiredDuringSchedulingIgnoredDuringExecution []VMAffinityTerm `json:"requiredDuringSchedulingIgnoredDuringExecution,omitempty"`
// PreferredDuringSchedulingIgnoredDuringExecution describes affinity
// requirements that should be met, but the VM can still be scheduled if
// the requirement cannot be satisfied. The scheduler will prefer to schedule VMs
// that satisfy the anti-affinity expressions specified by this field, but it may choose to
// violate one or more of the expressions.
//
// When there are multiple elements, the lists of nodes corresponding to
// each term are intersected, i.e. all terms must be satisfied.
PreferredDuringSchedulingIgnoredDuringExecution []VMAffinityTerm `json:"preferredDuringSchedulingIgnoredDuringExecution,omitempty"`
}
VirtualMachineAffinityVMAffinitySpec defines the affinity requirements for scheduling rules related to other VMs.
func (*VirtualMachineAffinityVMAffinitySpec) DeepCopy ¶
func (in *VirtualMachineAffinityVMAffinitySpec) DeepCopy() *VirtualMachineAffinityVMAffinitySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineAffinityVMAffinitySpec.
func (*VirtualMachineAffinityVMAffinitySpec) DeepCopyInto ¶
func (in *VirtualMachineAffinityVMAffinitySpec) DeepCopyInto(out *VirtualMachineAffinityVMAffinitySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineAffinityZoneAffinitySpec ¶
type VirtualMachineAffinityZoneAffinitySpec struct {
// RequiredDuringSchedulingIgnoredDuringExecution describes affinity
// requirements that must be met or the VM will not be scheduled.
//
// When there are multiple elements, the lists of zones corresponding to
// each term are intersected, i.e. all terms must be satisfied.
RequiredDuringSchedulingIgnoredDuringExecution []ZoneSelectorTerm `json:"requiredDuringSchedulingIgnoredDuringExecution,omitempty"`
// PreferredDuringSchedulingIgnoredDuringExecution describes affinity
// requirements that should be met, but the VM can still be scheduled if
// the requirement cannot be satisfied. The scheduler will prefer to schedule VMs
// that satisfy the anti-affinity expressions specified by this field, but it may choose to
// violate one or more of the expressions.
//
// When there are multiple elements, the lists of zones corresponding to
// each term are intersected, i.e. all terms must be satisfied.
PreferredDuringSchedulingIgnoredDuringExecution []ZoneSelectorTerm `json:"preferredDuringSchedulingIgnoredDuringExecution,omitempty"`
}
VirtualMachineAffinityZoneAffinitySpec defines the affinity scheduling rules related to zones.
func (*VirtualMachineAffinityZoneAffinitySpec) DeepCopy ¶
func (in *VirtualMachineAffinityZoneAffinitySpec) DeepCopy() *VirtualMachineAffinityZoneAffinitySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineAffinityZoneAffinitySpec.
func (*VirtualMachineAffinityZoneAffinitySpec) DeepCopyInto ¶
func (in *VirtualMachineAffinityZoneAffinitySpec) DeepCopyInto(out *VirtualMachineAffinityZoneAffinitySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineAntiAffinityVMAffinitySpec ¶
type VirtualMachineAntiAffinityVMAffinitySpec struct {
// RequiredDuringSchedulingIgnoredDuringExecution describes anti-affinity
// requirements that must be met or the VM will not be scheduled.
//
// When there are multiple elements, the lists of nodes corresponding to
// each term are intersected, i.e. all terms must be satisfied.
RequiredDuringSchedulingIgnoredDuringExecution []VMAffinityTerm `json:"requiredDuringSchedulingIgnoredDuringExecution,omitempty"`
// PreferredDuringSchedulingIgnoredDuringExecution describes anti-affinity
// requirements that should be met, but the VM can still be scheduled if
// the requirement cannot be satisfied. The scheduler will prefer to schedule VMs
// that satisfy the affinity expressions specified by this field, but it may choose to
// violate one or more of the expressions.
//
// When there are multiple elements, the lists of nodes corresponding to
// each term are intersected, i.e. all terms must be satisfied.
PreferredDuringSchedulingIgnoredDuringExecution []VMAffinityTerm `json:"preferredDuringSchedulingIgnoredDuringExecution,omitempty"`
// RequiredDuringSchedulingPreferredExecution describes anti-affinity
// requirements that must be met or the VM will not be scheduled. Additionally,
// it also describes the anti-affinity requirements that should be met during run-time,
// but the VM can still be run if the requirements cannot be satisfied.
//
// When there are multiple elements, the lists of nodes corresponding to
// each term are intersected, i.e. all terms must be satisfied.
RequiredDuringSchedulingPreferredDuringExecution []VMAffinityTerm `json:"requiredDuringSchedulingPreferredDuringExecution,omitempty"`
// PreferredDuringSchedulingPreferredDuringExecution describes anti-affinity
// requirements that should be met, but the VM can still be scheduled if
// the requirement cannot be satisfied. The scheduler will prefer to schedule VMs
// that satisfy the affinity expressions specified by this field, but it may choose to
// violate one or more of the expressions. Additionally,
// it also describes the anti-affinity requirements that should be met during run-time,
// but the VM can still be run if the requirements cannot be satisfied.
//
// When there are multiple elements, the lists of nodes corresponding to
// each term are intersected, i.e. all terms must be satisfied.
PreferredDuringSchedulingPreferredDuringExecution []VMAffinityTerm `json:"preferredDuringSchedulingPreferredDuringExecution,omitempty"`
}
VirtualMachineAntiAffinityVMAffinitySpec defines the anti-affinity requirements for scheduling rules related to other VMs.
func (*VirtualMachineAntiAffinityVMAffinitySpec) DeepCopy ¶
func (in *VirtualMachineAntiAffinityVMAffinitySpec) DeepCopy() *VirtualMachineAntiAffinityVMAffinitySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineAntiAffinityVMAffinitySpec.
func (*VirtualMachineAntiAffinityVMAffinitySpec) DeepCopyInto ¶
func (in *VirtualMachineAntiAffinityVMAffinitySpec) DeepCopyInto(out *VirtualMachineAntiAffinityVMAffinitySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineAntiAffinityZoneAffinitySpec ¶
type VirtualMachineAntiAffinityZoneAffinitySpec struct {
// RequiredDuringSchedulingIgnoredDuringExecution describes affinity
// requirements that must be met or the VM will not be scheduled.
//
// When there are multiple elements, the lists of zones corresponding to
// each term are intersected, i.e. all terms must be satisfied.
RequiredDuringSchedulingIgnoredDuringExecution []ZoneSelectorTerm `json:"requiredDuringSchedulingIgnoredDuringExecution,omitempty"`
// PreferredDuringSchedulingIgnoredDuringExecution describes affinity
// requirements that should be met, but the VM can still be scheduled if
// the requirement cannot be satisfied. The scheduler will prefer to schedule VMs to
// that satisfy the anti-affinity expressions specified by this field, but it may choose to
// violate one or more of the expressions.
//
// When there are multiple elements, the lists of zones corresponding to
// each term are intersected, i.e. all terms must be satisfied.
PreferredDuringSchedulingIgnoredDuringExecution []ZoneSelectorTerm `json:"preferredDuringSchedulingIgnoredDuringExecution,omitempty"`
}
VirtualMachineAntiAffinityZoneAffinitySpec defines the anti-affinity scheduling rules related to zones.
func (*VirtualMachineAntiAffinityZoneAffinitySpec) DeepCopy ¶
func (in *VirtualMachineAntiAffinityZoneAffinitySpec) DeepCopy() *VirtualMachineAntiAffinityZoneAffinitySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineAntiAffinityZoneAffinitySpec.
func (*VirtualMachineAntiAffinityZoneAffinitySpec) DeepCopyInto ¶
func (in *VirtualMachineAntiAffinityZoneAffinitySpec) DeepCopyInto(out *VirtualMachineAntiAffinityZoneAffinitySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineBootOptions ¶
type VirtualMachineBootOptions struct {
// Firmware represents the firmware for the virtual machine to use. Any update
// to this value after the virtual machine has already been created will be
// ignored. Setting will happen in the following manner:
//
// 1. If this value is specified, it will be used to set the VM firmware. If this
// value is unset, then
// 2. the virtual machine image will be checked. If that value is set, then it will
// be used to set the VM firmware. If that value is unset, then
// 3. the virtual machine class will be checked. If that value is set, then it will
// be used to set the VM firmware. If that value is unset, then
// 4. the VM firmware will be set, by default, to BIOS.
//
// The available values of this field are:
//
// - BIOS
// - EFI
Firmware VirtualMachineBootOptionsFirmwareType `json:"firmware,omitempty"`
// BootDelay is the delay before starting the boot sequence. The boot delay
// specifies a time interval between virtual machine power on or restart and
// the beginning of the boot sequence.
BootDelay *metav1.Duration `json:"bootDelay,omitempty"`
// BootOrder represents the boot order of the virtual machine. After list is exhausted,
// default BIOS boot device algorithm is used for booting. Note that order of the entries
// in the list is important: device listed first is used for boot first, if that one
// fails second entry is used, and so on. Platform may have some internal limit on the
// number of devices it supports. If bootable device is not reached before platform's limit
// is hit, boot will fail. At least single entry is supported by all products supporting
// boot order settings.
//
// The available devices are:
//
// - Disk -- If there are classic and managed disks, the first classic disk is selected.
// If there are only managed disks, the first disk is selected.
// - Network -- The first interface listed in spec.network.interfaces.
// - CDRom -- The first bootable CD-ROM device.
BootOrder []VirtualMachineBootOptionsBootableDevice `json:"bootOrder,omitempty"`
// BootRetry specifies whether a virtual machine that fails to boot
// will try again. The available values are:
//
// - Enabled -- A virtual machine that fails to boot will try again
// after BootRetryDelay time period has expired.
// - Disabled -- The virtual machine waits indefinitely for you to
// initiate boot retry.
BootRetry VirtualMachineBootOptionsBootRetry `json:"bootRetry,omitempty"`
// BootRetryDelay specifies a time interval between virtual machine boot failure
// and the subsequent attempt to boot again. The virtual machine uses this value
// only if BootRetry is Enabled.
BootRetryDelay *metav1.Duration `json:"bootRetryDelay,omitempty"`
// EnterBootSetup specifies whether to automatically enter BIOS/EFI setup the next
// time the virtual machine boots. The virtual machine resets this flag to false
// so that subsequent boots proceed normally. The available values are:
//
// - Enabled -- The virtual machine will automatically enter BIOS/EFI setup the next
// time the virtual machine boots.
// - Disabled -- The virtual machine will boot normaally.
EnterBootSetup VirtualMachineBootOptionsForceBootEntry `json:"enterBootSetup,omitempty"`
// EFISecureBoot specifies whether the virtual machine's firmware will
// perform signature checks of any EFI images loaded during startup. If set to
// true, signature checks will be performed and the virtual machine's firmware
// will refuse to start any images which do not pass those signature checks.
//
// Please note, this field will not be honored unless the value of
// spec.bootOptions.firmware is "EFI". The available values are:
//
// - Enabled -- Signature checks will be performed and the virtual machine's firmware
// will refuse to start any images which do not pass those signature checks.
// - Disabled -- No signature checks will be performed.
EFISecureBoot VirtualMachineBootOptionsEFISecureBoot `json:"efiSecureBoot,omitempty"`
// NetworkBootProtocol is the protocol to attempt during PXE network boot or NetBoot.
// The available protocols are:
//
// - IP4 -- PXE (or Apple NetBoot) over IPv4. The default.
// - IP6 -- PXE over IPv6. Only meaningful for EFI virtual machines.
NetworkBootProtocol VirtualMachineBootOptionsNetworkBootProtocol `json:"networkBootProtocol,omitempty"`
}
VirtualMachineBootOptions defines the boot-time behavior of a virtual machine.
func (*VirtualMachineBootOptions) DeepCopy ¶
func (in *VirtualMachineBootOptions) DeepCopy() *VirtualMachineBootOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineBootOptions.
func (*VirtualMachineBootOptions) DeepCopyInto ¶
func (in *VirtualMachineBootOptions) DeepCopyInto(out *VirtualMachineBootOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineBootOptionsBootRetry ¶
type VirtualMachineBootOptionsBootRetry string
VirtualMachineBootOptionsBootRetry represents whether a virtual machine that fails to boot will automatically try again.
const ( VirtualMachineBootOptionsBootRetryEnabled VirtualMachineBootOptionsBootRetry = "Enabled" VirtualMachineBootOptionsBootRetryDisabled VirtualMachineBootOptionsBootRetry = "Disabled" )
type VirtualMachineBootOptionsBootableDevice ¶
type VirtualMachineBootOptionsBootableDevice string
VirtualMachineBootOptionsBootableDevice represents the type of bootable device that a VM may be booted from.
const ( VirtualMachineBootOptionsBootableDiskDevice VirtualMachineBootOptionsBootableDevice = "Disk" VirtualMachineBootOptionsBootableNetworkDevice VirtualMachineBootOptionsBootableDevice = "Network" VirtualMachineBootOptionsBootableCDRomDevice VirtualMachineBootOptionsBootableDevice = "CDRom" )
type VirtualMachineBootOptionsEFISecureBoot ¶
type VirtualMachineBootOptionsEFISecureBoot string
VirtualMachineBootOptionsEFISecureBoot represents whether the virtual machine will perform EFI Secure Boot.
const ( VirtualMachineBootOptionsEFISecureBootEnabled VirtualMachineBootOptionsEFISecureBoot = "Enabled" VirtualMachineBootOptionsEFISecureBootDisabled VirtualMachineBootOptionsEFISecureBoot = "Disabled" )
type VirtualMachineBootOptionsFirmwareType ¶
type VirtualMachineBootOptionsFirmwareType string
VirtualMachineBootOptionsFirmwareType represents the firmware to use.
const ( VirtualMachineBootOptionsFirmwareTypeBIOS VirtualMachineBootOptionsFirmwareType = "BIOS" VirtualMachineBootOptionsFirmwareTypeEFI VirtualMachineBootOptionsFirmwareType = "EFI" )
type VirtualMachineBootOptionsForceBootEntry ¶
type VirtualMachineBootOptionsForceBootEntry string
VirtualMachineBootOptionsForceBootEntry represents whether to force the virtual machine to enter BIOS/EFI setup the next time the virtual machine boots.
const ( VirtualMachineBootOptionsForceBootEntryEnabled VirtualMachineBootOptionsForceBootEntry = "Enabled" VirtualMachineBootOptionsForceBootEntryDisabled VirtualMachineBootOptionsForceBootEntry = "Disabled" )
type VirtualMachineBootOptionsNetworkBootProtocol ¶
type VirtualMachineBootOptionsNetworkBootProtocol string
VirtualMachineBootOptionsNetworkBootProtocol represents the protocol to use during PXE network boot or NetBoot.
const ( VirtualMachineBootOptionsNetworkBootProtocolIP4 VirtualMachineBootOptionsNetworkBootProtocol = "IP4" VirtualMachineBootOptionsNetworkBootProtocolIP6 VirtualMachineBootOptionsNetworkBootProtocol = "IP6" )
type VirtualMachineBootstrapCloudInitSpec ¶
type VirtualMachineBootstrapCloudInitSpec struct {
// InstanceID is the cloud-init metadata instance ID.
// If omitted, this field defaults to the VM's BiosUUID.
InstanceID string `json:"instanceID,omitempty"`
// CloudConfig describes a subset of a Cloud-Init CloudConfig, used to
// bootstrap the VM.
//
// Please note this field and RawCloudConfig are mutually exclusive.
CloudConfig *vmopv1cloudinit.CloudConfig `json:"cloudConfig,omitempty"`
// RawCloudConfig describes a key in a Secret resource that contains the
// CloudConfig data used to bootstrap the VM.
//
// The CloudConfig data specified by the key may be plain-text,
// base64-encoded, or gzipped and base64-encoded.
//
// Please note this field and CloudConfig are mutually exclusive.
RawCloudConfig *vmopv1common.SecretKeySelector `json:"rawCloudConfig,omitempty"`
// SSHAuthorizedKeys is a list of public keys that CloudInit will apply to
// the guest's default user.
SSHAuthorizedKeys []string `json:"sshAuthorizedKeys,omitempty"`
// UseGlobalNameserversAsDefault will use the global nameservers specified in
// the NetworkSpec as the per-interface nameservers when the per-interface
// nameservers is not provided.
//
// Defaults to true if omitted.
UseGlobalNameserversAsDefault *bool `json:"useGlobalNameserversAsDefault,omitempty"`
// UseGlobalSearchDomainsAsDefault will use the global search domains specified
// in the NetworkSpec as the per-interface search domains when the per-interface
// search domains is not provided.
//
// Defaults to true if omitted.
UseGlobalSearchDomainsAsDefault *bool `json:"useGlobalSearchDomainsAsDefault,omitempty"`
// WaitOnNetwork4 indicates whether the cloud-init datasource should wait
// for an IPv4 address to be available before writing the instance-data.
//
// When set to true, the cloud-init datasource will sleep for a second,
// check network status, and repeat until an IPv4 address is available.
WaitOnNetwork4 *bool `json:"waitOnNetwork4,omitempty"`
// WaitOnNetwork6 indicates whether the cloud-init datasource should wait
// for an IPv6 address to be available before writing the instance-data.
//
// When set to true, the cloud-init datasource will sleep for a second,
// check network status, and repeat until an IPv6 address is available.
WaitOnNetwork6 *bool `json:"waitOnNetwork6,omitempty"`
}
VirtualMachineBootstrapCloudInitSpec describes the CloudInit configuration used to bootstrap the VM.
func (*VirtualMachineBootstrapCloudInitSpec) DeepCopy ¶
func (in *VirtualMachineBootstrapCloudInitSpec) DeepCopy() *VirtualMachineBootstrapCloudInitSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineBootstrapCloudInitSpec.
func (*VirtualMachineBootstrapCloudInitSpec) DeepCopyInto ¶
func (in *VirtualMachineBootstrapCloudInitSpec) DeepCopyInto(out *VirtualMachineBootstrapCloudInitSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineBootstrapLinuxPrepSpec ¶
type VirtualMachineBootstrapLinuxPrepSpec struct {
// HardwareClockIsUTC specifies whether the hardware clock is in UTC or
// local time.
HardwareClockIsUTC *bool `json:"hardwareClockIsUTC,omitempty"`
// TimeZone is a case-sensitive timezone, such as Europe/Sofia.
//
// Valid values are based on the tz (timezone) database used by Linux and
// other Unix systems. The values are strings in the form of
// "Area/Location," in which Area is a continent or ocean name, and
// Location is the city, island, or other regional designation.
//
// Please see https://kb.vmware.com/s/article/2145518 for a list of valid
// time zones for Linux systems.
TimeZone string `json:"timeZone,omitempty"`
}
VirtualMachineBootstrapLinuxPrepSpec describes the LinuxPrep configuration used to bootstrap the VM.
func (*VirtualMachineBootstrapLinuxPrepSpec) DeepCopy ¶
func (in *VirtualMachineBootstrapLinuxPrepSpec) DeepCopy() *VirtualMachineBootstrapLinuxPrepSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineBootstrapLinuxPrepSpec.
func (*VirtualMachineBootstrapLinuxPrepSpec) DeepCopyInto ¶
func (in *VirtualMachineBootstrapLinuxPrepSpec) DeepCopyInto(out *VirtualMachineBootstrapLinuxPrepSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineBootstrapSpec ¶
type VirtualMachineBootstrapSpec struct {
// CloudInit may be used to bootstrap Linux guests with Cloud-Init or
// Windows guests that support Cloudbase-Init.
//
// The guest's networking stack is configured by Cloud-Init on Linux guests
// and Cloudbase-Init on Windows guests.
//
// Please note this bootstrap provider may not be used in conjunction with
// the other bootstrap providers.
CloudInit *VirtualMachineBootstrapCloudInitSpec `json:"cloudInit,omitempty"`
// LinuxPrep may be used to bootstrap Linux guests.
//
// The guest's networking stack is configured by Guest OS Customization
// (GOSC).
//
// Please note this bootstrap provider may be used in conjunction with the
// VAppConfig bootstrap provider when wanting to configure the guest's
// network with GOSC but also send vApp/OVF properties into the guest.
//
// This bootstrap provider may not be used in conjunction with the CloudInit
// or Sysprep bootstrap providers.
LinuxPrep *VirtualMachineBootstrapLinuxPrepSpec `json:"linuxPrep,omitempty"`
// Sysprep may be used to bootstrap Windows guests.
//
// The guest's networking stack is configured by Guest OS Customization
// (GOSC).
//
// Please note this bootstrap provider may be used in conjunction with the
// VAppConfig bootstrap provider when wanting to configure the guest's
// network with GOSC but also send vApp/OVF properties into the guest.
//
// This bootstrap provider may not be used in conjunction with the CloudInit
// or LinuxPrep bootstrap providers.
Sysprep *VirtualMachineBootstrapSysprepSpec `json:"sysprep,omitempty"`
// VAppConfig may be used to bootstrap guests that rely on vApp properties
// (how VMware surfaces OVF properties on guests) to transport data into the
// guest.
//
// The guest's networking stack may be configured using either vApp
// properties or GOSC.
//
// Many OVFs define one or more properties that are used by the guest to
// bootstrap its networking stack. If the VirtualMachineImage defines one or
// more properties like this, then they can be configured to use the network
// data provided for this VM at runtime by setting these properties to Go
// template strings.
//
// It is also possible to use GOSC to bootstrap this VM's network stack by
// configuring either the LinuxPrep or Sysprep bootstrap providers.
//
// Please note the VAppConfig bootstrap provider in conjunction with the
// LinuxPrep bootstrap provider is the equivalent of setting the v1alpha1
// VM metadata transport to "OvfEnv".
//
// This bootstrap provider may not be used in conjunction with the CloudInit
// bootstrap provider.
VAppConfig *VirtualMachineBootstrapVAppConfigSpec `json:"vAppConfig,omitempty"`
}
VirtualMachineBootstrapSpec defines the desired state of a VM's bootstrap configuration.
func (*VirtualMachineBootstrapSpec) DeepCopy ¶
func (in *VirtualMachineBootstrapSpec) DeepCopy() *VirtualMachineBootstrapSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineBootstrapSpec.
func (*VirtualMachineBootstrapSpec) DeepCopyInto ¶
func (in *VirtualMachineBootstrapSpec) DeepCopyInto(out *VirtualMachineBootstrapSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineBootstrapSysprepSpec ¶
type VirtualMachineBootstrapSysprepSpec struct {
// Sysprep is an object representation of a Windows sysprep.xml answer file.
//
// This field encloses all the individual keys listed in a sysprep.xml file.
//
// For more detailed information please see
// https://technet.microsoft.com/en-us/library/cc771830(v=ws.10).aspx.
//
// Please note this field and RawSysprep are mutually exclusive.
Sysprep *vmopv1sysprep.Sysprep `json:"sysprep,omitempty"`
// RawSysprep describes a key in a Secret resource that contains an XML
// string of the Sysprep text used to bootstrap the VM.
//
// The data specified by the Secret key may be plain-text, base64-encoded,
// or gzipped and base64-encoded.
//
// Please note this field and Sysprep are mutually exclusive.
RawSysprep *vmopv1common.SecretKeySelector `json:"rawSysprep,omitempty"`
}
VirtualMachineBootstrapSysprepSpec describes the Sysprep configuration used to bootstrap the VM.
func (*VirtualMachineBootstrapSysprepSpec) DeepCopy ¶
func (in *VirtualMachineBootstrapSysprepSpec) DeepCopy() *VirtualMachineBootstrapSysprepSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineBootstrapSysprepSpec.
func (*VirtualMachineBootstrapSysprepSpec) DeepCopyInto ¶
func (in *VirtualMachineBootstrapSysprepSpec) DeepCopyInto(out *VirtualMachineBootstrapSysprepSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineBootstrapVAppConfigSpec ¶
type VirtualMachineBootstrapVAppConfigSpec struct {
// Properties is a list of vApp/OVF property key/value pairs.
//
// Please note this field and RawProperties are mutually exclusive.
Properties []vmopv1common.KeyValueOrSecretKeySelectorPair `json:"properties,omitempty"`
// RawProperties is the name of a Secret resource in the same Namespace as
// this VM where each key/value pair from the Secret is used as a vApp
// key/value pair.
//
// Please note this field and Properties are mutually exclusive.
RawProperties string `json:"rawProperties,omitempty"`
}
VirtualMachineBootstrapVAppConfigSpec describes the vApp configuration used to bootstrap the VM.
func (*VirtualMachineBootstrapVAppConfigSpec) DeepCopy ¶
func (in *VirtualMachineBootstrapVAppConfigSpec) DeepCopy() *VirtualMachineBootstrapVAppConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineBootstrapVAppConfigSpec.
func (*VirtualMachineBootstrapVAppConfigSpec) DeepCopyInto ¶
func (in *VirtualMachineBootstrapVAppConfigSpec) DeepCopyInto(out *VirtualMachineBootstrapVAppConfigSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineCdromSpec ¶
type VirtualMachineCdromSpec struct {
// Name consists of at least two lowercase letters or digits of this CD-ROM.
// It must be unique among all CD-ROM devices attached to the VM.
//
// This field is immutable when the VM is powered on.
Name string `json:"name"`
// Image describes the reference to an ISO type VirtualMachineImage or
// ClusterVirtualMachineImage resource used as the backing for the CD-ROM.
// If the image kind is omitted, it defaults to VirtualMachineImage.
//
// This field is immutable when the VM is powered on.
//
// Please note, unlike the spec.imageName field, the value of this
// spec.cdrom.image.name MUST be a Kubernetes object name.
Image VirtualMachineImageRef `json:"image"`
// Connected describes the desired connection state of the CD-ROM device.
//
// When true, the CD-ROM device is added and connected to the VM.
// If the device already exists, it is updated to a connected state.
//
// When explicitly set to false, the CD-ROM device is added but remains
// disconnected from the VM. If the CD-ROM device already exists, it is
// updated to a disconnected state.
//
// Note: Before disconnecting a CD-ROM, the device may need to be unmounted
// in the guest OS. Refer to the following KB article for more details:
// https://knowledge.broadcom.com/external/article?legacyId=2144053
//
// Defaults to true if omitted.
Connected *bool `json:"connected,omitempty"`
// AllowGuestControl describes whether or not a web console connection
// may be used to connect/disconnect the CD-ROM device.
//
// Defaults to true if omitted.
AllowGuestControl *bool `json:"allowGuestControl,omitempty"`
}
VirtualMachineCdromSpec describes the desired state of a CD-ROM device.
func (*VirtualMachineCdromSpec) DeepCopy ¶
func (in *VirtualMachineCdromSpec) DeepCopy() *VirtualMachineCdromSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineCdromSpec.
func (*VirtualMachineCdromSpec) DeepCopyInto ¶
func (in *VirtualMachineCdromSpec) DeepCopyInto(out *VirtualMachineCdromSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineClass ¶
type VirtualMachineClass struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec VirtualMachineClassSpec `json:"spec,omitempty"`
Status VirtualMachineClassStatus `json:"status,omitempty"`
}
VirtualMachineClass is the schema for the virtualmachineclasses API and represents the desired state and observed status of a virtualmachineclasses resource.
func (*VirtualMachineClass) DeepCopy ¶
func (in *VirtualMachineClass) DeepCopy() *VirtualMachineClass
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineClass.
func (*VirtualMachineClass) DeepCopyInto ¶
func (in *VirtualMachineClass) DeepCopyInto(out *VirtualMachineClass)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VirtualMachineClass) DeepCopyObject ¶
func (in *VirtualMachineClass) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*VirtualMachineClass) Hub ¶
func (*VirtualMachineClass) Hub()
Hub marks VirtualMachineClass as a conversion hub.
type VirtualMachineClassHardware ¶
type VirtualMachineClassHardware struct {
// +optional
Cpus int64 `json:"cpus,omitempty"`
// +optional
Memory resource.Quantity `json:"memory,omitempty"`
// +optional
Devices VirtualDevices `json:"devices,omitempty"`
// +optional
InstanceStorage InstanceStorage `json:"instanceStorage,omitempty"`
}
VirtualMachineClassHardware describes a virtual hardware resource specification.
func (*VirtualMachineClassHardware) DeepCopy ¶
func (in *VirtualMachineClassHardware) DeepCopy() *VirtualMachineClassHardware
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineClassHardware.
func (*VirtualMachineClassHardware) DeepCopyInto ¶
func (in *VirtualMachineClassHardware) DeepCopyInto(out *VirtualMachineClassHardware)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineClassInstance ¶
type VirtualMachineClassInstance struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec VirtualMachineClassInstanceSpec `json:"spec,omitempty"`
Status VirtualMachineClassInstanceStatus `json:"status,omitempty"`
}
VirtualMachineClassInstance is the schema for the virtualmachineclassinstances API and represents the desired state and observed status of a virtualmachineclassinstance resource.
func (*VirtualMachineClassInstance) DeepCopy ¶
func (in *VirtualMachineClassInstance) DeepCopy() *VirtualMachineClassInstance
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineClassInstance.
func (*VirtualMachineClassInstance) DeepCopyInto ¶
func (in *VirtualMachineClassInstance) DeepCopyInto(out *VirtualMachineClassInstance)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VirtualMachineClassInstance) DeepCopyObject ¶
func (in *VirtualMachineClassInstance) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type VirtualMachineClassInstanceList ¶
type VirtualMachineClassInstanceList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []VirtualMachineClassInstance `json:"items"`
}
VirtualMachineClassInstanceList contains a list of VirtualMachineClassInstance.
func (*VirtualMachineClassInstanceList) DeepCopy ¶
func (in *VirtualMachineClassInstanceList) DeepCopy() *VirtualMachineClassInstanceList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineClassInstanceList.
func (*VirtualMachineClassInstanceList) DeepCopyInto ¶
func (in *VirtualMachineClassInstanceList) DeepCopyInto(out *VirtualMachineClassInstanceList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VirtualMachineClassInstanceList) DeepCopyObject ¶
func (in *VirtualMachineClassInstanceList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type VirtualMachineClassInstanceSpec ¶
type VirtualMachineClassInstanceSpec struct {
VirtualMachineClassSpec `json:",inline"`
}
VirtualMachineClassInstanceSpec defines the desired state of VirtualMachineClassInstance. It is a composite of VirtualMachineClassSpec.
func (*VirtualMachineClassInstanceSpec) DeepCopy ¶
func (in *VirtualMachineClassInstanceSpec) DeepCopy() *VirtualMachineClassInstanceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineClassInstanceSpec.
func (*VirtualMachineClassInstanceSpec) DeepCopyInto ¶
func (in *VirtualMachineClassInstanceSpec) DeepCopyInto(out *VirtualMachineClassInstanceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineClassInstanceStatus ¶
type VirtualMachineClassInstanceStatus struct {
}
VirtualMachineClassInstanceStatus defines the observed state of VirtualMachineClassInstance.
func (*VirtualMachineClassInstanceStatus) DeepCopy ¶
func (in *VirtualMachineClassInstanceStatus) DeepCopy() *VirtualMachineClassInstanceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineClassInstanceStatus.
func (*VirtualMachineClassInstanceStatus) DeepCopyInto ¶
func (in *VirtualMachineClassInstanceStatus) DeepCopyInto(out *VirtualMachineClassInstanceStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineClassList ¶
type VirtualMachineClassList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []VirtualMachineClass `json:"items"`
}
VirtualMachineClassList contains a list of VirtualMachineClass.
func (*VirtualMachineClassList) DeepCopy ¶
func (in *VirtualMachineClassList) DeepCopy() *VirtualMachineClassList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineClassList.
func (*VirtualMachineClassList) DeepCopyInto ¶
func (in *VirtualMachineClassList) DeepCopyInto(out *VirtualMachineClassList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VirtualMachineClassList) DeepCopyObject ¶
func (in *VirtualMachineClassList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*VirtualMachineClassList) Hub ¶
func (*VirtualMachineClassList) Hub()
Hub marks VirtualMachineClassList as a conversion hub.
type VirtualMachineClassPolicies ¶
type VirtualMachineClassPolicies struct {
Resources VirtualMachineClassResources `json:"resources,omitempty"`
}
VirtualMachineClassPolicies describes the policy configuration to be used by a VirtualMachineClass.
func (*VirtualMachineClassPolicies) DeepCopy ¶
func (in *VirtualMachineClassPolicies) DeepCopy() *VirtualMachineClassPolicies
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineClassPolicies.
func (*VirtualMachineClassPolicies) DeepCopyInto ¶
func (in *VirtualMachineClassPolicies) DeepCopyInto(out *VirtualMachineClassPolicies)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineClassResources ¶
type VirtualMachineClassResources struct {
// +optional
Requests VirtualMachineResourceSpec `json:"requests,omitempty"`
// +optional
Limits VirtualMachineResourceSpec `json:"limits,omitempty"`
}
VirtualMachineClassResources describes the virtual hardware resource reservations and limits configuration to be used by a VirtualMachineClass.
func (*VirtualMachineClassResources) DeepCopy ¶
func (in *VirtualMachineClassResources) DeepCopy() *VirtualMachineClassResources
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineClassResources.
func (*VirtualMachineClassResources) DeepCopyInto ¶
func (in *VirtualMachineClassResources) DeepCopyInto(out *VirtualMachineClassResources)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineClassSpec ¶
type VirtualMachineClassSpec struct {
// ControllerName describes the name of the controller responsible for
// reconciling VirtualMachine resources that are realized from this
// VirtualMachineClass.
//
// When omitted, controllers reconciling VirtualMachine resources determine
// the default controller name from the environment variable
// DEFAULT_VM_CLASS_CONTROLLER_NAME. If this environment variable is not
// defined or empty, it defaults to vmoperator.vmware.com/vsphere.
//
// Once a non-empty value is assigned to this field, attempts to set this
// field to an empty value will be silently ignored.
ControllerName string `json:"controllerName,omitempty"`
// Hardware describes the configuration of the VirtualMachineClass
// attributes related to virtual hardware. The configuration specified in
// this field is used to customize the virtual hardware characteristics of
// any VirtualMachine associated with this VirtualMachineClass.
Hardware VirtualMachineClassHardware `json:"hardware,omitempty"`
// Policies describes the configuration of the VirtualMachineClass
// attributes related to virtual infrastructure policy. The configuration
// specified in this field is used to customize various policies related to
// infrastructure resource consumption.
Policies VirtualMachineClassPolicies `json:"policies,omitempty"`
// Description describes the configuration of the VirtualMachineClass which
// is not related to virtual hardware or infrastructure policy. This field
// is used to address remaining specs about this VirtualMachineClass.
Description string `json:"description,omitempty"`
// ConfigSpec describes additional configuration information for a
// VirtualMachine.
// The contents of this field are the VirtualMachineConfigSpec data object
// (https://bit.ly/3HDtiRu) marshaled to JSON using the discriminator
// field "_typeName" to preserve type information.
ConfigSpec json.RawMessage `json:"configSpec,omitempty"`
// ReservedProfileID describes the reservation profile associated with
// the namespace-scoped VirtualMachineClass object.
ReservedProfileID string `json:"reservedProfileID,omitempty"`
// ReservedSlots describes the number of slots reserved for VMs that use
// this VirtualMachineClass.
// This field is only valid in conjunction with reservedProfileID.
ReservedSlots int32 `json:"reservedSlots,omitempty"`
}
VirtualMachineClassSpec defines the desired state of VirtualMachineClass.
func (*VirtualMachineClassSpec) DeepCopy ¶
func (in *VirtualMachineClassSpec) DeepCopy() *VirtualMachineClassSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineClassSpec.
func (*VirtualMachineClassSpec) DeepCopyInto ¶
func (in *VirtualMachineClassSpec) DeepCopyInto(out *VirtualMachineClassSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineClassStatus ¶
type VirtualMachineClassStatus struct {
}
VirtualMachineClassStatus defines the observed state of VirtualMachineClass.
func (*VirtualMachineClassStatus) DeepCopy ¶
func (in *VirtualMachineClassStatus) DeepCopy() *VirtualMachineClassStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineClassStatus.
func (*VirtualMachineClassStatus) DeepCopyInto ¶
func (in *VirtualMachineClassStatus) DeepCopyInto(out *VirtualMachineClassStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineCryptoSpec ¶
type VirtualMachineCryptoSpec struct {
// EncryptionClassName describes the name of the EncryptionClass resource
// used to encrypt this VM.
//
// Please note, this field is not required to encrypt the VM. If the
// underlying platform has a default key provider, the VM may still be fully
// or partially encrypted depending on the specified storage and VM classes.
//
// If there is a default key provider and an encryption storage class is
// selected, the files in the VM's home directory and non-PVC virtual disks
// will be encrypted
//
// If there is a default key provider and a VM Class with a virtual, trusted
// platform module (vTPM) is selected, the files in the VM's home directory,
// minus any virtual disks, will be encrypted.
//
// If the underlying vSphere platform does not have a default key provider,
// then this field is required when specifying an encryption storage class
// and/or a VM Class with a vTPM.
//
// If this field is set, spec.storageClass must use an encryption-enabled
// storage class.
EncryptionClassName string `json:"encryptionClassName,omitempty"`
// UseDefaultKeyProvider describes the desired behavior for when an explicit
// EncryptionClass is not provided.
//
// When an explicit EncryptionClass is not provided and this value is true:
//
// - Deploying a VirtualMachine with an encryption storage policy or vTPM
// will be encrypted using the default key provider.
//
// - If a VirtualMachine is not encrypted, uses an encryption storage
// policy or has a virtual, trusted platform module (vTPM), there is a
// default key provider, the VM will be encrypted using the default key
// provider.
//
// - If a VirtualMachine is encrypted with a provider other than the default
// key provider, the VM will be rekeyed using the default key provider.
//
// When an explicit EncryptionClass is not provided and this value is false:
//
// - Deploying a VirtualMachine with an encryption storage policy or vTPM
// will fail.
//
// - If a VirtualMachine is encrypted with a provider other than the default
// key provider, the VM will be not be rekeyed.
//
// Please note, this could result in a VirtualMachine that cannot be
// powered on since it is encrypted using a provider or key that may have
// been removed. Without the key, the VM cannot be decrypted and thus
// cannot be powered on.
//
// Defaults to true if omitted.
UseDefaultKeyProvider *bool `json:"useDefaultKeyProvider,omitempty"`
}
VirtualMachineCryptoSpec defines the desired state of a VirtualMachine's encryption state.
func (*VirtualMachineCryptoSpec) DeepCopy ¶
func (in *VirtualMachineCryptoSpec) DeepCopy() *VirtualMachineCryptoSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineCryptoSpec.
func (*VirtualMachineCryptoSpec) DeepCopyInto ¶
func (in *VirtualMachineCryptoSpec) DeepCopyInto(out *VirtualMachineCryptoSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineCryptoStatus ¶
type VirtualMachineCryptoStatus struct {
// Encrypted describes the observed state of the VirtualMachine's
// encryption. There may be two values in this list:
//
// - Config -- This refers to all of the files related to a VM except any
// virtual disks.
// - Disks -- This refers to at least one of the VM's attached disks. To
// determine the encryption state of the individual disks,
// please refer to status.volumes[].crypto.
Encrypted []VirtualMachineEncryptionType `json:"encrypted,omitempty"`
// ProviderID describes the provider ID used to encrypt the VirtualMachine.
// Please note, this field will be empty if the VirtualMachine is not
// encrypted.
ProviderID string `json:"providerID,omitempty"`
// KeyID describes the key ID used to encrypt the VirtualMachine.
// Please note, this field will be empty if the VirtualMachine is not
// encrypted.
KeyID string `json:"keyID,omitempty"`
}
func (*VirtualMachineCryptoStatus) DeepCopy ¶
func (in *VirtualMachineCryptoStatus) DeepCopy() *VirtualMachineCryptoStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineCryptoStatus.
func (*VirtualMachineCryptoStatus) DeepCopyInto ¶
func (in *VirtualMachineCryptoStatus) DeepCopyInto(out *VirtualMachineCryptoStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineDeployMode ¶
type VirtualMachineDeployMode string
VirtualMachineDeployMode represents the available modes in which a VM may be deployed.
const ( VirtualMachineDeployModeDirect VirtualMachineDeployMode = "Direct" VirtualMachineDeployModeLinked VirtualMachineDeployMode = "Linked" )
type VirtualMachineEncryptionType ¶
type VirtualMachineEncryptionType string
const ( VirtualMachineEncryptionTypeConfig VirtualMachineEncryptionType = "Config" VirtualMachineEncryptionTypeDisks VirtualMachineEncryptionType = "Disks" )
type VirtualMachineGroup ¶
type VirtualMachineGroup struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec VirtualMachineGroupSpec `json:"spec,omitempty"`
Status VirtualMachineGroupStatus `json:"status,omitempty"`
}
VirtualMachineGroup is the schema for the VirtualMachineGroup API and represents the desired state and observed status of a VirtualMachineGroup resource.
func (*VirtualMachineGroup) DeepCopy ¶
func (in *VirtualMachineGroup) DeepCopy() *VirtualMachineGroup
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineGroup.
func (*VirtualMachineGroup) DeepCopyInto ¶
func (in *VirtualMachineGroup) DeepCopyInto(out *VirtualMachineGroup)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VirtualMachineGroup) DeepCopyObject ¶
func (in *VirtualMachineGroup) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*VirtualMachineGroup) GetConditions ¶
func (vmg *VirtualMachineGroup) GetConditions() []metav1.Condition
func (*VirtualMachineGroup) GetGroupName ¶
func (vmg *VirtualMachineGroup) GetGroupName() string
func (*VirtualMachineGroup) GetPowerState ¶
func (vmg *VirtualMachineGroup) GetPowerState() VirtualMachinePowerState
func (*VirtualMachineGroup) SetConditions ¶
func (vmg *VirtualMachineGroup) SetConditions(conditions []metav1.Condition)
func (*VirtualMachineGroup) SetGroupName ¶
func (vmg *VirtualMachineGroup) SetGroupName(value string)
func (*VirtualMachineGroup) SetPowerState ¶
func (vmg *VirtualMachineGroup) SetPowerState(value VirtualMachinePowerState)
type VirtualMachineGroupBootOrderGroup ¶
type VirtualMachineGroupBootOrderGroup struct {
// Members describes the names of VirtualMachine or VirtualMachineGroup
// objects that are members of this boot order group. The VM or VM Group
// objects must be in the same namespace as this group.
Members []GroupMember `json:"members,omitempty"`
// PowerOnDelay is the amount of time to wait before powering on all the
// members of this boot order group.
//
// If omitted, the members will be powered on immediately when the group's
// power state changes to PoweredOn.
PowerOnDelay *metav1.Duration `json:"powerOnDelay,omitempty"`
}
VirtualMachineGroupBootOrderGroup describes a boot order group within a VirtualMachineGroup.
func (*VirtualMachineGroupBootOrderGroup) DeepCopy ¶
func (in *VirtualMachineGroupBootOrderGroup) DeepCopy() *VirtualMachineGroupBootOrderGroup
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineGroupBootOrderGroup.
func (*VirtualMachineGroupBootOrderGroup) DeepCopyInto ¶
func (in *VirtualMachineGroupBootOrderGroup) DeepCopyInto(out *VirtualMachineGroupBootOrderGroup)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineGroupList ¶
type VirtualMachineGroupList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []VirtualMachineGroup `json:"items"`
}
VirtualMachineGroupList contains a list of VirtualMachineGroup.
func (*VirtualMachineGroupList) DeepCopy ¶
func (in *VirtualMachineGroupList) DeepCopy() *VirtualMachineGroupList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineGroupList.
func (*VirtualMachineGroupList) DeepCopyInto ¶
func (in *VirtualMachineGroupList) DeepCopyInto(out *VirtualMachineGroupList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VirtualMachineGroupList) DeepCopyObject ¶
func (in *VirtualMachineGroupList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type VirtualMachineGroupMemberStatus ¶
type VirtualMachineGroupMemberStatus struct {
// Name is the name of this member.
Name string `json:"name"`
// Kind is the kind of this member, which can be either VirtualMachine or
// VirtualMachineGroup.
Kind string `json:"kind"`
// Placement describes the placement results for this member.
//
// Please note this field is only set for VirtualMachine members.
Placement *VirtualMachinePlacementStatus `json:"placement,omitempty"`
// PowerState describes the observed power state of this member.
//
// Please note this field is only set for VirtualMachine members.
PowerState *VirtualMachinePowerState `json:"powerState,omitempty"`
// Conditions describes any conditions associated with this member.
//
// - The GroupLinked condition is True when the member exists and has its
// "Spec.GroupName" field set to the group's name.
// - The PowerStateSynced condition is True for the VirtualMachine member
// when the member's power state matches the group's power state.
// - The PlacementReady condition is True for the VirtualMachine member
// when the member has a placement decision ready.
// - The ReadyType condition is True for the VirtualMachineGroup member
// when all of its members' conditions are True.
Conditions []metav1.Condition `json:"conditions,omitempty"`
}
VirtualMachineGroupMemberStatus describes the observed status of a group member.
func (*VirtualMachineGroupMemberStatus) DeepCopy ¶
func (in *VirtualMachineGroupMemberStatus) DeepCopy() *VirtualMachineGroupMemberStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineGroupMemberStatus.
func (*VirtualMachineGroupMemberStatus) DeepCopyInto ¶
func (in *VirtualMachineGroupMemberStatus) DeepCopyInto(out *VirtualMachineGroupMemberStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VirtualMachineGroupMemberStatus) GetConditions ¶
func (m *VirtualMachineGroupMemberStatus) GetConditions() []metav1.Condition
func (*VirtualMachineGroupMemberStatus) SetConditions ¶
func (m *VirtualMachineGroupMemberStatus) SetConditions(conditions []metav1.Condition)
type VirtualMachineGroupPlacementDatastoreStatus ¶
type VirtualMachineGroupPlacementDatastoreStatus struct {
// Name describes the name of a datastore.
Name string `json:"name"`
// ID describes the datastore ID.
ID string `json:"id,omitempty"`
// URL describes the datastore URL.
URL string `json:"url,omitempty"`
// SupportedDiskFormat describes the list of disk formats supported by this
// datastore.
SupportedDiskFormats []string `json:"supportedDiskFormats,omitempty"`
// DiskKey describes the device key to which this recommendation applies.
// When omitted, this recommendation is for the VM's home directory.
DiskKey *int32 `json:"diskKey,omitempty"`
}
func (*VirtualMachineGroupPlacementDatastoreStatus) DeepCopy ¶
func (in *VirtualMachineGroupPlacementDatastoreStatus) DeepCopy() *VirtualMachineGroupPlacementDatastoreStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineGroupPlacementDatastoreStatus.
func (*VirtualMachineGroupPlacementDatastoreStatus) DeepCopyInto ¶
func (in *VirtualMachineGroupPlacementDatastoreStatus) DeepCopyInto(out *VirtualMachineGroupPlacementDatastoreStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineGroupPublishRequest ¶
type VirtualMachineGroupPublishRequest struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec VirtualMachineGroupPublishRequestSpec `json:"spec,omitempty"`
Status VirtualMachineGroupPublishRequestStatus `json:"status,omitempty"`
}
VirtualMachineGroupPublishRequest defines the information necessary to publish the VirtualMachines in a VirtualMachineGroup as VirtualMachineImages to an image registry.
func (*VirtualMachineGroupPublishRequest) DeepCopy ¶
func (in *VirtualMachineGroupPublishRequest) DeepCopy() *VirtualMachineGroupPublishRequest
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineGroupPublishRequest.
func (*VirtualMachineGroupPublishRequest) DeepCopyInto ¶
func (in *VirtualMachineGroupPublishRequest) DeepCopyInto(out *VirtualMachineGroupPublishRequest)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VirtualMachineGroupPublishRequest) DeepCopyObject ¶
func (in *VirtualMachineGroupPublishRequest) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*VirtualMachineGroupPublishRequest) GetConditions ¶
func (vmgrouppub *VirtualMachineGroupPublishRequest) GetConditions() []metav1.Condition
func (*VirtualMachineGroupPublishRequest) SetConditions ¶
func (vmgrouppub *VirtualMachineGroupPublishRequest) SetConditions(conditions []metav1.Condition)
type VirtualMachineGroupPublishRequestImageStatus ¶
type VirtualMachineGroupPublishRequestImageStatus struct {
// Source is the name of the published VirtualMachine.
Source string `json:"source"`
// PublishRequestName is the name of the VirtualMachinePublishRequest object
// created to publish the VM.
PublishRequestName string `json:"publishRequestName"`
// ImageName is the name of the VirtualMachineImage resource that is
// eventually realized after the publication operation completes.
//
// This field will not be set until the VirtualMachineImage resource
// is realized.
ImageName string `json:"imageName,omitempty"`
// Conditions is a copy of the conditions from the
// VirtualMachinePublishRequest object created to publish the VM.
Conditions []metav1.Condition `json:"conditions,omitempty"`
}
func (*VirtualMachineGroupPublishRequestImageStatus) DeepCopy ¶
func (in *VirtualMachineGroupPublishRequestImageStatus) DeepCopy() *VirtualMachineGroupPublishRequestImageStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineGroupPublishRequestImageStatus.
func (*VirtualMachineGroupPublishRequestImageStatus) DeepCopyInto ¶
func (in *VirtualMachineGroupPublishRequestImageStatus) DeepCopyInto(out *VirtualMachineGroupPublishRequestImageStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineGroupPublishRequestList ¶
type VirtualMachineGroupPublishRequestList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []VirtualMachineGroupPublishRequest `json:"items"`
}
VirtualMachineGroupPublishRequestList contains a list of VirtualMachineGroupPublishRequest resources.
func (*VirtualMachineGroupPublishRequestList) DeepCopy ¶
func (in *VirtualMachineGroupPublishRequestList) DeepCopy() *VirtualMachineGroupPublishRequestList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineGroupPublishRequestList.
func (*VirtualMachineGroupPublishRequestList) DeepCopyInto ¶
func (in *VirtualMachineGroupPublishRequestList) DeepCopyInto(out *VirtualMachineGroupPublishRequestList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VirtualMachineGroupPublishRequestList) DeepCopyObject ¶
func (in *VirtualMachineGroupPublishRequestList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type VirtualMachineGroupPublishRequestSpec ¶
type VirtualMachineGroupPublishRequestSpec struct {
// Source is the name of the VirtualMachineGroup to be published.
//
// If this value is omitted then the publication controller checks to
// see if there is a VirtualMachineGroup with the same name as this
// VirtualMachineGroupPublishRequest resource. If such a resource exists,
// then it is the source of the publication.
Source string `json:"source,omitempty"`
// VirtualMachines is a list of the VirtualMachine objects from the source
// VirtualMachineGroup that are included in this publish request.
//
// If omitted, this field defaults to the names of all of the VMs currently
// a member of the group, either directly or indirectly via a nested group.
VirtualMachines []string `json:"virtualMachines,omitempty"`
// Target is the name of the ContentLibrary resource to which the
// VirtualMachines from the VirtualMachineGroup should be published.
//
// When this value is omitted, the controller attempts to identify the
// target location by matching a ContentLibrary resource with the label
// "imageregistry.vmware.com/default".
//
// Please note that while optional, if a VirtualMachineGroupPublishRequest
// sans target information is applied to a namespace without a default
// publication target, then the VirtualMachineGroupPublishRequest resource
// will be marked in error.
Target string `json:"target,omitempty"`
// TTLSecondsAfterFinished is the time-to-live duration for how long this
// resource will be allowed to exist once the publication operation
// completes. After the TTL expires, the resource will be automatically
// deleted without the user having to take any direct action.
// This will be passed into each VirtualMachinePublishRequestSpec.
//
// If this field is unset then the request resource will not be
// automatically deleted. If this field is set to zero then the request
// resource is eligible for deletion immediately after it finishes.
TTLSecondsAfterFinished *int64 `json:"ttlSecondsAfterFinished,omitempty"`
}
VirtualMachineGroupPublishRequestSpec defines the desired state of a VirtualMachineGroupPublishRequest.
All the fields in this spec are optional. This is especially useful when a DevOps persona wants to publish a VM Group without doing anything more than applying a VirtualMachineGroupPublishRequest resource that has the same name as said VMs in the same namespace as said VMs in VM Group.
func (*VirtualMachineGroupPublishRequestSpec) DeepCopy ¶
func (in *VirtualMachineGroupPublishRequestSpec) DeepCopy() *VirtualMachineGroupPublishRequestSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineGroupPublishRequestSpec.
func (*VirtualMachineGroupPublishRequestSpec) DeepCopyInto ¶
func (in *VirtualMachineGroupPublishRequestSpec) DeepCopyInto(out *VirtualMachineGroupPublishRequestSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineGroupPublishRequestStatus ¶
type VirtualMachineGroupPublishRequestStatus struct {
// Source is the name of the published VirtualMachineGroup.
Source string `json:"source,omitempty"`
// Target is the name of the ContentLibrary to which the group is published.
Target string `json:"target,omitempty"`
// CompletionTime represents when the request was completed. It is not
// guaranteed to be set in happens-before order across separate operations.
// It is represented in RFC3339 form and is in UTC.
//
// The value of this field should be equal to the value of the
// LastTransitionTime for the status condition Type=Complete.
CompletionTime metav1.Time `json:"completionTime,omitempty"`
// StartTime represents when the request was acknowledged by the
// controller. It is not guaranteed to be set in happens-before order
// across separate operations. It is represented in RFC3339 form and is
// in UTC.
//
// Please note that the group will not be published until the group's Ready
// condition is true.
StartTime metav1.Time `json:"startTime,omitempty"`
// Images describes the observed status of the individual VirtualMachine
// publications.
Images []VirtualMachineGroupPublishRequestImageStatus `json:"images,omitempty"`
// Conditions is a list of the latest, available observations of the
// request's current state.
Conditions []metav1.Condition `json:"conditions,omitempty"`
}
VirtualMachineGroupPublishRequestStatus defines the observed state of a VirtualMachineGroupPublishRequest.
func (*VirtualMachineGroupPublishRequestStatus) DeepCopy ¶
func (in *VirtualMachineGroupPublishRequestStatus) DeepCopy() *VirtualMachineGroupPublishRequestStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineGroupPublishRequestStatus.
func (*VirtualMachineGroupPublishRequestStatus) DeepCopyInto ¶
func (in *VirtualMachineGroupPublishRequestStatus) DeepCopyInto(out *VirtualMachineGroupPublishRequestStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineGroupSpec ¶
type VirtualMachineGroupSpec struct {
// GroupName describes the name of the group that this group belongs to.
//
// If omitted, this group is not a member of any other group.
GroupName string `json:"groupName,omitempty"`
// BootOrder describes the boot sequence for this group members. Each boot
// order contains a set of members that will be powered on simultaneously,
// with an optional delay before powering on. The orders are processed
// sequentially in the order they appear in this list, with delays being
// cumulative across orders.
//
// When powering off, all members are stopped immediately without delays.
BootOrder []VirtualMachineGroupBootOrderGroup `json:"bootOrder,omitempty"`
// PowerState describes the desired power state of a VirtualMachineGroup.
//
// Please note this field may be omitted when creating a new VM group. This
// ensures that the power states of any existing VMs that are added to the
// group do not have their power states changed until the group's power
// state is explicitly altered.
//
// However, once the field is set to a non-empty value, it may no longer be
// set to an empty value. This means that if the group's power state is
// PoweredOn, and a VM whose power state is PoweredOff is added to the
// group, that VM will be powered on.
PowerState VirtualMachinePowerState `json:"powerState,omitempty"`
// NextForcePowerStateSyncTime may be used to force sync the power state of
// the group to all of its members, by setting the value of this field to
// "now" (case-insensitive).
//
// A mutating webhook changes this value to the current time (UTC), which
// the VM Group controller then uses to trigger a sync of the group's power
// state to its members.
//
// Please note it is not possible to schedule future syncs using this field.
// The only value that users may set is the string "now" (case-insensitive).
NextForcePowerStateSyncTime string `json:"nextForcePowerStateSyncTime,omitempty"`
// PowerOffMode describes the desired behavior when powering off a VM Group.
// Refer to the VirtualMachine.PowerOffMode field for more details.
//
// Please note this field is only propagated to the group's members when
// the group's power state is changed or the nextForcePowerStateSyncTime
// field is set to "now".
PowerOffMode VirtualMachinePowerOpMode `json:"powerOffMode,omitempty"`
// SuspendMode describes the desired behavior when suspending a VM Group.
// Refer to the VirtualMachine.SuspendMode field for more details.
//
// Please note this field is only propagated to the group's members when
// the group's power state is changed or the nextForcePowerStateSyncTime
// field is set to "now".
SuspendMode VirtualMachinePowerOpMode `json:"suspendMode,omitempty"`
}
VirtualMachineGroupSpec defines the desired state of VirtualMachineGroup.
func (*VirtualMachineGroupSpec) DeepCopy ¶
func (in *VirtualMachineGroupSpec) DeepCopy() *VirtualMachineGroupSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineGroupSpec.
func (*VirtualMachineGroupSpec) DeepCopyInto ¶
func (in *VirtualMachineGroupSpec) DeepCopyInto(out *VirtualMachineGroupSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineGroupStatus ¶
type VirtualMachineGroupStatus struct {
// Members describes the observed status of group members.
Members []VirtualMachineGroupMemberStatus `json:"members,omitempty"`
// LastUpdatedPowerStateTime describes the observed time when the power
// state of the group was last updated.
LastUpdatedPowerStateTime *metav1.Time `json:"lastUpdatedPowerStateTime,omitempty"`
// Conditions describes any conditions associated with this VM Group.
//
// - The ReadyType condition is True when all of the group members have
// all of their expected conditions set to True.
Conditions []metav1.Condition `json:"conditions,omitempty"`
}
VirtualMachineGroupStatus defines the observed state of VirtualMachineGroup.
func (*VirtualMachineGroupStatus) DeepCopy ¶
func (in *VirtualMachineGroupStatus) DeepCopy() *VirtualMachineGroupStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineGroupStatus.
func (*VirtualMachineGroupStatus) DeepCopyInto ¶
func (in *VirtualMachineGroupStatus) DeepCopyInto(out *VirtualMachineGroupStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineGuestOSIdentifier ¶
type VirtualMachineGuestOSIdentifier string
+kubebuilder:validation:Enum=dosGuest;win31Guest;win95Guest;win98Guest;winMeGuest;winNTGuest;win2000ProGuest;win2000ServGuest;win2000AdvServGuest;winXPHomeGuest;winXPProGuest;winXPPro64Guest;winNetWebGuest;winNetStandardGuest;winNetEnterpriseGuest;winNetDatacenterGuest;winNetBusinessGuest;winNetStandard64Guest;winNetEnterprise64Guest;winLonghornGuest;winLonghorn64Guest;winNetDatacenter64Guest;winVistaGuest;winVista64Guest;windows7Guest;windows7_64Guest;windows7Server64Guest;windows8Guest;windows8_64Guest;windows8Server64Guest;windows9Guest;windows9_64Guest;windows9Server64Guest;windows11_64Guest;windows12_64Guest;windowsHyperVGuest;windows2019srv_64Guest;windows2019srvNext_64Guest;windows2022srvNext_64Guest;freebsdGuest;freebsd64Guest;freebsd11Guest;freebsd11_64Guest;freebsd12Guest;freebsd12_64Guest;freebsd13Guest;freebsd13_64Guest;freebsd14Guest;freebsd14_64Guest;freebsd15Guest;freebsd15_64Guest;redhatGuest;rhel2Guest;rhel3Guest;rhel3_64Guest;rhel4Guest;rhel4_64Guest;rhel5Guest;rhel5_64Guest;rhel6Guest;rhel6_64Guest;rhel7Guest;rhel7_64Guest;rhel8_64Guest;rhel9_64Guest;rhel10_64Guest;centosGuest;centos64Guest;centos6Guest;centos6_64Guest;centos7Guest;centos7_64Guest;centos8_64Guest;centos9_64Guest;oracleLinuxGuest;oracleLinux64Guest;oracleLinux6Guest;oracleLinux6_64Guest;oracleLinux7Guest;oracleLinux7_64Guest;oracleLinux8_64Guest;oracleLinux9_64Guest;oracleLinux10_64Guest;suseGuest;suse64Guest;slesGuest;sles64Guest;sles10Guest;sles10_64Guest;sles11Guest;sles11_64Guest;sles12Guest;sles12_64Guest;sles15_64Guest;sles16_64Guest;nld9Guest;oesGuest;sjdsGuest;mandrakeGuest;mandrivaGuest;mandriva64Guest;turboLinuxGuest;turboLinux64Guest;ubuntuGuest;ubuntu64Guest;debian4Guest;debian4_64Guest;debian5Guest;debian5_64Guest;debian6Guest;debian6_64Guest;debian7Guest;debian7_64Guest;debian8Guest;debian8_64Guest;debian9Guest;debian9_64Guest;debian10Guest;debian10_64Guest;debian11Guest;debian11_64Guest;debian12Guest;debian12_64Guest;debian13Guest;debian13_64Guest;asianux3Guest;asianux3_64Guest;asianux4Guest;asianux4_64Guest;asianux5_64Guest;asianux7_64Guest;asianux8_64Guest;asianux9_64Guest;miraclelinux_64Guest;pardus_64Guest;opensuseGuest;opensuse64Guest;fedoraGuest;fedora64Guest;coreos64Guest;vmwarePhoton64Guest;other24xLinuxGuest;other26xLinuxGuest;otherLinuxGuest;other3xLinuxGuest;other4xLinuxGuest;other5xLinuxGuest;other6xLinuxGuest;other7xLinuxGuest;genericLinuxGuest;other24xLinux64Guest;other26xLinux64Guest;other3xLinux64Guest;other4xLinux64Guest;other5xLinux64Guest;other6xLinux64Guest;other7xLinux64Guest;otherLinux64Guest;solaris6Guest;solaris7Guest;solaris8Guest;solaris9Guest;solaris10Guest;solaris10_64Guest;solaris11_64Guest;fusionos_64Guest;prolinux_64Guest;kylinlinux_64Guest;os2Guest;eComStationGuest;eComStation2Guest;netware4Guest;netware5Guest;netware6Guest;openServer5Guest;openServer6Guest;unixWare7Guest;darwinGuest;darwin64Guest;darwin10Guest;darwin10_64Guest;darwin11Guest;darwin11_64Guest;darwin12_64Guest;darwin13_64Guest;darwin14_64Guest;darwin15_64Guest;darwin16_64Guest;darwin17_64Guest;darwin18_64Guest;darwin19_64Guest;darwin20_64Guest;darwin21_64Guest;darwin22_64Guest;darwin23_64Guest;vmkernelGuest;vmkernel5Guest;vmkernel6Guest;vmkernel65Guest;vmkernel7Guest;vmkernel8Guest;vmkernel9Guest;amazonlinux2_64Guest;amazonlinux3_64Guest;crxPod1Guest;crxSys1Guest;rockylinux_64Guest;almalinux_64Guest;otherGuest;otherGuest64
type VirtualMachineImage ¶
type VirtualMachineImage struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec VirtualMachineImageSpec `json:"spec,omitempty"`
Status VirtualMachineImageStatus `json:"status,omitempty"`
}
VirtualMachineImage is the schema for the virtualmachineimages API.
func (*VirtualMachineImage) DeepCopy ¶
func (in *VirtualMachineImage) DeepCopy() *VirtualMachineImage
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineImage.
func (*VirtualMachineImage) DeepCopyInto ¶
func (in *VirtualMachineImage) DeepCopyInto(out *VirtualMachineImage)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VirtualMachineImage) DeepCopyObject ¶
func (in *VirtualMachineImage) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (VirtualMachineImage) GetConditions ¶
func (i VirtualMachineImage) GetConditions() []metav1.Condition
func (*VirtualMachineImage) Hub ¶
func (*VirtualMachineImage) Hub()
Hub marks VirtualMachineImage as a conversion hub.
func (*VirtualMachineImage) SetConditions ¶
func (i *VirtualMachineImage) SetConditions(conditions []metav1.Condition)
type VirtualMachineImageCache ¶
type VirtualMachineImageCache struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec VirtualMachineImageCacheSpec `json:"spec,omitempty"`
Status VirtualMachineImageCacheStatus `json:"status,omitempty"`
}
VirtualMachineImageCache is the schema for the virtualmachineimagecaches API.
func (*VirtualMachineImageCache) AddLocation ¶
func (i *VirtualMachineImageCache) AddLocation( datacenterID, datastoreID string)
AddLocation adds the provided datacenterID and datastoreID to the the image cache object's spec.locations list if such a location does not already exist. Calling this function for a pair of datacenterID and datastoreID values that already exist in the object's spec.locations list has no effect.
func (*VirtualMachineImageCache) DeepCopy ¶
func (in *VirtualMachineImageCache) DeepCopy() *VirtualMachineImageCache
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineImageCache.
func (*VirtualMachineImageCache) DeepCopyInto ¶
func (in *VirtualMachineImageCache) DeepCopyInto(out *VirtualMachineImageCache)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VirtualMachineImageCache) DeepCopyObject ¶
func (in *VirtualMachineImageCache) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (VirtualMachineImageCache) GetConditions ¶
func (i VirtualMachineImageCache) GetConditions() []metav1.Condition
func (*VirtualMachineImageCache) Hub ¶
func (*VirtualMachineImageCache) Hub()
Hub marks VirtualMachineImageCache as a conversion hub.
func (*VirtualMachineImageCache) SetConditions ¶
func (i *VirtualMachineImageCache) SetConditions(conditions []metav1.Condition)
type VirtualMachineImageCacheFileStatus ¶
type VirtualMachineImageCacheFileStatus struct {
// ID describes the value used to locate the file.
// The value of this field depends on the type of file:
//
// - Type=Other -- The ID value describes a datastore path,
// ex. "[my-datastore-1] .contentlib-cache/1234/5678/my-disk-1.vmdk"
// - Type=Disk, DiskType=Classic -- The ID value describes a datastore
// path.
// - Type=Disk, DiskType=Managed -- The ID value describes a First Class
// Disk (FCD).
ID string `json:"id"`
// Type describes the type of file.
Type VirtualMachineImageCacheFileType `json:"type"`
// DiskType describes the type of disk.
// This field is only non-empty when Type=Disk.
DiskType VirtualMachineVolumeType `json:"diskType,omitempty"`
}
func (*VirtualMachineImageCacheFileStatus) DeepCopy ¶
func (in *VirtualMachineImageCacheFileStatus) DeepCopy() *VirtualMachineImageCacheFileStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineImageCacheFileStatus.
func (*VirtualMachineImageCacheFileStatus) DeepCopyInto ¶
func (in *VirtualMachineImageCacheFileStatus) DeepCopyInto(out *VirtualMachineImageCacheFileStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineImageCacheFileType ¶
type VirtualMachineImageCacheFileType string
VirtualMachineImageCacheFileType describes the types of files that may be cached.
const ( VirtualMachineImageCacheFileTypeDisk VirtualMachineImageCacheFileType = "Disk" VirtualMachineImageCacheFileTypeOther VirtualMachineImageCacheFileType = "Other" )
type VirtualMachineImageCacheList ¶
type VirtualMachineImageCacheList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []VirtualMachineImageCache `json:"items"`
}
VirtualMachineImageCacheList contains a list of VirtualMachineImageCache.
func (*VirtualMachineImageCacheList) DeepCopy ¶
func (in *VirtualMachineImageCacheList) DeepCopy() *VirtualMachineImageCacheList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineImageCacheList.
func (*VirtualMachineImageCacheList) DeepCopyInto ¶
func (in *VirtualMachineImageCacheList) DeepCopyInto(out *VirtualMachineImageCacheList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VirtualMachineImageCacheList) DeepCopyObject ¶
func (in *VirtualMachineImageCacheList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*VirtualMachineImageCacheList) Hub ¶
func (*VirtualMachineImageCacheList) Hub()
Hub marks VirtualMachineImageCacheList as a conversion hub.
type VirtualMachineImageCacheLocationSpec ¶
type VirtualMachineImageCacheLocationSpec struct {
// DatacenterID describes the ID of the datacenter to which the image should
// be cached.
DatacenterID string `json:"datacenterID"`
// DatastoreID describes the ID of the datastore to which the image should
// be cached.
DatastoreID string `json:"datastoreID"`
}
func (*VirtualMachineImageCacheLocationSpec) DeepCopy ¶
func (in *VirtualMachineImageCacheLocationSpec) DeepCopy() *VirtualMachineImageCacheLocationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineImageCacheLocationSpec.
func (*VirtualMachineImageCacheLocationSpec) DeepCopyInto ¶
func (in *VirtualMachineImageCacheLocationSpec) DeepCopyInto(out *VirtualMachineImageCacheLocationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineImageCacheLocationStatus ¶
type VirtualMachineImageCacheLocationStatus struct {
// DatacenterID describes the ID of the datacenter to which the image should
// be cached.
DatacenterID string `json:"datacenterID"`
// DatastoreID describes the ID of the datastore to which the image should
// be cached.
DatastoreID string `json:"datastoreID"`
// Files describes the image's files cached on this datastore.
Files []VirtualMachineImageCacheFileStatus `json:"files,omitempty"`
// Conditions describes any conditions associated with this cache location.
//
// Generally this should just include the ReadyType condition.
Conditions []metav1.Condition `json:"conditions,omitempty"`
}
func (*VirtualMachineImageCacheLocationStatus) DeepCopy ¶
func (in *VirtualMachineImageCacheLocationStatus) DeepCopy() *VirtualMachineImageCacheLocationStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineImageCacheLocationStatus.
func (*VirtualMachineImageCacheLocationStatus) DeepCopyInto ¶
func (in *VirtualMachineImageCacheLocationStatus) DeepCopyInto(out *VirtualMachineImageCacheLocationStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (VirtualMachineImageCacheLocationStatus) GetConditions ¶
func (i VirtualMachineImageCacheLocationStatus) GetConditions() []metav1.Condition
func (*VirtualMachineImageCacheLocationStatus) SetConditions ¶
func (i *VirtualMachineImageCacheLocationStatus) SetConditions(conditions []metav1.Condition)
type VirtualMachineImageCacheOVFStatus ¶
type VirtualMachineImageCacheOVFStatus struct {
// ConfigMapName describes the name of the ConfigMap resource that contains
// the image's OVF envelope encoded as YAML. The data is located in the
// ConfigMap key "value".
ConfigMapName string `json:"configMapName,omitempty"`
// ProviderVersion describes the observed provider version at which the OVF
// is cached.
// The provider is Content Library, the version is the content version.
ProviderVersion string `json:"providerVersion,omitempty"`
}
func (*VirtualMachineImageCacheOVFStatus) DeepCopy ¶
func (in *VirtualMachineImageCacheOVFStatus) DeepCopy() *VirtualMachineImageCacheOVFStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineImageCacheOVFStatus.
func (*VirtualMachineImageCacheOVFStatus) DeepCopyInto ¶
func (in *VirtualMachineImageCacheOVFStatus) DeepCopyInto(out *VirtualMachineImageCacheOVFStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineImageCacheSpec ¶
type VirtualMachineImageCacheSpec struct {
// ProviderID describes the ID of the provider item to which the image
// corresponds.
// If the provider is Content Library, the ID refers to a Content Library
// item.
ProviderID string `json:"providerID"`
// ProviderVersion describes the version of the provider item to which the
// image corresponds.
// The provider is Content Library, the version is the content version.
ProviderVersion string `json:"providerVersion"`
// Locations describes the locations where the image should be cached.
Locations []VirtualMachineImageCacheLocationSpec `json:"locations,omitempty"`
}
VirtualMachineImageCacheSpec defines the desired state of VirtualMachineImageCache.
func (*VirtualMachineImageCacheSpec) DeepCopy ¶
func (in *VirtualMachineImageCacheSpec) DeepCopy() *VirtualMachineImageCacheSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineImageCacheSpec.
func (*VirtualMachineImageCacheSpec) DeepCopyInto ¶
func (in *VirtualMachineImageCacheSpec) DeepCopyInto(out *VirtualMachineImageCacheSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineImageCacheStatus ¶
type VirtualMachineImageCacheStatus struct {
// Locations describe the observed locations where the image is cached.
Locations []VirtualMachineImageCacheLocationStatus `json:"locations,omitempty"`
// OVF describes the observed status of the cached OVF content.
OVF *VirtualMachineImageCacheOVFStatus `json:"ovf,omitempty"`
// Conditions describes any conditions associated with this cached image.
//
// Generally this should just include the ReadyType condition, which will
// only be True if all of the cached locations also have True ReadyType
// condition.
Conditions []metav1.Condition `json:"conditions,omitempty"`
}
VirtualMachineImageCacheStatus defines the observed state of VirtualMachineImageCache.
func (*VirtualMachineImageCacheStatus) DeepCopy ¶
func (in *VirtualMachineImageCacheStatus) DeepCopy() *VirtualMachineImageCacheStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineImageCacheStatus.
func (*VirtualMachineImageCacheStatus) DeepCopyInto ¶
func (in *VirtualMachineImageCacheStatus) DeepCopyInto(out *VirtualMachineImageCacheStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineImageDiskInfo ¶
type VirtualMachineImageDiskInfo struct {
// Capacity is the virtual disk capacity in bytes.
Capacity *resource.Quantity `json:"capacity,omitempty"`
// Size is the estimated populated size of the virtual disk in bytes.
Size *resource.Quantity `json:"size,omitempty"`
}
VirtualMachineImageDiskInfo describes information about any disks associated with this image.
func (*VirtualMachineImageDiskInfo) DeepCopy ¶
func (in *VirtualMachineImageDiskInfo) DeepCopy() *VirtualMachineImageDiskInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineImageDiskInfo.
func (*VirtualMachineImageDiskInfo) DeepCopyInto ¶
func (in *VirtualMachineImageDiskInfo) DeepCopyInto(out *VirtualMachineImageDiskInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineImageList ¶
type VirtualMachineImageList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []VirtualMachineImage `json:"items"`
}
VirtualMachineImageList contains a list of VirtualMachineImage.
func (*VirtualMachineImageList) DeepCopy ¶
func (in *VirtualMachineImageList) DeepCopy() *VirtualMachineImageList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineImageList.
func (*VirtualMachineImageList) DeepCopyInto ¶
func (in *VirtualMachineImageList) DeepCopyInto(out *VirtualMachineImageList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VirtualMachineImageList) DeepCopyObject ¶
func (in *VirtualMachineImageList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*VirtualMachineImageList) Hub ¶
func (*VirtualMachineImageList) Hub()
Hub marks VirtualMachineImageList as a conversion hub.
type VirtualMachineImageOSInfo ¶
type VirtualMachineImageOSInfo struct {
// ID describes the operating system ID.
//
// This value is also added to the image resource's labels as
// VirtualMachineImageOSIDLabel.
ID string `json:"id,omitempty"`
// Type describes the operating system type.
//
// This value is also added to the image resource's labels as
// VirtualMachineImageOSTypeLabel.
Type string `json:"type,omitempty"`
// Version describes the operating system version.
//
// This value is also added to the image resource's labels as
// VirtualMachineImageOSVersionLabel.
Version string `json:"version,omitempty"`
}
VirtualMachineImageOSInfo describes the image's guest operating system.
func (*VirtualMachineImageOSInfo) DeepCopy ¶
func (in *VirtualMachineImageOSInfo) DeepCopy() *VirtualMachineImageOSInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineImageOSInfo.
func (*VirtualMachineImageOSInfo) DeepCopyInto ¶
func (in *VirtualMachineImageOSInfo) DeepCopyInto(out *VirtualMachineImageOSInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineImageProductInfo ¶
type VirtualMachineImageProductInfo struct {
// Product is a general descriptor for the image.
Product string `json:"product,omitempty"`
// Vendor describes the organization/user that produced the image.
Vendor string `json:"vendor,omitempty"`
// Version describes the short-form version of the image.
Version string `json:"version,omitempty"`
// FullVersion describes the long-form version of the image.
FullVersion string `json:"fullVersion,omitempty"`
}
VirtualMachineImageProductInfo describes product information for an image.
func (*VirtualMachineImageProductInfo) DeepCopy ¶
func (in *VirtualMachineImageProductInfo) DeepCopy() *VirtualMachineImageProductInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineImageProductInfo.
func (*VirtualMachineImageProductInfo) DeepCopyInto ¶
func (in *VirtualMachineImageProductInfo) DeepCopyInto(out *VirtualMachineImageProductInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineImageRef ¶
type VirtualMachineImageRef struct {
// Kind describes the type of image, either a namespace-scoped
// VirtualMachineImage or cluster-scoped ClusterVirtualMachineImage.
Kind string `json:"kind"`
// Name refers to the name of a VirtualMachineImage resource in the same
// namespace as this VM or a cluster-scoped ClusterVirtualMachineImage.
Name string `json:"name"`
}
func (*VirtualMachineImageRef) DeepCopy ¶
func (in *VirtualMachineImageRef) DeepCopy() *VirtualMachineImageRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineImageRef.
func (*VirtualMachineImageRef) DeepCopyInto ¶
func (in *VirtualMachineImageRef) DeepCopyInto(out *VirtualMachineImageRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineImageSpec ¶
type VirtualMachineImageSpec struct {
// ProviderRef is a reference to the resource that contains the source of
// this image's information.
ProviderRef *vmopv1common.LocalObjectRef `json:"providerRef,omitempty"`
}
VirtualMachineImageSpec defines the desired state of VirtualMachineImage.
func (*VirtualMachineImageSpec) DeepCopy ¶
func (in *VirtualMachineImageSpec) DeepCopy() *VirtualMachineImageSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineImageSpec.
func (*VirtualMachineImageSpec) DeepCopyInto ¶
func (in *VirtualMachineImageSpec) DeepCopyInto(out *VirtualMachineImageSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineImageStatus ¶
type VirtualMachineImageStatus struct {
// Name describes the display name of this image.
Name string `json:"name,omitempty"`
// Capabilities describes the image's observed capabilities.
//
// The capabilities are discerned when VM Operator reconciles an image.
// If the source of an image is an OVF in Content Library, then the
// capabilities are parsed from the OVF property
// capabilities.image.vmoperator.vmware.com as a comma-separated list of
// values. Well-known capabilities include:
//
// * cloud-init
// * nvidia-gpu
// * sriov-net
//
// Every capability is also added to the resource's labels as
// VirtualMachineImageCapabilityLabel + Value. For example, if the
// capability is "cloud-init" then the following label will be added to the
// resource: capability.image.vmoperator.vmware.com/cloud-init.
Capabilities []string `json:"capabilities,omitempty"`
// Firmware describe the firmware type used by this image, ex. BIOS, EFI.
Firmware string `json:"firmware,omitempty"`
// HardwareVersion describes the observed hardware version of this image.
HardwareVersion *int32 `json:"hardwareVersion,omitempty"`
// OSInfo describes the observed operating system information for this
// image.
//
// The OS information is also added to the image resource's labels. Please
// refer to VirtualMachineImageOSInfo for more information.
OSInfo VirtualMachineImageOSInfo `json:"osInfo,omitempty"`
// OVFProperties describes the observed user configurable OVF properties defined for this
// image.
OVFProperties []OVFProperty `json:"ovfProperties,omitempty"`
// VMwareSystemProperties describes the observed VMware system properties defined for
// this image.
VMwareSystemProperties []vmopv1common.KeyValuePair `json:"vmwareSystemProperties,omitempty"`
// ProductInfo describes the observed product information for this image.
ProductInfo VirtualMachineImageProductInfo `json:"productInfo,omitempty"`
// Disks describes the observed disk information for this image.
Disks []VirtualMachineImageDiskInfo `json:"disks,omitempty"`
// ProviderContentVersion describes the content version from the provider item
// that this image corresponds to. If the provider of this image is a Content
// Library, this will be the version of the corresponding Content Library item.
ProviderContentVersion string `json:"providerContentVersion,omitempty"`
// ProviderItemID describes the ID of the provider item that this image corresponds to.
// If the provider of this image is a Content Library, this ID will be that of the
// corresponding Content Library item.
ProviderItemID string `json:"providerItemID,omitempty"`
// Conditions describes the observed conditions for this image.
Conditions []metav1.Condition `json:"conditions,omitempty"`
// +optional
//
// Type describes the content library item type (OVF or ISO) of the image.
Type string `json:"type,omitempty"`
}
VirtualMachineImageStatus defines the observed state of VirtualMachineImage.
func (*VirtualMachineImageStatus) DeepCopy ¶
func (in *VirtualMachineImageStatus) DeepCopy() *VirtualMachineImageStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineImageStatus.
func (*VirtualMachineImageStatus) DeepCopyInto ¶
func (in *VirtualMachineImageStatus) DeepCopyInto(out *VirtualMachineImageStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (VirtualMachineImageStatus) GetConditions ¶
func (i VirtualMachineImageStatus) GetConditions() []metav1.Condition
func (*VirtualMachineImageStatus) SetConditions ¶
func (i *VirtualMachineImageStatus) SetConditions(conditions []metav1.Condition)
type VirtualMachineList ¶
type VirtualMachineList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []VirtualMachine `json:"items"`
}
VirtualMachineList contains a list of VirtualMachine.
func (*VirtualMachineList) DeepCopy ¶
func (in *VirtualMachineList) DeepCopy() *VirtualMachineList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineList.
func (*VirtualMachineList) DeepCopyInto ¶
func (in *VirtualMachineList) DeepCopyInto(out *VirtualMachineList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VirtualMachineList) DeepCopyObject ¶
func (in *VirtualMachineList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*VirtualMachineList) Hub ¶
func (*VirtualMachineList) Hub()
Hub marks VirtualMachineList as a conversion hub.
type VirtualMachineNetworkConfigDHCPOptionsStatus ¶
type VirtualMachineNetworkConfigDHCPOptionsStatus struct {
// Enabled describes whether DHCP is enabled.
Enabled bool `json:"enabled,omitempty"`
}
VirtualMachineNetworkConfigDHCPOptionsStatus describes the configured DHCP options.
func (*VirtualMachineNetworkConfigDHCPOptionsStatus) DeepCopy ¶
func (in *VirtualMachineNetworkConfigDHCPOptionsStatus) DeepCopy() *VirtualMachineNetworkConfigDHCPOptionsStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineNetworkConfigDHCPOptionsStatus.
func (*VirtualMachineNetworkConfigDHCPOptionsStatus) DeepCopyInto ¶
func (in *VirtualMachineNetworkConfigDHCPOptionsStatus) DeepCopyInto(out *VirtualMachineNetworkConfigDHCPOptionsStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineNetworkConfigDHCPStatus ¶
type VirtualMachineNetworkConfigDHCPStatus struct {
// IP4 describes the configured state of the IP4 DHCP settings.
IP4 *VirtualMachineNetworkConfigDHCPOptionsStatus `json:"ip4,omitempty"`
// IP6 describes the configured state of the IP6 DHCP settings.
IP6 *VirtualMachineNetworkConfigDHCPOptionsStatus `json:"ip6,omitempty"`
}
VirtualMachineNetworkConfigDHCPStatus describes the configured state of the system-wide DHCP settings for IP4 and IP6.
func (*VirtualMachineNetworkConfigDHCPStatus) DeepCopy ¶
func (in *VirtualMachineNetworkConfigDHCPStatus) DeepCopy() *VirtualMachineNetworkConfigDHCPStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineNetworkConfigDHCPStatus.
func (*VirtualMachineNetworkConfigDHCPStatus) DeepCopyInto ¶
func (in *VirtualMachineNetworkConfigDHCPStatus) DeepCopyInto(out *VirtualMachineNetworkConfigDHCPStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineNetworkConfigDNSStatus ¶
type VirtualMachineNetworkConfigDNSStatus struct {
// HostName is the host name portion of the DNS name. For example,
// the "my-vm" part of "my-vm.domain.local".
HostName string `json:"hostName,omitempty"`
// DomainName is the domain name portion of the DNS name. For example,
// the "domain.local" part of "my-vm.domain.local".
DomainName string `json:"domainName,omitempty"`
// Nameservers is a list of the IP addresses for the DNS servers to use.
//
// IP4 addresses are specified using dotted decimal notation. For example,
// "192.0.2.1".
//
// IP6 addresses are 128-bit addresses represented as eight fields of up to
// four hexadecimal digits. A colon separates each field (:). For example,
// 2001:DB8:101::230:6eff:fe04:d9ff. The address can also consist of the
// symbol '::' to represent multiple 16-bit groups of contiguous 0's only
// once in an address as described in RFC 2373.
Nameservers []string `json:"nameservers,omitempty"`
// SearchDomains is a list of domains in which to search for hosts, in the
// order of preference.
SearchDomains []string `json:"searchDomains,omitempty"`
}
VirtualMachineNetworkConfigDNSStatus describes the configured state of the RFC 1034 client-side DNS settings.
func (*VirtualMachineNetworkConfigDNSStatus) DeepCopy ¶
func (in *VirtualMachineNetworkConfigDNSStatus) DeepCopy() *VirtualMachineNetworkConfigDNSStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineNetworkConfigDNSStatus.
func (*VirtualMachineNetworkConfigDNSStatus) DeepCopyInto ¶
func (in *VirtualMachineNetworkConfigDNSStatus) DeepCopyInto(out *VirtualMachineNetworkConfigDNSStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineNetworkConfigInterfaceIPStatus ¶
type VirtualMachineNetworkConfigInterfaceIPStatus struct {
// DHCP describes the interface's configured DHCP options.
DHCP *VirtualMachineNetworkConfigDHCPStatus `json:"dhcp,omitempty"`
// Addresses describes configured IP addresses for this interface.
// Addresses include the network's prefix length, ex. 192.168.0.0/24 or
// 2001:DB8:101::230:6eff:fe04:d9ff::/64.
Addresses []string `json:"addresses,omitempty"`
// Gateway4 describes the interface's configured, default, IP4 gateway.
//
// Please note the IP address include the network prefix length, ex.
// 192.168.0.1/24.
Gateway4 string `json:"gateway4,omitempty"`
// Gateway6 describes the interface's configured, default, IP6 gateway.
//
// Please note the IP address includes the network prefix length, ex.
// 2001:db8:101::1/64.
Gateway6 string `json:"gateway6,omitempty"`
}
VirtualMachineNetworkConfigInterfaceIPStatus describes the configured state of a VM's network interface's IP configuration.
func (*VirtualMachineNetworkConfigInterfaceIPStatus) DeepCopy ¶
func (in *VirtualMachineNetworkConfigInterfaceIPStatus) DeepCopy() *VirtualMachineNetworkConfigInterfaceIPStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineNetworkConfigInterfaceIPStatus.
func (*VirtualMachineNetworkConfigInterfaceIPStatus) DeepCopyInto ¶
func (in *VirtualMachineNetworkConfigInterfaceIPStatus) DeepCopyInto(out *VirtualMachineNetworkConfigInterfaceIPStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineNetworkConfigInterfaceStatus ¶
type VirtualMachineNetworkConfigInterfaceStatus struct {
// Name describes the corresponding network interface with the same name
// in the VM's desired network interface list.
//
// Please note this name is not necessarily related to the name of the
// device as it is surfaced inside of the guest.
Name string `json:"name,omitempty"`
// IP describes the interface's configured IP information.
IP *VirtualMachineNetworkConfigInterfaceIPStatus `json:"ip,omitempty"`
// DNS describes the interface's configured DNS information.
DNS *VirtualMachineNetworkConfigDNSStatus `json:"dns,omitempty"`
}
VirtualMachineNetworkConfigInterfaceStatus describes the configured state of network interface.
func (*VirtualMachineNetworkConfigInterfaceStatus) DeepCopy ¶
func (in *VirtualMachineNetworkConfigInterfaceStatus) DeepCopy() *VirtualMachineNetworkConfigInterfaceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineNetworkConfigInterfaceStatus.
func (*VirtualMachineNetworkConfigInterfaceStatus) DeepCopyInto ¶
func (in *VirtualMachineNetworkConfigInterfaceStatus) DeepCopyInto(out *VirtualMachineNetworkConfigInterfaceStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineNetworkConfigStatus ¶
type VirtualMachineNetworkConfigStatus struct {
// Interfaces describes the configured state of the network interfaces.
Interfaces []VirtualMachineNetworkConfigInterfaceStatus `json:"interfaces,omitempty"`
// DNS describes the configured state of client-side DNS.
DNS *VirtualMachineNetworkConfigDNSStatus `json:"dns,omitempty"`
}
func (*VirtualMachineNetworkConfigStatus) DeepCopy ¶
func (in *VirtualMachineNetworkConfigStatus) DeepCopy() *VirtualMachineNetworkConfigStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineNetworkConfigStatus.
func (*VirtualMachineNetworkConfigStatus) DeepCopyInto ¶
func (in *VirtualMachineNetworkConfigStatus) DeepCopyInto(out *VirtualMachineNetworkConfigStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineNetworkDHCPOptionsStatus ¶
type VirtualMachineNetworkDHCPOptionsStatus struct {
// Config describes platform-dependent settings for the DHCP client.
//
// The key part is a unique number while the value part is the platform
// specific configuration command. For example on Linux and BSD systems
// using the file dhclient.conf output would be reported at system scope:
// key='1', value='timeout 60;' key='2', value='reboot 10;'. The output
// reported per interface would be:
// key='1', value='prepend domain-name-servers 192.0.2.1;'
// key='2', value='require subnet-mask, domain-name-servers;'.
Config []vmopv1common.KeyValuePair `json:"config,omitempty"`
// Enabled reports the status of the DHCP client services.
Enabled bool `json:"enabled,omitempty"`
}
VirtualMachineNetworkDHCPOptionsStatus describes the observed state of DHCP options.
func (*VirtualMachineNetworkDHCPOptionsStatus) DeepCopy ¶
func (in *VirtualMachineNetworkDHCPOptionsStatus) DeepCopy() *VirtualMachineNetworkDHCPOptionsStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineNetworkDHCPOptionsStatus.
func (*VirtualMachineNetworkDHCPOptionsStatus) DeepCopyInto ¶
func (in *VirtualMachineNetworkDHCPOptionsStatus) DeepCopyInto(out *VirtualMachineNetworkDHCPOptionsStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineNetworkDHCPStatus ¶
type VirtualMachineNetworkDHCPStatus struct {
// IP4 describes the observed state of the IP4 DHCP client settings.
IP4 VirtualMachineNetworkDHCPOptionsStatus `json:"ip4,omitempty"`
// IP6 describes the observed state of the IP6 DHCP client settings.
IP6 VirtualMachineNetworkDHCPOptionsStatus `json:"ip6,omitempty"`
}
VirtualMachineNetworkDHCPStatus describes the observed state of the client-side, system-wide DHCP settings for IP4 and IP6.
func (*VirtualMachineNetworkDHCPStatus) DeepCopy ¶
func (in *VirtualMachineNetworkDHCPStatus) DeepCopy() *VirtualMachineNetworkDHCPStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineNetworkDHCPStatus.
func (*VirtualMachineNetworkDHCPStatus) DeepCopyInto ¶
func (in *VirtualMachineNetworkDHCPStatus) DeepCopyInto(out *VirtualMachineNetworkDHCPStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineNetworkDNSStatus ¶
type VirtualMachineNetworkDNSStatus struct {
// DHCP indicates whether or not dynamic host control protocol (DHCP) was
// used to configure DNS configuration.
DHCP bool `json:"dhcp,omitempty"`
// HostName is the host name portion of the DNS name. For example,
// the "my-vm" part of "my-vm.domain.local".
HostName string `json:"hostName,omitempty"`
// DomainName is the domain name portion of the DNS name. For example,
// the "domain.local" part of "my-vm.domain.local".
DomainName string `json:"domainName,omitempty"`
// Nameservers is a list of the IP addresses for the DNS servers to use.
//
// IP4 addresses are specified using dotted decimal notation. For example,
// "192.0.2.1".
//
// IP6 addresses are 128-bit addresses represented as eight fields of up to
// four hexadecimal digits. A colon separates each field (:). For example,
// 2001:DB8:101::230:6eff:fe04:d9ff. The address can also consist of the
// symbol '::' to represent multiple 16-bit groups of contiguous 0's only
// once in an address as described in RFC 2373.
Nameservers []string `json:"nameservers,omitempty"`
// SearchDomains is a list of domains in which to search for hosts, in the
// order of preference.
SearchDomains []string `json:"searchDomains,omitempty"`
}
VirtualMachineNetworkDNSStatus describes the observed state of the guest's RFC 1034 client-side DNS settings.
func (*VirtualMachineNetworkDNSStatus) DeepCopy ¶
func (in *VirtualMachineNetworkDNSStatus) DeepCopy() *VirtualMachineNetworkDNSStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineNetworkDNSStatus.
func (*VirtualMachineNetworkDNSStatus) DeepCopyInto ¶
func (in *VirtualMachineNetworkDNSStatus) DeepCopyInto(out *VirtualMachineNetworkDNSStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineNetworkIPRouteGatewayStatus ¶
type VirtualMachineNetworkIPRouteGatewayStatus struct {
// Device is the name of the device in the guest for which this gateway
// applies.
Device string `json:"device,omitempty"`
// Address is the IP4 or IP6 address of the gateway.
Address string `json:"address,omitempty"`
}
VirtualMachineNetworkIPRouteGatewayStatus describes the observed state of a guest network's IP route's next hop gateway.
func (*VirtualMachineNetworkIPRouteGatewayStatus) DeepCopy ¶
func (in *VirtualMachineNetworkIPRouteGatewayStatus) DeepCopy() *VirtualMachineNetworkIPRouteGatewayStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineNetworkIPRouteGatewayStatus.
func (*VirtualMachineNetworkIPRouteGatewayStatus) DeepCopyInto ¶
func (in *VirtualMachineNetworkIPRouteGatewayStatus) DeepCopyInto(out *VirtualMachineNetworkIPRouteGatewayStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineNetworkIPRouteStatus ¶
type VirtualMachineNetworkIPRouteStatus struct {
// Gateway describes where to send the packets to next.
Gateway VirtualMachineNetworkIPRouteGatewayStatus `json:"gateway,omitempty"`
// NetworkAddress is the IP4 or IP6 address of the destination network.
//
// Addresses include the network's prefix length, ex. 192.168.0.0/24 or
// 2001:DB8:101::230:6eff:fe04:d9ff::/64.
//
// IP6 addresses are 128-bit addresses represented as eight fields of up to
// four hexadecimal digits. A colon separates each field (:). For example,
// 2001:DB8:101::230:6eff:fe04:d9ff. The address can also consist of symbol
// '::' to represent multiple 16-bit groups of contiguous 0's only once in
// an address as described in RFC 2373.
NetworkAddress string `json:"networkAddress,omitempty"`
}
VirtualMachineNetworkIPRouteStatus describes the observed state of a guest network's IP routes.
func (*VirtualMachineNetworkIPRouteStatus) DeepCopy ¶
func (in *VirtualMachineNetworkIPRouteStatus) DeepCopy() *VirtualMachineNetworkIPRouteStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineNetworkIPRouteStatus.
func (*VirtualMachineNetworkIPRouteStatus) DeepCopyInto ¶
func (in *VirtualMachineNetworkIPRouteStatus) DeepCopyInto(out *VirtualMachineNetworkIPRouteStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineNetworkIPStackStatus ¶
type VirtualMachineNetworkIPStackStatus struct {
// DHCP describes the VM's observed, client-side, system-wide DHCP options.
DHCP *VirtualMachineNetworkDHCPStatus `json:"dhcp,omitempty"`
// DNS describes the VM's observed, client-side DNS configuration.
DNS *VirtualMachineNetworkDNSStatus `json:"dns,omitempty"`
// IPRoutes contain the VM's routing tables for all address families.
IPRoutes []VirtualMachineNetworkIPRouteStatus `json:"ipRoutes,omitempty"`
// KernelConfig describes the observed state of the VM's kernel IP
// configuration settings.
//
// The key part contains a unique number while the value part contains the
// 'key=value' as provided by the underlying provider. For example, on
// Linux and/or BSD, the systcl -a output would be reported as:
// key='5', value='net.ipv4.tcp_keepalive_time = 7200'.
KernelConfig []vmopv1common.KeyValuePair `json:"kernelConfig,omitempty"`
}
VirtualMachineNetworkIPStackStatus describes the observed state of a VM's IP stack.
func (*VirtualMachineNetworkIPStackStatus) DeepCopy ¶
func (in *VirtualMachineNetworkIPStackStatus) DeepCopy() *VirtualMachineNetworkIPStackStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineNetworkIPStackStatus.
func (*VirtualMachineNetworkIPStackStatus) DeepCopyInto ¶
func (in *VirtualMachineNetworkIPStackStatus) DeepCopyInto(out *VirtualMachineNetworkIPStackStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineNetworkInterfaceIPAddrStatus ¶
type VirtualMachineNetworkInterfaceIPAddrStatus struct {
// Address is an IP4 or IP6 address and their network prefix length.
//
// An IP4 address is specified using dotted decimal notation. For example,
// "192.0.2.1".
//
// IP6 addresses are 128-bit addresses represented as eight fields of up to
// four hexadecimal digits. A colon separates each field (:). For example,
// 2001:DB8:101::230:6eff:fe04:d9ff. The address can also consist of the
// symbol '::' to represent multiple 16-bit groups of contiguous 0's only
// once in an address as described in RFC 2373.
Address string `json:"address,omitempty"`
// Lifetime describes when this address will expire.
Lifetime metav1.Time `json:"lifetime,omitempty"`
// Origin describes how this address was configured.
Origin string `json:"origin,omitempty"`
// State describes the state of this IP address.
State string `json:"state,omitempty"`
}
VirtualMachineNetworkInterfaceIPAddrStatus describes information about a specific IP address.
func (*VirtualMachineNetworkInterfaceIPAddrStatus) DeepCopy ¶
func (in *VirtualMachineNetworkInterfaceIPAddrStatus) DeepCopy() *VirtualMachineNetworkInterfaceIPAddrStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineNetworkInterfaceIPAddrStatus.
func (*VirtualMachineNetworkInterfaceIPAddrStatus) DeepCopyInto ¶
func (in *VirtualMachineNetworkInterfaceIPAddrStatus) DeepCopyInto(out *VirtualMachineNetworkInterfaceIPAddrStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineNetworkInterfaceIPStatus ¶
type VirtualMachineNetworkInterfaceIPStatus struct {
// AutoConfigurationEnabled describes whether or not ICMPv6 router
// solicitation requests are enabled or disabled from a given interface.
//
// These requests acquire an IP6 address and default gateway route from
// zero-to-many routers on the connected network.
//
// If not set then ICMPv6 is not available on this VM.
AutoConfigurationEnabled *bool `json:"autoConfigurationEnabled,omitempty"`
// DHCP describes the VM's observed, client-side, interface-specific DHCP
// options.
DHCP *VirtualMachineNetworkDHCPStatus `json:"dhcp,omitempty"`
// Addresses describes observed IP addresses for this interface.
Addresses []VirtualMachineNetworkInterfaceIPAddrStatus `json:"addresses,omitempty"`
// MACAddr describes the observed MAC address for this interface.
MACAddr string `json:"macAddr,omitempty"`
}
VirtualMachineNetworkInterfaceIPStatus describes the observed state of a VM's network interface's IP configuration.
func (*VirtualMachineNetworkInterfaceIPStatus) DeepCopy ¶
func (in *VirtualMachineNetworkInterfaceIPStatus) DeepCopy() *VirtualMachineNetworkInterfaceIPStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineNetworkInterfaceIPStatus.
func (*VirtualMachineNetworkInterfaceIPStatus) DeepCopyInto ¶
func (in *VirtualMachineNetworkInterfaceIPStatus) DeepCopyInto(out *VirtualMachineNetworkInterfaceIPStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineNetworkInterfaceSpec ¶
type VirtualMachineNetworkInterfaceSpec struct {
// Name describes the unique name of this network interface, used to
// distinguish it from other network interfaces attached to this VM.
//
// When the bootstrap provider is Cloud-Init and GuestDeviceName is not
// specified, the device inside the guest will be renamed to this value.
// Please note it is up to the user to ensure the provided name does not
// conflict with any other devices inside the guest, ex. dvd, cdrom, sda, etc.
Name string `json:"name"`
// Network is the name of the network resource to which this interface is
// connected.
//
// If no network is provided, then this interface will be connected to the
// Namespace's default network.
Network *vmopv1common.PartialObjectRef `json:"network,omitempty"`
// GuestDeviceName is used to rename the device inside the guest when the
// bootstrap provider is Cloud-Init. Please note it is up to the user to
// ensure the provided device name does not conflict with any other devices
// inside the guest, ex. dvd, cdrom, sda, etc.
GuestDeviceName string `json:"guestDeviceName,omitempty"`
// Addresses is an optional list of IP4 or IP6 addresses to assign to this
// interface.
//
// Please note this field is only supported if the connected network
// supports manual IP allocation.
//
// Please note IP4 and IP6 addresses must include the network prefix length,
// ex. 192.168.0.10/24 or 2001:db8:101::a/64.
//
// Please note this field may not contain IP4 addresses if DHCP4 is set
// to true or IP6 addresses if DHCP6 is set to true.
Addresses []string `json:"addresses,omitempty"`
// DHCP4 indicates whether or not this interface uses DHCP for IP4
// networking.
//
// Please note this field is only supported if the network connection
// supports DHCP.
//
// Please note this field is mutually exclusive with IP4 addresses in the
// Addresses field and the Gateway4 field.
DHCP4 bool `json:"dhcp4,omitempty"`
// DHCP6 indicates whether or not this interface uses DHCP for IP6
// networking.
//
// Please note this field is only supported if the network connection
// supports DHCP.
//
// Please note this field is mutually exclusive with IP6 addresses in the
// Addresses field and the Gateway6 field.
DHCP6 bool `json:"dhcp6,omitempty"`
// Gateway4 is the default, IP4 gateway for this interface.
//
// If unset, the gateway from the network provider will be used. However,
// if set to "None", the network provider gateway will be ignored.
//
// Please note this field is only supported if the network connection
// supports manual IP allocation.
//
// Please note the IP address must include the network prefix length, ex.
// 192.168.0.1/24.
//
// Please note this field is mutually exclusive with DHCP4.
Gateway4 string `json:"gateway4,omitempty"`
// Gateway6 is the primary IP6 gateway for this interface.
//
// If unset, the gateway from the network provider will be used. However,
// if set to "None", the network provider gateway will be ignored.
//
// Please note this field is only supported if the network connection
// supports manual IP allocation.
//
// Please note the IP address must include the network prefix length, ex.
// 2001:db8:101::1/64.
//
// Please note this field is mutually exclusive with DHCP6.
Gateway6 string `json:"gateway6,omitempty"`
// MTU is the Maximum Transmission Unit size in bytes.
//
// Please note this feature is available only with the following bootstrap
// providers: CloudInit.
MTU *int64 `json:"mtu,omitempty"`
// Nameservers is a list of IP4 and/or IP6 addresses used as DNS
// nameservers.
//
// Please note this feature is available only with the following bootstrap
// providers: CloudInit and Sysprep.
//
// When using CloudInit and UseGlobalNameserversAsDefault is either unset or
// true, if nameservers is not provided, the global nameservers will be used
// instead.
//
// Please note that Linux allows only three nameservers
// (https://linux.die.net/man/5/resolv.conf).
Nameservers []string `json:"nameservers,omitempty"`
// Routes is a list of optional, static routes.
//
// Please note this feature is available only with the following bootstrap
// providers: CloudInit.
Routes []VirtualMachineNetworkRouteSpec `json:"routes,omitempty"`
// SearchDomains is a list of search domains used when resolving IP
// addresses with DNS.
//
// Please note this feature is available only with the following bootstrap
// providers: CloudInit.
//
// When using CloudInit and UseGlobalSearchDomainsAsDefault is either unset
// or true, if search domains is not provided, the global search domains
// will be used instead.
SearchDomains []string `json:"searchDomains,omitempty"`
}
VirtualMachineNetworkInterfaceSpec describes the desired state of a VM's network interface.
func (*VirtualMachineNetworkInterfaceSpec) DeepCopy ¶
func (in *VirtualMachineNetworkInterfaceSpec) DeepCopy() *VirtualMachineNetworkInterfaceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineNetworkInterfaceSpec.
func (*VirtualMachineNetworkInterfaceSpec) DeepCopyInto ¶
func (in *VirtualMachineNetworkInterfaceSpec) DeepCopyInto(out *VirtualMachineNetworkInterfaceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineNetworkInterfaceStatus ¶
type VirtualMachineNetworkInterfaceStatus struct {
// Name describes the corresponding network interface with the same name
// in the VM's desired network interface list. If unset, then there is no
// corresponding entry for this interface.
//
// Please note this name is not necessarily related to the name of the
// device as it is surfaced inside of the guest.
Name string `json:"name,omitempty"`
// DeviceKey describes the unique hardware device key of this network
// interface.
DeviceKey int32 `json:"deviceKey,omitempty"`
// IP describes the observed state of the interface's IP configuration.
IP *VirtualMachineNetworkInterfaceIPStatus `json:"ip,omitempty"`
// DNS describes the observed state of the interface's DNS configuration.
DNS *VirtualMachineNetworkDNSStatus `json:"dns,omitempty"`
}
VirtualMachineNetworkInterfaceStatus describes the observed state of a VM's network interface.
func (*VirtualMachineNetworkInterfaceStatus) DeepCopy ¶
func (in *VirtualMachineNetworkInterfaceStatus) DeepCopy() *VirtualMachineNetworkInterfaceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineNetworkInterfaceStatus.
func (*VirtualMachineNetworkInterfaceStatus) DeepCopyInto ¶
func (in *VirtualMachineNetworkInterfaceStatus) DeepCopyInto(out *VirtualMachineNetworkInterfaceStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineNetworkRouteSpec ¶
type VirtualMachineNetworkRouteSpec struct {
// To is either "default", or an IP4 or IP6 address.
To string `json:"to"`
// Via is an IP4 or IP6 address.
Via string `json:"via"`
// Metric is the weight/priority of the route.
Metric int32 `json:"metric,omitempty"`
}
VirtualMachineNetworkRouteSpec defines a static route for a guest.
func (*VirtualMachineNetworkRouteSpec) DeepCopy ¶
func (in *VirtualMachineNetworkRouteSpec) DeepCopy() *VirtualMachineNetworkRouteSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineNetworkRouteSpec.
func (*VirtualMachineNetworkRouteSpec) DeepCopyInto ¶
func (in *VirtualMachineNetworkRouteSpec) DeepCopyInto(out *VirtualMachineNetworkRouteSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineNetworkRouteStatus ¶
type VirtualMachineNetworkRouteStatus struct {
// IPRoutes contain the VM's routing tables for all address families.
IPRoutes []VirtualMachineNetworkIPRouteStatus `json:"ipRoutes,omitempty"`
}
VirtualMachineNetworkRouteStatus describes the observed state of a guest network's routes.
func (*VirtualMachineNetworkRouteStatus) DeepCopy ¶
func (in *VirtualMachineNetworkRouteStatus) DeepCopy() *VirtualMachineNetworkRouteStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineNetworkRouteStatus.
func (*VirtualMachineNetworkRouteStatus) DeepCopyInto ¶
func (in *VirtualMachineNetworkRouteStatus) DeepCopyInto(out *VirtualMachineNetworkRouteStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineNetworkSpec ¶
type VirtualMachineNetworkSpec struct {
// HostName describes the value the guest uses as its host name. If omitted,
// the name of the VM will be used.
//
// Please note, this feature is available with the following bootstrap
// providers: CloudInit, LinuxPrep, and Sysprep.
//
// This field must adhere to the format specified in RFC-1034, Section 3.5
// for DNS labels:
//
// * The total length is restricted to 63 characters or less.
// * The total length is restricted to 15 characters or less on Windows
// systems.
// * The value may begin with a digit per RFC-1123.
// * Underscores are not allowed.
// * Dashes are permitted, but not at the start or end of the value.
// * Symbol unicode points, such as emoji, are permitted, ex. ✓. However,
// please note that the use of emoji, even where allowed, may not
// compatible with the guest operating system, so it recommended to
// stick with more common characters for this value.
// * The value may be a valid IP4 or IP6 address. Please note, the use of
// an IP address for a host name is not compatible with all guest
// operating systems and is discouraged. Additionally, using an IP
// address for the host name is disallowed if spec.network.domainName is
// non-empty.
//
// Please note, the combined values of spec.network.hostName and
// spec.network.domainName may not exceed 255 characters in length.
HostName string `json:"hostName,omitempty"`
// DomainName describes the value the guest uses as its domain name.
//
// Please note, this feature is available with the following bootstrap
// providers: CloudInit, LinuxPrep, and Sysprep.
//
// This field must adhere to the format specified in RFC-1034, Section 3.5
// for DNS names:
//
// * When joined with the host name, the total length is restricted to 255
// characters or less.
// * Individual segments must be 63 characters or less.
// * The top-level domain( ex. ".com"), is at least two letters with no
// special characters.
// * Underscores are not allowed.
// * Dashes are permitted, but not at the start or end of the value.
// * Long, top-level domain names (ex. ".london") are permitted.
// * Symbol unicode points, such as emoji, are disallowed in the top-level
// domain.
//
// Please note, the combined values of spec.network.hostName and
// spec.network.domainName may not exceed 255 characters in length.
//
// When deploying a guest running Microsoft Windows, this field describes
// the domain the computer should join.
DomainName string `json:"domainName,omitempty"`
// Disabled is a flag that indicates whether or not to disable networking
// for this VM.
//
// When set to true, the VM is not configured with a default interface nor
// any specified from the Interfaces field.
Disabled bool `json:"disabled,omitempty"`
// Nameservers is a list of IP4 and/or IP6 addresses used as DNS
// nameservers. These are applied globally.
//
// Please note global nameservers are only available with the following
// bootstrap providers: LinuxPrep and Sysprep. The Cloud-Init bootstrap
// provider supports per-interface nameservers. However, when Cloud-Init
// is used and UseGlobalNameserversAsDefault is true, the global
// nameservers will be used when the per-interface nameservers is not
// provided.
//
// Please note that Linux allows only three nameservers
// (https://linux.die.net/man/5/resolv.conf).
Nameservers []string `json:"nameservers,omitempty"`
// SearchDomains is a list of search domains used when resolving IP
// addresses with DNS. These are applied globally.
//
// Please note global search domains are only available with the following
// bootstrap providers: LinuxPrep and Sysprep. The Cloud-Init bootstrap
// provider supports per-interface search domains. However, when Cloud-Init
// is used and UseGlobalSearchDomainsAsDefault is true, the global search
// domains will be used when the per-interface search domains is not provided.
SearchDomains []string `json:"searchDomains,omitempty"`
// Interfaces is the list of network interfaces used by this VM.
//
// If the Interfaces field is empty and the Disabled field is false, then
// a default interface with the name eth0 will be created.
//
// The maximum number of network interface allowed is 10 because a vSphere
// virtual machine may not have more than 10 virtual ethernet card devices.
Interfaces []VirtualMachineNetworkInterfaceSpec `json:"interfaces,omitempty"`
}
VirtualMachineNetworkSpec defines a VM's desired network configuration.
func (*VirtualMachineNetworkSpec) DeepCopy ¶
func (in *VirtualMachineNetworkSpec) DeepCopy() *VirtualMachineNetworkSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineNetworkSpec.
func (*VirtualMachineNetworkSpec) DeepCopyInto ¶
func (in *VirtualMachineNetworkSpec) DeepCopyInto(out *VirtualMachineNetworkSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineNetworkStatus ¶
type VirtualMachineNetworkStatus struct {
// Config describes the resolved, configured network settings for the VM,
// such as an interface's IP address obtained from IPAM, or global DNS
// settings.
//
// Please note this information does *not* represent the *observed* network
// state of the VM, but is intended for situations where someone boots a VM
// with no appropriate bootstrap engine and needs to know the network config
// valid for the deployed VM.
Config *VirtualMachineNetworkConfigStatus `json:"config,omitempty"`
// HostName describes the observed hostname reported by the VirtualMachine's
// guest operating system.
//
// Please note, this value is only reported if VMware Tools is installed in
// the guest, and the value may or may not be a fully qualified domain name
// (FQDN), it simply depends on what is reported by the guest.
HostName string `json:"hostName,omitempty"`
// Interfaces describes the status of the VM's network interfaces.
Interfaces []VirtualMachineNetworkInterfaceStatus `json:"interfaces,omitempty"`
// IPStacks describes information about the guest's configured IP networking
// stacks.
IPStacks []VirtualMachineNetworkIPStackStatus `json:"ipStacks,omitempty"`
// PrimaryIP4 describes the VM's primary IP4 address.
//
// If the bootstrap provider is CloudInit then this value is set to the
// value of the VM's "guestinfo.local-ipv4" property. Please see
// https://bit.ly/3NJB534 for more information on how this value is
// calculated.
//
// If the bootstrap provider is anything else then this field is set to the
// value of the infrastructure VM's "guest.ipAddress" field. Please see
// https://bit.ly/3Au0jM4 for more information.
PrimaryIP4 string `json:"primaryIP4,omitempty"`
// PrimaryIP6 describes the VM's primary IP6 address.
//
// If the bootstrap provider is CloudInit then this value is set to the
// value of the VM's "guestinfo.local-ipv6" property. Please see
// https://bit.ly/3NJB534 for more information on how this value is
// calculated.
//
// If the bootstrap provider is anything else then this field is set to the
// value of the infrastructure VM's "guest.ipAddress" field. Please see
// https://bit.ly/3Au0jM4 for more information.
PrimaryIP6 string `json:"primaryIP6,omitempty"`
}
VirtualMachineNetworkStatus defines the observed state of a VM's network configuration.
func (*VirtualMachineNetworkStatus) DeepCopy ¶
func (in *VirtualMachineNetworkStatus) DeepCopy() *VirtualMachineNetworkStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineNetworkStatus.
func (*VirtualMachineNetworkStatus) DeepCopyInto ¶
func (in *VirtualMachineNetworkStatus) DeepCopyInto(out *VirtualMachineNetworkStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineOrGroup ¶
type VirtualMachineOrGroup interface {
metav1.Object
runtime.Object
DeepCopyObject() runtime.Object
GetGroupName() string
SetGroupName(value string)
GetPowerState() VirtualMachinePowerState
SetPowerState(value VirtualMachinePowerState)
GetConditions() []metav1.Condition
}
VirtualMachineOrGroup is an internal interface that represents a VirtualMachine or VirtualMachineGroup object.
type VirtualMachinePlacementStatus ¶
type VirtualMachinePlacementStatus struct {
// Name is the name of VirtualMachine member of this group.
Name string `json:"name"`
// Zone describes the recommended zone for this VM.
Zone string `json:"zoneID,omitempty"`
// Node describes the recommended node for this VM.
Node string `json:"node,omitempty"`
// Pool describes the recommended resource pool for this VM.
Pool string `json:"pool,omitempty"`
// Datastores describe the recommended datastores for this VM.
Datastores []VirtualMachineGroupPlacementDatastoreStatus `json:"datastores,omitempty"`
}
func (*VirtualMachinePlacementStatus) DeepCopy ¶
func (in *VirtualMachinePlacementStatus) DeepCopy() *VirtualMachinePlacementStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachinePlacementStatus.
func (*VirtualMachinePlacementStatus) DeepCopyInto ¶
func (in *VirtualMachinePlacementStatus) DeepCopyInto(out *VirtualMachinePlacementStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachinePowerOpMode ¶
type VirtualMachinePowerOpMode string
VirtualMachinePowerOpMode represents the various power operation modes when powering off or suspending a VM.
const ( // VirtualMachinePowerOpModeHard indicates to halt a VM when powering it // off or when suspending a VM to not involve the guest. VirtualMachinePowerOpModeHard VirtualMachinePowerOpMode = "Hard" // VirtualMachinePowerOpModeSoft indicates to ask VM Tools running // inside of a VM's guest to shutdown the guest gracefully when powering // off a VM or when suspending a VM to allow the guest to participate. // // If this mode is set on a VM whose guest does not have VM Tools or if // VM Tools is present but the operation fails, the VM may never realize // the desired power state. This can prevent a VM from being deleted as well // as many other unexpected issues. It is recommended to use trySoft // instead. VirtualMachinePowerOpModeSoft VirtualMachinePowerOpMode = "Soft" // VirtualMachinePowerOpModeTrySoft indicates to first attempt a Soft // operation and fall back to Hard if VM Tools is not present in the guest, // if the Soft operation fails, or if the VM is not in the desired power // state within five minutes. VirtualMachinePowerOpModeTrySoft VirtualMachinePowerOpMode = "TrySoft" )
type VirtualMachinePowerState ¶
type VirtualMachinePowerState string
VirtualMachinePowerState defines a VM's desired and observed power states.
const ( // VirtualMachinePowerStateOff indicates to shut down a VM and/or it is // shut down. VirtualMachinePowerStateOff VirtualMachinePowerState = "PoweredOff" // VirtualMachinePowerStateOn indicates to power on a VM and/or it is // powered on. VirtualMachinePowerStateOn VirtualMachinePowerState = "PoweredOn" // VirtualMachinePowerStateSuspended indicates to suspend a VM and/or it is // suspended. VirtualMachinePowerStateSuspended VirtualMachinePowerState = "Suspended" )
type VirtualMachinePromoteDisksMode ¶
type VirtualMachinePromoteDisksMode string
VirtualMachinePromoteDisksMode represents the available modes for promoting child disks to full clones.
const ( VirtualMachinePromoteDisksModeDisabled VirtualMachinePromoteDisksMode = "Disabled" VirtualMachinePromoteDisksModeOnline VirtualMachinePromoteDisksMode = "Online" VirtualMachinePromoteDisksModeOffline VirtualMachinePromoteDisksMode = "Offline" )
type VirtualMachinePublishRequest ¶
type VirtualMachinePublishRequest struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec VirtualMachinePublishRequestSpec `json:"spec,omitempty"`
Status VirtualMachinePublishRequestStatus `json:"status,omitempty"`
}
VirtualMachinePublishRequest defines the information necessary to publish a VirtualMachine as a VirtualMachineImage to an image registry.
func (*VirtualMachinePublishRequest) DeepCopy ¶
func (in *VirtualMachinePublishRequest) DeepCopy() *VirtualMachinePublishRequest
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachinePublishRequest.
func (*VirtualMachinePublishRequest) DeepCopyInto ¶
func (in *VirtualMachinePublishRequest) DeepCopyInto(out *VirtualMachinePublishRequest)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VirtualMachinePublishRequest) DeepCopyObject ¶
func (in *VirtualMachinePublishRequest) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*VirtualMachinePublishRequest) GetConditions ¶
func (vmpub *VirtualMachinePublishRequest) GetConditions() []metav1.Condition
func (*VirtualMachinePublishRequest) Hub ¶
func (*VirtualMachinePublishRequest) Hub()
Hub marks VirtualMachinePublishRequest as a conversion hub.
func (*VirtualMachinePublishRequest) SetConditions ¶
func (vmpub *VirtualMachinePublishRequest) SetConditions(conditions []metav1.Condition)
type VirtualMachinePublishRequestList ¶
type VirtualMachinePublishRequestList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []VirtualMachinePublishRequest `json:"items"`
}
VirtualMachinePublishRequestList contains a list of VirtualMachinePublishRequest resources.
func (*VirtualMachinePublishRequestList) DeepCopy ¶
func (in *VirtualMachinePublishRequestList) DeepCopy() *VirtualMachinePublishRequestList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachinePublishRequestList.
func (*VirtualMachinePublishRequestList) DeepCopyInto ¶
func (in *VirtualMachinePublishRequestList) DeepCopyInto(out *VirtualMachinePublishRequestList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VirtualMachinePublishRequestList) DeepCopyObject ¶
func (in *VirtualMachinePublishRequestList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*VirtualMachinePublishRequestList) Hub ¶
func (*VirtualMachinePublishRequestList) Hub()
Hub marks VirtualMachinePublishRequestList as a conversion hub.
type VirtualMachinePublishRequestSource ¶
type VirtualMachinePublishRequestSource struct {
// Name is the name of the referenced object.
//
// If omitted this value defaults to the name of the
// VirtualMachinePublishRequest resource.
Name string `json:"name,omitempty"`
// APIVersion is the API version of the referenced object.
APIVersion string `json:"apiVersion,omitempty"`
// Kind is the kind of referenced object.
Kind string `json:"kind,omitempty"`
}
VirtualMachinePublishRequestSource is the source of a publication request, typically a VirtualMachine resource.
func (*VirtualMachinePublishRequestSource) DeepCopy ¶
func (in *VirtualMachinePublishRequestSource) DeepCopy() *VirtualMachinePublishRequestSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachinePublishRequestSource.
func (*VirtualMachinePublishRequestSource) DeepCopyInto ¶
func (in *VirtualMachinePublishRequestSource) DeepCopyInto(out *VirtualMachinePublishRequestSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachinePublishRequestSpec ¶
type VirtualMachinePublishRequestSpec struct {
// Source is the source of the publication request, ex. a VirtualMachine
// resource.
//
// If this value is omitted then the publication controller checks to
// see if there is a resource with the same name as this
// VirtualMachinePublishRequest resource, an API version equal to
// spec.source.apiVersion, and a kind equal to spec.source.kind. If such
// a resource exists, then it is the source of the publication.
Source VirtualMachinePublishRequestSource `json:"source,omitempty"`
// Target is the target of the publication request, ex. item
// information and a ContentLibrary resource.
//
// If this value is omitted, the controller uses spec.source.name + "-image"
// as the name of the published item. Additionally, when omitted the
// controller attempts to identify the target location by matching a
// resource with an API version equal to spec.target.location.apiVersion, a
// kind equal to spec.target.location.kind, w/ the label
// "imageregistry.vmware.com/default".
//
// Please note that while optional, if a VirtualMachinePublishRequest sans
// target information is applied to a namespace without a default
// publication target, then the VirtualMachinePublishRequest resource
// will be marked in error.
Target VirtualMachinePublishRequestTarget `json:"target,omitempty"`
// TTLSecondsAfterFinished is the time-to-live duration for how long this
// resource will be allowed to exist once the publication operation
// completes. After the TTL expires, the resource will be automatically
// deleted without the user having to take any direct action.
//
// If this field is unset then the request resource will not be
// automatically deleted. If this field is set to zero then the request
// resource is eligible for deletion immediately after it finishes.
TTLSecondsAfterFinished *int64 `json:"ttlSecondsAfterFinished,omitempty"`
}
VirtualMachinePublishRequestSpec defines the desired state of a VirtualMachinePublishRequest.
All the fields in this spec are optional. This is especially useful when a DevOps persona wants to publish a VM without doing anything more than applying a VirtualMachinePublishRequest resource that has the same name as said VM in the same namespace as said VM.
func (*VirtualMachinePublishRequestSpec) DeepCopy ¶
func (in *VirtualMachinePublishRequestSpec) DeepCopy() *VirtualMachinePublishRequestSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachinePublishRequestSpec.
func (*VirtualMachinePublishRequestSpec) DeepCopyInto ¶
func (in *VirtualMachinePublishRequestSpec) DeepCopyInto(out *VirtualMachinePublishRequestSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachinePublishRequestStatus ¶
type VirtualMachinePublishRequestStatus struct {
// SourceRef is the reference to the source of the publication request,
// ex. a VirtualMachine resource.
SourceRef *VirtualMachinePublishRequestSource `json:"sourceRef,omitempty"`
// TargetRef is the reference to the target of the publication request,
// ex. item information and a ContentLibrary resource.
TargetRef *VirtualMachinePublishRequestTarget `json:"targetRef,omitempty"`
// CompletionTime represents time when the request was completed. It is not
// guaranteed to be set in happens-before order across separate operations.
// It is represented in RFC3339 form and is in UTC.
//
// The value of this field should be equal to the value of the
// LastTransitionTime for the status condition Type=Complete.
CompletionTime metav1.Time `json:"completionTime,omitempty"`
// StartTime represents time when the request was acknowledged by the
// controller. It is not guaranteed to be set in happens-before order
// across separate operations. It is represented in RFC3339 form and is
// in UTC.
StartTime metav1.Time `json:"startTime,omitempty"`
// Attempts represents the number of times the request to publish the VM
// has been attempted.
Attempts int64 `json:"attempts,omitempty"`
// LastAttemptTime represents the time when the latest request was sent.
LastAttemptTime metav1.Time `json:"lastAttemptTime,omitempty"`
// ImageName is the name of the VirtualMachineImage resource that is
// eventually realized in the same namespace as the VM and publication
// request after the publication operation completes.
//
// This field will not be set until the VirtualMachineImage resource
// is realized.
ImageName string `json:"imageName,omitempty"`
// Ready is set to true only when the VM has been published successfully
// and the new VirtualMachineImage resource is ready.
//
// Readiness is determined by waiting until there is status condition
// Type=Complete and ensuring it and all other status conditions present
// have a Status=True. The conditions present will be:
//
// * SourceValid
// * TargetValid
// * Uploaded
// * ImageAvailable
// * Complete
Ready bool `json:"ready,omitempty"`
// Conditions is a list of the latest, available observations of the
// request's current state.
Conditions []metav1.Condition `json:"conditions,omitempty"`
}
VirtualMachinePublishRequestStatus defines the observed state of a VirtualMachinePublishRequest.
func (*VirtualMachinePublishRequestStatus) DeepCopy ¶
func (in *VirtualMachinePublishRequestStatus) DeepCopy() *VirtualMachinePublishRequestStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachinePublishRequestStatus.
func (*VirtualMachinePublishRequestStatus) DeepCopyInto ¶
func (in *VirtualMachinePublishRequestStatus) DeepCopyInto(out *VirtualMachinePublishRequestStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachinePublishRequestTarget ¶
type VirtualMachinePublishRequestTarget struct {
// Item contains information about the name of the object to which
// the VM is published.
//
// Please note this value is optional and if omitted, the controller
// will use spec.source.name + "-image" as the name of the published
// item.
Item VirtualMachinePublishRequestTargetItem `json:"item,omitempty"`
// Location contains information about the location to which to publish
// the VM.
Location VirtualMachinePublishRequestTargetLocation `json:"location,omitempty"`
}
VirtualMachinePublishRequestTarget is the target of a publication request, typically a ContentLibrary resource.
func (*VirtualMachinePublishRequestTarget) DeepCopy ¶
func (in *VirtualMachinePublishRequestTarget) DeepCopy() *VirtualMachinePublishRequestTarget
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachinePublishRequestTarget.
func (*VirtualMachinePublishRequestTarget) DeepCopyInto ¶
func (in *VirtualMachinePublishRequestTarget) DeepCopyInto(out *VirtualMachinePublishRequestTarget)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachinePublishRequestTargetItem ¶
type VirtualMachinePublishRequestTargetItem struct {
// Name is the name of the published object.
//
// If the spec.target.location.apiVersion equals
// imageregistry.vmware.com/v1alpha1 and the spec.target.location.kind
// equals ContentLibrary, then this should be the name that will
// show up in vCenter Content Library, not the custom resource name
// in the namespace.
//
// If omitted then the controller will use spec.source.name + "-image".
Name string `json:"name,omitempty"`
// Description is the description to assign to the published object.
Description string `json:"description,omitempty"`
}
VirtualMachinePublishRequestTargetItem is the item part of a publication request's target.
func (*VirtualMachinePublishRequestTargetItem) DeepCopy ¶
func (in *VirtualMachinePublishRequestTargetItem) DeepCopy() *VirtualMachinePublishRequestTargetItem
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachinePublishRequestTargetItem.
func (*VirtualMachinePublishRequestTargetItem) DeepCopyInto ¶
func (in *VirtualMachinePublishRequestTargetItem) DeepCopyInto(out *VirtualMachinePublishRequestTargetItem)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachinePublishRequestTargetLocation ¶
type VirtualMachinePublishRequestTargetLocation struct {
// Name is the name of the referenced object.
//
// Please note an error will be returned if this field is not
// set in a namespace that lacks a default publication target.
//
// A default publication target is a resource with an API version
// equal to spec.target.location.apiVersion, a kind equal to
// spec.target.location.kind, and has the label
// "imageregistry.vmware.com/default".
Name string `json:"name,omitempty"`
// APIVersion is the API version of the referenced object.
APIVersion string `json:"apiVersion,omitempty"`
// Kind is the kind of referenced object.
Kind string `json:"kind,omitempty"`
}
VirtualMachinePublishRequestTargetLocation is the location part of a publication request's target.
func (*VirtualMachinePublishRequestTargetLocation) DeepCopy ¶
func (in *VirtualMachinePublishRequestTargetLocation) DeepCopy() *VirtualMachinePublishRequestTargetLocation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachinePublishRequestTargetLocation.
func (*VirtualMachinePublishRequestTargetLocation) DeepCopyInto ¶
func (in *VirtualMachinePublishRequestTargetLocation) DeepCopyInto(out *VirtualMachinePublishRequestTargetLocation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineReadinessProbeSpec ¶
type VirtualMachineReadinessProbeSpec struct {
// TCPSocket specifies an action involving a TCP port.
//
// Deprecated: The TCPSocket action requires network connectivity that is not supported in all environments.
// This field will be removed in a later API version.
TCPSocket *TCPSocketAction `json:"tcpSocket,omitempty"`
// GuestHeartbeat specifies an action involving the guest heartbeat status.
GuestHeartbeat *GuestHeartbeatAction `json:"guestHeartbeat,omitempty"`
// GuestInfo specifies an action involving key/value pairs from GuestInfo.
//
// The elements are evaluated with the logical AND operator, meaning
// all expressions must evaluate as true for the probe to succeed.
//
// For example, a VM resource's probe definition could be specified as the
// following:
//
// guestInfo:
// - key: ready
// value: true
//
// With the above configuration in place, the VM would not be considered
// ready until the GuestInfo key "ready" was set to the value "true".
//
// From within the guest operating system it is possible to set GuestInfo
// key/value pairs using the program "vmware-rpctool," which is included
// with VM Tools. For example, the following command will set the key
// "guestinfo.ready" to the value "true":
//
// vmware-rpctool "info-set guestinfo.ready true"
//
// Once executed, the VM's readiness probe will be signaled and the
// VM resource will be marked as ready.
GuestInfo []GuestInfoAction `json:"guestInfo,omitempty"`
// TimeoutSeconds specifies a number of seconds after which the probe times out.
// Defaults to 10 seconds. Minimum value is 1.
TimeoutSeconds int32 `json:"timeoutSeconds,omitempty"`
// PeriodSeconds specifics how often (in seconds) to perform the probe.
// Defaults to 10 seconds. Minimum value is 1.
PeriodSeconds int32 `json:"periodSeconds,omitempty"`
}
VirtualMachineReadinessProbeSpec describes a probe used to determine if a VM is in a ready state. All probe actions are mutually exclusive.
func (*VirtualMachineReadinessProbeSpec) DeepCopy ¶
func (in *VirtualMachineReadinessProbeSpec) DeepCopy() *VirtualMachineReadinessProbeSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineReadinessProbeSpec.
func (*VirtualMachineReadinessProbeSpec) DeepCopyInto ¶
func (in *VirtualMachineReadinessProbeSpec) DeepCopyInto(out *VirtualMachineReadinessProbeSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineReplicaSet ¶
type VirtualMachineReplicaSet struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec VirtualMachineReplicaSetSpec `json:"spec,omitempty"`
Status VirtualMachineReplicaSetStatus `json:"status,omitempty"`
}
VirtualMachineReplicaSet is the schema for the virtualmachinereplicasets API.
func (*VirtualMachineReplicaSet) DeepCopy ¶
func (in *VirtualMachineReplicaSet) DeepCopy() *VirtualMachineReplicaSet
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineReplicaSet.
func (*VirtualMachineReplicaSet) DeepCopyInto ¶
func (in *VirtualMachineReplicaSet) DeepCopyInto(out *VirtualMachineReplicaSet)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VirtualMachineReplicaSet) DeepCopyObject ¶
func (in *VirtualMachineReplicaSet) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*VirtualMachineReplicaSet) GetConditions ¶
func (rs *VirtualMachineReplicaSet) GetConditions() []metav1.Condition
func (*VirtualMachineReplicaSet) SetConditions ¶
func (rs *VirtualMachineReplicaSet) SetConditions(conditions []metav1.Condition)
type VirtualMachineReplicaSetList ¶
type VirtualMachineReplicaSetList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []VirtualMachineReplicaSet `json:"items"`
}
VirtualMachineReplicaSetList contains a list of VirtualMachineReplicaSet.
func (*VirtualMachineReplicaSetList) DeepCopy ¶
func (in *VirtualMachineReplicaSetList) DeepCopy() *VirtualMachineReplicaSetList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineReplicaSetList.
func (*VirtualMachineReplicaSetList) DeepCopyInto ¶
func (in *VirtualMachineReplicaSetList) DeepCopyInto(out *VirtualMachineReplicaSetList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VirtualMachineReplicaSetList) DeepCopyObject ¶
func (in *VirtualMachineReplicaSetList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type VirtualMachineReplicaSetSpec ¶
type VirtualMachineReplicaSetSpec struct {
// +optional
// +kubebuilder:default=1
//
// Replicas is the number of desired replicas.
// This is a pointer to distinguish between explicit zero and unspecified.
// Defaults to 1.
Replicas *int32 `json:"replicas,omitempty"`
// +optional
// +kubebuilder:validation:Enum=Random
//
// DeletePolicy defines the policy used to identify nodes to delete when downscaling.
// Only supported deletion policy is "Random".
DeletePolicy string `json:"deletePolicy,omitempty"`
// +optional
//
// Selector is a label to query over virtual machines that should match the
// replica count. A virtual machine's label keys and values must match in order
// to be controlled by this VirtualMachineReplicaSet.
//
// It must match the VirtualMachine template's labels.
// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors
Selector *metav1.LabelSelector `json:"selector"`
// +optional
//
// Template is the object that describes the virtual machine that will be
// created if insufficient replicas are detected.
Template VirtualMachineTemplateSpec `json:"template,omitempty"`
}
VirtualMachineReplicaSetSpec is the specification of a VirtualMachineReplicaSet.
func (*VirtualMachineReplicaSetSpec) DeepCopy ¶
func (in *VirtualMachineReplicaSetSpec) DeepCopy() *VirtualMachineReplicaSetSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineReplicaSetSpec.
func (*VirtualMachineReplicaSetSpec) DeepCopyInto ¶
func (in *VirtualMachineReplicaSetSpec) DeepCopyInto(out *VirtualMachineReplicaSetSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineReplicaSetStatus ¶
type VirtualMachineReplicaSetStatus struct {
// +optional
//
// Replicas is the most recently observed number of replicas.
Replicas int32 `json:"replicas"`
// +optional
//
// FullyLabeledReplicas is the number of replicas that have labels matching the
// labels of the virtual machine template of the VirtualMachineReplicaSet.
FullyLabeledReplicas int32 `json:"fullyLabeledReplicas,omitempty"`
// +optional
//
// ReadyReplicas is the number of ready replicas for this VirtualMachineReplicaSet. A
// virtual machine is considered ready when it's "Ready" condition is marked as
// true.
ReadyReplicas int32 `json:"readyReplicas,omitempty"`
// +optional
//
// ObservedGeneration reflects the generation of the most recently observed
// VirtualMachineReplicaSet.
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
// +optional
//
// Conditions represents the latest available observations of a
// VirtualMachineReplicaSet's current state.
Conditions []metav1.Condition `json:"conditions,omitempty"`
}
VirtualMachineReplicaSetStatus represents the observed state of a VirtualMachineReplicaSet resource.
func (*VirtualMachineReplicaSetStatus) DeepCopy ¶
func (in *VirtualMachineReplicaSetStatus) DeepCopy() *VirtualMachineReplicaSetStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineReplicaSetStatus.
func (*VirtualMachineReplicaSetStatus) DeepCopyInto ¶
func (in *VirtualMachineReplicaSetStatus) DeepCopyInto(out *VirtualMachineReplicaSetStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineReservedSpec ¶
type VirtualMachineReservedSpec struct {
ResourcePolicyName string `json:"resourcePolicyName,omitempty"`
}
VirtualMachineReservedSpec describes a set of VM configuration options reserved for system use. Modification attempts by DevOps users will result in a validation error.
func (*VirtualMachineReservedSpec) DeepCopy ¶
func (in *VirtualMachineReservedSpec) DeepCopy() *VirtualMachineReservedSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineReservedSpec.
func (*VirtualMachineReservedSpec) DeepCopyInto ¶
func (in *VirtualMachineReservedSpec) DeepCopyInto(out *VirtualMachineReservedSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineResourceSpec ¶
type VirtualMachineResourceSpec struct {
// +optional
Cpu resource.Quantity `json:"cpu,omitempty"` //nolint:revive
// +optional
Memory resource.Quantity `json:"memory,omitempty"`
}
VirtualMachineResourceSpec describes a virtual hardware policy specification.
func (*VirtualMachineResourceSpec) DeepCopy ¶
func (in *VirtualMachineResourceSpec) DeepCopy() *VirtualMachineResourceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineResourceSpec.
func (*VirtualMachineResourceSpec) DeepCopyInto ¶
func (in *VirtualMachineResourceSpec) DeepCopyInto(out *VirtualMachineResourceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineService ¶
type VirtualMachineService struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec VirtualMachineServiceSpec `json:"spec,omitempty"`
Status VirtualMachineServiceStatus `json:"status,omitempty"`
}
VirtualMachineService is the Schema for the virtualmachineservices API.
func (*VirtualMachineService) DeepCopy ¶
func (in *VirtualMachineService) DeepCopy() *VirtualMachineService
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineService.
func (*VirtualMachineService) DeepCopyInto ¶
func (in *VirtualMachineService) DeepCopyInto(out *VirtualMachineService)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VirtualMachineService) DeepCopyObject ¶
func (in *VirtualMachineService) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*VirtualMachineService) Hub ¶
func (*VirtualMachineService) Hub()
Hub marks VirtualMachineService as a conversion hub.
func (*VirtualMachineService) NamespacedName ¶
func (s *VirtualMachineService) NamespacedName() string
type VirtualMachineServiceList ¶
type VirtualMachineServiceList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []VirtualMachineService `json:"items"`
}
VirtualMachineServiceList contains a list of VirtualMachineService.
func (*VirtualMachineServiceList) DeepCopy ¶
func (in *VirtualMachineServiceList) DeepCopy() *VirtualMachineServiceList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineServiceList.
func (*VirtualMachineServiceList) DeepCopyInto ¶
func (in *VirtualMachineServiceList) DeepCopyInto(out *VirtualMachineServiceList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VirtualMachineServiceList) DeepCopyObject ¶
func (in *VirtualMachineServiceList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*VirtualMachineServiceList) Hub ¶
func (*VirtualMachineServiceList) Hub()
Hub marks VirtualMachineServiceList as a conversion hub.
type VirtualMachineServicePort ¶
type VirtualMachineServicePort struct {
// Name describes the name to be used to identify this
// VirtualMachineServicePort.
Name string `json:"name"`
// Protocol describes the Layer 4 transport protocol for this port.
// Supports "TCP", "UDP", and "SCTP".
Protocol string `json:"protocol"`
// Port describes the external port that will be exposed by the service.
Port int32 `json:"port"`
// TargetPort describes the internal port open on a VirtualMachine that
// should be mapped to the external Port.
TargetPort int32 `json:"targetPort"`
}
VirtualMachineServicePort describes the specification of a service port to be exposed by a VirtualMachineService. This VirtualMachineServicePort specification includes attributes that define the external and internal representation of the service port.
func (*VirtualMachineServicePort) DeepCopy ¶
func (in *VirtualMachineServicePort) DeepCopy() *VirtualMachineServicePort
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineServicePort.
func (*VirtualMachineServicePort) DeepCopyInto ¶
func (in *VirtualMachineServicePort) DeepCopyInto(out *VirtualMachineServicePort)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineServiceSpec ¶
type VirtualMachineServiceSpec struct {
// Type specifies a desired VirtualMachineServiceType for this
// VirtualMachineService. Supported types are ClusterIP, LoadBalancer,
// ExternalName.
Type VirtualMachineServiceType `json:"type"`
// Ports specifies a list of VirtualMachineServicePort to expose with this
// VirtualMachineService. Each of these ports will be an accessible network
// entry point to access this service by.
Ports []VirtualMachineServicePort `json:"ports,omitempty"`
// Selector specifies a map of key-value pairs, also known as a Label
// Selector, that is used to match this VirtualMachineService with the set
// of VirtualMachines that should back this VirtualMachineService.
Selector map[string]string `json:"selector,omitempty"`
// LoadBalancer will get created with the IP specified in this field.
// Only applies to VirtualMachineService Type: LoadBalancer
// This feature depends on whether the underlying load balancer provider
// supports specifying the loadBalancerIP when a load balancer is created.
// This field will be ignored if the provider does not support the feature.
// Deprecated: This field was under-specified and its meaning varies across implementations.
// Using it is non-portable and it may not support dual-stack.
// Users are encouraged to use implementation-specific annotations when available.
LoadBalancerIP string `json:"loadBalancerIP,omitempty"`
// LoadBalancerSourceRanges is an array of IP addresses in the format of
// CIDRs, for example: 103.21.244.0/22 and 10.0.0.0/24.
// If specified and supported by the load balancer provider, this will
// restrict ingress traffic to the specified client IPs. This field will be
// ignored if the provider does not support the feature.
LoadBalancerSourceRanges []string `json:"loadBalancerSourceRanges,omitempty"`
// ClusterIP is the IP address of the service and is usually assigned
// randomly by the master. If an address is specified manually and is not in
// use by others, it will be allocated to the service; otherwise, creation
// of the service will fail. This field can not be changed through updates.
// Valid values are "None", empty string (""), or a valid IP address. "None"
// can be specified for headless services when proxying is not required.
// Only applies to types ClusterIP and LoadBalancer.
// Ignored if type is ExternalName.
// More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
ClusterIP string `json:"clusterIp,omitempty"`
// ExternalName is the external reference that kubedns or equivalent will
// return as a CNAME record for this service. No proxying will be involved.
// Must be a valid RFC-1123 hostname (https://tools.ietf.org/html/rfc1123)
// and requires Type to be ExternalName.
ExternalName string `json:"externalName,omitempty"`
}
VirtualMachineServiceSpec defines the desired state of VirtualMachineService.
func (*VirtualMachineServiceSpec) DeepCopy ¶
func (in *VirtualMachineServiceSpec) DeepCopy() *VirtualMachineServiceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineServiceSpec.
func (*VirtualMachineServiceSpec) DeepCopyInto ¶
func (in *VirtualMachineServiceSpec) DeepCopyInto(out *VirtualMachineServiceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineServiceStatus ¶
type VirtualMachineServiceStatus struct {
// LoadBalancer contains the current status of the load balancer,
// if one is present.
LoadBalancer LoadBalancerStatus `json:"loadBalancer,omitempty"`
}
VirtualMachineServiceStatus defines the observed state of VirtualMachineService.
func (*VirtualMachineServiceStatus) DeepCopy ¶
func (in *VirtualMachineServiceStatus) DeepCopy() *VirtualMachineServiceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineServiceStatus.
func (*VirtualMachineServiceStatus) DeepCopyInto ¶
func (in *VirtualMachineServiceStatus) DeepCopyInto(out *VirtualMachineServiceStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineServiceType ¶
type VirtualMachineServiceType string
VirtualMachineServiceType string describes ingress methods for a service.
const ( // VirtualMachineServiceTypeClusterIP means a service will only be // accessible inside the cluster, via the cluster IP. VirtualMachineServiceTypeClusterIP VirtualMachineServiceType = "ClusterIP" // VirtualMachineServiceTypeLoadBalancer means a service will be exposed via // an external load balancer (if the cloud provider supports it), in // addition to 'NodePort' type. VirtualMachineServiceTypeLoadBalancer VirtualMachineServiceType = "LoadBalancer" // VirtualMachineServiceTypeExternalName means a service consists of only a // reference to an external name that kubedns or equivalent will return as a // CNAME record, with no exposing or proxying of any VirtualMachines // involved. VirtualMachineServiceTypeExternalName VirtualMachineServiceType = "ExternalName" )
These types correspond to a subset of the core Service Types.
type VirtualMachineSetResourcePolicy ¶
type VirtualMachineSetResourcePolicy struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec VirtualMachineSetResourcePolicySpec `json:"spec,omitempty"`
Status VirtualMachineSetResourcePolicyStatus `json:"status,omitempty"`
}
VirtualMachineSetResourcePolicy is the Schema for the virtualmachinesetresourcepolicies API.
func (*VirtualMachineSetResourcePolicy) DeepCopy ¶
func (in *VirtualMachineSetResourcePolicy) DeepCopy() *VirtualMachineSetResourcePolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineSetResourcePolicy.
func (*VirtualMachineSetResourcePolicy) DeepCopyInto ¶
func (in *VirtualMachineSetResourcePolicy) DeepCopyInto(out *VirtualMachineSetResourcePolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VirtualMachineSetResourcePolicy) DeepCopyObject ¶
func (in *VirtualMachineSetResourcePolicy) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*VirtualMachineSetResourcePolicy) Hub ¶
func (*VirtualMachineSetResourcePolicy) Hub()
Hub marks VirtualMachineSetResourcePolicy as a conversion hub.
func (*VirtualMachineSetResourcePolicy) NamespacedName ¶
func (p *VirtualMachineSetResourcePolicy) NamespacedName() string
type VirtualMachineSetResourcePolicyList ¶
type VirtualMachineSetResourcePolicyList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []VirtualMachineSetResourcePolicy `json:"items"`
}
VirtualMachineSetResourcePolicyList contains a list of VirtualMachineSetResourcePolicy.
func (*VirtualMachineSetResourcePolicyList) DeepCopy ¶
func (in *VirtualMachineSetResourcePolicyList) DeepCopy() *VirtualMachineSetResourcePolicyList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineSetResourcePolicyList.
func (*VirtualMachineSetResourcePolicyList) DeepCopyInto ¶
func (in *VirtualMachineSetResourcePolicyList) DeepCopyInto(out *VirtualMachineSetResourcePolicyList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VirtualMachineSetResourcePolicyList) DeepCopyObject ¶
func (in *VirtualMachineSetResourcePolicyList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*VirtualMachineSetResourcePolicyList) Hub ¶
func (*VirtualMachineSetResourcePolicyList) Hub()
Hub marks VirtualMachineSetResourcePolicy as a conversion hub.
type VirtualMachineSetResourcePolicySpec ¶
type VirtualMachineSetResourcePolicySpec struct {
ResourcePool ResourcePoolSpec `json:"resourcePool,omitempty"`
Folder string `json:"folder,omitempty"`
ClusterModuleGroups []string `json:"clusterModuleGroups,omitempty"`
}
VirtualMachineSetResourcePolicySpec defines the desired state of VirtualMachineSetResourcePolicy.
func (*VirtualMachineSetResourcePolicySpec) DeepCopy ¶
func (in *VirtualMachineSetResourcePolicySpec) DeepCopy() *VirtualMachineSetResourcePolicySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineSetResourcePolicySpec.
func (*VirtualMachineSetResourcePolicySpec) DeepCopyInto ¶
func (in *VirtualMachineSetResourcePolicySpec) DeepCopyInto(out *VirtualMachineSetResourcePolicySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineSetResourcePolicyStatus ¶
type VirtualMachineSetResourcePolicyStatus struct {
ResourcePools []ResourcePoolStatus `json:"resourcePools,omitempty"`
ClusterModules []VSphereClusterModuleStatus `json:"clustermodules,omitempty"`
}
VirtualMachineSetResourcePolicyStatus defines the observed state of VirtualMachineSetResourcePolicy.
func (*VirtualMachineSetResourcePolicyStatus) DeepCopy ¶
func (in *VirtualMachineSetResourcePolicyStatus) DeepCopy() *VirtualMachineSetResourcePolicyStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineSetResourcePolicyStatus.
func (*VirtualMachineSetResourcePolicyStatus) DeepCopyInto ¶
func (in *VirtualMachineSetResourcePolicyStatus) DeepCopyInto(out *VirtualMachineSetResourcePolicyStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineSnapshot ¶
type VirtualMachineSnapshot struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec VirtualMachineSnapshotSpec `json:"spec,omitempty"`
Status VirtualMachineSnapshotStatus `json:"status,omitempty"`
}
VirtualMachineSnapshot is the schema for the virtualmachinesnapshot API.
func (*VirtualMachineSnapshot) DeepCopy ¶
func (in *VirtualMachineSnapshot) DeepCopy() *VirtualMachineSnapshot
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineSnapshot.
func (*VirtualMachineSnapshot) DeepCopyInto ¶
func (in *VirtualMachineSnapshot) DeepCopyInto(out *VirtualMachineSnapshot)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VirtualMachineSnapshot) DeepCopyObject ¶
func (in *VirtualMachineSnapshot) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*VirtualMachineSnapshot) GetConditions ¶
func (vmSnapshot *VirtualMachineSnapshot) GetConditions() []metav1.Condition
func (*VirtualMachineSnapshot) NamespacedName ¶
func (vmSnapshot *VirtualMachineSnapshot) NamespacedName() string
func (*VirtualMachineSnapshot) SetConditions ¶
func (vmSnapshot *VirtualMachineSnapshot) SetConditions(conditions []metav1.Condition)
type VirtualMachineSnapshotList ¶
type VirtualMachineSnapshotList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []VirtualMachineSnapshot `json:"items"`
}
VirtualMachineSnapshotList contains a list of VirtualMachineSnapshot.
func (*VirtualMachineSnapshotList) DeepCopy ¶
func (in *VirtualMachineSnapshotList) DeepCopy() *VirtualMachineSnapshotList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineSnapshotList.
func (*VirtualMachineSnapshotList) DeepCopyInto ¶
func (in *VirtualMachineSnapshotList) DeepCopyInto(out *VirtualMachineSnapshotList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VirtualMachineSnapshotList) DeepCopyObject ¶
func (in *VirtualMachineSnapshotList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type VirtualMachineSnapshotSpec ¶
type VirtualMachineSnapshotSpec struct {
// Memory represents whether the snapshot includes the VM's
// memory. If true, a dump of the internal state of the virtual
// machine (a memory dump) is included in the snapshot. Memory
// snapshots consume time and resources and thus, take longer to
// create.
// The virtual machine must support this capability.
// When set to false, the power state of the snapshot is set to
// false.
// For a VM in suspended state, memory is always included
// in the snashot.
Memory bool `json:"memory,omitempty"`
// Quiesce represents the spec used for granular control over
// quiesce details. If quiesceSpec is set and the virtual machine
// is powered on when the snapshot is taken, VMware Tools is used
// to quiesce the file system in the virtual machine. This assures
// that a disk snapshot represents a consistent state of the guest
// file systems. If the virtual machine is powered off or VMware
// Tools are not available, the quiesce spec is ignored.
Quiesce *QuiesceSpec `json:"quiesce,omitempty"`
// Description represents a description of the snapshot.
Description string `json:"description,omitempty"`
// VMRef represents the name of the virtual machine for which the
// snapshot is requested.
VMRef *vmopv1common.LocalObjectRef `json:"vmRef,omitempty"`
}
VirtualMachineSnapshotSpec defines the desired state of VirtualMachineSnapshot.
func (*VirtualMachineSnapshotSpec) DeepCopy ¶
func (in *VirtualMachineSnapshotSpec) DeepCopy() *VirtualMachineSnapshotSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineSnapshotSpec.
func (*VirtualMachineSnapshotSpec) DeepCopyInto ¶
func (in *VirtualMachineSnapshotSpec) DeepCopyInto(out *VirtualMachineSnapshotSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineSnapshotStatus ¶
type VirtualMachineSnapshotStatus struct {
// PowerState represents the observed power state of the virtual
// machine when the snapshot was taken.
PowerState VirtualMachinePowerState `json:"powerState,omitempty"`
// Quiesced represents whether or not the snapshot was created
// with the quiesce option to ensure a snapshot with a consistent
// state of the guest file system.
Quiesced bool `json:"quiesced,omitempty"`
// UniqueID describes a unique identifier provider by the backing
// infrastructure (e.g., vSphere) that can be used to distinguish
// this snapshot from other snapshots of this virtual machine.
UniqueID string `json:"uniqueID,omitempty"`
// Children represents the snapshots for which this snapshot is
// the parent.
Children []vmopv1common.LocalObjectRef `json:"children,omitempty"`
// Conditions describes the observed conditions of the VirtualMachine.
Conditions []metav1.Condition `json:"conditions,omitempty"`
}
VirtualMachineSnapshotStatus defines the observed state of VirtualMachineSnapshot.
func (*VirtualMachineSnapshotStatus) DeepCopy ¶
func (in *VirtualMachineSnapshotStatus) DeepCopy() *VirtualMachineSnapshotStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineSnapshotStatus.
func (*VirtualMachineSnapshotStatus) DeepCopyInto ¶
func (in *VirtualMachineSnapshotStatus) DeepCopyInto(out *VirtualMachineSnapshotStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineSpec ¶
type VirtualMachineSpec struct {
// Cdrom describes the desired state of the VM's CD-ROM devices.
//
// Each CD-ROM device requires a reference to an ISO-type
// VirtualMachineImage or ClusterVirtualMachineImage resource as backing.
//
// Multiple CD-ROM devices using the same backing image, regardless of image
// kinds (namespace or cluster scope), are not allowed.
//
// CD-ROM devices can be added, updated, or removed when the VM is powered
// off. When the VM is powered on, only the connection state of existing
// CD-ROM devices can be changed.
// CD-ROM devices are attached to the VM in the specified list-order.
Cdrom []VirtualMachineCdromSpec `json:"cdrom,omitempty"`
// Image describes the reference to the VirtualMachineImage or
// ClusterVirtualMachineImage resource used to deploy this VM.
//
// Please note, unlike the field spec.imageName, the value of
// spec.image.name MUST be a Kubernetes object name.
//
// Please also note, when creating a new VirtualMachine, if this field and
// spec.imageName are both non-empty, then they must refer to the same
// resource or an error is returned.
//
// Please note, this field *may* be empty if the VM was imported instead of
// deployed by VM Operator. An imported VirtualMachine resource references
// an existing VM on the underlying platform that was not deployed from a
// VM image.
Image *VirtualMachineImageRef `json:"image,omitempty"`
// ImageName describes the name of the image resource used to deploy this
// VM.
//
// This field may be used to specify the name of a VirtualMachineImage
// or ClusterVirtualMachineImage resource. The resolver first checks to see
// if there is a VirtualMachineImage with the specified name in the
// same namespace as the VM being deployed. If no such resource exists, the
// resolver then checks to see if there is a ClusterVirtualMachineImage
// resource with the specified name.
//
// This field may also be used to specify the display name (vSphere name) of
// a VirtualMachineImage or ClusterVirtualMachineImage resource. If the
// display name unambiguously resolves to a distinct VM image (among all
// existing VirtualMachineImages in the VM's namespace and all existing
// ClusterVirtualMachineImages), then a mutation webhook updates the
// spec.image field with the reference to the resolved VM image. If the
// display name resolves to multiple or no VM images, then the mutation
// webhook denies the request and returns an error.
//
// Please also note, when creating a new VirtualMachine, if this field and
// spec.image are both non-empty, then they must refer to the same
// resource or an error is returned.
//
// Please note, this field *may* be empty if the VM was imported instead of
// deployed by VM Operator. An imported VirtualMachine resource references
// an existing VM on the underlying platform that was not deployed from a
// VM image.
ImageName string `json:"imageName,omitempty"`
// ClassName describes the name of the VirtualMachineClass resource used to
// deploy this VM.
//
// When creating a virtual machine, if this field is empty and a
// VirtualMachineClassInstance is specified in spec.class, then
// this field is populated with the VirtualMachineClass object's
// name.
//
// Please also note, when creating a new VirtualMachine, if this field and
// spec.class are both non-empty, then they must refer to the same
// VirtualMachineClass or an error is returned.
//
// Please note, this field *may* be empty if the VM was imported instead of
// deployed by VM Operator. An imported VirtualMachine resource references
// an existing VM on the underlying platform that was not deployed from a
// VM class.
//
// If a VM is using a class, a different value in spec.className
// leads to the VM being resized.
ClassName string `json:"className,omitempty"`
// Class describes the VirtualMachineClassInsance resource that is
// referenced by this virtual machine. This can be the
// VirtualMachineClassInstance that the virtual machine was
// created, or later resized with.
//
// The value of spec.class.Name must be the Kubernetes object name
// of a valid VirtualMachineClassInstance resource.
//
// Please also note, if this field and spec.className are both
// non-empty, then they must refer to the same VirtualMachineClass
// or an error is returned.
//
// If a className is specified, but this field is omitted, VM operator
// picks the latest instance for the VM class to create the VM.
//
// If a VM class has been modified and thus, the newly available
// VirtualMachineClassInstance can be specified in spec.class to
// trigger a resize operation.
Class *vmopv1common.LocalObjectRef `json:"class,omitempty"`
// Affinity describes the VM's scheduling constraints.
Affinity *VirtualMachineAffinitySpec `json:"affinity,omitempty"`
// Crypto describes the desired encryption state of the VirtualMachine.
Crypto *VirtualMachineCryptoSpec `json:"crypto,omitempty"`
// StorageClass describes the name of a Kubernetes StorageClass resource
// used to configure this VM's storage-related attributes.
//
// Please see https://kubernetes.io/docs/concepts/storage/storage-classes/
// for more information on Kubernetes storage classes.
StorageClass string `json:"storageClass,omitempty"`
// Bootstrap describes the desired state of the guest's bootstrap
// configuration.
//
// If omitted, a default bootstrap method may be selected based on the
// guest OS identifier. If Linux, then the LinuxPrep method is used.
Bootstrap *VirtualMachineBootstrapSpec `json:"bootstrap,omitempty"`
// Network describes the desired network configuration for the VM.
//
// Please note this value may be omitted entirely and the VM will be
// assigned a single, virtual network interface that is connected to the
// Namespace's default network.
Network *VirtualMachineNetworkSpec `json:"network,omitempty"`
// PowerState describes the desired power state of a VirtualMachine.
//
// Please note this field may be omitted when creating a new VM and will
// default to "PoweredOn." However, once the field is set to a non-empty
// value, it may no longer be set to an empty value.
//
// Additionally, setting this value to "Suspended" is not supported when
// creating a new VM. The valid values when creating a new VM are
// "PoweredOn" and "PoweredOff." An empty value is also allowed on create
// since this value defaults to "PoweredOn" for new VMs.
PowerState VirtualMachinePowerState `json:"powerState,omitempty"`
// PowerOffMode describes the desired behavior when powering off a VM.
//
// There are three, supported power off modes: Hard, Soft, and
// TrySoft. The first mode, Hard, is the equivalent of a physical
// system's power cord being ripped from the wall. The Soft mode
// requires the VM's guest to have VM Tools installed and attempts to
// gracefully shutdown the VM. Its variant, TrySoft, first attempts
// a graceful shutdown, and if that fails or the VM is not in a powered off
// state after five minutes, the VM is halted.
//
// If omitted, the mode defaults to TrySoft.
PowerOffMode VirtualMachinePowerOpMode `json:"powerOffMode,omitempty"`
// SuspendMode describes the desired behavior when suspending a VM.
//
// There are three, supported suspend modes: Hard, Soft, and
// TrySoft. The first mode, Hard, is where vSphere suspends the VM to
// disk without any interaction inside of the guest. The Soft mode
// requires the VM's guest to have VM Tools installed and attempts to
// gracefully suspend the VM. Its variant, TrySoft, first attempts
// a graceful suspend, and if that fails or the VM is not in a put into
// standby by the guest after five minutes, the VM is suspended.
//
// If omitted, the mode defaults to TrySoft.
SuspendMode VirtualMachinePowerOpMode `json:"suspendMode,omitempty"`
// NextRestartTime may be used to restart the VM, in accordance with
// RestartMode, by setting the value of this field to "now"
// (case-insensitive).
//
// A mutating webhook changes this value to the current time (UTC), which
// the VM controller then uses to determine the VM should be restarted by
// comparing the value to the timestamp of the last time the VM was
// restarted.
//
// Please note it is not possible to schedule future restarts using this
// field. The only value that users may set is the string "now"
// (case-insensitive).
NextRestartTime string `json:"nextRestartTime,omitempty"`
// RestartMode describes the desired behavior for restarting a VM when
// spec.nextRestartTime is set to "now" (case-insensitive).
//
// There are three, supported suspend modes: Hard, Soft, and
// TrySoft. The first mode, Hard, is where vSphere resets the VM without any
// interaction inside of the guest. The Soft mode requires the VM's guest to
// have VM Tools installed and asks the guest to restart the VM. Its
// variant, TrySoft, first attempts a soft restart, and if that fails or
// does not complete within five minutes, the VM is hard reset.
//
// If omitted, the mode defaults to TrySoft.
RestartMode VirtualMachinePowerOpMode `json:"restartMode,omitempty"`
// Volumes describes a list of volumes that can be mounted to the VM.
Volumes []VirtualMachineVolume `json:"volumes,omitempty"`
// ReadinessProbe describes a probe used to determine the VM's ready state.
ReadinessProbe *VirtualMachineReadinessProbeSpec `json:"readinessProbe,omitempty"`
// Advanced describes a set of optional, advanced VM configuration options.
Advanced *VirtualMachineAdvancedSpec `json:"advanced,omitempty"`
// Reserved describes a set of VM configuration options reserved for system
// use.
//
// Please note attempts to modify the value of this field by a DevOps user
// will result in a validation error.
Reserved *VirtualMachineReservedSpec `json:"reserved,omitempty"`
// MinHardwareVersion describes the desired, minimum hardware version.
//
// The logic that determines the hardware version is as follows:
//
// 1. If this field is set, then its value is used.
// 2. Otherwise, if the VirtualMachineClass used to deploy the VM contains a
// non-empty hardware version, then it is used.
// 3. Finally, if the hardware version is still undetermined, the value is
// set to the default hardware version for the Datacenter/Cluster/Host
// where the VM is provisioned.
//
// This field is never updated to reflect the derived hardware version.
// Instead, VirtualMachineStatus.HardwareVersion surfaces
// the observed hardware version.
//
// Please note, setting this field's value to N ensures a VM's hardware
// version is equal to or greater than N. For example, if a VM's observed
// hardware version is 10 and this field's value is 13, then the VM will be
// upgraded to hardware version 13. However, if the observed hardware
// version is 17 and this field's value is 13, no change will occur.
//
// Several features are hardware version dependent, for example:
//
// * NVMe Controllers >= 14
// * Dynamic Direct Path I/O devices >= 17
//
// Please refer to https://kb.vmware.com/s/article/1003746 for a list of VM
// hardware versions.
//
// It is important to remember that a VM's hardware version may not be
// downgraded and upgrading a VM deployed from an image based on an older
// hardware version to a more recent one may result in unpredictable
// behavior. In other words, please be careful when choosing to upgrade a
// VM to a newer hardware version.
MinHardwareVersion int32 `json:"minHardwareVersion,omitempty"`
// InstanceUUID describes the desired Instance UUID for a VM.
// If omitted, this field defaults to a random UUID.
// This value is only used for the VM Instance UUID,
// it is not used within cloudInit.
// This identifier is used by VirtualCenter to uniquely identify all
// virtual machine instances, including those that may share the same BIOS UUID.
InstanceUUID string `json:"instanceUUID,omitempty"`
// BiosUUID describes the desired BIOS UUID for a VM.
// If omitted, this field defaults to a random UUID.
// When the bootstrap provider is Cloud-Init, this value is used as the
// default value for spec.bootstrap.cloudInit.instanceID if it is omitted.
BiosUUID string `json:"biosUUID,omitempty"`
// GuestID describes the desired guest operating system identifier for a VM.
//
// The logic that determines the guest ID is as follows:
//
// If this field is set, then its value is used.
// Otherwise, if the VM is deployed from an OVF template that defines a
// guest ID, then that value is used.
// The guest ID from VirtualMachineClass used to deploy the VM is ignored.
//
// For a complete list of supported values, please refer to
// https://developer.broadcom.com/xapis/vsphere-web-services-api/latest/vim.vm.GuestOsDescriptor.GuestOsIdentifier.html.
//
// Please note that some guest ID values may require a minimal hardware
// version, which can be set using the `spec.minHardwareVersion` field.
// To see the mapping between virtual hardware versions and the product
// versions that support a specific guest ID, please refer to
// https://knowledge.broadcom.com/external/article/315655/virtual-machine-hardware-versions.html.
//
// Please note that this field is immutable after the VM is powered on.
// To change the guest ID after the VM is powered on, the VM must be powered
// off and then powered on again with the updated guest ID spec.
//
// This field is required when the VM has any CD-ROM devices attached.
GuestID string `json:"guestID,omitempty"`
// PromoteDisksMode describes the mode used to promote a VM's delta disks to
// full disks. The available modes are:
//
// - Disabled -- Do not promote disks.
// - Online -- Promote disks while the VM is powered on. VMs with
// snapshots do not support online promotion.
// - Offline -- Promote disks while the VM is powered off.
//
// Please note, this field is ignored for encrypted VMs since they do not
// use delta disks.
//
// Defaults to Online.
PromoteDisksMode VirtualMachinePromoteDisksMode `json:"promoteDisksMode,omitempty"`
// BootOptions describes the settings that control the boot behavior of the
// virtual machine. These settings take effect during the next power-on of the
// virtual machine.
BootOptions *VirtualMachineBootOptions `json:"bootOptions,omitempty"`
// CurrentSnapshot represents the desired snapshot that the
// virtual machine should point to. This field can have three
// possible values:
//
// - The value of this field is nil when the working snapshot is at
// the root of the snapshot tree.
//
// - When a new snapshot is requested by creating a new
// VirtualMachineSnapshot, the value of this field is set to the
// new snapshot resource's name.
//
// - If the value of this field is set to an existing snapshot that
// is different from the status.currentSnapshot, the virtual machine is
// reverted to the requested snapshot.
//
// Reverting a virtual machine to a snapshot rolls back the data
// and the configuration of the virtual machine to that of the
// specified snapshot. The VirtualMachineSpec of the
// VirtualMachine resource is replaced from the one stored with
// the snapshot.
//
// If the virtual machine is currently powered off, but you revert to
// a snapshot that was taken while the VM was powered on, then the
// VM will be automatically powered on during the revert.
// Additionally, the VirtualMachineSpec will be updated to match
// the power state from the snapshot (i.e., powered on). This can
// be overridden by specifying the PowerState to PoweredOff in the
// VirtualMachineSpec.
CurrentSnapshot *vmopv1common.LocalObjectRef `json:"currentSnapshot,omitempty"`
// GroupName indicates the name of the VirtualMachineGroup to which this
// VM belongs.
//
// VMs that belong to a group do not drive their own placement, rather that
// is handled by the group.
GroupName string `json:"groupName,omitempty"`
}
VirtualMachineSpec defines the desired state of a VirtualMachine.
func (*VirtualMachineSpec) DeepCopy ¶
func (in *VirtualMachineSpec) DeepCopy() *VirtualMachineSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineSpec.
func (*VirtualMachineSpec) DeepCopyInto ¶
func (in *VirtualMachineSpec) DeepCopyInto(out *VirtualMachineSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineStatus ¶
type VirtualMachineStatus struct {
// Class is a reference to the VirtualMachineClass resource used to deploy
// this VM.
Class *vmopv1common.LocalObjectRef `json:"class,omitempty"`
// NodeName describes the observed name of the node where the VirtualMachine
// is scheduled.
NodeName string `json:"nodeName,omitempty"`
// PowerState describes the observed power state of the VirtualMachine.
PowerState VirtualMachinePowerState `json:"powerState,omitempty"`
// Conditions describes the observed conditions of the VirtualMachine.
Conditions []metav1.Condition `json:"conditions,omitempty"`
// Crypto describes the observed state of the VirtualMachine's encryption
// configuration.
Crypto *VirtualMachineCryptoStatus `json:"crypto,omitempty"`
// Network describes the observed state of the VM's network configuration.
// Please note much of the network status information is only available if
// the guest has VM Tools installed.
Network *VirtualMachineNetworkStatus `json:"network,omitempty"`
// UniqueID describes a unique identifier that is provided by the underlying
// infrastructure provider, such as vSphere.
UniqueID string `json:"uniqueID,omitempty"`
// BiosUUID describes a unique identifier provided by the underlying
// infrastructure provider that is exposed to the Guest OS BIOS as a unique
// hardware identifier.
BiosUUID string `json:"biosUUID,omitempty"`
// InstanceUUID describes the unique instance UUID provided by the
// underlying infrastructure provider, such as vSphere.
InstanceUUID string `json:"instanceUUID,omitempty"`
// Volumes describes the observed state of the volumes that are intended to
// be attached to the VirtualMachine.
Volumes []VirtualMachineVolumeStatus `json:"volumes,omitempty"`
// ChangeBlockTracking describes whether or not change block tracking is
// enabled for the VirtualMachine.
ChangeBlockTracking *bool `json:"changeBlockTracking,omitempty"`
// Zone describes the availability zone where the VirtualMachine has been
// scheduled.
//
// Please note this field may be empty when the cluster is not zone-aware.
Zone string `json:"zone,omitempty"`
// LastRestartTime describes the last time the VM was restarted.
LastRestartTime *metav1.Time `json:"lastRestartTime,omitempty"`
// HardwareVersion describes the VirtualMachine resource's observed
// hardware version.
//
// Please refer to VirtualMachineSpec.MinHardwareVersion for more
// information on the topic of a VM's hardware version.
HardwareVersion int32 `json:"hardwareVersion,omitempty"`
// Storage describes the observed state of the VirtualMachine's storage.
Storage *VirtualMachineStorageStatus `json:"storage,omitempty"`
// TaskID describes the observed ID of the task created by VM Operator to
// perform some long-running operation on the VM.
TaskID string `json:"taskID,omitempty"`
// CurrentSnapshot describes the observed working snapshot of the VirtualMachine.
CurrentSnapshot *vmopv1common.LocalObjectRef `json:"currentSnapshot,omitempty"`
// RootSnapshots represents the observed list of root snapshots of
// a VM. Since each snapshot includes the list of its child
// snapshots, these root snapshot references can effectively be
// used to construct the entire snapshot chain of a virtual
// machine.
RootSnapshots []vmopv1common.LocalObjectRef `json:"rootSnapshots,omitempty"`
}
VirtualMachineStatus defines the observed state of a VirtualMachine instance.
func (*VirtualMachineStatus) DeepCopy ¶
func (in *VirtualMachineStatus) DeepCopy() *VirtualMachineStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineStatus.
func (*VirtualMachineStatus) DeepCopyInto ¶
func (in *VirtualMachineStatus) DeepCopyInto(out *VirtualMachineStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineStorageStatus ¶
type VirtualMachineStorageStatus struct {
// Total describes the total storage space used by a VirtualMachine that
// counts against the Namespace's storage quota.
// This value is a sum of requested.disks + used.other.
Total *resource.Quantity `json:"total,omitempty"`
// Requested describes the observed amount of storage requested by a
// VirtualMachine.
Requested *VirtualMachineStorageStatusRequested `json:"requested,omitempty"`
// Used describes the observed amount of storage used by a VirtualMachine.
Used *VirtualMachineStorageStatusUsed `json:"usage,omitempty"`
}
VirtualMachineStorageStatus defines the observed state of a VirtualMachine's storage.
func (*VirtualMachineStorageStatus) DeepCopy ¶
func (in *VirtualMachineStorageStatus) DeepCopy() *VirtualMachineStorageStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineStorageStatus.
func (*VirtualMachineStorageStatus) DeepCopyInto ¶
func (in *VirtualMachineStorageStatus) DeepCopyInto(out *VirtualMachineStorageStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineStorageStatusRequested ¶
type VirtualMachineStorageStatusRequested struct {
// Disks describes the total storage space requested by a VirtualMachine's
// non-PVC disks.
Disks *resource.Quantity `json:"disks,omitempty"`
}
func (*VirtualMachineStorageStatusRequested) DeepCopy ¶
func (in *VirtualMachineStorageStatusRequested) DeepCopy() *VirtualMachineStorageStatusRequested
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineStorageStatusRequested.
func (*VirtualMachineStorageStatusRequested) DeepCopyInto ¶
func (in *VirtualMachineStorageStatusRequested) DeepCopyInto(out *VirtualMachineStorageStatusRequested)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineStorageStatusUsed ¶
type VirtualMachineStorageStatusUsed struct {
// Disks describes the total storage space used by a VirtualMachine's
// non-PVC disks.
Disks *resource.Quantity `json:"disks,omitempty"`
// Other describes the total storage space used by the VirtualMachine's
// non disk files, ex. the configuration file, swap space, logs, snapshots,
// etc.
Other *resource.Quantity `json:"other,omitempty"`
}
func (*VirtualMachineStorageStatusUsed) DeepCopy ¶
func (in *VirtualMachineStorageStatusUsed) DeepCopy() *VirtualMachineStorageStatusUsed
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineStorageStatusUsed.
func (*VirtualMachineStorageStatusUsed) DeepCopyInto ¶
func (in *VirtualMachineStorageStatusUsed) DeepCopyInto(out *VirtualMachineStorageStatusUsed)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineTemplate ¶
type VirtualMachineTemplate struct {
// Net describes the observed state of the VM's network configuration.
Net NetworkStatus
// VM represents a pointer to a VirtualMachine instance that consist of the
// desired specification and the observed status
VM *VirtualMachine
}
VirtualMachineTemplate defines the specification for configuring VirtualMachine Template. A Virtual Machine Template is created during VM customization to populate OVF properties. Then by utilizing Golang-based templating, Virtual Machine Template provides access to dynamic configuration data.
func (*VirtualMachineTemplate) DeepCopy ¶
func (in *VirtualMachineTemplate) DeepCopy() *VirtualMachineTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineTemplate.
func (*VirtualMachineTemplate) DeepCopyInto ¶
func (in *VirtualMachineTemplate) DeepCopyInto(out *VirtualMachineTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineTemplateSpec ¶
type VirtualMachineTemplateSpec struct {
// +optional
//
// ObjectMeta contains the desired Labels and Annotations that must be
// applied to each replica virtual machine.
vmopv1common.ObjectMeta `json:"metadata,omitempty"`
// +optional
//
// Specification of the desired behavior of each replica virtual machine.
Spec VirtualMachineSpec `json:"spec,omitempty"`
}
VirtualMachineTemplateSpec describes the data needed to create a VirtualMachine from a template.
func (*VirtualMachineTemplateSpec) DeepCopy ¶
func (in *VirtualMachineTemplateSpec) DeepCopy() *VirtualMachineTemplateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineTemplateSpec.
func (*VirtualMachineTemplateSpec) DeepCopyInto ¶
func (in *VirtualMachineTemplateSpec) DeepCopyInto(out *VirtualMachineTemplateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineVolume ¶
type VirtualMachineVolume struct {
// Name represents the volume's name. Must be a DNS_LABEL and unique within
// the VM.
Name string `json:"name"`
// VirtualMachineVolumeSource represents the location and type of a volume
// to mount.
VirtualMachineVolumeSource `json:",inline"`
}
VirtualMachineVolume represents a named volume in a VM.
func (*VirtualMachineVolume) DeepCopy ¶
func (in *VirtualMachineVolume) DeepCopy() *VirtualMachineVolume
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineVolume.
func (*VirtualMachineVolume) DeepCopyInto ¶
func (in *VirtualMachineVolume) DeepCopyInto(out *VirtualMachineVolume)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineVolumeCryptoStatus ¶
type VirtualMachineVolumeCryptoStatus struct {
// ProviderID describes the provider ID used to encrypt the volume.
// Please note, this field will be empty if the volume is not
// encrypted.
ProviderID string `json:"providerID,omitempty"`
// KeyID describes the key ID used to encrypt the volume.
// Please note, this field will be empty if the volume is not
// encrypted.
KeyID string `json:"keyID,omitempty"`
}
func (*VirtualMachineVolumeCryptoStatus) DeepCopy ¶
func (in *VirtualMachineVolumeCryptoStatus) DeepCopy() *VirtualMachineVolumeCryptoStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineVolumeCryptoStatus.
func (*VirtualMachineVolumeCryptoStatus) DeepCopyInto ¶
func (in *VirtualMachineVolumeCryptoStatus) DeepCopyInto(out *VirtualMachineVolumeCryptoStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineVolumeProvisioningMode ¶
type VirtualMachineVolumeProvisioningMode string
VirtualMachineVolumeProvisioningMode is the type used to express the desired or observed provisioning mode for a virtual machine disk.
const ( VirtualMachineVolumeProvisioningModeThin VirtualMachineVolumeProvisioningMode = "Thin" VirtualMachineVolumeProvisioningModeThick VirtualMachineVolumeProvisioningMode = "Thick" VirtualMachineVolumeProvisioningModeThickEagerZero VirtualMachineVolumeProvisioningMode = "ThickEagerZero" )
type VirtualMachineVolumeSource ¶
type VirtualMachineVolumeSource struct {
// PersistentVolumeClaim represents a reference to a PersistentVolumeClaim
// in the same namespace.
//
// More information is available at
// https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims.
PersistentVolumeClaim *PersistentVolumeClaimVolumeSource `json:"persistentVolumeClaim,omitempty"`
}
VirtualMachineVolumeSource represents the source location of a volume to mount. Only one of its members may be specified.
func (*VirtualMachineVolumeSource) DeepCopy ¶
func (in *VirtualMachineVolumeSource) DeepCopy() *VirtualMachineVolumeSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineVolumeSource.
func (*VirtualMachineVolumeSource) DeepCopyInto ¶
func (in *VirtualMachineVolumeSource) DeepCopyInto(out *VirtualMachineVolumeSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineVolumeStatus ¶
type VirtualMachineVolumeStatus struct {
// Name is the name of the attached volume.
Name string `json:"name"`
// Type is the type of the attached volume.
Type VirtualMachineVolumeType `json:"type"`
// Crypto describes the volume's encryption status.
Crypto *VirtualMachineVolumeCryptoStatus `json:"crypto,omitempty"`
// Limit describes the maximum, requested capacity of the volume.
Limit *resource.Quantity `json:"limit,omitempty"`
// Requested describes the minimum, requested capacity of the volume.
//
// Please note, this value is used when calculating a VM's impact to a
// namespace's storage quota.
Requested *resource.Quantity `json:"requested,omitempty"`
// Used describes the observed, non-shared size of the volume on disk.
//
// For example, if this is a linked-clone's boot volume, this value
// represents the space consumed by the linked clone, not the parent.
//
// Another example is when a volume is thin-provisioned. The volume's
// capacity may be 20Gi, but the actual usage on disk may only be a few
// hundred mebibytes.
Used *resource.Quantity `json:"used,omitempty"`
// Attached represents whether a volume has been successfully attached to
// the VirtualMachine or not.
Attached bool `json:"attached,omitempty"`
// DiskUUID represents the underlying virtual disk UUID and is present when
// attachment succeeds.
DiskUUID string `json:"diskUUID,omitempty"`
// Error represents the last error seen when attaching or detaching a
// volume. Error will be empty if attachment succeeds.
Error string `json:"error,omitempty"`
}
VirtualMachineVolumeStatus defines the observed state of a VirtualMachineVolume instance.
func (*VirtualMachineVolumeStatus) DeepCopy ¶
func (in *VirtualMachineVolumeStatus) DeepCopy() *VirtualMachineVolumeStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineVolumeStatus.
func (*VirtualMachineVolumeStatus) DeepCopyInto ¶
func (in *VirtualMachineVolumeStatus) DeepCopyInto(out *VirtualMachineVolumeStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineVolumeType ¶
type VirtualMachineVolumeType string
VirtualMachineVolumeType describes the type of a VirtualMachine volume.
const ( // VirtualMachineStorageDiskTypeClassic describes a classic virtual disk, // such as the boot disk for a VirtualMachine deployed from a VM Image of // type OVF. VirtualMachineStorageDiskTypeClassic VirtualMachineVolumeType = "Classic" // VirtualMachineStorageDiskTypeManaged describes a managed virtual disk, // such as persistent volumes. VirtualMachineStorageDiskTypeManaged VirtualMachineVolumeType = "Managed" )
type VirtualMachineWebConsoleRequest ¶
type VirtualMachineWebConsoleRequest struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec VirtualMachineWebConsoleRequestSpec `json:"spec,omitempty"`
Status VirtualMachineWebConsoleRequestStatus `json:"status,omitempty"`
}
VirtualMachineWebConsoleRequest allows the creation of a one-time, web console connection to a VM.
func (*VirtualMachineWebConsoleRequest) DeepCopy ¶
func (in *VirtualMachineWebConsoleRequest) DeepCopy() *VirtualMachineWebConsoleRequest
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineWebConsoleRequest.
func (*VirtualMachineWebConsoleRequest) DeepCopyInto ¶
func (in *VirtualMachineWebConsoleRequest) DeepCopyInto(out *VirtualMachineWebConsoleRequest)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VirtualMachineWebConsoleRequest) DeepCopyObject ¶
func (in *VirtualMachineWebConsoleRequest) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*VirtualMachineWebConsoleRequest) Hub ¶
func (*VirtualMachineWebConsoleRequest) Hub()
Hub marks VirtualMachineWebConsoleRequest as a conversion hub.
type VirtualMachineWebConsoleRequestList ¶
type VirtualMachineWebConsoleRequestList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []VirtualMachineWebConsoleRequest `json:"items"`
}
VirtualMachineWebConsoleRequestList contains a list of VirtualMachineWebConsoleRequests.
func (*VirtualMachineWebConsoleRequestList) DeepCopy ¶
func (in *VirtualMachineWebConsoleRequestList) DeepCopy() *VirtualMachineWebConsoleRequestList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineWebConsoleRequestList.
func (*VirtualMachineWebConsoleRequestList) DeepCopyInto ¶
func (in *VirtualMachineWebConsoleRequestList) DeepCopyInto(out *VirtualMachineWebConsoleRequestList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VirtualMachineWebConsoleRequestList) DeepCopyObject ¶
func (in *VirtualMachineWebConsoleRequestList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*VirtualMachineWebConsoleRequestList) Hub ¶
func (*VirtualMachineWebConsoleRequestList) Hub()
Hub marks VirtualMachineWebConsoleRequestList as a conversion hub.
type VirtualMachineWebConsoleRequestSpec ¶
type VirtualMachineWebConsoleRequestSpec struct {
// Name is the name of a VM in the same Namespace as this web console
// request.
Name string `json:"name"`
// PublicKey is used to encrypt the status.response. This is expected to be a RSA OAEP public key in X.509 PEM format.
PublicKey string `json:"publicKey"`
}
VirtualMachineWebConsoleRequestSpec describes the desired state for a web console request to a VM.
func (*VirtualMachineWebConsoleRequestSpec) DeepCopy ¶
func (in *VirtualMachineWebConsoleRequestSpec) DeepCopy() *VirtualMachineWebConsoleRequestSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineWebConsoleRequestSpec.
func (*VirtualMachineWebConsoleRequestSpec) DeepCopyInto ¶
func (in *VirtualMachineWebConsoleRequestSpec) DeepCopyInto(out *VirtualMachineWebConsoleRequestSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineWebConsoleRequestStatus ¶
type VirtualMachineWebConsoleRequestStatus struct {
// Response will be the authenticated ticket corresponding to this web console request.
Response string `json:"response,omitempty"`
// ExpiryTime is the time at which access via this request will expire.
ExpiryTime metav1.Time `json:"expiryTime,omitempty"`
// ProxyAddr describes the host address and optional port used to access
// the VM's web console.
//
// The value could be a DNS entry, IPv4, or IPv6 address, followed by an
// optional port. For example, valid values include:
//
// DNS
// * host.com
// * host.com:6443
//
// IPv4
// * 1.2.3.4
// * 1.2.3.4:6443
//
// IPv6
// * 1234:1234:1234:1234:1234:1234:1234:1234
// * [1234:1234:1234:1234:1234:1234:1234:1234]:6443
// * 1234:1234:1234:0000:0000:0000:1234:1234
// * 1234:1234:1234::::1234:1234
// * [1234:1234:1234::::1234:1234]:6443
//
// In other words, the field may be set to any value that is parsable
// by Go's https://pkg.go.dev/net#ResolveIPAddr and
// https://pkg.go.dev/net#ParseIP functions.
ProxyAddr string `json:"proxyAddr,omitempty"`
}
VirtualMachineWebConsoleRequestStatus describes the observed state of the request.
func (*VirtualMachineWebConsoleRequestStatus) DeepCopy ¶
func (in *VirtualMachineWebConsoleRequestStatus) DeepCopy() *VirtualMachineWebConsoleRequestStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineWebConsoleRequestStatus.
func (*VirtualMachineWebConsoleRequestStatus) DeepCopyInto ¶
func (in *VirtualMachineWebConsoleRequestStatus) DeepCopyInto(out *VirtualMachineWebConsoleRequestStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ZoneSelectorOperator ¶
type ZoneSelectorOperator string
ZoneSelectorOperator specifies the type of operator used by the zone selector to represent key-value relationships.
const ( ZoneSelectorOpIn ZoneSelectorOperator = "In" ZoneSelectorOpNotIn ZoneSelectorOperator = "NotIn" ZoneSelectorOpExists ZoneSelectorOperator = "Exists" ZoneSelectorOpDoesNotExist ZoneSelectorOperator = "DoesNotExist" ZoneSelectorOpGt ZoneSelectorOperator = "Gt" ZoneSelectorOpLt ZoneSelectorOperator = "Lt" )
type ZoneSelectorRequirement ¶
type ZoneSelectorRequirement struct {
// Key is the label key to which the selector applies.
Key string `json:"key"`
// Operator represents a key's relationship to a set of values.
// Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
Operator ZoneSelectorOperator `json:"operator"`
// Values is a list of values to which the operator applies.
// If the operator is In or NotIn, the values list must be non-empty.
// If the operator is Exists or DoesNotExist, the values list must be empty.
// If the operator is Gt or Lt, the values list must have a single element,
// which will be interpreted as an integer.
Values []string `json:"values,omitempty"`
}
ZoneSelectorRequirement defines the key value relationships for a matching zone selector.
func (*ZoneSelectorRequirement) DeepCopy ¶
func (in *ZoneSelectorRequirement) DeepCopy() *ZoneSelectorRequirement
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ZoneSelectorRequirement.
func (*ZoneSelectorRequirement) DeepCopyInto ¶
func (in *ZoneSelectorRequirement) DeepCopyInto(out *ZoneSelectorRequirement)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ZoneSelectorTerm ¶
type ZoneSelectorTerm struct {
// MatchExpressions is a list of zone selector requirements by zone's
// labels.
MatchExpressions []ZoneSelectorRequirement `json:"matchExpressions,omitempty"`
// MatchFields is a list of zone selector requirements by zone's fields.
MatchFields []ZoneSelectorRequirement `json:"matchFields,omitempty"`
}
ZoneSelectorTerm defines the matching zone selector requirements for zone based affinity/anti-affinity scheduling.
func (*ZoneSelectorTerm) DeepCopy ¶
func (in *ZoneSelectorTerm) DeepCopy() *ZoneSelectorTerm
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ZoneSelectorTerm.
func (*ZoneSelectorTerm) DeepCopyInto ¶
func (in *ZoneSelectorTerm) DeepCopyInto(out *ZoneSelectorTerm)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
Source Files
¶
- condition_consts.go
- doc.go
- groupversion_info.go
- virtualmachine_affinity_types.go
- virtualmachine_bootstrap_types.go
- virtualmachine_conversion.go
- virtualmachine_network_types.go
- virtualmachine_readiness_types.go
- virtualmachine_storage_types.go
- virtualmachine_types.go
- virtualmachineclass_conversion.go
- virtualmachineclass_types.go
- virtualmachineclassinstance_types.go
- virtualmachinegroup_publishrequest_types.go
- virtualmachinegroup_types.go
- virtualmachineimage_conversion.go
- virtualmachineimage_types.go
- virtualmachineimagecache_conversion.go
- virtualmachineimagecache_types.go
- virtualmachinepublishrequest_conversion.go
- virtualmachinepublishrequest_types.go
- virtualmachinereplicaset_types.go
- virtualmachineservice_conversion.go
- virtualmachineservice_types.go
- virtualmachinesetresourcepolicy_conversion.go
- virtualmachinesetresourcepolicy_types.go
- virtualmachinesnapshot_types.go
- virtualmachinetempl_types.go
- virtualmachinewebconsolerequest_conversion.go
- virtualmachinewebconsolerequest_types.go
- zz_generated.deepcopy.go
- zz_virtualmachine_guestosid_generated.go