v1beta1

package
v1.0.1 Latest Latest
Warning

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

Go to latest
Published: Jun 13, 2023 License: Apache-2.0 Imports: 5 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 (
	// set annotation to set default backup location for specific provider
	AnnDefaultBackupLocation = "kahu.io/defaultBackupLocation"
)
View Source
const (
	AnnDefaultVolumeProvider = "kahu.io/defaultVolumeProvider"
)

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

	// +optional
	Status BackupLocationStatus `json:"status,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"`

	// +optional
	Location *LocationSpec `json:"location,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 BackupLocationStatus added in v1.0.1

type BackupLocationStatus struct {
	// Active status indicate state of the backup location.
	// +kubebuilder:default=false
	Active bool `json:"active,omitempty"`
}

func (*BackupLocationStatus) DeepCopy added in v1.0.1

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

func (*BackupLocationStatus) DeepCopyInto added in v1.0.1

func (in *BackupLocationStatus) DeepCopyInto(out *BackupLocationStatus)

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
	// +kubebuilder:default=Pending
	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.

func (*BackupResource) ResourceID added in v1.0.1

func (in *BackupResource) ResourceID() string

type BackupSource added in v1.0.1

type BackupSource struct {
	VolumeRef   []BackupVolumeReference `json:"volumeRef,omitempty"`
	VolumeMount []Mount                 `json:"volumeMount,omitempty"`
}

func (*BackupSource) DeepCopy added in v1.0.1

func (in *BackupSource) DeepCopy() *BackupSource

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

func (*BackupSource) DeepCopyInto added in v1.0.1

func (in *BackupSource) DeepCopyInto(out *BackupSource)

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
	// +kubebuilder:default=Delete
	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 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

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

	// 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"
)

type BackupStatus

type BackupStatus struct {
	// State is the current state in backup
	// +kubebuilder:default=New
	// +optional
	State BackupState `json:"state,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 BackupVolumeReference added in v1.0.1

type BackupVolumeReference struct {
	Volume   ResourceReference `json:"volume,omitempty"`
	Snapshot *SnapshotData     `json:"snapshot,omitempty"`
}

func (*BackupVolumeReference) DeepCopy added in v1.0.1

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

func (*BackupVolumeReference) DeepCopyInto added in v1.0.1

func (in *BackupVolumeReference) DeepCopyInto(out *BackupVolumeReference)

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

type CSISnapshotData added in v1.0.1

type CSISnapshotData struct {
	SnapshotRef ResourceReference `json:"snapshotRef,omitempty"`

	SnapshotData `json:",inline"`
}

func (*CSISnapshotData) DeepCopy added in v1.0.1

func (in *CSISnapshotData) DeepCopy() *CSISnapshotData

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

func (*CSISnapshotData) DeepCopyInto added in v1.0.1

func (in *CSISnapshotData) DeepCopyInto(out *CSISnapshotData)

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 Lifecycle added in v1.0.1

type Lifecycle struct {
	// +kubebuilder:validation:Enum=Pod;Deployment
	// +kubebuilder:default=Deployment
	Kind WorkloadKind `json:"kind,omitempty"`
}

func (*Lifecycle) DeepCopy added in v1.0.1

func (in *Lifecycle) DeepCopy() *Lifecycle

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

func (*Lifecycle) DeepCopyInto added in v1.0.1

func (in *Lifecycle) DeepCopyInto(out *Lifecycle)

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

type LocationSpec added in v1.0.1

type LocationSpec struct {
	// +required
	Path *string `json:"path,omitempty"`
	// +required
	SourceRef *Source `json:"sourceRef,omitempty"`
}

func (*LocationSpec) DeepCopy added in v1.0.1

func (in *LocationSpec) DeepCopy() *LocationSpec

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

func (*LocationSpec) DeepCopyInto added in v1.0.1

func (in *LocationSpec) DeepCopyInto(out *LocationSpec)

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

type LocationSupportKind added in v1.0.1

type LocationSupportKind string

+kubebuilder:validation:Enum=PersistentVolumeClaim;Secret

const (
	PVCLocationSupport    LocationSupportKind = "PersistentVolumeClaim"
	SecretLocationSupport LocationSupportKind = "Secret"
)

type Mount added in v1.0.1

type Mount struct {
	Name string `json:"name,omitempty"`
	Path string `json:"Path,omitempty"`
}

func (*Mount) DeepCopy added in v1.0.1

func (in *Mount) DeepCopy() *Mount

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

func (*Mount) DeepCopyInto added in v1.0.1

func (in *Mount) DeepCopyInto(out *Mount)

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 ProviderRegistration added in v1.0.1

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

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

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

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

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

func (*ProviderRegistration) DeepCopy added in v1.0.1

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

func (*ProviderRegistration) DeepCopyInto added in v1.0.1

func (in *ProviderRegistration) DeepCopyInto(out *ProviderRegistration)

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

func (*ProviderRegistration) DeepCopyObject added in v1.0.1

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

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

type ProviderRegistrationList added in v1.0.1

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

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

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

func (*ProviderRegistrationList) DeepCopy added in v1.0.1

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

func (*ProviderRegistrationList) DeepCopyInto added in v1.0.1

func (in *ProviderRegistrationList) DeepCopyInto(out *ProviderRegistrationList)

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

