# Packages

No description provided by the author

# Functions

CanServiceAccountClonePVC checks if a ServiceAccount has "appropriate" permission to clone from the given PVC.
CanServiceAccountCloneSnapshot checks if a ServiceAccount has "appropriate" permission to clone from the given snapshot.
CanUserClonePVC checks if a user has "appropriate" permission to clone from the given PVC.
CanUserCloneSnapshot checks if a user has "appropriate" permission to clone from the given snapshot.
IsPopulated indicates if the persistent volume passed in has been fully populated.
IsSucceededOrPendingPopulation indicates if the persistent volume passed in has been fully populated or is waiting for a consumer.
IsWaitForFirstConsumerBeforePopulating indicates if the persistent volume passed in is in ClaimPending state and waiting for first consumer.
Kind takes an unqualified kind and returns back a Group qualified GroupKind.
Resource takes an unqualified resource and returns a Group qualified GroupResource.

# Constants

AnnCheckStaticVolume checks if a statically allocated PV exists before creating the target PVC.
AnnPrePopulated is a PVC annotation telling the datavolume controller that the PVC is already populated.
CDIUninstallStrategyBlockUninstallIfWorkloadsExist "leaves stuff around".
CDIUninstallStrategyRemoveWorkloads specifies clean uninstall.
CloneFromSnapshotSourceInProgress represents a data volume with a current phase of CloneFromSnapshotSourceInProgress.
CloneInProgress represents a data volume with a current phase of CloneInProgress.
CloneScheduled represents a data volume with a current phase of CloneScheduled.
CloneStrategyCsiClone specifies csi volume clone based cloning.
CloneStrategyHostAssisted specifies slower, host-assisted copy.
CloneStrategySnapshot specifies snapshot-based copying.
CSICloneInProgress represents a data volume with a current phase of CSICloneInProgress.
DataImportCronGarbageCollectNever specifies that garbage collection is disabled.
DataImportCronGarbageCollectOutdated specifies that old PVCs should be cleaned up after a new PVC is imported.
DataImportCronProgressing is the condition that indicates import is progressing.
DataImportCronRetainAll specifies that the created DataVolumes and DataSources are retained when their DataImportCron is deleted.
DataImportCronRetainNone specifies that the created DataVolumes and DataSources are deleted when their DataImportCron is deleted.
DataImportCronSourceFormatPvc implies using a PVC as the resulting DataImportCron disk image source.
DataImportCronSourceFormatSnapshot implies using a VolumeSnapshot as the resulting DataImportCron disk image source.
DataImportCronUpToDate is the condition that indicates latest import is up to date.
DataSourceReady is the condition that indicates if the data source is ready to be consumed.
DataVolumeArchive is the content-type to specify if there is a need to extract the imported archive.
DataVolumeBound is the condition that indicates if the underlying PVC is bound or not.
DataVolumeCloneSourceSubresource is the subresource checked for permission to clone.
DataVolumeDataSource is DataSource source reference for DataVolume.
DataVolumeKubeVirt is the content-type of the imported file, defaults to kubevirt.
DataVolumeReady is the condition that indicates if the data volume is ready to be consumed.
DataVolumeRunning is the condition that indicates if the import/upload/clone container is running.
ExpansionInProgress is the state when a PVC is expanded.
Failed represents a DataVolumePhase of Failed.
ImportInProgress represents a data volume with a current phase of ImportInProgress.
ImportScheduled represents a data volume with a current phase of ImportScheduled.
JSONPatchType is a constant that represents the type of JSON patch.
MergePatchType is a constant that represents the type of JSON Merge patch.
NamespaceTransferInProgress is the state when a PVC is transferred.
ObjectTransferComplete is the complete transfer phase.
ObjectTransferConditionComplete is the "complete" condition.
ObjectTransferEmpty is the empty transfer phase.
ObjectTransferError is the (terminal) error transfer phase.
ObjectTransferPending is the pending transfer phase.
ObjectTransferRunning is the running transfer phase.
Paused represents a DataVolumePhase of Paused.
Pending represents a data volume with a current phase of Pending.
PendingPopulation represents a data volume which should be populated by the CDI populators but haven't created the pvc' yet.
PersistentVolumeFromStorageProfile means the volume mode will be auto selected by CDI according to a matching StorageProfile.
PhaseUnset represents a data volume with no current phase.
PrepClaimInProgress represents a data volume with a current phase of PrepClaimInProgress.
PVCBound represents a data volume with a current phase of PVCBound.
RebindInProgress represents a data volume with a current phase of RebindInProgress.
RegistryPullNode is the node docker cache based import.
RegistryPullPod is the standard import.
RegistrySchemeDocker is docker scheme prefix.
RegistrySchemeOci is oci-archive scheme prefix.
SmartClonePVCInProgress represents a data volume with a current phase of SmartClonePVCInProgress.
SnapshotForSmartCloneInProgress represents a data volume with a current phase of SnapshotForSmartCloneInProgress.
StrategicMergePatchType is a constant that represents the type of Strategic Merge patch.
Succeeded represents a DataVolumePhase of Succeeded.
Unknown represents a DataVolumePhase of Unknown.
UploadReady represents a data volume with a current phase of UploadReady.
UploadScheduled represents a data volume with a current phase of UploadScheduled.
VolumeCloneSourceRef is smart clone source for DataSourceRef for PVC.
VolumeImportSourceRef is import source for DataSourceRef for PVC.
VolumeUploadSourceRef is upload source for DataSourceRef for PVC.
WaitForFirstConsumer represents a data volume with a current phase of WaitForFirstConsumer.

