v1

package
v0.46.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 19, 2021 License: Apache-2.0 Imports: 18 Imported by: 0

Documentation

Overview

+groupName=kubevirt.io +versionName=v1alpha3 Package v1 is the v1 version of the API.

  • 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

View Source
const (
	IOThreadsPolicyShared  IOThreadsPolicy = "shared"
	IOThreadsPolicyAuto    IOThreadsPolicy = "auto"
	CPUModeHostPassthrough                 = "host-passthrough"
	CPUModeHostModel                       = "host-model"
)
View Source
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"
)
View Source
const (
	// Provisioning means, a VMI depends on DataVolumes which are in Pending/WaitForFirstConsumer status,
	// and some actions are taken to provision the PVCs for the DataVolumes
	VirtualMachineInstanceProvisioning VirtualMachineInstanceConditionType = "Provisioning"

	// Ready means the VMI 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"

	// Reflects whether the QEMU guest agent updated access credentials successfully
	VirtualMachineInstanceAccessCredentialsSynchronized VirtualMachineInstanceConditionType = "AccessCredentialsSynchronized"

	// Reflects whether the QEMU guest agent is connected through the channel
	VirtualMachineInstanceUnsupportedAgent VirtualMachineInstanceConditionType = "AgentVersionNotSupported"

	// 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"
	// Reason means that VMI is not live migratioable because it uses hotplug
	VirtualMachineInstanceReasonHotplugNotMigratable = "HotplugNotLiveMigratable"
	// Reason means that VMI is not live migratioable because of it's CPU mode
	VirtualMachineInstanceReasonCPUModeNotMigratable = "CPUModeLiveMigratable"
	// Reason means that VMI is not live migratable because it uses virtiofs
	VirtualMachineInstanceReasonVirtIOFSNotMigratable = "VirtIOFSNotLiveMigratable"
)

These are valid conditions of VMIs.

View Source
const (
	// PodTerminatingReason indicates on the Ready condition on the VMI if the underlying pod is terminating
	PodTerminatingReason = "PodTerminating"

	// PodNotExistsReason indicates on the Ready condition on the VMI if the underlying pod does not exist
	PodNotExistsReason = "PodNotExists"

	// PodConditionMissingReason indicates on the Ready condition on the VMI if the underlying pod does not report a Ready condition
	PodConditionMissingReason = "PodConditionMissing"

	// GuestNotRunningReason indicates on the Ready condition on the VMI if the underlying guest VM is not running
	GuestNotRunningReason = "GuestNotRunning"
)
View Source
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"
	// Used by functional tests to force a VMI to fail the migration internally within launcher
	FuncTestForceLauncherMigrationFailureAnnotation string = "kubevirt.io/func-test-force-launcher-migration-failure"
	// Used by functional tests to prevent virt launcher from finishing the target pod preparation.
	FuncTestBlockLauncherPrepareMigrationTargetAnnotation string = "kubevirt.io/func-test-block-migration-target-preparation"
	// Used by functional tests to simulate virt-launcher crash looping
	FuncTestLauncherFailFastAnnotation string = "kubevirt.io/func-test-virt-launcher-fail-fast"
	// 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 indicates the migration name that a PDB is protecting.
	MigrationNameLabel string = "kubevirt.io/migrationName"
	// 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 annotation indicates that a migration is the result of an
	// automated evacuation
	EvacuationMigrationAnnotation string = "kubevirt.io/evacuationMigration"
	// This annotation indicates that a migration is the result of an
	// automated workload update
	WorkloadUpdateMigrationAnnotation string = "kubevirt.io/workloadUpdateMigration"
	// 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 indicates what launcher image a VMI is currently running with.
	OutdatedLauncherImageLabel string = "kubevirt.io/outdatedLauncherImage"
	// Namespace recommended by Kubernetes for commonly recognized labels
	AppLabelPrefix = "app.kubernetes.io"
	// This label is commonly used by 3rd party management tools to identify
	// an application's name.
	AppNameLabel = AppLabelPrefix + "/name"
	// This label is commonly used by 3rd party management tools to identify
	// an application's version.
	AppVersionLabel = AppLabelPrefix + "/version"
	// This label is commonly used by 3rd party management tools to identify
	// a higher level application.
	AppPartOfLabel = AppLabelPrefix + "/part-of"
	// This label is commonly used by 3rd party management tools to identify
	// the component this application is a part of.
	AppComponentLabel = AppLabelPrefix + "/component"
	// This label identifies each resource as part of KubeVirt
	AppComponent = "kubevirt"
	// This label will be set on all resources created by the operator
	ManagedByLabel              = AppLabelPrefix + "/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 shows the enconding used for the manifests in the Install Strategy ConfigMap.
	InstallStrategyConfigMapEncoding = "kubevirt.io/install-strategy-cm-encoding"
	// This annotation is a hash of all customizations that live under spec.CustomizeComponents
	KubeVirtCustomizeComponentAnnotationHash = "kubevirt.io/customizer-identifier"
	// This annotation represents the kubevirt generation that was used to create a resource
	KubeVirtGenerationAnnotation = "kubevirt.io/generation"
	// This annotation represents that this object is for temporary use during updates
	EphemeralBackupObject = "kubevirt.io/ephemeral-backup-object"
	// This annotation represents that the annotated object is for temporary use during pod/volume provisioning
	EphemeralProvisioningObject string = "kubevirt.io/ephemeral-provisioning"

	// This label indicates the object is a part of the install strategy retrieval process.
	InstallStrategyLabel = "kubevirt.io/install-strategy"

	// Set by VMI controller to ensure VMIs are processed during deletion
	VirtualMachineInstanceFinalizer string = "foregroundDeleteVirtualMachine"
	// Set By VM controller on VMIs to ensure VMIs are processed by VM controller during deletion
	VirtualMachineControllerFinalizer        string = "kubevirt.io/virtualMachineControllerFinalize"
	VirtualMachineInstanceMigrationFinalizer string = "kubevirt.io/migrationJobFinalize"
	CPUManager                               string = "cpumanager"
	// This annotation is used to inject ignition data
	// Used on VirtualMachineInstance.
	IgnitionAnnotation           string = "kubevirt.io/ignitiondata"
	PlacePCIDevicesOnRootComplex string = "kubevirt.io/placePCIDevicesOnRootComplex"

	// This label represents supported cpu features on the node
	CPUFeatureLabel = "cpu-feature.node.kubevirt.io/"
	// This label represents supported cpu models on the node
	CPUModelLabel = "cpu-model.node.kubevirt.io/"
	CPUTimerLabel = "cpu-timer.node.kubevirt.io/"
	// This label represents supported HyperV features on the node
	HypervLabel = "hyperv.node.kubevirt.io/"
	// This label represents vendor of cpu model on the node
	CPUModelVendorLabel = "cpu-vendor.node.kubevirt.io/"

	// This label represents the host model CPU name
	HostModelCPULabel = "host-model-cpu.node.kubevirt.io/"
	// This label represents the host model required features
	HostModelRequiredFeaturesLabel = "host-model-required-features.node.kubevirt.io/"

	LabellerSkipNodeAnnotation        = "node-labeller.kubevirt.io/skip-node"
	VirtualMachineLabel               = AppLabel + "/vm"
	MemfdMemoryBackend         string = "kubevirt.io/memfd"

	MigrationSelectorLabel = "kubevirt.io/vmi-name"

	// This annotation represents vmi running nonroot implementation
	NonRootVMIAnnotation = "kubevirt.io/nonroot"

	// This annotation is to keep virt launcher container alive when an VMI encounters a failure for debugging purpose
	KeepLauncherAfterFailureAnnotation string = "kubevirt.io/keep-launcher-alive-after-failure"

	// MigrationTransportUnixAnnotation means that the VMI will be migrated using the unix URI
	MigrationTransportUnixAnnotation string = "kubevirt.io/migrationTransportUnix"
)
View Source
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"

	// IOThreads - User mode based threads with a shared lock that perform I/O tasks. Can impact performance but offers
	// more predictable behaviour. This method is also takes fewer CPU cycles to submit I/O requests.
	IOThreads DriverIO = "threads"
	// IONative - Kernel native I/O tasks (AIO) offer a better performance but can block the VM if the file is not fully
	// allocated so this method recommended only when the backing file/disk/etc is fully preallocated.
	IONative DriverIO = "native"
	// IODefault - Fallback to the default value from the kernel. With recent Kernel versions (for example RHEL-7) the
	// default is AIO.
	IODefault DriverIO = "default"
)
View Source
const (
	StartRequestDataPausedKey  string = "paused"
	StartRequestDataPausedTrue string = "true"
)
View Source
const DefaultGracePeriodSeconds int64 = 30
View Source
const GroupName = "kubevirt.io"

GroupName is the group name use in this package

View Source
const KubeVirtClientGoSchemeRegistrationVersionEnvVar = "KUBEVIRT_CLIENT_GO_SCHEME_REGISTRATION_VERSION"
View Source
const SubresourceGroupName = "subresources.kubevirt.io"
View Source
const (
	UsbClientPassthroughMaxNumberOf = 4
)

Represents the upper limit allowed by QEMU + KubeVirt.

Variables

View Source
var (
	ApiLatestVersion            = "v1"
	ApiSupportedWebhookVersions = []string{"v1alpha3", "v1"}
	ApiStorageVersion           = "v1alpha3"
	ApiSupportedVersions        = []extv1.CustomResourceDefinitionVersion{
		{
			Name:    "v1",
			Served:  true,
			Storage: false,
		},
		{
			Name:    "v1alpha3",
			Served:  true,
			Storage: true,
		},
	}
)
View Source
var (
	// GroupVersion is the latest group version for the KubeVirt api
	GroupVersion       = schema.GroupVersion{Group: GroupName, Version: ApiLatestVersion}
	SchemeGroupVersion = 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{{Group: GroupName, Version: "v1"}, {Group: GroupName, Version: "v1alpha3"}}

	// 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: ApiLatestVersion}, {Group: SubresourceGroupName, Version: ApiStorageVersion}}

	// SubresourceStorageGroupVersion is the group version our api is persistented internally as
	SubresourceStorageGroupVersion = schema.GroupVersion{Group: SubresourceGroupName, Version: ApiStorageVersion}
)
View Source
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"}
)
View Source
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 RegisterDefaults

func RegisterDefaults(scheme *runtime.Scheme) error

RegisterDefaults adds defaulters functions to the given scheme. Public to allow building arbitrary schemes. All generated defaulters are covering - they call all nested defaulters.

func Resource added in v0.25.0

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_Probe added in v0.43.0

func SetDefaults_Probe(probe *Probe)

func SetDefaults_RTCTimer

func SetDefaults_RTCTimer(obj *RTCTimer)

func SetDefaults_SyNICTimer added in v0.40.0

func SetDefaults_SyNICTimer(obj *SyNICTimer)

func SetDefaults_VirtualMachineInstance

func SetDefaults_VirtualMachineInstance(obj *VirtualMachineInstance)

func SetDefaults_Watchdog

func SetDefaults_Watchdog(obj *Watchdog)

func SetObjectDefaults_VirtualMachine

func SetObjectDefaults_VirtualMachine(in *VirtualMachine)

func SetObjectDefaults_VirtualMachineInstance

func SetObjectDefaults_VirtualMachineInstance(in *VirtualMachineInstance)

func SetObjectDefaults_VirtualMachineInstanceList

func SetObjectDefaults_VirtualMachineInstanceList(in *VirtualMachineInstanceList)

func SetObjectDefaults_VirtualMachineInstancePreset