func (*ProviderRegistrationList) DeepCopyObject added in v1.0.1

func (in *ProviderRegistrationList) 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 []string `json:"capabilities,omitempty"`

	// +optional
	SupportedVolumeProvisioner *string `json:"supportedVolumeProvisioner,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 {
	// INSERT ADDITIONAL STATUS FIELD - define observed state of cluster
	// Important: Run "make" to regenerate code after modifying this file
	// +kubebuilder:default=Available
	// +optional
	State ProviderState `json:"state,omitempty"`

	Message string `json:"message,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 string

ReclaimPolicy tells about reclamation of the backup. It can be either delete or retain +kubebuilder:validation:Enum=Delete;Retain

const (
	// +optional
	ReclaimPolicyDelete ReclaimPolicyType = "Delete"

	// +optional
	ReclaimPolicyRetain ReclaimPolicyType = "Retain"
)

type RegistrationSpec added in v1.0.1

type RegistrationSpec struct {
	// +required
	ProviderName *string `json:"providerName,omitempty"`

	// +required
	// +kubebuilder:default=ResourceBackup
	ProviderType RegistrationType `json:"providerType,omitempty"`

	// +required
	Version *string `json:"version,omitempty"`

	// +optional
	Parameters map[string]string `json:"parameters,omitempty"`

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

	// +optional
	SupportedVolumeProvisioner *string `json:"supportedVolumeProvisioner,omitempty"`

	// +required
	Template *v1.PodTemplateSpec `json:"template,omitempty"`

	// +optional
	Lifecycle `json:"lifecycle,omitempty"`
}

Plugin specifications

func (*RegistrationSpec) DeepCopy added in v1.0.1

func (in *RegistrationSpec) DeepCopy() *RegistrationSpec

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

func (*RegistrationSpec) DeepCopyInto added in v1.0.1

func (in *RegistrationSpec) DeepCopyInto(out *RegistrationSpec)

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

type RegistrationStatus added in v1.0.1

type RegistrationStatus struct {
	// Active status indicate state of the Plugin.
	Active bool `json:"active,omitempty"`
}

func (*RegistrationStatus) DeepCopy added in v1.0.1

func (in *RegistrationStatus) DeepCopy() *RegistrationStatus

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

func (*RegistrationStatus) DeepCopyInto added in v1.0.1

func (in *RegistrationStatus) DeepCopyInto(out *RegistrationStatus)

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

type RegistrationType added in v1.0.1

type RegistrationType string

+kubebuilder:validation:Enum=ResourceBackup;VolumeBackup

const (
	// Backup location
	ResourceBackup RegistrationType = "ResourceBackup"

	// Volume backup/restore
	VolumeBackup RegistrationType = "VolumeBackup"
)

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;Failed;Completed ResourceStatus is a state a resource during backup

const (
	Pending    ResourceStatus = "Pending"
	Processing ResourceStatus = "Processing"
	Failed     ResourceStatus = "Failed"
	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"`

	// Status is a state of the resource
	// +optional
	// +kubebuilder:default=Pending
	Status ResourceStatus `json:"status,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.

func (*RestoreResource) ResourceID added in v1.0.1

func (in *RestoreResource) ResourceID() string

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

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

type RestoreState string

+kubebuilder:validation:Enum=New;Validating;Failed;Processing;Completed;Deleting

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

type RestoreStatus added in v0.1.1

type RestoreStatus struct {

	// +kubebuilder:default=New
	// +optional
	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 SnapshotData added in v1.0.1

type SnapshotData struct {
	Handle    string            `json:"handle,omitempty"`
	Attribute map[string]string `json:"attribute,omitempty"`
}

func (*SnapshotData) DeepCopy added in v1.0.1

func (in *SnapshotData) DeepCopy() *SnapshotData

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

func (*SnapshotData) DeepCopyInto added in v1.0.1

func (in *SnapshotData) DeepCopyInto(out *SnapshotData)

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

type Source added in v1.0.1

type Source struct {
	// +required
	Name *string `json:"name,omitempty"`
	// +required
	Kind LocationSupportKind `json:"kind,omitempty"`
}

func (*Source) DeepCopy added in v1.0.1

func (in *Source) DeepCopy() *Source

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

func (*Source) DeepCopyInto added in v1.0.1

func (in *Source) DeepCopyInto(out *Source)

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

type Support added in v1.0.1

type Support string

+kubebuilder:validation:Enum=VOLUME_BACKUP_NEED_SNAPSHOT;VOLUME_BACKUP_NEED_VOLUME

const (
	VolumeBackupNeedSnapshotSupport Support = "VOLUME_BACKUP_NEED_SNAPSHOT"
	VolumeBackupNeedVolumeSupport   Support = "VOLUME_BACKUP_NEED_VOLUME"
)

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

	BackupSource `json:",inline"`
}

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 int32 `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 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 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 {
	CSISnapshot *CSISnapshotData `json:"csiSnapshot,omitempty"`

	Snapshot *SnapshotData `json:"snapshot,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"`
}

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.

type WorkloadKind added in v1.0.1

type WorkloadKind string
const (
	PodWorkloadKind        WorkloadKind = "Pod"
	DeploymentWorkloadKind WorkloadKind = "Deployment"
)

Jump to

Keyboard shortcuts

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