Documentation ¶
Overview ¶
* This file is part of the KubeVirt project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * * Copyright 2019 Red Hat, Inc. *
Index ¶
- Constants
- Variables
- func PrepareVMINodeAntiAffinitySelectorRequirement(vmi *VirtualMachineInstance) k8sv1.NodeSelectorRequirement
- func Resource(resource string) schema.GroupResource
- func SetDefaults_CDRomTarget(obj *CDRomTarget)
- func SetDefaults_DiskDevice(obj *DiskDevice)
- func SetDefaults_FeatureAPIC(obj *FeatureAPIC)
- func SetDefaults_FeatureSpinlocks(obj *FeatureSpinlocks)
- func SetDefaults_FeatureState(obj *FeatureState)
- func SetDefaults_FeatureVendorID(obj *FeatureVendorID)
- func SetDefaults_Firmware(obj *Firmware)
- func SetDefaults_FloppyTarget(obj *FloppyTarget)
- func SetDefaults_HPETTimer(obj *HPETTimer)
- func SetDefaults_HypervTimer(obj *HypervTimer)
- func SetDefaults_I6300ESBWatchdog(obj *I6300ESBWatchdog)
- func SetDefaults_KVMTimer(obj *KVMTimer)
- func SetDefaults_NetworkInterface(obj *VirtualMachineInstance)
- func SetDefaults_PITTimer(obj *PITTimer)
- func SetDefaults_RTCTimer(obj *RTCTimer)
- func SetDefaults_VirtualMachineInstance(obj *VirtualMachineInstance)
- func SetDefaults_Watchdog(obj *Watchdog)
- func UpdateAntiAffinityFromVMINode(pod *k8sv1.Pod, vmi *VirtualMachineInstance) *k8sv1.Affinity
- type BIOS
- type Bootloader
- type CDRomTarget
- type CPU
- type CPUFeature
- type Chassis
- type Clock
- type ClockOffset
- type ClockOffsetTimezone
- type ClockOffsetUTC
- type CloudInitConfigDriveSource
- type CloudInitNoCloudSource
- type ConfigMapVolumeSource
- type ContainerDiskSource
- type DHCPOptions
- type DHCPPrivateOptions
- type DataVolumeSource
- type Devices
- type Disk
- type DiskDevice
- type DiskTarget
- type DomainSpec
- type DriverCache
- type EFI
- type EmptyDiskSource
- type EphemeralVolumeSource
- type EvictionStrategy
- type FeatureAPIC
- type FeatureHyperv
- type FeatureSpinlocks
- type FeatureState
- type FeatureVendorID
- type Features
- type Firmware
- type FloppyTarget
- type GPU
- type GenieNetwork
- type HPETTickPolicy
- type HPETTimer
- type Handler
- type HostDisk
- type HostDiskType
- type Hugepages
- type HypervTimer
- type I6300ESBWatchdog
- type IOThreadsPolicy
- type Input
- type Interface
- type InterfaceBindingMethod
- type InterfaceBridge
- type InterfaceMasquerade
- type InterfaceSRIOV
- type InterfaceSlirp
- type KVMTimer
- type KubeVirt
- type KubeVirtCondition
- type KubeVirtConditionType
- type KubeVirtList
- type KubeVirtPhase
- type KubeVirtSpec
- type KubeVirtStatus
- type KubeVirtUninstallStrategy
- type LunTarget
- type Machine
- type Memory
- type MigrationAbortStatus
- type MultusNetwork
- type Network
- type NetworkInterfaceType
- type NetworkSource
- type PITTickPolicy
- type PITTimer
- type PodNetwork
- type Port
- type Probe
- type RTCTickPolicy
- type RTCTimer
- type RTCTimerTrack
- type ResourceRequirements
- type RestartOptions
- type Rng
- type SecretVolumeSource
- type ServiceAccountVolumeSource
- type StateChangeRequestAction
- type SyncEvent
- type Timer
- type TrayState
- type VMISelector
- type VirtualMachine
- type VirtualMachineCondition
- type VirtualMachineConditionType
- type VirtualMachineInstance
- func NewVMI(name string, uid types.UID) *VirtualMachineInstance
- func NewVMIReferenceFromName(name string) *VirtualMachineInstance
- func NewVMIReferenceFromNameWithNS(namespace string, name string) *VirtualMachineInstance
- func NewVMIReferenceWithUUID(namespace string, name string, uuid types.UID) *VirtualMachineInstance
- func (in *VirtualMachineInstance) DeepCopy() *VirtualMachineInstance
- func (in *VirtualMachineInstance) DeepCopyInto(out *VirtualMachineInstance)
- func (in *VirtualMachineInstance) DeepCopyObject() runtime.Object
- func (v *VirtualMachineInstance) IsCPUDedicated() bool
- func (v *VirtualMachineInstance) IsFinal() bool
- func (v *VirtualMachineInstance) IsRunning() bool
- func (v *VirtualMachineInstance) IsScheduled() bool
- func (v *VirtualMachineInstance) IsScheduling() bool
- func (v *VirtualMachineInstance) IsUnknown() bool
- func (v *VirtualMachineInstance) IsUnprocessed() bool
- func (v *VirtualMachineInstance) MarshalBinary() (data []byte, err error)
- func (v *VirtualMachineInstance) UnmarshalBinary(data []byte) error
- func (v *VirtualMachineInstance) WantsToHaveQOSGuaranteed() bool
- type VirtualMachineInstanceCondition
- type VirtualMachineInstanceConditionType
- type VirtualMachineInstanceFileSystem
- type VirtualMachineInstanceFileSystemInfo
- type VirtualMachineInstanceGuestAgentInfo
- type VirtualMachineInstanceGuestOSInfo
- type VirtualMachineInstanceGuestOSUser
- type VirtualMachineInstanceList
- type VirtualMachineInstanceMigration
- func (in *VirtualMachineInstanceMigration) DeepCopy() *VirtualMachineInstanceMigration
- func (in *VirtualMachineInstanceMigration) DeepCopyInto(out *VirtualMachineInstanceMigration)
- func (in *VirtualMachineInstanceMigration) DeepCopyObject() runtime.Object
- func (m *VirtualMachineInstanceMigration) IsFinal() bool
- func (m *VirtualMachineInstanceMigration) IsRunning() bool
- func (m *VirtualMachineInstanceMigration) TargetIsCreated() bool
- func (m *VirtualMachineInstanceMigration) TargetIsHandedOff() bool
- type VirtualMachineInstanceMigrationCondition
- type VirtualMachineInstanceMigrationConditionType
- type VirtualMachineInstanceMigrationList
- type VirtualMachineInstanceMigrationMethod
- type VirtualMachineInstanceMigrationPhase
- type VirtualMachineInstanceMigrationSpec
- type VirtualMachineInstanceMigrationState
- type VirtualMachineInstanceMigrationStatus
- type VirtualMachineInstanceNetworkInterface
- type VirtualMachineInstancePhase
- type VirtualMachineInstancePreset
- type VirtualMachineInstancePresetList
- type VirtualMachineInstancePresetSpec
- type VirtualMachineInstanceReplicaSet
- type VirtualMachineInstanceReplicaSetCondition
- type VirtualMachineInstanceReplicaSetConditionType
- type VirtualMachineInstanceReplicaSetList
- type VirtualMachineInstanceReplicaSetSpec
- type VirtualMachineInstanceReplicaSetStatus
- type VirtualMachineInstanceSpec
- type VirtualMachineInstanceStatus
- type VirtualMachineInstanceTemplateSpec
- type VirtualMachineList
- type VirtualMachineRunStrategy
- type VirtualMachineSpec
- type VirtualMachineStateChangeRequest
- type VirtualMachineStatus
- type Volume
- type VolumeSource
- type Watchdog
- type WatchdogAction
- type WatchdogDevice
Constants ¶
const ( IOThreadsPolicyAuto IOThreadsPolicy = "auto" CPUModeHostPassthrough = "host-passthrough" CPUModeHostModel = "host-model" )
const ( // HPETTickPolicyDelay delivers ticks at a constant rate. The guest time will // be delayed due to the late tick HPETTickPolicyDelay HPETTickPolicy = "delay" // HPETTickPolicyCatchup Delivers ticks at a higher rate to catch up with the // missed tick. The guest time should not be delayed once catchup is complete HPETTickPolicyCatchup HPETTickPolicy = "catchup" // HPETTickPolicyMerge merges the missed tick(s) into one tick and inject. The // guest time may be delayed, depending on how the OS reacts to the merging // of ticks. HPETTickPolicyMerge HPETTickPolicy = "merge" // HPETTickPolicyDiscard discards all missed ticks. HPETTickPolicyDiscard HPETTickPolicy = "discard" // PITTickPolicyDelay delivers ticks at a constant rate. The guest time will // be delayed due to the late tick. PITTickPolicyDelay PITTickPolicy = "delay" // PITTickPolicyCatchup Delivers ticks at a higher rate to catch up with the // missed tick. The guest time should not be delayed once catchup is complete. PITTickPolicyCatchup PITTickPolicy = "catchup" // PITTickPolicyDiscard discards all missed ticks. PITTickPolicyDiscard PITTickPolicy = "discard" // RTCTickPolicyDelay delivers ticks at a constant rate. The guest time will // be delayed due to the late tick. RTCTickPolicyDelay RTCTickPolicy = "delay" // RTCTickPolicyCatchup Delivers ticks at a higher rate to catch up with the // missed tick. The guest time should not be delayed once catchup is complete. RTCTickPolicyCatchup RTCTickPolicy = "catchup" )
const ( // This label marks resources that belong to KubeVirt. An optional value // may indicate which specific KubeVirt component a resource belongs to. AppLabel string = "kubevirt.io" // This annotation is used to match virtual machine instances represented as // libvirt XML domains with their pods. Among other things, the annotation is // used to detect virtual machines with dead pods. Used on Pod. DomainAnnotation string = "kubevirt.io/domain" // Represents the name of the migration job this target pod is associated with MigrationJobNameAnnotation string = "kubevirt.io/migrationJobName" ControllerAPILatestVersionObservedAnnotation string = "kubevirt.io/latest-observed-api-version" ControllerAPIStorageVersionObservedAnnotation string = "kubevirt.io/storage-observed-api-version" // This label is used to match virtual machine instance IDs with pods. // Similar to kubevirt.io/domain. Used on Pod. // Internal use only. CreatedByLabel string = "kubevirt.io/created-by" // This label is used to indicate that this pod is the target of a migration job. MigrationJobLabel string = "kubevirt.io/migrationJobUID" // This label describes which cluster node runs the virtual machine // instance. Needed because with CRDs we can't use field selectors. Used on // VirtualMachineInstance. NodeNameLabel string = "kubevirt.io/nodeName" // This label describes which cluster node runs the target Pod for a Virtual // Machine Instance migration job. Needed because with CRDs we can't use field // selectors. Used on VirtualMachineInstance. MigrationTargetNodeNameLabel string = "kubevirt.io/migrationTargetNodeName" // This label declares whether a particular node is available for // scheduling virtual machine instances on it. Used on Node. NodeSchedulable string = "kubevirt.io/schedulable" // This annotation is regularly updated by virt-handler to help determine // if a particular node is alive and hence should be available for new // virtual machine instance scheduling. Used on Node. VirtHandlerHeartbeat string = "kubevirt.io/heartbeat" // This label will be set on all resources created by the operator ManagedByLabel = "app.kubernetes.io/managed-by" ManagedByLabelOperatorValue = "kubevirt-operator" // This annotation represents the kubevirt version for an install strategy configmap. InstallStrategyVersionAnnotation = "kubevirt.io/install-strategy-version" // This annotation represents the kubevirt registry used for an install strategy configmap. InstallStrategyRegistryAnnotation = "kubevirt.io/install-strategy-registry" // This annotation represents the kubevirt deployment identifier used for an install strategy configmap. InstallStrategyIdentifierAnnotation = "kubevirt.io/install-strategy-identifier" // This annotation represents that this object is for temporary use during updates EphemeralBackupObject = "kubevirt.io/ephemeral-backup-object" // This label indicates the object is a part of the install strategy retrieval process. InstallStrategyLabel = "kubevirt.io/install-strategy" VirtualMachineInstanceFinalizer string = "foregroundDeleteVirtualMachine" VirtualMachineInstanceMigrationFinalizer string = "kubevirt.io/migrationJobFinalize" CPUManager string = "cpumanager" // This annotation is used to inject ignition data // Used on VirtualMachineInstance. IgnitionAnnotation string = "kubevirt.io/ignitiondata" )
const DefaultGracePeriodSeconds int64 = 30
const GroupName = "kubevirt.io"
GroupName is the group name use in this package
const SubresourceGroupName = "subresources.kubevirt.io"
Variables ¶
var ( ApiLatestVersion = "v1alpha3" ApiSupportedWebhookVersions = []string{"v1alpha3"} ApiStorageVersion = "v1alpha3" ApiSupportedVersions = []extv1beta1.CustomResourceDefinitionVersion{ { Name: "v1alpha3", Served: true, Storage: true, }, } )
var ( // GroupVersion is the latest group version for the KubeVirt api GroupVersion = schema.GroupVersion{Group: GroupName, Version: ApiLatestVersion} // StorageGroupVersion is the group version our api is persistented internally as StorageGroupVersion = schema.GroupVersion{Group: GroupName, Version: ApiStorageVersion} // GroupVersions is group version list used to register these objects // The preferred group version is the first item in the list. GroupVersions = []schema.GroupVersion{GroupVersion} // SubresourceGroupVersions is group version list used to register these objects // The preferred group version is the first item in the list. SubresourceGroupVersions = []schema.GroupVersion{{Group: SubresourceGroupName, Version: "v1alpha3"}} // SubresourceStorageGroupVersion is the group version our api is persistented internally as SubresourceStorageGroupVersion = schema.GroupVersion{Group: SubresourceGroupName, Version: ApiStorageVersion} )
var ( // GroupVersionKind VirtualMachineInstanceGroupVersionKind = schema.GroupVersionKind{Group: GroupName, Version: GroupVersion.Version, Kind: "VirtualMachineInstance"} VirtualMachineInstanceReplicaSetGroupVersionKind = schema.GroupVersionKind{Group: GroupName, Version: GroupVersion.Version, Kind: "VirtualMachineInstanceReplicaSet"} VirtualMachineInstancePresetGroupVersionKind = schema.GroupVersionKind{Group: GroupName, Version: GroupVersion.Version, Kind: "VirtualMachineInstancePreset"} VirtualMachineGroupVersionKind = schema.GroupVersionKind{Group: GroupName, Version: GroupVersion.Version, Kind: "VirtualMachine"} VirtualMachineInstanceMigrationGroupVersionKind = schema.GroupVersionKind{Group: GroupName, Version: GroupVersion.Version, Kind: "VirtualMachineInstanceMigration"} KubeVirtGroupVersionKind = schema.GroupVersionKind{Group: GroupName, Version: GroupVersion.Version, Kind: "KubeVirt"} )
var ( SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) Scheme = runtime.NewScheme() AddToScheme = SchemeBuilder.AddToScheme Codecs = serializer.NewCodecFactory(Scheme) ParameterCodec = runtime.NewParameterCodec(Scheme) )
Functions ¶
func PrepareVMINodeAntiAffinitySelectorRequirement ¶
func PrepareVMINodeAntiAffinitySelectorRequirement(vmi *VirtualMachineInstance) k8sv1.NodeSelectorRequirement
Given a VirtualMachineInstance, create a NodeSelectorTerm with anti-affinity for that VirtualMachineInstance's node. This is useful for the case when a migration away from a node must occur.
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource
func SetDefaults_CDRomTarget ¶
func SetDefaults_CDRomTarget(obj *CDRomTarget)
func SetDefaults_DiskDevice ¶
func SetDefaults_DiskDevice(obj *DiskDevice)
func SetDefaults_FeatureAPIC ¶
func SetDefaults_FeatureAPIC(obj *FeatureAPIC)
func SetDefaults_FeatureSpinlocks ¶
func SetDefaults_FeatureSpinlocks(obj *FeatureSpinlocks)
func SetDefaults_FeatureState ¶
func SetDefaults_FeatureState(obj *FeatureState)
func SetDefaults_FeatureVendorID ¶
func SetDefaults_FeatureVendorID(obj *FeatureVendorID)
func SetDefaults_Firmware ¶
func SetDefaults_Firmware(obj *Firmware)
func SetDefaults_FloppyTarget ¶
func SetDefaults_FloppyTarget(obj *FloppyTarget)
func SetDefaults_HPETTimer ¶
func SetDefaults_HPETTimer(obj *HPETTimer)
func SetDefaults_HypervTimer ¶
func SetDefaults_HypervTimer(obj *HypervTimer)
func SetDefaults_I6300ESBWatchdog ¶
func SetDefaults_I6300ESBWatchdog(obj *I6300ESBWatchdog)
func SetDefaults_KVMTimer ¶
func SetDefaults_KVMTimer(obj *KVMTimer)
func SetDefaults_NetworkInterface ¶
func SetDefaults_NetworkInterface(obj *VirtualMachineInstance)
func SetDefaults_PITTimer ¶
func SetDefaults_PITTimer(obj *PITTimer)
func SetDefaults_RTCTimer ¶
func SetDefaults_RTCTimer(obj *RTCTimer)
func SetDefaults_VirtualMachineInstance ¶
func SetDefaults_VirtualMachineInstance(obj *VirtualMachineInstance)
func SetDefaults_Watchdog ¶
func SetDefaults_Watchdog(obj *Watchdog)
func UpdateAntiAffinityFromVMINode ¶
func UpdateAntiAffinityFromVMINode(pod *k8sv1.Pod, vmi *VirtualMachineInstance) *k8sv1.Affinity
Given a VirtualMachineInstance, update all NodeSelectorTerms with anti-affinity for that VirtualMachineInstance's node. This is useful for the case when a migration away from a node must occur. This method returns the full Affinity structure updated the anti affinity terms
Types ¶
type BIOS ¶
type BIOS struct { }
If set (default), BIOS will be used. --- +k8s:openapi-gen=true
func (*BIOS) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BIOS.
func (*BIOS) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Bootloader ¶
type Bootloader struct { // If set (default), BIOS will be used. // +optional BIOS *BIOS `json:"bios,omitempty"` // If set, EFI will be used instead of BIOS. // +optional EFI *EFI `json:"efi,omitempty"` }
Represents the firmware blob used to assist in the domain creation process. Used for setting the QEMU BIOS file path for the libvirt domain. --- +k8s:openapi-gen=true
func (*Bootloader) DeepCopy ¶
func (in *Bootloader) DeepCopy() *Bootloader
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Bootloader.
func (*Bootloader) DeepCopyInto ¶
func (in *Bootloader) DeepCopyInto(out *Bootloader)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CDRomTarget ¶
type CDRomTarget struct { // Bus indicates the type of disk device to emulate. // supported values: virtio, sata, scsi. Bus string `json:"bus,omitempty"` // ReadOnly. // Defaults to true. ReadOnly *bool `json:"readonly,omitempty"` // Tray indicates if the tray of the device is open or closed. // Allowed values are "open" and "closed". // Defaults to closed. // +optional Tray TrayState `json:"tray,omitempty"` }
--- +k8s:openapi-gen=true
func (*CDRomTarget) DeepCopy ¶
func (in *CDRomTarget) DeepCopy() *CDRomTarget
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CDRomTarget.
func (*CDRomTarget) DeepCopyInto ¶
func (in *CDRomTarget) DeepCopyInto(out *CDRomTarget)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CPU ¶
type CPU struct { // Cores specifies the number of cores inside the vmi. // Must be a value greater or equal 1. Cores uint32 `json:"cores,omitempty"` // Sockets specifies the number of sockets inside the vmi. // Must be a value greater or equal 1. Sockets uint32 `json:"sockets,omitempty"` // Threads specifies the number of threads inside the vmi. // Must be a value greater or equal 1. Threads uint32 `json:"threads,omitempty"` // Model specifies the CPU model inside the VMI. // List of available models https://github.com/libvirt/libvirt/tree/master/src/cpu_map. // It is possible to specify special cases like "host-passthrough" to get the same CPU as the node // and "host-model" to get CPU closest to the node one. // Defaults to host-model. // +optional Model string `json:"model,omitempty"` // Features specifies the CPU features list inside the VMI. // +optional Features []CPUFeature `json:"features,omitempty"` // DedicatedCPUPlacement requests the scheduler to place the VirtualMachineInstance on a node // with enough dedicated pCPUs and pin the vCPUs to it. // +optional DedicatedCPUPlacement bool `json:"dedicatedCpuPlacement,omitempty"` // IsolateEmulatorThread requests one more dedicated pCPU to be allocated for the VMI to place // the emulator thread on it. // +optional IsolateEmulatorThread bool `json:"isolateEmulatorThread,omitempty"` }
CPU allows specifying the CPU topology. --- +k8s:openapi-gen=true
func (*CPU) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CPU.
func (*CPU) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CPUFeature ¶
type CPUFeature struct { // Name of the CPU feature Name string `json:"name"` // Policy is the CPU feature attribute which can have the following attributes: // force - The virtual CPU will claim the feature is supported regardless of it being supported by host CPU. // require - Guest creation will fail unless the feature is supported by the host CPU or the hypervisor is able to emulate it. // optional - The feature will be supported by virtual CPU if and only if it is supported by host CPU. // disable - The feature will not be supported by virtual CPU. // forbid - Guest creation will fail if the feature is supported by host CPU. // Defaults to require // +optional Policy string `json:"policy,omitempty"` }
CPUFeature allows specifying a CPU feature. --- +k8s:openapi-gen=true
func (*CPUFeature) DeepCopy ¶
func (in *CPUFeature) DeepCopy() *CPUFeature
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CPUFeature.
func (*CPUFeature) DeepCopyInto ¶
func (in *CPUFeature) DeepCopyInto(out *CPUFeature)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Chassis ¶
type Chassis struct { Manufacturer string `json:"manufacturer,omitempty"` Version string `json:"version,omitempty"` Serial string `json:"serial,omitempty"` Asset string `json:"asset,omitempty"` Sku string `json:"sku,omitempty"` }
Chassis specifies the chassis info passed to the domain. --- +k8s:openapi-gen=true
func (*Chassis) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Chassis.
func (*Chassis) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Clock ¶
type Clock struct { // ClockOffset allows specifying the UTC offset or the timezone of the guest clock. ClockOffset `json:",inline"` // Timer specifies whih timers are attached to the vmi. Timer *Timer `json:"timer,inline"` }
Represents the clock and timers of a vmi. --- +k8s:openapi-gen=true
func (*Clock) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Clock.
func (*Clock) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClockOffset ¶
type ClockOffset struct { // UTC sets the guest clock to UTC on each boot. If an offset is specified, // guest changes to the clock will be kept during reboots and are not reset. UTC *ClockOffsetUTC `json:"utc,omitempty"` // Timezone sets the guest clock to the specified timezone. // Zone name follows the TZ environment variable format (e.g. 'America/New_York'). Timezone *ClockOffsetTimezone `json:"timezone,omitempty"` }
Exactly one of its members must be set. --- +k8s:openapi-gen=true
func (*ClockOffset) DeepCopy ¶
func (in *ClockOffset) DeepCopy() *ClockOffset
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClockOffset.
func (*ClockOffset) DeepCopyInto ¶
func (in *ClockOffset) DeepCopyInto(out *ClockOffset)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClockOffsetTimezone ¶
type ClockOffsetTimezone string
ClockOffsetTimezone sets the guest clock to the specified timezone. Zone name follows the TZ environment variable format (e.g. 'America/New_York'). --- +k8s:openapi-gen=true
type ClockOffsetUTC ¶
type ClockOffsetUTC struct { // OffsetSeconds specifies an offset in seconds, relative to UTC. If set, // guest changes to the clock will be kept during reboots and not reset. OffsetSeconds *int `json:"offsetSeconds,omitempty"` }
UTC sets the guest clock to UTC on each boot. --- +k8s:openapi-gen=true
func (*ClockOffsetUTC) DeepCopy ¶
func (in *ClockOffsetUTC) DeepCopy() *ClockOffsetUTC
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClockOffsetUTC.
func (*ClockOffsetUTC) DeepCopyInto ¶
func (in *ClockOffsetUTC) DeepCopyInto(out *ClockOffsetUTC)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CloudInitConfigDriveSource ¶
type CloudInitConfigDriveSource struct { // UserDataSecretRef references a k8s secret that contains config drive userdata. // + optional UserDataSecretRef *v1.LocalObjectReference `json:"secretRef,omitempty"` // UserDataBase64 contains config drive cloud-init userdata as a base64 encoded string. // + optional UserDataBase64 string `json:"userDataBase64,omitempty"` // UserData contains config drive inline cloud-init userdata. // + optional UserData string `json:"userData,omitempty"` // NetworkDataSecretRef references a k8s secret that contains config drive networkdata. // + optional NetworkDataSecretRef *v1.LocalObjectReference `json:"networkDataSecretRef,omitempty"` // NetworkDataBase64 contains config drive cloud-init networkdata as a base64 encoded string. // + optional NetworkDataBase64 string `json:"networkDataBase64,omitempty"` // NetworkData contains config drive inline cloud-init networkdata. // + optional NetworkData string `json:"networkData,omitempty"` }
Represents a cloud-init config drive user data source. More info: https://cloudinit.readthedocs.io/en/latest/topics/datasources/configdrive.html --- +k8s:openapi-gen=true
func (*CloudInitConfigDriveSource) DeepCopy ¶
func (in *CloudInitConfigDriveSource) DeepCopy() *CloudInitConfigDriveSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudInitConfigDriveSource.
func (*CloudInitConfigDriveSource) DeepCopyInto ¶
func (in *CloudInitConfigDriveSource) DeepCopyInto(out *CloudInitConfigDriveSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CloudInitNoCloudSource ¶
type CloudInitNoCloudSource struct { // UserDataSecretRef references a k8s secret that contains NoCloud userdata. // + optional UserDataSecretRef *v1.LocalObjectReference `json:"secretRef,omitempty"` // UserDataBase64 contains NoCloud cloud-init userdata as a base64 encoded string. // + optional UserDataBase64 string `json:"userDataBase64,omitempty"` // UserData contains NoCloud inline cloud-init userdata. // + optional UserData string `json:"userData,omitempty"` // NetworkDataSecretRef references a k8s secret that contains NoCloud networkdata. // + optional NetworkDataSecretRef *v1.LocalObjectReference `json:"networkDataSecretRef,omitempty"` // NetworkDataBase64 contains NoCloud cloud-init networkdata as a base64 encoded string. // + optional NetworkDataBase64 string `json:"networkDataBase64,omitempty"` // NetworkData contains NoCloud inline cloud-init networkdata. // + optional NetworkData string `json:"networkData,omitempty"` }
Represents a cloud-init nocloud user data source. More info: http://cloudinit.readthedocs.io/en/latest/topics/datasources/nocloud.html --- +k8s:openapi-gen=true
func (*CloudInitNoCloudSource) DeepCopy ¶
func (in *CloudInitNoCloudSource) DeepCopy() *CloudInitNoCloudSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudInitNoCloudSource.
func (*CloudInitNoCloudSource) DeepCopyInto ¶
func (in *CloudInitNoCloudSource) DeepCopyInto(out *CloudInitNoCloudSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConfigMapVolumeSource ¶
type ConfigMapVolumeSource struct { v1.LocalObjectReference `json:",inline"` // Specify whether the ConfigMap or it's keys must be defined // +optional Optional *bool `json:"optional,omitempty"` }
ConfigMapVolumeSource adapts a ConfigMap into a volume. More info: https://kubernetes.io/docs/concepts/storage/volumes/#configmap --- +k8s:openapi-gen=true
func (*ConfigMapVolumeSource) DeepCopy ¶
func (in *ConfigMapVolumeSource) DeepCopy() *ConfigMapVolumeSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigMapVolumeSource.
func (*ConfigMapVolumeSource) DeepCopyInto ¶
func (in *ConfigMapVolumeSource) DeepCopyInto(out *ConfigMapVolumeSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ContainerDiskSource ¶
type ContainerDiskSource struct { // Image is the name of the image with the embedded disk. Image string `json:"image"` // ImagePullSecret is the name of the Docker registry secret required to pull the image. The secret must already exist. ImagePullSecret string `json:"imagePullSecret,omitempty"` // Path defines the path to disk file in the container Path string `json:"path,omitempty"` // Image pull policy. // One of Always, Never, IfNotPresent. // Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. // Cannot be updated. // More info: https://kubernetes.io/docs/concepts/containers/images#updating-images // +optional ImagePullPolicy v1.PullPolicy `json:"imagePullPolicy,omitempty"` }
Represents a docker image with an embedded disk. --- +k8s:openapi-gen=true
func (*ContainerDiskSource) DeepCopy ¶
func (in *ContainerDiskSource) DeepCopy() *ContainerDiskSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerDiskSource.
func (*ContainerDiskSource) DeepCopyInto ¶
func (in *ContainerDiskSource) DeepCopyInto(out *ContainerDiskSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DHCPOptions ¶
type DHCPOptions struct { // If specified will pass option 67 to interface's DHCP server // +optional BootFileName string `json:"bootFileName,omitempty"` // If specified will pass option 66 to interface's DHCP server // +optional TFTPServerName string `json:"tftpServerName,omitempty"` // If specified will pass the configured NTP server to the VM via DHCP option 042. // +optional NTPServers []string `json:"ntpServers,omitempty"` // If specified will pass extra DHCP options for private use, range: 224-254 // +optional PrivateOptions []DHCPPrivateOptions `json:"privateOptions,omitempty"` }
Extra DHCP options to use in the interface. --- +k8s:openapi-gen=true
func (*DHCPOptions) DeepCopy ¶
func (in *DHCPOptions) DeepCopy() *DHCPOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DHCPOptions.
func (*DHCPOptions) DeepCopyInto ¶
func (in *DHCPOptions) DeepCopyInto(out *DHCPOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DHCPPrivateOptions ¶
type DHCPPrivateOptions struct { // Option is an Integer value from 224-254 // Required. Option int `json:"option"` // Value is a String value for the Option provided // Required. Value string `json:"value"` }
DHCPExtraOptions defines Extra DHCP options for a VM.
func (*DHCPPrivateOptions) DeepCopy ¶
func (in *DHCPPrivateOptions) DeepCopy() *DHCPPrivateOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DHCPPrivateOptions.
func (*DHCPPrivateOptions) DeepCopyInto ¶
func (in *DHCPPrivateOptions) DeepCopyInto(out *DHCPPrivateOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DataVolumeSource ¶
type DataVolumeSource struct { // Name represents the name of the DataVolume in the same namespace Name string `json:"name"` }
--- +k8s:openapi-gen=true
func (*DataVolumeSource) DeepCopy ¶
func (in *DataVolumeSource) DeepCopy() *DataVolumeSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataVolumeSource.
func (*DataVolumeSource) DeepCopyInto ¶
func (in *DataVolumeSource) DeepCopyInto(out *DataVolumeSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Devices ¶
type Devices struct { // Disks describes disks, cdroms, floppy and luns which are connected to the vmi. Disks []Disk `json:"disks,omitempty"` // Watchdog describes a watchdog device which can be added to the vmi. Watchdog *Watchdog `json:"watchdog,omitempty"` // Interfaces describe network interfaces which are added to the vmi. Interfaces []Interface `json:"interfaces,omitempty"` // Inputs describe input devices Inputs []Input `json:"inputs,omitempty"` // Whether to attach a pod network interface. Defaults to true. AutoattachPodInterface *bool `json:"autoattachPodInterface,omitempty"` // Whether to attach the default graphics device or not. // VNC will not be available if set to false. Defaults to true. AutoattachGraphicsDevice *bool `json:"autoattachGraphicsDevice,omitempty"` // Whether to attach the default serial console or not. // Serial console access will not be available if set to false. Defaults to true. AutoattachSerialConsole *bool `json:"autoattachSerialConsole,omitempty"` // Whether to have random number generator from host // +optional Rng *Rng `json:"rng,omitempty"` // Whether or not to enable virtio multi-queue for block devices // +optional BlockMultiQueue *bool `json:"blockMultiQueue,omitempty"` // If specified, virtual network interfaces configured with a virtio bus will also enable the vhost multiqueue feature // +optional NetworkInterfaceMultiQueue *bool `json:"networkInterfaceMultiqueue,omitempty"` //Whether to attach a GPU device to the vmi. // +optional GPUs []GPU `json:"gpus,omitempty"` }
--- +k8s:openapi-gen=true
func (*Devices) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Devices.
func (*Devices) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Disk ¶
type Disk struct { // Name is the device name Name string `json:"name"` // DiskDevice specifies as which device the disk should be added to the guest. // Defaults to Disk. DiskDevice `json:",inline"` // BootOrder is an integer value > 0, used to determine ordering of boot devices. // Lower values take precedence. // Each disk or interface that has a boot order must have a unique value. // Disks without a boot order are not tried if a disk with a boot order exists. // +optional BootOrder *uint `json:"bootOrder,omitempty"` // Serial provides the ability to specify a serial number for the disk device. // +optional Serial string `json:"serial,omitempty"` // dedicatedIOThread indicates this disk should have an exclusive IO Thread. // Enabling this implies useIOThreads = true. // Defaults to false. // +optional DedicatedIOThread *bool `json:"dedicatedIOThread,omitempty"` // Cache specifies which kvm disk cache mode should be used. // +optional Cache DriverCache `json:"cache,omitempty"` }
--- +k8s:openapi-gen=true
func (*Disk) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Disk.
func (*Disk) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DiskDevice ¶
type DiskDevice struct { // Attach a volume as a disk to the vmi. Disk *DiskTarget `json:"disk,omitempty"` // Attach a volume as a LUN to the vmi. LUN *LunTarget `json:"lun,omitempty"` // Attach a volume as a floppy to the vmi. Floppy *FloppyTarget `json:"floppy,omitempty"` // Attach a volume as a cdrom to the vmi. CDRom *CDRomTarget `json:"cdrom,omitempty"` }
Represents the target of a volume to mount. Only one of its members may be specified. --- +k8s:openapi-gen=true
func (*DiskDevice) DeepCopy ¶
func (in *DiskDevice) DeepCopy() *DiskDevice
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskDevice.
func (*DiskDevice) DeepCopyInto ¶
func (in *DiskDevice) DeepCopyInto(out *DiskDevice)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DiskTarget ¶
type DiskTarget struct { // Bus indicates the type of disk device to emulate. // supported values: virtio, sata, scsi. Bus string `json:"bus,omitempty"` // ReadOnly. // Defaults to false. ReadOnly bool `json:"readonly,omitempty"` // If specified, the virtual disk will be placed on the guests pci address with the specifed PCI address. For example: 0000:81:01.10 // +optional PciAddress string `json:"pciAddress,omitempty"` }
--- +k8s:openapi-gen=true
func (*DiskTarget) DeepCopy ¶
func (in *DiskTarget) DeepCopy() *DiskTarget
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskTarget.
func (*DiskTarget) DeepCopyInto ¶
func (in *DiskTarget) DeepCopyInto(out *DiskTarget)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DomainSpec ¶
type DomainSpec struct { // Resources describes the Compute Resources required by this vmi. Resources ResourceRequirements `json:"resources,omitempty"` // CPU allow specified the detailed CPU topology inside the vmi. // +optional CPU *CPU `json:"cpu,omitempty"` // Memory allow specifying the VMI memory features. // +optional Memory *Memory `json:"memory,omitempty"` // Machine type. // +optional Machine Machine `json:"machine,omitempty"` // Firmware. // +optional Firmware *Firmware `json:"firmware,omitempty"` // Clock sets the clock and timers of the vmi. // +optional Clock *Clock `json:"clock,omitempty"` // Features like acpi, apic, hyperv, smm. // +optional Features *Features `json:"features,omitempty"` // Devices allows adding disks, network interfaces, ... Devices Devices `json:"devices"` // Controls whether or not disks will share IOThreads. // Omitting IOThreadsPolicy disables use of IOThreads. // One of: shared, auto // +optional IOThreadsPolicy *IOThreadsPolicy `json:"ioThreadsPolicy,omitempty"` // Chassis specifies the chassis info passed to the domain. // +optional Chassis *Chassis `json:"chassis,omitempty"` }
--- +k8s:openapi-gen=true
func (*DomainSpec) DeepCopy ¶
func (in *DomainSpec) DeepCopy() *DomainSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DomainSpec.
func (*DomainSpec) DeepCopyInto ¶
func (in *DomainSpec) DeepCopyInto(out *DomainSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DriverCache ¶
type DriverCache string
--- +k8s:openapi-gen=true
const ( // CacheNone - I/O from the guest is not cached on the host, but may be kept in a writeback disk cache. CacheNone DriverCache = "none" // CacheWriteThrough - I/O from the guest is cached on the host but written through to the physical medium. CacheWriteThrough DriverCache = "writethrough" )
type EFI ¶
type EFI struct { }
If set, EFI will be used instead of BIOS. --- +k8s:openapi-gen=true
func (*EFI) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EFI.
func (*EFI) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EmptyDiskSource ¶
type EmptyDiskSource struct { // Capacity of the sparse disk. Capacity resource.Quantity `json:"capacity"` }
EmptyDisk represents a temporary disk which shares the vmis lifecycle. --- +k8s:openapi-gen=true
func (*EmptyDiskSource) DeepCopy ¶
func (in *EmptyDiskSource) DeepCopy() *EmptyDiskSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EmptyDiskSource.
func (*EmptyDiskSource) DeepCopyInto ¶
func (in *EmptyDiskSource) DeepCopyInto(out *EmptyDiskSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EphemeralVolumeSource ¶
type EphemeralVolumeSource struct { // PersistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace. // Directly attached to the vmi via qemu. // More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims // +optional PersistentVolumeClaim *v1.PersistentVolumeClaimVolumeSource `json:"persistentVolumeClaim,omitempty"` }
--- +k8s:openapi-gen=true
func (*EphemeralVolumeSource) DeepCopy ¶
func (in *EphemeralVolumeSource) DeepCopy() *EphemeralVolumeSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EphemeralVolumeSource.
func (*EphemeralVolumeSource) DeepCopyInto ¶
func (in *EphemeralVolumeSource) DeepCopyInto(out *EphemeralVolumeSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EvictionStrategy ¶
type EvictionStrategy string
+k8s:openapi-gen=true
const (
EvictionStrategyLiveMigrate EvictionStrategy = "LiveMigrate"
)
type FeatureAPIC ¶
type FeatureAPIC struct { // Enabled determines if the feature should be enabled or disabled on the guest. // Defaults to true. // +optional Enabled *bool `json:"enabled,omitempty"` // EndOfInterrupt enables the end of interrupt notification in the guest. // Defaults to false. // +optional EndOfInterrupt bool `json:"endOfInterrupt,omitempty"` }
--- +k8s:openapi-gen=true
func (*FeatureAPIC) DeepCopy ¶
func (in *FeatureAPIC) DeepCopy() *FeatureAPIC
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeatureAPIC.
func (*FeatureAPIC) DeepCopyInto ¶
func (in *FeatureAPIC) DeepCopyInto(out *FeatureAPIC)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FeatureHyperv ¶
type FeatureHyperv struct { // Relaxed instructs the guest OS to disable watchdog timeouts. // Defaults to the machine type setting. // +optional Relaxed *FeatureState `json:"relaxed,omitempty"` // VAPIC improves the paravirtualized handling of interrupts. // Defaults to the machine type setting. // +optional VAPIC *FeatureState `json:"vapic,omitempty"` // Spinlocks allows to configure the spinlock retry attempts. // +optional Spinlocks *FeatureSpinlocks `json:"spinlocks,omitempty"` // VPIndex enables the Virtual Processor Index to help windows identifying virtual processors. // Defaults to the machine type setting. // +optional VPIndex *FeatureState `json:"vpindex,omitempty"` // Runtime improves the time accounting to improve scheduling in the guest. // Defaults to the machine type setting. // +optional Runtime *FeatureState `json:"runtime,omitempty"` // SyNIC enables the Synthetic Interrupt Controller. // Defaults to the machine type setting. // +optional SyNIC *FeatureState `json:"synic,omitempty"` // SyNICTimer enables Synthetic Interrupt Controller Timers, reducing CPU load. // Defaults to the machine type setting. // +optional SyNICTimer *FeatureState `json:"synictimer,omitempty"` // Reset enables Hyperv reboot/reset for the vmi. Requires synic. // Defaults to the machine type setting. // +optional Reset *FeatureState `json:"reset,omitempty"` // VendorID allows setting the hypervisor vendor id. // Defaults to the machine type setting. // +optional VendorID *FeatureVendorID `json:"vendorid,omitempty"` // Frequencies improves the TSC clock source handling for Hyper-V on KVM. // Defaults to the machine type setting. // +optional Frequencies *FeatureState `json:"frequencies,omitempty"` // Reenlightenment enables the notifications on TSC frequency changes. // Defaults to the machine type setting. // +optional Reenlightenment *FeatureState `json:"reenlightenment,omitempty"` // TLBFlush improves performances in overcommited environments. Requires vpindex. // Defaults to the machine type setting. // +optional TLBFlush *FeatureState `json:"tlbflush,omitempty"` // IPI improves performances in overcommited environments. Requires vpindex. // Defaults to the machine type setting. // +optional IPI *FeatureState `json:"ipi,omitempty"` // EVMCS Speeds up L2 vmexits, but disables other virtualization features. Requires vapic. // Defaults to the machine type setting. // +optional EVMCS *FeatureState `json:"evmcs,omitempty"` }
Hyperv specific features. --- +k8s:openapi-gen=true
func (*FeatureHyperv) DeepCopy ¶
func (in *FeatureHyperv) DeepCopy() *FeatureHyperv
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeatureHyperv.
func (*FeatureHyperv) DeepCopyInto ¶
func (in *FeatureHyperv) DeepCopyInto(out *FeatureHyperv)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FeatureSpinlocks ¶
type FeatureSpinlocks struct { // Enabled determines if the feature should be enabled or disabled on the guest. // Defaults to true. // +optional Enabled *bool `json:"enabled,omitempty"` // Retries indicates the number of retries. // Must be a value greater or equal 4096. // Defaults to 4096. // +optional Retries *uint32 `json:"spinlocks,omitempty"` }
--- +k8s:openapi-gen=true
func (*FeatureSpinlocks) DeepCopy ¶
func (in *FeatureSpinlocks) DeepCopy() *FeatureSpinlocks
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeatureSpinlocks.
func (*FeatureSpinlocks) DeepCopyInto ¶
func (in *FeatureSpinlocks) DeepCopyInto(out *FeatureSpinlocks)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FeatureState ¶
type FeatureState struct { // Enabled determines if the feature should be enabled or disabled on the guest. // Defaults to true. // +optional Enabled *bool `json:"enabled,omitempty"` }
Represents if a feature is enabled or disabled. --- +k8s:openapi-gen=true
func (*FeatureState) DeepCopy ¶
func (in *FeatureState) DeepCopy() *FeatureState
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeatureState.
func (*FeatureState) DeepCopyInto ¶
func (in *FeatureState) DeepCopyInto(out *FeatureState)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FeatureVendorID ¶
type FeatureVendorID struct { // Enabled determines if the feature should be enabled or disabled on the guest. // Defaults to true. // +optional Enabled *bool `json:"enabled,omitempty"` // VendorID sets the hypervisor vendor id, visible to the vmi. // String up to twelve characters. VendorID string `json:"vendorid,omitempty"` }
--- +k8s:openapi-gen=true
func (*FeatureVendorID) DeepCopy ¶
func (in *FeatureVendorID) DeepCopy() *FeatureVendorID
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeatureVendorID.
func (*FeatureVendorID) DeepCopyInto ¶
func (in *FeatureVendorID) DeepCopyInto(out *FeatureVendorID)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Features ¶
type Features struct { // ACPI enables/disables ACPI insidejsondata guest. // Defaults to enabled. // +optional ACPI FeatureState `json:"acpi,omitempty"` // Defaults to the machine type setting. // +optional APIC *FeatureAPIC `json:"apic,omitempty"` // Defaults to the machine type setting. // +optional Hyperv *FeatureHyperv `json:"hyperv,omitempty"` // SMM enables/disables System Management Mode. // TSEG not yet implemented. // +optional SMM *FeatureState `json:"smm,omitempty"` }
--- +k8s:openapi-gen=true
func (*Features) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Features.
func (*Features) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Firmware ¶
type Firmware struct { // UUID reported by the vmi bios. // Defaults to a random generated uid. UUID types.UID `json:"uuid,omitempty"` // Settings to control the bootloader that is used. // +optional Bootloader *Bootloader `json:"bootloader,omitempty"` // The system-serial-number in SMBIOS Serial string `json:"serial,omitempty"` }
--- +k8s:openapi-gen=true
func (*Firmware) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Firmware.
func (*Firmware) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FloppyTarget ¶
type FloppyTarget struct { // ReadOnly. // Defaults to false. ReadOnly bool `json:"readonly,omitempty"` // Tray indicates if the tray of the device is open or closed. // Allowed values are "open" and "closed". // Defaults to closed. // +optional Tray TrayState `json:"tray,omitempty"` }
--- +k8s:openapi-gen=true
func (*FloppyTarget) DeepCopy ¶
func (in *FloppyTarget) DeepCopy() *FloppyTarget
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FloppyTarget.
func (*FloppyTarget) DeepCopyInto ¶
func (in *FloppyTarget) DeepCopyInto(out *FloppyTarget)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GPU ¶
type GPU struct { // Name of the GPU device as exposed by a device plugin Name string `json:"name"` DeviceName string `json:"deviceName"` }
--- +k8s:openapi-gen=true
func (*GPU) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GPU.
func (*GPU) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GenieNetwork ¶
type GenieNetwork struct { // References the CNI plugin name. NetworkName string `json:"networkName"` }
Represents the genie cni network. --- +k8s:openapi-gen=true
func (*GenieNetwork) DeepCopy ¶
func (in *GenieNetwork) DeepCopy() *GenieNetwork
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GenieNetwork.
func (*GenieNetwork) DeepCopyInto ¶
func (in *GenieNetwork) DeepCopyInto(out *GenieNetwork)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HPETTickPolicy ¶
type HPETTickPolicy string
HPETTickPolicy determines what happens when QEMU misses a deadline for injecting a tick to the guest. --- +k8s:openapi-gen=true
type HPETTimer ¶
type HPETTimer struct { // TickPolicy determines what happens when QEMU misses a deadline for injecting a tick to the guest. // One of "delay", "catchup", "merge", "discard". TickPolicy HPETTickPolicy `json:"tickPolicy,omitempty"` // Enabled set to false makes sure that the machine type or a preset can't add the timer. // Defaults to true. // +optional Enabled *bool `json:"present,omitempty"` }
--- +k8s:openapi-gen=true
func (*HPETTimer) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HPETTimer.
func (*HPETTimer) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Handler ¶
type Handler struct { // HTTPGet specifies the http request to perform. // +optional HTTPGet *k8sv1.HTTPGetAction `json:"httpGet,omitempty"` // TCPSocket specifies an action involving a TCP port. // TCP hooks not yet supported // TODO: implement a realistic TCP lifecycle hook // +optional TCPSocket *k8sv1.TCPSocketAction `json:"tcpSocket,omitempty"` }
Handler defines a specific action that should be taken TODO: pass structured data to these actions, and document that data here.
func (*Handler) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Handler.
func (*Handler) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HostDisk ¶
type HostDisk struct { // The path to HostDisk image located on the cluster Path string `json:"path"` // Contains information if disk.img exists or should be created // allowed options are 'Disk' and 'DiskOrCreate' Type HostDiskType `json:"type"` // Capacity of the sparse disk // +optional Capacity resource.Quantity `json:"capacity,omitempty"` Shared *bool `json:"shared,omitempty"` }
Represents a disk created on the cluster level --- +k8s:openapi-gen=true
func (*HostDisk) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostDisk.
func (*HostDisk) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HostDiskType ¶
type HostDiskType string
--- +k8s:openapi-gen=true
const ( // if disk does not exist at the given path, // a disk image will be created there HostDiskExistsOrCreate HostDiskType = "DiskOrCreate" // a disk image must exist at given disk path HostDiskExists HostDiskType = "Disk" )
type Hugepages ¶
type Hugepages struct { // PageSize specifies the hugepage size, for x86_64 architecture valid values are 1Gi and 2Mi. PageSize string `json:"pageSize,omitempty"` }
Hugepages allow to use hugepages for the VirtualMachineInstance instead of regular memory. --- +k8s:openapi-gen=true
func (*Hugepages) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Hugepages.
func (*Hugepages) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HypervTimer ¶
type HypervTimer struct { // Enabled set to false makes sure that the machine type or a preset can't add the timer. // Defaults to true. // +optional Enabled *bool `json:"present,omitempty"` }
--- +k8s:openapi-gen=true
func (*HypervTimer) DeepCopy ¶
func (in *HypervTimer) DeepCopy() *HypervTimer
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HypervTimer.
func (*HypervTimer) DeepCopyInto ¶
func (in *HypervTimer) DeepCopyInto(out *HypervTimer)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type I6300ESBWatchdog ¶
type I6300ESBWatchdog struct { // The action to take. Valid values are poweroff, reset, shutdown. // Defaults to reset. Action WatchdogAction `json:"action,omitempty"` }
i6300esb watchdog device. --- +k8s:openapi-gen=true
func (*I6300ESBWatchdog) DeepCopy ¶
func (in *I6300ESBWatchdog) DeepCopy() *I6300ESBWatchdog
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new I6300ESBWatchdog.
func (*I6300ESBWatchdog) DeepCopyInto ¶
func (in *I6300ESBWatchdog) DeepCopyInto(out *I6300ESBWatchdog)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IOThreadsPolicy ¶
type IOThreadsPolicy string
type Input ¶
type Input struct { // Bus indicates the bus of input device to emulate. // Supported values: virtio, usb. Bus string `json:"bus,omitempty"` // Type indicated the type of input device. // Supported values: tablet. Type string `json:"type"` // Name is the device name Name string `json:"name"` }
--- +k8s:openapi-gen=true
func (*Input) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Input.
func (*Input) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Interface ¶
type Interface struct { // Logical name of the interface as well as a reference to the associated networks. // Must match the Name of a Network. Name string `json:"name"` // Interface model. // One of: e1000, e1000e, ne2k_pci, pcnet, rtl8139, virtio. // Defaults to virtio. // TODO:(ihar) switch to enums once opengen-api supports them. See: https://github.com/kubernetes/kube-openapi/issues/51 Model string `json:"model,omitempty"` // BindingMethod specifies the method which will be used to connect the interface to the guest. // Defaults to Bridge. InterfaceBindingMethod `json:",inline"` // List of ports to be forwarded to the virtual machine. Ports []Port `json:"ports,omitempty"` // Interface MAC address. For example: de:ad:00:00:be:af or DE-AD-00-00-BE-AF. MacAddress string `json:"macAddress,omitempty"` // BootOrder is an integer value > 0, used to determine ordering of boot devices. // Lower values take precedence. // Each interface or disk that has a boot order must have a unique value. // Interfaces without a boot order are not tried. // +optional BootOrder *uint `json:"bootOrder,omitempty"` // If specified, the virtual network interface will be placed on the guests pci address with the specifed PCI address. For example: 0000:81:01.10 // +optional PciAddress string `json:"pciAddress,omitempty"` // If specified the network interface will pass additional DHCP options to the VMI // +optional DHCPOptions *DHCPOptions `json:"dhcpOptions,omitempty"` }
--- +k8s:openapi-gen=true
func DefaultBridgeNetworkInterface ¶
func DefaultBridgeNetworkInterface() *Interface
func DefaultMasqueradeNetworkInterface ¶
func DefaultMasqueradeNetworkInterface() *Interface
func DefaultSlirpNetworkInterface ¶
func DefaultSlirpNetworkInterface() *Interface
func (*Interface) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Interface.
func (*Interface) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InterfaceBindingMethod ¶
type InterfaceBindingMethod struct { Bridge *InterfaceBridge `json:"bridge,omitempty"` Slirp *InterfaceSlirp `json:"slirp,omitempty"` Masquerade *InterfaceMasquerade `json:"masquerade,omitempty"` SRIOV *InterfaceSRIOV `json:"sriov,omitempty"` }
Represents the method which will be used to connect the interface to the guest. Only one of its members may be specified. --- +k8s:openapi-gen=true
func (*InterfaceBindingMethod) DeepCopy ¶
func (in *InterfaceBindingMethod) DeepCopy() *InterfaceBindingMethod
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InterfaceBindingMethod.
func (*InterfaceBindingMethod) DeepCopyInto ¶
func (in *InterfaceBindingMethod) DeepCopyInto(out *InterfaceBindingMethod)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InterfaceBridge ¶
type InterfaceBridge struct{}
--- +k8s:openapi-gen=true
func (*InterfaceBridge) DeepCopy ¶
func (in *InterfaceBridge) DeepCopy() *InterfaceBridge
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InterfaceBridge.
func (*InterfaceBridge) DeepCopyInto ¶
func (in *InterfaceBridge) DeepCopyInto(out *InterfaceBridge)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InterfaceMasquerade ¶
type InterfaceMasquerade struct{}
--- +k8s:openapi-gen=true
func (*InterfaceMasquerade) DeepCopy ¶
func (in *InterfaceMasquerade) DeepCopy() *InterfaceMasquerade
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InterfaceMasquerade.
func (*InterfaceMasquerade) DeepCopyInto ¶
func (in *InterfaceMasquerade) DeepCopyInto(out *InterfaceMasquerade)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InterfaceSRIOV ¶
type InterfaceSRIOV struct{}
--- +k8s:openapi-gen=true
func (*InterfaceSRIOV) DeepCopy ¶
func (in *InterfaceSRIOV) DeepCopy() *InterfaceSRIOV
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InterfaceSRIOV.
func (*InterfaceSRIOV) DeepCopyInto ¶
func (in *InterfaceSRIOV) DeepCopyInto(out *InterfaceSRIOV)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InterfaceSlirp ¶
type InterfaceSlirp struct{}
--- +k8s:openapi-gen=true
func (*InterfaceSlirp) DeepCopy ¶
func (in *InterfaceSlirp) DeepCopy() *InterfaceSlirp
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InterfaceSlirp.
func (*InterfaceSlirp) DeepCopyInto ¶
func (in *InterfaceSlirp) DeepCopyInto(out *InterfaceSlirp)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KVMTimer ¶
type KVMTimer struct { // Enabled set to false makes sure that the machine type or a preset can't add the timer. // Defaults to true. // +optional Enabled *bool `json:"present,omitempty"` }
--- +k8s:openapi-gen=true
func (*KVMTimer) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KVMTimer.
func (*KVMTimer) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubeVirt ¶
type KubeVirt struct { metav1.TypeMeta `json:",inline"` // +k8s:openapi-gen=false metav1.ObjectMeta `json:"metadata,omitempty"` Spec KubeVirtSpec `json:"spec" valid:"required"` Status KubeVirtStatus `json:"status,omitempty"` }
KubeVirt represents the object deploying all KubeVirt resources --- +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +k8s:openapi-gen=true
func (*KubeVirt) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeVirt.
func (*KubeVirt) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KubeVirt) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type KubeVirtCondition ¶
type KubeVirtCondition struct { Type KubeVirtConditionType `json:"type"` Status k8sv1.ConditionStatus `json:"status"` LastProbeTime metav1.Time `json:"lastProbeTime,omitempty"` LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"` Reason string `json:"reason,omitempty"` Message string `json:"message,omitempty"` }
KubeVirtCondition represents a condition of a KubeVirt deployment --- +k8s:openapi-gen=true
func (*KubeVirtCondition) DeepCopy ¶
func (in *KubeVirtCondition) DeepCopy() *KubeVirtCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeVirtCondition.
func (*KubeVirtCondition) DeepCopyInto ¶
func (in *KubeVirtCondition) DeepCopyInto(out *KubeVirtCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubeVirtConditionType ¶
type KubeVirtConditionType string
--- +k8s:openapi-gen=true
const ( // Whether the deployment or deletion was successful (only used if false) KubeVirtConditionSynchronized KubeVirtConditionType = "Synchronized" // Whether all resources were created and up-to-date KubeVirtConditionCreated KubeVirtConditionType = "Created" // Conditions for HCO, see https://github.com/kubevirt/hyperconverged-cluster-operator/blob/master/docs/conditions.md // Whether KubeVirt is functional and available in the cluster. KubeVirtConditionAvailable KubeVirtConditionType = "Available" // Whether the operator is actively making changes to KubeVirt KubeVirtConditionProgressing KubeVirtConditionType = "Progressing" // Whether KubeVirt is not functioning completely KubeVirtConditionDegraded KubeVirtConditionType = "Degraded" )
These are the valid KubeVirt condition types
type KubeVirtList ¶
type KubeVirtList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []KubeVirt `json:"items"` }
KubeVirtList is a list of KubeVirts --- +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +k8s:openapi-gen=true
func (*KubeVirtList) DeepCopy ¶
func (in *KubeVirtList) DeepCopy() *KubeVirtList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeVirtList.
func (*KubeVirtList) DeepCopyInto ¶
func (in *KubeVirtList) DeepCopyInto(out *KubeVirtList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KubeVirtList) DeepCopyObject ¶
func (in *KubeVirtList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type KubeVirtPhase ¶
type KubeVirtPhase string
KubeVirtPhase is a label for the phase of a KubeVirt deployment at the current time. --- +k8s:openapi-gen=true
const ( // The deployment is processing KubeVirtPhaseDeploying KubeVirtPhase = "Deploying" // The deployment succeeded KubeVirtPhaseDeployed KubeVirtPhase = "Deployed" // The deletion is processing KubeVirtPhaseDeleting KubeVirtPhase = "Deleting" // The deletion succeeeded KubeVirtPhaseDeleted KubeVirtPhase = "Deleted" )
These are the valid KubeVirt deployment phases
type KubeVirtSpec ¶
type KubeVirtSpec struct { // The image tag to use for the continer images installed. // Defaults to the same tag as the operator's container image. ImageTag string `json:"imageTag,omitempty"` // The image registry to pull the container images from // Defaults to the same registry the operator's container image is pulled from. ImageRegistry string `json:"imageRegistry,omitempty"` // The ImagePullPolicy to use. ImagePullPolicy k8sv1.PullPolicy `json:"imagePullPolicy,omitempty" valid:"required"` // The namespace Prometheus is deployed in // Defaults to openshift-monitor MonitorNamespace string `json:"monitorNamespace,omitempty"` // The name of the Prometheus service account that needs read-access to KubeVirt endpoints // Defaults to prometheus-k8s MonitorAccount string `json:"monitorAccount,omitempty"` // Specifies if kubevirt can be deleted if workloads are still present. // This is mainly a precaution to avoid accidental data loss UninstallStrategy KubeVirtUninstallStrategy `json:"uninstallStrategy,omitempty"` }
--- +k8s:openapi-gen=true
func (*KubeVirtSpec) DeepCopy ¶
func (in *KubeVirtSpec) DeepCopy() *KubeVirtSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeVirtSpec.
func (*KubeVirtSpec) DeepCopyInto ¶
func (in *KubeVirtSpec) DeepCopyInto(out *KubeVirtSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubeVirtStatus ¶
type KubeVirtStatus struct { Phase KubeVirtPhase `json:"phase,omitempty"` Conditions []KubeVirtCondition `json:"conditions,omitempty" optional:"true"` OperatorVersion string `json:"operatorVersion,omitempty" optional:"true"` TargetKubeVirtRegistry string `json:"targetKubeVirtRegistry,omitempty" optional:"true"` TargetKubeVirtVersion string `json:"targetKubeVirtVersion,omitempty" optional:"true"` TargetDeploymentConfig string `json:"targetDeploymentConfig,omitempty" optional:"true"` TargetDeploymentID string `json:"targetDeploymentID,omitempty" optional:"true"` ObservedKubeVirtRegistry string `json:"observedKubeVirtRegistry,omitempty" optional:"true"` ObservedKubeVirtVersion string `json:"observedKubeVirtVersion,omitempty" optional:"true"` ObservedDeploymentConfig string `json:"observedDeploymentConfig,omitempty" optional:"true"` ObservedDeploymentID string `json:"observedDeploymentID,omitempty" optional:"true"` }
KubeVirtStatus represents information pertaining to a KubeVirt deployment. --- +k8s:openapi-gen=true
func (*KubeVirtStatus) DeepCopy ¶
func (in *KubeVirtStatus) DeepCopy() *KubeVirtStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeVirtStatus.
func (*KubeVirtStatus) DeepCopyInto ¶
func (in *KubeVirtStatus) DeepCopyInto(out *KubeVirtStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubeVirtUninstallStrategy ¶
type KubeVirtUninstallStrategy string
const ( KubeVirtUninstallStrategyRemoveWorkloads KubeVirtUninstallStrategy = "RemoveWorkloads" KubeVirtUninstallStrategyBlockUninstallIfWorkloadsExist KubeVirtUninstallStrategy = "BlockUninstallIfWorkloadsExist" )
type LunTarget ¶
type LunTarget struct { // Bus indicates the type of disk device to emulate. // supported values: virtio, sata, scsi. Bus string `json:"bus,omitempty"` // ReadOnly. // Defaults to false. ReadOnly bool `json:"readonly,omitempty"` }
--- +k8s:openapi-gen=true
func (*LunTarget) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LunTarget.
func (*LunTarget) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Machine ¶
type Machine struct { // QEMU machine type is the actual chipset of the VirtualMachineInstance. Type string `json:"type"` }
--- +k8s:openapi-gen=true
func (*Machine) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Machine.
func (*Machine) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Memory ¶
type Memory struct { // Hugepages allow to use hugepages for the VirtualMachineInstance instead of regular memory. // +optional Hugepages *Hugepages `json:"hugepages,omitempty"` // Guest allows to specifying the amount of memory which is visible inside the Guest OS. // The Guest must lie between Requests and Limits from the resources section. // Defaults to the requested memory in the resources section if not specified. // + optional Guest *resource.Quantity `json:"guest,omitempty"` }
Memory allows specifying the VirtualMachineInstance memory features. --- +k8s:openapi-gen=true
func (*Memory) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Memory.
func (*Memory) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MigrationAbortStatus ¶
type MigrationAbortStatus string
--- +k8s:openapi-gen=true
const ( // MigrationAbortSucceeded means that the VirtualMachineInstance live migration has been aborted MigrationAbortSucceeded MigrationAbortStatus = "Succeeded" // MigrationAbortFailed means that the vmi live migration has failed to be abort MigrationAbortFailed MigrationAbortStatus = "Failed" // MigrationAbortInProgress mean that the vmi live migration is aborting MigrationAbortInProgress MigrationAbortStatus = "Aborting" )
type MultusNetwork ¶
type MultusNetwork struct { // References to a NetworkAttachmentDefinition CRD object. Format: // <networkName>, <namespace>/<networkName>. If namespace is not // specified, VMI namespace is assumed. NetworkName string `json:"networkName"` // Select the default network and add it to the // multus-cni.io/default-network annotation. Default bool `json:"default,omitempty"` }
Represents the multus cni network. --- +k8s:openapi-gen=true
func (*MultusNetwork) DeepCopy ¶
func (in *MultusNetwork) DeepCopy() *MultusNetwork
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MultusNetwork.
func (*MultusNetwork) DeepCopyInto ¶
func (in *MultusNetwork) DeepCopyInto(out *MultusNetwork)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Network ¶
type Network struct { // Network name. // Must be a DNS_LABEL and unique within the vm. // More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names Name string `json:"name"` // NetworkSource represents the network type and the source interface that should be connected to the virtual machine. // Defaults to Pod, if no type is specified. NetworkSource `json:",inline"` }
Network represents a network type and a resource that should be connected to the vm. --- +k8s:openapi-gen=true
func DefaultPodNetwork ¶
func DefaultPodNetwork() *Network
func (*Network) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Network.
func (*Network) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NetworkInterfaceType ¶
type NetworkInterfaceType string
--- +k8s:openapi-gen=true
const ( // Virtual machine instance bride interface BridgeInterface NetworkInterfaceType = "bridge" // Virtual machine instance slirp interface SlirpInterface NetworkInterfaceType = "slirp" // Virtual machine instance masquerade interface MasqueradeInterface NetworkInterfaceType = "masquerade" )
type NetworkSource ¶
type NetworkSource struct { Pod *PodNetwork `json:"pod,omitempty"` Multus *MultusNetwork `json:"multus,omitempty"` Genie *GenieNetwork `json:"genie,omitempty"` }
Represents the source resource that will be connected to the vm. Only one of its members may be specified. --- +k8s:openapi-gen=true
func (*NetworkSource) DeepCopy ¶
func (in *NetworkSource) DeepCopy() *NetworkSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkSource.
func (*NetworkSource) DeepCopyInto ¶
func (in *NetworkSource) DeepCopyInto(out *NetworkSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PITTickPolicy ¶
type PITTickPolicy string
PITTickPolicy determines what happens when QEMU misses a deadline for injecting a tick to the guest. --- +k8s:openapi-gen=true
type PITTimer ¶
type PITTimer struct { // TickPolicy determines what happens when QEMU misses a deadline for injecting a tick to the guest. // One of "delay", "catchup", "discard". TickPolicy PITTickPolicy `json:"tickPolicy,omitempty"` // Enabled set to false makes sure that the machine type or a preset can't add the timer. // Defaults to true. // +optional Enabled *bool `json:"present,omitempty"` }
--- +k8s:openapi-gen=true
func (*PITTimer) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PITTimer.
func (*PITTimer) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PodNetwork ¶
type PodNetwork struct { // CIDR for vm network. // Default 10.0.2.0/24 if not specified. VMNetworkCIDR string `json:"vmNetworkCIDR,omitempty"` }
Represents the stock pod network interface. --- +k8s:openapi-gen=true
func (*PodNetwork) DeepCopy ¶
func (in *PodNetwork) DeepCopy() *PodNetwork
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodNetwork.
func (*PodNetwork) DeepCopyInto ¶
func (in *PodNetwork) DeepCopyInto(out *PodNetwork)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Port ¶
type Port struct { // If specified, this must be an IANA_SVC_NAME and unique within the pod. Each // named port in a pod must have a unique name. Name for the port that can be // referred to by services. // +optional Name string `json:"name,omitempty"` // Protocol for port. Must be UDP or TCP. // Defaults to "TCP". // +optional Protocol string `json:"protocol,omitempty"` // Number of port to expose for the virtual machine. // This must be a valid port number, 0 < x < 65536. Port int32 `json:"port"` }
Port repesents a port to expose from the virtual machine. Default protocol TCP. The port field is mandatory --- +k8s:openapi-gen=true
func (*Port) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Port.
func (*Port) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Probe ¶
type Probe struct { // The action taken to determine the health of a VirtualMachineInstance Handler `json:",inline"` // Number of seconds after the VirtualMachineInstance has started before liveness probes are initiated. // More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes // +optional InitialDelaySeconds int32 `json:"initialDelaySeconds,omitempty"` // Number of seconds after which the probe times out. // Defaults to 1 second. Minimum value is 1. // More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes // +optional TimeoutSeconds int32 `json:"timeoutSeconds,omitempty"` // How often (in seconds) to perform the probe. // Default to 10 seconds. Minimum value is 1. // +optional PeriodSeconds int32 `json:"periodSeconds,omitempty"` // Minimum consecutive successes for the probe to be considered successful after having failed. // Defaults to 1. Must be 1 for liveness. Minimum value is 1. // +optional SuccessThreshold int32 `json:"successThreshold,omitempty"` // Minimum consecutive failures for the probe to be considered failed after having succeeded. // Defaults to 3. Minimum value is 1. // +optional FailureThreshold int32 `json:"failureThreshold,omitempty"` }
Probe describes a health check to be performed against a VirtualMachineInstance to determine whether it is alive or ready to receive traffic.
func (*Probe) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Probe.
func (*Probe) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RTCTickPolicy ¶
type RTCTickPolicy string
RTCTickPolicy determines what happens when QEMU misses a deadline for injecting a tick to the guest. --- +k8s:openapi-gen=true
type RTCTimer ¶
type RTCTimer struct { // TickPolicy determines what happens when QEMU misses a deadline for injecting a tick to the guest. // One of "delay", "catchup". TickPolicy RTCTickPolicy `json:"tickPolicy,omitempty"` // Enabled set to false makes sure that the machine type or a preset can't add the timer. // Defaults to true. // +optional Enabled *bool `json:"present,omitempty"` // Track the guest or the wall clock. Track RTCTimerTrack `json:"track,omitempty"` }
--- +k8s:openapi-gen=true
func (*RTCTimer) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RTCTimer.
func (*RTCTimer) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RTCTimerTrack ¶
type RTCTimerTrack string
RTCTimerTrack specifies from which source to track the time. --- +k8s:openapi-gen=true
const ( // TrackGuest tracks the guest time. TrackGuest RTCTimerTrack = "guest" // TrackWall tracks the host time. TrackWall RTCTimerTrack = "wall" )
type ResourceRequirements ¶
type ResourceRequirements struct { // Requests is a description of the initial vmi resources. // Valid resource keys are "memory" and "cpu". // +optional Requests v1.ResourceList `json:"requests,omitempty"` // Limits describes the maximum amount of compute resources allowed. // Valid resource keys are "memory" and "cpu". // +optional Limits v1.ResourceList `json:"limits,omitempty"` // Don't ask the scheduler to take the guest-management overhead into account. Instead // put the overhead only into the container's memory limit. This can lead to crashes if // all memory is in use on a node. Defaults to false. OvercommitGuestOverhead bool `json:"overcommitGuestOverhead,omitempty"` }
--- +k8s:openapi-gen=true
func (*ResourceRequirements) DeepCopy ¶
func (in *ResourceRequirements) DeepCopy() *ResourceRequirements
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceRequirements.
func (*ResourceRequirements) DeepCopyInto ¶
func (in *ResourceRequirements) DeepCopyInto(out *ResourceRequirements)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RestartOptions ¶
type RestartOptions struct { metav1.TypeMeta `json:",inline"` // The duration in seconds before the object should be force-restared. Value must be non-negative integer. // The value zero indicates, restart immediately. If this value is nil, the default grace period for deletion of the corresponding VMI for the // specified type will be used to determine on how much time to give the VMI to restart. // Defaults to a per object value if not specified. zero means restart immediately. // Allowed Values: nil and 0 // +optional GracePeriodSeconds *int64 `json:"gracePeriodSeconds,omitempty" protobuf:"varint,1,opt,name=gracePeriodSeconds"` }
RestartOptions may be provided when deleting an API object. --- +k8s:openapi-gen=true
func (*RestartOptions) DeepCopy ¶
func (in *RestartOptions) DeepCopy() *RestartOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RestartOptions.
func (*RestartOptions) DeepCopyInto ¶
func (in *RestartOptions) DeepCopyInto(out *RestartOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Rng ¶
type Rng struct { }
Rng represents the random device passed from host --- +k8s:openapi-gen=true
func (*Rng) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Rng.
func (*Rng) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SecretVolumeSource ¶
type SecretVolumeSource struct { // Name of the secret in the pod's namespace to use. // More info: https://kubernetes.io/docs/concepts/storage/volumes#secret // +optional SecretName string `json:"secretName,omitempty"` // Specify whether the Secret or it's keys must be defined // +optional Optional *bool `json:"optional,omitempty"` }
SecretVolumeSource adapts a Secret into a volume. --- +k8s:openapi-gen=true
func (*SecretVolumeSource) DeepCopy ¶
func (in *SecretVolumeSource) DeepCopy() *SecretVolumeSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretVolumeSource.
func (*SecretVolumeSource) DeepCopyInto ¶
func (in *SecretVolumeSource) DeepCopyInto(out *SecretVolumeSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceAccountVolumeSource ¶
type ServiceAccountVolumeSource struct { // Name of the service account in the pod's namespace to use. // More info: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/ ServiceAccountName string `json:"serviceAccountName,omitempty"` }
ServiceAccountVolumeSource adapts a ServiceAccount into a volume. --- +k8s:openapi-gen=true
func (*ServiceAccountVolumeSource) DeepCopy ¶
func (in *ServiceAccountVolumeSource) DeepCopy() *ServiceAccountVolumeSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceAccountVolumeSource.
func (*ServiceAccountVolumeSource) DeepCopyInto ¶
func (in *ServiceAccountVolumeSource) DeepCopyInto(out *ServiceAccountVolumeSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StateChangeRequestAction ¶
type StateChangeRequestAction string
StateChangeRequestType represents the existing state change requests that are possible --- +k8s:openapi-gen=true
const ( StartRequest StateChangeRequestAction = "Start" StopRequest StateChangeRequestAction = "Stop" )
These are the currently defined state change requests
type SyncEvent ¶
type SyncEvent string
--- +k8s:openapi-gen=true
const ( Created SyncEvent = "Created" Deleted SyncEvent = "Deleted" PresetFailed SyncEvent = "PresetFailed" Override SyncEvent = "Override" Started SyncEvent = "Started" ShuttingDown SyncEvent = "ShuttingDown" Stopped SyncEvent = "Stopped" PreparingTarget SyncEvent = "PreparingTarget" Migrating SyncEvent = "Migrating" Migrated SyncEvent = "Migrated" SyncFailed SyncEvent = "SyncFailed" Resumed SyncEvent = "Resumed" )
type Timer ¶
type Timer struct { // HPET (High Precision Event Timer) - multiple timers with periodic interrupts. HPET *HPETTimer `json:"hpet,omitempty"` // KVM (KVM clock) - lets guests read the host’s wall clock time (paravirtualized). For linux guests. KVM *KVMTimer `json:"kvm,omitempty"` // PIT (Programmable Interval Timer) - a timer with periodic interrupts. PIT *PITTimer `json:"pit,omitempty"` // RTC (Real Time Clock) - a continuously running timer with periodic interrupts. RTC *RTCTimer `json:"rtc,omitempty"` // Hyperv (Hypervclock) - lets guests read the host’s wall clock time (paravirtualized). For windows guests. Hyperv *HypervTimer `json:"hyperv,omitempty"` }
Represents all available timers in a vmi. --- +k8s:openapi-gen=true
func (*Timer) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Timer.
func (*Timer) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TrayState ¶
type TrayState string
TrayState indicates if a tray of a cdrom or floppy is open or closed. --- +k8s:openapi-gen=true
type VMISelector ¶
type VMISelector struct { // Name of the VirtualMachineInstance to migrate Name string `json:"name" valid:"required"` }
func (*VMISelector) DeepCopy ¶
func (in *VMISelector) DeepCopy() *VMISelector
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VMISelector.
func (*VMISelector) DeepCopyInto ¶
func (in *VMISelector) DeepCopyInto(out *VMISelector)
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"` // +k8s:openapi-gen=false metav1.ObjectMeta `json:"metadata,omitempty"` // Spec contains the specification of VirtualMachineInstance created Spec VirtualMachineSpec `json:"spec" valid:"required"` // Status holds the current state of the controller and brief information // about its associated VirtualMachineInstance Status VirtualMachineStatus `json:"status,omitempty"` }
VirtualMachine handles the VirtualMachines that are not running or are in a stopped state The VirtualMachine contains the template to create the VirtualMachineInstance. It also mirrors the running state of the created VirtualMachineInstance in its status. --- +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +k8s:openapi-gen=true
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) RunStrategy ¶
func (vm *VirtualMachine) RunStrategy() (VirtualMachineRunStrategy, error)
Return the current runStrategy for the VirtualMachine if vm.spec.running is set, that will be mapped to runStrategy:
false: RunStrategyHalted true: RunStrategyAlways
type VirtualMachineCondition ¶
type VirtualMachineCondition struct { Type VirtualMachineConditionType `json:"type"` Status k8sv1.ConditionStatus `json:"status"` LastProbeTime metav1.Time `json:"lastProbeTime,omitempty"` LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"` Reason string `json:"reason,omitempty"` Message string `json:"message,omitempty"` }
VirtualMachineCondition represents the state of VirtualMachine --- +k8s:openapi-gen=true
func (*VirtualMachineCondition) DeepCopy ¶
func (in *VirtualMachineCondition) DeepCopy() *VirtualMachineCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineCondition.
func (*VirtualMachineCondition) DeepCopyInto ¶
func (in *VirtualMachineCondition) DeepCopyInto(out *VirtualMachineCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineConditionType ¶
type VirtualMachineConditionType string
--- +k8s:openapi-gen=true
const ( // VirtualMachineFailure is added in a virtual machine when its vmi // fails to be created due to insufficient quota, limit ranges, pod security policy, node selectors, // etc. or deleted due to kubelet being down or finalizers are failing. VirtualMachineFailure VirtualMachineConditionType = "Failure" // VirtualMachinePaused is added in a virtual machine when its vmi // signals with its own condition that it is paused. VirtualMachinePaused VirtualMachineConditionType = "Paused" )
type VirtualMachineInstance ¶
type VirtualMachineInstance struct { metav1.TypeMeta `json:",inline"` // +k8s:openapi-gen=false metav1.ObjectMeta `json:"metadata,omitempty"` // VirtualMachineInstance Spec contains the VirtualMachineInstance specification. Spec VirtualMachineInstanceSpec `json:"spec" valid:"required"` // Status is the high level overview of how the VirtualMachineInstance is doing. It contains information available to controllers and users. Status VirtualMachineInstanceStatus `json:"status,omitempty"` }
VirtualMachineInstance is *the* VirtualMachineInstance Definition. It represents a virtual machine in the runtime environment of kubernetes. --- +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +k8s:openapi-gen=true
func NewVMIReferenceFromName ¶
func NewVMIReferenceFromName(name string) *VirtualMachineInstance
TODO Namespace could be different, also store it somewhere in the domain, so that we can report deletes on handler startup properly
func NewVMIReferenceFromNameWithNS ¶
func NewVMIReferenceFromNameWithNS(namespace string, name string) *VirtualMachineInstance
func NewVMIReferenceWithUUID ¶
func NewVMIReferenceWithUUID(namespace string, name string, uuid types.UID) *VirtualMachineInstance
func (*VirtualMachineInstance) DeepCopy ¶
func (in *VirtualMachineInstance) DeepCopy() *VirtualMachineInstance
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineInstance.
func (*VirtualMachineInstance) DeepCopyInto ¶
func (in *VirtualMachineInstance) DeepCopyInto(out *VirtualMachineInstance)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VirtualMachineInstance) DeepCopyObject ¶
func (in *VirtualMachineInstance) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*VirtualMachineInstance) IsCPUDedicated ¶
func (v *VirtualMachineInstance) IsCPUDedicated() bool
Checks if CPU pinning has been requested
func (*VirtualMachineInstance) IsFinal ¶
func (v *VirtualMachineInstance) IsFinal() bool
func (*VirtualMachineInstance) IsRunning ¶
func (v *VirtualMachineInstance) IsRunning() bool
func (*VirtualMachineInstance) IsScheduled ¶
func (v *VirtualMachineInstance) IsScheduled() bool
func (*VirtualMachineInstance) IsScheduling ¶
func (v *VirtualMachineInstance) IsScheduling() bool
func (*VirtualMachineInstance) IsUnknown ¶
func (v *VirtualMachineInstance) IsUnknown() bool
func (*VirtualMachineInstance) IsUnprocessed ¶
func (v *VirtualMachineInstance) IsUnprocessed() bool
func (*VirtualMachineInstance) MarshalBinary ¶
func (v *VirtualMachineInstance) MarshalBinary() (data []byte, err error)
func (*VirtualMachineInstance) UnmarshalBinary ¶
func (v *VirtualMachineInstance) UnmarshalBinary(data []byte) error
func (*VirtualMachineInstance) WantsToHaveQOSGuaranteed ¶
func (v *VirtualMachineInstance) WantsToHaveQOSGuaranteed() bool
WantsToHaveQOSGuaranteed checks if cpu and memoyr limits and requests are identical on the VMI. This is the indicator that people want a VMI with QOS of guaranteed
type VirtualMachineInstanceCondition ¶
type VirtualMachineInstanceCondition struct { Type VirtualMachineInstanceConditionType `json:"type"` Status k8sv1.ConditionStatus `json:"status"` LastProbeTime metav1.Time `json:"lastProbeTime,omitempty"` LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"` Reason string `json:"reason,omitempty"` Message string `json:"message,omitempty"` }
--- +k8s:openapi-gen=true
func (*VirtualMachineInstanceCondition) DeepCopy ¶
func (in *VirtualMachineInstanceCondition) DeepCopy() *VirtualMachineInstanceCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineInstanceCondition.
func (*VirtualMachineInstanceCondition) DeepCopyInto ¶
func (in *VirtualMachineInstanceCondition) DeepCopyInto(out *VirtualMachineInstanceCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineInstanceConditionType ¶
type VirtualMachineInstanceConditionType string
--- +k8s:openapi-gen=true
const ( // VMIReady means the pod is able to service requests and should be added to the // load balancing pools of all matching services. VirtualMachineInstanceReady VirtualMachineInstanceConditionType = "Ready" // If there happens any error while trying to synchronize the VirtualMachineInstance with the Domain, // this is reported as false. VirtualMachineInstanceSynchronized VirtualMachineInstanceConditionType = "Synchronized" // If the VMI was paused by the user, this is reported as true. VirtualMachineInstancePaused VirtualMachineInstanceConditionType = "Paused" // Reflects whether the QEMU guest agent is connected through the channel VirtualMachineInstanceAgentConnected VirtualMachineInstanceConditionType = "AgentConnected" // Indicates whether the VMI is live migratable VirtualMachineInstanceIsMigratable VirtualMachineInstanceConditionType = "LiveMigratable" // Reason means that VMI is not live migratioable because of it's disks collection VirtualMachineInstanceReasonDisksNotMigratable = "DisksNotLiveMigratable" // Reason means that VMI is not live migratioable because of it's network interfaces collection VirtualMachineInstanceReasonInterfaceNotMigratable = "InterfaceNotLiveMigratable" )
These are valid conditions of VMIs.
type VirtualMachineInstanceFileSystem ¶
type VirtualMachineInstanceFileSystem struct { DiskName string `json:"diskName"` MountPoint string `json:"mountPoint"` FileSystemType string `json:"fileSystemType"` UsedBytes int `json:"usedBytes"` TotalBytes int `json:"totalBytes"` }
VirtualMachineInstanceFileSystem represents guest os disk
func (*VirtualMachineInstanceFileSystem) DeepCopy ¶
func (in *VirtualMachineInstanceFileSystem) DeepCopy() *VirtualMachineInstanceFileSystem
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineInstanceFileSystem.
func (*VirtualMachineInstanceFileSystem) DeepCopyInto ¶
func (in *VirtualMachineInstanceFileSystem) DeepCopyInto(out *VirtualMachineInstanceFileSystem)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineInstanceFileSystemInfo ¶
type VirtualMachineInstanceFileSystemInfo struct {
Filesystems []VirtualMachineInstanceFileSystem `json:"disks"`
}
VirtualMachineInstanceFileSystemInfo represents information regarding single guest os filesystem
func (*VirtualMachineInstanceFileSystemInfo) DeepCopy ¶
func (in *VirtualMachineInstanceFileSystemInfo) DeepCopy() *VirtualMachineInstanceFileSystemInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineInstanceFileSystemInfo.
func (*VirtualMachineInstanceFileSystemInfo) DeepCopyInto ¶
func (in *VirtualMachineInstanceFileSystemInfo) DeepCopyInto(out *VirtualMachineInstanceFileSystemInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineInstanceGuestAgentInfo ¶
type VirtualMachineInstanceGuestAgentInfo struct { metav1.TypeMeta `json:",inline"` // GAVersion is a version of currently installed guest agent GAVersion string `json:"guestAgentVersion,omitempty"` // Hostname represents FQDN of a guest Hostname string `json:"hostname,omitempty"` // OS contains the guest operating system information OS VirtualMachineInstanceGuestOSInfo `json:"os,omitempty"` // Timezone is guest os current timezone Timezone string `json:"timezone,omitempty"` // UserList is a list of active guest OS users UserList []VirtualMachineInstanceGuestOSUser `json:"userList,omitempty"` // FSInfo is a guest os filesystem information containing the disk mapping and disk mounts with usage FSInfo VirtualMachineInstanceFileSystemInfo `json:"fsInfo,omitempty"` }
VirtualMachineInstanceGuestAgentInfo represents information from the installed guest agent --- +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +k8s:openapi-gen=true
func (*VirtualMachineInstanceGuestAgentInfo) DeepCopy ¶
func (in *VirtualMachineInstanceGuestAgentInfo) DeepCopy() *VirtualMachineInstanceGuestAgentInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineInstanceGuestAgentInfo.
func (*VirtualMachineInstanceGuestAgentInfo) DeepCopyInto ¶
func (in *VirtualMachineInstanceGuestAgentInfo) DeepCopyInto(out *VirtualMachineInstanceGuestAgentInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VirtualMachineInstanceGuestAgentInfo) DeepCopyObject ¶
func (in *VirtualMachineInstanceGuestAgentInfo) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type VirtualMachineInstanceGuestOSInfo ¶
type VirtualMachineInstanceGuestOSInfo struct { // Name of the Guest OS Name string `json:"name,omitempty"` // Guest OS Kernel Release KernelRelease string `json:"kernelRelease,omitempty"` // Guest OS Version Version string `json:"version,omitempty"` // Guest OS Pretty Name PrettyName string `json:"prettyName,omitempty"` // Version ID of the Guest OS VersionID string `json:"versionId,omitempty"` // Kernel version of the Guest OS KernelVersion string `json:"kernelVersion,omitempty"` // Machine type of the Guest OS Machine string `json:"machine,omitempty"` // Guest OS Id ID string `json:"id,omitempty"` }
func (*VirtualMachineInstanceGuestOSInfo) DeepCopy ¶
func (in *VirtualMachineInstanceGuestOSInfo) DeepCopy() *VirtualMachineInstanceGuestOSInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineInstanceGuestOSInfo.
func (*VirtualMachineInstanceGuestOSInfo) DeepCopyInto ¶
func (in *VirtualMachineInstanceGuestOSInfo) DeepCopyInto(out *VirtualMachineInstanceGuestOSInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineInstanceGuestOSUser ¶
type VirtualMachineInstanceGuestOSUser struct { UserName string `json:"userName"` Domain string `json:"domain,omitempty"` LoginTime int `json:"loginTime,omitempty"` }
VirtualMachineInstanceGuestOSUser is the single user of the guest os
func (*VirtualMachineInstanceGuestOSUser) DeepCopy ¶
func (in *VirtualMachineInstanceGuestOSUser) DeepCopy() *VirtualMachineInstanceGuestOSUser
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineInstanceGuestOSUser.
func (*VirtualMachineInstanceGuestOSUser) DeepCopyInto ¶
func (in *VirtualMachineInstanceGuestOSUser) DeepCopyInto(out *VirtualMachineInstanceGuestOSUser)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineInstanceList ¶
type VirtualMachineInstanceList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []VirtualMachineInstance `json:"items"` }
VirtualMachineInstanceList is a list of VirtualMachines --- +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +k8s:openapi-gen=true
func (*VirtualMachineInstanceList) DeepCopy ¶
func (in *VirtualMachineInstanceList) DeepCopy() *VirtualMachineInstanceList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineInstanceList.
func (*VirtualMachineInstanceList) DeepCopyInto ¶
func (in *VirtualMachineInstanceList) DeepCopyInto(out *VirtualMachineInstanceList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VirtualMachineInstanceList) DeepCopyObject ¶
func (in *VirtualMachineInstanceList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type VirtualMachineInstanceMigration ¶
type VirtualMachineInstanceMigration struct { metav1.TypeMeta `json:",inline"` // +k8s:openapi-gen=false metav1.ObjectMeta `json:"metadata,omitempty"` Spec VirtualMachineInstanceMigrationSpec `json:"spec" valid:"required"` Status VirtualMachineInstanceMigrationStatus `json:"status,omitempty"` }
VirtualMachineInstanceMigration represents the object tracking a VMI's migration to another host in the cluster --- +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +k8s:openapi-gen=true
func (*VirtualMachineInstanceMigration) DeepCopy ¶
func (in *VirtualMachineInstanceMigration) DeepCopy() *VirtualMachineInstanceMigration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineInstanceMigration.
func (*VirtualMachineInstanceMigration) DeepCopyInto ¶
func (in *VirtualMachineInstanceMigration) DeepCopyInto(out *VirtualMachineInstanceMigration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VirtualMachineInstanceMigration) DeepCopyObject ¶
func (in *VirtualMachineInstanceMigration) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*VirtualMachineInstanceMigration) IsFinal ¶
func (m *VirtualMachineInstanceMigration) IsFinal() bool
The migration phase indicates that the job has completed
func (*VirtualMachineInstanceMigration) IsRunning ¶
func (m *VirtualMachineInstanceMigration) IsRunning() bool
func (*VirtualMachineInstanceMigration) TargetIsCreated ¶
func (m *VirtualMachineInstanceMigration) TargetIsCreated() bool
The migration phase indicates that the target pod should have already been created
func (*VirtualMachineInstanceMigration) TargetIsHandedOff ¶
func (m *VirtualMachineInstanceMigration) TargetIsHandedOff() bool
The migration phase indicates that job has been handed off to the VMI controllers to complete.
type VirtualMachineInstanceMigrationCondition ¶
type VirtualMachineInstanceMigrationCondition struct { Type VirtualMachineInstanceMigrationConditionType `json:"type"` Status k8sv1.ConditionStatus `json:"status"` LastProbeTime metav1.Time `json:"lastProbeTime,omitempty"` LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"` Reason string `json:"reason,omitempty"` Message string `json:"message,omitempty"` }
--- +k8s:openapi-gen=true
func (*VirtualMachineInstanceMigrationCondition) DeepCopy ¶
func (in *VirtualMachineInstanceMigrationCondition) DeepCopy() *VirtualMachineInstanceMigrationCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineInstanceMigrationCondition.
func (*VirtualMachineInstanceMigrationCondition) DeepCopyInto ¶
func (in *VirtualMachineInstanceMigrationCondition) DeepCopyInto(out *VirtualMachineInstanceMigrationCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineInstanceMigrationConditionType ¶
type VirtualMachineInstanceMigrationConditionType string
+k8s:openapi-gen=true
const ( // VirtualMachineInstanceMigrationAbortRequested indicates that live migration abort has been requested VirtualMachineInstanceMigrationAbortRequested VirtualMachineInstanceMigrationConditionType = "migrationAbortRequested" )
These are valid conditions of VMIs.
type VirtualMachineInstanceMigrationList ¶
type VirtualMachineInstanceMigrationList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []VirtualMachineInstanceMigration `json:"items"` }
VirtualMachineInstanceMigrationList is a list of VirtualMachineMigrations --- +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +k8s:openapi-gen=true
func (*VirtualMachineInstanceMigrationList) DeepCopy ¶
func (in *VirtualMachineInstanceMigrationList) DeepCopy() *VirtualMachineInstanceMigrationList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineInstanceMigrationList.
func (*VirtualMachineInstanceMigrationList) DeepCopyInto ¶
func (in *VirtualMachineInstanceMigrationList) DeepCopyInto(out *VirtualMachineInstanceMigrationList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VirtualMachineInstanceMigrationList) DeepCopyObject ¶
func (in *VirtualMachineInstanceMigrationList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type VirtualMachineInstanceMigrationMethod ¶
type VirtualMachineInstanceMigrationMethod string
--- +k8s:openapi-gen=true
const ( // BlockMigration means that all VirtualMachineInstance disks should be copied over to the destination host BlockMigration VirtualMachineInstanceMigrationMethod = "BlockMigration" // LiveMigration means that VirtualMachineInstance disks will not be copied over to the destination host LiveMigration VirtualMachineInstanceMigrationMethod = "LiveMigration" )
type VirtualMachineInstanceMigrationPhase ¶
type VirtualMachineInstanceMigrationPhase string
VirtualMachineInstanceMigrationPhase is a label for the condition of a VirtualMachineInstanceMigration at the current time. --- +k8s:openapi-gen=true
const ( MigrationPhaseUnset VirtualMachineInstanceMigrationPhase = "" // The migration is accepted by the system MigrationPending VirtualMachineInstanceMigrationPhase = "Pending" // The migration's target pod is being scheduled MigrationScheduling VirtualMachineInstanceMigrationPhase = "Scheduling" // The migration's target pod is running MigrationScheduled VirtualMachineInstanceMigrationPhase = "Scheduled" // The migration's target pod is being prepared for migration MigrationPreparingTarget VirtualMachineInstanceMigrationPhase = "PreparingTarget" // The migration's target pod is prepared and ready for migration MigrationTargetReady VirtualMachineInstanceMigrationPhase = "TargetReady" // The migration is in progress MigrationRunning VirtualMachineInstanceMigrationPhase = "Running" // The migration passed MigrationSucceeded VirtualMachineInstanceMigrationPhase = "Succeeded" // The migration failed MigrationFailed VirtualMachineInstanceMigrationPhase = "Failed" )
These are the valid migration phases
type VirtualMachineInstanceMigrationSpec ¶
type VirtualMachineInstanceMigrationSpec struct { // The name of the VMI to perform the migration on. VMI must exist in the migration objects namespace VMIName string `json:"vmiName,omitempty" valid:"required"` }
--- +k8s:openapi-gen=true
func (*VirtualMachineInstanceMigrationSpec) DeepCopy ¶
func (in *VirtualMachineInstanceMigrationSpec) DeepCopy() *VirtualMachineInstanceMigrationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineInstanceMigrationSpec.
func (*VirtualMachineInstanceMigrationSpec) DeepCopyInto ¶
func (in *VirtualMachineInstanceMigrationSpec) DeepCopyInto(out *VirtualMachineInstanceMigrationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineInstanceMigrationState ¶
type VirtualMachineInstanceMigrationState struct { // The time the migration action began StartTimestamp *metav1.Time `json:"startTimestamp,omitempty"` // The time the migration action ended EndTimestamp *metav1.Time `json:"endTimestamp,omitempty"` // The Target Node has seen the Domain Start Event TargetNodeDomainDetected bool `json:"targetNodeDomainDetected,omitempty"` // The address of the target node to use for the migration TargetNodeAddress string `json:"targetNodeAddress,omitempty"` // The list of ports opened for live migration on the destination node TargetDirectMigrationNodePorts map[string]int `json:"targetDirectMigrationNodePorts,omitempty"` // The target node that the VMI is moving to TargetNode string `json:"targetNode,omitempty"` // The target pod that the VMI is moving to TargetPod string `json:"targetPod,omitempty"` // The source node that the VMI originated on SourceNode string `json:"sourceNode,omitempty"` // Indicates the migration completed Completed bool `json:"completed,omitempty"` // Indicates that the migration failed Failed bool `json:"failed,omitempty"` // Indicates that the migration has been requested to abort AbortRequested bool `json:"abortRequested,omitempty"` // Indicates the final status of the live migration abortion AbortStatus MigrationAbortStatus `json:"abortStatus,omitempty"` // The VirtualMachineInstanceMigration object associated with this migration MigrationUID types.UID `json:"migrationUid,omitempty"` }
func (*VirtualMachineInstanceMigrationState) DeepCopy ¶
func (in *VirtualMachineInstanceMigrationState) DeepCopy() *VirtualMachineInstanceMigrationState
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineInstanceMigrationState.
func (*VirtualMachineInstanceMigrationState) DeepCopyInto ¶
func (in *VirtualMachineInstanceMigrationState) DeepCopyInto(out *VirtualMachineInstanceMigrationState)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineInstanceMigrationStatus ¶
type VirtualMachineInstanceMigrationStatus struct { Phase VirtualMachineInstanceMigrationPhase `json:"phase,omitempty"` Conditions []VirtualMachineInstanceMigrationCondition `json:"conditions,omitempty"` }
VirtualMachineInstanceMigration reprents information pertaining to a VMI's migration. --- +k8s:openapi-gen=true
func (*VirtualMachineInstanceMigrationStatus) DeepCopy ¶
func (in *VirtualMachineInstanceMigrationStatus) DeepCopy() *VirtualMachineInstanceMigrationStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineInstanceMigrationStatus.
func (*VirtualMachineInstanceMigrationStatus) DeepCopyInto ¶
func (in *VirtualMachineInstanceMigrationStatus) DeepCopyInto(out *VirtualMachineInstanceMigrationStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineInstanceNetworkInterface ¶
type VirtualMachineInstanceNetworkInterface struct { // IP address of a Virtual Machine interface IP string `json:"ipAddress,omitempty"` // Hardware address of a Virtual Machine interface MAC string `json:"mac,omitempty"` // Name of the interface, corresponds to name of the network assigned to the interface // TODO: remove omitempty, when api breaking changes are allowed Name string `json:"name,omitempty"` // List of all IP addresses of a Virtual Machine interface IPs []string `json:"ipAddresses,omitempty"` // The interface name inside the Virtual Machine InterfaceName string `json:"interfaceName,omitempty"` }
--- +k8s:openapi-gen=true
func (*VirtualMachineInstanceNetworkInterface) DeepCopy ¶
func (in *VirtualMachineInstanceNetworkInterface) DeepCopy() *VirtualMachineInstanceNetworkInterface
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineInstanceNetworkInterface.
func (*VirtualMachineInstanceNetworkInterface) DeepCopyInto ¶
func (in *VirtualMachineInstanceNetworkInterface) DeepCopyInto(out *VirtualMachineInstanceNetworkInterface)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineInstancePhase ¶
type VirtualMachineInstancePhase string
VirtualMachineInstancePhase is a label for the condition of a VirtualMachineInstance at the current time. --- +k8s:openapi-gen=true
const ( //When a VirtualMachineInstance Object is first initialized and no phase, or Pending is present. VmPhaseUnset VirtualMachineInstancePhase = "" // Pending means the VirtualMachineInstance has been accepted by the system. Pending VirtualMachineInstancePhase = "Pending" // A target Pod exists but is not yet scheduled and in running state. Scheduling VirtualMachineInstancePhase = "Scheduling" // A target pod was scheduled and the system saw that Pod in runnig state. // Here is where the responsibility of virt-controller ends and virt-handler takes over. Scheduled VirtualMachineInstancePhase = "Scheduled" // Running means the pod has been bound to a node and the VirtualMachineInstance is started. Running VirtualMachineInstancePhase = "Running" // Succeeded means that the VirtualMachineInstance stopped voluntarily, e.g. reacted to SIGTERM or shutdown was invoked from // inside the VirtualMachineInstance. Succeeded VirtualMachineInstancePhase = "Succeeded" // Failed means that the vmi crashed, disappeared unexpectedly or got deleted from the cluster before it was ever started. Failed VirtualMachineInstancePhase = "Failed" // Unknown means that for some reason the state of the VirtualMachineInstance could not be obtained, typically due // to an error in communicating with the host of the VirtualMachineInstance. Unknown VirtualMachineInstancePhase = "Unknown" )
These are the valid statuses of pods.
type VirtualMachineInstancePreset ¶
type VirtualMachineInstancePreset struct { metav1.TypeMeta `json:",inline"` // +k8s:openapi-gen=false metav1.ObjectMeta `json:"metadata,omitempty"` // VirtualMachineInstance Spec contains the VirtualMachineInstance specification. Spec VirtualMachineInstancePresetSpec `json:"spec,omitempty" valid:"required"` }
--- +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +k8s:openapi-gen=true
func NewVirtualMachinePreset ¶
func NewVirtualMachinePreset(name string, selector metav1.LabelSelector) *VirtualMachineInstancePreset
func (*VirtualMachineInstancePreset) DeepCopy ¶
func (in *VirtualMachineInstancePreset) DeepCopy() *VirtualMachineInstancePreset
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineInstancePreset.
func (*VirtualMachineInstancePreset) DeepCopyInto ¶
func (in *VirtualMachineInstancePreset) DeepCopyInto(out *VirtualMachineInstancePreset)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VirtualMachineInstancePreset) DeepCopyObject ¶
func (in *VirtualMachineInstancePreset) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type VirtualMachineInstancePresetList ¶
type VirtualMachineInstancePresetList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []VirtualMachineInstancePreset `json:"items"` }
VirtualMachineInstancePresetList is a list of VirtualMachinePresets --- +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +k8s:openapi-gen=true
func (*VirtualMachineInstancePresetList) DeepCopy ¶
func (in *VirtualMachineInstancePresetList) DeepCopy() *VirtualMachineInstancePresetList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineInstancePresetList.
func (*VirtualMachineInstancePresetList) DeepCopyInto ¶
func (in *VirtualMachineInstancePresetList) DeepCopyInto(out *VirtualMachineInstancePresetList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VirtualMachineInstancePresetList) DeepCopyObject ¶
func (in *VirtualMachineInstancePresetList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type VirtualMachineInstancePresetSpec ¶
type VirtualMachineInstancePresetSpec struct { // Selector is a label query over a set of VMIs. // Required. Selector metav1.LabelSelector `json:"selector"` // Domain is the same object type as contained in VirtualMachineInstanceSpec Domain *DomainSpec `json:"domain,omitempty"` }
--- +k8s:openapi-gen=true
func (*VirtualMachineInstancePresetSpec) DeepCopy ¶
func (in *VirtualMachineInstancePresetSpec) DeepCopy() *VirtualMachineInstancePresetSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineInstancePresetSpec.
func (*VirtualMachineInstancePresetSpec) DeepCopyInto ¶
func (in *VirtualMachineInstancePresetSpec) DeepCopyInto(out *VirtualMachineInstancePresetSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineInstanceReplicaSet ¶
type VirtualMachineInstanceReplicaSet struct { metav1.TypeMeta `json:",inline"` // +k8s:openapi-gen=false metav1.ObjectMeta `json:"metadata,omitempty"` // VirtualMachineInstance Spec contains the VirtualMachineInstance specification. Spec VirtualMachineInstanceReplicaSetSpec `json:"spec" valid:"required"` // Status is the high level overview of how the VirtualMachineInstance is doing. It contains information available to controllers and users. Status VirtualMachineInstanceReplicaSetStatus `json:"status,omitempty"` }
VirtualMachineInstance is *the* VirtualMachineInstance Definition. It represents a virtual machine in the runtime environment of kubernetes. --- +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +k8s:openapi-gen=true
func (*VirtualMachineInstanceReplicaSet) DeepCopy ¶
func (in *VirtualMachineInstanceReplicaSet) DeepCopy() *VirtualMachineInstanceReplicaSet
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineInstanceReplicaSet.
func (*VirtualMachineInstanceReplicaSet) DeepCopyInto ¶
func (in *VirtualMachineInstanceReplicaSet) DeepCopyInto(out *VirtualMachineInstanceReplicaSet)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VirtualMachineInstanceReplicaSet) DeepCopyObject ¶
func (in *VirtualMachineInstanceReplicaSet) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type VirtualMachineInstanceReplicaSetCondition ¶
type VirtualMachineInstanceReplicaSetCondition struct { Type VirtualMachineInstanceReplicaSetConditionType `json:"type"` Status k8sv1.ConditionStatus `json:"status"` LastProbeTime metav1.Time `json:"lastProbeTime,omitempty"` LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"` Reason string `json:"reason,omitempty"` Message string `json:"message,omitempty"` }
--- +k8s:openapi-gen=true
func (*VirtualMachineInstanceReplicaSetCondition) DeepCopy ¶
func (in *VirtualMachineInstanceReplicaSetCondition) DeepCopy() *VirtualMachineInstanceReplicaSetCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineInstanceReplicaSetCondition.
func (*VirtualMachineInstanceReplicaSetCondition) DeepCopyInto ¶
func (in *VirtualMachineInstanceReplicaSetCondition) DeepCopyInto(out *VirtualMachineInstanceReplicaSetCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineInstanceReplicaSetConditionType ¶
type VirtualMachineInstanceReplicaSetConditionType string
--- +k8s:openapi-gen=true
const ( // VirtualMachineInstanceReplicaSetReplicaFailure is added in a replica set when one of its vmis // fails to be created due to insufficient quota, limit ranges, pod security policy, node selectors, // etc. or deleted due to kubelet being down or finalizers are failing. VirtualMachineInstanceReplicaSetReplicaFailure VirtualMachineInstanceReplicaSetConditionType = "ReplicaFailure" // VirtualMachineInstanceReplicaSetReplicaPaused is added in a replica set when the replica set got paused by the controller. // After this condition was added, it is safe to remove or add vmis by hand and adjust the replica count by hand. VirtualMachineInstanceReplicaSetReplicaPaused VirtualMachineInstanceReplicaSetConditionType = "ReplicaPaused" )
type VirtualMachineInstanceReplicaSetList ¶
type VirtualMachineInstanceReplicaSetList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []VirtualMachineInstanceReplicaSet `json:"items"` }
VMIList is a list of VMIs --- +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +k8s:openapi-gen=true
func (*VirtualMachineInstanceReplicaSetList) DeepCopy ¶
func (in *VirtualMachineInstanceReplicaSetList) DeepCopy() *VirtualMachineInstanceReplicaSetList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineInstanceReplicaSetList.
func (*VirtualMachineInstanceReplicaSetList) DeepCopyInto ¶
func (in *VirtualMachineInstanceReplicaSetList) DeepCopyInto(out *VirtualMachineInstanceReplicaSetList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VirtualMachineInstanceReplicaSetList) DeepCopyObject ¶
func (in *VirtualMachineInstanceReplicaSetList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type VirtualMachineInstanceReplicaSetSpec ¶
type VirtualMachineInstanceReplicaSetSpec struct { // Number of desired pods. This is a pointer to distinguish between explicit // zero and not specified. Defaults to 1. // +optional Replicas *int32 `json:"replicas,omitempty"` // Label selector for pods. Existing ReplicaSets whose pods are // selected by this will be the ones affected by this deployment. Selector *metav1.LabelSelector `json:"selector" valid:"required"` // Template describes the pods that will be created. Template *VirtualMachineInstanceTemplateSpec `json:"template" valid:"required"` // Indicates that the replica set is paused. // +optional Paused bool `json:"paused,omitempty" protobuf:"varint,7,opt,name=paused"` }
--- +k8s:openapi-gen=true
func (*VirtualMachineInstanceReplicaSetSpec) DeepCopy ¶
func (in *VirtualMachineInstanceReplicaSetSpec) DeepCopy() *VirtualMachineInstanceReplicaSetSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineInstanceReplicaSetSpec.
func (*VirtualMachineInstanceReplicaSetSpec) DeepCopyInto ¶
func (in *VirtualMachineInstanceReplicaSetSpec) DeepCopyInto(out *VirtualMachineInstanceReplicaSetSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineInstanceReplicaSetStatus ¶
type VirtualMachineInstanceReplicaSetStatus struct { // Total number of non-terminated pods targeted by this deployment (their labels match the selector). // +optional Replicas int32 `json:"replicas,omitempty" protobuf:"varint,2,opt,name=replicas"` // The number of ready replicas for this replica set. // +optional ReadyReplicas int32 `json:"readyReplicas,omitempty" protobuf:"varint,4,opt,name=readyReplicas"` Conditions []VirtualMachineInstanceReplicaSetCondition `json:"conditions,omitempty" optional:"true"` // Canonical form of the label selector for HPA which consumes it through the scale subresource. LabelSelector string `json:"labelSelector,omitempty"` }
--- +k8s:openapi-gen=true
func (*VirtualMachineInstanceReplicaSetStatus) DeepCopy ¶
func (in *VirtualMachineInstanceReplicaSetStatus) DeepCopy() *VirtualMachineInstanceReplicaSetStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineInstanceReplicaSetStatus.
func (*VirtualMachineInstanceReplicaSetStatus) DeepCopyInto ¶
func (in *VirtualMachineInstanceReplicaSetStatus) DeepCopyInto(out *VirtualMachineInstanceReplicaSetStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineInstanceSpec ¶
type VirtualMachineInstanceSpec struct { // If specified, indicates the pod's priority. // If not specified, the pod priority will be default or zero if there is no // default. // +optional PriorityClassName string `json:"priorityClassName,omitempty"` // Specification of the desired behavior of the VirtualMachineInstance on the host. Domain DomainSpec `json:"domain"` // NodeSelector is a selector which must be true for the vmi to fit on a node. // Selector which must match a node's labels for the vmi to be scheduled on that node. // More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ // +optional NodeSelector map[string]string `json:"nodeSelector,omitempty"` // If affinity is specifies, obey all the affinity rules Affinity *k8sv1.Affinity `json:"affinity,omitempty"` // If toleration is specified, obey all the toleration rules. Tolerations []k8sv1.Toleration `json:"tolerations,omitempty"` // EvictionStrategy can be set to "LiveMigrate" if the VirtualMachineInstance should be // migrated instead of shut-off in case of a node drain. // --- // +optional EvictionStrategy *EvictionStrategy `json:"evictionStrategy,omitempty"` // Grace period observed after signalling a VirtualMachineInstance to stop after which the VirtualMachineInstance is force terminated. TerminationGracePeriodSeconds *int64 `json:"terminationGracePeriodSeconds,omitempty"` // List of volumes that can be mounted by disks belonging to the vmi. Volumes []Volume `json:"volumes,omitempty"` // Periodic probe of VirtualMachineInstance liveness. // VirtualmachineInstances will be stopped if the probe fails. // Cannot be updated. // More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes // +optional LivenessProbe *Probe `json:"livenessProbe,omitempty"` // Periodic probe of VirtualMachineInstance service readiness. // VirtualmachineInstances will be removed from service endpoints if the probe fails. // Cannot be updated. // More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes // +optional ReadinessProbe *Probe `json:"readinessProbe,omitempty"` // Specifies the hostname of the vmi // If not specified, the hostname will be set to the name of the vmi, if dhcp or cloud-init is configured properly. // +optional Hostname string `json:"hostname,omitempty"` // If specified, the fully qualified vmi hostname will be "<hostname>.<subdomain>.<pod namespace>.svc.<cluster domain>". // If not specified, the vmi will not have a domainname at all. The DNS entry will resolve to the vmi, // no matter if the vmi itself can pick up a hostname. // +optional Subdomain string `json:"subdomain,omitempty"` // List of networks that can be attached to a vm's virtual interface. Networks []Network `json:"networks,omitempty"` // Set DNS policy for the pod. // Defaults to "ClusterFirst". // Valid values are 'ClusterFirstWithHostNet', 'ClusterFirst', 'Default' or 'None'. // DNS parameters given in DNSConfig will be merged with the policy selected with DNSPolicy. // To have DNS options set along with hostNetwork, you have to specify DNS policy // explicitly to 'ClusterFirstWithHostNet'. // +optional DNSPolicy k8sv1.DNSPolicy `json:"dnsPolicy,omitempty" protobuf:"bytes,6,opt,name=dnsPolicy,casttype=DNSPolicy"` // Specifies the DNS parameters of a pod. // Parameters specified here will be merged to the generated DNS // configuration based on DNSPolicy. // +optional DNSConfig *k8sv1.PodDNSConfig `json:"dnsConfig,omitempty" protobuf:"bytes,26,opt,name=dnsConfig"` }
VirtualMachineInstanceSpec is a description of a VirtualMachineInstance. --- +k8s:openapi-gen=true
func (*VirtualMachineInstanceSpec) DeepCopy ¶
func (in *VirtualMachineInstanceSpec) DeepCopy() *VirtualMachineInstanceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineInstanceSpec.
func (*VirtualMachineInstanceSpec) DeepCopyInto ¶
func (in *VirtualMachineInstanceSpec) DeepCopyInto(out *VirtualMachineInstanceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineInstanceStatus ¶
type VirtualMachineInstanceStatus struct { // NodeName is the name where the VirtualMachineInstance is currently running. NodeName string `json:"nodeName,omitempty"` // A brief CamelCase message indicating details about why the VMI is in this state. e.g. 'NodeUnresponsive' // +optional Reason string `json:"reason,omitempty"` // Conditions are specific points in VirtualMachineInstance's pod runtime. Conditions []VirtualMachineInstanceCondition `json:"conditions,omitempty"` // Phase is the status of the VirtualMachineInstance in kubernetes world. It is not the VirtualMachineInstance status, but partially correlates to it. Phase VirtualMachineInstancePhase `json:"phase,omitempty"` // Interfaces represent the details of available network interfaces. Interfaces []VirtualMachineInstanceNetworkInterface `json:"interfaces,omitempty"` // Guest OS Information GuestOSInfo VirtualMachineInstanceGuestOSInfo `json:"guestOSInfo,omitempty"` // Represents the status of a live migration MigrationState *VirtualMachineInstanceMigrationState `json:"migrationState,omitempty"` // Represents the method using which the vmi can be migrated: live migration or block migration MigrationMethod VirtualMachineInstanceMigrationMethod `json:"migrationMethod,omitempty"` // The Quality of Service (QOS) classification assigned to the virtual machine instance based on resource requirements // See PodQOSClass type for available QOS classes // More info: https://git.k8s.io/community/contributors/design-proposals/node/resource-qos.md // +optional QOSClass *k8sv1.PodQOSClass `json:"qosClass,omitempty"` }
VirtualMachineInstanceStatus represents information about the status of a VirtualMachineInstance. Status may trail the actual state of a system. --- +k8s:openapi-gen=true
func (*VirtualMachineInstanceStatus) DeepCopy ¶
func (in *VirtualMachineInstanceStatus) DeepCopy() *VirtualMachineInstanceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineInstanceStatus.
func (*VirtualMachineInstanceStatus) DeepCopyInto ¶
func (in *VirtualMachineInstanceStatus) DeepCopyInto(out *VirtualMachineInstanceStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineInstanceTemplateSpec ¶
type VirtualMachineInstanceTemplateSpec struct { ObjectMeta metav1.ObjectMeta `json:"metadata,omitempty"` // VirtualMachineInstance Spec contains the VirtualMachineInstance specification. Spec VirtualMachineInstanceSpec `json:"spec,omitempty" valid:"required"` }
--- +k8s:openapi-gen=true
func (*VirtualMachineInstanceTemplateSpec) DeepCopy ¶
func (in *VirtualMachineInstanceTemplateSpec) DeepCopy() *VirtualMachineInstanceTemplateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineInstanceTemplateSpec.
func (*VirtualMachineInstanceTemplateSpec) DeepCopyInto ¶
func (in *VirtualMachineInstanceTemplateSpec) DeepCopyInto(out *VirtualMachineInstanceTemplateSpec)
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 is a list of virtualmachines --- +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +k8s:openapi-gen=true
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.
type VirtualMachineRunStrategy ¶
type VirtualMachineRunStrategy string
VirtualMachineRunStrategy is a label for the requested VirtualMachineInstance Running State at the current time. --- +k8s:openapi-gen=true
const ( // Placeholder. Not a valid RunStrategy. RunStrategyUnknown VirtualMachineRunStrategy = "" // VMI should always be running. RunStrategyAlways VirtualMachineRunStrategy = "Always" // VMI should never be running. RunStrategyHalted VirtualMachineRunStrategy = "Halted" // VMI can be started/stopped using API endpoints. RunStrategyManual VirtualMachineRunStrategy = "Manual" // VMI will initially be running--and restarted if a failure occurs. // It will not be restarted upon successful completion. RunStrategyRerunOnFailure VirtualMachineRunStrategy = "RerunOnFailure" )
These are the valid VMI run strategies
type VirtualMachineSpec ¶
type VirtualMachineSpec struct { // Running controls whether the associatied VirtualMachineInstance is created or not // Mutually exclusive with RunStrategy Running *bool `json:"running,omitempty" optional:"true"` // Running state indicates the requested running state of the VirtualMachineInstance // mutually exclusive with Running RunStrategy *VirtualMachineRunStrategy `json:"runStrategy,omitempty" optional:"true"` // Template is the direct specification of VirtualMachineInstance Template *VirtualMachineInstanceTemplateSpec `json:"template"` // dataVolumeTemplates is a list of dataVolumes that the VirtualMachineInstance template can reference. // DataVolumes in this list are dynamically created for the VirtualMachine and are tied to the VirtualMachine's life-cycle. DataVolumeTemplates []cdiv1.DataVolume `json:"dataVolumeTemplates,omitempty"` }
VirtualMachineSpec describes how the proper VirtualMachine should look like --- +k8s:openapi-gen=true
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 VirtualMachineStateChangeRequest ¶
type VirtualMachineStateChangeRequest struct { // Indicates the type of action that is requested. e.g. Start or Stop Action StateChangeRequestAction `json:"action"` // Indicates the UUID of an existing Virtual Machine Instance that this change request applies to -- if applicable UID *types.UID `json:"uid,omitempty" optional:"true" protobuf:"bytes,5,opt,name=uid,casttype=k8s.io/kubernetes/pkg/types.UID"` }
func (*VirtualMachineStateChangeRequest) DeepCopy ¶
func (in *VirtualMachineStateChangeRequest) DeepCopy() *VirtualMachineStateChangeRequest
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineStateChangeRequest.
func (*VirtualMachineStateChangeRequest) DeepCopyInto ¶
func (in *VirtualMachineStateChangeRequest) DeepCopyInto(out *VirtualMachineStateChangeRequest)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineStatus ¶
type VirtualMachineStatus struct { // Created indicates if the virtual machine is created in the cluster Created bool `json:"created,omitempty"` // Ready indicates if the virtual machine is running and ready Ready bool `json:"ready,omitempty"` // Hold the state information of the VirtualMachine and its VirtualMachineInstance Conditions []VirtualMachineCondition `json:"conditions,omitempty" optional:"true"` // StateChangeRequests indicates a list of actions that should be taken on a VMI // e.g. stop a specific VMI then start a new one. StateChangeRequests []VirtualMachineStateChangeRequest `json:"stateChangeRequests,omitempty" optional:"true"` }
VirtualMachineStatus represents the status returned by the controller to describe how the VirtualMachine is doing --- +k8s:openapi-gen=true
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 Volume ¶
type Volume struct { // Volume's name. // Must be a DNS_LABEL and unique within the vmi. // More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names Name string `json:"name"` // VolumeSource represents the location and type of the mounted volume. // Defaults to Disk, if no type is specified. VolumeSource `json:",inline"` }
Volume represents a named volume in a vmi. --- +k8s:openapi-gen=true
func (*Volume) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Volume.
func (*Volume) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VolumeSource ¶
type VolumeSource struct { // HostDisk represents a disk created on the cluster level // +optional HostDisk *HostDisk `json:"hostDisk,omitempty"` // PersistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace. // Directly attached to the vmi via qemu. // More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims // +optional PersistentVolumeClaim *v1.PersistentVolumeClaimVolumeSource `json:"persistentVolumeClaim,omitempty"` // CloudInitNoCloud represents a cloud-init NoCloud user-data source. // The NoCloud data will be added as a disk to the vmi. A proper cloud-init installation is required inside the guest. // More info: http://cloudinit.readthedocs.io/en/latest/topics/datasources/nocloud.html // +optional CloudInitNoCloud *CloudInitNoCloudSource `json:"cloudInitNoCloud,omitempty"` // CloudInitConfigDrive represents a cloud-init Config Drive user-data source. // The Config Drive data will be added as a disk to the vmi. A proper cloud-init installation is required inside the guest. // More info: https://cloudinit.readthedocs.io/en/latest/topics/datasources/configdrive.html // +optional CloudInitConfigDrive *CloudInitConfigDriveSource `json:"cloudInitConfigDrive,omitempty"` // ContainerDisk references a docker image, embedding a qcow or raw disk. // More info: https://kubevirt.gitbooks.io/user-guide/registry-disk.html // +optional ContainerDisk *ContainerDiskSource `json:"containerDisk,omitempty"` // Ephemeral is a special volume source that "wraps" specified source and provides copy-on-write image on top of it. // +optional Ephemeral *EphemeralVolumeSource `json:"ephemeral,omitempty"` // EmptyDisk represents a temporary disk which shares the vmis lifecycle. // More info: https://kubevirt.gitbooks.io/user-guide/disks-and-volumes.html // +optional EmptyDisk *EmptyDiskSource `json:"emptyDisk,omitempty"` // DataVolume represents the dynamic creation a PVC for this volume as well as // the process of populating that PVC with a disk image. // +optional DataVolume *DataVolumeSource `json:"dataVolume,omitempty"` // ConfigMapSource represents a reference to a ConfigMap in the same namespace. // More info: https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/ // +optional ConfigMap *ConfigMapVolumeSource `json:"configMap,omitempty"` // SecretVolumeSource represents a reference to a secret data in the same namespace. // More info: https://kubernetes.io/docs/concepts/configuration/secret/ // +optional Secret *SecretVolumeSource `json:"secret,omitempty"` // ServiceAccountVolumeSource represents a reference to a service account. // There can only be one volume of this type! // More info: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/ // +optional ServiceAccount *ServiceAccountVolumeSource `json:"serviceAccount,omitempty"` }
Represents the source of a volume to mount. Only one of its members may be specified. --- +k8s:openapi-gen=true
func (*VolumeSource) DeepCopy ¶
func (in *VolumeSource) DeepCopy() *VolumeSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumeSource.
func (*VolumeSource) DeepCopyInto ¶
func (in *VolumeSource) DeepCopyInto(out *VolumeSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Watchdog ¶
type Watchdog struct { // Name of the watchdog. Name string `json:"name"` // WatchdogDevice contains the watchdog type and actions. // Defaults to i6300esb. WatchdogDevice `json:",inline"` }
Named watchdog device. --- +k8s:openapi-gen=true
func (*Watchdog) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Watchdog.
func (*Watchdog) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WatchdogAction ¶
type WatchdogAction string
WatchdogAction defines the watchdog action, if a watchdog gets triggered. --- +k8s:openapi-gen=true
const ( // WatchdogActionPoweroff will poweroff the vmi if the watchdog gets triggered. WatchdogActionPoweroff WatchdogAction = "poweroff" // WatchdogActionReset will reset the vmi if the watchdog gets triggered. WatchdogActionReset WatchdogAction = "reset" // WatchdogActionShutdown will shutdown the vmi if the watchdog gets triggered. WatchdogActionShutdown WatchdogAction = "shutdown" )
type WatchdogDevice ¶
type WatchdogDevice struct { // i6300esb watchdog device. // +optional I6300ESB *I6300ESBWatchdog `json:"i6300esb,omitempty"` }
Hardware watchdog device. Exactly one of its members must be set. --- +k8s:openapi-gen=true
func (*WatchdogDevice) DeepCopy ¶
func (in *WatchdogDevice) DeepCopy() *WatchdogDevice
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WatchdogDevice.
func (*WatchdogDevice) DeepCopyInto ¶
func (in *WatchdogDevice) DeepCopyInto(out *WatchdogDevice)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.