func SetObjectDefaults_VirtualMachineInstancePreset(in *VirtualMachineInstancePreset)

func SetObjectDefaults_VirtualMachineInstancePresetList

func SetObjectDefaults_VirtualMachineInstancePresetList(in *VirtualMachineInstancePresetList)

func SetObjectDefaults_VirtualMachineInstanceReplicaSet

func SetObjectDefaults_VirtualMachineInstanceReplicaSet(in *VirtualMachineInstanceReplicaSet)

func SetObjectDefaults_VirtualMachineInstanceReplicaSetList

func SetObjectDefaults_VirtualMachineInstanceReplicaSetList(in *VirtualMachineInstanceReplicaSetList)

func SetObjectDefaults_VirtualMachineList

func SetObjectDefaults_VirtualMachineList(in *VirtualMachineList)

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 AccessCredential added in v0.36.0

type AccessCredential struct {
	// SSHPublicKey represents the source and method of applying a ssh public
	// key into a guest virtual machine.
	// +optional
	SSHPublicKey *SSHPublicKeyAccessCredential `json:"sshPublicKey,omitempty"`
	// UserPassword represents the source and method for applying a guest user's
	// password
	// +optional
	UserPassword *UserPasswordAccessCredential `json:"userPassword,omitempty"`
}

AccessCredential represents a credential source that can be used to authorize remote access to the vm guest Only one of its members may be specified.

+k8s:openapi-gen=true

func (*AccessCredential) DeepCopy added in v0.36.0

func (in *AccessCredential) DeepCopy() *AccessCredential

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessCredential.

func (*AccessCredential) DeepCopyInto added in v0.36.0

func (in *AccessCredential) DeepCopyInto(out *AccessCredential)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (AccessCredential) SwaggerDoc added in v0.36.0

func (AccessCredential) SwaggerDoc() map[string]string

type AccessCredentialSecretSource added in v0.36.0

type AccessCredentialSecretSource struct {
	// SecretName represents the name of the secret in the VMI's namespace
	SecretName string `json:"secretName"`
}

+k8s:openapi-gen=true

func (*AccessCredentialSecretSource) DeepCopy added in v0.36.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessCredentialSecretSource.

func (*AccessCredentialSecretSource) DeepCopyInto added in v0.36.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (AccessCredentialSecretSource) SwaggerDoc added in v0.36.0

func (AccessCredentialSecretSource) SwaggerDoc() map[string]string

type AddVolumeOptions added in v0.36.0

type AddVolumeOptions struct {
	// Name represents the name that will be used to map the
	// disk to the corresponding volume. This overrides any name
	// set inside the Disk struct itself.
	Name string `json:"name"`
	// Disk represents the hotplug disk that will be plugged into the running VMI
	Disk *Disk `json:"disk"`
	// VolumeSource represents the source of the volume to map to the disk.
	VolumeSource *HotplugVolumeSource `json:"volumeSource"`
}

AddVolumeOptions is provided when dynamically hot plugging a volume and disk +k8s:openapi-gen=true

func (*AddVolumeOptions) DeepCopy added in v0.36.0

func (in *AddVolumeOptions) DeepCopy() *AddVolumeOptions

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AddVolumeOptions.

func (*AddVolumeOptions) DeepCopyInto added in v0.36.0

func (in *AddVolumeOptions) DeepCopyInto(out *AddVolumeOptions)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (AddVolumeOptions) SwaggerDoc added in v0.36.0

func (AddVolumeOptions) SwaggerDoc() map[string]string

type AuthorizedKeysFile added in v0.36.0

type AuthorizedKeysFile struct {
	// FilePath represents the place on the guest that the authorized_keys
	// file should be writen to. This is expected to be a full path including
	// both the base directory and file name.
	FilePath string `json:"filePath"`
}

AuthorizedKeysFile represents a path within the guest that ssh public keys should be propagated to

+k8s:openapi-gen=true

func (*AuthorizedKeysFile) DeepCopy added in v0.36.0

func (in *AuthorizedKeysFile) DeepCopy() *AuthorizedKeysFile

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuthorizedKeysFile.

func (*AuthorizedKeysFile) DeepCopyInto added in v0.36.0

func (in *AuthorizedKeysFile) DeepCopyInto(out *AuthorizedKeysFile)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (AuthorizedKeysFile) SwaggerDoc added in v0.36.0

func (AuthorizedKeysFile) SwaggerDoc() map[string]string

type BIOS

type BIOS struct {
	// If set, the BIOS output will be transmitted over serial
	// +optional
	UseSerial *bool `json:"useSerial,omitempty"`
}

If set (default), BIOS will be used.

+k8s:openapi-gen=true

func (*BIOS) DeepCopy

func (in *BIOS) DeepCopy() *BIOS

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BIOS.

func (*BIOS) DeepCopyInto

func (in *BIOS) DeepCopyInto(out *BIOS)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (BIOS) SwaggerDoc

func (BIOS) SwaggerDoc() map[string]string

type BlockSize added in v0.41.0

type BlockSize struct {
	Custom      *CustomBlockSize `json:"custom,omitempty"`
	MatchVolume *FeatureState    `json:"matchVolume,omitempty"`
}

BlockSize provides the option to change the block size presented to the VM for a disk. Only one of its members may be specified.

+k8s:openapi-gen=true

func (*BlockSize) DeepCopy added in v0.41.0

func (in *BlockSize) DeepCopy() *BlockSize

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BlockSize.

func (*BlockSize) DeepCopyInto added in v0.41.0

func (in *BlockSize) DeepCopyInto(out *BlockSize)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (BlockSize) SwaggerDoc added in v0.41.0

func (BlockSize) SwaggerDoc() map[string]string

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.

func (Bootloader) SwaggerDoc

func (Bootloader) SwaggerDoc() map[string]string

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.

func (CDRomTarget) SwaggerDoc

