v1beta1

package
v1.2.0 Latest Latest
Warning

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

Go to latest
Published: Feb 14, 2024 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Overview

/* Copyright 2022 The SODA Authors.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. */

Index

Constants

View Source
const (
	// BackupStageInitial indicates that current backup object is New
	BackupStageInitial BackupStage = "Initial"

	// BackupStagePreHook indicates that current backup object is pre hook
	BackupStagePreHook BackupStage = "PreHook"

	// BackupStageResources indicates that metadata are getting backup
	BackupStageResources BackupStage = "Resources"

	// BackupStageVolumes indicates that volume are getting backup
	BackupStageVolumes BackupStage = "Volumes"

	// BackupStagePostHook indicates that current backup object is post hook
	BackupStagePostHook BackupStage = "PostHook"

	// BackupStageFinished indicates that backup is successfully completed
	BackupStageFinished BackupStage = "Finished"

	// BackupStateNew indicates that backup object in initial state
	BackupStateNew BackupState = "New"

	// BackupStateValidating indicates that backup object is under validation
	BackupStateValidating BackupState = "Validating"

	// BackupStateFailed indicates that backup object has validation issues
	BackupStateFailed BackupState = "Failed"

	// BackupStateProcessing indicates that backup state is in progress
	BackupStateProcessing BackupState = "Processing"

	// BackupStateCompleted indicates that completed backup
	BackupStateCompleted BackupState = "Completed"

	// BackupStateDeleting indicates that backup and all its associated data are being deleted
	BackupStateDeleting BackupState = "Deleting"
)
View Source
const (
	RestoreStageInitial   RestoreStage = "Initial"
	RestoreStagePreHook   RestoreStage = "PreHook"
	RestoreStageResources RestoreStage = "Resources"
	RestoreStageVolumes   RestoreStage = "Volumes"
	RestoreStagePostHook  RestoreStage = "PostHook"
	RestoreStageFinished  RestoreStage = "Finished"

	RestoreStateNew        RestoreState = "New"
	RestoreStateValidating RestoreState = "Validating"
	RestoreStateFailed     RestoreState = "Failed"
	RestoreStateProcessing RestoreState = "Processing"
	RestoreStateCompleted  RestoreState = "Completed"
	RestoreStateDeleting   RestoreState = "Deleting"
)

Variables

View Source
var (
	SchemeBuilder runtime.SchemeBuilder
	AddToScheme   = SchemeBuilder.AddToScheme
)
View Source
var SchemeGroupVersion = schema.GroupVersion{
	Group:   "kahu.io",
	Version: "v1beta1",
}

Functions

func Resource

func Resource(resource string) schema.GroupResource

Types

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

