v1alpha1

package
v1.34.1 Latest Latest
Warning

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

Go to latest
Published: Jun 2, 2021 License: Apache-2.0 Imports: 9 Imported by: 93

Documentation

Overview

Package v1alpha1 is the v1alpha1 version of the API. +groupName=cdi.kubevirt.io

Index

Constants

View Source
const (
	// PhaseUnset represents a data volume with no current phase
	PhaseUnset DataVolumePhase = ""

	// Pending represents a data volume with a current phase of Pending
	Pending DataVolumePhase = "Pending"
	// PVCBound represents a data volume with a current phase of PVCBound
	PVCBound DataVolumePhase = "PVCBound"

	// ImportScheduled represents a data volume with a current phase of ImportScheduled
	ImportScheduled DataVolumePhase = "ImportScheduled"

	// ImportInProgress represents a data volume with a current phase of ImportInProgress
	ImportInProgress DataVolumePhase = "ImportInProgress"

	// CloneScheduled represents a data volume with a current phase of CloneScheduled
	CloneScheduled DataVolumePhase = "CloneScheduled"

	// CloneInProgress represents a data volume with a current phase of CloneInProgress
	CloneInProgress DataVolumePhase = "CloneInProgress"

	// SnapshotForSmartCloneInProgress represents a data volume with a current phase of SnapshotForSmartCloneInProgress
	SnapshotForSmartCloneInProgress DataVolumePhase = "SnapshotForSmartCloneInProgress"

	// SmartClonePVCInProgress represents a data volume with a current phase of SmartClonePVCInProgress
	SmartClonePVCInProgress DataVolumePhase = "SmartClonePVCInProgress"

	// UploadScheduled represents a data volume with a current phase of UploadScheduled
	UploadScheduled DataVolumePhase = "UploadScheduled"

	// UploadReady represents a data volume with a current phase of UploadReady
	UploadReady DataVolumePhase = "UploadReady"

	// WaitForFirstConsumer represents a data volume with a current phase of WaitForFirstConsumer
	WaitForFirstConsumer DataVolumePhase = "WaitForFirstConsumer"

	// Succeeded represents a DataVolumePhase of Succeeded
	Succeeded DataVolumePhase = "Succeeded"
	// Failed represents a DataVolumePhase of Failed
	Failed DataVolumePhase = "Failed"
	// Unknown represents a DataVolumePhase of Unknown
	Unknown DataVolumePhase = "Unknown"
	// Paused represents a DataVolumePhase of Paused
	Paused DataVolumePhase = "Paused"

	// DataVolumeReady is the condition that indicates if the data volume is ready to be consumed.
	DataVolumeReady DataVolumeConditionType = "Ready"
	// DataVolumeBound is the condition that indicates if the underlying PVC is bound or not.
	DataVolumeBound DataVolumeConditionType = "Bound"
	// DataVolumeRunning is the condition that indicates if the import/upload/clone container is running.
	DataVolumeRunning DataVolumeConditionType = "Running"
)
View Source
const (
	// CloneStrategyHostAssisted specifies slower, host-assisted copy
	CloneStrategyHostAssisted = "copy"

	// CloneStrategySnapshot specifies snapshot-based copying
	CloneStrategySnapshot = "snapshot"
)
View Source
const DataVolumeCloneSourceSubresource = "source"

DataVolumeCloneSourceSubresource is the subresource checked for permission to clone

Variables

View Source
var (
	// SchemeBuilder tbd
	SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
	// AddToScheme tbd
	AddToScheme = SchemeBuilder.AddToScheme
)
View Source
var CDIGroupVersionKind = schema.GroupVersionKind{Group: SchemeGroupVersion.Group, Version: SchemeGroupVersion.Version, Kind: "CDI"}

CDIGroupVersionKind group version kind

View Source
var SchemeGroupVersion = schema.GroupVersion{Group: core.GroupName, Version: "v1alpha1"}

SchemeGroupVersion is group version used to register these objects

Functions

func IsPopulated added in v1.18.4

func IsPopulated(pvc *corev1.PersistentVolumeClaim, getDvFunc func(name, namespace string) (*DataVolume, error)) (bool, error)

IsPopulated indicates if the persistent volume passed in has been fully populated. It follow the following logic 1. If the PVC is not owned by a DataVolume, return true, we assume someone else has properly populated the image 2. If the PVC is owned by a DataVolume, look up the DV and check the phase, if phase succeeded return true 3. If the PVC is owned by a DataVolume, look up the DV and check the phase, if phase !succeeded return false