func (CDRomTarget) SwaggerDoc() map[string]string

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"`

	// NUMA allows specifying settings for the guest NUMA topology
	// +optional
	NUMA *NUMA `json:"numa,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

func (in *CPU) DeepCopy() *CPU

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CPU.

func (*CPU) DeepCopyInto

func (in *CPU) DeepCopyInto(out *CPU)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (CPU) SwaggerDoc

func (CPU) SwaggerDoc() map[string]string

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.

func (CPUFeature) SwaggerDoc

func (CPUFeature) SwaggerDoc() map[string]string

type CertConfig added in v0.41.0

type CertConfig struct {
	// The requested 'duration' (i.e. lifetime) of the Certificate.
	Duration *metav1.Duration `json:"duration,omitempty"`

	// The amount of time before the currently issued certificate's "notAfter"
	// time that we will begin to attempt to renew the certificate.
	RenewBefore *metav1.Duration `json:"renewBefore,omitempty"`
}

CertConfig contains the tunables for TLS certificates +k8s:openapi-gen=true

func (*CertConfig) DeepCopy added in v0.41.0

func (in *CertConfig) DeepCopy() *CertConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CertConfig.

func (*CertConfig) DeepCopyInto added in v0.41.0

func (in *CertConfig) DeepCopyInto(out *CertConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (CertConfig) SwaggerDoc added in v0.41.0

func (CertConfig) SwaggerDoc() map[string]string

type Chassis added in v0.21.0

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 added in v0.21.0

func (in *Chassis) DeepCopy() *Chassis

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Chassis.

func (*Chassis) DeepCopyInto added in v0.21.0

func (in *Chassis) DeepCopyInto(out *Chassis)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (Chassis) SwaggerDoc added in v0.21.0

func (Chassis) SwaggerDoc() map[string]string

type ClientPassthroughDevices added in v0.44.1

type ClientPassthroughDevices struct {
}

Represent a subset of client devices that can be accessed by VMI. At the moment only, USB devices using Usbredir's library and tooling. Another fit would be a smartcard with libcacard.

The struct is currently empty as there is no imediate request for user-facing APIs. This structure simply turns on USB redirection of UsbClientPassthroughMaxNumberOf devices.

+k8s:openapi-gen=true

func (*ClientPassthroughDevices) DeepCopy added in v0.44.1

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientPassthroughDevices.

func (*ClientPassthroughDevices) DeepCopyInto added in v0.44.1

func (in *ClientPassthroughDevices) DeepCopyInto(out *ClientPassthroughDevices)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (ClientPassthroughDevices) SwaggerDoc added in v0.44.1

func (ClientPassthroughDevices) SwaggerDoc() map[string]string

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.
	// +optional
	Timer *Timer `json:"timer"`
}

Represents the clock and timers of a vmi.

+k8s:openapi-gen=true +kubebuilder:pruning:PreserveUnknownFields

func (*Clock) DeepCopy

func (in *Clock) DeepCopy() *Clock

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Clock.

func (*Clock) DeepCopyInto

func (in *Clock) DeepCopyInto(out *Clock)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (Clock) SwaggerDoc

func (Clock) SwaggerDoc() map[string]string

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.

func (ClockOffset) SwaggerDoc

func (ClockOffset) SwaggerDoc() map[string]string

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.

func (ClockOffsetUTC) SwaggerDoc

func (ClockOffsetUTC) SwaggerDoc() map[string]string

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

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudInitConfigDriveSource.

func (*CloudInitConfigDriveSource) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (CloudInitConfigDriveSource) SwaggerDoc

func (CloudInitConfigDriveSource) SwaggerDoc() map[string]string

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

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.

func (CloudInitNoCloudSource) SwaggerDoc

func (CloudInitNoCloudSource) SwaggerDoc() map[string]string

type ClusterProfilerResults added in v0.46.0

type ClusterProfilerResults struct {
	ComponentResults map[string]ProfilerResult `json:"componentResults"`
}

+k8s:openapi-gen=true

func (*ClusterProfilerResults) DeepCopy added in v0.46.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterProfilerResults.

func (*ClusterProfilerResults) DeepCopyInto added in v0.46.0

func (in *ClusterProfilerResults) DeepCopyInto(out *ClusterProfilerResults)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (ClusterProfilerResults) SwaggerDoc added in v0.46.0

func (ClusterProfilerResults) SwaggerDoc() map[string]string

type ComponentConfig added in v0.34.0

type ComponentConfig struct {
	// nodePlacement decsribes scheduling confiuguration for specific
	// KubeVirt components
	//+optional
	NodePlacement *NodePlacement `json:"nodePlacement,omitempty"`
}

+k8s:openapi-gen=true

func (*ComponentConfig) DeepCopy added in v0.34.0

func (in *ComponentConfig) DeepCopy() *ComponentConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentConfig.

func (*ComponentConfig) DeepCopyInto added in v0.34.0

func (in *ComponentConfig) DeepCopyInto(out *ComponentConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ConfigDriveSSHPublicKeyAccessCredentialPropagation added in v0.36.0

type ConfigDriveSSHPublicKeyAccessCredentialPropagation struct{}

+k8s:openapi-gen=true

func (*ConfigDriveSSHPublicKeyAccessCredentialPropagation) DeepCopy added in v0.36.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigDriveSSHPublicKeyAccessCredentialPropagation.

func (*ConfigDriveSSHPublicKeyAccessCredentialPropagation) DeepCopyInto added in v0.36.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (ConfigDriveSSHPublicKeyAccessCredentialPropagation) SwaggerDoc added in v0.36.0

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"`
	// The volume label of the resulting disk inside the VMI.
	// Different bootstrapping mechanisms require different values.
	// Typical values are "cidata" (cloud-init), "config-2" (cloud-init) or "OEMDRV" (kickstart).
	// +optional
	VolumeLabel string `json:"volumeLabel,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

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.

func (ConfigMapVolumeSource) SwaggerDoc

func (ConfigMapVolumeSource) SwaggerDoc() map[string]string

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.

func (ContainerDiskSource) SwaggerDoc

func (ContainerDiskSource) SwaggerDoc() map[string]string

type CustomBlockSize added in v0.41.0

type CustomBlockSize struct {
	Logical  uint `json:"logical"`
	Physical uint `json:"physical"`
}

CustomBlockSize represents the desired logical and physical block size for a VM disk.

+k8s:openapi-gen=true

func (*CustomBlockSize) DeepCopy added in v0.41.0

func (in *CustomBlockSize) DeepCopy() *CustomBlockSize

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomBlockSize.

func (*CustomBlockSize) DeepCopyInto added in v0.41.0

func (in *CustomBlockSize) DeepCopyInto(out *CustomBlockSize)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (CustomBlockSize) SwaggerDoc added in v0.41.0

func (CustomBlockSize) SwaggerDoc() map[string]string

type CustomizeComponents added in v0.34.0

type CustomizeComponents struct {
	// +listType=atomic
	Patches []CustomizeComponentsPatch `json:"patches,omitempty"`

	// Configure the value used for deployment and daemonset resources
	Flags *Flags `json:"flags,omitempty"`
}

+k8s:openapi-gen=true

func (*CustomizeComponents) DeepCopy added in v0.34.0

func (in *CustomizeComponents) DeepCopy() *CustomizeComponents

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomizeComponents.

func (*CustomizeComponents) DeepCopyInto added in v0.34.0

func (in *CustomizeComponents) DeepCopyInto(out *CustomizeComponents)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (CustomizeComponents) SwaggerDoc added in v0.34.0

func (CustomizeComponents) SwaggerDoc() map[string]string

type CustomizeComponentsPatch added in v0.34.0

type CustomizeComponentsPatch struct {
	// +kubebuilder:validation:MinLength=1
	ResourceName string `json:"resourceName"`
	// +kubebuilder:validation:MinLength=1
	ResourceType string    `json:"resourceType"`
	Patch        string    `json:"patch"`
	Type         PatchType `json:"type"`
}

+k8s:openapi-gen=true

func (*CustomizeComponentsPatch) DeepCopy added in v0.34.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomizeComponentsPatch.

func (*CustomizeComponentsPatch) DeepCopyInto added in v0.34.0

func (in *CustomizeComponentsPatch) DeepCopyInto(out *CustomizeComponentsPatch)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (CustomizeComponentsPatch) SwaggerDoc added in v0.34.0

func (CustomizeComponentsPatch) SwaggerDoc() map[string]string

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.

func (DHCPOptions) SwaggerDoc

func (DHCPOptions) SwaggerDoc() map[string]string

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.

+k8s:openapi-gen=true

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.

func (DHCPPrivateOptions) SwaggerDoc

func (DHCPPrivateOptions) SwaggerDoc() map[string]string

type DataVolumeSource

type DataVolumeSource struct {
	// Name represents the name of the DataVolume in the same namespace
	Name string `json:"name"`
	// Hotpluggable indicates whether the volume can be hotplugged and hotunplugged.
	// +optional
	Hotpluggable bool `json:"hotpluggable,omitempty"`
}

+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.

func (DataVolumeSource) SwaggerDoc

func (DataVolumeSource) SwaggerDoc() map[string]string

type DataVolumeTemplateDummyStatus added in v0.34.0

type DataVolumeTemplateDummyStatus struct{}

+k8s:openapi-gen=true

func (*DataVolumeTemplateDummyStatus) DeepCopy added in v0.34.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataVolumeTemplateDummyStatus.

func (*DataVolumeTemplateDummyStatus) DeepCopyInto added in v0.34.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (DataVolumeTemplateDummyStatus) SwaggerDoc added in v0.34.0

func (DataVolumeTemplateDummyStatus) SwaggerDoc() map[string]string

type DataVolumeTemplateSpec added in v0.34.0

type DataVolumeTemplateSpec struct {
	// TypeMeta only exists on DataVolumeTemplate for API backwards compatibility
	// this field is not used by our controllers and is a no-op.
	// +nullable
	metav1.TypeMeta `json:",inline"`
	// +kubebuilder:pruning:PreserveUnknownFields
	// +nullable
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// DataVolumeSpec contains the DataVolume specification.
	Spec cdiv1.DataVolumeSpec `json:"spec"`

	// DataVolumeTemplateDummyStatus is here simply for backwards compatibility with
	// a previous API.
	// +nullable
	// +optional
	Status *DataVolumeTemplateDummyStatus `json:"status,omitempty"`
}

+k8s:openapi-gen=true

func (*DataVolumeTemplateSpec) DeepCopy added in v0.34.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataVolumeTemplateSpec.

func (*DataVolumeTemplateSpec) DeepCopyInto added in v0.34.0

func (in *DataVolumeTemplateSpec) DeepCopyInto(out *DataVolumeTemplateSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (DataVolumeTemplateSpec) SwaggerDoc added in v0.34.0

func (DataVolumeTemplateSpec) SwaggerDoc() map[string]string

type DeveloperConfiguration added in v0.31.0

type DeveloperConfiguration struct {
	FeatureGates           []string          `json:"featureGates,omitempty"`
	LessPVCSpaceToleration int               `json:"pvcTolerateLessSpaceUpToPercent,omitempty"`
	MinimumReservePVCBytes uint64            `json:"minimumReservePVCBytes,omitempty"`
	MemoryOvercommit       int               `json:"memoryOvercommit,omitempty"`
	NodeSelectors          map[string]string `json:"nodeSelectors,omitempty"`
	// UseEmulation can be set to true to allow fallback to software emulation
	// in case hardware-assisted emulation is not available.
	UseEmulation       bool `json:"useEmulation,omitempty"`
	CPUAllocationRatio int  `json:"cpuAllocationRatio,omitempty"`
	// Allow overriding the automatically determined minimum TSC frequency of the cluster
	// and fixate the minimum to this frequency.
	MinimumClusterTSCFrequency *int64            `json:"minimumClusterTSCFrequency,omitempty"`
	DiskVerification           *DiskVerification `json:"diskVerification,omitempty"`
	LogVerbosity               *LogVerbosity     `json:"logVerbosity,omitempty"`
}

DeveloperConfiguration holds developer options +k8s:openapi-gen=true

func (*DeveloperConfiguration) DeepCopy added in v0.31.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeveloperConfiguration.

func (*DeveloperConfiguration) DeepCopyInto added in v0.31.0

func (in *DeveloperConfiguration) DeepCopyInto(out *DeveloperConfiguration)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (DeveloperConfiguration) SwaggerDoc added in v0.31.0

func (DeveloperConfiguration) SwaggerDoc() map[string]string

type Devices

type Devices struct {
	// Fall back to legacy virtio 0.9 support if virtio bus is selected on devices.
	// This is helpful for old machines like CentOS6 or RHEL6 which
	// do not understand virtio_non_transitional (virtio 1.0).
	UseVirtioTransitional *bool `json:"useVirtioTransitional,omitempty"`
	// DisableHotplug disabled the ability to hotplug disks.
	DisableHotplug bool `json:"disableHotplug,omitempty"`
	// 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 attach the Memory balloon device with default period.
	// Period can be adjusted in virt-config.
	// Defaults to true.
	// +optional
	AutoattachMemBalloon *bool `json:"autoattachMemBalloon,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.
	// Defaults to false.
	// +optional
	BlockMultiQueue *bool `json:"blockMultiQueue,omitempty"`
	// If specified, virtual network interfaces configured with a virtio bus will also enable the vhost multiqueue feature for network devices. The number of queues created depends on additional factors of the VirtualMachineInstance, like the number of guest CPUs.
	// +optional
	NetworkInterfaceMultiQueue *bool `json:"networkInterfaceMultiqueue,omitempty"`
	//Whether to attach a GPU device to the vmi.
	// +optional
	// +listType=atomic
	GPUs []GPU `json:"gpus,omitempty"`
	// Filesystems describes filesystem which is connected to the vmi.
	// +optional
	// +listType=atomic
	Filesystems []Filesystem `json:"filesystems,omitempty"`
	//Whether to attach a host device to the vmi.
	// +optional
	// +listType=atomic
	HostDevices []HostDevice `json:"hostDevices,omitempty"`
	// To configure and access client devices such as redirecting USB
	// +optional
	ClientPassthrough *ClientPassthroughDevices `json:"clientPassthrough,omitempty"`
}

+k8s:openapi-gen=true

func (*Devices) DeepCopy

func (in *Devices) DeepCopy() *Devices

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Devices.

func (*Devices) DeepCopyInto

func (in *Devices) DeepCopyInto(out *Devices)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (Devices) SwaggerDoc

func (Devices) SwaggerDoc() map[string]string

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.
	// Supported values are: CacheNone, CacheWriteThrough.
	// +optional
	Cache DriverCache `json:"cache,omitempty"`
	// IO specifies which QEMU disk IO mode should be used.
	// Supported values are: native, default, threads.
	// +optional
	IO DriverIO `json:"io,omitempty"`
	// If specified, disk address and its tag will be provided to the guest via config drive metadata
	// +optional
	Tag string `json:"tag,omitempty"`
	// If specified, the virtual disk will be presented with the given block sizes.
	// +optional
	BlockSize *BlockSize `json:"blockSize,omitempty"`
}

+k8s:openapi-gen=true

func (*Disk) DeepCopy

func (in *Disk) DeepCopy() *Disk

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Disk.

func (*Disk) DeepCopyInto

func (in *Disk) DeepCopyInto(out *Disk)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (Disk) SwaggerDoc

func (Disk) SwaggerDoc() map[string]string

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.

func (DiskDevice) SwaggerDoc

func (DiskDevice) SwaggerDoc() map[string]string

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 specified 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.

func (DiskTarget) SwaggerDoc

func (DiskTarget) SwaggerDoc() map[string]string

type DiskVerification added in v0.43.1

type DiskVerification struct {
	MemoryLimit *resource.Quantity `json:"memoryLimit"`
}

DiskVerification holds container disks verification limits +k8s:openapi-gen=true

func (*DiskVerification) DeepCopy added in v0.43.1

func (in *DiskVerification) DeepCopy() *DiskVerification

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskVerification.

func (*DiskVerification) DeepCopyInto added in v0.43.1

func (in *DiskVerification) DeepCopyInto(out *DiskVerification)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (DiskVerification) SwaggerDoc added in v0.43.1

func (DiskVerification) SwaggerDoc() map[string]string

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, and others
	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.

func (DomainSpec) SwaggerDoc

func (DomainSpec) SwaggerDoc() map[string]string

type DownwardAPIVolumeSource added in v0.35.0

type DownwardAPIVolumeSource struct {
	// Fields is a list of downward API volume file
	// +optional
	Fields []v1.DownwardAPIVolumeFile `json:"fields,omitempty"`
	// The volume label of the resulting disk inside the VMI.
	// Different bootstrapping mechanisms require different values.
	// Typical values are "cidata" (cloud-init), "config-2" (cloud-init) or "OEMDRV" (kickstart).
	// +optional
	VolumeLabel string `json:"volumeLabel,omitempty"`
}

DownwardAPIVolumeSource represents a volume containing downward API info.

+k8s:openapi-gen=true

func (*DownwardAPIVolumeSource) DeepCopy added in v0.35.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DownwardAPIVolumeSource.