+genclient +genclient:nonNamespaced +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:subresource:status +kubebuilder:resource:scope=Cluster +kubebuilder:printcolumn:name="Stage",type=string,JSONPath=`.status.stage` +kubebuilder:printcolumn:name="State",type=string,JSONPath=`.status.state` +kubebuilder:printcolumn:name="MetadataLocation",type=string,JSONPath=`.spec.metadataLocation` +kubebuilder:printcolumn:name="VolumeBackupLocations",type=string,JSONPath=`.spec.volumeBackupLocations` +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp`

func (*Backup) DeepCopy

func (in *Backup) DeepCopy() *Backup

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

func (*Backup) DeepCopyInto

func (in *Backup) DeepCopyInto(out *Backup)

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

func (*Backup) DeepCopyObject

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

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

type BackupList

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

	// +optional
	metav1.ListMeta `json:"metadata,omitempty"`

	// +optional
	Items []Backup `json:"items"`
}

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 BackupLocation

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

	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// +optional
	Spec BackupLocationSpec `json:"spec,omitempty"`
}

BackupLocation is the Schema for the backuplocations API

func (*BackupLocation) DeepCopy

func (in *BackupLocation) DeepCopy() *BackupLocation

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

func (*BackupLocation) DeepCopyInto

func (in *BackupLocation) DeepCopyInto(out *BackupLocation)

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

func (*BackupLocation) DeepCopyObject added in v0.1.1

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

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

type BackupLocationList

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

	// +optional
	metav1.ListMeta `json:"metadata,omitempty"`

	// +optional
	Items []BackupLocation `json:"items"`
}

+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object BackupLocationList contains a list of BackupLocation

func (*BackupLocationList) DeepCopy

func (in *BackupLocationList) DeepCopy() *BackupLocationList

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

func (*BackupLocationList) DeepCopyInto

func (in *BackupLocationList) DeepCopyInto(out *BackupLocationList)

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

func (*BackupLocationList) DeepCopyObject added in v0.1.1

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

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

type BackupLocationSpec

type BackupLocationSpec struct {
	// ProviderName is a 3rd party driver which inernally connect to respective storage
	// +kubebuilder:validation:Required
	// +required
	ProviderName string `json:"providerName"`

	// Config is a dictonary which may contains specific details, like secret key, password etc
	// +optional
	Config map[string]string `json:"config,omitempty"`
}

BackupLocationSpec defines the desired state of BackupLocation

func (*BackupLocationSpec) DeepCopy

func (in *BackupLocationSpec) DeepCopy() *BackupLocationSpec

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

func (*BackupLocationSpec) DeepCopyInto

func (in *BackupLocationSpec) DeepCopyInto(out *BackupLocationSpec)

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

type BackupResource added in v0.1.1

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

	// ResourceName is a one of the item of backup that is backing up
	// +optional
	ResourceName string `json:"resourceName,omitempty"`

	// Namespace of the backup resource
	// +optional
	Namespace string `json:"namespace,omitempty"`

	// Status is a state of the resource
	// +optional
	Status ResourceStatus `json:"status,omitempty"`
}

BackupResource indicates the current state of a resource that is backing up

func (*BackupResource) DeepCopy added in v0.1.1

func (in *BackupResource) DeepCopy() *BackupResource

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

func (*BackupResource) DeepCopyInto added in v0.1.1

func (in *BackupResource) DeepCopyInto(out *BackupResource)

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

type BackupSpec

type BackupSpec struct {
	// MetadataLocation is location where backup is going to be stored
	// +required
	MetadataLocation string `json:"metadataLocation"`

	// ReclaimPolicy tells about reclamation of the backup. It can be either delete or retain
	// +optional
	ReclaimPolicy ReclaimPolicyType `json:"reclaimPolicy,omitempty"`

	// Hook is pre or post operations which should be executed during backup
	// +optional
	Hook HookSpec `json:"hook,omitempty"`

	// VolumeBackupLocations is a list of all volume providers included for backup.
	// If empty, all providers are included
	// +optional
	VolumeBackupLocations []string `json:"volumeBackupLocations,omitempty"`

	// EnableMetadataBackup tells whether metadata backup should be taken or not
	// +optional
	EnableMetadataBackup bool `json:"enableMetadataBackup,omitempty"`

	// EnableMetadataBackup tells whether volumes(PV) backup should be taken or not
	// +optional
	EnableVolumeBackup bool `json:"enableVolumeBackup,omitempty"`

	// IncludeNamespaces is a list of all namespaces included for backup. If empty, all namespaces
	// are included
	// +optional
	IncludeNamespaces []string `json:"includeNamespaces,omitempty"`

	// ExcludeNamespaces is a list of all namespaces excluded for backup
	// +optional
	ExcludeNamespaces []string `json:"excludeNamespaces,omitempty"`

	// IncludeResources is a list of all resources included for backup. If empty, all resources
	// are included
	// +optional
	IncludeResources []ResourceSpec `json:"includeResources,omitempty"`

	// ExcludeResources is a list of all resources excluded for backup
	// +optional
	ExcludeResources []ResourceSpec `json:"excludeResources,omitempty"`

	// Label is used to filter the resources
	// +optional
	Label *metav1.LabelSelector `json:"label,omitempty"`
}

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

type BackupStage string

+kubebuilder:validation:Enum=Initial;PreHook;Resources;Volumes;PostHook;Finished BackupStage is a stage of backup

type BackupState added in v0.1.1

type BackupState string

+kubebuilder:validation:Enum=New;Validating;Processing;Completed;Deleting;Failed BackupState is a state in backup phase

type BackupStatus

type BackupStatus struct {
	// Stage is the current phase of the backup
	// +optional
	Stage BackupStage `json:"stage,omitempty"`

	// State is the current state in backup
	// +optional
	State BackupState `json:"state,omitempty"`

	// LastBackup defines the last backup time
	// +optional
	LastBackup *metav1.Time `json:"lastBackup,omitempty"`

	// ValidationErrors is a list of erros which are founded during validation of backup spec
	// +optional
	ValidationErrors []string `json:"validationErrors,omitempty"`

	// Conditions tells the current state of a resource that is backing up
	// +optional
	Resources []BackupResource `json:"resources,omitempty"`

	// StartTimestamp is defines time when backup started
	// +optional
	// +nullable
	StartTimestamp *metav1.Time `json:"startTimestamp,omitempty"`

	// CompletionTimestamp is defines time when backup completed
	// +optional
	// +nullable
	CompletionTimestamp *metav1.Time `json:"completionTimestamp,omitempty"`
}

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

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 to behave if it encounters an error executing this hook.
	// +optional
	OnError HookErrorMode `json:"onError,omitempty"`

	// Timeout defines the maximum amount of time service 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 added in v0.1.1

func (in *ExecHook) DeepCopy() *ExecHook

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

func (*ExecHook) DeepCopyInto added in v0.1.1

func (in *ExecHook) DeepCopyInto(out *ExecHook)

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

type HookErrorMode added in v0.1.1

type HookErrorMode string

HookErrorMode defines how service 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 can
	// proceed.
	HookErrorModeContinue HookErrorMode = "Continue"

	// HookErrorModeFail means that an error from a hook is problematic, and the backup should be in
	// error.
	HookErrorModeFail HookErrorMode = "Fail"
)

type HookSpec added in v0.1.1

type HookSpec struct {
	// +optional
	Resources []ResourceHookSpec `json:"resources,omitempty"`
}

HookSpec is hook which should be executed at different phase of backup

func (*HookSpec) DeepCopy added in v0.1.1

func (in *HookSpec) DeepCopy() *HookSpec

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

func (*HookSpec) DeepCopyInto added in v0.1.1

func (in *HookSpec) DeepCopyInto(out *HookSpec)

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

type InitRestoreHook added in v0.1.1

type InitRestoreHook struct {
	// InitContainers is list of init containers to be added to a pod during its restore.
	// +optional
	InitContainers []v1.Container `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 v0.1.1

func (in *InitRestoreHook) DeepCopy() *InitRestoreHook

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

func (*InitRestoreHook) DeepCopyInto added in v0.1.1

func (in *InitRestoreHook) DeepCopyInto(out *InitRestoreHook)

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

type Provider added in v0.1.1

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

	Spec   ProviderSpec   `json:"spec,omitempty"`
	Status ProviderStatus `json:"status,omitempty"`
}

Provider is the Schema for the Provider

func (*Provider) DeepCopy added in v0.1.1

func (in *Provider) DeepCopy() *Provider

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

func (*Provider) DeepCopyInto added in v0.1.1

func (in *Provider) DeepCopyInto(out *Provider)

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

func (*Provider) DeepCopyObject added in v0.1.1

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

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

type ProviderList added in v0.1.1

type ProviderList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Provider `json:"items"`
}

ProviderList contains a list of Provider

func (*ProviderList) DeepCopy added in v0.1.1

func (in *ProviderList) DeepCopy() *ProviderList

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

func (*ProviderList) DeepCopyInto added in v0.1.1

func (in *ProviderList) DeepCopyInto(out *ProviderList)

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

func (*ProviderList) DeepCopyObject added in v0.1.1

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

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

type ProviderSpec added in v0.1.1