func IsWaitForFirstConsumerBeforePopulating added in v1.25.0

func IsWaitForFirstConsumerBeforePopulating(pvc *corev1.PersistentVolumeClaim, getDvFunc func(name, namespace string) (*DataVolume, error)) (bool, error)

IsWaitForFirstConsumerBeforePopulating indicates if the persistent volume passed in is in ClaimPending state and waiting for first consumer. It follow the following logic 1. If the PVC is not owned by a DataVolume, return false, we can not assume it will be populated 2. If the PVC is owned by a DataVolume, look up the DV and check the phase, if phase WaitForFirstConsumer return true 3. If the PVC is owned by a DataVolume, look up the DV and check the phase, if phase !WaitForFirstConsumer return false

func Kind

func Kind(kind string) schema.GroupKind

Kind takes an unqualified kind and returns back a Group qualified GroupKind

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type CDI

type CDI struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec CDISpec `json:"spec"`
	// +optional
	Status CDIStatus `json:"status"`
}

CDI is the CDI Operator CRD +genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:object:root=true +kubebuilder:resource:shortName=cdi;cdis,scope=Cluster +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:printcolumn:name="Phase",type="string",JSONPath=".status.phase"

func (*CDI) DeepCopy

func (in *CDI) DeepCopy() *CDI

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

func (*CDI) DeepCopyInto

func (in *CDI) DeepCopyInto(out *CDI)

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

func (*CDI) DeepCopyObject

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

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

func (CDI) SwaggerDoc

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

type CDICertConfig added in v1.29.0

type CDICertConfig struct {
	// 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"`
}

CDICertConfig has the CertConfigs for CDI

func (*CDICertConfig) DeepCopy added in v1.29.0

func (in *CDICertConfig) DeepCopy() *CDICertConfig

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

func (*CDICertConfig) DeepCopyInto added in v1.29.0

func (in *CDICertConfig) DeepCopyInto(out *CDICertConfig)

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

func (CDICertConfig) SwaggerDoc added in v1.29.0

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

type CDICloneStrategy added in v1.28.0

type CDICloneStrategy string

CDICloneStrategy defines the preferred method for performing a CDI clone (override snapshot?)

type CDIConfig added in v1.6.0

type CDIConfig struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   CDIConfigSpec   `json:"spec"`
	Status CDIConfigStatus `json:"status,omitempty"`
}

CDIConfig provides a user configuration for CDI +genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:object:root=true +kubebuilder:resource:scope=Cluster

func (*CDIConfig) DeepCopy added in v1.6.0

func (in *CDIConfig) DeepCopy() *CDIConfig

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

func (*CDIConfig) DeepCopyInto added in v1.6.0

func (in *CDIConfig) DeepCopyInto(out *CDIConfig)

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

func (*CDIConfig) DeepCopyObject added in v1.6.0

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

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

func (CDIConfig) SwaggerDoc added in v1.6.0

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

type CDIConfigList added in v1.6.0