# Variables

AddToScheme tbd.
CDIGroupVersionKind group version kind.
ErrNoTokenOkay indicates proceeding without token is allowed This error should only be of interest to entities that give out DataVolume tokens.
SchemeBuilder tbd.
SchemeGroupVersion is group version used to register these objects.

# Structs

CDI is the CDI Operator CRD +genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:object:root=true +kubebuilder:storageversion +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".
CDICertConfig has the CertConfigs for CDI.
CDIConfig provides a user configuration for CDI +genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:object:root=true +kubebuilder:storageversion +kubebuilder:resource:scope=Cluster.
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.
CDIConfigSpec defines specification for user configuration.
CDIConfigStatus provides the most recently observed status of the CDI Config resource.
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.
CDISpec defines our specification for the CDI installation.
CDIStatus defines the status of the installation.
CertConfig contains the tunables for TLS certificates.
ClaimPropertySet is a set of properties applicable to PVC.
CloneAuthResponse contains various response details regarding authorizing a datavolume +k8s:deepcopy-gen=false +k8s:openapi-gen=false.
CloneSourceHandler is a helper around determining the correct way of authorizing a particular DataVolume +k8s:deepcopy-gen=false +k8s:openapi-gen=false.
ComponentConfig defines the scheduling and replicas configuration for CDI components.
ConditionState represents the state of a condition.
CustomizeComponents defines patches for components deployed by the CDI operator.
CustomizeComponentsPatch defines a patch for some resource.
DataImportCron defines a cron job for recurring polling/importing disk images as PVCs into a golden image namespace +genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:object:root=true +kubebuilder:storageversion +kubebuilder:resource:shortName=dic;dics,categories=all +kubebuilder:printcolumn:name="Format",type="string",JSONPath=".status.sourceFormat",description="The format in which created sources are saved".
DataImportCronCondition represents the state of a data import cron condition.
DataImportCronList provides the needed parameters to do request a list of DataImportCrons from the system +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object.
DataImportCronSpec defines specification for DataImportCron.
DataImportCronStatus provides the most recently observed status of the DataImportCron.
DataSource references an import/clone source for a DataVolume +genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:object:root=true +kubebuilder:storageversion +kubebuilder:resource:shortName=das,categories=all.
DataSourceCondition represents the state of a data source condition.
DataSourceList provides the needed parameters to do request a list of Data Sources from the system +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object.
DataSourceSource represents the source for our DataSource.
DataSourceSpec defines specification for DataSource.
DataSourceStatus provides the most recently observed status of the DataSource.
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:storageversion +kubebuilder:resource:shortName=dv;dvs,categories=all +kubebuilder:subresource:status +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".
DataVolumeBlankImage provides the parameters to create a new raw blank image for the PVC.
DataVolumeCheckpoint defines a stage in a warm migration.
DataVolumeCondition represents the state of a data volume condition.
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.
DataVolumeSource represents the source for our Data Volume, this can be HTTP, Imageio, S3, GCS, Registry or an existing PVC.
DataVolumeSourceGCS provides the parameters to create a Data Volume from an GCS source.
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.
DataVolumeSourceImageIO provides the parameters to create a Data Volume from an imageio source.
DataVolumeSourcePVC provides the parameters to create a Data Volume from an existing PVC.
DataVolumeSourceRef defines an indirect reference to the source of data for the DataVolume.
DataVolumeSourceRegistry provides the parameters to create a Data Volume from an registry source.
DataVolumeSourceS3 provides the parameters to create a Data Volume from an S3 source.
DataVolumeSourceSnapshot provides the parameters to create a Data Volume from an existing VolumeSnapshot.
DataVolumeSourceUpload provides the parameters to create a Data Volume by uploading the source.
DataVolumeSourceVDDK provides the parameters to create a Data Volume from a Vmware source.
DataVolumeSpec defines the DataVolume type specification.
DataVolumeStatus contains the current status of the DataVolume.
FilesystemOverhead defines the reserved size for PVCs with VolumeMode: Filesystem.
Flags will create a patch that will replace all flags for the container's command field.
ImportProxy provides the information on how to configure the importer pod proxy.
ImportSourceType contains each one of the source types allowed in a VolumeImportSource.
ImportStatus of a currently in progress import.
ObjectTransfer is the cluster scoped object transfer resource +genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:object:root=true +kubebuilder:storageversion +kubebuilder:resource:shortName=ot;ots,scope=Cluster +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:printcolumn:name="Phase",type="string",JSONPath=".status.phase",description="The phase of the ObjectTransfer" +kubebuilder:subresource:status.
ObjectTransferCondition contains condition data.
ObjectTransferList provides the needed parameters to do request a list of ObjectTransfers from the system +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object.
ObjectTransferSpec specifies the source/target of the transfer.
ObjectTransferStatus is the status of the ObjectTransfer.
StorageProfile provides a CDI specific recommendation for storage parameters +genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:object:root=true +kubebuilder:storageversion +kubebuilder:resource:scope=Cluster.
StorageProfileList provides the needed parameters to request a list of StorageProfile from the system +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object.
StorageProfileSpec defines specification for StorageProfile.
StorageProfileStatus provides the most recently observed status of the StorageProfile.
StorageSpec defines the Storage type specification.
TransferSource is the source of a ObjectTransfer.
TransferTarget is the target of an ObjectTransfer.
VolumeCloneSource refers to a PVC/VolumeSnapshot of any storageclass/volumemode to be used as the source of a new PVC +genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:object:root=true +kubebuilder:storageversion.
VolumeCloneSourceList provides the needed parameters to do request a list of VolumeCloneSources from the system +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object.
VolumeCloneSourceSpec defines the Spec field for VolumeCloneSource.
VolumeImportSource works as a specification to populate PersistentVolumeClaims with data imported from an HTTP/S3/Registry/Blank/ImageIO/VDDK source +genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:object:root=true +kubebuilder:storageversion.
VolumeImportSourceList provides the needed parameters to do request a list of Import Sources from the system +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object.
VolumeImportSourceSpec defines the Spec field for VolumeImportSource.
VolumeImportSourceStatus provides the most recently observed status of the VolumeImportSource.
VolumeUploadSource is a specification to populate PersistentVolumeClaims with upload data +genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:object:root=true +kubebuilder:storageversion.
VolumeUploadSourceList provides the needed parameters to do request a list of Upload Sources from the system +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object.
VolumeUploadSourceSpec defines specification for VolumeUploadSource.
VolumeUploadSourceStatus provides the most recently observed status of the VolumeUploadSource.