type ProviderSpec struct {

	// Version is version of the provider getting registered
	// +required
	Version string `json:"version"`

	// Type is type of the provider getting registered
	// +required
	Type ProviderType `json:"type"`

	// Manifest is the optional set of provider specific configurations
	// +optional
	Manifest map[string]string `json:"manifest,omitempty"`

	// Capabilities is the optional set of provider capabilities
	// +optional
	Capabilities map[string]bool `json:"capabilities,omitempty"`

	// +optional
	SupportedVolumeProvisioners []string `json:"supportedVolumeProvisioners,omitempty"`
}

ProviderSpec defines the specification of provider CRD

func (*ProviderSpec) DeepCopy added in v0.1.1

func (in *ProviderSpec) DeepCopy() *ProviderSpec

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

func (*ProviderSpec) DeepCopyInto added in v0.1.1

func (in *ProviderSpec) DeepCopyInto(out *ProviderSpec)

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

type ProviderState added in v0.1.1

type ProviderState string

ProviderState is the availability state of Provider. +kubebuilder:validation:Enum=Available;Unavailable +kubebuilder:default=Unavailable

const (
	// ProviderStateAvailable means the provider is available for use
	ProviderStateAvailable ProviderState = "Available"

	// ProviderStateUnavailable means the provider is unavailable for use
	ProviderStateUnavailable ProviderState = "Unavailable"
)

type ProviderStatus added in v0.1.1

type ProviderStatus struct {
	State ProviderState `json:"state,omitempty"`
}

ProviderStatus defines the observed state of Provider

func (*ProviderStatus) DeepCopy added in v0.1.1

func (in *ProviderStatus) DeepCopy() *ProviderStatus

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

func (*ProviderStatus) DeepCopyInto added in v0.1.1

func (in *ProviderStatus) DeepCopyInto(out *ProviderStatus)

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

type ProviderType added in v0.1.1

type ProviderType string

ProviderType is the type of Provider. +kubebuilder:validation:Enum=MetadataProvider;VolumeProvider +kubebuilder:default=MetadataProvider

const (
	// ProviderTypeMetadata means the metadata provider
	ProviderTypeMetadata ProviderType = "MetadataProvider"

	// ProviderTypeVolume means the volume provider
	ProviderTypeVolume ProviderType = "VolumeProvider"
)

type ReclaimPolicyType

type ReclaimPolicyType struct {
	// +optional
	ReclaimPolicyDelete string `json:"reclaimPolicyDelete,omitempty"`

	// +optional
	ReclaimPolicyRetain string `json:"reclaimPolicyRetain,omitempty"`
}

ReclaimPolicy tells about reclamation of the backup. It can be either delete or retain

func (*ReclaimPolicyType) DeepCopy

func (in *ReclaimPolicyType) DeepCopy() *ReclaimPolicyType

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

func (*ReclaimPolicyType) DeepCopyInto

func (in *ReclaimPolicyType) DeepCopyInto(out *ReclaimPolicyType)

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

type ResourceHook added in v0.1.1

type ResourceHook struct {
	// Exec defines an exec hook.
	Exec *ExecHook `json:"exec"`
}

ResourceHook defines a hook for a resource.

func (*ResourceHook) DeepCopy added in v0.1.1

func (in *ResourceHook) DeepCopy() *ResourceHook

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

func (*ResourceHook) DeepCopyInto added in v0.1.1

func (in *ResourceHook) DeepCopyInto(out *ResourceHook)

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

type ResourceHookSpec

type ResourceHookSpec struct {
	// +required
	Name string `json:"name"`

	// IncludeNamespaces is a list of all namespaces included for hook. If empty, all namespaces
	// are included
	// +optional
	IncludeNamespaces []string `json:"includeNamespaces,omitempty"`

	// ExcludeNamespaces is a list of all namespaces excluded for hook
	// +optional
	ExcludeNamespaces []string `json:"excludeNamespaces,omitempty"`

	// IncludeResources is a list of all resources included for hook. If empty, all resources
	// are included
	// +optional
	IncludeResources []ResourceSpec `json:"includeResources,omitempty"`

	// ExcludeResources is a list of all resources excluded for backup
	// +optional
	ExcludeResources []ResourceSpec `json:"excludeResources,omitempty"`

	// Label is used to filter the resources
	// +optional
	LabelSelector *metav1.LabelSelector `json:"labelSelector,omitempty"`

	// ContinueHookIfContainerNotFound is used to proceed flag continue hooks when user specified
	// container is not present in the Pod. If empty, container execution fail for missing container
	// +optional
	ContinueHookIfContainerNotFound bool `json:"continueHookIfContainerNotFound,omitempty"`

	// PreHooks is a list of ResourceHooks to execute prior to storing the item in the backup.
	// These are executed before any "additional items" from item actions are processed.
	// +optional
	PreHooks []ResourceHook `json:"pre,omitempty"`

	// PostHooks is a list of ResourceHooks to execute after storing the item in the backup.
	// These are executed after all "additional items" from item actions are processed.
	// +optional
	PostHooks []ResourceHook `json:"post,omitempty"`
}

ResourceHookSpec is hook which should be executed at different phase of backup

func (*ResourceHookSpec) DeepCopy

func (in *ResourceHookSpec) DeepCopy() *ResourceHookSpec

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

func (*ResourceHookSpec) DeepCopyInto

func (in *ResourceHookSpec) DeepCopyInto(out *ResourceHookSpec)

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

type ResourceReference added in v1.0.0

type ResourceReference struct {
	// Kind of the referent.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
	// +optional
	Kind string `json:"kind,omitempty" protobuf:"bytes,1,opt,name=kind"`
	// Namespace of the referent.
	// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
	// +optional
	Namespace string `json:"namespace,omitempty" protobuf:"bytes,2,opt,name=namespace"`
	// Name of the referent.
	// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
	// +optional
	Name string `json:"name,omitempty" protobuf:"bytes,3,opt,name=name"`
	// API version of the referent.
	// +optional
	APIVersion string `json:"apiVersion,omitempty" protobuf:"bytes,4,opt,name=apiVersion"`
}