type CDIConfigList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`

	// Items provides a list of CDIConfigs
	Items []CDIConfig `json:"items"`
}

CDIConfigList provides the needed parameters to do request a list of CDIConfigs from the system +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*CDIConfigList) DeepCopy added in v1.6.0

func (in *CDIConfigList) DeepCopy() *CDIConfigList

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

func (*CDIConfigList) DeepCopyInto added in v1.6.0

func (in *CDIConfigList) DeepCopyInto(out *CDIConfigList)

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

func (*CDIConfigList) DeepCopyObject added in v1.6.0

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

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

func (CDIConfigList) SwaggerDoc added in v1.6.0

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

type CDIConfigSpec added in v1.6.0

type CDIConfigSpec struct {
	// Override the URL used when uploading to a DataVolume
	UploadProxyURLOverride *string `json:"uploadProxyURLOverride,omitempty"`
	// ImportProxy contains importer pod proxy configuration.
	// +optional
	ImportProxy *ImportProxy `json:"importProxy,omitempty"`
	// Override the storage class to used for scratch space during transfer operations. The scratch space storage class is determined in the following order: 1. value of scratchSpaceStorageClass, if that doesn't exist, use the default storage class, if there is no default storage class, use the storage class of the DataVolume, if no storage class specified, use no storage class for scratch space
	ScratchSpaceStorageClass *string `json:"scratchSpaceStorageClass,omitempty"`
	// ResourceRequirements describes the compute resource requirements.
	PodResourceRequirements *corev1.ResourceRequirements `json:"podResourceRequirements,omitempty"`
	// FeatureGates are a list of specific enabled feature gates
	FeatureGates []string `json:"featureGates,omitempty"`
	// FilesystemOverhead describes the space reserved for overhead when using Filesystem volumes. A value is between 0 and 1, if not defined it is 0.055 (5.5% overhead)
	FilesystemOverhead *FilesystemOverhead `json:"filesystemOverhead,omitempty"`
	// Preallocation controls whether storage for DataVolumes should be allocated in advance.
	Preallocation *bool `json:"preallocation,omitempty"`
	// InsecureRegistries is a list of TLS disabled registries
	InsecureRegistries []string `json:"insecureRegistries,omitempty"`
}

CDIConfigSpec defines specification for user configuration

func (*CDIConfigSpec) DeepCopy added in v1.6.0

func (in *CDIConfigSpec) DeepCopy() *CDIConfigSpec

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

func (*CDIConfigSpec) DeepCopyInto added in v1.6.0

func (in *CDIConfigSpec) DeepCopyInto(out *CDIConfigSpec)

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

func (CDIConfigSpec) SwaggerDoc added in v1.6.0

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

type CDIConfigStatus added in v1.6.0

type CDIConfigStatus struct {
	// The calculated upload proxy URL
	UploadProxyURL *string `json:"uploadProxyURL,omitempty"`
	// ImportProxy contains importer pod proxy configuration.
	// +optional
	ImportProxy *ImportProxy `json:"importProxy,omitempty"`
	// The calculated storage class to be used for scratch space
	ScratchSpaceStorageClass string `json:"scratchSpaceStorageClass,omitempty"`
	// ResourceRequirements describes the compute resource requirements.
	DefaultPodResourceRequirements *corev1.ResourceRequirements `json:"defaultPodResourceRequirements,omitempty"`
	// FilesystemOverhead describes the space reserved for overhead when using Filesystem volumes. A percentage value is between 0 and 1
	FilesystemOverhead *FilesystemOverhead `json:"filesystemOverhead,omitempty"`
	// Preallocation controls whether storage for DataVolumes should be allocated in advance.
	Preallocation bool `json:"preallocation,omitempty"`
}

CDIConfigStatus provides the most recently observed status of the CDI Config resource

func (*CDIConfigStatus) DeepCopy added in v1.6.0

func (in *CDIConfigStatus) DeepCopy() *CDIConfigStatus

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

func (*CDIConfigStatus) DeepCopyInto added in v1.6.0

func (in *CDIConfigStatus) DeepCopyInto(out *CDIConfigStatus)

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

func (CDIConfigStatus) SwaggerDoc added in v1.6.0

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

type CDIList

type CDIList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`

	// Items provides a list of CDIs
	Items []CDI `json:"items"`
}

CDIList provides the needed parameters to do request a list of CDIs from the system +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*CDIList) DeepCopy

func (in *CDIList) DeepCopy() *CDIList

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

func (*CDIList) DeepCopyInto

func (in *CDIList) DeepCopyInto(out *CDIList)

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

func (*CDIList) DeepCopyObject

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

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

func (CDIList) SwaggerDoc

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

type CDIPhase added in v1.5.1

type CDIPhase string

CDIPhase is the current phase of the CDI deployment

const (
	// CDIPhaseDeploying signals that the CDI resources are being deployed
	CDIPhaseDeploying CDIPhase = "Deploying"

	// CDIPhaseDeployed signals that the CDI resources are successflly deployed
	CDIPhaseDeployed CDIPhase = "Deployed"

	// CDIPhaseDeleting signals that the CDI resources are being removed
	CDIPhaseDeleting CDIPhase = "Deleting"

	// CDIPhaseDeleted signals that the CDI resources are deleted
	CDIPhaseDeleted CDIPhase = "Deleted"

	// CDIPhaseError signals that the CDI deployment is in an error state
	CDIPhaseError CDIPhase = "Error"

	// CDIPhaseUpgrading signals that the CDI resources are being deployed
	CDIPhaseUpgrading CDIPhase = "Upgrading"

	// CDIPhaseEmpty is an uninitialized phase
	CDIPhaseEmpty CDIPhase = ""
)

type CDISpec