# Interfaces

AuthorizationHelperProxy proxies calls to APIs used for DV authorization.

# Type aliases

CDICloneStrategy defines the preferred method for performing a CDI clone (override snapshot?).
CDIPhase is the current phase of the CDI deployment.
CDIPriorityClass defines the priority class of the CDI control plane.
CDIUninstallStrategy defines the state to leave CDI on uninstall.
DataImportCronConditionType is the string representation of known condition types.
DataImportCronGarbageCollect represents the DataImportCron garbage collection mode.
DataImportCronRetentionPolicy represents the DataImportCron retention policy.
DataImportCronSourceFormat defines the format of the DataImportCron-created disk image sources.
DataSourceConditionType is the string representation of known condition types.
DataVolumeConditionType is the string representation of known condition types.
DataVolumeContentType represents the types of the imported data.
DataVolumePhase is the current phase of the DataVolume.
DataVolumeProgress is the current progress of the DataVolume transfer operation.
ObjectTransferConditionType is the type of ObjectTransferCondition.
ObjectTransferPhase is the phase of the ObjectTransfer.
PatchType defines the patch type.
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)$`.
RegistryPullMethod represents the registry import pull method.
ServiceAccountCloneAuthFunc represents a serviceaccount clone auth func.
UserCloneAuthFunc represents a user clone auth func.