ResourceReference contains enough information to let you inspect or modify the referred kubernetes object.

func (*ResourceReference) DeepCopy added in v1.0.0

func (in *ResourceReference) DeepCopy() *ResourceReference

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

func (*ResourceReference) DeepCopyInto added in v1.0.0

func (in *ResourceReference) DeepCopyInto(out *ResourceReference)

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

type ResourceSelector added in v1.0.0

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

	Namespace *string `json:"namespace,omitempty" protobuf:"bytes,3,opt,name=namespace"`

	Selector *metav1.LabelSelector `json:"selector,omitempty" protobuf:"bytes,4,opt,name=selector"`
}

func (*ResourceSelector) DeepCopy added in v1.0.0

func (in *ResourceSelector) DeepCopy() *ResourceSelector

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

func (*ResourceSelector) DeepCopyInto added in v1.0.0

func (in *ResourceSelector) DeepCopyInto(out *ResourceSelector)

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

type ResourceSpec added in v0.1.1

type ResourceSpec struct {
	// +optional
	// Name of the resource
	// The name can have empty, * in regular expression
	// or valid resource name
	Name string `json:"name"`

	// +required
	// Kind of the resource
	Kind string `json:"kind"`

	// +optional
	// IsRegex indicates if Name is regular expression
	IsRegex bool `json:"isRegex,omitempty"`
}

func (*ResourceSpec) DeepCopy added in v0.1.1

func (in *ResourceSpec) DeepCopy() *ResourceSpec

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

func (*ResourceSpec) DeepCopyInto added in v0.1.1

func (in *ResourceSpec) DeepCopyInto(out *ResourceSpec)

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

type ResourceStatus added in v1.0.0

type ResourceStatus string

+kubebuilder:validation:Enum=Pending;Processing;Completed ResourceStatus is a state a resource during backup

const (
	Pending    ResourceStatus = "Pending"
	Processing ResourceStatus = "Processing"
	Completed  ResourceStatus = "Completed"
)

type Restore added in v0.1.1

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

	// +optional
	Spec RestoreSpec `json:"spec,omitempty"`
	// +optional
	Status RestoreStatus `json:"status,omitempty"`
}

Restore is the Schema for the restores API

func (*Restore) DeepCopy added in v0.1.1

func (in *Restore) DeepCopy() *Restore

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

func (*Restore) DeepCopyInto added in v0.1.1

func (in *Restore) DeepCopyInto(out *Restore)

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

func (*Restore) DeepCopyObject added in v0.1.1

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

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

type RestoreExecHook added in v0.1.1

type RestoreExecHook 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 to behave if it encounters an error executing this hook.
	// +optional
	OnError HookErrorMode `json:"onError,omitempty"`

	// Timeout defines the maximum amount of time service should wait for the hook to complete before
	// considering the execution a failure.
	// +optional
	Timeout metav1.Duration `json:"timeout,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"`
}

RestoreExecHook is a hook that uses the pod exec API to execute a command in a container in a pod.

func (*RestoreExecHook) DeepCopy added in v0.1.1

func (in *RestoreExecHook) DeepCopy() *RestoreExecHook

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

func (*RestoreExecHook) DeepCopyInto added in v0.1.1

func (in *RestoreExecHook) DeepCopyInto(out *RestoreExecHook)

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

type RestoreHookSpec added in v0.1.1

type RestoreHookSpec struct {
	// +optional
	Resources []RestoreResourceHookSpec `json:"resources,omitempty"`
}

RestoreHookSpec is hook which should be executed at different phase of backup

func (*RestoreHookSpec) DeepCopy added in v0.1.1

func (in *RestoreHookSpec) DeepCopy() *RestoreHookSpec

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

func (*RestoreHookSpec) DeepCopyInto added in v0.1.1

func (in *RestoreHookSpec) DeepCopyInto(out *RestoreHookSpec)

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

type RestoreList added in v0.1.1

type RestoreList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Restore `json:"items"`
}

RestoreList contains a list of Restore

func (*RestoreList) DeepCopy added in v0.1.1

func (in *RestoreList) DeepCopy() *RestoreList

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

func (*RestoreList) DeepCopyInto added in v0.1.1

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

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

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

type RestoreProgress added in v0.1.1

type RestoreProgress struct {
	// TotalItems is count of resource to be process
	// +optional
	TotalItems int `json:"totalItems,omitempty"`

	// ItemsRestored is count of resource got processed
	// +optional
	ItemsRestored int `json:"itemsRestored,omitempty"`
}

RestoreProgress expresses overall progress of restore

func (*RestoreProgress) DeepCopy added in v0.1.1

func (in *RestoreProgress) DeepCopy() *RestoreProgress

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

func (*RestoreProgress) DeepCopyInto added in v0.1.1

func (in *RestoreProgress) DeepCopyInto(out *RestoreProgress)

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

type RestoreResource added in v0.1.1

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

	// ResourceName is a one of the item of backup that is backing up
	// +optional
	ResourceName string `json:"resourceName,omitempty"`

	// Namespace of the backup resource
	// +optional
	Namespace string `json:"namespace,omitempty"`
}

RestoreResource indicates the resources getting restored

func (*RestoreResource) DeepCopy added in v0.1.1

func (in *RestoreResource) DeepCopy() *RestoreResource

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

func (*RestoreResource) DeepCopyInto added in v0.1.1

func (in *RestoreResource) DeepCopyInto(out *RestoreResource)

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

type RestoreResourceHook added in v0.1.1

type RestoreResourceHook struct {
	// Exec defines an exec hook.
	// +optional
	Exec *RestoreExecHook `json:"exec"`

	// Init defines an init restore hook.
	// +optional
	Init *InitRestoreHook `json:"init,omitempty"`
}

RestoreResourceHook defines a hook for a resource.

func (*RestoreResourceHook) DeepCopy added in v0.1.1

func (in *RestoreResourceHook) DeepCopy() *RestoreResourceHook

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