type CDISpec struct {
	// +kubebuilder:validation:Enum=Always;IfNotPresent;Never
	// PullPolicy describes a policy for if/when to pull a container image
	ImagePullPolicy corev1.PullPolicy `json:"imagePullPolicy,omitempty" valid:"required"`
	// +kubebuilder:validation:Enum=RemoveWorkloads;BlockUninstallIfWorkloadsExist
	// CDIUninstallStrategy defines the state to leave CDI on uninstall
	UninstallStrategy *CDIUninstallStrategy `json:"uninstallStrategy,omitempty"`
	// Rules on which nodes CDI infrastructure pods will be scheduled
	Infra sdkapi.NodePlacement `json:"infra,omitempty"`
	// Restrict on which nodes CDI workload pods will be scheduled
	Workloads sdkapi.NodePlacement `json:"workload,omitempty"`
	// Clone strategy override: should we use a host-assisted copy even if snapshots are available?
	// +kubebuilder:validation:Enum="copy";"snapshot"
	CloneStrategyOverride *CDICloneStrategy `json:"cloneStrategyOverride,omitempty"`
	// CDIConfig at CDI level
	Config *CDIConfigSpec `json:"config,omitempty"`
	// certificate configuration
	CertConfig *CDICertConfig `json:"certConfig,omitempty"`
}

CDISpec defines our specification for the CDI installation

func (*CDISpec) DeepCopy

func (in *CDISpec) DeepCopy() *CDISpec

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

func (*CDISpec) DeepCopyInto

func (in *CDISpec) DeepCopyInto(out *CDISpec)

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

func (CDISpec) SwaggerDoc

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

type CDIStatus

type CDIStatus struct {
	sdkapi.Status `json:",inline"`
}

CDIStatus defines the status of the installation

func (*CDIStatus) DeepCopy

func (in *CDIStatus) DeepCopy() *CDIStatus

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

func (*CDIStatus) DeepCopyInto

func (in *CDIStatus) DeepCopyInto(out *CDIStatus)

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

func (CDIStatus) SwaggerDoc

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

type CDIUninstallStrategy added in v1.13.1

type CDIUninstallStrategy string

CDIUninstallStrategy defines the state to leave CDI on uninstall

const (
	// CDIUninstallStrategyRemoveWorkloads specifies clean uninstall
	CDIUninstallStrategyRemoveWorkloads CDIUninstallStrategy = "RemoveWorkloads"

	// CDIUninstallStrategyBlockUninstallIfWorkloadsExist "leaves stuff around"
	CDIUninstallStrategyBlockUninstallIfWorkloadsExist CDIUninstallStrategy = "BlockUninstallIfWorkloadsExist"
)

type CertConfig added in v1.29.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

func (*CertConfig) DeepCopy added in v1.29.0

func (in *CertConfig) DeepCopy() *CertConfig

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

func (*CertConfig) DeepCopyInto added in v1.29.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 v1.29.0

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

type DataVolume

type DataVolume struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   DataVolumeSpec   `json:"spec"`
	Status DataVolumeStatus `json:"status,omitempty"`
}

DataVolume is an abstraction on top of PersistentVolumeClaims to allow easy population of those PersistentVolumeClaims with relation to VirtualMachines +genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:object:root=true +kubebuilder:resource:shortName=dv;dvs,categories=all +kubebuilder:printcolumn:name="Phase",type="string",JSONPath=".status.phase",description="The phase the data volume is in" +kubebuilder:printcolumn:name="Progress",type="string",JSONPath=".status.progress",description="Transfer progress in percentage if known, N/A otherwise" +kubebuilder:printcolumn:name="Restarts",type="integer",JSONPath=".status.restartCount",description="The number of times the transfer has been restarted." +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"

func (*DataVolume) DeepCopy

func (in *DataVolume) DeepCopy() *DataVolume

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

func (*DataVolume) DeepCopyInto

func (in *DataVolume) DeepCopyInto(out *DataVolume)

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

func (*DataVolume) DeepCopyObject

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

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

func (DataVolume) SwaggerDoc

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

type DataVolumeBlankImage

type DataVolumeBlankImage struct{}

DataVolumeBlankImage provides the parameters to create a new raw blank image for the PVC

func (*DataVolumeBlankImage) DeepCopy

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

func (*DataVolumeBlankImage) DeepCopyInto

func (in *DataVolumeBlankImage) DeepCopyInto(out *DataVolumeBlankImage)

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

func (DataVolumeBlankImage) SwaggerDoc

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

type DataVolumeCheckpoint added in v1.27.0

type DataVolumeCheckpoint struct {
	// Previous is the identifier of the snapshot from the previous checkpoint.
	Previous string `json:"previous"`
	// Current is the identifier of the snapshot created for this checkpoint.
	Current string `json:"current"`
}