func (*DownwardAPIVolumeSource) DeepCopyInto added in v0.35.0

func (in *DownwardAPIVolumeSource) DeepCopyInto(out *DownwardAPIVolumeSource)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (DownwardAPIVolumeSource) SwaggerDoc added in v0.35.0

func (DownwardAPIVolumeSource) SwaggerDoc() map[string]string

type DownwardMetricsVolumeSource added in v0.42.1

type DownwardMetricsVolumeSource struct {
}

DownwardMetricsVolumeSource adds a very small disk to VMIs which contains a limited view of host and guest metrics. The disk content is compatible with vhostmd (https://github.com/vhostmd/vhostmd) and vm-dump-metrics.

+k8s:openapi-gen=true

func (*DownwardMetricsVolumeSource) DeepCopy added in v0.42.1

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DownwardMetricsVolumeSource.

func (*DownwardMetricsVolumeSource) DeepCopyInto added in v0.42.1

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (DownwardMetricsVolumeSource) SwaggerDoc added in v0.42.1

func (DownwardMetricsVolumeSource) SwaggerDoc() map[string]string

type DriverCache

type DriverCache string

+k8s:openapi-gen=true

type DriverIO added in v0.30.6

type DriverIO string

+k8s:openapi-gen=true

type EFI

type EFI struct {
	// If set, SecureBoot will be enabled and the OVMF roms will be swapped for
	// SecureBoot-enabled ones.
	// Requires SMM to be enabled.
	// Defaults to true
	// +optional
	SecureBoot *bool `json:"secureBoot,omitempty"`
}

If set, EFI will be used instead of BIOS.

+k8s:openapi-gen=true

func (*EFI) DeepCopy

func (in *EFI) DeepCopy() *EFI

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EFI.

func (*EFI) DeepCopyInto

func (in *EFI) DeepCopyInto(out *EFI)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (EFI) SwaggerDoc

func (EFI) SwaggerDoc() map[string]string

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.

func (EmptyDiskSource) SwaggerDoc

func (EmptyDiskSource) SwaggerDoc() map[string]string

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

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.

func (EphemeralVolumeSource) SwaggerDoc

func (EphemeralVolumeSource) SwaggerDoc() map[string]string

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.

func (FeatureAPIC) SwaggerDoc

func (FeatureAPIC) SwaggerDoc() map[string]string

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 *SyNICTimer `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.

func (FeatureHyperv) SwaggerDoc

func (FeatureHyperv) SwaggerDoc() map[string]string

type FeatureKVM added in v0.34.0

type FeatureKVM struct {
	// Hide the KVM hypervisor from standard MSR based discovery.
	// Defaults to false
	Hidden bool `json:"hidden,omitempty"`
}

+k8s:openapi-gen=true

func (*FeatureKVM) DeepCopy added in v0.34.0

func (in *FeatureKVM) DeepCopy() *FeatureKVM

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeatureKVM.

func (*FeatureKVM) DeepCopyInto added in v0.34.0

func (in *FeatureKVM) DeepCopyInto(out *FeatureKVM)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (FeatureKVM) SwaggerDoc added in v0.34.0

func (FeatureKVM) SwaggerDoc() map[string]string

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.

func (FeatureSpinlocks) SwaggerDoc

func (FeatureSpinlocks) SwaggerDoc() map[string]string

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.

func (FeatureState) SwaggerDoc

func (FeatureState) SwaggerDoc() map[string]string

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.

func (FeatureVendorID) SwaggerDoc

func (FeatureVendorID) SwaggerDoc() map[string]string

type Features

type Features struct {
	// ACPI enables/disables ACPI inside the 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"`
	// Configure how KVM presence is exposed to the guest.
	// +optional
	KVM *FeatureKVM `json:"kvm,omitempty"`
	// Notify the guest that the host supports paravirtual spinlocks.
	// For older kernels this feature should be explicitly disabled.
	// +optional
	Pvspinlock *FeatureState `json:"pvspinlock,omitempty"`
}

+k8s:openapi-gen=true

func (*Features) DeepCopy

func (in *Features) DeepCopy() *Features

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Features.

func (*Features) DeepCopyInto

func (in *Features) DeepCopyInto(out *Features)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (Features) SwaggerDoc

func (Features) SwaggerDoc() map[string]string

type Filesystem added in v0.34.0

type Filesystem struct {
	// Name is the device name
	Name string `json:"name"`
	// Virtiofs is supported
	Virtiofs *FilesystemVirtiofs `json:"virtiofs"`
}

+k8s:openapi-gen=true

func (*Filesystem) DeepCopy added in v0.34.0

func (in *Filesystem) DeepCopy() *Filesystem

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Filesystem.

func (*Filesystem) DeepCopyInto added in v0.34.0

func (in *Filesystem) DeepCopyInto(out *Filesystem)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (Filesystem) SwaggerDoc added in v0.34.0

func (Filesystem) SwaggerDoc() map[string]string

type FilesystemVirtiofs added in v0.34.0

type FilesystemVirtiofs struct{}

+k8s:openapi-gen=true

func (*FilesystemVirtiofs) DeepCopy added in v0.34.0

func (in *FilesystemVirtiofs) DeepCopy() *FilesystemVirtiofs

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FilesystemVirtiofs.

func (*FilesystemVirtiofs) DeepCopyInto added in v0.34.0

func (in *FilesystemVirtiofs) DeepCopyInto(out *FilesystemVirtiofs)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (FilesystemVirtiofs) SwaggerDoc added in v0.34.0

func (FilesystemVirtiofs) SwaggerDoc() map[string]string

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"`
	// Settings to set the kernel for booting.
	// +optional
	KernelBoot *KernelBoot `json:"kernelBoot,omitempty"`
}

+k8s:openapi-gen=true

func (*Firmware) DeepCopy

func (in *Firmware) DeepCopy() *Firmware

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Firmware.

func (*Firmware) DeepCopyInto

func (in *Firmware) DeepCopyInto(out *Firmware)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (Firmware) SwaggerDoc

func (Firmware) SwaggerDoc() map[string]string

type Flags added in v0.42.1

type Flags struct {
	API        map[string]string `json:"api,omitempty"`
	Controller map[string]string `json:"controller,omitempty"`
	Handler    map[string]string `json:"handler,omitempty"`
}

Flags will create a patch that will replace all flags for the container's command field. The only flags that will be used are those define. There are no guarantees around forward/backward compatibility. If set incorrectly this will cause the resource when rolled out to error until flags are updated.

+k8s:openapi-gen=true

func (*Flags) DeepCopy added in v0.42.1

func (in *Flags) DeepCopy() *Flags

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Flags.

func (*Flags) DeepCopyInto added in v0.42.1

func (in *Flags) DeepCopyInto(out *Flags)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (Flags) SwaggerDoc added in v0.42.1

func (Flags) SwaggerDoc() map[string]string

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.

func (FloppyTarget) SwaggerDoc

func (FloppyTarget) SwaggerDoc() map[string]string

type GPU added in v0.22.0

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 added in v0.22.0

func (in *GPU) DeepCopy() *GPU

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GPU.

func (*GPU) DeepCopyInto added in v0.22.0

func (in *GPU) DeepCopyInto(out *GPU)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (GPU) SwaggerDoc added in v0.22.0

func (GPU) SwaggerDoc() map[string]string

type GenerationStatus added in v0.41.0

type GenerationStatus struct {
	// group is the group of the thing you're tracking
	Group string `json:"group"`
	// resource is the resource type of the thing you're tracking
	Resource string `json:"resource"`
	// namespace is where the thing you're tracking is
	// +optional
	Namespace string `json:"namespace,omitempty" optional:"true"`
	// name is the name of the thing you're tracking
	Name string `json:"name"`
	// lastGeneration is the last generation of the workload controller involved
	LastGeneration int64 `json:"lastGeneration"`
	// hash is an optional field set for resources without generation that are content sensitive like secrets and configmaps
	// +optional
	Hash string `json:"hash,omitempty" optional:"true"`
}

GenerationStatus keeps track of the generation for a given resource so that decisions about forced updates can be made.

+k8s:openapi-gen=true

func (*GenerationStatus) DeepCopy added in v0.41.0

func (in *GenerationStatus) DeepCopy() *GenerationStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GenerationStatus.

func (*GenerationStatus) DeepCopyInto added in v0.41.0

func (in *GenerationStatus) DeepCopyInto(out *GenerationStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (GenerationStatus) SwaggerDoc added in v0.41.0

func (GenerationStatus) SwaggerDoc() map[string]string

type GuestAgentCommandInfo added in v0.36.3

type GuestAgentCommandInfo struct {
	Name    string `json:"name"`
	Enabled bool   `json:"enabled,omitempty"`
}

List of commands that QEMU guest agent supports

+k8s:openapi-gen=true

func (*GuestAgentCommandInfo) DeepCopy added in v0.36.3

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GuestAgentCommandInfo.

func (*GuestAgentCommandInfo) DeepCopyInto added in v0.36.3

func (in *GuestAgentCommandInfo) DeepCopyInto(out *GuestAgentCommandInfo)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (GuestAgentCommandInfo) SwaggerDoc added in v0.36.3

func (GuestAgentCommandInfo) SwaggerDoc() map[string]string

type GuestAgentPing added in v0.44.1

type GuestAgentPing struct {
}

GuestAgentPing configures the guest-agent based ping probe +k8s:openapi-gen=true

func (*GuestAgentPing) DeepCopy added in v0.44.1

func (in *GuestAgentPing) DeepCopy() *GuestAgentPing

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GuestAgentPing.

func (*GuestAgentPing) DeepCopyInto added in v0.44.1

func (in *GuestAgentPing) DeepCopyInto(out *GuestAgentPing)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (GuestAgentPing) SwaggerDoc added in v0.44.1

func (GuestAgentPing) SwaggerDoc() map[string]string

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

func (in *HPETTimer) DeepCopy() *HPETTimer

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HPETTimer.

func (*HPETTimer) DeepCopyInto

func (in *HPETTimer) DeepCopyInto(out *HPETTimer)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (HPETTimer) SwaggerDoc

func (HPETTimer) SwaggerDoc() map[string]string

type Handler

type Handler struct {
	// One and only one of the following should be specified.
	// Exec specifies the action to take, it will be executed on the guest through the qemu-guest-agent.
	// If the guest agent is not available, this probe will fail.
	// +optional
	Exec *k8sv1.ExecAction `json:"exec,omitempty" protobuf:"bytes,1,opt,name=exec"`
	// GuestAgentPing contacts the qemu-guest-agent for availability checks.
	// +optional
	GuestAgentPing *GuestAgentPing `json:"guestAgentPing,omitempty"`
	// 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

func (in *Handler) DeepCopy() *Handler

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Handler.

func (*Handler) DeepCopyInto

func (in *Handler) DeepCopyInto(out *Handler)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (Handler) SwaggerDoc

func (Handler) SwaggerDoc() map[string]string

type HostDevice added in v0.36.0

type HostDevice struct {
	Name string `json:"name"`
	// DeviceName is the resource name of the host device exposed by a device plugin
	DeviceName string `json:"deviceName"`
}

+k8s:openapi-gen=true

func (*HostDevice) DeepCopy added in v0.36.0

func (in *HostDevice) DeepCopy() *HostDevice

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostDevice.

func (*HostDevice) DeepCopyInto added in v0.36.0

func (in *HostDevice) DeepCopyInto(out *HostDevice)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (HostDevice) SwaggerDoc added in v0.36.0

func (HostDevice) SwaggerDoc() map[string]string

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 indicate whether the path is shared between nodes
	Shared *bool `json:"shared,omitempty"`
}

Represents a disk created on the cluster level

+k8s:openapi-gen=true

func (*HostDisk) DeepCopy

func (in *HostDisk) DeepCopy() *HostDisk

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostDisk.

func (*HostDisk) DeepCopyInto

func (in *HostDisk) DeepCopyInto(out *HostDisk)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (HostDisk) SwaggerDoc

func (HostDisk) SwaggerDoc() map[string]string

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 HotplugVolumeSource added in v0.36.0

type HotplugVolumeSource 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 *PersistentVolumeClaimVolumeSource `json:"persistentVolumeClaim,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"`
}