func (*RestoreResourceHook) DeepCopyInto added in v0.1.1

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 v0.1.1

type RestoreResourceHookSpec struct {
	// +required
	Name string `json:"name"`

	// IncludeNamespaces is a list of all namespaces included for hook. If empty, all namespaces
	// are included
	// +optional
	IncludeNamespaces []string `json:"includeNamespaces,omitempty"`

	// ExcludeNamespaces is a list of all namespaces excluded for hook
	// +optional
	ExcludeNamespaces []string `json:"excludeNamespaces,omitempty"`

	// IncludeResources is a list of all resources included for hook. If empty, all resources
	// are included
	// +optional
	IncludeResources []ResourceSpec `json:"includeResources,omitempty"`

	// ExcludeResources is a list of all resources excluded for backup
	// +optional
	ExcludeResources []ResourceSpec `json:"excludeResources,omitempty"`

	// Label is used to filter the resources
	// +optional
	LabelSelector *metav1.LabelSelector `json:"labelSelector,omitempty"`

	// PostHooks is a list of ResourceHooks to execute after storing the item in the backup.
	// These are executed after all "additional items" from item actions are processed.
	// +optional
	PostHooks []RestoreResourceHook `json:"post,omitempty"`
}

RestoreResourceHookSpec is hook which should be executed at different phase of backup

func (*RestoreResourceHookSpec) DeepCopy added in v0.1.1

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

func (*RestoreResourceHookSpec) DeepCopyInto added in v0.1.1

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

type RestoreSpec struct {
	// BackupName is backup CR name specified during backup
	// +required
	BackupName string `json:"backupName"`

	// IncludeNamespaces are set of namespaces name considered for restore
	// +optional
	IncludeNamespaces []string `json:"includeNamespaces,omitempty"`

	// ExcludeNamespaces are set of namespace name should not get considered for restore
	// +optional
	ExcludeNamespaces []string `json:"excludeNamespaces,omitempty"`

	// IncludeResources are set of kubernetes resource name considered for restore
	// +optional
	IncludeResources []ResourceSpec `json:"includeResources,omitempty"`

	// ExcludeResources are set of kubernetes resource name should not get considered for restore
	// +optional
	ExcludeResources []ResourceSpec `json:"excludeResources,omitempty"`

	// LabelSelector are label get evaluated against resource selection
	// +optional
	LabelSelector *metav1.LabelSelector `json:"labelSelector,omitempty"`

	// NamespaceMapping is mapping between backed up namespace name against restore namespace name
	// +optional
	NamespaceMapping map[string]string `json:"namespaceMapping,omitempty"`

	// IncludeClusterResource is a flag for considering cluster wider resource during restore
	// +optional
	IncludeClusterResource bool `json:"includeClusterResource,omitempty"`

	// ResourcePrefix gets prepended in each restored resource name
	// +optional
	ResourcePrefix string `json:"resourcePrefix,omitempty"`

	// Hooks represent custom behaviors that should be executed during or post restore.
	// +optional
	Hooks RestoreHookSpec `json:"hook,omitempty"`

	// PreserveNodePort enable to preserve service node port during restore
	// Default behavior is to use assign fresh node port
	// +optional
	PreserveNodePort *bool `json:"preserveNodePort,omitempty"`

	// PreserveClusterIpAddr enable to preserve cluster IP addresses during restore
	// Default behavior is to use assign fresh cluster ip addr when it is not "None"
	// +optional
	PreserveClusterIpAddr *bool `json:"preserveClusterIpAddr,omitempty"`
}

RestoreSpec defines the desired state of Restore

func (*RestoreSpec) DeepCopy added in v0.1.1

func (in *RestoreSpec) DeepCopy() *RestoreSpec

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

func (*RestoreSpec) DeepCopyInto added in v0.1.1

func (in *RestoreSpec) DeepCopyInto(out *RestoreSpec)

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

type RestoreStage added in v0.1.1

type RestoreStage string

type RestoreState added in v0.1.1

type RestoreState string

type RestoreStatus added in v0.1.1

type RestoreStatus struct {

	// +optional
	Stage RestoreStage `json:"stage,omitempty"`

	// +optional
	// +kubebuilder:default=New
	State RestoreState `json:"state,omitempty"`

	// Resources tells the resources that is restored
	// +optional
	Resources []RestoreResource `json:"resources,omitempty"`

	// +optional
	// +nullable
	StartTimestamp *metav1.Time `json:"startTimestamp,omitempty"`

	// +optional
	// +nullable
	CompletionTimestamp *metav1.Time `json:"completionTimestamp,omitempty"`

	// +optional
	Progress RestoreProgress `json:"progress,omitempty"`

	// +optional
	FailureReason string `json:"failureReason,omitempty"`

	// ValidationErrors is a slice of validation errors during restore
	// +optional
	// +nullable
	ValidationErrors []string `json:"validationErrors,omitempty"`
}

RestoreStatus defines the observed state of Restore

func (*RestoreStatus) DeepCopy added in v0.1.1

func (in *RestoreStatus) DeepCopy() *RestoreStatus

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

func (*RestoreStatus) DeepCopyInto added in v0.1.1

func (in *RestoreStatus) DeepCopyInto(out *RestoreStatus)

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

type RestoreVolumeSpec added in v0.1.1

type RestoreVolumeSpec struct {
	// +required
	BackupHandle string `json:"backupHandle"`

	// +optional
	BackupAttributes map[string]string `json:"backupAttributes"`

	// +required
	Claim *v1.PersistentVolumeClaim `json:"claim"`
}

func (*RestoreVolumeSpec) DeepCopy added in v0.1.1

func (in *RestoreVolumeSpec) DeepCopy() *RestoreVolumeSpec

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

func (*RestoreVolumeSpec) DeepCopyInto added in v0.1.1

func (in *RestoreVolumeSpec) DeepCopyInto(out *RestoreVolumeSpec)

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