DataVolumeCheckpoint defines a stage in a warm migration.

func (*DataVolumeCheckpoint) DeepCopy added in v1.27.0

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

func (*DataVolumeCheckpoint) DeepCopyInto added in v1.27.0

func (in *DataVolumeCheckpoint) DeepCopyInto(out *DataVolumeCheckpoint)

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

func (DataVolumeCheckpoint) SwaggerDoc added in v1.27.0

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

type DataVolumeCondition added in v1.18.0

type DataVolumeCondition struct {
	Type               DataVolumeConditionType `json:"type" description:"type of condition ie. Ready|Bound|Running."`
	Status             corev1.ConditionStatus  `json:"status" description:"status of the condition, one of True, False, Unknown"`
	LastTransitionTime metav1.Time             `json:"lastTransitionTime,omitempty"`
	LastHeartbeatTime  metav1.Time             `json:"lastHeartbeatTime,omitempty"`
	Reason             string                  `json:"reason,omitempty" description:"reason for the condition's last transition"`
	Message            string                  `json:"message,omitempty" description:"human-readable message indicating details about last transition"`
}

DataVolumeCondition represents the state of a data volume condition.

func (*DataVolumeCondition) DeepCopy added in v1.18.0

func (in *DataVolumeCondition) DeepCopy() *DataVolumeCondition

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

func (*DataVolumeCondition) DeepCopyInto added in v1.18.0

func (in *DataVolumeCondition) DeepCopyInto(out *DataVolumeCondition)

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

func (DataVolumeCondition) SwaggerDoc added in v1.18.0

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

type DataVolumeConditionType added in v1.18.0

type DataVolumeConditionType string

DataVolumeConditionType is the string representation of known condition types

type DataVolumeContentType

type DataVolumeContentType string

DataVolumeContentType represents the types of the imported data

const (
	// DataVolumeKubeVirt is the content-type of the imported file, defaults to kubevirt
	DataVolumeKubeVirt DataVolumeContentType = "kubevirt"
	// DataVolumeArchive is the content-type to specify if there is a need to extract the imported archive
	DataVolumeArchive DataVolumeContentType = "archive"
)

type DataVolumeList