HotplugVolumeSource Represents the source of a volume to mount which are capable of being hotplugged on a live running VMI. Only one of its members may be specified.

+k8s:openapi-gen=true

func (*HotplugVolumeSource) DeepCopy added in v0.36.0

func (in *HotplugVolumeSource) DeepCopy() *HotplugVolumeSource

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HotplugVolumeSource.

func (*HotplugVolumeSource) DeepCopyInto added in v0.36.0

func (in *HotplugVolumeSource) DeepCopyInto(out *HotplugVolumeSource)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (HotplugVolumeSource) SwaggerDoc added in v0.36.0

func (HotplugVolumeSource) SwaggerDoc() map[string]string

type HotplugVolumeStatus added in v0.36.0

type HotplugVolumeStatus struct {
	// AttachPodName is the name of the pod used to attach the volume to the node.
	AttachPodName string `json:"attachPodName,omitempty"`
	// AttachPodUID is the UID of the pod used to attach the volume to the node.
	AttachPodUID types.UID `json:"attachPodUID,omitempty"`
}

HotplugVolumeStatus represents the hotplug status of the volume +k8s:openapi-gen=true

func (*HotplugVolumeStatus) DeepCopy added in v0.36.0

func (in *HotplugVolumeStatus) DeepCopy() *HotplugVolumeStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HotplugVolumeStatus.

func (*HotplugVolumeStatus) DeepCopyInto added in v0.36.0

func (in *HotplugVolumeStatus) DeepCopyInto(out *HotplugVolumeStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (HotplugVolumeStatus) SwaggerDoc added in v0.36.0

func (HotplugVolumeStatus) SwaggerDoc() map[string]string

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

func (in *Hugepages) DeepCopy() *Hugepages

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Hugepages.

func (*Hugepages) DeepCopyInto

func (in *Hugepages) DeepCopyInto(out *Hugepages)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (Hugepages) SwaggerDoc

func (Hugepages) SwaggerDoc() map[string]string

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.

func (HypervTimer) SwaggerDoc

func (HypervTimer) SwaggerDoc() map[string]string

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.

func (I6300ESBWatchdog) SwaggerDoc

func (I6300ESBWatchdog) SwaggerDoc() map[string]string

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

func (in *Input) DeepCopy() *Input

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Input.

func (*Input) DeepCopyInto

func (in *Input) DeepCopyInto(out *Input)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (Input) SwaggerDoc

func (Input) SwaggerDoc() map[string]string

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 specified 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"`
	// If specified, the virtual network interface address and its tag will be provided to the guest via config drive
	// +optional
	Tag string `json:"tag,omitempty"`
}

+k8s:openapi-gen=true

func DefaultBridgeNetworkInterface

func DefaultBridgeNetworkInterface() *Interface

func DefaultMacvtapNetworkInterface added in v0.35.0

func DefaultMacvtapNetworkInterface(ifaceName string) *Interface

func DefaultMasqueradeNetworkInterface

func DefaultMasqueradeNetworkInterface() *Interface

func DefaultSlirpNetworkInterface

func DefaultSlirpNetworkInterface() *Interface

func (*Interface) DeepCopy

func (in *Interface) DeepCopy() *Interface

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Interface.

func (*Interface) DeepCopyInto

func (in *Interface) DeepCopyInto(out *Interface)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (Interface) SwaggerDoc

func (Interface) SwaggerDoc() map[string]string

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"`
	Macvtap    *InterfaceMacvtap    `json:"macvtap,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

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.

func (InterfaceBindingMethod) SwaggerDoc

func (InterfaceBindingMethod) SwaggerDoc() map[string]string

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.

func (InterfaceBridge) SwaggerDoc

func (InterfaceBridge) SwaggerDoc() map[string]string

type InterfaceMacvtap added in v0.35.0

type InterfaceMacvtap struct{}

+k8s:openapi-gen=true

func (*InterfaceMacvtap) DeepCopy added in v0.35.0

func (in *InterfaceMacvtap) DeepCopy() *InterfaceMacvtap

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InterfaceMacvtap.

func (*InterfaceMacvtap) DeepCopyInto added in v0.35.0

func (in *InterfaceMacvtap) DeepCopyInto(out *InterfaceMacvtap)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (InterfaceMacvtap) SwaggerDoc added in v0.35.0

func (InterfaceMacvtap) SwaggerDoc() map[string]string

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.

func (InterfaceMasquerade) SwaggerDoc

func (InterfaceMasquerade) SwaggerDoc() map[string]string

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.

func (InterfaceSRIOV) SwaggerDoc

func (InterfaceSRIOV) SwaggerDoc() map[string]string

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.

func (InterfaceSlirp) SwaggerDoc

func (InterfaceSlirp) SwaggerDoc() map[string]string

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

func (in *KVMTimer) DeepCopy() *KVMTimer

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KVMTimer.

func (*KVMTimer) DeepCopyInto

func (in *KVMTimer) DeepCopyInto(out *KVMTimer)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (KVMTimer) SwaggerDoc

func (KVMTimer) SwaggerDoc() map[string]string

type KernelBoot added in v0.42.1

type KernelBoot struct {
	// Arguments to be passed to the kernel at boot time
	KernelArgs string `json:"kernelArgs,omitempty"`
	// Container defines the container that containes kernel artifacts
	Container *KernelBootContainer `json:"container,omitempty"`
}

Represents the firmware blob used to assist in the kernel boot process. Used for setting the kernel, initrd and command line arguments

+k8s:openapi-gen=true

func (*KernelBoot) DeepCopy added in v0.42.1

func (in *KernelBoot) DeepCopy() *KernelBoot

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KernelBoot.

func (*KernelBoot) DeepCopyInto added in v0.42.1

func (in *KernelBoot) DeepCopyInto(out *KernelBoot)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (KernelBoot) SwaggerDoc added in v0.42.1

func (KernelBoot) SwaggerDoc() map[string]string

type KernelBootContainer added in v0.42.1

type KernelBootContainer struct {
	// Image that container initrd / kernel files.
	Image string `json:"image"`
	// ImagePullSecret is the name of the Docker registry secret required to pull the image. The secret must already exist.
	//+optional
	ImagePullSecret string `json:"imagePullSecret,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"`
	// The fully-qualified path to the kernel image in the host OS
	//+optional
	KernelPath string `json:"kernelPath,omitempty"`
	// the fully-qualified path to the ramdisk image in the host OS
	//+optional
	InitrdPath string `json:"initrdPath,omitempty"`
}

If set, the VM will be booted from the defined kernel / initrd.

+k8s:openapi-gen=true

func (*KernelBootContainer) DeepCopy added in v0.42.1

func (in *KernelBootContainer) DeepCopy() *KernelBootContainer

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KernelBootContainer.

func (*KernelBootContainer) DeepCopyInto added in v0.42.1

func (in *KernelBootContainer) DeepCopyInto(out *KernelBootContainer)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (KernelBootContainer) SwaggerDoc added in v0.42.1

func (KernelBootContainer) SwaggerDoc() map[string]string

type KubeVirt

type KubeVirt struct {
	metav1.TypeMeta   `json:",inline"`
	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 +genclient

func (*KubeVirt) DeepCopy

func (in *KubeVirt) DeepCopy() *KubeVirt

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeVirt.

func (*KubeVirt) DeepCopyInto

func (in *KubeVirt) DeepCopyInto(out *KubeVirt)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*KubeVirt) DeepCopyObject

func (in *KubeVirt) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (KubeVirt) SwaggerDoc

func (KubeVirt) SwaggerDoc() map[string]string

type KubeVirtCertificateRotateStrategy added in v0.29.0

type KubeVirtCertificateRotateStrategy struct {
	SelfSigned *KubeVirtSelfSignConfiguration `json:"selfSigned,omitempty"`
}

+k8s:openapi-gen=true

func (*KubeVirtCertificateRotateStrategy) DeepCopy added in v0.29.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeVirtCertificateRotateStrategy.

func (*KubeVirtCertificateRotateStrategy) DeepCopyInto added in v0.29.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (KubeVirtCertificateRotateStrategy) SwaggerDoc added in v0.29.0

type KubeVirtCondition

type KubeVirtCondition struct {
	Type   KubeVirtConditionType `json:"type"`
	Status k8sv1.ConditionStatus `json:"status"`
	// +optional
	// +nullable
	LastProbeTime metav1.Time `json:"lastProbeTime,omitempty"`
	// +optional
	// +nullable
	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.

func (KubeVirtCondition) SwaggerDoc

func (KubeVirtCondition) SwaggerDoc() map[string]string

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 KubeVirtConfiguration added in v0.31.0

type KubeVirtConfiguration struct {
	CPUModel               string                  `json:"cpuModel,omitempty"`
	CPURequest             *resource.Quantity      `json:"cpuRequest,omitempty"`
	DeveloperConfiguration *DeveloperConfiguration `json:"developerConfiguration,omitempty"`
	EmulatedMachines       []string                `json:"emulatedMachines,omitempty"`
	ImagePullPolicy        k8sv1.PullPolicy        `json:"imagePullPolicy,omitempty"`
	MigrationConfiguration *MigrationConfiguration `json:"migrations,omitempty"`
	MachineType            string                  `json:"machineType,omitempty"`
	NetworkConfiguration   *NetworkConfiguration   `json:"network,omitempty"`
	OVMFPath               string                  `json:"ovmfPath,omitempty"`
	SELinuxLauncherType    string                  `json:"selinuxLauncherType,omitempty"`
	DefaultRuntimeClass    string                  `json:"defaultRuntimeClass,omitempty"`
	SMBIOSConfig           *SMBiosConfiguration    `json:"smbios,omitempty"`
	// deprecated
	SupportedGuestAgentVersions    []string                          `json:"supportedGuestAgentVersions,omitempty"`
	MemBalloonStatsPeriod          *uint32                           `json:"memBalloonStatsPeriod,omitempty"`
	PermittedHostDevices           *PermittedHostDevices             `json:"permittedHostDevices,omitempty"`
	MediatedDevicesConfiguration   *MediatedDevicesConfiguration     `json:"mediatedDevicesConfiguration,omitempty"`
	MinCPUModel                    string                            `json:"minCPUModel,omitempty"`
	ObsoleteCPUModels              map[string]bool                   `json:"obsoleteCPUModels,omitempty"`
	VirtualMachineInstancesPerNode *int                              `json:"virtualMachineInstancesPerNode,omitempty"`
	APIConfiguration               *ReloadableComponentConfiguration `json:"apiConfiguration,omitempty"`
	WebhookConfiguration           *ReloadableComponentConfiguration `json:"webhookConfiguration,omitempty"`
	ControllerConfiguration        *ReloadableComponentConfiguration `json:"controllerConfiguration,omitempty"`
	HandlerConfiguration           *ReloadableComponentConfiguration `json:"handlerConfiguration,omitempty"`
}

KubeVirtConfiguration holds all kubevirt configurations +k8s:openapi-gen=true

func (*KubeVirtConfiguration) DeepCopy added in v0.31.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeVirtConfiguration.

func (*KubeVirtConfiguration) DeepCopyInto added in v0.31.0

func (in *KubeVirtConfiguration) DeepCopyInto(out *KubeVirtConfiguration)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (KubeVirtConfiguration) SwaggerDoc added in v0.31.0

func (KubeVirtConfiguration) SwaggerDoc() map[string]string

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.

func (KubeVirtList) SwaggerDoc

func (KubeVirtList) SwaggerDoc() map[string]string

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 KubeVirtSelfSignConfiguration added in v0.29.0

type KubeVirtSelfSignConfiguration struct {
	// Deprecated. Use CA.Duration instead
	CARotateInterval *metav1.Duration `json:"caRotateInterval,omitempty"`
	// Deprecated. Use Server.Duration instead
	CertRotateInterval *metav1.Duration `json:"certRotateInterval,omitempty"`
	// Deprecated. Use CA.Duration and CA.RenewBefore instead
	CAOverlapInterval *metav1.Duration `json:"caOverlapInterval,omitempty"`

	// CA configuration
	// CA certs are kept in the CA bundle as long as they are valid
	CA *CertConfig `json:"ca,omitempty"`

	// Server configuration
	// Certs are rotated and discarded
	Server *CertConfig `json:"server,omitempty"`
}

+k8s:openapi-gen=true

func (*KubeVirtSelfSignConfiguration) DeepCopy added in v0.29.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeVirtSelfSignConfiguration.

func (*KubeVirtSelfSignConfiguration) DeepCopyInto added in v0.29.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (KubeVirtSelfSignConfiguration) SwaggerDoc added in v0.29.0

func (KubeVirtSelfSignConfiguration) SwaggerDoc() map[string]string

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"`

	// WorkloadUpdateStrategy defines at the cluster level how to handle
	// automated workload updates
	WorkloadUpdateStrategy KubeVirtWorkloadUpdateStrategy `json:"workloadUpdateStrategy,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"`

	CertificateRotationStrategy KubeVirtCertificateRotateStrategy `json:"certificateRotateStrategy,omitempty"`

	// Designate the apps.kubevirt.io/version label for KubeVirt components.
	// Useful if KubeVirt is included as part of a product.
	// If ProductVersion is not specified, KubeVirt's version will be used.
	ProductVersion string `json:"productVersion,omitempty"`

	// Designate the apps.kubevirt.io/part-of label for KubeVirt components.
	// Useful if KubeVirt is included as part of a product.
	// If ProductName is not specified, the part-of label will be omitted.
	ProductName string `json:"productName,omitempty"`

	// holds kubevirt configurations.
	// same as the virt-configMap
	Configuration KubeVirtConfiguration `json:"configuration,omitempty"`

	// selectors and tolerations that should apply to KubeVirt infrastructure components
	// +optional
	Infra *ComponentConfig `json:"infra,omitempty"`

	// selectors and tolerations that should apply to KubeVirt workloads
	// +optional
	Workloads *ComponentConfig `json:"workloads,omitempty"`

	CustomizeComponents CustomizeComponents `json:"customizeComponents,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.

func (KubeVirtSpec) SwaggerDoc

func (KubeVirtSpec) SwaggerDoc() map[string]string

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"`
	OutdatedVirtualMachineInstanceWorkloads *int                `json:"outdatedVirtualMachineInstanceWorkloads,omitempty" optional:"true"`
	// +listType=atomic
	Generations []GenerationStatus `json:"generations,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.

func (KubeVirtStatus) SwaggerDoc

func (KubeVirtStatus) SwaggerDoc() map[string]string

type KubeVirtUninstallStrategy added in v0.26.0

type KubeVirtUninstallStrategy string
const (
	KubeVirtUninstallStrategyRemoveWorkloads                KubeVirtUninstallStrategy = "RemoveWorkloads"
	KubeVirtUninstallStrategyBlockUninstallIfWorkloadsExist KubeVirtUninstallStrategy = "BlockUninstallIfWorkloadsExist"
)

type KubeVirtWorkloadUpdateStrategy added in v0.39.0

type KubeVirtWorkloadUpdateStrategy struct {
	// WorkloadUpdateMethods defines the methods that can be used to disrupt workloads
	// during automated workload updates.
	// When multiple methods are present, the least disruptive method takes
	// precedence over more disruptive methods. For example if both LiveMigrate and Shutdown
	// methods are listed, only VMs which are not live migratable will be restarted/shutdown
	//
	// An empty list defaults to no automated workload updating
	//
	// +listType=atomic
	// +optional
	WorkloadUpdateMethods []WorkloadUpdateMethod `json:"workloadUpdateMethods,omitempty"`

	// BatchEvictionSize Represents the number of VMIs that can be forced updated per
	// the BatchShutdownInteral interval
	//
	// Defaults to 10
	//
	// +optional
	BatchEvictionSize *int `json:"batchEvictionSize,omitempty"`

	// BatchEvictionInterval Represents the interval to wait before issuing the next
	// batch of shutdowns
	//
	// Defaults to 1 minute
	//
	// +optional
	BatchEvictionInterval *metav1.Duration `json:"batchEvictionInterval,omitempty"`
}

KubeVirtWorkloadUpdateStrategy defines options related to updating a KubeVirt install

+k8s:openapi-gen=true

func (*KubeVirtWorkloadUpdateStrategy) DeepCopy added in v0.39.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeVirtWorkloadUpdateStrategy.

func (*KubeVirtWorkloadUpdateStrategy) DeepCopyInto added in v0.39.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (KubeVirtWorkloadUpdateStrategy) SwaggerDoc added in v0.39.0

func (KubeVirtWorkloadUpdateStrategy) SwaggerDoc() map[string]string

type LogVerbosity added in v0.38.1

type LogVerbosity struct {
	VirtAPI        uint `json:"virtAPI,omitempty"`
	VirtController uint `json:"virtController,omitempty"`
	VirtHandler    uint `json:"virtHandler,omitempty"`
	VirtLauncher   uint `json:"virtLauncher,omitempty"`
	VirtOperator   uint `json:"virtOperator,omitempty"`
	// NodeVerbosity represents a map of nodes with a specific verbosity level
	NodeVerbosity map[string]uint `json:"nodeVerbosity,omitempty"`
}

LogVerbosity sets log verbosity level of various components +k8s:openapi-gen=true

func (*LogVerbosity) DeepCopy added in v0.38.1

func (in *LogVerbosity) DeepCopy() *LogVerbosity

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LogVerbosity.

func (*LogVerbosity) DeepCopyInto added in v0.38.1

func (in *LogVerbosity) DeepCopyInto(out *LogVerbosity)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (LogVerbosity) SwaggerDoc added in v0.38.1

func (LogVerbosity) SwaggerDoc() map[string]string

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

func (in *LunTarget) DeepCopy() *LunTarget

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LunTarget.

func (*LunTarget) DeepCopyInto

func (in *LunTarget) DeepCopyInto(out *LunTarget)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (LunTarget) SwaggerDoc

func (LunTarget) SwaggerDoc() map[string]string

type Machine

type Machine struct {
	// QEMU machine type is the actual chipset of the VirtualMachineInstance.
	// +optional
	Type string `json:"type"`
}

+k8s:openapi-gen=true

func (*Machine) DeepCopy

func (in *Machine) DeepCopy() *Machine

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Machine.

func (*Machine) DeepCopyInto

func (in *Machine) DeepCopyInto(out *Machine)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (Machine) SwaggerDoc

func (Machine) SwaggerDoc() map[string]string

type MediatedDevicesConfiguration added in v0.45.0

type MediatedDevicesConfiguration struct {
	// +listType=atomic
	MediatedDevicesTypes []string `json:"mediatedDevicesTypes,omitempty"`
}

MediatedDevicesConfiguration holds inforamtion about MDEV types to be defined, if available +k8s:openapi-gen=true

func (*MediatedDevicesConfiguration) DeepCopy added in v0.45.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MediatedDevicesConfiguration.

func (*MediatedDevicesConfiguration) DeepCopyInto added in v0.45.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (MediatedDevicesConfiguration) SwaggerDoc added in v0.45.0

func (MediatedDevicesConfiguration) SwaggerDoc() map[string]string

type MediatedHostDevice added in v0.36.0

type MediatedHostDevice struct {
	MDEVNameSelector         string `json:"mdevNameSelector"`
	ResourceName             string `json:"resourceName"`
	ExternalResourceProvider bool   `json:"externalResourceProvider,omitempty"`
}

MediatedHostDevice represents a host mediated device allowed for passthrough +k8s:openapi-gen=true

func (*MediatedHostDevice) DeepCopy added in v0.36.0

func (in *MediatedHostDevice) DeepCopy() *MediatedHostDevice

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MediatedHostDevice.

func (*MediatedHostDevice) DeepCopyInto added in v0.36.0

func (in *MediatedHostDevice) DeepCopyInto(out *MediatedHostDevice)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (MediatedHostDevice) SwaggerDoc added in v0.36.0

func (MediatedHostDevice) SwaggerDoc() map[string]string

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

func (in *Memory) DeepCopy() *Memory

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Memory.

func (*Memory) DeepCopyInto

func (in *Memory) DeepCopyInto(out *Memory)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (Memory) SwaggerDoc

func (Memory) SwaggerDoc() map[string]string

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 MigrationConfiguration added in v0.31.0

type MigrationConfiguration struct {
	NodeDrainTaintKey                 *string            `json:"nodeDrainTaintKey,omitempty"`
	ParallelOutboundMigrationsPerNode *uint32            `json:"parallelOutboundMigrationsPerNode,omitempty"`
	ParallelMigrationsPerCluster      *uint32            `json:"parallelMigrationsPerCluster,omitempty"`
	AllowAutoConverge                 *bool              `json:"allowAutoConverge,omitempty"`
	BandwidthPerMigration             *resource.Quantity `json:"bandwidthPerMigration,omitempty"`
	CompletionTimeoutPerGiB           *int64             `json:"completionTimeoutPerGiB,omitempty"`
	ProgressTimeout                   *int64             `json:"progressTimeout,omitempty"`
	UnsafeMigrationOverride           *bool              `json:"unsafeMigrationOverride,omitempty"`
	AllowPostCopy                     *bool              `json:"allowPostCopy,omitempty"`
	DisableTLS                        *bool              `json:"disableTLS,omitempty"`
}

MigrationConfiguration holds migration options +k8s:openapi-gen=true

func (*MigrationConfiguration) DeepCopy added in v0.31.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MigrationConfiguration.

func (*MigrationConfiguration) DeepCopyInto added in v0.31.0

func (in *MigrationConfiguration) DeepCopyInto(out *MigrationConfiguration)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (MigrationConfiguration) SwaggerDoc added in v0.31.0

func (MigrationConfiguration) SwaggerDoc() map[string]string

type MigrationMode added in v0.34.0

type MigrationMode string

+k8s:openapi-gen=true

const (
	// MigrationPreCopy means the VMI migrations that is currently running is in pre copy mode
	MigrationPreCopy MigrationMode = "PreCopy"
	// MigrationPostCopy means the VMI migrations that is currently running is in post copy mode
	MigrationPostCopy MigrationMode = "PostCopy"
)

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.

func (MultusNetwork) SwaggerDoc

func (MultusNetwork) SwaggerDoc() map[string]string

type NUMA added in v0.43.0

type NUMA struct {
	// GuestMappingPassthrough will create an efficient guest topology based on host CPUs exclusively assigned to a pod.
	// The created topology ensures that memory and CPUs on the virtual numa nodes never cross boundaries of host numa nodes.
	// +opitonal
	GuestMappingPassthrough *NUMAGuestMappingPassthrough `json:"guestMappingPassthrough,omitempty"`
}

+k8s:openapi-gen=true

func (*NUMA) DeepCopy added in v0.43.0

func (in *NUMA) DeepCopy() *NUMA

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NUMA.

func (*NUMA) DeepCopyInto added in v0.43.0

func (in *NUMA) DeepCopyInto(out *NUMA)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (NUMA) SwaggerDoc added in v0.43.0

func (NUMA) SwaggerDoc() map[string]string

type NUMAGuestMappingPassthrough added in v0.43.0

type NUMAGuestMappingPassthrough struct {
}

NUMAGuestMappingPassthrough instructs kubevirt to model numa topology which is compatible with the CPU pinning on the guest. This will result in a subset of the node numa topology being passed through, ensuring that virtual numa nodes and their memory never cross boundaries coming from the node numa mapping. +k8s:openapi-gen=true

func (*NUMAGuestMappingPassthrough) DeepCopy added in v0.43.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NUMAGuestMappingPassthrough.

func (*NUMAGuestMappingPassthrough) DeepCopyInto added in v0.43.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (NUMAGuestMappingPassthrough) SwaggerDoc added in v0.43.0

func (NUMAGuestMappingPassthrough) SwaggerDoc() map[string]string

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

func (in *Network) DeepCopy() *Network

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Network.

func (*Network) DeepCopyInto

func (in *Network) DeepCopyInto(out *Network)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (Network) SwaggerDoc

func (Network) SwaggerDoc() map[string]string

type NetworkConfiguration added in v0.31.0

type NetworkConfiguration struct {
	NetworkInterface                  string `json:"defaultNetworkInterface,omitempty"`
	PermitSlirpInterface              *bool  `json:"permitSlirpInterface,omitempty"`
	PermitBridgeInterfaceOnPodNetwork *bool  `json:"permitBridgeInterfaceOnPodNetwork,omitempty"`
}

NetworkConfiguration holds network options +k8s:openapi-gen=true

func (*NetworkConfiguration) DeepCopy added in v0.31.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkConfiguration.

func (*NetworkConfiguration) DeepCopyInto added in v0.31.0

func (in *NetworkConfiguration) DeepCopyInto(out *NetworkConfiguration)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (NetworkConfiguration) SwaggerDoc added in v0.31.0

func (NetworkConfiguration) SwaggerDoc() map[string]string

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"`
}

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.