type VolumeBackupContent added in v0.1.1

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

	metav1.ObjectMeta `json:"metadata,omitempty"`

	// +optional
	Spec VolumeBackupContentSpec `json:"spec,omitempty"`

	// +optional
	Status VolumeBackupContentStatus `json:"status,omitempty"`
}

VolumeBackupContent is the Schema for the VolumeBackupContents API

func (*VolumeBackupContent) DeepCopy added in v0.1.1

func (in *VolumeBackupContent) DeepCopy() *VolumeBackupContent

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

func (*VolumeBackupContent) DeepCopyInto added in v0.1.1

func (in *VolumeBackupContent) DeepCopyInto(out *VolumeBackupContent)

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

func (*VolumeBackupContent) DeepCopyObject added in v0.1.1

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

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

type VolumeBackupContentList added in v0.1.1

type VolumeBackupContentList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []VolumeBackupContent `json:"items"`
}

VolumeBackupContentList contains a list of VolumeBackupContent

func (*VolumeBackupContentList) DeepCopy added in v0.1.1

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

func (*VolumeBackupContentList) DeepCopyInto added in v0.1.1

func (in *VolumeBackupContentList) DeepCopyInto(out *VolumeBackupContentList)

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

func (*VolumeBackupContentList) DeepCopyObject added in v0.1.1

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

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

type VolumeBackupContentPhase added in v0.1.1

type VolumeBackupContentPhase string
const (
	VolumeBackupContentPhaseInit       VolumeBackupContentPhase = "New"
	VolumeBackupContentPhaseInProgress VolumeBackupContentPhase = "InProgress"
	VolumeBackupContentPhaseCompleted  VolumeBackupContentPhase = "Completed"
	VolumeBackupContentPhaseFailed     VolumeBackupContentPhase = "Failed"
	VolumeBackupContentPhaseDeleting   VolumeBackupContentPhase = "Deleting"
)

type VolumeBackupContentSpec added in v0.1.1

type VolumeBackupContentSpec struct {
	// BackupName is backup CR name specified during backup
	// +required
	BackupName string `json:"backupName"`

	// Volume represents kubernetes volume to be backed up
	// +optional
	// +nullable
	Volumes []v1.PersistentVolume `json:"volumes,omitempty"`

	// Volume provider for set of volumes
	VolumeProvider *string `json:"volumeProvider,omitempty"`

	// Supported volume backup provider information
	// +optional
	Parameters map[string]string `json:"parameters,omitempty"`

	BackupSourceRef *ResourceReference `json:"backupSourceRef,omitempty"`
}

VolumeBackupContentSpec defines the desired state of VolumeBackupContent

func (*VolumeBackupContentSpec) DeepCopy added in v0.1.1

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

func (*VolumeBackupContentSpec) DeepCopyInto added in v0.1.1

func (in *VolumeBackupContentSpec) DeepCopyInto(out *VolumeBackupContentSpec)

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

type VolumeBackupContentStatus added in v0.1.1

type VolumeBackupContentStatus struct {

	// +optional
	Phase VolumeBackupContentPhase `json:"phase,omitempty"`

	// +optional
	VolumeBackupProvider *string `json:"volumeBackupProvider,omitempty"`

	// +optional
	// +nullable
	StartTimestamp *metav1.Time `json:"startTimestamp,omitempty"`

	// +optional
	// +nullable
	CompletionTimestamp *metav1.Time `json:"completionTimestamp,omitempty"`

	// +optional
	FailureReason string `json:"failureReason,omitempty"`

	// +optional
	BackupState []VolumeBackupState `json:"backupState,omitempty"`
}

VolumeBackupContentStatus defines the observed state of VolumeBackupContent

func (*VolumeBackupContentStatus) DeepCopy added in v0.1.1

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

func (*VolumeBackupContentStatus) DeepCopyInto added in v0.1.1

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

type VolumeBackupState added in v0.1.1

type VolumeBackupState struct {
	VolumeName string `json:"volumeName,omitempty"`

	BackupHandle string `json:"backupHandle,omitempty"`

	BackupAttributes map[string]string `json:"backupAttributes,omitempty"`

	Progress int64 `json:"progress,omitempty"`

	LastProgressUpdate int64 `json:"lastProgressUpdate,omitempty"`
}

func (*VolumeBackupState) DeepCopy added in v0.1.1

func (in *VolumeBackupState) DeepCopy() *VolumeBackupState

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

func (*VolumeBackupState) DeepCopyInto added in v0.1.1

func (in *VolumeBackupState) DeepCopyInto(out *VolumeBackupState)

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

type VolumeGroup added in v1.0.0

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

	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// +optional
	Spec VolumeGroupSpec `json:"spec,omitempty" protobuf:"bytes,3,opt,name=spec"`

	// +optional
	Status VolumeGroupStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
}

VolumeGroup groups the volume based on volume providers

func (*VolumeGroup) DeepCopy added in v1.0.0

func (in *VolumeGroup) DeepCopy() *VolumeGroup

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

func (*VolumeGroup) DeepCopyInto added in v1.0.0

func (in *VolumeGroup) DeepCopyInto(out *VolumeGroup)

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

func (*VolumeGroup) DeepCopyObject added in v1.0.0

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

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

type VolumeGroupList added in v1.0.0

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

	// +optional
	metav1.ListMeta `json:"metadata,omitempty"`

	// +optional
	Items []VolumeGroup `json:"items" protobuf:"bytes,1,opt,name=items"`
}

func (*VolumeGroupList) DeepCopy added in v1.0.0

func (in *VolumeGroupList) DeepCopy() *VolumeGroupList

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

func (*VolumeGroupList) DeepCopyInto added in v1.0.0

func (in *VolumeGroupList) DeepCopyInto(out *VolumeGroupList)

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

func (*VolumeGroupList) DeepCopyObject added in v1.0.0

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

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

type VolumeGroupSpec added in v1.0.0

type VolumeGroupSpec struct {
	Backup *ResourceReference `json:"backup,omitempty" protobuf:"bytes,1,opt,name=backup"`

	VolumeSource `json:",inline" protobuf:"bytes,2,opt,name=volumes"`
}