type DataVolumeList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`

	// Items provides a list of DataVolumes
	Items []DataVolume `json:"items"`
}

DataVolumeList provides the needed parameters to do request a list of Data Volumes from the system +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*DataVolumeList) DeepCopy

func (in *DataVolumeList) DeepCopy() *DataVolumeList

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

func (*DataVolumeList) DeepCopyInto

func (in *DataVolumeList) DeepCopyInto(out *DataVolumeList)

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

func (*DataVolumeList) DeepCopyObject

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

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

func (DataVolumeList) SwaggerDoc

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

type DataVolumePhase

type DataVolumePhase string

DataVolumePhase is the current phase of the DataVolume

type DataVolumeProgress added in v1.8.0

type DataVolumeProgress string

DataVolumeProgress is the current progress of the DataVolume transfer operation. Value between 0 and 100 inclusive, N/A if not available

type DataVolumeSource

type DataVolumeSource struct {
	HTTP     *DataVolumeSourceHTTP     `json:"http,omitempty"`
	S3       *DataVolumeSourceS3       `json:"s3,omitempty"`
	Registry *DataVolumeSourceRegistry `json:"registry,omitempty"`
	PVC      *DataVolumeSourcePVC      `json:"pvc,omitempty"`
	Upload   *DataVolumeSourceUpload   `json:"upload,omitempty"`
	Blank    *DataVolumeBlankImage     `json:"blank,omitempty"`
	Imageio  *DataVolumeSourceImageIO  `json:"imageio,omitempty"`
	VDDK     *DataVolumeSourceVDDK     `json:"vddk,omitempty"`
}

DataVolumeSource represents the source for our Data Volume, this can be HTTP, Imageio, S3, Registry or an existing PVC

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 DataVolumeSourceHTTP

type DataVolumeSourceHTTP struct {
	// URL is the URL of the http(s) endpoint
	URL string `json:"url"`
	// SecretRef A Secret reference, the secret should contain accessKeyId (user name) base64 encoded, and secretKey (password) also base64 encoded
	// +optional
	SecretRef string `json:"secretRef,omitempty"`
	// CertConfigMap is a configmap reference, containing a Certificate Authority(CA) public key, and a base64 encoded pem certificate
	// +optional
	CertConfigMap string `json:"certConfigMap,omitempty"`
}

DataVolumeSourceHTTP can be either an http or https endpoint, with an optional basic auth user name and password, and an optional configmap containing additional CAs

func (*DataVolumeSourceHTTP) DeepCopy

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

func (*DataVolumeSourceHTTP) DeepCopyInto

func (in *DataVolumeSourceHTTP) DeepCopyInto(out *DataVolumeSourceHTTP)

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

func (DataVolumeSourceHTTP) SwaggerDoc

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

type DataVolumeSourceImageIO added in v1.15.0

type DataVolumeSourceImageIO struct {
	//URL is the URL of the ovirt-engine
	URL string `json:"url"`
	// DiskID provides id of a disk to be imported
	DiskID string `json:"diskId"`
	//SecretRef provides the secret reference needed to access the ovirt-engine
	SecretRef string `json:"secretRef,omitempty"`
	//CertConfigMap provides a reference to the CA cert
	CertConfigMap string `json:"certConfigMap,omitempty"`
}

DataVolumeSourceImageIO provides the parameters to create a Data Volume from an imageio source

func (*DataVolumeSourceImageIO) DeepCopy added in v1.15.0

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

func (*DataVolumeSourceImageIO) DeepCopyInto added in v1.15.0

func (in *DataVolumeSourceImageIO) DeepCopyInto(out *DataVolumeSourceImageIO)

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

func (DataVolumeSourceImageIO) SwaggerDoc added in v1.15.0

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

type DataVolumeSourcePVC

type DataVolumeSourcePVC struct {
	// The namespace of the source PVC
	Namespace string `json:"namespace"`
	// The name of the source PVC
	Name string `json:"name"`
}

DataVolumeSourcePVC provides the parameters to create a Data Volume from an existing PVC

func (*DataVolumeSourcePVC) DeepCopy

func (in *DataVolumeSourcePVC) DeepCopy() *DataVolumeSourcePVC

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

func (*DataVolumeSourcePVC) DeepCopyInto

func (in *DataVolumeSourcePVC) DeepCopyInto(out *DataVolumeSourcePVC)

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

func (DataVolumeSourcePVC) SwaggerDoc

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

type DataVolumeSourceRegistry

type DataVolumeSourceRegistry struct {
	//URL is the url of the Docker registry source
	URL string `json:"url"`
	//SecretRef provides the secret reference needed to access the Registry source
	SecretRef string `json:"secretRef,omitempty"`
	//CertConfigMap provides a reference to the Registry certs
	CertConfigMap string `json:"certConfigMap,omitempty"`
}

DataVolumeSourceRegistry provides the parameters to create a Data Volume from an registry source

func (*DataVolumeSourceRegistry) DeepCopy

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

func (*DataVolumeSourceRegistry) DeepCopyInto

func (in *DataVolumeSourceRegistry) DeepCopyInto(out *DataVolumeSourceRegistry)

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

func (DataVolumeSourceRegistry) SwaggerDoc

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

type DataVolumeSourceS3

type DataVolumeSourceS3 struct {
	//URL is the url of the S3 source
	URL string `json:"url"`
	//SecretRef provides the secret reference needed to access the S3 source
	SecretRef string `json:"secretRef,omitempty"`
	// CertConfigMap is a configmap reference, containing a Certificate Authority(CA) public key, and a base64 encoded pem certificate
	// +optional
	CertConfigMap string `json:"certConfigMap,omitempty"`
}

DataVolumeSourceS3 provides the parameters to create a Data Volume from an S3 source

func (*DataVolumeSourceS3) DeepCopy

func (in *DataVolumeSourceS3) DeepCopy() *DataVolumeSourceS3

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

func (*DataVolumeSourceS3) DeepCopyInto

func (in *DataVolumeSourceS3) DeepCopyInto(out *DataVolumeSourceS3)

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

func (DataVolumeSourceS3) SwaggerDoc

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

type DataVolumeSourceUpload

type DataVolumeSourceUpload struct {
}

DataVolumeSourceUpload provides the parameters to create a Data Volume by uploading the source

func (*DataVolumeSourceUpload) DeepCopy

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

func (*DataVolumeSourceUpload) DeepCopyInto

func (in *DataVolumeSourceUpload) DeepCopyInto(out *DataVolumeSourceUpload)

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

func (DataVolumeSourceUpload) SwaggerDoc

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

type DataVolumeSourceVDDK added in v1.23.0

type DataVolumeSourceVDDK struct {
	// URL is the URL of the vCenter or ESXi host with the VM to migrate
	URL string `json:"url,omitempty"`
	// UUID is the UUID of the virtual machine that the backing file is attached to in vCenter/ESXi
	UUID string `json:"uuid,omitempty"`
	// BackingFile is the path to the virtual hard disk to migrate from vCenter/ESXi
	BackingFile string `json:"backingFile,omitempty"`
	// Thumbprint is the certificate thumbprint of the vCenter or ESXi host
	Thumbprint string `json:"thumbprint,omitempty"`
	// SecretRef provides a reference to a secret containing the username and password needed to access the vCenter or ESXi host
	SecretRef string `json:"secretRef,omitempty"`
}

DataVolumeSourceVDDK provides the parameters to create a Data Volume from a Vmware source

func (*DataVolumeSourceVDDK) DeepCopy added in v1.23.0

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

func (*DataVolumeSourceVDDK) DeepCopyInto added in v1.23.0

func (in *DataVolumeSourceVDDK) DeepCopyInto(out *DataVolumeSourceVDDK)

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

func (DataVolumeSourceVDDK) SwaggerDoc added in v1.23.0

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

type DataVolumeSpec

type DataVolumeSpec struct {
	//Source is the src of the data for the requested DataVolume
	Source DataVolumeSource `json:"source"`
	//PVC is the PVC specification
	PVC *corev1.PersistentVolumeClaimSpec `json:"pvc,omitempty"`
	// Storage is the requested storage specification
	Storage *StorageSpec `json:"storage,omitempty"`
	//PriorityClassName for Importer, Cloner and Uploader pod
	PriorityClassName string `json:"priorityClassName,omitempty"`
	//DataVolumeContentType options: "kubevirt", "archive"
	// +kubebuilder:validation:Enum="kubevirt";"archive"
	ContentType DataVolumeContentType `json:"contentType,omitempty"`
	// Checkpoints is a list of DataVolumeCheckpoints, representing stages in a multistage import.
	Checkpoints []DataVolumeCheckpoint `json:"checkpoints,omitempty"`
	// FinalCheckpoint indicates whether the current DataVolumeCheckpoint is the final checkpoint.
	FinalCheckpoint bool `json:"finalCheckpoint,omitempty"`
	// Preallocation controls whether storage for DataVolumes should be allocated in advance.
	Preallocation *bool `json:"preallocation,omitempty"`
}

DataVolumeSpec defines the DataVolume type specification

func (*DataVolumeSpec) DeepCopy

func (in *DataVolumeSpec) DeepCopy() *DataVolumeSpec

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

func (*DataVolumeSpec) DeepCopyInto

func (in *DataVolumeSpec) DeepCopyInto(out *DataVolumeSpec)

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

func (DataVolumeSpec) SwaggerDoc

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

type DataVolumeStatus

type DataVolumeStatus struct {
	//Phase is the current phase of the data volume
	Phase    DataVolumePhase    `json:"phase,omitempty"`
	Progress DataVolumeProgress `json:"progress,omitempty"`
	// RestartCount is the number of times the pod populating the DataVolume has restarted
	RestartCount int32                 `json:"restartCount,omitempty"`
	Conditions   []DataVolumeCondition `json:"conditions,omitempty" optional:"true"`
}

DataVolumeStatus contains the current status of the DataVolume

func (*DataVolumeStatus) DeepCopy

func (in *DataVolumeStatus) DeepCopy() *DataVolumeStatus

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

func (*DataVolumeStatus) DeepCopyInto

func (in *DataVolumeStatus) DeepCopyInto(out *DataVolumeStatus)

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

func (DataVolumeStatus) SwaggerDoc

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

type FilesystemOverhead added in v1.24.0

type FilesystemOverhead struct {
	// Global is how much space of a Filesystem volume should be reserved for overhead. This value is used unless overridden by a more specific value (per storageClass)
	Global Percent `json:"global,omitempty"`
	// StorageClass specifies how much space of a Filesystem volume should be reserved for safety. The keys are the storageClass and the values are the overhead. This value overrides the global value
	StorageClass map[string]Percent `json:"storageClass,omitempty"`
}

FilesystemOverhead defines the reserved size for PVCs with VolumeMode: Filesystem

func (*FilesystemOverhead) DeepCopy added in v1.24.0

func (in *FilesystemOverhead) DeepCopy() *FilesystemOverhead

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

func (*FilesystemOverhead) DeepCopyInto added in v1.24.0

func (in *FilesystemOverhead) DeepCopyInto(out *FilesystemOverhead)

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

func (FilesystemOverhead) SwaggerDoc added in v1.24.0

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

type ImportProxy added in v1.31.0

type ImportProxy struct {
	// HTTPProxy is the URL http://<username>:<pswd>@<ip>:<port> of the import proxy for HTTP requests.  Empty means unset and will not result in the import pod env var.
	// +optional
	HTTPProxy *string `json:"HTTPProxy,omitempty"`
	// HTTPSProxy is the URL https://<username>:<pswd>@<ip>:<port> of the import proxy for HTTPS requests.  Empty means unset and will not result in the import pod env var.
	// +optional
	HTTPSProxy *string `json:"HTTPSProxy,omitempty"`
	// NoProxy is a comma-separated list of hostnames and/or CIDRs for which the proxy should not be used. Empty means unset and will not result in the import pod env var.
	// +optional
	NoProxy *string `json:"noProxy,omitempty"`
	// TrustedCAProxy is the name of a ConfigMap in the cdi namespace that contains a user-provided trusted certificate authority (CA) bundle.
	// The TrustedCAProxy field is consumed by the import controller that is resposible for coping it to a config map named trusted-ca-proxy-bundle-cm in the cdi namespace.
	// Here is an example of the ConfigMap (in yaml):
	//
	// apiVersion: v1
	// kind: ConfigMap
	// metadata:
	//   name: trusted-ca-proxy-bundle-cm
	//   namespace: cdi
	// data:
	//   ca.pem: |
	//     -----BEGIN CERTIFICATE-----
	// 	   ... <base64 encoded cert> ...
	// 	   -----END CERTIFICATE-----
	// +optional
	TrustedCAProxy *string `json:"trustedCAProxy,omitempty"`
}

ImportProxy provides the information on how to configure the importer pod proxy.

func (*ImportProxy) DeepCopy added in v1.31.0

func (in *ImportProxy) DeepCopy() *ImportProxy

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

func (*ImportProxy) DeepCopyInto added in v1.31.0

func (in *ImportProxy) DeepCopyInto(out *ImportProxy)

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

func (ImportProxy) SwaggerDoc added in v1.31.0

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

type Percent added in v1.24.0

type Percent string

Percent is a string that can only be a value between [0,1) (Note: we actually rely on reconcile to reject invalid values) +kubebuilder:validation:Pattern=`^(0(?:\.\d{1,3})?|1)$`

type StorageSpec added in v1.34.0

type StorageSpec struct {
	// AccessModes contains the desired access modes the volume should have.
	// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
	// +optional
	AccessModes []corev1.PersistentVolumeAccessMode `json:"accessModes,omitempty"`
	// A label query over volumes to consider for binding.
	// +optional
	Selector *metav1.LabelSelector `json:"selector,omitempty"`
	// Resources represents the minimum resources the volume should have.
	// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
	// +optional
	Resources corev1.ResourceRequirements `json:"resources,omitempty"`
	// VolumeName is the binding reference to the PersistentVolume backing this claim.
	// +optional
	VolumeName string `json:"volumeName,omitempty"`
	// Name of the StorageClass required by the claim.
	// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1
	// +optional
	StorageClassName *string `json:"storageClassName,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 *corev1.PersistentVolumeMode `json:"volumeMode,omitempty"`
	// This field can be used to specify either:
	// * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot - Beta)
	// * An existing PVC (PersistentVolumeClaim)
	// * An existing custom resource/object that implements data population (Alpha)
	// In order to use VolumeSnapshot object types, the appropriate feature gate
	// must be enabled (VolumeSnapshotDataSource or AnyVolumeDataSource)
	// If the provisioner or an external controller can support the specified data source,
	// it will create a new volume based on the contents of the specified data source.
	// If the specified data source is not supported, the volume will
	// not be created and the failure will be reported as an event.
	// In the future, we plan to support more data source types and the behavior
	// of the provisioner may change.
	// +optional
	DataSource *corev1.TypedLocalObjectReference `json:"dataSource,omitempty"`
}

StorageSpec defines the Storage type specification

func (*StorageSpec) DeepCopy added in v1.34.0

func (in *StorageSpec) DeepCopy() *StorageSpec

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

func (*StorageSpec) DeepCopyInto added in v1.34.0

func (in *StorageSpec) DeepCopyInto(out *StorageSpec)

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

func (StorageSpec) SwaggerDoc added in v1.34.0

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

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL