Documentation
¶
Overview ¶
+k8s:openapi-gen=true +kubebuilder:object:generate=true +groupName=vmoperator.vmware.com
Index ¶
- Constants
- Variables
- type ClusterVirtualMachineImage
- func (in *ClusterVirtualMachineImage) DeepCopy() *ClusterVirtualMachineImage
- func (in *ClusterVirtualMachineImage) DeepCopyInto(out *ClusterVirtualMachineImage)
- func (in *ClusterVirtualMachineImage) DeepCopyObject() runtime.Object
- func (*ClusterVirtualMachineImage) Hub()
- func (r *ClusterVirtualMachineImage) SetupWebhookWithManager(mgr ctrl.Manager) error
- type ClusterVirtualMachineImageList
- type DynamicDirectPathIODevice
- 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 ResourcePoolSpec
- type TCPSocketAction
- type VGPUDevice
- type VSphereClusterModuleStatus
- type VirtualDevices
- type VirtualMachine
- func (in *VirtualMachine) DeepCopy() *VirtualMachine
- func (in *VirtualMachine) DeepCopyInto(out *VirtualMachine)
- func (in *VirtualMachine) DeepCopyObject() runtime.Object
- func (*VirtualMachine) Hub()
- func (vm VirtualMachine) NamespacedName() string
- func (r *VirtualMachine) SetupWebhookWithManager(mgr ctrl.Manager) error
- type VirtualMachineAdvancedSpec
- type VirtualMachineBootstrapCloudInitSpec
- type VirtualMachineBootstrapLinuxPrepSpec
- type VirtualMachineBootstrapSpec
- type VirtualMachineBootstrapSysprepSpec
- type VirtualMachineBootstrapVAppConfigSpec
- type VirtualMachineClass
- func (in *VirtualMachineClass) DeepCopy() *VirtualMachineClass
- func (in *VirtualMachineClass) DeepCopyInto(out *VirtualMachineClass)
- func (in *VirtualMachineClass) DeepCopyObject() runtime.Object
- func (*VirtualMachineClass) Hub()
- func (r *VirtualMachineClass) SetupWebhookWithManager(mgr ctrl.Manager) error
- type VirtualMachineClassHardware
- type VirtualMachineClassList
- type VirtualMachineClassPolicies
- type VirtualMachineClassResources
- type VirtualMachineClassSpec
- type VirtualMachineClassStatus
- type VirtualMachineConfigSpec
- type VirtualMachineImage
- func (in *VirtualMachineImage) DeepCopy() *VirtualMachineImage
- func (in *VirtualMachineImage) DeepCopyInto(out *VirtualMachineImage)
- func (in *VirtualMachineImage) DeepCopyObject() runtime.Object
- func (*VirtualMachineImage) Hub()
- func (r *VirtualMachineImage) SetupWebhookWithManager(mgr ctrl.Manager) error
- type VirtualMachineImageList
- type VirtualMachineImageOSInfo
- type VirtualMachineImageProductInfo
- type VirtualMachineImageSpec
- type VirtualMachineImageStatus
- type VirtualMachineList
- 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 VirtualMachinePowerOpMode
- type VirtualMachinePowerState
- type VirtualMachinePublishRequest
- func (in *VirtualMachinePublishRequest) DeepCopy() *VirtualMachinePublishRequest
- func (in *VirtualMachinePublishRequest) DeepCopyInto(out *VirtualMachinePublishRequest)
- func (in *VirtualMachinePublishRequest) DeepCopyObject() runtime.Object
- func (*VirtualMachinePublishRequest) Hub()
- func (r *VirtualMachinePublishRequest) SetupWebhookWithManager(mgr ctrl.Manager) error
- 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 VirtualMachineReadinessGate
- type VirtualMachineReadinessProbeSpec
- type VirtualMachineReservedSpec
- type VirtualMachineResourceSpec
- type VirtualMachineService
- func (in *VirtualMachineService) DeepCopy() *VirtualMachineService
- func (in *VirtualMachineService) DeepCopyInto(out *VirtualMachineService)
- func (in *VirtualMachineService) DeepCopyObject() runtime.Object
- func (*VirtualMachineService) Hub()
- func (s *VirtualMachineService) NamespacedName() string
- func (r *VirtualMachineService) SetupWebhookWithManager(mgr ctrl.Manager) error
- 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 (r *VirtualMachineSetResourcePolicy) SetupWebhookWithManager(mgr ctrl.Manager) error
- 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 VirtualMachineSpec
- type VirtualMachineStatus
- type VirtualMachineTemplate
- type VirtualMachineVolume
- type VirtualMachineVolumeProvisioningMode
- type VirtualMachineVolumeSource
- type VirtualMachineVolumeStatus
- type VirtualMachineWebConsoleRequest
- func (in *VirtualMachineWebConsoleRequest) DeepCopy() *VirtualMachineWebConsoleRequest
- func (in *VirtualMachineWebConsoleRequest) DeepCopyInto(out *VirtualMachineWebConsoleRequest)
- func (in *VirtualMachineWebConsoleRequest) DeepCopyObject() runtime.Object
- func (r *VirtualMachineWebConsoleRequest) SetupWebhookWithManager(mgr ctrl.Manager) error
- type VirtualMachineWebConsoleRequestList
- type VirtualMachineWebConsoleRequestSpec
- type VirtualMachineWebConsoleRequestStatus
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" VirtualMachineConditionNetworkReady = "VirtualMachineNetworkReady" VirtualMachineConditionStorageReady = "VirtualMachineStorageReady" VirtualMachineConditionBootstrapReady = "VirtualMachineBootstrapReady" )
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 ( // VirtualMachineClassCapabilityLabel is the prefix for a label that // advertises a VM class capability. // // For more information please see VirtualMachineClassStatus.Capabilities. VirtualMachineClassCapabilityLabel = "capability." + vmClassLabel // VirtualMachineClassReadyLabel is applied to VM class resources that can // be realized in the current cluster. // // For more information please see VirtualMachineClassStatus.Ready. VirtualMachineClassReadyLabel = vmClassLabel + "ready" )
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 ( // VirtualMachineImageSyncedCondition documents that the image is synced with the vSphere content library item // that contains the source of this image's information. VirtualMachineImageSyncedCondition = "VirtualMachineImageSynced" // VirtualMachineImageProviderReadyCondition denotes readiness of the VirtualMachineImage provider. VirtualMachineImageProviderReadyCondition = "VirtualMachineImageProviderReady" // VirtualMachineImageProviderSecurityComplianceCondition denotes security compliance of the library item provider. VirtualMachineImageProviderSecurityComplianceCondition = "VirtualMachineImageProviderSecurityCompliance" )
Condition types for VirtualMachineImages.
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 ( // 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 GroupName = "vmoperator.vmware.com"
GroupName specifies the group name used to register the objects.
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 + "/pause-reconcile" )
const ( // VirtualMachineClassConditionReady is a condition on the VM class that // indicates whether or not the VM class's hardware can be realized on at // least one host in the cluster. // // For example, on Supervisor the VM Class / host compatibility is // performed by checking with the CheckVmConfig_Task API // (https://bit.ly/3CvoCc8). // // It is possible for this condition's Status to flip between True and False // over the lifetime of a VM class. For example, if a VM class requires a // specific vGPU and there is no host that provides that vGPU then the // Status for this condition is False. However, if a host is added with that // vGPU then the condition's status changes to True. And vice-versa -- if // the same host is removed then the condition's status flips back to False. // // Please note that a host in maintenance mode that would otherwise provide // compatibility will not be considered for this check. Only hosts where VMs // can be scheduled are part of the check. // VirtualMachineClassConditionReady = "VirtualMachineClassReady" )
const ( // VirtualMachineImageCapabilityLabel is the prefix for a label that // advertises an image capability. VirtualMachineImageCapabilityLabel = "capability.image." + GroupName + "/" )
Variables ¶
var ( // SchemeGroupVersion is group version used to register these objects SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha2"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
This section is empty.
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) Hub ¶
func (*ClusterVirtualMachineImage) Hub()
Hub marks ClusterVirtualMachineImage as a conversion hub.
func (*ClusterVirtualMachineImage) SetupWebhookWithManager ¶
func (r *ClusterVirtualMachineImage) SetupWebhookWithManager(mgr ctrl.Manager) error
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"`
// +optional
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 GuestHeartbeatAction ¶
type GuestHeartbeatAction struct {
// ThresholdStatus is the value that the guest heartbeat status must be at or above to be
// considered successful.
// +kubebuilder:validation:Optional
// +kubebuilder:default=green
// +kubebuilder:validation:Enum=yellow;green
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.
//
// Values are 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.
//
// +optional
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.
// +optional
IP string `json:"ip,omitempty"`
// Hostname is set for load balancer ingress points that are specified by a
// DNS address.
// +optional
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.
// +optional
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.
// +optional
Gateway4 string
// MacAddress is the MAC address of the network device.
// +optional
MacAddress string
// IpAddresses represents one or more IP addresses assigned to the network
// device in CIDR notation, ex. "192.0.2.1/16".
// +optional
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.
// +optional
Devices []NetworkDeviceStatus
// Nameservers describe a list of the DNS servers accessible by one of the
// VM's configured network devices.
// +optional
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.
// +optional
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.
// +optional
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 ResourcePoolSpec ¶
type ResourcePoolSpec struct {
// Name describes the name of the ResourcePool grouping.
// +optional
Name string `json:"name,omitempty"`
// Reservations describes the guaranteed resources reserved for the
// ResourcePool.
// +optional
Reservations VirtualMachineResourceSpec `json:"reservations,omitempty"`
// Limits describes the limit to resources available to the ResourcePool.
// +optional
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 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.
// +optional
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 VSphereClusterModuleStatus ¶
type VSphereClusterModuleStatus struct {
GroupName string `json:"groupName"`
ModuleUuid string `json:"moduleUUID"` //nolint:revive,stylecheck
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) Hub ¶
func (*VirtualMachine) Hub()
Hub marks VirtualMachine as a conversion hub.
func (VirtualMachine) NamespacedName ¶
func (vm VirtualMachine) NamespacedName() string
func (*VirtualMachine) SetupWebhookWithManager ¶
func (r *VirtualMachine) SetupWebhookWithManager(mgr ctrl.Manager) error
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.
//
// +optional
BootDiskCapacity resource.Quantity `json:"bootDiskCapacity,omitempty"`
// DefaultVolumeProvisioningMode specifies the default provisioning mode for
// persistent volumes managed by this VM.
//
// +optional
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.
//
// +optional
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 VirtualMachineBootstrapCloudInitSpec ¶
type VirtualMachineBootstrapCloudInitSpec struct {
// CloudConfig describes a subset of a Cloud-Init CloudConfig, used to
// bootstrap the VM.
//
// Please note this field and RawCloudConfig are mutually exclusive.
//
// +optional
CloudConfig cloudinit.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.
//
// +optional
RawCloudConfig corev1.SecretKeySelector `json:"rawCloudConfig,omitempty"`
// SSHAuthorizedKeys is a list of public keys that CloudInit will apply to
// the guest's default user.
//
// +optional
SSHAuthorizedKeys []string `json:"sshAuthorizedKeys,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.
//
// +optional
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.
//
// +optional
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.
//
// +optional
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.
//
// +optional
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.
//
// +optional
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.
//
// +optional
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.
//
// +optional
Sysprep sysprep.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.
//
// +optional
RawSysprep corev1.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.
//
// +optional
// +listType=map
// +listMapKey=key
Properties []common.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.
//
// +optional
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 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.
func (*VirtualMachineClass) SetupWebhookWithManager ¶
func (r *VirtualMachineClass) SetupWebhookWithManager(mgr ctrl.Manager) error
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 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.
//
// +optional
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.
//
// +optional
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.
//
// +optional
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.
//
// +optional
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.
//
// +optional
// +kubebuilder:validation:Schemaless
// +kubebuilder:validation:Type=object
// +kubebuilder:pruning:PreserveUnknownFields
ConfigSpec json.RawMessage `json:"configSpec,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 {
// Capabilities describes the class's observed capabilities.
//
// The capabilities are discerned when VM Operator reconciles a class
// and inspects its specification. Well-known capabilities include:
//
// * instance-storage
// * nvidia-gpu
// * sriov-net
//
// In addition to "nvidia-gpu", a capability is added for every nVidia
// profile name associated with the class.
//
// Every capability is also added to the resource's labels as
// VirtualMachineClassCapabilityLabel + Value. For example, if the
// capability is "nvidia-gpu" then the following label will be added to the
// resource: capability.class.vmoperator.vmware.com/nvidia-gpu.
//
// +optional
// +listType=set
Capabilities []string `json:"capabilities,omitempty"`
// Conditions describes the observed conditions of the VirtualMachineClass.
//
// +optional
Conditions []metav1.Condition `json:"conditions,omitempty"`
// Ready describes whether the class's hardware can be realized in the
// cluster.
//
// This field is only set to true if all of the class resource's conditions
// have Status=True.
//
// +optional
Ready bool `json:"ready,omitempty"`
}
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 VirtualMachineConfigSpec ¶
type VirtualMachineConfigSpec struct {
// XML contains a vim.vm.ConfigSpec object that has been serialized to XML
// and base64-encoded.
//
// +optional
XML string `json:"xml,omitempty"`
}
VirtualMachineConfigSpec contains additional virtual machine configuration settings including hardware specifications for the VirtualMachine.
We only support XML for now, but that may change in the future.
func (*VirtualMachineConfigSpec) DeepCopy ¶
func (in *VirtualMachineConfigSpec) DeepCopy() *VirtualMachineConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineConfigSpec.
func (*VirtualMachineConfigSpec) DeepCopyInto ¶
func (in *VirtualMachineConfigSpec) DeepCopyInto(out *VirtualMachineConfigSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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) Hub ¶
func (*VirtualMachineImage) Hub()
Hub marks VirtualMachineImage as a conversion hub.
func (*VirtualMachineImage) SetupWebhookWithManager ¶
func (r *VirtualMachineImage) SetupWebhookWithManager(mgr ctrl.Manager) error
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.
//
// +optional
ID string `json:"id,omitempty"`
// Type describes the operating system type.
//
// This value is also added to the image resource's labels as
// VirtualMachineImageOSTypeLabel.
//
// +optional
Type string `json:"type,omitempty"`
// Version describes the operating system version.
//
// This value is also added to the image resource's labels as
// VirtualMachineImageOSVersionLabel.
//
// +optional
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.
// +optional
Product string `json:"product,omitempty"`
// Vendor describes the organization/user that produced the image.
// +optional
Vendor string `json:"vendor,omitempty"`
// Version describes the short-form version of the image.
// +optional
Version string `json:"version,omitempty"`
// FullVersion describes the long-form version of the image.
// +optional
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 VirtualMachineImageSpec ¶
type VirtualMachineImageSpec struct {
// ProviderRef is a reference to the resource that contains the source of
// this image's information.
//
// +optional
ProviderRef common.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 observed, "friendly" name for this image.
//
// +optional
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.
//
// +optional
// +listType=set
Capabilities []string `json:"capabilities,omitempty"`
// Firmware describe the firmware type used by this image, ex. BIOS, EFI.
// +optional
Firmware string `json:"firmware,omitempty"`
// HardwareVersion describes the observed hardware version of this image.
//
// +optional
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.
//
//
// +optional
OSInfo VirtualMachineImageOSInfo `json:"osInfo,omitempty"`
// OVFProperties describes the observed OVF properties defined for this
// image.
//
// +optional
OVFProperties []OVFProperty `json:"ovfProperties,omitempty"`
// ProductInfo describes the observed product information for this image.
// +optional
ProductInfo VirtualMachineImageProductInfo `json:"productInfo,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.
// +optional
ProviderContentVersion string `json:"providerContentVersion,omitempty"`
// Conditions describes the observed conditions for this image.
//
// +optional
// +listType=map
// +listMapKey=type
Conditions []metav1.Condition `json:"conditions,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.
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 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;'.
//
// +optional
// +listType=map
// +listMapKey=key
Config []common.KeyValuePair `json:"config,omitempty"`
// Enabled reports the status of the DHCP client services.
// +omitempty
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.
//
// +optional
IP4 VirtualMachineNetworkDHCPOptionsStatus `json:"ip4,omitempty"`
// IP6 describes the observed state of the IP6 DHCP client settings.
//
// +optional
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.
//
// +optional
DHCP bool `json:"dhcp,omitempty"`
// DomainName is the domain name portion of the DNS name. For example,
// the "domain.local" part of "my-vm.domain.local".
//
// +optional
DomainName string `json:"domainName,omitempty"`
// HostName is the host name portion of the DNS name. For example,
// the "my-vm" part of "my-vm.domain.local".
//
// +optional
HostName string `json:"hostName,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.
//
// +optional
Nameservers []string `json:"nameservers,omitempty"`
// SearchDomains is a list of domains in which to search for hosts, in the
// order of preference.
//
// +optional
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.
//
// +optional
Device string `json:"device,omitempty"`
// Address is the IP4 or IP6 address of the gateway.
//
// +optional
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"`
// 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"`
}
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.
//
// +optional
DHCP VirtualMachineNetworkDHCPStatus `json:"dhcp,omitempty"`
// DNS describes the VM's observed, client-side DNS configuration.
//
// +optional
DNS VirtualMachineNetworkDNSStatus `json:"dns,omitempty"`
// IPRoutes contain the VM's routing tables for all address families.
//
// +optional
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'.
//
// +optional
// +listType=map
// +listMapKey=key
KernelConfig []common.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"`
// Lifetime describes when this address will expire.
//
// +optional
Lifetime metav1.Time `json:"lifetime,omitempty"`
// Origin describes how this address was configured.
//
// +optional
// +kubebuilder:validation:Enum=dhcp;linklayer;manual;other;random
Origin string `json:"origin,omitempty"`
// State describes the state of this IP address.
//
// +optional
// +kubebuilder:validation:Enum=deprecated;duplicate;inaccessible;invalid;preferred;tentative;unknown
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.
//
// +optional
AutoConfigurationEnabled *bool `json:"autoConfigurationEnabled,omitempty"`
// DHCP describes the VM's observed, client-side, interface-specific DHCP
// options.
//
// +optional
DHCP VirtualMachineNetworkDHCPStatus `json:"dhcp,omitempty"`
// Addresses describes observed IP addresses for this interface.
//
// +optional
Addresses []VirtualMachineNetworkInterfaceIPAddrStatus `json:"addresses,omitempty"`
// MACAddr describes the observed MAC address for this interface.
//
// +optional
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.
//
// This value is also used to rename the device inside the guest when the
// bootstrap provider is CloudInit. 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.
//
// +kubebuilder:validation:Pattern=^\w\w+$
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.
//
// +optional
Network common.PartialObjectRef `json:"network,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.
//
// Please note if the Interfaces field is non-empty then this field is
// ignored and should be specified on the elements in the Interfaces list.
//
// +optional
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.
//
// +optional
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 IP4 addresses in the
// Addresses field and the Gateway6 field.
//
// +optional
DHCP6 bool `json:"dhcp6,omitempty"`
// Gateway4 is the default, IP4 gateway for this interface.
//
// Please note this field is only supported if the network connection
// supports manual IP allocation.
//
// If the network connection supports manual IP allocation and the
// Addresses field includes at least one IP4 address, then this field
// is required.
//
// 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.
//
// +optional
Gateway4 string `json:"gateway4,omitempty"`
// Gateway6 is the primary IP6 gateway for this interface.
//
// Please note this field is only supported if the network connection
// supports manual IP allocation.
//
// If the network connection supports manual IP allocation and the
// Addresses field includes at least one IP4 address, then this field
// is required.
//
// 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.
//
// +optional
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.
//
// +optional
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, LinuxPrep, and Sysprep (except for RawSysprep).
//
// Please note that Linux allows only three nameservers
// (https://linux.die.net/man/5/resolv.conf).
//
// +optional
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.
//
// +optional
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, LinuxPrep, and Sysprep (except for RawSysprep).
//
// +optional
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 unique name of this network interface, used to
// distinguish it from other network interfaces attached to this VM.
//
// Please note this name is not related to the name of the device as it is
// surfaced inside of the guest.
Name string `json:"name"`
// IP describes the observed state of the interface's IP configuration.
//
// +optional
IP VirtualMachineNetworkInterfaceIPStatus `json:"ip,omitempty"`
// DNS describes the observed state of the interface's DNS configuration.
//
// +optional
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 an IP4 address.
To string `json:"to"`
// Via is an IP4 address.
Via string `json:"via"`
// Metric is the weight/priority of the route.
Metric int32 `json:"metric"`
}
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.
//
// +optional
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 {
// Network is the optional name of the network resource to which this
// VM is connected.
//
// Please note if the Interfaces field is non-empty then this field is
// ignored.
//
// If networking is not disabled, no interfaces are defined, and this value
// is omitted, then the VM will be provided a single virtual network
// interface and connected to the Namespace's default network.
//
// +optional
Network *common.PartialObjectRef `json:"network,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.
//
// +optional
Disabled bool `json:"disabled,omitempty"`
// HostName is the value the guest uses as its host name.
// If omitted then the name of the VM will be used.
//
// Please note this feature is available only with the following bootstrap
// providers: CloudInit, LinuxPrep, and Sysprep (except for RawSysprep).
//
// +optional
HostName string `json:"hostName,omitempty"`
// Interfaces is the list of network interfaces used by this VM.
//
// Please note this field is mutually exclusive with the following fields:
// DeviceName, Network, Addresses, DHCP4, DHCP6, Gateway4,
// Gateway6, MTU, Nameservers, Routes, and SearchDomains.
//
// +optional
// +listType=map
// +listMapKey=name
Interfaces []VirtualMachineNetworkInterfaceSpec `json:"interfaces,omitempty"`
// DeviceName describes the unique name of this network interface, used to
// distinguish it from other network interfaces attached to this VM.
//
// This value is also used to rename the device inside the guest when the
// bootstrap provider is CloudInit. 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.
//
// Please note if the Interfaces field is non-empty then this field is
// ignored and should be specified on the elements in the Interfaces list.
//
// If the Interfaces field is empty and this field is not specified, then
// the default interface's name will be eth0.
//
// +optional
// +kubebuilder:validation:Pattern=^\w\w+$
DeviceName string `json:"deviceName,omitempty"`
// Addresses is an optional list of IP4 or IP6 addresses to assign to the
// VM.
//
// 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.
//
// Please note if the Interfaces field is non-empty then this field is
// ignored and should be specified on the elements in the Interfaces list.
//
// +optional
Addresses []string `json:"addresses,omitempty"`
// DHCP4 indicates whether or not to use 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.
//
// Please note if the Interfaces field is non-empty then this field is
// ignored and should be specified on the elements in the Interfaces list.
//
// +optional
DHCP4 bool `json:"dhcp4,omitempty"`
// DHCP6 indicates whether or not to use 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 IP4 addresses in the
// Addresses field and the Gateway6 field.
//
// Please note if the Interfaces field is non-empty then this field is
// ignored and should be specified on the elements in the Interfaces list.
//
// +optional
DHCP6 bool `json:"dhcp6,omitempty"`
// Gateway4 is the default, IP4 gateway for this VM.
//
// Please note this field is only supported if the network connection
// supports manual IP allocation.
//
// If the network connection supports manual IP allocation and the
// Addresses field includes at least one IP4 address, then this field
// is required.
//
// 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.
//
// Please note if the Interfaces field is non-empty then this field is
// ignored and should be specified on the elements in the Interfaces list.
//
// +optional
Gateway4 string `json:"gateway4,omitempty"`
// Gateway6 is the primary IP6 gateway for this VM.
//
// Please note this field is only supported if the network connection
// supports manual IP allocation.
//
// If the network connection supports manual IP allocation and the
// Addresses field includes at least one IP4 address, then this field
// is required.
//
// 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.
//
// Please note if the Interfaces field is non-empty then this field is
// ignored and should be specified on the elements in the Interfaces list.
//
// +optional
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.
//
// Please note if the Interfaces field is non-empty then this field is
// ignored and should be specified on the elements in the Interfaces list.
//
// +optional
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, LinuxPrep, and Sysprep (except for RawSysprep).
//
// Please note that Linux allows only three nameservers
// (https://linux.die.net/man/5/resolv.conf).
//
// Please note if the Interfaces field is non-empty then this field is
// ignored and should be specified on the elements in the Interfaces list.
//
// +optional
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.
//
// Please note if the Interfaces field is non-empty then this field is
// ignored and should be specified on the elements in the Interfaces list.
//
// +optional
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, LinuxPrep, and Sysprep (except for RawSysprep).
//
// Please note if the Interfaces field is non-empty then this field is
// ignored and should be specified on the elements in the Interfaces list.
//
// +optional
SearchDomains []string `json:"searchDomains,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 {
// Interfaces describes the status of the VM's network interfaces.
//
// +optional
// +listType=map
// +listMapKey=name
Interfaces []VirtualMachineNetworkInterfaceStatus `json:"interfaces,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.
//
// +optional
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.
//
// +optional
PrimaryIP6 string `json:"primaryIP6,omitempty"`
VirtualMachineNetworkIPStackStatus `json:",inline"`
}
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 VirtualMachinePowerOpMode ¶
type VirtualMachinePowerOpMode string
VirtualMachinePowerOpMode represents the various power operation modes when when powering off or suspending a VM. +kubebuilder:validation:Enum=Hard;Soft;TrySoft
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. +kubebuilder:validation:Enum=PoweredOff;PoweredOn;Suspended
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 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) Hub ¶
func (*VirtualMachinePublishRequest) Hub()
Hub marks VirtualMachinePublishRequest as a conversion hub.
func (*VirtualMachinePublishRequest) SetupWebhookWithManager ¶
func (r *VirtualMachinePublishRequest) SetupWebhookWithManager(mgr ctrl.Manager) error
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.
//
// +optional
Name string `json:"name,omitempty"`
// APIVersion is the API version of the referenced object.
//
// +kubebuilder:default=vmoperator.vmware.com/v1alpha1
// +optional
APIVersion string `json:"apiVersion,omitempty"`
// Kind is the kind of referenced object.
//
// +kubebuilder:default=VirtualMachine
// +optional
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.
//
// +optional
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.
//
// +optional
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.
//
// +optional
// +kubebuilder:validation:Minimum=0
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.
//
// +optional
SourceRef *VirtualMachinePublishRequestSource `json:"sourceRef,omitempty"`
// TargetRef is the reference to the target of the publication request,
// ex. item information and a ContentLibrary resource.
//
//
// +optional
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.
//
// +optional
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.
//
// +optional
StartTime metav1.Time `json:"startTime,omitempty"`
// Attempts represents the number of times the request to publish the VM
// has been attempted.
//
// +optional
Attempts int64 `json:"attempts,omitempty"`
// LastAttemptTime represents the time when the latest request was sent.
//
// +optional
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.
//
// +optional
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
//
// +optional
Ready bool `json:"ready,omitempty"`
// Conditions is a list of the latest, available observations of the
// request's current state.
//
// +optional
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.
//
// +optional
Item VirtualMachinePublishRequestTargetItem `json:"item,omitempty"`
// Location contains information about the location to which to publish
// the VM.
//
// +optional
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".
//
// +optional
Name string `json:"name,omitempty"`
// Description is the description to assign to the published object.
//
// +optional
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".
//
// +optional
Name string `json:"name,omitempty"`
// APIVersion is the API version of the referenced object.
//
// +kubebuilder:default=imageregistry.vmware.com/v1alpha1
// +optional
APIVersion string `json:"apiVersion,omitempty"`
// Kind is the kind of referenced object.
//
// +kubebuilder:default=ContentLibrary
// +optional
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 VirtualMachineReadinessGate ¶
type VirtualMachineReadinessGate struct {
// ConditionType refers to a condition in the VM's condition list with
// matching type.
ConditionType string `json:"conditionType"`
}
VirtualMachineReadinessGate contains the reference to a VM condition.
func (*VirtualMachineReadinessGate) DeepCopy ¶
func (in *VirtualMachineReadinessGate) DeepCopy() *VirtualMachineReadinessGate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineReadinessGate.
func (*VirtualMachineReadinessGate) DeepCopyInto ¶
func (in *VirtualMachineReadinessGate) DeepCopyInto(out *VirtualMachineReadinessGate)
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.
// +optional
TCPSocket *TCPSocketAction `json:"tcpSocket,omitempty"`
// GuestHeartbeat specifies an action involving the guest heartbeat status.
// +optional
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.
//
// +optional
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.
// +optional
// +kubebuilder:validation:Minimum:=1
// +kubebuilder:validation:Maximum:=60
TimeoutSeconds int32 `json:"timeoutSeconds,omitempty"`
// PeriodSeconds specifics how often (in seconds) to perform the probe.
// Defaults to 10 seconds. Minimum value is 1.
// +optional
// +kubebuilder:validation:Minimum:=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 VirtualMachineReservedSpec ¶
type VirtualMachineReservedSpec struct {
// ResourcePolicyName describes the name of a
// VirtualMachineSetResourcePolicy resource used to configure the VM's
// resource policy.
//
// +optional
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:stylecheck,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
func (*VirtualMachineService) SetupWebhookWithManager ¶
func (r *VirtualMachineService) SetupWebhookWithManager(mgr ctrl.Manager) error
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.
// +optional
Selector map[string]string `json:"selector,omitempty"`
// Only applies to VirtualMachineService Type: LoadBalancer
// LoadBalancer will get created with the IP specified in this field.
// 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.
// +optional
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.
// +optional
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
// +optional
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.
// +optional
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.
// +optional
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) SetupWebhookWithManager ¶
func (r *VirtualMachineSetResourcePolicy) SetupWebhookWithManager(mgr ctrl.Manager) error
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 {
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 VirtualMachineSpec ¶
type VirtualMachineSpec struct {
// 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 ClusterVirtualMachineImage with the specified name. If no
// such resource exists, the resolver then checks to see if there is a
// VirtualMachineImage resource with the specified name in the same
// Namespace as the VM being deployed.
//
// This field is optional in the cases where there exists a sensible
// default value, such as when there is a single VirtualMachineImage
// resource available in the same Namespace as the VM being deployed.
//
// +optional
ImageName string `json:"imageName,omitempty"`
// Class describes the name of the VirtualMachineClass resource used to
// deploy this VM.
//
// This field is optional in the cases where there exists a sensible
// default value, such as when there is a single VirtualMachineClass
// resource available in the same Namespace as the VM being deployed.
//
// +optional
ClassName string `json:"className,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.
//
// This field is optional in the cases where there exists a sensible
// default value, such as when there is a single StorageClass
// resource available in the same Namespace as the VM being deployed.
//
// +optional
StorageClass string `json:"storageClass,omitempty"`
// Bootstrap describes the desired state of the guest's bootstrap
// configuration.
//
// If omitted, then the bootstrap method is determined based on the guest
// identifier from the VirtualMachineImage. If the image's guest OS type is
// Windows, then the Sysprep bootstrap method is used; if Linux, the
// LinuxPrep method is used.
//
// Please note that defaulting to Sysprep for Windows images only works if
// the image uses a volume license key, otherwise the image's product ID is
// required.
//
// +optional
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.
//
// +optional
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.
//
// +optional
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.
//
// +optional
// +kubebuilder:default=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.
//
// +optional
// +kubebuilder:default=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).
//
// +optional
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.
//
// +optional
// +kubebuilder:default=TrySoft
RestartMode VirtualMachinePowerOpMode `json:"restartMode,omitempty"`
// Volumes describes a list of volumes that can be mounted to the VM.
//
// +optional
// +listType=map
// +listMapKey=name
Volumes []VirtualMachineVolume `json:"volumes,omitempty"`
// ReadinessProbe describes a probe used to determine the VM's ready state.
//
// +optional
ReadinessProbe VirtualMachineReadinessProbeSpec `json:"readinessProbe,omitempty"`
// ReadinessGates, if specified, will be evaluated to determine the VM's
// readiness.
//
// A VM is ready when its readiness probe, if specified, is true AND all of
// the conditions specified by the readiness gates have a status equal to
// "True".
//
// +optional
// +listType=map
// +listMapKey=conditionType
ReadinessGates []VirtualMachineReadinessGate `json:"readinessGates,omitempty"`
// Advanced describes a set of optional, advanced VM configuration options.
// +optional
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.
//
// +optional
Reserved VirtualMachineReservedSpec `json:"reserved,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 {
// Image is a reference to the VirtualMachineImage resource used to deploy
// this VM.
//
// +optional
Image *common.LocalObjectRef `json:"image,omitempty"`
// Class is a reference to the VirtualMachineClass resource used to deploy
// this VM.
//
// +optional
Class *common.LocalObjectRef `json:"class,omitempty"`
// Host describes the hostname or IP address of the infrastructure host
// where the VM is executed.
//
// +optional
Host string `json:"host,omitempty"`
// PowerState describes the observed power state of the VirtualMachine.
// +optional
PowerState VirtualMachinePowerState `json:"powerState,omitempty"`
// Conditions describes the observed conditions of the VirtualMachine.
// +optional
Conditions []metav1.Condition `json:"conditions,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.
// +optional
Network *VirtualMachineNetworkStatus `json:"network,omitempty"`
// UniqueID describes a unique identifier that is provided by the underlying
// infrastructure provider, such as vSphere.
//
// +optional
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.
//
// +optional
BiosUUID string `json:"biosUUID,omitempty"`
// InstanceUUID describes the unique instance UUID provided by the
// underlying infrastructure provider, such as vSphere.
//
// +optional
InstanceUUID string `json:"instanceUUID,omitempty"`
// Volumes describes a list of current status information for each Volume
// that is desired to be attached to the VM.
// +optional
// +listType=map
// +listMapKey=name
Volumes []VirtualMachineVolumeStatus `json:"volumes,omitempty"`
// ChangeBlockTracking describes the CBT enablement status on the VM.
//
// +optional
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.
//
// +optional
Zone string `json:"zone,omitempty"`
// LastRestartTime describes the last time the VM was restarted.
//
// +optional
LastRestartTime *metav1.Time `json:"lastRestartTime,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 VirtualMachineTemplate ¶
type VirtualMachineTemplate struct {
// Net describes the observed state of the VM's network configuration.
// +optional
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 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 VirtualMachineVolumeProvisioningMode ¶
type VirtualMachineVolumeProvisioningMode string
VirtualMachineVolumeProvisioningMode is the type used to express the desired or observed provisioning mode for a virtual machine disk.
+kubebuilder:validation:Enum=Thin;Thick;ThickEagerZero
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.
//
// +optional
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"`
// Attached represents whether a volume has been successfully attached to
// the VirtualMachine or not.
// +optional
Attached bool `json:"attached,omitempty"`
// DiskUUID represents the underlying virtual disk UUID and is present when
// attachment succeeds.
// +optional
DiskUUID string `json:"diskUUID,omitempty"`
// Error represents the last error seen when attaching or detaching a
// volume. Error will be empty if attachment succeeds.
// +optional
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 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) SetupWebhookWithManager ¶
func (r *VirtualMachineWebConsoleRequest) SetupWebhookWithManager(mgr ctrl.Manager) error
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.
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"`
}
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 {
// 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.
Source Files
¶
- doc.go
- groupversion_info.go
- virtualmachine_bootstrap_types.go
- virtualmachine_conversion.go
- virtualmachine_network_types.go
- virtualmachine_readiness_types.go
- virtualmachine_storage_types.go
- virtualmachine_types.go
- virtualmachine_webhook.go
- virtualmachineclass_conversion.go
- virtualmachineclass_types.go
- virtualmachineclass_webhook.go
- virtualmachineimage_conversion.go
- virtualmachineimage_types.go
- virtualmachineimage_webhook.go
- virtualmachinepublishrequest_conversion.go
- virtualmachinepublishrequest_types.go
- virtualmachinepublishrequest_webhook.go
- virtualmachineservice_conversion.go
- virtualmachineservice_types.go
- virtualmachineservice_webhook.go
- virtualmachinesetresourcepolicy_conversion.go
- virtualmachinesetresourcepolicy_types.go
- virtualmachinesetresourcepolicy_webhook.go
- virtualmachinetempl_types.go
- virtualmachinewebconsolerequest_types.go
- virtualmachinewebconsolerequest_webhook.go
- zz_generated.deepcopy.go