VolumeGroupSpec describe the volume information of the group.

func (*VolumeGroupSpec) DeepCopy added in v1.0.0

func (in *VolumeGroupSpec) DeepCopy() *VolumeGroupSpec

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

func (*VolumeGroupSpec) DeepCopyInto added in v1.0.0

func (in *VolumeGroupSpec) DeepCopyInto(out *VolumeGroupSpec)

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

type VolumeGroupStatus added in v1.0.0

type VolumeGroupStatus struct {
	Volumes []ResourceReference `json:"volumes,omitempty" protobuf:"bytes,1,opt,name=volumes"`

	ReadyToUse *bool `json:"readyToUse,omitempty" protobuf:"bytes,1,opt,name=readyToUse"`
}

VolumeGroupStatus describe the volume information of the group.

func (*VolumeGroupStatus) DeepCopy added in v1.0.0

func (in *VolumeGroupStatus) DeepCopy() *VolumeGroupStatus

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

func (*VolumeGroupStatus) DeepCopyInto added in v1.0.0

func (in *VolumeGroupStatus) DeepCopyInto(out *VolumeGroupStatus)

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

type VolumeRestoreContent added in v0.1.1

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

	metav1.ObjectMeta `json:"metadata,omitempty"`

	// +optional
	Spec VolumeRestoreContentSpec `json:"spec,omitempty"`
	// +optional
	Status VolumeRestoreContentStatus `json:"status,omitempty"`
}

VolumeRestoreContent is the Schema for the VolumeRestoreContents API

func (*VolumeRestoreContent) DeepCopy added in v0.1.1

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

func (*VolumeRestoreContent) DeepCopyInto added in v0.1.1

func (in *VolumeRestoreContent) DeepCopyInto(out *VolumeRestoreContent)

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

func (*VolumeRestoreContent) DeepCopyObject added in v0.1.1

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

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

type VolumeRestoreContentList added in v0.1.1

type VolumeRestoreContentList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []VolumeRestoreContent `json:"items"`
}

VolumeRestoreContentList contains a list of VolumeRestoreContent

func (*VolumeRestoreContentList) DeepCopy added in v0.1.1

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

func (*VolumeRestoreContentList) DeepCopyInto added in v0.1.1

func (in *VolumeRestoreContentList) DeepCopyInto(out *VolumeRestoreContentList)

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

func (*VolumeRestoreContentList) DeepCopyObject added in v0.1.1

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

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

type VolumeRestoreContentPhase added in v0.1.1

type VolumeRestoreContentPhase string
const (
	VolumeRestoreContentPhaseInit       VolumeRestoreContentPhase = "New"
	VolumeRestoreContentPhaseInProgress VolumeRestoreContentPhase = "InProgress"
	VolumeRestoreContentPhaseCompleted  VolumeRestoreContentPhase = "Completed"
	VolumeRestoreContentPhaseFailed     VolumeRestoreContentPhase = "Failed"
	VolumeRestoreContentPhaseDeleting   VolumeRestoreContentPhase = "Deleting"
)

type VolumeRestoreContentSpec added in v0.1.1

type VolumeRestoreContentSpec struct {
	// BackupName is backup CR name specified during backup
	// +required
	BackupName string `json:"backupName"`

	// Restore name is restore resource name initiated volume restore
	// +required
	RestoreName string `json:"restoreName"`

	// Volume represents kubernetes volume to be restored
	// +optional
	// +nullable
	Volumes []RestoreVolumeSpec `json:"volumes"`

	// Volume provider for set of volumes
	VolumeProvider *string `json:"volumeProvider,omitempty"`

	VolumeRestoreProvider *string `json:"volumeRestoreProvider,omitempty"`

	// Supported volume backup provider information
	// +optional
	Parameters map[string]string `json:"parameters,omitempty"`
}

VolumeRestoreContentSpec defines the desired state of VolumeRestoreContent

func (*VolumeRestoreContentSpec) DeepCopy added in v0.1.1

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

func (*VolumeRestoreContentSpec) DeepCopyInto added in v0.1.1

func (in *VolumeRestoreContentSpec) DeepCopyInto(out *VolumeRestoreContentSpec)

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

type VolumeRestoreContentStatus added in v0.1.1

type VolumeRestoreContentStatus struct {

	// +optional
	Phase VolumeRestoreContentPhase `json:"phase,omitempty"`

	// +optional
	// +nullable
	StartTimestamp *metav1.Time `json:"startTimestamp,omitempty"`

	// +optional
	// +nullable
	CompletionTimestamp *metav1.Time `json:"completionTimestamp,omitempty"`

	// +optional
	FailureReason string `json:"failureReason,omitempty"`

	// +optional
	RestoreState []VolumeRestoreState `json:"restoreState,omitempty"`
}

VolumeRestoreContentStatus defines the observed state of VolumeRestoreContent

func (*VolumeRestoreContentStatus) DeepCopy added in v0.1.1

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

func (*VolumeRestoreContentStatus) DeepCopyInto added in v0.1.1

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

type VolumeRestoreState added in v0.1.1

type VolumeRestoreState struct {
	VolumeName string `json:"volumeName,omitempty"`

	VolumeHandle string `json:"volumeHandle,omitempty"`

	VolumeAttributes map[string]string `json:"volumeAttributes,omitempty"`

	Progress int64 `json:"progress,omitempty"`

	LastProgressUpdate int64 `json:"lastProgressUpdate,omitempty"`
}

func (*VolumeRestoreState) DeepCopy added in v0.1.1

func (in *VolumeRestoreState) DeepCopy() *VolumeRestoreState

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

func (*VolumeRestoreState) DeepCopyInto added in v0.1.1

func (in *VolumeRestoreState) DeepCopyInto(out *VolumeRestoreState)

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

type VolumeSnapshot added in v1.0.0

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

	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// +optional
	Spec VolumeSnapshotSpec `json:"spec,omitempty" protobuf:"bytes,3,opt,name=spec"`

	// +optional
	Status VolumeSnapshotStatus `json:"status,omitempty" protobuf:"bytes,4,opt,name=status"`
}