func (NetworkSource) SwaggerDoc

func (NetworkSource) SwaggerDoc() map[string]string

type NodePlacement added in v0.34.0

type NodePlacement struct {
	// nodeSelector is the node selector applied to the relevant kind of pods
	// It specifies a map of key-value pairs: for the pod to be eligible to run on a node,
	// the node must have each of the indicated key-value pairs as labels
	// (it can have additional labels as well).
	// See https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector
	// +kubebuilder:validation:Optional
	// +optional
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`

	// affinity enables pod affinity/anti-affinity placement expanding the types of constraints
	// that can be expressed with nodeSelector.
	// affinity is going to be applied to the relevant kind of pods in parallel with nodeSelector
	// See https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity
	// +kubebuilder:validation:Optional
	// +optional
	Affinity *corev1.Affinity `json:"affinity,omitempty"`

	// tolerations is a list of tolerations applied to the relevant kind of pods
	// See https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ for more info.
	// These are additional tolerations other than default ones.
	// +kubebuilder:validation:Optional
	// +optional
	Tolerations []corev1.Toleration `json:"tolerations,omitempty"`
}

NodePlacement describes node scheduling configuration.

+k8s:openapi-gen=true

func (*NodePlacement) DeepCopy added in v0.34.0

func (in *NodePlacement) DeepCopy() *NodePlacement

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodePlacement.

func (*NodePlacement) DeepCopyInto added in v0.34.0

func (in *NodePlacement) DeepCopyInto(out *NodePlacement)

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

func (in *PITTimer) DeepCopy() *PITTimer

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PITTimer.

func (*PITTimer) DeepCopyInto

func (in *PITTimer) DeepCopyInto(out *PITTimer)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (PITTimer) SwaggerDoc

func (PITTimer) SwaggerDoc() map[string]string

type PatchType added in v0.34.0

type PatchType string
const (
	JSONPatchType           PatchType = "json"
	MergePatchType          PatchType = "merge"
	StrategicMergePatchType PatchType = "strategic"
)

type PciHostDevice added in v0.36.0

type PciHostDevice struct {
	// The vendor_id:product_id tuple of the PCI device
	PCIVendorSelector string `json:"pciVendorSelector"`
	// The name of the resource that is representing the device. Exposed by
	// a device plugin and requested by VMs. Typically of the form
	// vendor.com/product_nameThe name of the resource that is representing
	// the device. Exposed by a device plugin and requested by VMs.
	// Typically of the form vendor.com/product_name
	ResourceName string `json:"resourceName"`
	// If true, KubeVirt will leave the allocation and monitoring to an
	// external device plugin
	ExternalResourceProvider bool `json:"externalResourceProvider,omitempty"`
}

PciHostDevice represents a host PCI device allowed for passthrough +k8s:openapi-gen=true

func (*PciHostDevice) DeepCopy added in v0.36.0

func (in *PciHostDevice) DeepCopy() *PciHostDevice

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PciHostDevice.

func (*PciHostDevice) DeepCopyInto added in v0.36.0

func (in *PciHostDevice) DeepCopyInto(out *PciHostDevice)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (PciHostDevice) SwaggerDoc added in v0.36.0

func (PciHostDevice) SwaggerDoc() map[string]string

type PermittedHostDevices added in v0.36.0

type PermittedHostDevices struct {
	// +listType=atomic
	PciHostDevices []PciHostDevice `json:"pciHostDevices,omitempty"`
	// +listType=atomic
	MediatedDevices []MediatedHostDevice `json:"mediatedDevices,omitempty"`
}

PermittedHostDevices holds inforamtion about devices allowed for passthrough +k8s:openapi-gen=true

func (*PermittedHostDevices) DeepCopy added in v0.36.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PermittedHostDevices.

func (*PermittedHostDevices) DeepCopyInto added in v0.36.0

func (in *PermittedHostDevices) DeepCopyInto(out *PermittedHostDevices)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (PermittedHostDevices) SwaggerDoc added in v0.36.0

func (PermittedHostDevices) SwaggerDoc() map[string]string

type PersistentVolumeClaimInfo added in v0.45.0

type PersistentVolumeClaimInfo struct {
	// AccessModes contains the desired access modes the volume should have.
	// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
	// +listType=atomic
	// +optional
	AccessModes []k8sv1.PersistentVolumeAccessMode `json:"accessModes,omitempty"`

	// VolumeMode defines what type of volume is required by the claim.
	// Value of Filesystem is implied when not included in claim spec.
	// +optional
	VolumeMode *k8sv1.PersistentVolumeMode `json:"volumeMode,omitempty"`

	// Capacity represents the capacity set on the corresponding PVC spec
	// +optional
	Capacity k8sv1.ResourceList `json:"capacity,omitempty"`

	// Preallocated indicates if the PVC's storage is preallocated or not
	// +optional
	Preallocated bool `json:"preallocated,omitempty"`
}

PersistentVolumeClaimInfo contains the relavant information virt-handler needs cached about a PVC +k8s:openapi-gen=true

func (*PersistentVolumeClaimInfo) DeepCopy added in v0.45.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PersistentVolumeClaimInfo.

func (*PersistentVolumeClaimInfo) DeepCopyInto added in v0.45.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (PersistentVolumeClaimInfo) SwaggerDoc added in v0.45.0

func (PersistentVolumeClaimInfo) SwaggerDoc() map[string]string

type PersistentVolumeClaimVolumeSource added in v0.45.0

type PersistentVolumeClaimVolumeSource struct {
	v1.PersistentVolumeClaimVolumeSource `json:",inline"`
	// Hotpluggable indicates whether the volume can be hotplugged and hotunplugged.
	// +optional
	Hotpluggable bool `json:"hotpluggable,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

+k8s:openapi-gen=true

func (*PersistentVolumeClaimVolumeSource) DeepCopy added in v0.45.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PersistentVolumeClaimVolumeSource.

func (*PersistentVolumeClaimVolumeSource) DeepCopyInto added in v0.45.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (PersistentVolumeClaimVolumeSource) SwaggerDoc added in v0.45.0

type PodNetwork

type PodNetwork struct {
	// CIDR for vm network.
	// Default 10.0.2.0/24 if not specified.
	VMNetworkCIDR string `json:"vmNetworkCIDR,omitempty"`

	// IPv6 CIDR for the vm network.
	// Defaults to fd10:0:2::/120 if not specified.
	VMIPv6NetworkCIDR string `json:"vmIPv6NetworkCIDR,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.

func (PodNetwork) SwaggerDoc

func (PodNetwork) SwaggerDoc() map[string]string

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

func (in *Port) DeepCopy() *Port

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Port.

func (*Port) DeepCopyInto

func (in *Port) DeepCopyInto(out *Port)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (Port) SwaggerDoc

func (Port) SwaggerDoc() map[string]string

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.
	// For exec probes the timeout fails the probe but does not terminate the command running on the guest.
	// This means a blocking command can result in an increasing load on the guest.
	// A small buffer will be added to the resulting workload exec probe to compensate for delays
	// caused by the qemu guest exec mechanism.
	// 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. +k8s:openapi-gen=true

func (*Probe) DeepCopy

func (in *Probe) DeepCopy() *Probe

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Probe.

func (*Probe) DeepCopyInto

func (in *Probe) DeepCopyInto(out *Probe)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (Probe) SwaggerDoc

func (Probe) SwaggerDoc() map[string]string

type ProfilerResult added in v0.46.0

type ProfilerResult struct {
	PprofData map[string][]byte `json:"pprofData,omitempty"`
}

+k8s:openapi-gen=true

func (*ProfilerResult) DeepCopy added in v0.46.0

func (in *ProfilerResult) DeepCopy() *ProfilerResult

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProfilerResult.

func (*ProfilerResult) DeepCopyInto added in v0.46.0

func (in *ProfilerResult) DeepCopyInto(out *ProfilerResult)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (ProfilerResult) SwaggerDoc added in v0.46.0

func (ProfilerResult) SwaggerDoc() map[string]string

type QemuGuestAgentSSHPublicKeyAccessCredentialPropagation added in v0.36.0

type QemuGuestAgentSSHPublicKeyAccessCredentialPropagation struct {
	// Users represents a list of guest users that should have the ssh public keys
	// added to their authorized_keys file.
	// +listType=set
	Users []string `json:"users"`
}

+k8s:openapi-gen=true

func (*QemuGuestAgentSSHPublicKeyAccessCredentialPropagation) DeepCopy added in v0.36.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QemuGuestAgentSSHPublicKeyAccessCredentialPropagation.

func (*QemuGuestAgentSSHPublicKeyAccessCredentialPropagation) DeepCopyInto added in v0.36.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (QemuGuestAgentSSHPublicKeyAccessCredentialPropagation) SwaggerDoc added in v0.36.0

type QemuGuestAgentUserPasswordAccessCredentialPropagation added in v0.36.0

type QemuGuestAgentUserPasswordAccessCredentialPropagation struct{}

+k8s:openapi-gen=true

func (*QemuGuestAgentUserPasswordAccessCredentialPropagation) DeepCopy added in v0.36.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QemuGuestAgentUserPasswordAccessCredentialPropagation.

func (*QemuGuestAgentUserPasswordAccessCredentialPropagation) DeepCopyInto added in v0.36.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (QemuGuestAgentUserPasswordAccessCredentialPropagation) SwaggerDoc added in v0.36.0

type RESTClientConfiguration added in v0.44.2

type RESTClientConfiguration struct {
	//RateLimiter allows selecting and configuring different rate limiters for the k8s client.
	RateLimiter *RateLimiter `json:"rateLimiter,omitempty"`
}

RESTClientConfiguration allows configuring certain aspects of the k8s rest client. +k8s:openapi-gen=true

func (*RESTClientConfiguration) DeepCopy added in v0.44.2

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RESTClientConfiguration.

func (*RESTClientConfiguration) DeepCopyInto added in v0.44.2

func (in *RESTClientConfiguration) DeepCopyInto(out *RESTClientConfiguration)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (RESTClientConfiguration) SwaggerDoc added in v0.44.2

func (RESTClientConfiguration) SwaggerDoc() map[string]string

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

func (in *RTCTimer) DeepCopy() *RTCTimer

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RTCTimer.

func (*RTCTimer) DeepCopyInto

func (in *RTCTimer) DeepCopyInto(out *RTCTimer)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (RTCTimer) SwaggerDoc

func (RTCTimer) SwaggerDoc() map[string]string

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 RateLimiter added in v0.44.2

type RateLimiter struct {
	TokenBucketRateLimiter *TokenBucketRateLimiter `json:"tokenBucketRateLimiter,omitempty"`
}

+k8s:openapi-gen=true

func (*RateLimiter) DeepCopy added in v0.44.2

func (in *RateLimiter) DeepCopy() *RateLimiter

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RateLimiter.

func (*RateLimiter) DeepCopyInto added in v0.44.2

func (in *RateLimiter) DeepCopyInto(out *RateLimiter)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (RateLimiter) SwaggerDoc added in v0.44.2

func (RateLimiter) SwaggerDoc() map[string]string

type ReloadableComponentConfiguration added in v0.44.2

type ReloadableComponentConfiguration struct {
	//RestClient can be used to tune certain aspects of the k8s client in use.
	RestClient *RESTClientConfiguration `json:"restClient,omitempty"`
}

ReloadableComponentConfiguration holds all generic k8s configuration options which can be reloaded by components without requiring a restart. +k8s:openapi-gen=true

func (*ReloadableComponentConfiguration) DeepCopy added in v0.44.2

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReloadableComponentConfiguration.

func (*ReloadableComponentConfiguration) DeepCopyInto added in v0.44.2

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (ReloadableComponentConfiguration) SwaggerDoc added in v0.44.2

type RemoveVolumeOptions added in v0.36.0

type RemoveVolumeOptions struct {
	// Name represents the name that maps to both the disk and volume that
	// should be removed
	Name string `json:"name"`
}

RemoveVolumeOptions is provided when dynamically hot unplugging volume and disk +k8s:openapi-gen=true

func (*RemoveVolumeOptions) DeepCopy added in v0.36.0

func (in *RemoveVolumeOptions) DeepCopy() *RemoveVolumeOptions

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RemoveVolumeOptions.

func (*RemoveVolumeOptions) DeepCopyInto added in v0.36.0

func (in *RemoveVolumeOptions) DeepCopyInto(out *RemoveVolumeOptions)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (RemoveVolumeOptions) SwaggerDoc added in v0.36.0

func (RemoveVolumeOptions) SwaggerDoc() map[string]string

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

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.

func (ResourceRequirements) SwaggerDoc

func (ResourceRequirements) SwaggerDoc() map[string]string

type RestartOptions added in v0.25.0

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 added in v0.25.0

func (in *RestartOptions) DeepCopy() *RestartOptions

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RestartOptions.

func (*RestartOptions) DeepCopyInto added in v0.25.0

func (in *RestartOptions) DeepCopyInto(out *RestartOptions)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (RestartOptions) SwaggerDoc added in v0.25.0

func (RestartOptions) SwaggerDoc() map[string]string

type Rng

type Rng struct {
}

Rng represents the random device passed from host

+k8s:openapi-gen=true

func (*Rng) DeepCopy

func (in *Rng) DeepCopy() *Rng

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Rng.

func (*Rng) DeepCopyInto

func (in *Rng) DeepCopyInto(out *Rng)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (Rng) SwaggerDoc

func (Rng) SwaggerDoc() map[string]string

type SMBiosConfiguration added in v0.31.0

type SMBiosConfiguration struct {
	Manufacturer string `json:"manufacturer,omitempty"`
	Product      string `json:"product,omitempty"`
	Version      string `json:"version,omitempty"`
	Sku          string `json:"sku,omitempty"`
	Family       string `json:"family,omitempty"`
}

+k8s:openapi-gen=true

func (*SMBiosConfiguration) DeepCopy added in v0.31.0

func (in *SMBiosConfiguration) DeepCopy() *SMBiosConfiguration

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SMBiosConfiguration.

func (*SMBiosConfiguration) DeepCopyInto added in v0.31.0

func (in *SMBiosConfiguration) DeepCopyInto(out *SMBiosConfiguration)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (SMBiosConfiguration) SwaggerDoc added in v0.31.0

func (SMBiosConfiguration) SwaggerDoc() map[string]string

type SSHPublicKeyAccessCredential added in v0.36.0

type SSHPublicKeyAccessCredential struct {
	// Source represents where the public keys are pulled from
	Source SSHPublicKeyAccessCredentialSource `json:"source"`

	// PropagationMethod represents how the public key is injected into the vm guest.
	PropagationMethod SSHPublicKeyAccessCredentialPropagationMethod `json:"propagationMethod"`
}

SSHPublicKeyAccessCredential represents a source and propagation method for injecting ssh public keys into a vm guest

+k8s:openapi-gen=true

func (*SSHPublicKeyAccessCredential) DeepCopy added in v0.36.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SSHPublicKeyAccessCredential.

func (*SSHPublicKeyAccessCredential) DeepCopyInto added in v0.36.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (SSHPublicKeyAccessCredential) SwaggerDoc added in v0.36.0

func (SSHPublicKeyAccessCredential) SwaggerDoc() map[string]string

type SSHPublicKeyAccessCredentialPropagationMethod added in v0.36.0

type SSHPublicKeyAccessCredentialPropagationMethod struct {
	// ConfigDrivePropagation means that the ssh public keys are injected
	// into the VM using metadata using the configDrive cloud-init provider
	// +optional
	ConfigDrive *ConfigDriveSSHPublicKeyAccessCredentialPropagation `json:"configDrive,omitempty"`

	// QemuGuestAgentAccessCredentailPropagation means ssh public keys are
	// dynamically injected into the vm at runtime via the qemu guest agent.
	// This feature requires the qemu guest agent to be running within the guest.
	// +optional
	QemuGuestAgent *QemuGuestAgentSSHPublicKeyAccessCredentialPropagation `json:"qemuGuestAgent,omitempty"`
}

SSHPublicKeyAccessCredentialPropagationMethod represents the method used to inject a ssh public key into the vm guest. Only one of its members may be specified.

+k8s:openapi-gen=true

func (*SSHPublicKeyAccessCredentialPropagationMethod) DeepCopy added in v0.36.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SSHPublicKeyAccessCredentialPropagationMethod.

func (*SSHPublicKeyAccessCredentialPropagationMethod) DeepCopyInto added in v0.36.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (SSHPublicKeyAccessCredentialPropagationMethod) SwaggerDoc added in v0.36.0

type SSHPublicKeyAccessCredentialSource added in v0.36.0

type SSHPublicKeyAccessCredentialSource struct {
	// Secret means that the access credential is pulled from a kubernetes secret
	// +optional
	Secret *AccessCredentialSecretSource `json:"secret,omitempty"`
}

SSHPublicKeyAccessCredentialSource represents where to retrieve the ssh key credentials Only one of its members may be specified.

+k8s:openapi-gen=true

func (*SSHPublicKeyAccessCredentialSource) DeepCopy added in v0.36.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SSHPublicKeyAccessCredentialSource.

func (*SSHPublicKeyAccessCredentialSource) DeepCopyInto added in v0.36.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (SSHPublicKeyAccessCredentialSource) SwaggerDoc added in v0.36.0

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"`
	// The volume label of the resulting disk inside the VMI.
	// Different bootstrapping mechanisms require different values.
	// Typical values are "cidata" (cloud-init), "config-2" (cloud-init) or "OEMDRV" (kickstart).
	// +optional
	VolumeLabel string `json:"volumeLabel,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.

func (SecretVolumeSource) SwaggerDoc

func (SecretVolumeSource) SwaggerDoc() map[string]string

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

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceAccountVolumeSource.

func (*ServiceAccountVolumeSource) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (ServiceAccountVolumeSource) SwaggerDoc

func (ServiceAccountVolumeSource) SwaggerDoc() map[string]string

type StartOptions added in v0.43.0

type StartOptions struct {
	metav1.TypeMeta `json:",inline"`

	// Indicates that VM will be started in paused state.
	// +optional
	Paused bool `json:"paused,omitempty" protobuf:"varint,7,opt,name=paused"`
}

StartOptions may be provided on start request.

+k8s:openapi-gen=true

func (*StartOptions) DeepCopy added in v0.43.0

func (in *StartOptions) DeepCopy() *StartOptions

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StartOptions.

func (*StartOptions) DeepCopyInto added in v0.43.0

func (in *StartOptions) DeepCopyInto(out *StartOptions)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (StartOptions) SwaggerDoc added in v0.43.0

func (StartOptions) SwaggerDoc() map[string]string

type StartStrategy added in v0.41.0

type StartStrategy string

+k8s:openapi-gen=true

const (
	StartStrategyPaused StartStrategy = "Paused"
)

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 StopOptions added in v0.41.4

type StopOptions struct {
	metav1.TypeMeta `json:",inline"`

	// this updates the VMIs terminationGracePeriodSeconds during shutdown
	// +optional
	GracePeriod *int64 `json:"gracePeriod,omitempty" protobuf:"varint,1,opt,name=gracePeriod"`
}

StopOptions may be provided when deleting an API object.

+k8s:openapi-gen=true

func (*StopOptions) DeepCopy added in v0.41.4

func (in *StopOptions) DeepCopy() *StopOptions

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StopOptions.

func (*StopOptions) DeepCopyInto added in v0.41.4

func (in *StopOptions) DeepCopyInto(out *StopOptions)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (StopOptions) SwaggerDoc added in v0.41.4

func (StopOptions) SwaggerDoc() map[string]string

type SyNICTimer added in v0.40.0

type SyNICTimer struct {
	Enabled *bool         `json:"enabled,omitempty"`
	Direct  *FeatureState `json:"direct,omitempty"`
}

+k8s:openapi-gen=true

func (*SyNICTimer) DeepCopy added in v0.40.0

func (in *SyNICTimer) DeepCopy() *SyNICTimer

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SyNICTimer.

func (*SyNICTimer) DeepCopyInto added in v0.40.0

func (in *SyNICTimer) DeepCopyInto(out *SyNICTimer)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (SyNICTimer) SwaggerDoc added in v0.40.0

func (SyNICTimer) SwaggerDoc() map[string]string