Documentation
¶
Overview ¶
Package v1 is the v1 version of the API. +groupName=velero.io
Package v1 contains API Schema definitions for the velero v1 API group +kubebuilder:object:generate=true +groupName=velero.io
Index ¶
- Constants
- Variables
- func CustomResourceKinds() sets.Set[string]
- func CustomResources() map[string]typeInfo
- func Resource(resource string) schema.GroupResource
- type AsyncOperationIDPrefix
- type Backup
- type BackupHooks
- type BackupList
- type BackupPhase
- type BackupProgress
- type BackupRepository
- type BackupRepositoryList
- type BackupRepositoryMaintenanceResult
- type BackupRepositoryMaintenanceStatus
- type BackupRepositoryPhase
- type BackupRepositorySpec
- type BackupRepositoryStatus
- type BackupResourceHook
- type BackupResourceHookSpec
- type BackupSpec
- type BackupStatus
- type BackupStorageLocation
- type BackupStorageLocationAccessMode
- type BackupStorageLocationList
- type BackupStorageLocationPhase
- type BackupStorageLocationSpec
- type BackupStorageLocationStatus
- type DeleteBackupRequest
- type DeleteBackupRequestList
- type DeleteBackupRequestPhase
- type DeleteBackupRequestSpec
- type DeleteBackupRequestStatus
- type DownloadRequest
- type DownloadRequestList
- type DownloadRequestPhase
- type DownloadRequestSpec
- type DownloadRequestStatus
- type DownloadTarget
- type DownloadTargetKind
- type ExecHook
- type ExecRestoreHook
- type HookErrorMode
- type HookStatus
- type InitRestoreHook
- type Metadata
- type ObjectStorageLocation
- type PluginInfo
- type PodVolumeBackup
- type PodVolumeBackupList
- type PodVolumeBackupPhase
- type PodVolumeBackupSpec
- type PodVolumeBackupStatus
- type PodVolumeRestore
- type PodVolumeRestoreList
- type PodVolumeRestorePhase
- type PodVolumeRestoreSpec
- type PodVolumeRestoreStatus
- type PolicyType
- type Restore
- type RestoreHooks
- type RestoreList
- type RestorePhase
- type RestoreProgress
- type RestoreResourceHook
- type RestoreResourceHookSpec
- type RestoreSpec
- type RestoreStatus
- type RestoreStatusSpec
- type Schedule
- type ScheduleList
- type SchedulePhase
- type ScheduleSpec
- type ScheduleStatus
- type ServerStatusRequest
- type ServerStatusRequestList
- type ServerStatusRequestPhase
- type ServerStatusRequestSpec
- type ServerStatusRequestStatus
- type StorageType
- type UploaderConfigForBackup
- type UploaderConfigForRestore
- type VeleroResourceUsage
- type VolumeSnapshotLocation
- type VolumeSnapshotLocationList
- type VolumeSnapshotLocationPhase
- type VolumeSnapshotLocationSpec
- type VolumeSnapshotLocationStatus
Constants ¶
const ( BackupRepositoryPhaseNew BackupRepositoryPhase = "New" BackupRepositoryPhaseReady BackupRepositoryPhase = "Ready" BackupRepositoryPhaseNotReady BackupRepositoryPhase = "NotReady" BackupRepositoryTypeRestic string = "restic" BackupRepositoryTypeKopia string = "kopia" )
const ( // DefaultNamespace is the Kubernetes namespace that is used by default for // the Velero server and API objects. DefaultNamespace = "velero" // ResourcesDir is a top-level directory expected in backups which contains sub-directories // for each resource type in the backup. ResourcesDir = "resources" // MetadataDir is a top-level directory expected in backups which contains // files that store metadata about the backup, such as the backup version. MetadataDir = "metadata" // ClusterScopedDir is the name of the directory containing cluster-scoped // resources within a Velero backup. ClusterScopedDir = "cluster" // NamespaceScopedDir is the name of the directory containing namespace-scoped // resource within a Velero backup. NamespaceScopedDir = "namespaces" // CSIFeatureFlag is the feature flag string that defines whether or not CSI features are being used. CSIFeatureFlag = "EnableCSI" // PreferredVersionDir is the suffix name of the directory containing the preferred version of the API group // resource within a Velero backup. PreferredVersionDir = "-preferredversion" // APIGroupVersionsFeatureFlag is the feature flag string that defines whether or not to handle multiple API Group Versions APIGroupVersionsFeatureFlag = "EnableAPIGroupVersions" )
const ( // BackupNameLabel is the label key used to identify a backup by name. BackupNameLabel = "velero.io/backup-name" // BackupUIDLabel is the label key used to identify a backup by uid. BackupUIDLabel = "velero.io/backup-uid" // RestoreNameLabel is the label key used to identify a restore by name. RestoreNameLabel = "velero.io/restore-name" // ScheduleNameLabel is the label key used to identify a schedule by name. ScheduleNameLabel = "velero.io/schedule-name" // RestoreUIDLabel is the label key used to identify a restore by uid. RestoreUIDLabel = "velero.io/restore-uid" // PodUIDLabel is the label key used to identify a pod by uid. PodUIDLabel = "velero.io/pod-uid" // PVCUIDLabel is the label key used to identify a PVC by uid. PVCUIDLabel = "velero.io/pvc-uid" // PodVolumeOperationTimeoutAnnotation is the annotation key used to apply // a backup/restore-specific timeout value for pod volume operations (i.e. // pod volume backups/restores). PodVolumeOperationTimeoutAnnotation = "velero.io/pod-volume-timeout" // StorageLocationLabel is the label key used to identify the storage // location of a backup. StorageLocationLabel = "velero.io/storage-location" // VolumeNamespaceLabel is the label key used to identify which // namespace a repository stores backups for. VolumeNamespaceLabel = "velero.io/volume-namespace" // RepositoryTypeLabel is the label key used to identify the type of a repository RepositoryTypeLabel = "velero.io/repository-type" // DataUploadLabel is the label key used to identify the dataupload for snapshot backup pod DataUploadLabel = "velero.io/data-upload" // DataUploadSnapshotInfoLabel is used to identify the configmap that contains the snapshot info of a data upload // normally the value of the label should the "true" or "false" DataUploadSnapshotInfoLabel = "velero.io/data-upload-snapshot-info" // DataDownloadLabel is the label key used to identify the datadownload for snapshot restore pod DataDownloadLabel = "velero.io/data-download" // SourceClusterK8sVersionAnnotation is the label key used to identify the k8s // git version of the backup , i.e. v1.16.4 SourceClusterK8sGitVersionAnnotation = "velero.io/source-cluster-k8s-gitversion" // SourceClusterK8sMajorVersionAnnotation is the label key used to identify the k8s // major version of the backup , i.e. 1 SourceClusterK8sMajorVersionAnnotation = "velero.io/source-cluster-k8s-major-version" // SourceClusterK8sMajorVersionAnnotation is the label key used to identify the k8s // minor version of the backup , i.e. 16 SourceClusterK8sMinorVersionAnnotation = "velero.io/source-cluster-k8s-minor-version" // ResourceTimeoutAnnotation is the annotation key used to carry the global resource // timeout value for backup to plugins. ResourceTimeoutAnnotation = "velero.io/resource-timeout" // AsyncOperationIDLabel is the label key used to identify the async operation ID AsyncOperationIDLabel = "velero.io/async-operation-id" // PVCNameLabel is the label key used to identify the PVC's namespace and name. // The format is <namespace>/<name>. PVCNamespaceNameLabel = "velero.io/pvc-namespace-name" // ResourceUsageLabel is the label key to explain the Velero resource usage. ResourceUsageLabel = "velero.io/resource-usage" // VolumesToBackupAnnotation is the annotation on a pod whose mounted volumes // need to be backed up using pod volume backup. VolumesToBackupAnnotation = "backup.velero.io/backup-volumes" // VolumesToExcludeAnnotation is the annotation on a pod whose mounted volumes // should be excluded from pod volume backup. VolumesToExcludeAnnotation = "backup.velero.io/backup-volumes-excludes" // ExcludeFromBackupLabel is the label to exclude k8s resource from backup, // even if the resource contains a matching selector label. ExcludeFromBackupLabel = "velero.io/exclude-from-backup" // defaultVGSLabelKey is the default label key used to group PVCs under a VolumeGroupSnapshot DefaultVGSLabelKey = "velero.io/volume-group" // PVBLabel is the label key used to identify the pvb for pvb pod PVBLabel = "velero.io/pod-volume-backup" // PVRLabel is the label key used to identify the pvb for pvr pod PVRLabel = "velero.io/pod-volume-restore" )
const ( VolumeSnapshotLabel = "velero.io/volume-snapshot-name" VolumeSnapshotHandleAnnotation = "velero.io/csi-volumesnapshot-handle" VolumeSnapshotRestoreSize = "velero.io/csi-volumesnapshot-restore-size" DriverNameAnnotation = "velero.io/csi-driver-name" VSCDeletionPolicyAnnotation = "velero.io/csi-vsc-deletion-policy" VolumeSnapshotClassSelectorLabel = "velero.io/csi-volumesnapshot-class" VolumeSnapshotClassDriverBackupAnnotationPrefix = "velero.io/csi-volumesnapshot-class" VolumeSnapshotClassDriverPVCAnnotation = "velero.io/csi-volumesnapshot-class" // https://kubernetes.io/zh-cn/docs/concepts/storage/volume-snapshot-classes/ VolumeSnapshotClassKubernetesAnnotation = "snapshot.storage.kubernetes.io/is-default-class" // There is no release w/ these constants exported. Using the strings for now. // CSI Annotation volumesnapshotclass // https://github.com/kubernetes-csi/external-snapshotter/blob/master/pkg/utils/util.go#L59-L60 PrefixedListSecretNameAnnotation = "csi.storage.k8s.io/snapshotter-list-secret-name" // #nosec G101 PrefixedListSecretNamespaceAnnotation = "csi.storage.k8s.io/snapshotter-list-secret-namespace" // #nosec G101 // CSI Annotation volumesnapshotcontents PrefixedSecretNameAnnotation = "csi.storage.k8s.io/snapshotter-secret-name" // #nosec G101 PrefixedSecretNamespaceAnnotation = "csi.storage.k8s.io/snapshotter-secret-namespace" // #nosec G101 // Velero checks this annotation to determine whether to skip resource excluding check. MustIncludeAdditionalItemAnnotation = "backup.velero.io/must-include-additional-items" // SkippedNoCSIPVAnnotation - Velero checks this annotation on processed PVC to // find out if the snapshot was skipped b/c the PV is not provisioned via CSI SkippedNoCSIPVAnnotation = "backup.velero.io/skipped-no-csi-pv" // DynamicPVRestoreLabel is the label key for dynamic PV restore DynamicPVRestoreLabel = "velero.io/dynamic-pv-restore" // DataUploadNameAnnotation is the label key for the DataUpload name DataUploadNameAnnotation = "velero.io/data-upload-name" // Label used on VolumeGroupSnapshotClass to mark it as Velero's default for a CSI driver VolumeGroupSnapshotClassDefaultLabel = "velero.io/csi-volumegroupsnapshot-class" // Annotation on PVC to override the VGS class to use VolumeGroupSnapshotClassAnnotationPVC = "velero.io/csi-volume-group-snapshot-class" // Annotation prefix on Backup to override VGS class per CSI driver VolumeGroupSnapshotClassAnnotationBackupPrefix = "velero.io/csi-volumegroupsnapshot-class_" )
CSI related plugin actions' constant variable
const ( // RestorePhaseNew means the restore has been created but not // yet processed by the RestoreController RestorePhaseNew RestorePhase = "New" // RestorePhaseFailedValidation means the restore has failed // the controller's validations and therefore will not run. RestorePhaseFailedValidation RestorePhase = "FailedValidation" // RestorePhaseInProgress means the restore is currently executing. RestorePhaseInProgress RestorePhase = "InProgress" // RestorePhaseWaitingForPluginOperations means the restore of // Kubernetes resources and other async plugin operations was // successful and plugin operations are still ongoing. The // restore is not complete yet. RestorePhaseWaitingForPluginOperations RestorePhase = "WaitingForPluginOperations" // RestorePhaseWaitingForPluginOperationsPartiallyFailed means // the restore of Kubernetes resources and other async plugin // operations partially failed (final phase will be // PartiallyFailed) and other plugin operations are still // ongoing. The restore is not complete yet. RestorePhaseWaitingForPluginOperationsPartiallyFailed RestorePhase = "WaitingForPluginOperationsPartiallyFailed" // RestorePhaseFinalizing means the restore of // Kubernetes resources and other async plugin operations were successful and // other plugin operations are now complete, but the restore is awaiting // the completion of wrap-up tasks before the restore process enters terminal phase. RestorePhaseFinalizing RestorePhase = "Finalizing" // RestorePhaseFinalizingPartiallyFailed means the restore of // Kubernetes resources and other async plugin operations were successful and // other plugin operations are now complete, but one or more errors // occurred during restore or async operation processing. The restore is awaiting // the completion of wrap-up tasks before the restore process enters terminal phase. RestorePhaseFinalizingPartiallyFailed RestorePhase = "FinalizingPartiallyFailed" // RestorePhaseCompleted means the restore has run successfully // without errors. RestorePhaseCompleted RestorePhase = "Completed" // RestorePhasePartiallyFailed means the restore has run to completion // but encountered 1+ errors restoring individual items. RestorePhasePartiallyFailed RestorePhase = "PartiallyFailed" // RestorePhaseFailed means the restore was unable to execute. // The failing error is recorded in status.FailureReason. RestorePhaseFailed RestorePhase = "Failed" // PolicyTypeNone means velero will not overwrite the resource // in cluster with the one in backup whether changed/unchanged. PolicyTypeNone PolicyType = "none" // PolicyTypeUpdate means velero will try to attempt a patch on // the changed resources. PolicyTypeUpdate PolicyType = "update" )
Variables ¶
var ( // SchemeGroupVersion is group version used to register these objects SchemeGroupVersion = schema.GroupVersion{Group: "velero.io", Version: "v1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
func CustomResourceKinds ¶ added in v1.12.0
CustomResourceKinds returns a list of all custom resources kinds within the Velero
func CustomResources ¶
func CustomResources() map[string]typeInfo
CustomResources returns a map of all custom resources within the Velero API group, keyed on Kind.
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource gets a Velero GroupResource for a specified resource
Types ¶
type AsyncOperationIDPrefix ¶ added in v1.12.0
type AsyncOperationIDPrefix string
const ( AsyncOperationIDPrefixDataDownload AsyncOperationIDPrefix = "dd-" AsyncOperationIDPrefixDataUpload AsyncOperationIDPrefix = "du-" )
type Backup ¶
type Backup struct {
metav1.TypeMeta `json:",inline"`
// +optional
metav1.ObjectMeta `json:"metadata,omitempty"`
// +optional
Spec BackupSpec `json:"spec,omitempty"`
// +optional
Status BackupStatus `json:"status,omitempty"`
}
Backup is a Velero resource that represents the capture of Kubernetes cluster state at a point in time (API objects and associated volume state).
func (*Backup) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Backup.
func (*Backup) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Backup) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type BackupHooks ¶
type BackupHooks struct {
// Resources are hooks that should be executed when backing up individual instances of a resource.
// +optional
// +nullable
Resources []BackupResourceHookSpec `json:"resources,omitempty"`
}
BackupHooks contains custom behaviors that should be executed at different phases of the backup.
func (*BackupHooks) DeepCopy ¶
func (in *BackupHooks) DeepCopy() *BackupHooks
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackupHooks.
func (*BackupHooks) DeepCopyInto ¶
func (in *BackupHooks) DeepCopyInto(out *BackupHooks)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BackupList ¶
type BackupList struct {
metav1.TypeMeta `json:",inline"`
// +optional
metav1.ListMeta `json:"metadata,omitempty"`
Items []Backup `json:"items"`
}
BackupList is a list of Backups.
func (*BackupList) DeepCopy ¶
func (in *BackupList) DeepCopy() *BackupList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackupList.
func (*BackupList) DeepCopyInto ¶
func (in *BackupList) DeepCopyInto(out *BackupList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*BackupList) DeepCopyObject ¶
func (in *BackupList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type BackupPhase ¶
type BackupPhase string
BackupPhase is a string representation of the lifecycle phase of a Velero backup. +kubebuilder:validation:Enum=New;FailedValidation;InProgress;WaitingForPluginOperations;WaitingForPluginOperationsPartiallyFailed;Finalizing;FinalizingPartiallyFailed;Completed;PartiallyFailed;Failed;Deleting
const ( // BackupPhaseNew means the backup has been created but not // yet processed by the BackupController. BackupPhaseNew BackupPhase = "New" // BackupPhaseFailedValidation means the backup has failed // the controller's validations and therefore will not run. BackupPhaseFailedValidation BackupPhase = "FailedValidation" // BackupPhaseInProgress means the backup is currently executing. BackupPhaseInProgress BackupPhase = "InProgress" // BackupPhaseWaitingForPluginOperations means the backup of // Kubernetes resources, creation of snapshots, and other // async plugin operations was successful and snapshot data is // currently uploading or other plugin operations are still // ongoing. The backup is not usable yet. BackupPhaseWaitingForPluginOperations BackupPhase = "WaitingForPluginOperations" // BackupPhaseWaitingForPluginOperationsPartiallyFailed means // the backup of Kubernetes resources, creation of snapshots, // and other async plugin operations partially failed (final // phase will be PartiallyFailed) and snapshot data is // currently uploading or other plugin operations are still // ongoing. The backup is not usable yet. BackupPhaseWaitingForPluginOperationsPartiallyFailed BackupPhase = "WaitingForPluginOperationsPartiallyFailed" // BackupPhaseFinalizing means the backup of // Kubernetes resources, creation of snapshots, and other // async plugin operations were successful and snapshot upload and // other plugin operations are now complete, but the Backup is awaiting // final update of resources modified during async operations. // The backup is not usable yet. BackupPhaseFinalizing BackupPhase = "Finalizing" // BackupPhaseFinalizingPartiallyFailed means the backup of // Kubernetes resources, creation of snapshots, and other // async plugin operations were successful and snapshot upload and // other plugin operations are now complete, but one or more errors // occurred during backup or async operation processing, and the // Backup is awaiting final update of resources modified during async // operations. The backup is not usable yet. BackupPhaseFinalizingPartiallyFailed BackupPhase = "FinalizingPartiallyFailed" // BackupPhaseCompleted means the backup has run successfully without // errors. BackupPhaseCompleted BackupPhase = "Completed" // BackupPhasePartiallyFailed means the backup has run to completion // but encountered 1+ errors backing up individual items. BackupPhasePartiallyFailed BackupPhase = "PartiallyFailed" // BackupPhaseFailed means the backup ran but encountered an error that // prevented it from completing successfully. BackupPhaseFailed BackupPhase = "Failed" // BackupPhaseDeleting means the backup and all its associated data are being deleted. BackupPhaseDeleting BackupPhase = "Deleting" )
type BackupProgress ¶ added in v1.4.0
type BackupProgress struct {
// TotalItems is the total number of items to be backed up. This number may change
// throughout the execution of the backup due to plugins that return additional related
// items to back up, the velero.io/exclude-from-backup label, and various other
// filters that happen as items are processed.
// +optional
TotalItems int `json:"totalItems,omitempty"`
// ItemsBackedUp is the number of items that have actually been written to the
// backup tarball so far.
// +optional
ItemsBackedUp int `json:"itemsBackedUp,omitempty"`
}
BackupProgress stores information about the progress of a Backup's execution.
func (*BackupProgress) DeepCopy ¶ added in v1.4.0
func (in *BackupProgress) DeepCopy() *BackupProgress
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackupProgress.
func (*BackupProgress) DeepCopyInto ¶ added in v1.4.0
func (in *BackupProgress) DeepCopyInto(out *BackupProgress)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BackupRepository ¶ added in v1.10.0
type BackupRepository struct {
metav1.TypeMeta `json:",inline"`
// +optional
metav1.ObjectMeta `json:"metadata,omitempty"`
// +optional
Spec BackupRepositorySpec `json:"spec,omitempty"`
// +optional
Status BackupRepositoryStatus `json:"status,omitempty"`
}
func (*BackupRepository) DeepCopy ¶ added in v1.10.0
func (in *BackupRepository) DeepCopy() *BackupRepository
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackupRepository.
func (*BackupRepository) DeepCopyInto ¶ added in v1.10.0
func (in *BackupRepository) DeepCopyInto(out *BackupRepository)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*BackupRepository) DeepCopyObject ¶ added in v1.10.0
func (in *BackupRepository) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type BackupRepositoryList ¶ added in v1.10.0
type BackupRepositoryList struct {
metav1.TypeMeta `json:",inline"`
// +optional
metav1.ListMeta `json:"metadata,omitempty"`
Items []BackupRepository `json:"items"`
}
BackupRepositoryList is a list of BackupRepositories.
func (*BackupRepositoryList) DeepCopy ¶ added in v1.10.0
func (in *BackupRepositoryList) DeepCopy() *BackupRepositoryList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackupRepositoryList.
func (*BackupRepositoryList) DeepCopyInto ¶ added in v1.10.0
func (in *BackupRepositoryList) DeepCopyInto(out *BackupRepositoryList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*BackupRepositoryList) DeepCopyObject ¶ added in v1.10.0
func (in *BackupRepositoryList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type BackupRepositoryMaintenanceResult ¶ added in v1.16.0
type BackupRepositoryMaintenanceResult string
BackupRepositoryMaintenanceResult represents the result of a repo maintenance. +kubebuilder:validation:Enum=Succeeded;Failed
const ( BackupRepositoryMaintenanceSucceeded BackupRepositoryMaintenanceResult = "Succeeded" BackupRepositoryMaintenanceFailed BackupRepositoryMaintenanceResult = "Failed" )
type BackupRepositoryMaintenanceStatus ¶ added in v1.16.0
type BackupRepositoryMaintenanceStatus struct {
// Result is the result of the repo maintenance.
// +optional
Result BackupRepositoryMaintenanceResult `json:"result,omitempty"`
// StartTimestamp is the start time of the repo maintenance.
// +optional
// +nullable
StartTimestamp *metav1.Time `json:"startTimestamp,omitempty"`
// CompleteTimestamp is the completion time of the repo maintenance.
// +optional
// +nullable
CompleteTimestamp *metav1.Time `json:"completeTimestamp,omitempty"`
// Message is a message about the current status of the repo maintenance.
// +optional
Message string `json:"message,omitempty"`
}
func (*BackupRepositoryMaintenanceStatus) DeepCopy ¶ added in v1.16.0
func (in *BackupRepositoryMaintenanceStatus) DeepCopy() *BackupRepositoryMaintenanceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackupRepositoryMaintenanceStatus.
func (*BackupRepositoryMaintenanceStatus) DeepCopyInto ¶ added in v1.16.0
func (in *BackupRepositoryMaintenanceStatus) DeepCopyInto(out *BackupRepositoryMaintenanceStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BackupRepositoryPhase ¶ added in v1.10.0
type BackupRepositoryPhase string
BackupRepositoryPhase represents the lifecycle phase of a BackupRepository. +kubebuilder:validation:Enum=New;Ready;NotReady
type BackupRepositorySpec ¶ added in v1.10.0
type BackupRepositorySpec struct {
// VolumeNamespace is the namespace this backup repository contains
// pod volume backups for.
VolumeNamespace string `json:"volumeNamespace"`
// BackupStorageLocation is the name of the BackupStorageLocation
// that should contain this repository.
BackupStorageLocation string `json:"backupStorageLocation"`
// RepositoryType indicates the type of the backend repository
// +kubebuilder:validation:Enum=kopia;restic;""
// +optional
RepositoryType string `json:"repositoryType"`
// ResticIdentifier is the full restic-compatible string for identifying
// this repository. This field is only used when RepositoryType is "restic".
// +optional
ResticIdentifier string `json:"resticIdentifier,omitempty"`
// MaintenanceFrequency is how often maintenance should be run.
MaintenanceFrequency metav1.Duration `json:"maintenanceFrequency"`
// RepositoryConfig is for repository-specific configuration fields.
// +optional
// +nullable
RepositoryConfig map[string]string `json:"repositoryConfig,omitempty"`
}
BackupRepositorySpec is the specification for a BackupRepository.
func (*BackupRepositorySpec) DeepCopy ¶ added in v1.10.0
func (in *BackupRepositorySpec) DeepCopy() *BackupRepositorySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackupRepositorySpec.
func (*BackupRepositorySpec) DeepCopyInto ¶ added in v1.10.0
func (in *BackupRepositorySpec) DeepCopyInto(out *BackupRepositorySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BackupRepositoryStatus ¶ added in v1.10.0
type BackupRepositoryStatus struct {
// Phase is the current state of the BackupRepository.
// +optional
Phase BackupRepositoryPhase `json:"phase,omitempty"`
// Message is a message about the current status of the BackupRepository.
// +optional
Message string `json:"message,omitempty"`
// LastMaintenanceTime is the last time repo maintenance succeeded.
// +optional
// +nullable
LastMaintenanceTime *metav1.Time `json:"lastMaintenanceTime,omitempty"`
// RecentMaintenance is status of the recent repo maintenance.
// +optional
RecentMaintenance []BackupRepositoryMaintenanceStatus `json:"recentMaintenance,omitempty"`
}
BackupRepositoryStatus is the current status of a BackupRepository.
func (*BackupRepositoryStatus) DeepCopy ¶ added in v1.10.0
func (in *BackupRepositoryStatus) DeepCopy() *BackupRepositoryStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackupRepositoryStatus.
func (*BackupRepositoryStatus) DeepCopyInto ¶ added in v1.10.0
func (in *BackupRepositoryStatus) DeepCopyInto(out *BackupRepositoryStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BackupResourceHook ¶
type BackupResourceHook struct {
// Exec defines an exec hook.
Exec *ExecHook `json:"exec"`
}
BackupResourceHook defines a hook for a resource.
func (*BackupResourceHook) DeepCopy ¶
func (in *BackupResourceHook) DeepCopy() *BackupResourceHook
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackupResourceHook.
func (*BackupResourceHook) DeepCopyInto ¶
func (in *BackupResourceHook) DeepCopyInto(out *BackupResourceHook)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BackupResourceHookSpec ¶
type BackupResourceHookSpec struct {
// Name is the name of this hook.
Name string `json:"name"`
// IncludedNamespaces specifies the namespaces to which this hook spec applies. If empty, it applies
// to all namespaces.
// +optional
// +nullable
IncludedNamespaces []string `json:"includedNamespaces,omitempty"`
// ExcludedNamespaces specifies the namespaces to which this hook spec does not apply.
// +optional
// +nullable
ExcludedNamespaces []string `json:"excludedNamespaces,omitempty"`
// IncludedResources specifies the resources to which this hook spec applies. If empty, it applies
// to all resources.
// +optional
// +nullable
IncludedResources []string `json:"includedResources,omitempty"`
// ExcludedResources specifies the resources to which this hook spec does not apply.
// +optional
// +nullable
ExcludedResources []string `json:"excludedResources,omitempty"`
// LabelSelector, if specified, filters the resources to which this hook spec applies.
// +optional
// +nullable
LabelSelector *metav1.LabelSelector `json:"labelSelector,omitempty"`
// PreHooks is a list of BackupResourceHooks to execute prior to storing the item in the backup.
// These are executed before any "additional items" from item actions are processed.
// +optional
PreHooks []BackupResourceHook `json:"pre,omitempty"`
// PostHooks is a list of BackupResourceHooks to execute after storing the item in the backup.
// These are executed after all "additional items" from item actions are processed.
// +optional
PostHooks []BackupResourceHook `json:"post,omitempty"`
}
BackupResourceHookSpec defines one or more BackupResourceHooks that should be executed based on the rules defined for namespaces, resources, and label selector.
func (*BackupResourceHookSpec) DeepCopy ¶
func (in *BackupResourceHookSpec) DeepCopy() *BackupResourceHookSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackupResourceHookSpec.
func (*BackupResourceHookSpec) DeepCopyInto ¶
func (in *BackupResourceHookSpec) DeepCopyInto(out *BackupResourceHookSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BackupSpec ¶
type BackupSpec struct {
// +optional
Metadata `json:"metadata,omitempty"`
// IncludedNamespaces is a slice of namespace names to include objects
// from. If empty, all namespaces are included.
// +optional
// +nullable
IncludedNamespaces []string `json:"includedNamespaces,omitempty"`
// ExcludedNamespaces contains a list of namespaces that are not
// included in the backup.
// +optional
// +nullable
ExcludedNamespaces []string `json:"excludedNamespaces,omitempty"`
// IncludedResources is a slice of resource names to include
// in the backup. If empty, all resources are included.
// +optional
// +nullable
IncludedResources []string `json:"includedResources,omitempty"`
// ExcludedResources is a slice of resource names that are not
// included in the backup.
// +optional
// +nullable
ExcludedResources []string `json:"excludedResources,omitempty"`
// IncludedClusterScopedResources is a slice of cluster-scoped
// resource type names to include in the backup.
// If set to "*", all cluster-scoped resource types are included.
// The default value is empty, which means only related
// cluster-scoped resources are included.
// +optional
// +nullable
IncludedClusterScopedResources []string `json:"includedClusterScopedResources,omitempty"`
// ExcludedClusterScopedResources is a slice of cluster-scoped
// resource type names to exclude from the backup.
// If set to "*", all cluster-scoped resource types are excluded.
// The default value is empty.
// +optional
// +nullable
ExcludedClusterScopedResources []string `json:"excludedClusterScopedResources,omitempty"`
// IncludedNamespaceScopedResources is a slice of namespace-scoped
// resource type names to include in the backup.
// The default value is "*".
// +optional
// +nullable
IncludedNamespaceScopedResources []string `json:"includedNamespaceScopedResources,omitempty"`
// ExcludedNamespaceScopedResources is a slice of namespace-scoped
// resource type names to exclude from the backup.
// If set to "*", all namespace-scoped resource types are excluded.
// The default value is empty.
// +optional
// +nullable
ExcludedNamespaceScopedResources []string `json:"excludedNamespaceScopedResources,omitempty"`
// LabelSelector is a metav1.LabelSelector to filter with
// when adding individual objects to the backup. If empty
// or nil, all objects are included. Optional.
// +optional
// +nullable
LabelSelector *metav1.LabelSelector `json:"labelSelector,omitempty"`
// OrLabelSelectors is list of metav1.LabelSelector to filter with
// when adding individual objects to the backup. If multiple provided
// they will be joined by the OR operator. LabelSelector as well as
// OrLabelSelectors cannot co-exist in backup request, only one of them
// can be used.
// +optional
// +nullable
OrLabelSelectors []*metav1.LabelSelector `json:"orLabelSelectors,omitempty"`
// SnapshotVolumes specifies whether to take snapshots
// of any PV's referenced in the set of objects included
// in the Backup.
// +optional
// +nullable
SnapshotVolumes *bool `json:"snapshotVolumes,omitempty"`
// TTL is a time.Duration-parseable string describing how long
// the Backup should be retained for.
// +optional
TTL metav1.Duration `json:"ttl,omitempty"`
// VolumeGroupSnapshotLabelKey specifies the label key to group PVCs under a VGS.
// +optional
VolumeGroupSnapshotLabelKey string `json:"volumeGroupSnapshotLabelKey,omitempty"`
// IncludeClusterResources specifies whether cluster-scoped resources
// should be included for consideration in the backup.
// +optional
// +nullable
IncludeClusterResources *bool `json:"includeClusterResources,omitempty"`
// Hooks represent custom behaviors that should be executed at different phases of the backup.
// +optional
Hooks BackupHooks `json:"hooks,omitempty"`
// StorageLocation is a string containing the name of a BackupStorageLocation where the backup should be stored.
// +optional
StorageLocation string `json:"storageLocation,omitempty"`
// VolumeSnapshotLocations is a list containing names of VolumeSnapshotLocations associated with this backup.
// +optional
VolumeSnapshotLocations []string `json:"volumeSnapshotLocations,omitempty"`
// DefaultVolumesToRestic specifies whether restic should be used to take a
// backup of all pod volumes by default.
//
// Deprecated: this field is no longer used and will be removed entirely in future. Use DefaultVolumesToFsBackup instead.
// +optional
// +nullable
DefaultVolumesToRestic *bool `json:"defaultVolumesToRestic,omitempty"`
// DefaultVolumesToFsBackup specifies whether pod volume file system backup should be used
// for all volumes by default.
// +optional
// +nullable
DefaultVolumesToFsBackup *bool `json:"defaultVolumesToFsBackup,omitempty"`
// OrderedResources specifies the backup order of resources of specific Kind.
// The map key is the resource name and value is a list of object names separated by commas.
// Each resource name has format "namespace/objectname". For cluster resources, simply use "objectname".
// +optional
// +nullable
OrderedResources map[string]string `json:"orderedResources,omitempty"`
// CSISnapshotTimeout specifies the time used to wait for CSI VolumeSnapshot status turns to
// ReadyToUse during creation, before returning error as timeout.
// The default value is 10 minute.
// +optional
CSISnapshotTimeout metav1.Duration `json:"csiSnapshotTimeout,omitempty"`
// ItemOperationTimeout specifies the time used to wait for asynchronous BackupItemAction operations
// The default value is 4 hour.
// +optional
ItemOperationTimeout metav1.Duration `json:"itemOperationTimeout,omitempty"`
// ResourcePolicy specifies the referenced resource policies that backup should follow
// +optional
ResourcePolicy *corev1api.TypedLocalObjectReference `json:"resourcePolicy,omitempty"`
// SnapshotMoveData specifies whether snapshot data should be moved
// +optional
// +nullable
SnapshotMoveData *bool `json:"snapshotMoveData,omitempty"`
// DataMover specifies the data mover to be used by the backup.
// If DataMover is "" or "velero", the built-in data mover will be used.
// +optional
DataMover string `json:"datamover,omitempty"`
// UploaderConfig specifies the configuration for the uploader.
// +optional
// +nullable
UploaderConfig *UploaderConfigForBackup `json:"uploaderConfig,omitempty"`
}
BackupSpec defines the specification for a Velero backup.
func (*BackupSpec) DeepCopy ¶
func (in *BackupSpec) DeepCopy() *BackupSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackupSpec.
func (*BackupSpec) DeepCopyInto ¶
func (in *BackupSpec) DeepCopyInto(out *BackupSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BackupStatus ¶
type BackupStatus struct {
// Version is the backup format major version.
// Deprecated: Please see FormatVersion
// +optional
Version int `json:"version,omitempty"`
// FormatVersion is the backup format version, including major, minor, and patch version.
// +optional
FormatVersion string `json:"formatVersion,omitempty"`
// Expiration is when this Backup is eligible for garbage-collection.
// +optional
// +nullable
Expiration *metav1.Time `json:"expiration,omitempty"`
// Phase is the current state of the Backup.
// +optional
Phase BackupPhase `json:"phase,omitempty"`
// ValidationErrors is a slice of all validation errors (if
// applicable).
// +optional
// +nullable
ValidationErrors []string `json:"validationErrors,omitempty"`
// StartTimestamp records the time a backup was started.
// Separate from CreationTimestamp, since that value changes
// on restores.
// The server's time is used for StartTimestamps
// +optional
// +nullable
StartTimestamp *metav1.Time `json:"startTimestamp,omitempty"`
// CompletionTimestamp records the time a backup was completed.
// Completion time is recorded even on failed backups.
// Completion time is recorded before uploading the backup object.
// The server's time is used for CompletionTimestamps
// +optional
// +nullable
CompletionTimestamp *metav1.Time `json:"completionTimestamp,omitempty"`
// VolumeSnapshotsAttempted is the total number of attempted
// volume snapshots for this backup.
// +optional
VolumeSnapshotsAttempted int `json:"volumeSnapshotsAttempted,omitempty"`
// VolumeSnapshotsCompleted is the total number of successfully
// completed volume snapshots for this backup.
// +optional
VolumeSnapshotsCompleted int `json:"volumeSnapshotsCompleted,omitempty"`
// FailureReason is an error that caused the entire backup to fail.
// +optional
FailureReason string `json:"failureReason,omitempty"`
// Warnings is a count of all warning messages that were generated during
// execution of the backup. The actual warnings are in the backup's log
// file in object storage.
// +optional
Warnings int `json:"warnings,omitempty"`
// Errors is a count of all error messages that were generated during
// execution of the backup. The actual errors are in the backup's log
// file in object storage.
// +optional
Errors int `json:"errors,omitempty"`
// Progress contains information about the backup's execution progress. Note
// that this information is best-effort only -- if Velero fails to update it
// during a backup for any reason, it may be inaccurate/stale.
// +optional
// +nullable
Progress *BackupProgress `json:"progress,omitempty"`
// CSIVolumeSnapshotsAttempted is the total number of attempted
// CSI VolumeSnapshots for this backup.
// +optional
CSIVolumeSnapshotsAttempted int `json:"csiVolumeSnapshotsAttempted,omitempty"`
// CSIVolumeSnapshotsCompleted is the total number of successfully
// completed CSI VolumeSnapshots for this backup.
// +optional
CSIVolumeSnapshotsCompleted int `json:"csiVolumeSnapshotsCompleted,omitempty"`
// BackupItemOperationsAttempted is the total number of attempted
// async BackupItemAction operations for this backup.
// +optional
BackupItemOperationsAttempted int `json:"backupItemOperationsAttempted,omitempty"`
// BackupItemOperationsCompleted is the total number of successfully completed
// async BackupItemAction operations for this backup.
// +optional
BackupItemOperationsCompleted int `json:"backupItemOperationsCompleted,omitempty"`
// BackupItemOperationsFailed is the total number of async
// BackupItemAction operations for this backup which ended with an error.
// +optional
BackupItemOperationsFailed int `json:"backupItemOperationsFailed,omitempty"`
// HookStatus contains information about the status of the hooks.
// +optional
// +nullable
HookStatus *HookStatus `json:"hookStatus,omitempty"`
}
BackupStatus captures the current status of a Velero backup.
func (*BackupStatus) DeepCopy ¶
func (in *BackupStatus) DeepCopy() *BackupStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackupStatus.
func (*BackupStatus) DeepCopyInto ¶
func (in *BackupStatus) DeepCopyInto(out *BackupStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BackupStorageLocation ¶
type BackupStorageLocation struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec BackupStorageLocationSpec `json:"spec,omitempty"`
Status BackupStorageLocationStatus `json:"status,omitempty"`
}
BackupStorageLocation is a location where Velero stores backup objects
func (*BackupStorageLocation) DeepCopy ¶
func (in *BackupStorageLocation) DeepCopy() *BackupStorageLocation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackupStorageLocation.
func (*BackupStorageLocation) DeepCopyInto ¶
func (in *BackupStorageLocation) DeepCopyInto(out *BackupStorageLocation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*BackupStorageLocation) DeepCopyObject ¶
func (in *BackupStorageLocation) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type BackupStorageLocationAccessMode ¶
type BackupStorageLocationAccessMode string
BackupStorageLocationAccessMode represents the permissions for a BackupStorageLocation. +kubebuilder:validation:Enum=ReadOnly;ReadWrite
const ( // BackupStorageLocationAccessModeReadOnly represents read-only access to a BackupStorageLocation. BackupStorageLocationAccessModeReadOnly BackupStorageLocationAccessMode = "ReadOnly" // BackupStorageLocationAccessModeReadWrite represents read and write access to a BackupStorageLocation. BackupStorageLocationAccessModeReadWrite BackupStorageLocationAccessMode = "ReadWrite" )
type BackupStorageLocationList ¶
type BackupStorageLocationList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []BackupStorageLocation `json:"items"`
}
BackupStorageLocationList contains a list of BackupStorageLocation
func (*BackupStorageLocationList) DeepCopy ¶
func (in *BackupStorageLocationList) DeepCopy() *BackupStorageLocationList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackupStorageLocationList.
func (*BackupStorageLocationList) DeepCopyInto ¶
func (in *BackupStorageLocationList) DeepCopyInto(out *BackupStorageLocationList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*BackupStorageLocationList) DeepCopyObject ¶
func (in *BackupStorageLocationList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type BackupStorageLocationPhase ¶
type BackupStorageLocationPhase string
BackupStorageLocationPhase is the lifecycle phase of a Velero BackupStorageLocation. +kubebuilder:validation:Enum=Available;Unavailable +kubebuilder:default=Unavailable
const ( // BackupStorageLocationPhaseAvailable means the location is available to read and write from. BackupStorageLocationPhaseAvailable BackupStorageLocationPhase = "Available" BackupStorageLocationPhaseUnavailable BackupStorageLocationPhase = "Unavailable" )
type BackupStorageLocationSpec ¶
type BackupStorageLocationSpec struct {
// Provider is the provider of the backup storage.
Provider string `json:"provider"`
// Config is for provider-specific configuration fields.
// +optional
Config map[string]string `json:"config,omitempty"`
// Credential contains the credential information intended to be used with this location
// +optional
Credential *corev1api.SecretKeySelector `json:"credential,omitempty"`
StorageType `json:",inline"`
// Default indicates this location is the default backup storage location.
// +optional
Default bool `json:"default,omitempty"`
// AccessMode defines the permissions for the backup storage location.
// +optional
AccessMode BackupStorageLocationAccessMode `json:"accessMode,omitempty"`
// BackupSyncPeriod defines how frequently to sync backup API objects from object storage. A value of 0 disables sync.
// +optional
// +nullable
BackupSyncPeriod *metav1.Duration `json:"backupSyncPeriod,omitempty"`
// ValidationFrequency defines how frequently to validate the corresponding object storage. A value of 0 disables validation.
// +optional
// +nullable
ValidationFrequency *metav1.Duration `json:"validationFrequency,omitempty"`
}
BackupStorageLocationSpec defines the desired state of a Velero BackupStorageLocation
func (*BackupStorageLocationSpec) DeepCopy ¶
func (in *BackupStorageLocationSpec) DeepCopy() *BackupStorageLocationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackupStorageLocationSpec.
func (*BackupStorageLocationSpec) DeepCopyInto ¶
func (in *BackupStorageLocationSpec) DeepCopyInto(out *BackupStorageLocationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BackupStorageLocationStatus ¶
type BackupStorageLocationStatus struct {
// Phase is the current state of the BackupStorageLocation.
// +optional
Phase BackupStorageLocationPhase `json:"phase,omitempty"`
// LastSyncedTime is the last time the contents of the location were synced into
// the cluster.
// +optional
// +nullable
LastSyncedTime *metav1.Time `json:"lastSyncedTime,omitempty"`
// LastValidationTime is the last time the backup store location was validated
// the cluster.
// +optional
// +nullable
LastValidationTime *metav1.Time `json:"lastValidationTime,omitempty"`
// Message is a message about the backup storage location's status.
// +optional
Message string `json:"message,omitempty"`
// LastSyncedRevision is the value of the `metadata/revision` file in the backup
// storage location the last time the BSL's contents were synced into the cluster.
//
// Deprecated: this field is no longer updated or used for detecting changes to
// the location's contents and will be removed entirely in v2.0.
// +optional
LastSyncedRevision types.UID `json:"lastSyncedRevision,omitempty"`
// AccessMode is an unused field.
//
// Deprecated: there is now an AccessMode field on the Spec and this field
// will be removed entirely as of v2.0.
// +optional
AccessMode BackupStorageLocationAccessMode `json:"accessMode,omitempty"`
}
BackupStorageLocationStatus defines the observed state of BackupStorageLocation
func (*BackupStorageLocationStatus) DeepCopy ¶
func (in *BackupStorageLocationStatus) DeepCopy() *BackupStorageLocationStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackupStorageLocationStatus.
func (*BackupStorageLocationStatus) DeepCopyInto ¶
func (in *BackupStorageLocationStatus) DeepCopyInto(out *BackupStorageLocationStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DeleteBackupRequest ¶
type DeleteBackupRequest struct {
metav1.TypeMeta `json:",inline"`
// +optional
metav1.ObjectMeta `json:"metadata,omitempty"`
// +optional
Spec DeleteBackupRequestSpec `json:"spec,omitempty"`
// +optional
Status DeleteBackupRequestStatus `json:"status,omitempty"`
}
DeleteBackupRequest is a request to delete one or more backups.
func (*DeleteBackupRequest) DeepCopy ¶
func (in *DeleteBackupRequest) DeepCopy() *DeleteBackupRequest
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeleteBackupRequest.
func (*DeleteBackupRequest) DeepCopyInto ¶
func (in *DeleteBackupRequest) DeepCopyInto(out *DeleteBackupRequest)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DeleteBackupRequest) DeepCopyObject ¶
func (in *DeleteBackupRequest) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DeleteBackupRequestList ¶
type DeleteBackupRequestList struct {
metav1.TypeMeta `json:",inline"`
// +optional
metav1.ListMeta `json:"metadata,omitempty"`
Items []DeleteBackupRequest `json:"items"`
}
DeleteBackupRequestList is a list of DeleteBackupRequests.
func (*DeleteBackupRequestList) DeepCopy ¶
func (in *DeleteBackupRequestList) DeepCopy() *DeleteBackupRequestList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeleteBackupRequestList.
func (*DeleteBackupRequestList) DeepCopyInto ¶
func (in *DeleteBackupRequestList) DeepCopyInto(out *DeleteBackupRequestList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DeleteBackupRequestList) DeepCopyObject ¶
func (in *DeleteBackupRequestList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DeleteBackupRequestPhase ¶
type DeleteBackupRequestPhase string
DeleteBackupRequestPhase represents the lifecycle phase of a DeleteBackupRequest. +kubebuilder:validation:Enum=New;InProgress;Processed
const ( // DeleteBackupRequestPhaseNew means the DeleteBackupRequest has not been processed yet. DeleteBackupRequestPhaseNew DeleteBackupRequestPhase = "New" // DeleteBackupRequestPhaseInProgress means the DeleteBackupRequest is being processed. DeleteBackupRequestPhaseInProgress DeleteBackupRequestPhase = "InProgress" // DeleteBackupRequestPhaseProcessed means the DeleteBackupRequest has been processed. DeleteBackupRequestPhaseProcessed DeleteBackupRequestPhase = "Processed" )
type DeleteBackupRequestSpec ¶
type DeleteBackupRequestSpec struct {
BackupName string `json:"backupName"`
}
DeleteBackupRequestSpec is the specification for which backups to delete.
func (*DeleteBackupRequestSpec) DeepCopy ¶
func (in *DeleteBackupRequestSpec) DeepCopy() *DeleteBackupRequestSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeleteBackupRequestSpec.
func (*DeleteBackupRequestSpec) DeepCopyInto ¶
func (in *DeleteBackupRequestSpec) DeepCopyInto(out *DeleteBackupRequestSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DeleteBackupRequestStatus ¶
type DeleteBackupRequestStatus struct {
// Phase is the current state of the DeleteBackupRequest.
// +optional
Phase DeleteBackupRequestPhase `json:"phase,omitempty"`
// Errors contains any errors that were encountered during the deletion process.
// +optional
// +nullable
Errors []string `json:"errors,omitempty"`
}
DeleteBackupRequestStatus is the current status of a DeleteBackupRequest.
func (*DeleteBackupRequestStatus) DeepCopy ¶
func (in *DeleteBackupRequestStatus) DeepCopy() *DeleteBackupRequestStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeleteBackupRequestStatus.
func (*DeleteBackupRequestStatus) DeepCopyInto ¶
func (in *DeleteBackupRequestStatus) DeepCopyInto(out *DeleteBackupRequestStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DownloadRequest ¶
type DownloadRequest struct {
metav1.TypeMeta `json:",inline"`
// +optional
metav1.ObjectMeta `json:"metadata,omitempty"`
// +optional
Spec DownloadRequestSpec `json:"spec,omitempty"`
// +optional
Status DownloadRequestStatus `json:"status,omitempty"`
}
DownloadRequest is a request to download an artifact from backup object storage, such as a backup log file.
func (*DownloadRequest) DeepCopy ¶
func (in *DownloadRequest) DeepCopy() *DownloadRequest
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DownloadRequest.
func (*DownloadRequest) DeepCopyInto ¶
func (in *DownloadRequest) DeepCopyInto(out *DownloadRequest)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DownloadRequest) DeepCopyObject ¶
func (in *DownloadRequest) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DownloadRequestList ¶
type DownloadRequestList struct {
metav1.TypeMeta `json:",inline"`
// +optional
metav1.ListMeta `json:"metadata,omitempty"`
Items []DownloadRequest `json:"items"`
}
DownloadRequestList is a list of DownloadRequests.
func (*DownloadRequestList) DeepCopy ¶
func (in *DownloadRequestList) DeepCopy() *DownloadRequestList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DownloadRequestList.
func (*DownloadRequestList) DeepCopyInto ¶
func (in *DownloadRequestList) DeepCopyInto(out *DownloadRequestList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DownloadRequestList) DeepCopyObject ¶
func (in *DownloadRequestList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DownloadRequestPhase ¶
type DownloadRequestPhase string
DownloadRequestPhase represents the lifecycle phase of a DownloadRequest. +kubebuilder:validation:Enum=New;Processed
const ( // DownloadRequestPhaseNew means the DownloadRequest has not been processed by the // DownloadRequestController yet. DownloadRequestPhaseNew DownloadRequestPhase = "New" // DownloadRequestPhaseProcessed means the DownloadRequest has been processed by the // DownloadRequestController. DownloadRequestPhaseProcessed DownloadRequestPhase = "Processed" )
type DownloadRequestSpec ¶
type DownloadRequestSpec struct {
// Target is what to download (e.g. logs for a backup).
Target DownloadTarget `json:"target"`
}
DownloadRequestSpec is the specification for a download request.
func (*DownloadRequestSpec) DeepCopy ¶
func (in *DownloadRequestSpec) DeepCopy() *DownloadRequestSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DownloadRequestSpec.
func (*DownloadRequestSpec) DeepCopyInto ¶
func (in *DownloadRequestSpec) DeepCopyInto(out *DownloadRequestSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DownloadRequestStatus ¶
type DownloadRequestStatus struct {
// Phase is the current state of the DownloadRequest.
// +optional
Phase DownloadRequestPhase `json:"phase,omitempty"`
// DownloadURL contains the pre-signed URL for the target file.
// +optional
DownloadURL string `json:"downloadURL,omitempty"`
// Expiration is when this DownloadRequest expires and can be deleted by the system.
// +optional
// +nullable
Expiration *metav1.Time `json:"expiration,omitempty"`
}
DownloadRequestStatus is the current status of a DownloadRequest.
func (*DownloadRequestStatus) DeepCopy ¶
func (in *DownloadRequestStatus) DeepCopy() *DownloadRequestStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DownloadRequestStatus.
func (*DownloadRequestStatus) DeepCopyInto ¶
func (in *DownloadRequestStatus) DeepCopyInto(out *DownloadRequestStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DownloadTarget ¶
type DownloadTarget struct {
// Kind is the type of file to download.
Kind DownloadTargetKind `json:"kind"`
// Name is the name of the Kubernetes resource with which the file is associated.
Name string `json:"name"`
}
DownloadTarget is the specification for what kind of file to download, and the name of the resource with which it's associated.
func (*DownloadTarget) DeepCopy ¶
func (in *DownloadTarget) DeepCopy() *DownloadTarget
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DownloadTarget.
func (*DownloadTarget) DeepCopyInto ¶
func (in *DownloadTarget) DeepCopyInto(out *DownloadTarget)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DownloadTargetKind ¶
type DownloadTargetKind string
DownloadTargetKind represents what type of file to download. +kubebuilder:validation:Enum=BackupLog;BackupContents;BackupVolumeSnapshots;BackupItemOperations;BackupResourceList;BackupResults;RestoreLog;RestoreResults;RestoreResourceList;RestoreItemOperations;CSIBackupVolumeSnapshots;CSIBackupVolumeSnapshotContents;BackupVolumeInfos;RestoreVolumeInfo
const ( DownloadTargetKindBackupLog DownloadTargetKind = "BackupLog" DownloadTargetKindBackupContents DownloadTargetKind = "BackupContents" DownloadTargetKindBackupVolumeSnapshots DownloadTargetKind = "BackupVolumeSnapshots" DownloadTargetKindBackupItemOperations DownloadTargetKind = "BackupItemOperations" DownloadTargetKindBackupResourceList DownloadTargetKind = "BackupResourceList" DownloadTargetKindBackupResults DownloadTargetKind = "BackupResults" DownloadTargetKindRestoreLog DownloadTargetKind = "RestoreLog" DownloadTargetKindRestoreResults DownloadTargetKind = "RestoreResults" DownloadTargetKindRestoreResourceList DownloadTargetKind = "RestoreResourceList" DownloadTargetKindRestoreItemOperations DownloadTargetKind = "RestoreItemOperations" DownloadTargetKindCSIBackupVolumeSnapshots DownloadTargetKind = "CSIBackupVolumeSnapshots" DownloadTargetKindCSIBackupVolumeSnapshotContents DownloadTargetKind = "CSIBackupVolumeSnapshotContents" DownloadTargetKindBackupVolumeInfos DownloadTargetKind = "BackupVolumeInfos" DownloadTargetKindRestoreVolumeInfo DownloadTargetKind = "RestoreVolumeInfo" )
type ExecHook ¶
type ExecHook struct {
// Container is the container in the pod where the command should be executed. If not specified,
// the pod's first container is used.
// +optional
Container string `json:"container,omitempty"`
// Command is the command and arguments to execute.
// +kubebuilder:validation:MinItems=1
Command []string `json:"command"`
// OnError specifies how Velero should behave if it encounters an error executing this hook.
// +optional
OnError HookErrorMode `json:"onError,omitempty"`
// Timeout defines the maximum amount of time Velero should wait for the hook to complete before
// considering the execution a failure.
// +optional
Timeout metav1.Duration `json:"timeout,omitempty"`
}
ExecHook is a hook that uses the pod exec API to execute a command in a container in a pod.
func (*ExecHook) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExecHook.
func (*ExecHook) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExecRestoreHook ¶ added in v1.5.0
type ExecRestoreHook struct {
// Container is the container in the pod where the command should be executed. If not specified,
// the pod's first container is used.
// +optional
Container string `json:"container,omitempty"`
// Command is the command and arguments to execute from within a container after a pod has been restored.
// +kubebuilder:validation:MinItems=1
Command []string `json:"command"`
// OnError specifies how Velero should behave if it encounters an error executing this hook.
// +optional
OnError HookErrorMode `json:"onError,omitempty"`
// ExecTimeout defines the maximum amount of time Velero should wait for the hook to complete before
// considering the execution a failure.
// +optional
ExecTimeout metav1.Duration `json:"execTimeout,omitempty"`
// WaitTimeout defines the maximum amount of time Velero should wait for the container to be Ready
// before attempting to run the command.
// +optional
WaitTimeout metav1.Duration `json:"waitTimeout,omitempty"`
// WaitForReady ensures command will be launched when container is Ready instead of Running.
// +optional
// +nullable
WaitForReady *bool `json:"waitForReady,omitempty"`
}
ExecRestoreHook is a hook that uses pod exec API to execute a command inside a container in a pod
func (*ExecRestoreHook) DeepCopy ¶ added in v1.5.0
func (in *ExecRestoreHook) DeepCopy() *ExecRestoreHook
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExecRestoreHook.
func (*ExecRestoreHook) DeepCopyInto ¶ added in v1.5.0
func (in *ExecRestoreHook) DeepCopyInto(out *ExecRestoreHook)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HookErrorMode ¶
type HookErrorMode string
HookErrorMode defines how Velero should treat an error from a hook. +kubebuilder:validation:Enum=Continue;Fail
const ( // HookErrorModeContinue means that an error from a hook is acceptable and the backup/restore can // proceed with the rest of hooks' execution. This backup/restore should be in `PartiallyFailed` status. HookErrorModeContinue HookErrorMode = "Continue" // HookErrorModeFail means that an error from a hook is problematic and Velero should stop executing following hooks. // This backup/restore should be in `PartiallyFailed` status. HookErrorModeFail HookErrorMode = "Fail" )
type HookStatus ¶ added in v1.13.0
type HookStatus struct {
// HooksAttempted is the total number of attempted hooks
// Specifically, HooksAttempted represents the number of hooks that failed to execute
// and the number of hooks that executed successfully.
// +optional
HooksAttempted int `json:"hooksAttempted,omitempty"`
// HooksFailed is the total number of hooks which ended with an error
// +optional
HooksFailed int `json:"hooksFailed,omitempty"`
}
HookStatus stores information about the status of the hooks.
func (*HookStatus) DeepCopy ¶ added in v1.13.0
func (in *HookStatus) DeepCopy() *HookStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HookStatus.
func (*HookStatus) DeepCopyInto ¶ added in v1.13.0
func (in *HookStatus) DeepCopyInto(out *HookStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InitRestoreHook ¶ added in v1.5.0
type InitRestoreHook struct {
// +kubebuilder:pruning:PreserveUnknownFields
// InitContainers is list of init containers to be added to a pod during its restore.
// +optional
InitContainers []runtime.RawExtension `json:"initContainers"`
// Timeout defines the maximum amount of time Velero should wait for the initContainers to complete.
// +optional
Timeout metav1.Duration `json:"timeout,omitempty"`
}
InitRestoreHook is a hook that adds an init container to a PodSpec to run commands before the workload pod is able to start.
func (*InitRestoreHook) DeepCopy ¶ added in v1.5.0
func (in *InitRestoreHook) DeepCopy() *InitRestoreHook
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InitRestoreHook.
func (*InitRestoreHook) DeepCopyInto ¶ added in v1.5.0
func (in *InitRestoreHook) DeepCopyInto(out *InitRestoreHook)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Metadata ¶ added in v1.7.0
func (*Metadata) DeepCopy ¶ added in v1.7.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Metadata.
func (*Metadata) DeepCopyInto ¶ added in v1.7.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ObjectStorageLocation ¶
type ObjectStorageLocation struct {
// Bucket is the bucket to use for object storage.
Bucket string `json:"bucket"`
// Prefix is the path inside a bucket to use for Velero storage. Optional.
// +optional
Prefix string `json:"prefix,omitempty"`
// CACert defines a CA bundle to use when verifying TLS connections to the provider.
// +optional
CACert []byte `json:"caCert,omitempty"`
}
ObjectStorageLocation specifies the settings necessary to connect to a provider's object storage.
func (*ObjectStorageLocation) DeepCopy ¶
func (in *ObjectStorageLocation) DeepCopy() *ObjectStorageLocation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectStorageLocation.
func (*ObjectStorageLocation) DeepCopyInto ¶
func (in *ObjectStorageLocation) DeepCopyInto(out *ObjectStorageLocation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PluginInfo ¶ added in v1.0.1
PluginInfo contains attributes of a Velero plugin
func (*PluginInfo) DeepCopy ¶ added in v1.0.1
func (in *PluginInfo) DeepCopy() *PluginInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PluginInfo.
func (*PluginInfo) DeepCopyInto ¶ added in v1.0.1
func (in *PluginInfo) DeepCopyInto(out *PluginInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PodVolumeBackup ¶
type PodVolumeBackup struct {
metav1.TypeMeta `json:",inline"`
// +optional
metav1.ObjectMeta `json:"metadata,omitempty"`
// +optional
Spec PodVolumeBackupSpec `json:"spec,omitempty"`
// +optional
Status PodVolumeBackupStatus `json:"status,omitempty"`
}
func (*PodVolumeBackup) DeepCopy ¶
func (in *PodVolumeBackup) DeepCopy() *PodVolumeBackup
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodVolumeBackup.
func (*PodVolumeBackup) DeepCopyInto ¶
func (in *PodVolumeBackup) DeepCopyInto(out *PodVolumeBackup)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PodVolumeBackup) DeepCopyObject ¶
func (in *PodVolumeBackup) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PodVolumeBackupList ¶
type PodVolumeBackupList struct {
metav1.TypeMeta `json:",inline"`
// +optional
metav1.ListMeta `json:"metadata,omitempty"`
Items []PodVolumeBackup `json:"items"`
}
PodVolumeBackupList is a list of PodVolumeBackups.
func (*PodVolumeBackupList) DeepCopy ¶
func (in *PodVolumeBackupList) DeepCopy() *PodVolumeBackupList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodVolumeBackupList.
func (*PodVolumeBackupList) DeepCopyInto ¶
func (in *PodVolumeBackupList) DeepCopyInto(out *PodVolumeBackupList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PodVolumeBackupList) DeepCopyObject ¶
func (in *PodVolumeBackupList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PodVolumeBackupPhase ¶
type PodVolumeBackupPhase string
PodVolumeBackupPhase represents the lifecycle phase of a PodVolumeBackup. +kubebuilder:validation:Enum=New;Accepted;Prepared;InProgress;Canceling;Canceled;Completed;Failed
const ( PodVolumeBackupPhaseNew PodVolumeBackupPhase = "New" PodVolumeBackupPhaseAccepted PodVolumeBackupPhase = "Accepted" PodVolumeBackupPhasePrepared PodVolumeBackupPhase = "Prepared" PodVolumeBackupPhaseInProgress PodVolumeBackupPhase = "InProgress" PodVolumeBackupPhaseCanceling PodVolumeBackupPhase = "Canceling" PodVolumeBackupPhaseCanceled PodVolumeBackupPhase = "Canceled" PodVolumeBackupPhaseCompleted PodVolumeBackupPhase = "Completed" PodVolumeBackupPhaseFailed PodVolumeBackupPhase = "Failed" )
type PodVolumeBackupSpec ¶
type PodVolumeBackupSpec struct {
// Node is the name of the node that the Pod is running on.
Node string `json:"node"`
// Pod is a reference to the pod containing the volume to be backed up.
Pod corev1api.ObjectReference `json:"pod"`
// Volume is the name of the volume within the Pod to be backed
// up.
Volume string `json:"volume"`
// BackupStorageLocation is the name of the backup storage location
// where the backup repository is stored.
BackupStorageLocation string `json:"backupStorageLocation"`
// RepoIdentifier is the backup repository identifier.
RepoIdentifier string `json:"repoIdentifier"`
// UploaderType is the type of the uploader to handle the data transfer.
// +kubebuilder:validation:Enum=kopia;restic;""
// +optional
UploaderType string `json:"uploaderType"`
// Tags are a map of key-value pairs that should be applied to the
// volume backup as tags.
// +optional
Tags map[string]string `json:"tags,omitempty"`
// UploaderSettings are a map of key-value pairs that should be applied to the
// uploader configuration.
// +optional
// +nullable
UploaderSettings map[string]string `json:"uploaderSettings,omitempty"`
// Cancel indicates request to cancel the ongoing PodVolumeBackup. It can be set
// when the PodVolumeBackup is in InProgress phase
Cancel bool `json:"cancel,omitempty"`
}
PodVolumeBackupSpec is the specification for a PodVolumeBackup.
func (*PodVolumeBackupSpec) DeepCopy ¶
func (in *PodVolumeBackupSpec) DeepCopy() *PodVolumeBackupSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodVolumeBackupSpec.
func (*PodVolumeBackupSpec) DeepCopyInto ¶
func (in *PodVolumeBackupSpec) DeepCopyInto(out *PodVolumeBackupSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PodVolumeBackupStatus ¶
type PodVolumeBackupStatus struct {
// Phase is the current state of the PodVolumeBackup.
// +optional
Phase PodVolumeBackupPhase `json:"phase,omitempty"`
// Path is the full path within the controller pod being backed up.
// +optional
Path string `json:"path,omitempty"`
// SnapshotID is the identifier for the snapshot of the pod volume.
// +optional
SnapshotID string `json:"snapshotID,omitempty"`
// Message is a message about the pod volume backup's status.
// +optional
Message string `json:"message,omitempty"`
// StartTimestamp records the time a backup was started.
// Separate from CreationTimestamp, since that value changes
// on restores.
// The server's time is used for StartTimestamps
// +optional
// +nullable
StartTimestamp *metav1.Time `json:"startTimestamp,omitempty"`
// CompletionTimestamp records the time a backup was completed.
// Completion time is recorded even on failed backups.
// Completion time is recorded before uploading the backup object.
// The server's time is used for CompletionTimestamps
// +optional
// +nullable
CompletionTimestamp *metav1.Time `json:"completionTimestamp,omitempty"`
// Progress holds the total number of bytes of the volume and the current
// number of backed up bytes. This can be used to display progress information
// about the backup operation.
// +optional
Progress shared.DataMoveOperationProgress `json:"progress,omitempty"`
// AcceptedTimestamp records the time the pod volume backup is to be prepared.
// The server's time is used for AcceptedTimestamp
// +optional
// +nullable
AcceptedTimestamp *metav1.Time `json:"acceptedTimestamp,omitempty"`
}
PodVolumeBackupStatus is the current status of a PodVolumeBackup.
func (*PodVolumeBackupStatus) DeepCopy ¶
func (in *PodVolumeBackupStatus) DeepCopy() *PodVolumeBackupStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodVolumeBackupStatus.
func (*PodVolumeBackupStatus) DeepCopyInto ¶
func (in *PodVolumeBackupStatus) DeepCopyInto(out *PodVolumeBackupStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PodVolumeRestore ¶
type PodVolumeRestore struct {
metav1.TypeMeta `json:",inline"`
// +optional
metav1.ObjectMeta `json:"metadata,omitempty"`
// +optional
Spec PodVolumeRestoreSpec `json:"spec,omitempty"`
// +optional
Status PodVolumeRestoreStatus `json:"status,omitempty"`
}
func (*PodVolumeRestore) DeepCopy ¶
func (in *PodVolumeRestore) DeepCopy() *PodVolumeRestore
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodVolumeRestore.
func (*PodVolumeRestore) DeepCopyInto ¶
func (in *PodVolumeRestore) DeepCopyInto(out *PodVolumeRestore)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PodVolumeRestore) DeepCopyObject ¶
func (in *PodVolumeRestore) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PodVolumeRestoreList ¶
type PodVolumeRestoreList struct {
metav1.TypeMeta `json:",inline"`
// +optional
metav1.ListMeta `json:"metadata,omitempty"`
Items []PodVolumeRestore `json:"items"`
}
PodVolumeRestoreList is a list of PodVolumeRestores.
func (*PodVolumeRestoreList) DeepCopy ¶
func (in *PodVolumeRestoreList) DeepCopy() *PodVolumeRestoreList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodVolumeRestoreList.
func (*PodVolumeRestoreList) DeepCopyInto ¶
func (in *PodVolumeRestoreList) DeepCopyInto(out *PodVolumeRestoreList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PodVolumeRestoreList) DeepCopyObject ¶
func (in *PodVolumeRestoreList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PodVolumeRestorePhase ¶
type PodVolumeRestorePhase string
PodVolumeRestorePhase represents the lifecycle phase of a PodVolumeRestore. +kubebuilder:validation:Enum=New;Accepted;Prepared;InProgress;Canceling;Canceled;Completed;Failed
const ( PodVolumeRestorePhaseNew PodVolumeRestorePhase = "New" PodVolumeRestorePhaseAccepted PodVolumeRestorePhase = "Accepted" PodVolumeRestorePhasePrepared PodVolumeRestorePhase = "Prepared" PodVolumeRestorePhaseInProgress PodVolumeRestorePhase = "InProgress" PodVolumeRestorePhaseCanceling PodVolumeRestorePhase = "Canceling" PodVolumeRestorePhaseCanceled PodVolumeRestorePhase = "Canceled" PodVolumeRestorePhaseCompleted PodVolumeRestorePhase = "Completed" PodVolumeRestorePhaseFailed PodVolumeRestorePhase = "Failed" )
type PodVolumeRestoreSpec ¶
type PodVolumeRestoreSpec struct {
// Pod is a reference to the pod containing the volume to be restored.
Pod corev1api.ObjectReference `json:"pod"`
// Volume is the name of the volume within the Pod to be restored.
Volume string `json:"volume"`
// BackupStorageLocation is the name of the backup storage location
// where the backup repository is stored.
BackupStorageLocation string `json:"backupStorageLocation"`
// RepoIdentifier is the backup repository identifier.
RepoIdentifier string `json:"repoIdentifier"`
// UploaderType is the type of the uploader to handle the data transfer.
// +kubebuilder:validation:Enum=kopia;restic;""
// +optional
UploaderType string `json:"uploaderType"`
// SnapshotID is the ID of the volume snapshot to be restored.
SnapshotID string `json:"snapshotID"`
// SourceNamespace is the original namespace for namaspace mapping.
SourceNamespace string `json:"sourceNamespace"`
// UploaderSettings are a map of key-value pairs that should be applied to the
// uploader configuration.
// +optional
// +nullable
UploaderSettings map[string]string `json:"uploaderSettings,omitempty"`
// Cancel indicates request to cancel the ongoing PodVolumeRestore. It can be set
// when the PodVolumeRestore is in InProgress phase
Cancel bool `json:"cancel,omitempty"`
}
PodVolumeRestoreSpec is the specification for a PodVolumeRestore.
func (*PodVolumeRestoreSpec) DeepCopy ¶
func (in *PodVolumeRestoreSpec) DeepCopy() *PodVolumeRestoreSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodVolumeRestoreSpec.
func (*PodVolumeRestoreSpec) DeepCopyInto ¶
func (in *PodVolumeRestoreSpec) DeepCopyInto(out *PodVolumeRestoreSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PodVolumeRestoreStatus ¶
type PodVolumeRestoreStatus struct {
// Phase is the current state of the PodVolumeRestore.
// +optional
Phase PodVolumeRestorePhase `json:"phase,omitempty"`
// Message is a message about the pod volume restore's status.
// +optional
Message string `json:"message,omitempty"`
// StartTimestamp records the time a restore was started.
// The server's time is used for StartTimestamps
// +optional
// +nullable
StartTimestamp *metav1.Time `json:"startTimestamp,omitempty"`
// CompletionTimestamp records the time a restore was completed.
// Completion time is recorded even on failed restores.
// The server's time is used for CompletionTimestamps
// +optional
// +nullable
CompletionTimestamp *metav1.Time `json:"completionTimestamp,omitempty"`
// Progress holds the total number of bytes of the snapshot and the current
// number of restored bytes. This can be used to display progress information
// about the restore operation.
// +optional
Progress shared.DataMoveOperationProgress `json:"progress,omitempty"`
// AcceptedTimestamp records the time the pod volume restore is to be prepared.
// The server's time is used for AcceptedTimestamp
// +optional
// +nullable
AcceptedTimestamp *metav1.Time `json:"acceptedTimestamp,omitempty"`
// Node is name of the node where the pod volume restore is processed.
// +optional
Node string `json:"node,omitempty"`
}
PodVolumeRestoreStatus is the current status of a PodVolumeRestore.
func (*PodVolumeRestoreStatus) DeepCopy ¶
func (in *PodVolumeRestoreStatus) DeepCopy() *PodVolumeRestoreStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodVolumeRestoreStatus.
func (*PodVolumeRestoreStatus) DeepCopyInto ¶
func (in *PodVolumeRestoreStatus) DeepCopyInto(out *PodVolumeRestoreStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PolicyType ¶ added in v1.9.0
type PolicyType string
PolicyType helps specify the ExistingResourcePolicy
type Restore ¶
type Restore struct {
metav1.TypeMeta `json:",inline"`
// +optional
metav1.ObjectMeta `json:"metadata,omitempty"`
// +optional
Spec RestoreSpec `json:"spec,omitempty"`
// +optional
Status RestoreStatus `json:"status,omitempty"`
}
Restore is a Velero resource that represents the application of resources from a Velero backup to a target Kubernetes cluster.
func (*Restore) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Restore.
func (*Restore) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Restore) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RestoreHooks ¶ added in v1.5.0
type RestoreHooks struct {
Resources []RestoreResourceHookSpec `json:"resources,omitempty"`
}
RestoreHooks contains custom behaviors that should be executed during or post restore.
func (*RestoreHooks) DeepCopy ¶ added in v1.5.0
func (in *RestoreHooks) DeepCopy() *RestoreHooks
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RestoreHooks.
func (*RestoreHooks) DeepCopyInto ¶ added in v1.5.0
func (in *RestoreHooks) DeepCopyInto(out *RestoreHooks)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RestoreList ¶
type RestoreList struct {
metav1.TypeMeta `json:",inline"`
// +optional
metav1.ListMeta `json:"metadata"`
Items []Restore `json:"items"`
}
RestoreList is a list of Restores.
func (*RestoreList) DeepCopy ¶
func (in *RestoreList) DeepCopy() *RestoreList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RestoreList.
func (*RestoreList) DeepCopyInto ¶
func (in *RestoreList) DeepCopyInto(out *RestoreList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RestoreList) DeepCopyObject ¶
func (in *RestoreList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RestorePhase ¶
type RestorePhase string
RestorePhase is a string representation of the lifecycle phase of a Velero restore +kubebuilder:validation:Enum=New;FailedValidation;InProgress;WaitingForPluginOperations;WaitingForPluginOperationsPartiallyFailed;Completed;PartiallyFailed;Failed;Finalizing;FinalizingPartiallyFailed
type RestoreProgress ¶ added in v1.6.0
type RestoreProgress struct {
// TotalItems is the total number of items to be restored. This number may change
// throughout the execution of the restore due to plugins that return additional related
// items to restore
// +optional
TotalItems int `json:"totalItems,omitempty"`
// ItemsRestored is the number of items that have actually been restored so far
// +optional
ItemsRestored int `json:"itemsRestored,omitempty"`
}
RestoreProgress stores information about the restore's execution progress
func (*RestoreProgress) DeepCopy ¶ added in v1.6.0
func (in *RestoreProgress) DeepCopy() *RestoreProgress
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RestoreProgress.
func (*RestoreProgress) DeepCopyInto ¶ added in v1.6.0
func (in *RestoreProgress) DeepCopyInto(out *RestoreProgress)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RestoreResourceHook ¶ added in v1.5.0
type RestoreResourceHook struct {
// Exec defines an exec restore hook.
Exec *ExecRestoreHook `json:"exec,omitempty"`
// Init defines an init restore hook.
Init *InitRestoreHook `json:"init,omitempty"`
}
RestoreResourceHook defines a restore hook for a resource.
func (*RestoreResourceHook) DeepCopy ¶ added in v1.5.0
func (in *RestoreResourceHook) DeepCopy() *RestoreResourceHook
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RestoreResourceHook.
func (*RestoreResourceHook) DeepCopyInto ¶ added in v1.5.0
func (in *RestoreResourceHook) DeepCopyInto(out *RestoreResourceHook)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RestoreResourceHookSpec ¶ added in v1.5.0
type RestoreResourceHookSpec struct {
// Name is the name of this hook.
Name string `json:"name"`
// IncludedNamespaces specifies the namespaces to which this hook spec applies. If empty, it applies
// to all namespaces.
// +optional
// +nullable
IncludedNamespaces []string `json:"includedNamespaces,omitempty"`
// ExcludedNamespaces specifies the namespaces to which this hook spec does not apply.
// +optional
// +nullable
ExcludedNamespaces []string `json:"excludedNamespaces,omitempty"`
// IncludedResources specifies the resources to which this hook spec applies. If empty, it applies
// to all resources.
// +optional
// +nullable
IncludedResources []string `json:"includedResources,omitempty"`
// ExcludedResources specifies the resources to which this hook spec does not apply.
// +optional
// +nullable
ExcludedResources []string `json:"excludedResources,omitempty"`
// LabelSelector, if specified, filters the resources to which this hook spec applies.
// +optional
// +nullable
LabelSelector *metav1.LabelSelector `json:"labelSelector,omitempty"`
// PostHooks is a list of RestoreResourceHooks to execute during and after restoring a resource.
// +optional
PostHooks []RestoreResourceHook `json:"postHooks,omitempty"`
}
RestoreResourceHookSpec defines one or more RestoreResrouceHooks that should be executed based on the rules defined for namespaces, resources, and label selector.
func (*RestoreResourceHookSpec) DeepCopy ¶ added in v1.5.0
func (in *RestoreResourceHookSpec) DeepCopy() *RestoreResourceHookSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RestoreResourceHookSpec.
func (*RestoreResourceHookSpec) DeepCopyInto ¶ added in v1.5.0
func (in *RestoreResourceHookSpec) DeepCopyInto(out *RestoreResourceHookSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RestoreSpec ¶
type RestoreSpec struct {
// BackupName is the unique name of the Velero backup to restore
// from.
// +optional
BackupName string `json:"backupName,omitempty"`
// ScheduleName is the unique name of the Velero schedule to restore
// from. If specified, and BackupName is empty, Velero will restore
// from the most recent successful backup created from this schedule.
// +optional
ScheduleName string `json:"scheduleName,omitempty"`
// IncludedNamespaces is a slice of namespace names to include objects
// from. If empty, all namespaces are included.
// +optional
// +nullable
IncludedNamespaces []string `json:"includedNamespaces,omitempty"`
// ExcludedNamespaces contains a list of namespaces that are not
// included in the restore.
// +optional
// +nullable
ExcludedNamespaces []string `json:"excludedNamespaces,omitempty"`
// IncludedResources is a slice of resource names to include
// in the restore. If empty, all resources in the backup are included.
// +optional
// +nullable
IncludedResources []string `json:"includedResources,omitempty"`
// ExcludedResources is a slice of resource names that are not
// included in the restore.
// +optional
// +nullable
ExcludedResources []string `json:"excludedResources,omitempty"`
// NamespaceMapping is a map of source namespace names
// to target namespace names to restore into. Any source
// namespaces not included in the map will be restored into
// namespaces of the same name.
// +optional
NamespaceMapping map[string]string `json:"namespaceMapping,omitempty"`
// LabelSelector is a metav1.LabelSelector to filter with
// when restoring individual objects from the backup. If empty
// or nil, all objects are included. Optional.
// +optional
// +nullable
LabelSelector *metav1.LabelSelector `json:"labelSelector,omitempty"`
// OrLabelSelectors is list of metav1.LabelSelector to filter with
// when restoring individual objects from the backup. If multiple provided
// they will be joined by the OR operator. LabelSelector as well as
// OrLabelSelectors cannot co-exist in restore request, only one of them
// can be used
// +optional
// +nullable
OrLabelSelectors []*metav1.LabelSelector `json:"orLabelSelectors,omitempty"`
// RestorePVs specifies whether to restore all included
// PVs from snapshot
// +optional
// +nullable
RestorePVs *bool `json:"restorePVs,omitempty"`
// RestoreStatus specifies which resources we should restore the status
// field. If nil, no objects are included. Optional.
// +optional
// +nullable
RestoreStatus *RestoreStatusSpec `json:"restoreStatus,omitempty"`
// PreserveNodePorts specifies whether to restore old nodePorts from backup.
// +optional
// +nullable
PreserveNodePorts *bool `json:"preserveNodePorts,omitempty"`
// IncludeClusterResources specifies whether cluster-scoped resources
// should be included for consideration in the restore. If null, defaults
// to true.
// +optional
// +nullable
IncludeClusterResources *bool `json:"includeClusterResources,omitempty"`
// Hooks represent custom behaviors that should be executed during or post restore.
// +optional
Hooks RestoreHooks `json:"hooks,omitempty"`
// ExistingResourcePolicy specifies the restore behavior for the Kubernetes resource to be restored
// +optional
// +nullable
ExistingResourcePolicy PolicyType `json:"existingResourcePolicy,omitempty"`
// ItemOperationTimeout specifies the time used to wait for RestoreItemAction operations
// The default value is 4 hour.
// +optional
ItemOperationTimeout metav1.Duration `json:"itemOperationTimeout,omitempty"`
// ResourceModifier specifies the reference to JSON resource patches that should be applied to resources before restoration.
// +optional
// +nullable
ResourceModifier *corev1api.TypedLocalObjectReference `json:"resourceModifier,omitempty"`
// UploaderConfig specifies the configuration for the restore.
// +optional
// +nullable
UploaderConfig *UploaderConfigForRestore `json:"uploaderConfig,omitempty"`
}
RestoreSpec defines the specification for a Velero restore.
func (*RestoreSpec) DeepCopy ¶
func (in *RestoreSpec) DeepCopy() *RestoreSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RestoreSpec.
func (*RestoreSpec) DeepCopyInto ¶
func (in *RestoreSpec) DeepCopyInto(out *RestoreSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RestoreStatus ¶
type RestoreStatus struct {
// Phase is the current state of the Restore
// +optional
Phase RestorePhase `json:"phase,omitempty"`
// ValidationErrors is a slice of all validation errors (if
// applicable)
// +optional
// +nullable
ValidationErrors []string `json:"validationErrors,omitempty"`
// Warnings is a count of all warning messages that were generated during
// execution of the restore. The actual warnings are stored in object storage.
// +optional
Warnings int `json:"warnings,omitempty"`
// Errors is a count of all error messages that were generated during
// execution of the restore. The actual errors are stored in object storage.
// +optional
Errors int `json:"errors,omitempty"`
// FailureReason is an error that caused the entire restore to fail.
// +optional
FailureReason string `json:"failureReason,omitempty"`
// StartTimestamp records the time the restore operation was started.
// The server's time is used for StartTimestamps
// +optional
// +nullable
StartTimestamp *metav1.Time `json:"startTimestamp,omitempty"`
// CompletionTimestamp records the time the restore operation was completed.
// Completion time is recorded even on failed restore.
// The server's time is used for StartTimestamps
// +optional
// +nullable
CompletionTimestamp *metav1.Time `json:"completionTimestamp,omitempty"`
// Progress contains information about the restore's execution progress. Note
// that this information is best-effort only -- if Velero fails to update it
// during a restore for any reason, it may be inaccurate/stale.
// +optional
// +nullable
Progress *RestoreProgress `json:"progress,omitempty"`
// RestoreItemOperationsAttempted is the total number of attempted
// async RestoreItemAction operations for this restore.
// +optional
RestoreItemOperationsAttempted int `json:"restoreItemOperationsAttempted,omitempty"`
// RestoreItemOperationsCompleted is the total number of successfully completed
// async RestoreItemAction operations for this restore.
// +optional
RestoreItemOperationsCompleted int `json:"restoreItemOperationsCompleted,omitempty"`
// RestoreItemOperationsFailed is the total number of async
// RestoreItemAction operations for this restore which ended with an error.
// +optional
RestoreItemOperationsFailed int `json:"restoreItemOperationsFailed,omitempty"`
// HookStatus contains information about the status of the hooks.
// +optional
// +nullable
HookStatus *HookStatus `json:"hookStatus,omitempty"`
}
RestoreStatus captures the current status of a Velero restore
func (*RestoreStatus) DeepCopy ¶
func (in *RestoreStatus) DeepCopy() *RestoreStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RestoreStatus.
func (*RestoreStatus) DeepCopyInto ¶
func (in *RestoreStatus) DeepCopyInto(out *RestoreStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RestoreStatusSpec ¶ added in v1.9.0
type RestoreStatusSpec struct {
// IncludedResources specifies the resources to which will restore the status.
// If empty, it applies to all resources.
// +optional
// +nullable
IncludedResources []string `json:"includedResources,omitempty"`
// ExcludedResources specifies the resources to which will not restore the status.
// +optional
// +nullable
ExcludedResources []string `json:"excludedResources,omitempty"`
}
func (*RestoreStatusSpec) DeepCopy ¶ added in v1.9.0
func (in *RestoreStatusSpec) DeepCopy() *RestoreStatusSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RestoreStatusSpec.
func (*RestoreStatusSpec) DeepCopyInto ¶ added in v1.9.0
func (in *RestoreStatusSpec) DeepCopyInto(out *RestoreStatusSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Schedule ¶
type Schedule struct {
metav1.TypeMeta `json:",inline"`
// +optional
metav1.ObjectMeta `json:"metadata"`
// +optional
Spec ScheduleSpec `json:"spec,omitempty"`
// +optional
Status ScheduleStatus `json:"status,omitempty"`
}
Schedule is a Velero resource that represents a pre-scheduled or periodic Backup that should be run.
func (*Schedule) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Schedule.
func (*Schedule) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Schedule) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ScheduleList ¶
type ScheduleList struct {
metav1.TypeMeta `json:",inline"`
// +optional
metav1.ListMeta `json:"metadata,omitempty"`
Items []Schedule `json:"items"`
}
ScheduleList is a list of Schedules.
func (*ScheduleList) DeepCopy ¶
func (in *ScheduleList) DeepCopy() *ScheduleList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScheduleList.
func (*ScheduleList) DeepCopyInto ¶
func (in *ScheduleList) DeepCopyInto(out *ScheduleList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ScheduleList) DeepCopyObject ¶
func (in *ScheduleList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SchedulePhase ¶
type SchedulePhase string
SchedulePhase is a string representation of the lifecycle phase of a Velero schedule +kubebuilder:validation:Enum=New;Enabled;FailedValidation
const ( // SchedulePhaseNew means the schedule has been created but not // yet processed by the ScheduleController SchedulePhaseNew SchedulePhase = "New" // SchedulePhaseEnabled means the schedule has been validated and // will now be triggering backups according to the schedule spec. SchedulePhaseEnabled SchedulePhase = "Enabled" // SchedulePhaseFailedValidation means the schedule has failed // the controller's validations and therefore will not trigger backups. SchedulePhaseFailedValidation SchedulePhase = "FailedValidation" )
type ScheduleSpec ¶
type ScheduleSpec struct {
// Template is the definition of the Backup to be run
// on the provided schedule
Template BackupSpec `json:"template"`
// Schedule is a Cron expression defining when to run
// the Backup.
Schedule string `json:"schedule"`
// UseOwnerReferencesBackup specifies whether to use
// OwnerReferences on backups created by this Schedule.
// +optional
// +nullable
UseOwnerReferencesInBackup *bool `json:"useOwnerReferencesInBackup,omitempty"`
// Paused specifies whether the schedule is paused or not
// +optional
Paused bool `json:"paused,omitempty"`
// SkipImmediately specifies whether to skip backup if schedule is due immediately from `schedule.status.lastBackup` timestamp when schedule is unpaused or if schedule is new.
// If true, backup will be skipped immediately when schedule is unpaused if it is due based on .Status.LastBackupTimestamp or schedule is new, and will run at next schedule time.
// If false, backup will not be skipped immediately when schedule is unpaused, but will run at next schedule time.
// If empty, will follow server configuration (default: false).
// +optional
SkipImmediately *bool `json:"skipImmediately,omitempty"`
}
ScheduleSpec defines the specification for a Velero schedule
func (*ScheduleSpec) DeepCopy ¶
func (in *ScheduleSpec) DeepCopy() *ScheduleSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScheduleSpec.
func (*ScheduleSpec) DeepCopyInto ¶
func (in *ScheduleSpec) DeepCopyInto(out *ScheduleSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ScheduleStatus ¶
type ScheduleStatus struct {
// Phase is the current phase of the Schedule
// +optional
Phase SchedulePhase `json:"phase,omitempty"`
// LastBackup is the last time a Backup was run for this
// Schedule schedule
// +optional
// +nullable
LastBackup *metav1.Time `json:"lastBackup,omitempty"`
// LastSkipped is the last time a Schedule was skipped
// +optional
// +nullable
LastSkipped *metav1.Time `json:"lastSkipped,omitempty"`
// ValidationErrors is a slice of all validation errors (if
// applicable)
// +optional
ValidationErrors []string `json:"validationErrors,omitempty"`
}
ScheduleStatus captures the current state of a Velero schedule
func (*ScheduleStatus) DeepCopy ¶
func (in *ScheduleStatus) DeepCopy() *ScheduleStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScheduleStatus.
func (*ScheduleStatus) DeepCopyInto ¶
func (in *ScheduleStatus) DeepCopyInto(out *ScheduleStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServerStatusRequest ¶
type ServerStatusRequest struct {
metav1.TypeMeta `json:",inline"`
// +optional
metav1.ObjectMeta `json:"metadata,omitempty"`
// +optional
Spec ServerStatusRequestSpec `json:"spec,omitempty"`
// +optional
Status ServerStatusRequestStatus `json:"status,omitempty"`
}
ServerStatusRequest is a request to access current status information about the Velero server.
func (*ServerStatusRequest) DeepCopy ¶
func (in *ServerStatusRequest) DeepCopy() *ServerStatusRequest
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerStatusRequest.
func (*ServerStatusRequest) DeepCopyInto ¶
func (in *ServerStatusRequest) DeepCopyInto(out *ServerStatusRequest)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ServerStatusRequest) DeepCopyObject ¶
func (in *ServerStatusRequest) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ServerStatusRequestList ¶
type ServerStatusRequestList struct {
metav1.TypeMeta `json:",inline"`
// +optional
metav1.ListMeta `json:"metadata,omitempty"`
Items []ServerStatusRequest `json:"items"`
}
ServerStatusRequestList is a list of ServerStatusRequests.
func (*ServerStatusRequestList) DeepCopy ¶
func (in *ServerStatusRequestList) DeepCopy() *ServerStatusRequestList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerStatusRequestList.
func (*ServerStatusRequestList) DeepCopyInto ¶
func (in *ServerStatusRequestList) DeepCopyInto(out *ServerStatusRequestList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ServerStatusRequestList) DeepCopyObject ¶
func (in *ServerStatusRequestList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ServerStatusRequestPhase ¶
type ServerStatusRequestPhase string
ServerStatusRequestPhase represents the lifecycle phase of a ServerStatusRequest. +kubebuilder:validation:Enum=New;Processed
const ( // ServerStatusRequestPhaseNew means the ServerStatusRequest has not been processed yet. ServerStatusRequestPhaseNew ServerStatusRequestPhase = "New" // ServerStatusRequestPhaseProcessed means the ServerStatusRequest has been processed. ServerStatusRequestPhaseProcessed ServerStatusRequestPhase = "Processed" )
type ServerStatusRequestSpec ¶
type ServerStatusRequestSpec struct {
}
ServerStatusRequestSpec is the specification for a ServerStatusRequest.
func (*ServerStatusRequestSpec) DeepCopy ¶
func (in *ServerStatusRequestSpec) DeepCopy() *ServerStatusRequestSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerStatusRequestSpec.
func (*ServerStatusRequestSpec) DeepCopyInto ¶
func (in *ServerStatusRequestSpec) DeepCopyInto(out *ServerStatusRequestSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServerStatusRequestStatus ¶
type ServerStatusRequestStatus struct {
// Phase is the current lifecycle phase of the ServerStatusRequest.
// +optional
Phase ServerStatusRequestPhase `json:"phase,omitempty"`
// ProcessedTimestamp is when the ServerStatusRequest was processed
// by the ServerStatusRequestController.
// +optional
// +nullable
ProcessedTimestamp *metav1.Time `json:"processedTimestamp,omitempty"`
// ServerVersion is the Velero server version.
// +optional
ServerVersion string `json:"serverVersion,omitempty"`
// Plugins list information about the plugins running on the Velero server
// +optional
// +nullable
Plugins []PluginInfo `json:"plugins,omitempty"`
}
ServerStatusRequestStatus is the current status of a ServerStatusRequest.
func (*ServerStatusRequestStatus) DeepCopy ¶
func (in *ServerStatusRequestStatus) DeepCopy() *ServerStatusRequestStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerStatusRequestStatus.
func (*ServerStatusRequestStatus) DeepCopyInto ¶
func (in *ServerStatusRequestStatus) DeepCopyInto(out *ServerStatusRequestStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StorageType ¶
type StorageType struct {
ObjectStorage *ObjectStorageLocation `json:"objectStorage"`
}
StorageType represents the type of storage that a backup location uses. ObjectStorage must be non-nil, since it is currently the only supported StorageType.
func (*StorageType) DeepCopy ¶
func (in *StorageType) DeepCopy() *StorageType
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StorageType.
func (*StorageType) DeepCopyInto ¶
func (in *StorageType) DeepCopyInto(out *StorageType)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UploaderConfigForBackup ¶ added in v1.13.0
type UploaderConfigForBackup struct {
// ParallelFilesUpload is the number of files parallel uploads to perform when using the uploader.
// +optional
ParallelFilesUpload int `json:"parallelFilesUpload,omitempty"`
}
UploaderConfigForBackup defines the configuration for the uploader when doing backup.
func (*UploaderConfigForBackup) DeepCopy ¶ added in v1.13.0
func (in *UploaderConfigForBackup) DeepCopy() *UploaderConfigForBackup
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UploaderConfigForBackup.
func (*UploaderConfigForBackup) DeepCopyInto ¶ added in v1.13.0
func (in *UploaderConfigForBackup) DeepCopyInto(out *UploaderConfigForBackup)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UploaderConfigForRestore ¶ added in v1.13.0
type UploaderConfigForRestore struct {
// WriteSparseFiles is a flag to indicate whether write files sparsely or not.
// +optional
// +nullable
WriteSparseFiles *bool `json:"writeSparseFiles,omitempty"`
// ParallelFilesDownload is the concurrency number setting for restore.
// +optional
ParallelFilesDownload int `json:"parallelFilesDownload,omitempty"`
}
UploaderConfigForRestore defines the configuration for the restore.
func (*UploaderConfigForRestore) DeepCopy ¶ added in v1.13.0
func (in *UploaderConfigForRestore) DeepCopy() *UploaderConfigForRestore
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UploaderConfigForRestore.
func (*UploaderConfigForRestore) DeepCopyInto ¶ added in v1.13.0
func (in *UploaderConfigForRestore) DeepCopyInto(out *UploaderConfigForRestore)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VeleroResourceUsage ¶ added in v1.12.0
type VeleroResourceUsage string
const (
VeleroResourceUsageDataUploadResult VeleroResourceUsage = "DataUpload"
)
type VolumeSnapshotLocation ¶
type VolumeSnapshotLocation struct {
metav1.TypeMeta `json:",inline"`
// +optional
metav1.ObjectMeta `json:"metadata,omitempty"`
// +optional
Spec VolumeSnapshotLocationSpec `json:"spec,omitempty"`
// +optional
Status VolumeSnapshotLocationStatus `json:"status,omitempty"`
}
VolumeSnapshotLocation is a location where Velero stores volume snapshots.
func (*VolumeSnapshotLocation) DeepCopy ¶
func (in *VolumeSnapshotLocation) DeepCopy() *VolumeSnapshotLocation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumeSnapshotLocation.
func (*VolumeSnapshotLocation) DeepCopyInto ¶
func (in *VolumeSnapshotLocation) DeepCopyInto(out *VolumeSnapshotLocation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VolumeSnapshotLocation) DeepCopyObject ¶
func (in *VolumeSnapshotLocation) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type VolumeSnapshotLocationList ¶
type VolumeSnapshotLocationList struct {
metav1.TypeMeta `json:",inline"`
// +optional
metav1.ListMeta `json:"metadata,omitempty"`
Items []VolumeSnapshotLocation `json:"items"`
}
VolumeSnapshotLocationList is a list of VolumeSnapshotLocations.
func (*VolumeSnapshotLocationList) DeepCopy ¶
func (in *VolumeSnapshotLocationList) DeepCopy() *VolumeSnapshotLocationList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumeSnapshotLocationList.
func (*VolumeSnapshotLocationList) DeepCopyInto ¶
func (in *VolumeSnapshotLocationList) DeepCopyInto(out *VolumeSnapshotLocationList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VolumeSnapshotLocationList) DeepCopyObject ¶
func (in *VolumeSnapshotLocationList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type VolumeSnapshotLocationPhase ¶
type VolumeSnapshotLocationPhase string
VolumeSnapshotLocationPhase is the lifecycle phase of a Velero VolumeSnapshotLocation. +kubebuilder:validation:Enum=Available;Unavailable
const ( // VolumeSnapshotLocationPhaseAvailable means the location is available to read and write from. VolumeSnapshotLocationPhaseAvailable VolumeSnapshotLocationPhase = "Available" VolumeSnapshotLocationPhaseUnavailable VolumeSnapshotLocationPhase = "Unavailable" )
type VolumeSnapshotLocationSpec ¶
type VolumeSnapshotLocationSpec struct {
// Provider is the provider of the volume storage.
Provider string `json:"provider"`
// Config is for provider-specific configuration fields.
// +optional
Config map[string]string `json:"config,omitempty"`
// Credential contains the credential information intended to be used with this location
// +optional
Credential *corev1api.SecretKeySelector `json:"credential,omitempty"`
}
VolumeSnapshotLocationSpec defines the specification for a Velero VolumeSnapshotLocation.
func (*VolumeSnapshotLocationSpec) DeepCopy ¶
func (in *VolumeSnapshotLocationSpec) DeepCopy() *VolumeSnapshotLocationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumeSnapshotLocationSpec.
func (*VolumeSnapshotLocationSpec) DeepCopyInto ¶
func (in *VolumeSnapshotLocationSpec) DeepCopyInto(out *VolumeSnapshotLocationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VolumeSnapshotLocationStatus ¶
type VolumeSnapshotLocationStatus struct {
// +optional
Phase VolumeSnapshotLocationPhase `json:"phase,omitempty"`
}
VolumeSnapshotLocationStatus describes the current status of a Velero VolumeSnapshotLocation.
func (*VolumeSnapshotLocationStatus) DeepCopy ¶
func (in *VolumeSnapshotLocationStatus) DeepCopy() *VolumeSnapshotLocationStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumeSnapshotLocationStatus.
func (*VolumeSnapshotLocationStatus) DeepCopyInto ¶
func (in *VolumeSnapshotLocationStatus) DeepCopyInto(out *VolumeSnapshotLocationStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
Source Files
¶
- backup_repository_types.go
- backup_types.go
- backupstoragelocation_types.go
- constants.go
- delete_backup_request_types.go
- doc.go
- download_request_types.go
- groupversion_info.go
- labels_annotations.go
- pod_volume_backup_types.go
- pod_volume_restore_type.go
- register.go
- restore_types.go
- schedule_types.go
- server_status_request_types.go
- volume_snapshot_location_type.go
- zz_generated.deepcopy.go