+genclient +genclient:nonNamespaced +kubebuilder:subresource:status +kubebuilder:resource:scope=Cluster +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:printcolumn:name="VolumeProvider",type=string,JSONPath=`.spec.snapshotProvider` +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp`

func (*VolumeSnapshot) DeepCopy added in v1.0.0

func (in *VolumeSnapshot) DeepCopy() *VolumeSnapshot

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

func (*VolumeSnapshot) DeepCopyInto added in v1.0.0

func (in *VolumeSnapshot) DeepCopyInto(out *VolumeSnapshot)

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

func (*VolumeSnapshot) DeepCopyObject added in v1.0.0

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

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

type VolumeSnapshotData added in v1.0.0

type VolumeSnapshotData struct {
	Handle string `json:"handle,omitempty"`

	Attributes map[string]string `json:"attributes,omitempty"`
}

func (*VolumeSnapshotData) DeepCopy added in v1.0.0

func (in *VolumeSnapshotData) DeepCopy() *VolumeSnapshotData

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

func (*VolumeSnapshotData) DeepCopyInto added in v1.0.0

func (in *VolumeSnapshotData) DeepCopyInto(out *VolumeSnapshotData)

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

type VolumeSnapshotList added in v1.0.0

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

	metav1.ListMeta `json:"metadata,omitempty"`

	Items []VolumeSnapshot `json:"items"`
}

VolumeSnapshotList contains a list of Snapshot

func (*VolumeSnapshotList) DeepCopy added in v1.0.0

func (in *VolumeSnapshotList) DeepCopy() *VolumeSnapshotList

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

func (*VolumeSnapshotList) DeepCopyInto added in v1.0.0

func (in *VolumeSnapshotList) DeepCopyInto(out *VolumeSnapshotList)

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

func (*VolumeSnapshotList) DeepCopyObject added in v1.0.0

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

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

type VolumeSnapshotPhase added in v1.0.0

type VolumeSnapshotPhase string

+kubebuilder:validation:Enum=New;InProgress;Completed;Failed;Deleting

const (
	SnapshotPhaseInit       VolumeSnapshotPhase = "New"
	SnapshotPhaseInProgress VolumeSnapshotPhase = "InProgress"
	SnapshotPhaseCompleted  VolumeSnapshotPhase = "Completed"
	SnapshotPhaseFailed     VolumeSnapshotPhase = "Failed"
	SnapshotPhaseDeleting   VolumeSnapshotPhase = "Deleting"
)

type VolumeSnapshotSource added in v1.0.0

type VolumeSnapshotSource struct {
	CSISnapshotRef *ResourceReference `json:"csiSnapshotRef,omitempty"`

	SnapshotData *VolumeSnapshotData `json:"snapshotData,omitempty"`
}

func (*VolumeSnapshotSource) DeepCopy added in v1.0.0

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

func (*VolumeSnapshotSource) DeepCopyInto added in v1.0.0

func (in *VolumeSnapshotSource) DeepCopyInto(out *VolumeSnapshotSource)

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

type VolumeSnapshotSpec added in v1.0.0

type VolumeSnapshotSpec struct {
	BackupName *string `json:"backup"`

	SnapshotProvider *string `json:"snapshotProvider"`

	VolumeSource `json:",inline" protobuf:"bytes,2,opt,name=volumes"`

	// Supported Snapshot backup provider information
	// +optional
	Parameters map[string]string `json:"parameters,omitempty"`
}

func (*VolumeSnapshotSpec) DeepCopy added in v1.0.0

func (in *VolumeSnapshotSpec) DeepCopy() *VolumeSnapshotSpec

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

func (*VolumeSnapshotSpec) DeepCopyInto added in v1.0.0

func (in *VolumeSnapshotSpec) DeepCopyInto(out *VolumeSnapshotSpec)

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

type VolumeSnapshotState added in v1.0.0

type VolumeSnapshotState struct {
	PVC ResourceReference `json:"volume,omitempty"`

	VolumeSnapshotSource `json:"snapshotSource,omitempty"`

	Completed bool `json:"progress,omitempty"`
}

func (*VolumeSnapshotState) DeepCopy added in v1.0.0

func (in *VolumeSnapshotState) DeepCopy() *VolumeSnapshotState

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

func (*VolumeSnapshotState) DeepCopyInto added in v1.0.0

func (in *VolumeSnapshotState) DeepCopyInto(out *VolumeSnapshotState)

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

type VolumeSnapshotStatus added in v1.0.0

type VolumeSnapshotStatus struct {
	// +optional
	Phase VolumeSnapshotPhase `json:"phase,omitempty"`

	ReadyToUse *bool `json:"readyToUse,omitempty"`

	// +optional
	FailureReason string `json:"failureReason,omitempty"`

	// +optional
	SnapshotStates []VolumeSnapshotState `json:"snapshotStates,omitempty"`
}

SnapshotStatus defines the observed state of Snapshot

func (*VolumeSnapshotStatus) DeepCopy added in v1.0.0

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

func (*VolumeSnapshotStatus) DeepCopyInto added in v1.0.0

func (in *VolumeSnapshotStatus) DeepCopyInto(out *VolumeSnapshotStatus)

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

type VolumeSource added in v1.0.0

type VolumeSource struct {
	List []ResourceReference `json:"list,omitempty" protobuf:"bytes,1,opt,name=list"`

	Selector *ResourceSelector `json:"selector,omitempty" protobuf:"bytes,1,opt,name=selector"`
}

Volumes information source Only one source is allowed to set

func (*VolumeSource) DeepCopy added in v1.0.0

func (in *VolumeSource) DeepCopy() *VolumeSource

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

func (*VolumeSource) DeepCopyInto added in v1.0.0

func (in *VolumeSource) DeepCopyInto(out *VolumeSource)

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

Jump to

Keyboard shortcuts

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