v1alpha1

package
v1.4.1-0...-77b30eb Latest Latest
Warning

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

Go to latest
Published: Nov 15, 2024 License: Apache-2.0 Imports: 13 Imported by: 101

Documentation

Overview

Package v1alpha1 is the v1alpha1 version of the API. +groupName=stork.libopenstorage.org

Index

Constants

View Source
const (
	// ActionResourceName is name for "Action" resource
	ActionResourceName = "action"
	// ActionResourcePlural is plural for "Action" resource
	ActionResourcePlural = "actions"
)
View Source
const (
	// ApplicationBackupResourceName is name for "applicationbackup" resource
	ApplicationBackupResourceName = "applicationbackup"
	// ApplicationBackupResourcePlural is plural for "applicationbackup" resource
	ApplicationBackupResourcePlural = "applicationbackups"
	// ApplicationBackupGeneric for using generic driver for backups/restore
	ApplicationBackupGeneric = "Generic"
	// GenericDriver is name for generic driver
	GenericDriver = "kdmp"
)
View Source
const (
	// ApplicationBackupScheduleResourceName is name for "applicationbackupschedule" resource
	ApplicationBackupScheduleResourceName = "applicationbackupschedule"
	// ApplicationBackupScheduleResourcePlural is plural for "applicationbackupschedule" resource
	ApplicationBackupScheduleResourcePlural = "applicationbackupschedules"
)
View Source
const (
	// ApplicationCloneResourceName is the name for the application clone resource
	ApplicationCloneResourceName = "applicationclone"
	// ApplicationCloneResourcePlural is the name in plural for the application clone resources
	ApplicationCloneResourcePlural = "applicationclones"
)
View Source
const (
	// ApplicationRegistrationResourceName singuler name of Application Registration CR
	ApplicationRegistrationResourceName = "applicationregistration"
	// ApplicationRegistrationResourcePlural plural name of Application Registration CR
	ApplicationRegistrationResourcePlural = "applicationregistrations"
)
View Source
const (
	// ApplicationRestoreResourceName is name for "applicationrestore" resource
	ApplicationRestoreResourceName = "applicationrestore"
	// ApplicationRestoreResourcePlural is plural for "applicationrestore" resource
	ApplicationRestoreResourcePlural = "applicationrestores"
)
View Source
const (
	// BackupLocationResourceName is name for "backuplocation" resource
	BackupLocationResourceName = "backuplocation"
	// BackupLocationResourcePlural is plural for "backuplocation" resource
	BackupLocationResourcePlural = "backuplocations"
)
View Source
const (
	// ClusterDomainsStatusResourceName is name for "clusterdomainsstatus" resource
	ClusterDomainsStatusResourceName = "clusterdomainsstatus"
	// ClusterDomainsStatusPlural is plural for "clusterdomainsstatus" resource
	ClusterDomainsStatusPlural = "clusterdomainsstatuses"
	// ClusterDomainsStatusShortName is the shortname for "clusterdomainsstatus" resource
	ClusterDomainsStatusShortName = "cds"
)
View Source
const (
	// ClusterDomainUpdateResourceName is name for "clusterdomainupdate" resource
	ClusterDomainUpdateResourceName = "clusterdomainupdate"
	// ClusterDomainUpdatePlural is plural for "clusterdomainupdate" resource
	ClusterDomainUpdatePlural = "clusterdomainupdates"
	// ClusterDomainUpdateShortName is the short name for clusterdomainupdate
	ClusterDomainUpdateShortName = "cdu"
)
View Source
const (
	// ClusterPairResourceName is name for "clusterpair" resource
	ClusterPairResourceName = "clusterpair"
	// ClusterPairResourcePlural is plural for "clusterpair" resource
	ClusterPairResourcePlural = "clusterpairs"
)
View Source
const (
	// GroupVolumeSnapshotResourceName is name for "groupvolumesnapshot" resource
	GroupVolumeSnapshotResourceName = "groupvolumesnapshot"
	// GroupVolumeSnapshotResourcePlural is plural for the "groupvolumesnapshot" resource
	GroupVolumeSnapshotResourcePlural = "groupvolumesnapshots"
)
View Source
const (
	// MigrationResourceName is name for "migration" resource
	MigrationResourceName = "migration"
	// MigrationResourcePlural is plural for "migration" resource
	MigrationResourcePlural = "migrations"
)
View Source
const (
	// MigrationScheduleResourceName is name for "migrationschedule" resource
	MigrationScheduleResourceName = "migrationschedule"
	// MigrationScheduleResourcePlural is plural for "migrationschedule" resource
	MigrationScheduleResourcePlural = "migrationschedules"
)
View Source
const (
	// NamespacedSchedulePolicyResourceName is name for "namespacedschedulepolicy" resource
	NamespacedSchedulePolicyResourceName = "namespacedschedulepolicy"
	// NamespacedSchedulePolicyResourcePlural is plural for "namespacedschedulepolicy" resource
	NamespacedSchedulePolicyResourcePlural = "namespacedschedulepolicies"
)
View Source
const (
	// PlatformCredentialResourceName is name for "platformcredential" resource
	PlatformCredentialResourceName = "platformcredential"
	// PlatformCredentialResourcePlural is plural for "platformcredentials" resource
	PlatformCredentialResourcePlural = "platformcredentials"
)
View Source
const (
	// ResourceTransformationResourceName is name for "ResourceTransformation" resource
	ResourceTransformationResourceName = "resourcetransformation"
	// ResourceTransformationResourcePlural is plural for "ResourceTransformation" resource
	ResourceTransformationResourcePlural = "resourcetransformations"
)
View Source
const (
	// SchedulePolicyResourceName is name for "schedulepolicy" resource
	SchedulePolicyResourceName = "schedulepolicy"
	// SchedulePolicyResourcePlural is plural for "schedulepolicy" resource
	SchedulePolicyResourcePlural = "schedulepolicies"
)
View Source
const (
	// DataExportResourceName is name for the DataExport resource.
	DataExportResourceName = "dataexport"
	// DataExportResourcePlural is the name for list of DataExport resources.
	DataExportResourcePlural = "dataexports"
)
View Source
const (
	// SnapshotRestoreResourceName is name for "volumesnapshotrestore" resource
	SnapshotRestoreResourceName = "volumesnapshotrestore"
	// SnapshotRestoreResourcePlural is plural for "volumesnapshotrestore" resource
	SnapshotRestoreResourcePlural = "volumesnapshotrestores"
)
View Source
const (
	// VolumeSnapshotScheduleResourceName is name for "volumesnapshotschedule" resource
	VolumeSnapshotScheduleResourceName = "volumesnapshotschedule"
	// VolumeSnapshotScheduleResourcePlural is plural for "volumesnapshotschedule" resource
	VolumeSnapshotScheduleResourcePlural = "volumesnapshotschedules"
)
View Source
const DefaultDailyPolicyRetain = Retain(30)

DefaultDailyPolicyRetain Default for objects to be retained for the daily policy

View Source
const DefaultIntervalPolicyRetain = Retain(10)

DefaultIntervalPolicyRetain Default for objects to be retained for the interval policy

View Source
const DefaultMonthlyPolicyRetain = Retain(12)

DefaultMonthlyPolicyRetain Default for objects to be retained for the monthly policy

View Source
const DefaultWeeklyPolicyRetain = Retain(7)

DefaultWeeklyPolicyRetain Default for objects to be retained for the weekly policy

Variables

View Source
var (
	// SchemeBuilder is the scheme builder for the types
	SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
	// AddToScheme applies all the stored functions to the scheme
	AddToScheme = SchemeBuilder.AddToScheme
)
View Source
var Days = map[string]time.Weekday{
	"Sunday":    time.Sunday,
	"Sun":       time.Sunday,
	"sunday":    time.Sunday,
	"sun":       time.Sunday,
	"Monday":    time.Monday,
	"Mon":       time.Monday,
	"monday":    time.Monday,
	"mon":       time.Monday,
	"Tuesday":   time.Tuesday,
	"Tue":       time.Tuesday,
	"tuesday":   time.Tuesday,
	"tue":       time.Tuesday,
	"Wednesday": time.Wednesday,
	"Wed":       time.Wednesday,
	"wednesday": time.Wednesday,
	"wed":       time.Wednesday,
	"Thursday":  time.Thursday,
	"Thu":       time.Thursday,
	"Thur":      time.Thursday,
	"Thurs":     time.Thursday,
	"thursday":  time.Thursday,
	"thu":       time.Thursday,
	"thur":      time.Thursday,
	"thurs":     time.Thursday,
	"Friday":    time.Friday,
	"Fri":       time.Friday,
	"friday":    time.Friday,
	"fri":       time.Friday,
	"Saturday":  time.Saturday,
	"Sat":       time.Saturday,
	"saturday":  time.Saturday,
	"sat":       time.Saturday,
}

Days is a map of valid Day strings

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

SchemeGroupVersion is group version used to register these objects

Functions

func CreateObjectsMap added in v1.4.0

func CreateObjectsMap(
	includeObjects []ObjectInfo,
) map[ObjectInfo]bool

CreateObjectsMap create a map of objects that are to be included in an operation. Allows quick lookup of objects

func Kind

func Kind(kind string) schema.GroupKind

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

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type Action

type Action struct {
	meta.TypeMeta   `json:",inline"`
	meta.ObjectMeta `json:"metadata,omitempty"`
	Spec            ActionSpec   `json:"spec"`
	Status          ActionStatus `json:"status"`
}

Action represents a task that will be performed once It is similar to k8s Job

func (*Action) DeepCopy

func (in *Action) DeepCopy() *Action

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

func (*Action) DeepCopyInto

func (in *Action) DeepCopyInto(out *Action)

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

func (*Action) DeepCopyObject

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

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

type ActionList

type ActionList struct {
	meta.TypeMeta `json:",inline"`
	meta.ListMeta `json:"metadata,omitempty"`
	Items         []Action `json:"items"`
}

ActionList is a list of Actions

func (*ActionList) DeepCopy

func (in *ActionList) DeepCopy() *ActionList

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

func (*ActionList) DeepCopyInto

func (in *ActionList) DeepCopyInto(out *ActionList)

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

func (*ActionList) DeepCopyObject

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

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

type ActionParameter

type ActionParameter ActionParameterItem

ActionParameter lists the parameters required to perform the action

type ActionParameterItem

type ActionParameterItem struct {
	FailoverParameter FailoverParameter `json:"failoverParameter,omitempty"`
	FailbackParameter FailbackParameter `json:"failbackParameter,omitempty"`
}

type ActionSpec

type ActionSpec struct {
	ActionType      ActionType      `json:"actionType"`
	ActionParameter ActionParameter `json:"actionParameter"`
}

ActionSpec specifies the type of Action

func (*ActionSpec) DeepCopy

func (in *ActionSpec) DeepCopy() *ActionSpec

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

func (*ActionSpec) DeepCopyInto

func (in *ActionSpec) DeepCopyInto(out *ActionSpec)

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

type ActionStageType

type ActionStageType string

ActionStageType is the stage of the action

const (
	// ActionStageInitial for when action is created
	ActionStageInitial ActionStageType = ""
	// ActionStageScaleDownDestination for scaling down apps in destination
	ActionStageScaleDownDestination ActionStageType = "ScaleDownDestination"
	// ActionStageScaleDownSource for scaling down apps in source
	ActionStageScaleDownSource ActionStageType = "ScaleDownSource"
	// ActionStageScaleUpDestination for scaling apps in destination
	ActionStageScaleUpDestination ActionStageType = "ScaleUpDestination"
	// ActionStageScaleUpSource for scaling apps in source
	ActionStageScaleUpSource ActionStageType = "ScaleUpSource"
	// ActionStageLastMileMigration for doing a last migration before failover/failback to ensure data integrity
	ActionStageLastMileMigration ActionStageType = "LastMileMigration"
	// ActionStageWaitAfterScaleDown for waiting after scaling down of apps
	ActionStageWaitAfterScaleDown ActionStageType = "WaitAfterScaleDown"
	// ActionStageFinal is the final stage for action
	ActionStageFinal ActionStageType = "Final"
)

type ActionStatus

type ActionStatus struct {
	Stage           ActionStageType  `json:"stage"`
	Status          ActionStatusType `json:"status"`
	FinishTimestamp meta.Time        `json:"finishTimestamp"`
	Summary         *ActionSummary   `json:"summary"`
	Reason          string           `json:"reason"`
}

ActionStatus is the status of action operation

type ActionStatusType

type ActionStatusType string

ActionStatusType is the current status of the Action

const (
	// ActionStatusInitial means Action CR has been created
	ActionStatusInitial ActionStatusType = ""
	// ActionStatusScheduled means Action is yet to start
	ActionStatusScheduled ActionStatusType = "Scheduled"
	// ActionStatusInProgress means Action is in progress
	ActionStatusInProgress ActionStatusType = "In-Progress"
	// ActionStatusFailed means that Action has failed
	ActionStatusFailed ActionStatusType = "Failed"
	// ActionStatusSuccessful means Action has completed successfully
	ActionStatusSuccessful ActionStatusType = "Successful"
	// ActionStatusRollbackSuccessful means Rollback has completed successfully
	ActionStatusRollbackSuccessful ActionStatusType = "RollbackSuccessful"
	// ActionStatusRollbackInProgress means Rollback failed
	ActionStatusRollbackFailed ActionStatusType = "RollbackFailed"
)

type ActionSummary

type ActionSummary ActionSummaryItem

ActionSummary lists the summary of the action

type ActionSummaryItem

type ActionSummaryItem struct {
	FailoverSummaryItem []*FailoverSummary `json:"failoverSummary,omitempty"`
	FailbackSummaryItem []*FailbackSummary `json:"failbackSummary,omitempty"`
}

ActionSummaryItem has summary for each action type

type ActionType

type ActionType string

ActionType lists the various actions that can be performed

const (
	// ActionTypeNearSyncFailover action type to start apps on destination cluster in nearsync DR case
	ActionTypeNearSyncFailover ActionType = "nearsyncFailover"
	// ActionTypeFailover action type to start apps in destination cluster for sync and async DRs
	ActionTypeFailover ActionType = "failover"
	// ActionTypeFailback action type to migrate back to source and start apps in source
	ActionTypeFailback ActionType = "failback"
)

type ApplicationBackup added in v1.4.0

type ApplicationBackup struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              ApplicationBackupSpec   `json:"spec"`
	Status            ApplicationBackupStatus `json:"status"`
}

ApplicationBackup represents applicationbackup object

func (*ApplicationBackup) DeepCopy added in v1.4.0

func (in *ApplicationBackup) DeepCopy() *ApplicationBackup

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

func (*ApplicationBackup) DeepCopyInto added in v1.4.0

func (in *ApplicationBackup) DeepCopyInto(out *ApplicationBackup)

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

func (*ApplicationBackup) DeepCopyObject added in v1.4.0

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

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

type ApplicationBackupList added in v1.4.0

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

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

ApplicationBackupList is a list of ApplicationBackups

func (*ApplicationBackupList) DeepCopy added in v1.4.0

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

func (*ApplicationBackupList) DeepCopyInto added in v1.4.0

func (in *ApplicationBackupList) DeepCopyInto(out *ApplicationBackupList)

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

func (*ApplicationBackupList) DeepCopyObject added in v1.4.0

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

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

type ApplicationBackupReclaimPolicyType added in v1.4.0

type ApplicationBackupReclaimPolicyType string

ApplicationBackupReclaimPolicyType is the reclaim policy for the application backup

const (
	// ApplicationBackupReclaimPolicyDelete is to specify that the backup should
	// be deleted when the object is deleted
	ApplicationBackupReclaimPolicyDelete ApplicationBackupReclaimPolicyType = "Delete"
	// ApplicationBackupReclaimPolicyRetain is to specify that the backup should
	// be retained when the object is deleted
	ApplicationBackupReclaimPolicyRetain ApplicationBackupReclaimPolicyType = "Retain"
)

type ApplicationBackupResourceInfo added in v1.4.0

type ApplicationBackupResourceInfo struct {
	ObjectInfo `json:",inline"`
	Status     ApplicationBackupStatusType `json:"status"`
	Reason     string                      `json:"reason"`
}

ApplicationBackupResourceInfo is the info for the backup of a resource

func (*ApplicationBackupResourceInfo) DeepCopy added in v1.4.0

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

func (*ApplicationBackupResourceInfo) DeepCopyInto added in v1.4.0

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

type ApplicationBackupSchedule added in v1.4.0

type ApplicationBackupSchedule struct {
	meta.TypeMeta   `json:",inline"`
	meta.ObjectMeta `json:"metadata,omitempty"`
	Spec            ApplicationBackupScheduleSpec   `json:"spec"`
	Status          ApplicationBackupScheduleStatus `json:"status"`
}

ApplicationBackupSchedule represents a scheduled applicationbackup object

func (*ApplicationBackupSchedule) DeepCopy added in v1.4.0

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

func (*ApplicationBackupSchedule) DeepCopyInto added in v1.4.0

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

func (*ApplicationBackupSchedule) DeepCopyObject added in v1.4.0

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

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

type ApplicationBackupScheduleList added in v1.4.0

type ApplicationBackupScheduleList struct {
	meta.TypeMeta `json:",inline"`
	meta.ListMeta `json:"metadata,omitempty"`

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

ApplicationBackupScheduleList is a list of ApplicationBackupSchedules

func (*ApplicationBackupScheduleList) DeepCopy added in v1.4.0

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

func (*ApplicationBackupScheduleList) DeepCopyInto added in v1.4.0

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

func (*ApplicationBackupScheduleList) DeepCopyObject added in v1.4.0

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

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

type ApplicationBackupScheduleSpec added in v1.4.0

type ApplicationBackupScheduleSpec struct {
	Template           ApplicationBackupTemplateSpec `json:"template"`
	SchedulePolicyName string                        `json:"schedulePolicyName"`
	Suspend            *bool                         `json:"suspend"`
	ReclaimPolicy      ReclaimPolicyType             `json:"reclaimPolicy"`
	BackupType         string                        `json:"backupType"`
}

ApplicationBackupScheduleSpec is the spec used to schedule applicationbackups

func (*ApplicationBackupScheduleSpec) DeepCopy added in v1.4.0

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

func (*ApplicationBackupScheduleSpec) DeepCopyInto added in v1.4.0

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

type ApplicationBackupScheduleStatus added in v1.4.0

type ApplicationBackupScheduleStatus struct {
	Items map[SchedulePolicyType][]*ScheduledApplicationBackupStatus `json:"items"`
}

ApplicationBackupScheduleStatus is the status of a applicationbackup schedule

func (*ApplicationBackupScheduleStatus) DeepCopy added in v1.4.0

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

func (*ApplicationBackupScheduleStatus) DeepCopyInto added in v1.4.0

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

type ApplicationBackupSpec added in v1.4.0

type ApplicationBackupSpec struct {
	Namespaces         []string                           `json:"namespaces"`
	BackupLocation     string                             `json:"backupLocation"`
	PlatformCredential string                             `json:"platformCredential"`
	RancherProjects    map[string]string                  `json:"rancherProjects"`
	Selectors          map[string]string                  `json:"selectors"`
	NamespaceSelector  string                             `json:"namespaceSelector"`
	PreExecRule        string                             `json:"preExecRule"`
	PostExecRule       string                             `json:"postExecRule"`
	ReclaimPolicy      ApplicationBackupReclaimPolicyType `json:"reclaimPolicy"`
	SkipServiceUpdate  bool                               `json:"skipServiceUpdate"`
	// Options to be passed in to the driver
	Options          map[string]string `json:"options"`
	IncludeResources []ObjectInfo      `json:"includeResources"`
	ResourceTypes    []string          `json:"resourceTypes"`
	BackupType       string            `json:"backupType"`
	// CSISnapshotClassMap is 1 to 1 Map of CSI Provisioner to its Corresponding VolumeSnapshotClass to be used for backup
	CSISnapshotClassMap map[string]string `json:"csiSnapshotClassMap"`
	// BackupObjectType set to All for Namespace backup, VirtualMachine for VM specific Backup
	BackupObjectType string `json:"backupObjectType"`
	// SkipAutoExecRules is false by default, if set true will skip auto exec rules for VM specific backup.
	// This field is unused for non VM specific Backup.
	SkipAutoExecRules bool `json:"skipAutoExecRules"`
	DirectKDMP        bool `json:"directKDMP"`
}

ApplicationBackupSpec is the spec used to backup applications

func (*ApplicationBackupSpec) DeepCopy added in v1.4.0

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

func (*ApplicationBackupSpec) DeepCopyInto added in v1.4.0

func (in *ApplicationBackupSpec) DeepCopyInto(out *ApplicationBackupSpec)

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

type ApplicationBackupStageType added in v1.4.0

type ApplicationBackupStageType string

ApplicationBackupStageType is the stage of the backup

const (
	// ApplicationBackupStageInitial for when backup is created
	ApplicationBackupStageInitial ApplicationBackupStageType = ""
	// ApplicationBackupStageImportResource for when vm resources are imported
	ApplicationBackupStageImportResource ApplicationBackupStageType = "ImportResource"
	// ApplicationBackupStagePreExecRule for when the PreExecRule is being executed
	ApplicationBackupStagePreExecRule ApplicationBackupStageType = "PreExecRule"
	// ApplicationBackupStagePostExecRule for when the PostExecRule is being executed
	ApplicationBackupStagePostExecRule ApplicationBackupStageType = "PostExecRule"
	// ApplicationBackupStageVolumes for when volumes are being backed up
	ApplicationBackupStageVolumes ApplicationBackupStageType = "Volumes"
	// ApplicationBackupStageApplications for when applications are being backed up
	ApplicationBackupStageApplications ApplicationBackupStageType = "Applications"
	// ApplicationBackupStageFinal is the final stage for backup
	ApplicationBackupStageFinal ApplicationBackupStageType = "Final"
)

type ApplicationBackupStatus added in v1.4.0

type ApplicationBackupStatus struct {
	Stage                ApplicationBackupStageType       `json:"stage"`
	Status               ApplicationBackupStatusType      `json:"status"`
	Reason               string                           `json:"reason"`
	Resources            []*ApplicationBackupResourceInfo `json:"resources"`
	Volumes              []*ApplicationBackupVolumeInfo   `json:"volumes"`
	BackupPath           string                           `json:"backupPath"`
	TriggerTimestamp     metav1.Time                      `json:"triggerTimestamp"`
	LastUpdateTimestamp  metav1.Time                      `json:"lastUpdateTimestamp"`
	FinishTimestamp      metav1.Time                      `json:"finishTimestamp"`
	TotalSize            uint64                           `json:"totalSize"`
	ResourceCount        int                              `json:"resourceCount"`
	LargeResourceEnabled bool                             `json:"largeResourceEnabled"`
	FailedVolCount       int                              `json:"failedVolCount"`
}

ApplicationBackupStatus is the status of a application backup operation

func (*ApplicationBackupStatus) DeepCopy added in v1.4.0

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

func (*ApplicationBackupStatus) DeepCopyInto added in v1.4.0

func (in *ApplicationBackupStatus) DeepCopyInto(out *ApplicationBackupStatus)

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

type ApplicationBackupStatusType added in v1.4.0

type ApplicationBackupStatusType string

ApplicationBackupStatusType is the status of the application backup

const (
	// ApplicationBackupStatusInitial is the initial state when backup is created
	ApplicationBackupStatusInitial ApplicationBackupStatusType = ""
	// ApplicationBackupStatusPending for when backup is still pending
	ApplicationBackupStatusPending ApplicationBackupStatusType = "Pending"
	// ApplicationBackupStatusInProgress for when backup is in progress
	ApplicationBackupStatusInProgress ApplicationBackupStatusType = "InProgress"
	// ApplicationBackupStatusFailed for when backup has failed
	ApplicationBackupStatusFailed ApplicationBackupStatusType = "Failed"
	// ApplicationBackupStatusPartialSuccess for when backup was partially successful
	ApplicationBackupStatusPartialSuccess ApplicationBackupStatusType = "PartialSuccess"
	// ApplicationBackupStatusSuccessful for when backup has completed successfully
	ApplicationBackupStatusSuccessful ApplicationBackupStatusType = "Successful"
)

type ApplicationBackupTemplateSpec added in v1.4.0

type ApplicationBackupTemplateSpec struct {
	Spec ApplicationBackupSpec `json:"spec"`
}

ApplicationBackupTemplateSpec describes the data a ApplicationBackup should have when created from a template

func (*ApplicationBackupTemplateSpec) DeepCopy added in v1.4.0

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

func (*ApplicationBackupTemplateSpec) DeepCopyInto added in v1.4.0

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

type ApplicationBackupVolumeInfo added in v1.4.0

type ApplicationBackupVolumeInfo struct {
	PersistentVolumeClaim    string                      `json:"persistentVolumeClaim"`
	PersistentVolumeClaimUID string                      `json:"persistentVolumeClaimUID"`
	Namespace                string                      `json:"namespace"`
	Volume                   string                      `json:"volume"`
	BackupID                 string                      `json:"backupID"`
	DriverName               string                      `json:"driverName"`
	Zones                    []string                    `json:"zones"`
	Status                   ApplicationBackupStatusType `json:"status"`
	Reason                   string                      `json:"reason"`
	Options                  map[string]string           `jons:"options"`
	TotalSize                uint64                      `json:"totalSize"`
	ActualSize               uint64                      `json:"actualSize"`
	StorageClass             string                      `json:"storageClass"`
	Provisioner              string                      `json:"provisioner"`
	VolumeSnapshot           string                      `json:"volumeSnapshot"`
	// It preserves the uid and gid of the pod that is run by the backup job
	// that helps in restore operation. this is required only when PSA is enforced.
	JobSecurityContext JobSecurityContext `json:",inline"`
}

ApplicationBackupVolumeInfo is the info for the backup of a volume

func (*ApplicationBackupVolumeInfo) DeepCopy added in v1.4.0

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

func (*ApplicationBackupVolumeInfo) DeepCopyInto added in v1.4.0

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

type ApplicationClone added in v1.4.0

type ApplicationClone struct {
	meta.TypeMeta   `json:",inline"`
	meta.ObjectMeta `json:"metadata,omitempty"`
	Spec            ApplicationCloneSpec   `json:"spec"`
	Status          ApplicationCloneStatus `json:"status,omitempty"`
}

ApplicationClone represents the cloning of application in different namespaces

func (*ApplicationClone) DeepCopy added in v1.4.0

func (in *ApplicationClone) DeepCopy() *ApplicationClone

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

func (*ApplicationClone) DeepCopyInto added in v1.4.0

func (in *ApplicationClone) DeepCopyInto(out *ApplicationClone)

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

func (*ApplicationClone) DeepCopyObject added in v1.4.0

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

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

type ApplicationCloneList added in v1.4.0

type ApplicationCloneList struct {
	meta.TypeMeta `json:",inline"`
	meta.ListMeta `json:"metadata,omitempty"`
	Items         []ApplicationClone `json:"items"`
}

ApplicationCloneList is a list of ApplicationClones

func (*ApplicationCloneList) DeepCopy added in v1.4.0

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

func (*ApplicationCloneList) DeepCopyInto added in v1.4.0

func (in *ApplicationCloneList) DeepCopyInto(out *ApplicationCloneList)

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

func (*ApplicationCloneList) DeepCopyObject added in v1.4.0

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

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

type ApplicationCloneReplacePolicyType added in v1.4.0

type ApplicationCloneReplacePolicyType string

ApplicationCloneReplacePolicyType defines the policy for objects that might already exist in the destination namespace, should they be replaced, deleted, retained or overwritten

const (
	// ApplicationCloneReplacePolicyDelete will delete any conflicts in objects in the
	// destination namespace
	ApplicationCloneReplacePolicyDelete ApplicationCloneReplacePolicyType = "Delete"
	// ApplicationCloneReplacePolicyRetain will retain any conflicts and not change/clone
	ApplicationCloneReplacePolicyRetain ApplicationCloneReplacePolicyType = "Retain"
	// ApplicationCloneReplacePolicyFail will trigger a clone failure on conflicts
	ApplicationCloneReplacePolicyFail ApplicationCloneReplacePolicyType = "Fail"
)

type ApplicationCloneResourceInfo added in v1.4.0

type ApplicationCloneResourceInfo struct {
	Name                  string                     `json:"name"`
	Reason                string                     `json:"reason"`
	Status                ApplicationCloneStatusType `json:"status"`
	meta.GroupVersionKind `json:",inline"`
}

ApplicationCloneResourceInfo is the info for the cloning of a resource

func (*ApplicationCloneResourceInfo) DeepCopy added in v1.4.0

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

func (*ApplicationCloneResourceInfo) DeepCopyInto added in v1.4.0

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

type ApplicationCloneSpec added in v1.4.0

type ApplicationCloneSpec struct {
	// SourceNamespace can be optional, and we can check in the code that we are using
	// the same namespace in which we are creating the cloning object
	// +optional
	SourceNamespace string `json:"sourceNamespace,omitempty"`
	// DestinationNamespace is a must parameter to tell the cloning object
	// where to place the application objects
	DestinationNamespace string `json:"destinationNamespace"`
	// Selectors for label on objects
	Selectors    map[string]string `json:"selectors"`
	PreExecRule  string            `json:"preExecRule"`
	PostExecRule string            `json:"postExecRule"`
	// ReplacePolicy to decide how to react when a object conflict occurs in the cloning process
	ReplacePolicy                ApplicationCloneReplacePolicyType `json:"replacePolicy"`
	IncludeOptionalResourceTypes []string                          `json:"includeOptionalResourceTypes"`
}

ApplicationCloneSpec defines the spec to create an application clone

func (*ApplicationCloneSpec) DeepCopy added in v1.4.0

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

func (*ApplicationCloneSpec) DeepCopyInto added in v1.4.0

func (in *ApplicationCloneSpec) DeepCopyInto(out *ApplicationCloneSpec)

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

type ApplicationCloneStageType added in v1.4.0

type ApplicationCloneStageType string

ApplicationCloneStageType defines the stage of the cloning process

const (
	// ApplicationCloneStageInitial when the cloning was started
	ApplicationCloneStageInitial ApplicationCloneStageType = ""
	// ApplicationCloneStagePreExecRule stage when pre-exec rules are being executed
	ApplicationCloneStagePreExecRule ApplicationCloneStageType = "PreExecRule"
	// ApplicationCloneStagePostExecRule stage when post-exec rules are being executed
	ApplicationCloneStagePostExecRule ApplicationCloneStageType = "PostExecRule"
	// ApplicationCloneStageVolumes stage where the volumes are being cloned
	ApplicationCloneStageVolumes ApplicationCloneStageType = "Volumes"
	// ApplicationCloneStageApplications stage when applications are being cloned
	ApplicationCloneStageApplications ApplicationCloneStageType = "Applications"
	// ApplicationCloneStageFinal is the final stage for backup
	ApplicationCloneStageFinal ApplicationCloneStageType = "Final"
)

type ApplicationCloneStatus added in v1.4.0

type ApplicationCloneStatus struct {
	// Status of the cloning process
	Status ApplicationCloneStatusType `json:"status"`
	// Stage of the cloning process
	Stage           ApplicationCloneStageType       `json:"stage"`
	Resources       []*ApplicationCloneResourceInfo `json:"resources"`
	Volumes         []*ApplicationCloneVolumeInfo   `json:"volumes"`
	FinishTimestamp meta.Time                       `json:"finishTimestamp"`
}

ApplicationCloneStatus defines the status of the clone

func (*ApplicationCloneStatus) DeepCopy added in v1.4.0

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

func (*ApplicationCloneStatus) DeepCopyInto added in v1.4.0

func (in *ApplicationCloneStatus) DeepCopyInto(out *ApplicationCloneStatus)

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

type ApplicationCloneStatusType added in v1.4.0

type ApplicationCloneStatusType string

ApplicationCloneStatusType defines status of the application being cloned

const (
	// ApplicationCloneStatusInitial initial state when the cloning will start
	ApplicationCloneStatusInitial ApplicationCloneStatusType = ""
	// ApplicationCloneStatusPending when cloning is still pending
	ApplicationCloneStatusPending ApplicationCloneStatusType = "Pending"
	// ApplicationCloneStatusInProgress cloning in progress
	ApplicationCloneStatusInProgress ApplicationCloneStatusType = "InProgress"
	// ApplicationCloneStatusFailed when cloning has failed
	ApplicationCloneStatusFailed ApplicationCloneStatusType = "Failed"
	// ApplicationCloneStatusSuccessful when cloning was a success
	ApplicationCloneStatusSuccessful ApplicationCloneStatusType = "Successful"
	// ApplicationCloneStatusRetained for when clone was skipped to retain an already existing resource
	ApplicationCloneStatusRetained ApplicationCloneStatusType = "Retained"
	// ApplicationCloneStatusPartialSuccess when cloning was only partially successful
	ApplicationCloneStatusPartialSuccess ApplicationCloneStatusType = "PartialSuccess"
)

type ApplicationCloneVolumeInfo added in v1.4.0

type ApplicationCloneVolumeInfo struct {
	PersistentVolumeClaim string                     `json:"persistentVolumeClaim"`
	Volume                string                     `json:"volume"`
	CloneVolume           string                     `json:"cloneVolume"`
	Status                ApplicationCloneStatusType `json:"status"`
	Reason                string                     `json:"reason"`
}

ApplicationCloneVolumeInfo is the info for the cloning of a volume

func (*ApplicationCloneVolumeInfo) DeepCopy added in v1.4.0

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

func (*ApplicationCloneVolumeInfo) DeepCopyInto added in v1.4.0

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

type ApplicationRegistration added in v1.4.0

type ApplicationRegistration struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Resources         []ApplicationResource `json:"resources"`
}

ApplicationRegistration to collect crd resources

func (*ApplicationRegistration) DeepCopy added in v1.4.0

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

func (*ApplicationRegistration) DeepCopyInto added in v1.4.0

func (in *ApplicationRegistration) DeepCopyInto(out *ApplicationRegistration)

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

func (*ApplicationRegistration) DeepCopyObject added in v1.4.0

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

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

type ApplicationRegistrationList added in v1.4.0

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

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

ApplicationRegistrationList is a list of ApplicationRegistration

func (*ApplicationRegistrationList) DeepCopy added in v1.4.0

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

func (*ApplicationRegistrationList) DeepCopyInto added in v1.4.0

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

func (*ApplicationRegistrationList) DeepCopyObject added in v1.4.0

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

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

type ApplicationResource added in v1.4.0

type ApplicationResource struct {
	// ResourceKind crd kind
	// ResourceKind string `json:"resourceKind"`
	// CRDName to register CR on destination clusters
	metav1.GroupVersionKind `json:",inline"`
	// KeepStatus if set to true collect status
	// while doing backup/migration/restore etc
	KeepStatus bool `json:"keepStatus"`
	// SuspendOptions to disable parent CR upon migration/restore/clone
	SuspendOptions SuspendOptions `json:"suspendOptions"`
	// PodsPath to help activate/deactivate crd upon migration
	PodsPath string `json:"podsPath"`
	// Some CRs can have nested servers which can be enabled/disabled
	// in addition to parent server
	// NestedSuspendOptions allow way to suspend such CR server
	NestedSuspendOptions []SuspendOptions `json:"customSuspendOptions"`
	// Clusterwide Operators will control the CRs in all namespaces
	// StashStrategy option if enabled will make sure as part of migration the CR does not get applied
	// if StashCR is enabled. The CR will be applied as part of app activation
	StashStrategy StashStrategy `json:"stashStrategy"`
}

ApplicationResource definations to collect resource and fields

func (*ApplicationResource) DeepCopy added in v1.4.0

func (in *ApplicationResource) DeepCopy() *ApplicationResource

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

func (*ApplicationResource) DeepCopyInto added in v1.4.0

func (in *ApplicationResource) DeepCopyInto(out *ApplicationResource)

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

type ApplicationRestore added in v1.4.0

type ApplicationRestore struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              ApplicationRestoreSpec   `json:"spec"`
	Status            ApplicationRestoreStatus `json:"status"`
}

ApplicationRestore represents applicationrestore object

func (*ApplicationRestore) DeepCopy added in v1.4.0

func (in *ApplicationRestore) DeepCopy() *ApplicationRestore

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

func (*ApplicationRestore) DeepCopyInto added in v1.4.0

func (in *ApplicationRestore) DeepCopyInto(out *ApplicationRestore)

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

func (*ApplicationRestore) DeepCopyObject added in v1.4.0

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

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

type ApplicationRestoreList added in v1.4.0

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

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

ApplicationRestoreList is a list of ApplicationRestores

func (*ApplicationRestoreList) DeepCopy added in v1.4.0

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

func (*ApplicationRestoreList) DeepCopyInto added in v1.4.0

func (in *ApplicationRestoreList) DeepCopyInto(out *ApplicationRestoreList)

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

func (*ApplicationRestoreList) DeepCopyObject added in v1.4.0

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

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

type ApplicationRestoreReplacePolicyType added in v1.4.0

type ApplicationRestoreReplacePolicyType string

ApplicationRestoreReplacePolicyType is the replace policy for the application restore in case there are conflicting resources already present on the cluster

const (
	// ApplicationRestoreReplacePolicyDelete is to specify that the restore
	// should delete existing resources that conflict with resources being
	// restored
	ApplicationRestoreReplacePolicyDelete ApplicationRestoreReplacePolicyType = "Delete"
	// ApplicationRestoreReplacePolicyRetain is to specify that the restore
	// should retain existing resources that conflict with resources being
	// restored
	ApplicationRestoreReplacePolicyRetain ApplicationRestoreReplacePolicyType = "Retain"
)

type ApplicationRestoreResourceInfo added in v1.4.0

type ApplicationRestoreResourceInfo struct {
	ObjectInfo `json:',inline"`
	Status     ApplicationRestoreStatusType `json:"status"`
	Reason     string                       `json:"reason"`
}

ApplicationRestoreResourceInfo is the info for the restore of a resource

func (*ApplicationRestoreResourceInfo) DeepCopy added in v1.4.0

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

func (*ApplicationRestoreResourceInfo) DeepCopyInto added in v1.4.0

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

type ApplicationRestoreResourceStateType

type ApplicationRestoreResourceStateType string
const (
	ApplicationRestoreResourcePreparing ApplicationRestoreResourceStateType = "Preparing"
	ApplicationRestoreResourceDeleting  ApplicationRestoreResourceStateType = "Deleting"
	ApplicationRestoreResourceVerifying ApplicationRestoreResourceStateType = "Verifying"
	ApplicationRestoreResourceApplying  ApplicationRestoreResourceStateType = "Applying"
)

type ApplicationRestoreSpec added in v1.4.0

type ApplicationRestoreSpec struct {
	BackupName                   string                              `json:"backupName"`
	BackupLocation               string                              `json:"backupLocation"`
	NamespaceMapping             map[string]string                   `json:"namespaceMapping"`
	ReplacePolicy                ApplicationRestoreReplacePolicyType `json:"replacePolicy"`
	IncludeOptionalResourceTypes []string                            `json:"includeOptionalResourceTypes"`
	IncludeResources             []ObjectInfo                        `json:"includeResources"`
	StorageClassMapping          map[string]string                   `json:"storageClassMapping"`
	RancherProjectMapping        map[string]string                   `json:"rancherProjectMapping"`
	// BackupObjectType specifies if its vm specific backup Object for restore.
	BackupObjectType string `json:"backupObjectType"`
}

ApplicationRestoreSpec is the spec used to restore applications

func (*ApplicationRestoreSpec) DeepCopy added in v1.4.0

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

func (*ApplicationRestoreSpec) DeepCopyInto added in v1.4.0

func (in *ApplicationRestoreSpec) DeepCopyInto(out *ApplicationRestoreSpec)

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

type ApplicationRestoreStageType added in v1.4.0

type ApplicationRestoreStageType string

ApplicationRestoreStageType is the stage of the restore

const (
	// ApplicationRestoreStageInitial for when restore is created
	ApplicationRestoreStageInitial ApplicationRestoreStageType = ""
	// ApplicationRestoreStageIncludeResources for when includeResources for vm restore is processed
	ApplicationRestoreStageIncludeResources ApplicationRestoreStageType = "IncludeResources"
	// ApplicationRestoreStageVolumes for when volumes are being restored
	ApplicationRestoreStageVolumes ApplicationRestoreStageType = "Volumes"
	// ApplicationRestoreStageApplications for when applications are being
	// restored
	ApplicationRestoreStageApplications ApplicationRestoreStageType = "Applications"
	// ApplicationRestoreStageFinal is the final stage for restore
	ApplicationRestoreStageFinal ApplicationRestoreStageType = "Final"
)

type ApplicationRestoreStatus added in v1.4.0

type ApplicationRestoreStatus struct {
	Stage                 ApplicationRestoreStageType         `json:"stage"`
	Status                ApplicationRestoreStatusType        `json:"status"`
	Reason                string                              `json:"reason"`
	Resources             []*ApplicationRestoreResourceInfo   `json:"resources"`
	Volumes               []*ApplicationRestoreVolumeInfo     `json:"volumes"`
	FinishTimestamp       metav1.Time                         `json:"finishTimestamp"`
	LastUpdateTimestamp   metav1.Time                         `json:"lastUpdateTimestamp"`
	TotalSize             uint64                              `json:"totalSize"`
	ResourceCount         int                                 `json:"resourceCount"`
	LargeResourceEnabled  bool                                `json:"largeResourceEnabled"`
	RestoredResourceCount int                                 `json:"restoredresourceCount"`
	ResourceRestoreState  ApplicationRestoreResourceStateType `json:"resourcerestorestate"`
}

ApplicationRestoreStatus is the status of a application restore operation

func (*ApplicationRestoreStatus) DeepCopy added in v1.4.0

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

func (*ApplicationRestoreStatus) DeepCopyInto added in v1.4.0

func (in *ApplicationRestoreStatus) DeepCopyInto(out *ApplicationRestoreStatus)

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

type ApplicationRestoreStatusType added in v1.4.0

type ApplicationRestoreStatusType string

ApplicationRestoreStatusType is the status of the application restore

const (
	// ApplicationRestoreStatusInitial is the initial state when restore is created
	ApplicationRestoreStatusInitial ApplicationRestoreStatusType = ""
	// ApplicationRestoreStatusPending for when restore is still pending
	ApplicationRestoreStatusPending ApplicationRestoreStatusType = "Pending"
	// ApplicationRestoreStatusInProgress for when restore is in progress
	ApplicationRestoreStatusInProgress ApplicationRestoreStatusType = "InProgress"
	// ApplicationRestoreStatusFailed for when restore has failed
	ApplicationRestoreStatusFailed ApplicationRestoreStatusType = "Failed"
	// ApplicationRestoreStatusPartialSuccess for when restore was partially successful
	ApplicationRestoreStatusPartialSuccess ApplicationRestoreStatusType = "PartialSuccess"
	// ApplicationRestoreStatusRetained for when restore was skipped to retain an already existing resource
	ApplicationRestoreStatusRetained ApplicationRestoreStatusType = "Retained"
	// ApplicationRestoreStatusSuccessful for when restore has completed successfully
	ApplicationRestoreStatusSuccessful ApplicationRestoreStatusType = "Successful"
)

type ApplicationRestoreVolumeInfo added in v1.4.0

type ApplicationRestoreVolumeInfo struct {
	PersistentVolumeClaim    string                       `json:"persistentVolumeClaim"`
	PersistentVolumeClaimUID string                       `json:"persistentVolumeClaimUID"`
	SourceNamespace          string                       `json:"sourceNamespace"`
	SourceVolume             string                       `json:"sourceVolume"`
	RestoreVolume            string                       `json:"restoreVolume"`
	DriverName               string                       `json:"driverName"`
	Zones                    []string                     `json:"zones"`
	Status                   ApplicationRestoreStatusType `json:"status"`
	Reason                   string                       `json:"reason"`
	TotalSize                uint64                       `json:"totalSize"`
	Options                  map[string]string            `json:"options"`
}

ApplicationRestoreVolumeInfo is the info for the restore of a volume

func (*ApplicationRestoreVolumeInfo) DeepCopy added in v1.4.0

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

func (*ApplicationRestoreVolumeInfo) DeepCopyInto added in v1.4.0

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

type AzureConfig added in v1.4.0

type AzureConfig struct {
	StorageAccountName string `json:"storageAccountName"`
	StorageAccountKey  string `json:"storageAccountKey"`
	TenantID           string `json:"tenantID"`
	SubscriptionID     string `json:"subscriptionID"`
	ClientID           string `json:"clientID"`
	ClientSecret       string `json:"clientSecret"`
	// Azure-Environment type for azure blob storage
	// supported option: "azure-public", "azure-china"
	Environment AzureEnvironment `json:"environment"`
	// Resource group name
	ResourceGroupName string `json:"resourceGroupName"`
}

AzureConfig specifies the config required to connect to Azure Blob Storage

func (*AzureConfig) DeepCopy added in v1.4.0

func (in *AzureConfig) DeepCopy() *AzureConfig

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

func (*AzureConfig) DeepCopyInto added in v1.4.0

func (in *AzureConfig) DeepCopyInto(out *AzureConfig)

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

type AzureEnvironment

type AzureEnvironment string

AzureEnvironment is the type of the azure environment

const (
	// AzurePublicCloud - azure environment type for azure public cloud
	AzurePublic AzureEnvironment = "AzurePublicCloud"
	// AzureChinaCloud - azure environment type for azure china cloud
	AzureChina AzureEnvironment = "AzureChinaCloud"
)

type BackupLocation added in v1.4.0

type BackupLocation struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Location          BackupLocationItem `json:"location"`
	Cluster           ClusterItem        `json:"cluster"`
}

BackupLocation represents a backuplocation object

func (*BackupLocation) DeepCopy added in v1.4.0

func (in *BackupLocation) DeepCopy() *BackupLocation

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

func (*BackupLocation) DeepCopyInto added in v1.4.0

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 v1.4.0

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

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

func (*BackupLocation) UpdateFromClusterSecret

func (bl *BackupLocation) UpdateFromClusterSecret(client kubernetes.Interface) error

UpdateFromClusterSecret updated the config information from the cluster secret if not provided inline

func (*BackupLocation) UpdateFromSecret added in v1.4.0

func (bl *BackupLocation) UpdateFromSecret(client kubernetes.Interface) error

UpdateFromSecret updated the config information from the secret if not provided inline

type BackupLocationItem added in v1.4.0

type BackupLocationItem struct {
	Type BackupLocationType `json:"type"`
	// Path is either the bucket or any other path for the backup location
	Path string `json:"path"`
	// EncryptionKey is deprecated. Instead use EncryptionV2Key field to pass the encryption key.
	EncryptionKey      string        `json:"encryptionKey"`
	S3Config           *S3Config     `json:"s3Config,omitempty"`
	AzureConfig        *AzureConfig  `json:"azureConfig,omitempty"`
	GoogleConfig       *GoogleConfig `json:"googleConfig,omitempty"`
	NFSConfig          *NFSConfig    `json:"nfsConfig,omitempty"`
	SecretConfig       string        `json:"secretConfig"`
	Sync               bool          `json:"sync"`
	RepositoryPassword string        `json:"repositoryPassword"`
	// EncryptionV2Key will be used to pass encryption key.
	EncryptionV2Key string `json:"encryptionV2Key"`
}

BackupLocationItem is the spec used to store a backup location Only one of S3Config, AzureConfig or GoogleConfig should be specified and should match the Type field. Members of the config can be specified inline or through the SecretConfig

func (*BackupLocationItem) DeepCopy added in v1.4.0

func (in *BackupLocationItem) DeepCopy() *BackupLocationItem

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

func (*BackupLocationItem) DeepCopyInto added in v1.4.0

func (in *BackupLocationItem) DeepCopyInto(out *BackupLocationItem)

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

type BackupLocationList added in v1.4.0

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

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

BackupLocationList is a list of ApplicationBackups

func (*BackupLocationList) DeepCopy added in v1.4.0

func (in *BackupLocationList) DeepCopy() *BackupLocationList

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

func (*BackupLocationList) DeepCopyInto added in v1.4.0

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 v1.4.0

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

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

type BackupLocationType added in v1.4.0

type BackupLocationType string

BackupLocationType is the type of the backup location

const (
	// BackupLocationS3 stores the backup in an S3-compliant objectstore
	BackupLocationS3 BackupLocationType = "s3"
	// BackupLocationAzure stores the backup in Azure Blob Storage
	BackupLocationAzure BackupLocationType = "azure"
	// BackupLocationGoogle stores the backup in Google Cloud Storage
	BackupLocationGoogle BackupLocationType = "google"
	// BackupLocationNFS stores the backup in NFS backed Storage
	BackupLocationNFS BackupLocationType = "nfs"
)

type ClusterDomainInfo added in v1.4.0

type ClusterDomainInfo struct {
	Name       string                  `json:"name"`
	State      ClusterDomainState      `json:"state"`
	SyncStatus ClusterDomainSyncStatus `json:"syncStatus"`
}

ClusterDomainInfo provides more information about a cluster domain

func (*ClusterDomainInfo) DeepCopy added in v1.4.0

func (in *ClusterDomainInfo) DeepCopy() *ClusterDomainInfo

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

func (*ClusterDomainInfo) DeepCopyInto added in v1.4.0

func (in *ClusterDomainInfo) DeepCopyInto(out *ClusterDomainInfo)

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

type ClusterDomainState added in v1.4.0

type ClusterDomainState string

ClusterDomainState defines the state of the cluster domain

const (
	// ClusterDomainActive indicates that the cluster domain is active
	ClusterDomainActive ClusterDomainState = "Active"

	// ClusterDomainInactive indicates that the cluster domain is inactive
	ClusterDomainInactive ClusterDomainState = "Inactive"
)

type ClusterDomainSyncStatus added in v1.4.0

type ClusterDomainSyncStatus string

ClusterDomainSyncStatus defines the current sync progress status of a cluster domain

const (
	// ClusterDomainSyncStatusInSync indicates the cluster domain is in sync
	ClusterDomainSyncStatusInSync ClusterDomainSyncStatus = "InSync"
	// ClusterDomainSyncStatusInProgress indicates the cluster domain sync is in progress
	ClusterDomainSyncStatusInProgress ClusterDomainSyncStatus = "SyncInProgress"
	// ClusterDomainSyncStatusNotInSync indicates the cluster domain is not in sync
	ClusterDomainSyncStatusNotInSync ClusterDomainSyncStatus = "NotInSync"
	// ClusterDomainSyncStatusUnknown indicates the cluster domain sync status is currently not known
	ClusterDomainSyncStatusUnknown ClusterDomainSyncStatus = "SyncStatusUnknown"
)

type ClusterDomainUpdate added in v1.4.0

type ClusterDomainUpdate struct {
	meta.TypeMeta   `json:",inline"`
	meta.ObjectMeta `json:"metadata,omitempty"`
	Spec            ClusterDomainUpdateSpec   `json:"spec"`
	Status          ClusterDomainUpdateStatus `json:"status"`
}

ClusterDomainUpdate indicates the update need to be done on a ClusterDomain

func (*ClusterDomainUpdate) DeepCopy added in v1.4.0

func (in *ClusterDomainUpdate) DeepCopy() *ClusterDomainUpdate

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

func (*ClusterDomainUpdate) DeepCopyInto added in v1.4.0

func (in *ClusterDomainUpdate) DeepCopyInto(out *ClusterDomainUpdate)

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

func (*ClusterDomainUpdate) DeepCopyObject added in v1.4.0

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

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

type ClusterDomainUpdateList added in v1.4.0

type ClusterDomainUpdateList struct {
	meta.TypeMeta `json:",inline"`
	meta.ListMeta `json:"metadata,omitempty"`
	Items         []ClusterDomainUpdate `json:"items"`
}

ClusterDomainUpdateList is a list of statuses for cluster domains

func (*ClusterDomainUpdateList) DeepCopy added in v1.4.0

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

func (*ClusterDomainUpdateList) DeepCopyInto added in v1.4.0

func (in *ClusterDomainUpdateList) DeepCopyInto(out *ClusterDomainUpdateList)

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

func (*ClusterDomainUpdateList) DeepCopyObject added in v1.4.0

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

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

type ClusterDomainUpdateSpec added in v1.4.0

type ClusterDomainUpdateSpec struct {
	ClusterDomain string `json:"clusterdomain"`
	Active        bool   `json:"active"`
}

ClusterDomainUpdateSpec is the spec used to update a cluster domain

func (*ClusterDomainUpdateSpec) DeepCopy added in v1.4.0

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

func (*ClusterDomainUpdateSpec) DeepCopyInto added in v1.4.0

func (in *ClusterDomainUpdateSpec) DeepCopyInto(out *ClusterDomainUpdateSpec)

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

type ClusterDomainUpdateStatus added in v1.4.0

type ClusterDomainUpdateStatus struct {
	Status ClusterDomainUpdateStatusType `json:"status"`
	Reason string                        `json:"reason"`
}

ClusterDomainUpdateStatus indicates the status of ClusterDomainUpdate resource

func (*ClusterDomainUpdateStatus) DeepCopy added in v1.4.0

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

func (*ClusterDomainUpdateStatus) DeepCopyInto added in v1.4.0

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

type ClusterDomainUpdateStatusType added in v1.4.0

type ClusterDomainUpdateStatusType string

ClusterDomainUpdateStatusType is the status of cluster domain update operation

const (
	// ClusterDomainUpdateStatusInitial is the initial state when clusterdomainsupdate is created
	ClusterDomainUpdateStatusInitial ClusterDomainUpdateStatusType = ""
	// ClusterDomainUpdateStatusPending is state when clusterdomainsupdate is still pending
	ClusterDomainUpdateStatusPending ClusterDomainUpdateStatusType = "Pending"
	// ClusterDomainUpdateStatusFailed is state when clusterdomainsupdate has failed
	ClusterDomainUpdateStatusFailed ClusterDomainUpdateStatusType = "Failed"
	// ClusterDomainUpdateStatusSuccessful is state when clusterdomainsupdate has completed successfully
	ClusterDomainUpdateStatusSuccessful ClusterDomainUpdateStatusType = "Successful"
)

type ClusterDomains added in v1.4.0

type ClusterDomains struct {
	LocalDomain        string              `json:"localDomain"`
	ClusterDomainInfos []ClusterDomainInfo `json:"clusterDomainInfos"`
}

ClusterDomains provides a list of activated cluster domains and a list of inactive cluster domains

func (*ClusterDomains) DeepCopy added in v1.4.0

func (in *ClusterDomains) DeepCopy() *ClusterDomains

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

func (*ClusterDomains) DeepCopyInto added in v1.4.0

func (in *ClusterDomains) DeepCopyInto(out *ClusterDomains)

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

type ClusterDomainsStatus added in v1.4.0

type ClusterDomainsStatus struct {
	meta.TypeMeta   `json:",inline"`
	meta.ObjectMeta `json:"metadata,omitempty"`
	Status          ClusterDomains `json:"status"`
}

ClusterDomainsStatus represents the status of all cluster domains

func (*ClusterDomainsStatus) DeepCopy added in v1.4.0

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

func (*ClusterDomainsStatus) DeepCopyInto added in v1.4.0

func (in *ClusterDomainsStatus) DeepCopyInto(out *ClusterDomainsStatus)

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

func (*ClusterDomainsStatus) DeepCopyObject added in v1.4.0

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

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

type ClusterDomainsStatusList added in v1.4.0

type ClusterDomainsStatusList struct {
	meta.TypeMeta `json:",inline"`
	meta.ListMeta `json:"metadata,omitempty"`
	Items         []ClusterDomainsStatus `json:"items"`
}

ClusterDomainsStatusList is a list of statuses for cluster domains

func (*ClusterDomainsStatusList) DeepCopy added in v1.4.0

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

func (*ClusterDomainsStatusList) DeepCopyInto added in v1.4.0

func (in *ClusterDomainsStatusList) DeepCopyInto(out *ClusterDomainsStatusList)

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

func (*ClusterDomainsStatusList) DeepCopyObject added in v1.4.0

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

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

type ClusterItem

type ClusterItem struct {
	Type ClusterType `json:"type"`
	// Path is either the bucket or any other path for the backup location
	EncryptionKey      string        `json:"encryptionKey"`
	AWSClusterConfig   *S3Config     `json:"awsClusterConfig,omitempty"`
	AzureClusterConfig *AzureConfig  `json:"azureClusterConfig,omitempty"`
	GCPClusterConfig   *GoogleConfig `json:"gcpClusterConfig,omitempty"`
	SecretConfig       string        `json:"secretConfig"`
	Sync               bool          `json:"sync"`
}

ClusterItem is the spec used to store a the credentials associated with the cluster Only one of AWSClusterConfig, AzureClusterConfig or GCPClusterConfig should be specified and should match the Type field. Members of the config can be specified inline or through the SecretConfig

func (*ClusterItem) DeepCopy

func (in *ClusterItem) DeepCopy() *ClusterItem

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

func (*ClusterItem) DeepCopyInto

func (in *ClusterItem) DeepCopyInto(out *ClusterItem)

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

type ClusterPair added in v1.4.0

type ClusterPair struct {
	meta.TypeMeta   `json:",inline"`
	meta.ObjectMeta `json:"metadata,omitempty"`
	Spec            ClusterPairSpec   `json:"spec"`
	Status          ClusterPairStatus `json:"status,omitempty"`
}

ClusterPair represents pairing with other clusters

func (*ClusterPair) DeepCopy added in v1.4.0

func (in *ClusterPair) DeepCopy() *ClusterPair

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

func (*ClusterPair) DeepCopyInto added in v1.4.0

func (in *ClusterPair) DeepCopyInto(out *ClusterPair)

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

func (*ClusterPair) DeepCopyObject added in v1.4.0

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

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

type ClusterPairList added in v1.4.0

type ClusterPairList struct {
	meta.TypeMeta `json:",inline"`
	meta.ListMeta `json:"metadata,omitempty"`

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

ClusterPairList is a list of cluster pairs

func (*ClusterPairList) DeepCopy added in v1.4.0

func (in *ClusterPairList) DeepCopy() *ClusterPairList

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

func (*ClusterPairList) DeepCopyInto added in v1.4.0

func (in *ClusterPairList) DeepCopyInto(out *ClusterPairList)

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

func (*ClusterPairList) DeepCopyObject added in v1.4.0

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

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

type ClusterPairSpec added in v1.4.0

type ClusterPairSpec struct {
	Config  api.Config        `json:"config"`
	Options map[string]string `json:"options",yaml:"options"`
	// PlatformOptions are kubernetes platform provider related
	// options.
	PlatformOptions PlatformSpec `json:"platformOptions",yaml:"platformOptions"`
}

ClusterPairSpec is the spec to create the cluster pair

func (*ClusterPairSpec) DeepCopy added in v1.4.0

func (in *ClusterPairSpec) DeepCopy() *ClusterPairSpec

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

func (*ClusterPairSpec) DeepCopyInto added in v1.4.0

func (in *ClusterPairSpec) DeepCopyInto(out *ClusterPairSpec)

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

type ClusterPairStatus added in v1.4.0

type ClusterPairStatus struct {
	// Status of the pairing with the scheduler
	// +optional
	SchedulerStatus ClusterPairStatusType `json:"schedulerStatus"`
	// Status of pairing with the storage driver
	// +optional
	StorageStatus ClusterPairStatusType `json:"storageStatus"`
	// ID of the remote storage which is paired
	// +optional
	RemoteStorageID string `json:"remoteStorageId"`
}

ClusterPairStatus is the status of the cluster pair

func (*ClusterPairStatus) DeepCopy added in v1.4.0

func (in *ClusterPairStatus) DeepCopy() *ClusterPairStatus

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

func (*ClusterPairStatus) DeepCopyInto added in v1.4.0

func (in *ClusterPairStatus) DeepCopyInto(out *ClusterPairStatus)

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

type ClusterPairStatusType added in v1.4.0

type ClusterPairStatusType string

ClusterPairStatusType is the status of the pair

const (
	// ClusterPairStatusInitial is the initial state when pairing is created
	ClusterPairStatusInitial ClusterPairStatusType = ""
	// ClusterPairStatusPending for when pairing is still pending
	ClusterPairStatusPending ClusterPairStatusType = "Pending"
	// ClusterPairStatusReady for when pair is ready
	ClusterPairStatusReady ClusterPairStatusType = "Ready"
	// ClusterPairStatusError for when pairing is in error state
	ClusterPairStatusError ClusterPairStatusType = "Error"
	// ClusterPairStatusDegraded for when pairing is degraded
	ClusterPairStatusDegraded ClusterPairStatusType = "Degraded"
	// ClusterPairStatusDeleting for when pairing is being deleted
	ClusterPairStatusDeleting ClusterPairStatusType = "Deleting"
	// ClusterPairStatusNotProvided for when pairing information is not
	// provided
	ClusterPairStatusNotProvided ClusterPairStatusType = "NotProvided"
)

type ClusterType

type ClusterType string

ClusterType is the type of the cluster

const (
	// AWSCluster type represents the cluster has aws volumes
	AWSCluster ClusterType = "aws"
	// GCPCluster type represents the cluster has gcp volumes
	GCPCluster ClusterType = "gcp"
	// AzureCluster type represents the cluster has azure volumes
	AzureCluster ClusterType = "azure"
)

type DailyPolicy added in v1.4.0

type DailyPolicy struct {
	// Time when the policy should be triggered. Expected format is
	// time.Kitchen eg 12:04PM or 12:04pm
	Time string `json:"time"`
	// Retain Number of objects to retain for daily policy. Defaults to
	// @DefaultDailyPolicyRetain
	Retain Retain `json:"retain"`
	// Options to be passed in to the driver. These will be passed in
	// to the object being triggered
	Options map[string]string `json:"options"`
	// ForceFullSnapshotDay specifies day of the week for full snapshot to take place
	ForceFullSnapshotDay string `json:"forceFullSnapshotDay"`
}

DailyPolicy contains the time in the day where an action should be executed

func (*DailyPolicy) DeepCopy added in v1.4.0

func (in *DailyPolicy) DeepCopy() *DailyPolicy

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

func (*DailyPolicy) DeepCopyInto added in v1.4.0

func (in *DailyPolicy) DeepCopyInto(out *DailyPolicy)

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

func (*DailyPolicy) GetHourMinute added in v1.4.0

func (d *DailyPolicy) GetHourMinute() (int, int, error)

GetHourMinute parses and return the hour and minute specified in the policy

func (*DailyPolicy) Validate added in v1.4.0

func (d *DailyPolicy) Validate() error

Validate validates a DailyPolicy

type DataExport added in v1.4.0

type DataExport struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              DataExportSpec `json:"spec"`
	Status            ExportStatus   `json:"status"`
}

DataExport defines a spec for importing of application data from a non Portworx PVC (source) to a PVC backed by Portworx.

func (*DataExport) DeepCopy added in v1.4.0

func (in *DataExport) DeepCopy() *DataExport

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

func (*DataExport) DeepCopyInto added in v1.4.0

func (in *DataExport) DeepCopyInto(out *DataExport)

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

func (*DataExport) DeepCopyObject added in v1.4.0

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

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

type DataExportDestination added in v1.4.0

type DataExportDestination struct {
	// PersistentVolumeClaim defines a PVC backend for data transfer. If provided PVC doesn't exist
	// a new one will be created using the spec configuration.
	PersistentVolumeClaim *corev1.PersistentVolumeClaim `json:"persistentVolumeClaim,omitempty"`
}

DataExportDestination defines a backend for data transfer.

func (*DataExportDestination) DeepCopy added in v1.4.0

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

func (*DataExportDestination) DeepCopyInto added in v1.4.0

func (in *DataExportDestination) DeepCopyInto(out *DataExportDestination)

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

type DataExportList added in v1.4.0

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

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

DataExportList is a list of DataExport resources.

func (*DataExportList) DeepCopy added in v1.4.0

func (in *DataExportList) DeepCopy() *DataExportList

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

func (*DataExportList) DeepCopyInto added in v1.4.0

func (in *DataExportList) DeepCopyInto(out *DataExportList)

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

func (*DataExportList) DeepCopyObject added in v1.4.0

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

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

type DataExportSource added in v1.4.0

type DataExportSource struct {
	PersistentVolumeClaim *corev1.PersistentVolumeClaim `json:"persistentVolumeClaim,omitempty"`
}

DataExportSource defines a PVC name and namespace that should be processed.

func (*DataExportSource) DeepCopy added in v1.4.0

func (in *DataExportSource) DeepCopy() *DataExportSource

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

func (*DataExportSource) DeepCopyInto added in v1.4.0

func (in *DataExportSource) DeepCopyInto(out *DataExportSource)

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

type DataExportSpec added in v1.4.0

type DataExportSpec struct {
	Type        DataExportType        `json:"type,omitempty"`
	ClusterPair string                `json:"clusterPair,omitempty"`
	Source      DataExportSource      `json:"source,omitempty"`
	Destination DataExportDestination `json:"destination,omitempty"`
}

DataExportSpec defines configuration parameters for DataExport.

func (*DataExportSpec) DeepCopy added in v1.4.0

func (in *DataExportSpec) DeepCopy() *DataExportSpec

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

func (*DataExportSpec) DeepCopyInto added in v1.4.0

func (in *DataExportSpec) DeepCopyInto(out *DataExportSpec)

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

type DataExportStage added in v1.4.0

type DataExportStage string

DataExportStage defines different stages for DataExport when its Status changes from Initial to Failed/Successful.

const (
	// DataExportStageInitial is the starting point for DataExport.
	DataExportStageInitial DataExportStage = "Initial"
	// DataExportStageSnapshotScheduled if a driver support this stage, it means a snapshot
	// is being taken of the source PVC which will be used to transfer data with rsync.
	DataExportStageSnapshotScheduled DataExportStage = "SnapshotScheduled"
	// DataExportStageSnapshotInProgress if a driver supports this stage, it means a data
	// is processing.
	DataExportStageSnapshotInProgress DataExportStage = "SnapshotInProgress"
	// DataExportStageTransferScheduled when the rsync daemon and pod are currently being
	// scheduled by Kubernetes.
	DataExportStageTransferScheduled DataExportStage = "TransferScheduled"
	// DataExportStageTransferInProgress when rsync is in progress and is transferring data
	// between the two PVCs.
	DataExportStageTransferInProgress DataExportStage = "TransferInProgress"
	// DataExportStageFinal when rsync is completed.
	DataExportStageFinal DataExportStage = "Final"
)

type DataExportStatus added in v1.4.0

type DataExportStatus string

DataExportStatus defines a status of DataExport.

const (
	// DataExportStatusInitial is the initial status of DataExport. It indicates
	// that a volume export request has been received.
	DataExportStatusInitial DataExportStatus = "Initial"
	// DataExportStatusPending when data export is pending and not started yet.
	DataExportStatusPending DataExportStatus = "Pending"
	// DataExportStatusInProgress when data is being transferred.
	DataExportStatusInProgress DataExportStatus = "InProgress"
	// DataExportStatusFailed when data transfer is failed.
	DataExportStatusFailed DataExportStatus = "Failed"
	// DataExportStatusSuccessful when data has been transferred.
	DataExportStatusSuccessful DataExportStatus = "Successful"
)

type DataExportType added in v1.4.0

type DataExportType string

DataExportType defines a method of achieving data transfer.

const (
	// DataExportRsync means that data will be copied between two PVCs directly.
	// Rsync supports both local and remote file copy.
	DataExportRsync DataExportType = "rsync"
)

type ExportStatus added in v1.4.0

type ExportStatus struct {
	Stage              DataExportStage  `json:"stage,omitempty"`
	Status             DataExportStatus `json:"status,omitempty"`
	Reason             string           `json:"reason,omitempty"`
	ProgressPercentage int              `json:"progressPercentage,omitempty"`
}

ExportStatus indicates a current state of the data transfer.

func (*ExportStatus) DeepCopy added in v1.4.0

func (in *ExportStatus) DeepCopy() *ExportStatus

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

func (*ExportStatus) DeepCopyInto added in v1.4.0

func (in *ExportStatus) DeepCopyInto(out *ExportStatus)

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

type FailbackParameter

type FailbackParameter struct {
	FailbackNamespaces         []string `json:"failbackNamespaces"`
	MigrationScheduleReference string   `json:"migrationScheduleReference"`
}

type FailbackSummary

type FailbackSummary struct {
	Namespace string           `json:"namespace"`
	Status    ActionStatusType `json:"status"`
	Reason    string           `json:"reason"`
}

type FailoverParameter

type FailoverParameter struct {
	FailoverNamespaces         []string `json:"failoverNamespaces"`
	MigrationScheduleReference string   `json:"migrationScheduleReference"`
	SkipSourceOperations       *bool    `json:"skipSourceOperations"`
}

type FailoverSummary

type FailoverSummary struct {
	Namespace string           `json:"namespace"`
	Status    ActionStatusType `json:"status"`
	Reason    string           `json:"reason"`
}

type GoogleConfig added in v1.4.0

type GoogleConfig struct {
	ProjectID  string `json:"projectID"`
	AccountKey string `json:"accountKey"`
}

GoogleConfig specifies the config required to connect to Google Cloud Storage

func (*GoogleConfig) DeepCopy added in v1.4.0

func (in *GoogleConfig) DeepCopy() *GoogleConfig

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

func (*GoogleConfig) DeepCopyInto added in v1.4.0

func (in *GoogleConfig) DeepCopyInto(out *GoogleConfig)

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

type GroupVolumeSnapshot added in v1.4.0

type GroupVolumeSnapshot struct {
	meta.TypeMeta   `json:",inline"`
	meta.ObjectMeta `json:"metadata,omitempty"`
	Spec            GroupVolumeSnapshotSpec   `json:"spec"`
	Status          GroupVolumeSnapshotStatus `json:"status"`
}

GroupVolumeSnapshot represents a group snapshot

func (*GroupVolumeSnapshot) DeepCopy added in v1.4.0

func (in *GroupVolumeSnapshot) DeepCopy() *GroupVolumeSnapshot

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

func (*GroupVolumeSnapshot) DeepCopyInto added in v1.4.0

func (in *GroupVolumeSnapshot) DeepCopyInto(out *GroupVolumeSnapshot)

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

func (*GroupVolumeSnapshot) DeepCopyObject added in v1.4.0

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

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

type GroupVolumeSnapshotList added in v1.4.0

type GroupVolumeSnapshotList struct {
	meta.TypeMeta `json:",inline"`
	meta.ListMeta `json:"metadata,omitempty"`

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

GroupVolumeSnapshotList is a list of group volume snapshots

func (*GroupVolumeSnapshotList) DeepCopy added in v1.4.0

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

func (*GroupVolumeSnapshotList) DeepCopyInto added in v1.4.0

func (in *GroupVolumeSnapshotList) DeepCopyInto(out *GroupVolumeSnapshotList)

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

func (*GroupVolumeSnapshotList) DeepCopyObject added in v1.4.0

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

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

type GroupVolumeSnapshotSpec added in v1.4.0

type GroupVolumeSnapshotSpec struct {
	// PreExecRule is the name of rule applied before taking the snapshot. The rule needs to be
	// in the same namespace as the group volumesnapshot
	PreExecRule string `json:"preExecRule"`
	// PreExecRule is the name of rule applied after taking the snapshot. The rule needs to be
	// in the same namespace as the group volumesnapshot
	PostExecRule string `json:"postExecRule"`
	// PVCSelector selects the PVCs that are part of the group snapshot
	PVCSelector PVCSelectorSpec `json:"pvcSelector"`
	// RestoreNamespaces is a list of namespaces to which the snapshots can be restored to
	RestoreNamespaces []string `json:"restoreNamespaces"`
	// MaxRetries is the number of times to retry the groupvolumesnapshot on failure. default: 0
	MaxRetries int `json:"maxRetries"`
	// Options are pass-through parameters that are passed to the driver handling the group snapshot
	Options map[string]string `json:"options"`
}

GroupVolumeSnapshotSpec represents the spec for a group snapshot

func (*GroupVolumeSnapshotSpec) DeepCopy added in v1.4.0

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

func (*GroupVolumeSnapshotSpec) DeepCopyInto added in v1.4.0

func (in *GroupVolumeSnapshotSpec) DeepCopyInto(out *GroupVolumeSnapshotSpec)

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

type GroupVolumeSnapshotStageType added in v1.4.0

type GroupVolumeSnapshotStageType string

GroupVolumeSnapshotStageType is the stage of the group snapshot

const (
	// GroupSnapshotStageInitial is when the group snapshot is just created
	GroupSnapshotStageInitial GroupVolumeSnapshotStageType = ""
	// GroupSnapshotStagePreChecks is when the group snapshot is going through prechecks
	GroupSnapshotStagePreChecks GroupVolumeSnapshotStageType = "PreChecks"
	// GroupSnapshotStagePreSnapshot is when the pre-snapshot rule is executing for the group snapshot
	GroupSnapshotStagePreSnapshot GroupVolumeSnapshotStageType = "PreSnapshot"
	// GroupSnapshotStageSnapshot is when the snapshots are being taken for the group snapshot
	GroupSnapshotStageSnapshot GroupVolumeSnapshotStageType = "Snapshot"
	// GroupSnapshotStagePostSnapshot is when the post-snapshot rule is executing for the group snapshot
	GroupSnapshotStagePostSnapshot GroupVolumeSnapshotStageType = "PostSnapshot"
	// GroupSnapshotStageFinal is when all stages are done for the group snapshot
	GroupSnapshotStageFinal GroupVolumeSnapshotStageType = "Final"
)

type GroupVolumeSnapshotStatus added in v1.4.0

type GroupVolumeSnapshotStatus struct {
	Stage           GroupVolumeSnapshotStageType  `json:"stage"`
	Status          GroupVolumeSnapshotStatusType `json:"status"`
	NumRetries      int                           `json:"numRetries"`
	VolumeSnapshots []*VolumeSnapshotStatus       `json:"volumeSnapshots"`
}

GroupVolumeSnapshotStatus is status for the group snapshot

func (*GroupVolumeSnapshotStatus) DeepCopy added in v1.4.0

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

func (*GroupVolumeSnapshotStatus) DeepCopyInto added in v1.4.0

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

type GroupVolumeSnapshotStatusType added in v1.4.0

type GroupVolumeSnapshotStatusType string

GroupVolumeSnapshotStatusType is types of statuses of a group snapshot operation

const (
	// GroupSnapshotInitial is when the group snapshot is created and no action has yet been performed
	GroupSnapshotInitial GroupVolumeSnapshotStatusType = ""
	// GroupSnapshotPending is when the group snapshot is in pending state waiting for another event
	GroupSnapshotPending GroupVolumeSnapshotStatusType = "Pending"
	// GroupSnapshotInProgress is when the group snapshot is in progress
	GroupSnapshotInProgress GroupVolumeSnapshotStatusType = "InProgress"
	// GroupSnapshotFailed is when the group snapshot has failed
	GroupSnapshotFailed GroupVolumeSnapshotStatusType = "Failed"
	// GroupSnapshotSuccessful is when the group snapshot has succeeded
	GroupSnapshotSuccessful GroupVolumeSnapshotStatusType = "Successful"
)

type IntervalPolicy added in v1.4.0

type IntervalPolicy struct {
	IntervalMinutes int `json:"intervalMinutes"`
	// Retain Number of objects to retain for interval policy. Defaults to
	// @DefaultIntervalPolicyRetain
	Retain Retain `json:"retain"`
	// Options to be passed in to the driver. These will be passed in
	// to the object being triggered
	Options map[string]string `json:"options"`
}

IntervalPolicy contains the interval at which an action should be triggered

func (*IntervalPolicy) DeepCopy added in v1.4.0

func (in *IntervalPolicy) DeepCopy() *IntervalPolicy

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

func (*IntervalPolicy) DeepCopyInto added in v1.4.0

func (in *IntervalPolicy) DeepCopyInto(out *IntervalPolicy)

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

func (*IntervalPolicy) Validate added in v1.4.0

func (i *IntervalPolicy) Validate() error

Validate validates an IntervalPolicy

type JobSecurityContext

type JobSecurityContext struct {
	RunAsUser  int64 `json:"runAsUser"`
	RunAsGroup int64 `json:"runAsGroup"`
}

This object is used in VolumeInfo for PSA enabled cluster to retain the runAsUser ID and runAsGroup ID used by Job pod(KDMP/NFS)during backup. We will use the same IDs to spin up Job Pods during restore.

type KindResourceTransform

type KindResourceTransform map[string][]TransformResourceInfo

func (KindResourceTransform) DeepCopy

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

func (KindResourceTransform) DeepCopyInto

func (in KindResourceTransform) DeepCopyInto(out *KindResourceTransform)

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

type Migration added in v1.4.0

type Migration struct {
	meta.TypeMeta   `json:",inline"`
	meta.ObjectMeta `json:"metadata,omitempty"`
	Spec            MigrationSpec   `json:"spec"`
	Status          MigrationStatus `json:"status"`
}

Migration represents migration status

func (*Migration) DeepCopy added in v1.4.0

func (in *Migration) DeepCopy() *Migration

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

func (*Migration) DeepCopyInto added in v1.4.0

func (in *Migration) DeepCopyInto(out *Migration)

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

func (*Migration) DeepCopyObject added in v1.4.0

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

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

type MigrationList added in v1.4.0

type MigrationList struct {
	meta.TypeMeta `json:",inline"`
	meta.ListMeta `json:"metadata,omitempty"`

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

MigrationList is a list of Migrations

func (*MigrationList) DeepCopy added in v1.4.0

func (in *MigrationList) DeepCopy() *MigrationList

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

func (*MigrationList) DeepCopyInto added in v1.4.0

func (in *MigrationList) DeepCopyInto(out *MigrationList)

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

func (*MigrationList) DeepCopyObject added in v1.4.0

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

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

type MigrationResourceInfo added in v1.4.0

type MigrationResourceInfo struct {
	Name                  string `json:"name"`
	Namespace             string `json:"namespace"`
	meta.GroupVersionKind `json:",inline"`
	Status                MigrationStatusType `json:"status"`
	Reason                string              `json:"reason"`
	TransformedBy         string              `json:"transformedBy"`
}

MigrationResourceInfo is the info for the migration of a resource

func (*MigrationResourceInfo) DeepCopy added in v1.4.0

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

func (*MigrationResourceInfo) DeepCopyInto added in v1.4.0

func (in *MigrationResourceInfo) DeepCopyInto(out *MigrationResourceInfo)

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

type MigrationSchedule added in v1.4.0

type MigrationSchedule struct {
	meta.TypeMeta   `json:",inline"`
	meta.ObjectMeta `json:"metadata,omitempty"`
	Spec            MigrationScheduleSpec   `json:"spec"`
	Status          MigrationScheduleStatus `json:"status"`
}

MigrationSchedule represents a scheduled migration object

func (*MigrationSchedule) DeepCopy added in v1.4.0

func (in *MigrationSchedule) DeepCopy() *MigrationSchedule

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

func (*MigrationSchedule) DeepCopyInto added in v1.4.0

func (in *MigrationSchedule) DeepCopyInto(out *MigrationSchedule)

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

func (*MigrationSchedule) DeepCopyObject added in v1.4.0

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

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

type MigrationScheduleList added in v1.4.0

type MigrationScheduleList struct {
	meta.TypeMeta `json:",inline"`
	meta.ListMeta `json:"metadata,omitempty"`

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

MigrationScheduleList is a list of MigrationSchedules

func (*MigrationScheduleList) DeepCopy added in v1.4.0

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

func (*MigrationScheduleList) DeepCopyInto added in v1.4.0

func (in *MigrationScheduleList) DeepCopyInto(out *MigrationScheduleList)

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

func (*MigrationScheduleList) DeepCopyObject added in v1.4.0

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

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

type MigrationScheduleSpec added in v1.4.0

type MigrationScheduleSpec struct {
	Template           MigrationTemplateSpec `json:"template"`
	SchedulePolicyName string                `json:"schedulePolicyName"`
	Suspend            *bool                 `json:"suspend"`
	AutoSuspend        bool                  `json:"autoSuspend"`
}

MigrationScheduleSpec is the spec used to schedule migrations

func (*MigrationScheduleSpec) DeepCopy added in v1.4.0

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

func (*MigrationScheduleSpec) DeepCopyInto added in v1.4.0

func (in *MigrationScheduleSpec) DeepCopyInto(out *MigrationScheduleSpec)

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

type MigrationScheduleStatus added in v1.4.0

type MigrationScheduleStatus struct {
	Items                map[SchedulePolicyType][]*ScheduledMigrationStatus `json:"items"`
	ApplicationActivated bool                                               `json:"applicationActivated"`
}

MigrationScheduleStatus is the status of a migration schedule

func (*MigrationScheduleStatus) DeepCopy added in v1.4.0

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

func (*MigrationScheduleStatus) DeepCopyInto added in v1.4.0

func (in *MigrationScheduleStatus) DeepCopyInto(out *MigrationScheduleStatus)

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

type MigrationSpec added in v1.4.0

type MigrationSpec struct {
	ClusterPair                  string            `json:"clusterPair"`
	AdminClusterPair             string            `json:"adminClusterPair"`
	Namespaces                   []string          `json:"namespaces"`
	NamespaceSelectors           map[string]string `json:"namespaceSelectors"`
	IncludeResources             *bool             `json:"includeResources"`
	IncludeVolumes               *bool             `json:"includeVolumes"`
	StartApplications            *bool             `json:"startApplications"`
	PurgeDeletedResources        *bool             `json:"purgeDeletedResources"`
	SkipServiceUpdate            *bool             `json:"skipServiceUpdate"`
	IncludeNetworkPolicyWithCIDR *bool             `json:"includeNetworkPolicyWithCIDR"`
	Selectors                    map[string]string `json:"selectors"`
	ExcludeSelectors             map[string]string `json:"excludeSelectors"`
	PreExecRule                  string            `json:"preExecRule"`
	PostExecRule                 string            `json:"postExecRule"`
	IncludeOptionalResourceTypes []string          `json:"includeOptionalResourceTypes"`
	SkipDeletedNamespaces        *bool             `json:"skipDeletedNamespaces"`
	TransformSpecs               []string          `json:"transformSpecs"`
	IgnoreOwnerReferencesCheck   *bool             `json:"ignoreOwnerReferencesCheck"`
	ExcludeResourceTypes         []string          `json:"excludeResourceTypes"`
}

MigrationSpec is the spec used to migrate apps between clusterpairs

func (*MigrationSpec) DeepCopy added in v1.4.0

func (in *MigrationSpec) DeepCopy() *MigrationSpec

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

func (*MigrationSpec) DeepCopyInto added in v1.4.0

func (in *MigrationSpec) DeepCopyInto(out *MigrationSpec)

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

type MigrationStageType added in v1.4.0

type MigrationStageType string

MigrationStageType is the stage of the migration

const (
	// MigrationStageInitial for when migration is created
	MigrationStageInitial MigrationStageType = ""
	// MigrationStagePreExecRule for when the PreExecRule is being executed
	MigrationStagePreExecRule MigrationStageType = "PreExecRule"
	// MigrationStagePostExecRule for when the PostExecRule is being executed
	MigrationStagePostExecRule MigrationStageType = "PostExecRule"
	// MigrationStageVolumes for when volumes are being migrated
	MigrationStageVolumes MigrationStageType = "Volumes"
	// MigrationStageApplications for when applications are being migrated
	MigrationStageApplications MigrationStageType = "Applications"
	// MigrationStageFinal is the final stage for migration
	MigrationStageFinal MigrationStageType = "Final"
)

type MigrationStatus added in v1.4.0

type MigrationStatus struct {
	Stage                            MigrationStageType       `json:"stage"`
	Status                           MigrationStatusType      `json:"status"`
	Resources                        []*MigrationResourceInfo `json:"resources"`
	Volumes                          []*MigrationVolumeInfo   `json:"volumes"`
	FinishTimestamp                  meta.Time                `json:"finishTimestamp"`
	VolumeMigrationFinishTimestamp   meta.Time                `json:"volumeMigrationFinishTimestamp"`
	ResourceMigrationFinishTimestamp meta.Time                `json:"resourceMigrationFinishTimestamp"`
	// Summary provides a short summary on the migration
	Summary *MigrationSummary `json:"summary"`
}

MigrationStatus is the status of a migration operation

func (*MigrationStatus) DeepCopy added in v1.4.0

func (in *MigrationStatus) DeepCopy() *MigrationStatus

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

func (*MigrationStatus) DeepCopyInto added in v1.4.0

func (in *MigrationStatus) DeepCopyInto(out *MigrationStatus)

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

type MigrationStatusType added in v1.4.0

type MigrationStatusType string

MigrationStatusType is the status of the migration

const (
	// MigrationStatusInitial is the initial state when migration is created
	MigrationStatusInitial MigrationStatusType = ""
	// MigrationStatusPending for when migration is still pending
	MigrationStatusPending MigrationStatusType = "Pending"
	// MigrationStatusInProgress for when migration is in progress
	MigrationStatusInProgress MigrationStatusType = "InProgress"
	// MigrationStatusFailed for when migration has failed
	MigrationStatusFailed MigrationStatusType = "Failed"
	// MigrationStatusPartialSuccess for when migration was partially successful
	MigrationStatusPartialSuccess MigrationStatusType = "PartialSuccess"
	// MigrationStatusSuccessful for when migration has completed successfully
	MigrationStatusSuccessful MigrationStatusType = "Successful"
	// MigrationStatusPurged for when migration objects has been deleted
	MigrationStatusPurged MigrationStatusType = "Purged"
)

type MigrationSummary

type MigrationSummary struct {
	// TotalNumberOfVolumes gives the total count of volumes
	TotalNumberOfVolumes uint64 `json:"totalNumberOfVolumes"`
	// NumberOfMigratedVolumes gives the total count of successfully migrated volumes
	NumberOfMigratedVolumes uint64 `json:"numOfMigratedVolumes"`
	// TotalNumberOfResources gives the total count of resourcs
	TotalNumberOfResources uint64 `json:"totalNumberOfResources"`
	// NumberOfMigratedResources gives the total count of migrated k8s resources
	NumberOfMigratedResources uint64 `json:"numOfMigratedResources"`
	// TotalBytesMigrated gives the total amount of bytes migrated across all the volumes
	TotalBytesMigrated uint64 `json:"totalBytesMigrated"`
	// ElapsedTimeForVolumeMigration provides the total time the
	// volume migration stage has been running or the total time
	// taken for the volume migration to complete if the volume migration has finished
	ElapsedTimeForVolumeMigration string `json:"elapsedTimeForVolumeMigration"`
	// ElapsedTimeForResourceMigration provides the total time the
	// resource migration stage has been running or the total time
	// taken for the resource migration to complete if the volume migration has finished
	ElapsedTimeForResourceMigration string `json:"elapsedTimeForResourceMigration"`
}

MigrationSummary provides a short summary on the migration

func (*MigrationSummary) DeepCopy

func (in *MigrationSummary) DeepCopy() *MigrationSummary

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

func (*MigrationSummary) DeepCopyInto

func (in *MigrationSummary) DeepCopyInto(out *MigrationSummary)

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

type MigrationTemplateSpec added in v1.4.0

type MigrationTemplateSpec struct {
	Spec MigrationSpec `json:"spec"`
}

MigrationTemplateSpec describes the data a Migration should have when created from a template

func (*MigrationTemplateSpec) DeepCopy added in v1.4.0

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

func (*MigrationTemplateSpec) DeepCopyInto added in v1.4.0

func (in *MigrationTemplateSpec) DeepCopyInto(out *MigrationTemplateSpec)

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

type MigrationVolumeInfo added in v1.4.0

type MigrationVolumeInfo struct {
	PersistentVolumeClaim string              `json:"persistentVolumeClaim"`
	Namespace             string              `json:"namespace"`
	Volume                string              `json:"volume"`
	Status                MigrationStatusType `json:"status"`
	BytesTotal            uint64              `json:"bytesTotal"`
	Reason                string              `json:"reason"`
}

MigrationVolumeInfo is the info for the migration of a volume

func (*MigrationVolumeInfo) DeepCopy added in v1.4.0

func (in *MigrationVolumeInfo) DeepCopy() *MigrationVolumeInfo

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

func (*MigrationVolumeInfo) DeepCopyInto added in v1.4.0

func (in *MigrationVolumeInfo) DeepCopyInto(out *MigrationVolumeInfo)

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

type MonthlyPolicy added in v1.4.0

type MonthlyPolicy struct {
	// Date of the month when the policy should be triggered. If a given date
	// doesn't exist in a month it'll rollover to the next date of the month.
	// For example if 31 is specified, it'll trigger on either 1st or 2nd March
	// depending on if it is a leap year.
	Date int `json:"date"`
	// Time when the policy should be triggered. Expected format is
	// time.Kitchen eg 12:04PM or 12:04pm
	Time string `json:"time"`
	// Retain Number of objects to retain for monthly policy. Defaults to
	// @DefaultMonthlyPolicyRetain
	Retain Retain `json:"retain"`
	// Options to be passed in to the driver. These will be passed in
	// to the object being triggered
	Options map[string]string `json:"options"`
}

MonthlyPolicy contains the date and time in a month when an action should be executed

func (*MonthlyPolicy) DeepCopy added in v1.4.0

func (in *MonthlyPolicy) DeepCopy() *MonthlyPolicy

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

func (*MonthlyPolicy) DeepCopyInto added in v1.4.0

func (in *MonthlyPolicy) DeepCopyInto(out *MonthlyPolicy)

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

func (*MonthlyPolicy) GetHourMinute added in v1.4.0

func (m *MonthlyPolicy) GetHourMinute() (int, int, error)

GetHourMinute parses and return the hour and minute specified in the policy

func (*MonthlyPolicy) Validate added in v1.4.0

func (m *MonthlyPolicy) Validate() error

Validate validates a MonthlyPolicy

type NFSConfig

type NFSConfig struct {
	ServerAddr         string `json:"serverAddr"`
	SubPath            string `json:"subPath"`
	MountOptions       string `json:"mountOptions"`
	NFSIOTimeoutInSecs string `json:"nfsIOTimeoutInSecs"`
}

func (*NFSConfig) DeepCopy

func (in *NFSConfig) DeepCopy() *NFSConfig

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

func (*NFSConfig) DeepCopyInto

func (in *NFSConfig) DeepCopyInto(out *NFSConfig)

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

type NamespacedSchedulePolicy added in v1.4.0

type NamespacedSchedulePolicy struct {
	*SchedulePolicy `json:",inline"`
}

NamespacedSchedulePolicy represents a policy for executing actions on a schedule

func (*NamespacedSchedulePolicy) DeepCopy added in v1.4.0

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

func (*NamespacedSchedulePolicy) DeepCopyInto added in v1.4.0

func (in *NamespacedSchedulePolicy) DeepCopyInto(out *NamespacedSchedulePolicy)

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

func (*NamespacedSchedulePolicy) DeepCopyObject added in v1.4.0

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

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

type NamespacedSchedulePolicyList added in v1.4.0

type NamespacedSchedulePolicyList struct {
	meta.TypeMeta `json:",inline"`
	meta.ListMeta `json:"metadata,omitempty"`

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

NamespacedSchedulePolicyList is a list of namespaced schedule policies

func (*NamespacedSchedulePolicyList) DeepCopy added in v1.4.0

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

func (*NamespacedSchedulePolicyList) DeepCopyInto added in v1.4.0

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

func (*NamespacedSchedulePolicyList) DeepCopyObject added in v1.4.0

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

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

type ObjectInfo added in v1.4.0

type ObjectInfo struct {
	Name                    string `json:"name"`
	Namespace               string `json:"namespace"`
	metav1.GroupVersionKind `json:",inline"`
}

ObjectInfo contains info about an object being backed up or restored

func (*ObjectInfo) DeepCopy added in v1.4.0

func (in *ObjectInfo) DeepCopy() *ObjectInfo

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

func (*ObjectInfo) DeepCopyInto added in v1.4.0

func (in *ObjectInfo) DeepCopyInto(out *ObjectInfo)

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

type PVCSelectorSpec added in v1.4.0

type PVCSelectorSpec struct {
	meta.LabelSelector
}

PVCSelectorSpec is the spec to select the PVCs for group snapshot

func (*PVCSelectorSpec) DeepCopy added in v1.4.0

func (in *PVCSelectorSpec) DeepCopy() *PVCSelectorSpec

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

func (*PVCSelectorSpec) DeepCopyInto added in v1.4.0

func (in *PVCSelectorSpec) DeepCopyInto(out *PVCSelectorSpec)

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

type PatchStruct

type PatchStruct struct {
	// namespace - resource in namespace
	Resources map[string]TransformResourceInfo
}

func (*PatchStruct) DeepCopy

func (in *PatchStruct) DeepCopy() *PatchStruct

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

func (*PatchStruct) DeepCopyInto

func (in *PatchStruct) DeepCopyInto(out *PatchStruct)

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

type PlatformCredential

type PlatformCredential struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              PlatformCredentialSpec `json:"spec"`
}

PlatformCredential represents a platformcredential object

func (*PlatformCredential) DeepCopy

func (in *PlatformCredential) DeepCopy() *PlatformCredential

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

func (*PlatformCredential) DeepCopyInto

func (in *PlatformCredential) DeepCopyInto(out *PlatformCredential)

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

func (*PlatformCredential) DeepCopyObject

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

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

func (*PlatformCredential) UpdateFromSecret

func (pc *PlatformCredential) UpdateFromSecret(client kubernetes.Interface) error

UpdateFromSecret updated the config information from the secret if not provided inline

type PlatformCredentialList

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

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

PlatformCredentialList is a list of ApplicationBackups

func (*PlatformCredentialList) DeepCopy

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

func (*PlatformCredentialList) DeepCopyInto

func (in *PlatformCredentialList) DeepCopyInto(out *PlatformCredentialList)

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

func (*PlatformCredentialList) DeepCopyObject

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

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

type PlatformCredentialSpec

type PlatformCredentialSpec struct {
	Type          PlatformCredentialType `json:"type"`
	RancherConfig *RancherConfig         `json:"rancherConfig,omitempty"`
	SecretConfig  string                 `json:"secretConfig"`
}

func (*PlatformCredentialSpec) DeepCopy

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

func (*PlatformCredentialSpec) DeepCopyInto

func (in *PlatformCredentialSpec) DeepCopyInto(out *PlatformCredentialSpec)

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

type PlatformCredentialType

type PlatformCredentialType string

PlatformCredentialType is the type of the backup location

const (
	// PlatformCredentialRancher
	PlatformCredentialRancher PlatformCredentialType = "rancher"
)

type PlatformSpec

type PlatformSpec struct {
	// Rancher configuration
	Rancher *RancherSpec `json:"rancher,omitempty"`
}

PlatformSpec provide options for interacting with kubernetes platform provider like: EKS / AKS / GKE / Rancher / Openshift

func (*PlatformSpec) DeepCopy

func (in *PlatformSpec) DeepCopy() *PlatformSpec

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

func (*PlatformSpec) DeepCopyInto

func (in *PlatformSpec) DeepCopyInto(out *PlatformSpec)

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

type RancherConfig

type RancherConfig struct {
	Endpoint string `json:"endpoint"`
	Token    string `json:"token"`
}

RancherConfig specifies the config required to connect to a Rancher API Server

func (*RancherConfig) DeepCopy

func (in *RancherConfig) DeepCopy() *RancherConfig

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

func (*RancherConfig) DeepCopyInto

func (in *RancherConfig) DeepCopyInto(out *RancherConfig)

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

type RancherSecret

type RancherSecret struct {
	// APIKeySecretName is the name of the kubernetes secret
	// that hosts the API key
	APIKeySecretName string `json:"apiKeySecretName"`
	// APIKeySecretNamespace is the namespace of the kubernetes secret
	// that hosts the API key
	APIKeySecretNamespace string `json:"apiKeySecretNamespace"`
}

RancherSecret holds the reference to the api keys used to interact with a rancher cluster

func (*RancherSecret) DeepCopy

func (in *RancherSecret) DeepCopy() *RancherSecret

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

func (*RancherSecret) DeepCopyInto

func (in *RancherSecret) DeepCopyInto(out *RancherSecret)

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

type RancherSpec

type RancherSpec struct {
	// ProjectMappings allows a cluster pair to migrate namespaces between different
	// Rancher projects. The key in the map is the source project while the value
	// is the destination project. Specify this only if you have not provided
	// API key to stork for creating the project on the target cluster.
	ProjectMappings map[string]string `json:"projectMappings,omitempty"`
}

RancherSpec provides options for interacting with Rancher

func (*RancherSpec) DeepCopy

func (in *RancherSpec) DeepCopy() *RancherSpec

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

func (*RancherSpec) DeepCopyInto

func (in *RancherSpec) DeepCopyInto(out *RancherSpec)

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

type ReclaimPolicyType added in v1.4.0

type ReclaimPolicyType string

ReclaimPolicyType is the type of reclaim policy

const (
	// ReclaimPolicyInvalid is an invalid schedule policy
	ReclaimPolicyInvalid ReclaimPolicyType = "Invalid"
	// ReclaimPolicyDelete is to specify that an object should be deleted
	ReclaimPolicyDelete ReclaimPolicyType = "Delete"
	// ReclaimPolicyRetain is to specify that an object should be retained
	ReclaimPolicyRetain ReclaimPolicyType = "Retain"
)

type ResourcePaths

type ResourcePaths struct {
	// Path k8s resource for operation
	Path string `json:"path"`
	// Value for given k8s path
	Value string `json:"value"`
	// Type of value specified int/bool/string/slice/keypair
	Type ResourceTransformationValueType `json:"type"`
	// Operation to be performed on path
	// add/modify/delete/replace/jsonPatch
	Operation ResourceTransformationOperationType `json:"operation"`
}

ResourcePaths specifies the patch to modify resource before migration/restore

func (*ResourcePaths) DeepCopy

func (in *ResourcePaths) DeepCopy() *ResourcePaths

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

func (*ResourcePaths) DeepCopyInto

func (in *ResourcePaths) DeepCopyInto(out *ResourcePaths)

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

type ResourceTransformation

type ResourceTransformation struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              ResourceTransformationSpec   `json:"specs"`
	Status            ResourceTransformationStatus `json:"status"`
}

ResourceTransformation represents a ResourceTransformation CR object

func (*ResourceTransformation) DeepCopy

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

func (*ResourceTransformation) DeepCopyInto

func (in *ResourceTransformation) DeepCopyInto(out *ResourceTransformation)

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

func (*ResourceTransformation) DeepCopyObject

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

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

type ResourceTransformationList

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

ResourceTransformationList is a list of ResourceTransformations

func (*ResourceTransformationList) DeepCopy

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

func (*ResourceTransformationList) DeepCopyInto

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

func (*ResourceTransformationList) DeepCopyObject

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

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

type ResourceTransformationOperationType

type ResourceTransformationOperationType string

ResourceTransformationOperationType is type of operation supported for resource transformation

const (
	// AddPathValue is used to add path+value in specified resource spec
	// if path+value already exist this operation will override value
	// at given path
	AddResourcePath ResourceTransformationOperationType = "add"
	// ModifyResourcePathValue is used to merge value at speficied resource path
	// in case of a slice, entries will be appended.
	// in case of a keypair, entries will be merged
	ModifyResourcePathValue ResourceTransformationOperationType = "modify"
	// DeletePath from resource specification
	DeleteResourcePath ResourceTransformationOperationType = "delete"
	// JsonResourcePatch will patch json in given resource spec
	JsonResourcePatch ResourceTransformationOperationType = "jsonpatch"
)

type ResourceTransformationSpec

type ResourceTransformationSpec struct {
	Objects []TransformSpecs `json:"transformSpecs"`
}

ResourceTransformationSpec is used to update k8s resources before migration/restore

func (*ResourceTransformationSpec) DeepCopy

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

func (*ResourceTransformationSpec) DeepCopyInto

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

type ResourceTransformationStatus

type ResourceTransformationStatus struct {
	Status    ResourceTransformationStatusType `json:"status"`
	Resources []*TransformResourceInfo         `json:"resources"`
}

func (*ResourceTransformationStatus) DeepCopy

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

func (*ResourceTransformationStatus) DeepCopyInto

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

type ResourceTransformationStatusType

type ResourceTransformationStatusType string

ResourceTransformationStatsusType is status of resource transformation CR

const (
	// ResourceTransformationStatusInitial represents initial state of resource
	// transformation CR
	ResourceTransformationStatusInitial ResourceTransformationStatusType = ""
	// ResourceTransformationStatusInProgress represents dry run in progress state
	// of resource transformation
	ResourceTransformationStatusInProgress ResourceTransformationStatusType = "InProgress"
	// ResourceTransformationStatusReady represents ready state of resource
	// transformation CR
	ResourceTransformationStatusReady ResourceTransformationStatusType = "Ready"
	// ResourceTransformationStatusFailed represents dry-run failed state of resource
	// transformation CR
	ResourceTransformationStatusFailed ResourceTransformationStatusType = "Failed"
)

type ResourceTransformationValueType

type ResourceTransformationValueType string

ResourceTransformationValueType is types of value supported on path in resource specs

const (
	// IntResourceType is to update integer value to specified resource path
	IntResourceType ResourceTransformationValueType = "int"
	// StringResourceType is to update string value to specified resource path
	StringResourceType ResourceTransformationValueType = "string"
	// BoolResourceType is to update boolean value to specified resource path
	BoolResourceType ResourceTransformationValueType = "bool"
	// SliceResourceType is to update slice value to specified resource path
	SliceResourceType ResourceTransformationValueType = "slice"
	// KeyPairResourceType is to update keypair value to specified resource path
	KeyPairResourceType ResourceTransformationValueType = "keypair"
)

type RestoreVolumeInfo added in v1.4.0

type RestoreVolumeInfo struct {
	Volume        string                          `json:"volume"`
	PVC           string                          `json:"pvc"`
	Namespace     string                          `json:"namespace"`
	Snapshot      string                          `json:"snapshot"`
	RestoreStatus VolumeSnapshotRestoreStatusType `json:"status"`
	Reason        string                          `json:"reason"`
}

RestoreVolumeInfo is the info for the restore of a volume

func (*RestoreVolumeInfo) DeepCopy added in v1.4.0

func (in *RestoreVolumeInfo) DeepCopy() *RestoreVolumeInfo

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

func (*RestoreVolumeInfo) DeepCopyInto added in v1.4.0

func (in *RestoreVolumeInfo) DeepCopyInto(out *RestoreVolumeInfo)

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

type Retain added in v1.4.0

type Retain int

Retain Type to specify how many objects should be retained for a policy

type Rule

type Rule struct {
	meta.TypeMeta   `json:",inline"`
	meta.ObjectMeta `json:"metadata,omitempty"`
	Rules           []RuleItem `json:"rules"`
}

Rule denotes an object to declare a rule that performs actions on pods

func (*Rule) DeepCopy

func (in *Rule) DeepCopy() *Rule

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

func (*Rule) DeepCopyInto

func (in *Rule) DeepCopyInto(out *Rule)

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

func (*Rule) DeepCopyObject

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

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

type RuleAction

type RuleAction struct {
	// Type is a type of the stork rule action
	Type RuleActionType `json:"type"`
	// Background indicates that the action needs to be performed in the background
	// +optional
	Background bool `json:"background,omitempty"`
	// RunInSinglePod indicates that the action needs to be performed in a single pod
	//                from the list of pods that match the selector
	// +optional
	RunInSinglePod bool `json:"runInSinglePod,omitempty"`
	// Value is the actual action value for e.g the command to run
	Value string `json:"value"`
}

RuleAction represents an action in a stork rule item

func (*RuleAction) DeepCopy

func (in *RuleAction) DeepCopy() *RuleAction

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

func (*RuleAction) DeepCopyInto

func (in *RuleAction) DeepCopyInto(out *RuleAction)

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

type RuleActionType

type RuleActionType string

RuleActionType is a type for actions that are supported in a stork rule

const (
	// RuleActionCommand is a command action
	RuleActionCommand RuleActionType = "command"
)

type RuleItem

type RuleItem struct {
	// PodSelector is a map of key value pairs that are used to select the pods using their labels
	PodSelector map[string]string `json:"podSelector"`
	// Container Name of the container in which to run the rule if there are
	// multiple containers in the pod
	Container string `json:"container"`
	// Actions are actions to be performed on the pods selected using the selector
	Actions []RuleAction `json:"actions"`
}

RuleItem represents one items in a stork rule spec

func (*RuleItem) DeepCopy

func (in *RuleItem) DeepCopy() *RuleItem

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

func (*RuleItem) DeepCopyInto

func (in *RuleItem) DeepCopyInto(out *RuleItem)

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

type RuleList

type RuleList struct {
	meta.TypeMeta `json:",inline"`
	meta.ListMeta `json:"metadata,omitempty"`

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

RuleList is a list of stork rules

func (*RuleList) DeepCopy

func (in *RuleList) DeepCopy() *RuleList

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

func (*RuleList) DeepCopyInto

func (in *RuleList) DeepCopyInto(out *RuleList)

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

func (*RuleList) DeepCopyObject

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

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

type S3Config added in v1.4.0

type S3Config struct {
	// Endpoint will be defaulted to s3.amazonaws.com by the controller if not provided
	Endpoint        string `json:"endpoint"`
	AccessKeyID     string `json:"accessKeyID"`
	SecretAccessKey string `json:"secretAccessKey"`
	// Region will be defaulted to us-east-1 by the controller if not provided
	Region string `json:"region"`
	// Disable SSL option if using with a non-AWS S3 objectstore which doesn't
	// have SSL enabled
	DisableSSL bool `json:"disableSSL"`
	// The S3 Storage Class to use when uploading objects. Glacier storage
	// classes are not supported
	StorageClass string `json:"storageClass"`
	// UseIam when set stork will use the instance IAM role associated with the nodes
	// on which stork pods run
	UseIam bool `json:"useIam"`
	// SSE (Server Side Encryption) type for the S3 bucket.
	// supported option: "AES256", "aws:kms"
	SSE string `json:"sse"`
}

S3Config specifies the config required to connect to an S3-compliant objectstore

func (*S3Config) DeepCopy added in v1.4.0

func (in *S3Config) DeepCopy() *S3Config

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

func (*S3Config) DeepCopyInto added in v1.4.0

func (in *S3Config) DeepCopyInto(out *S3Config)

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

type SchedulePolicy added in v1.4.0

type SchedulePolicy struct {
	meta.TypeMeta   `json:",inline"`
	meta.ObjectMeta `json:"metadata,omitempty"`
	// Policy
	Policy SchedulePolicyItem `json:"policy"`
}

SchedulePolicy represents a policy for executing actions on a schedule

func (*SchedulePolicy) DeepCopy added in v1.4.0

func (in *SchedulePolicy) DeepCopy() *SchedulePolicy

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

func (*SchedulePolicy) DeepCopyInto added in v1.4.0

func (in *SchedulePolicy) DeepCopyInto(out *SchedulePolicy)

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

func (*SchedulePolicy) DeepCopyObject added in v1.4.0

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

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

type SchedulePolicyItem added in v1.4.0

type SchedulePolicyItem struct {
	// Interval policy that will be triggered at the specified interval
	Interval *IntervalPolicy `json:"interval"`
	// Daily policy that will be triggered daily at a specified time
	Daily *DailyPolicy `json:"daily"`
	// Weekly policy that will be triggered on the specified day of the week at
	// the specified time
	Weekly *WeeklyPolicy `json:"weekly"`
	// Monthly policy that will be triggered on the specified date of the month
	// at the specified time
	Monthly *MonthlyPolicy `json:"monthly"`
}

SchedulePolicyItem represents the schedule for executing an action

func (*SchedulePolicyItem) DeepCopy added in v1.4.0

func (in *SchedulePolicyItem) DeepCopy() *SchedulePolicyItem

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

func (*SchedulePolicyItem) DeepCopyInto added in v1.4.0

func (in *SchedulePolicyItem) DeepCopyInto(out *SchedulePolicyItem)

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

type SchedulePolicyList added in v1.4.0

type SchedulePolicyList struct {
	meta.TypeMeta `json:",inline"`
	meta.ListMeta `json:"metadata,omitempty"`

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

SchedulePolicyList is a list of schedule policies

func (*SchedulePolicyList) DeepCopy added in v1.4.0

func (in *SchedulePolicyList) DeepCopy() *SchedulePolicyList

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

func (*SchedulePolicyList) DeepCopyInto added in v1.4.0

func (in *SchedulePolicyList) DeepCopyInto(out *SchedulePolicyList)

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

func (*SchedulePolicyList) DeepCopyObject added in v1.4.0

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

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

type SchedulePolicyType added in v1.4.0

type SchedulePolicyType string

SchedulePolicyType is the type of schedule policy

const (
	// SchedulePolicyTypeInvalid is an invalid schedule policy
	SchedulePolicyTypeInvalid SchedulePolicyType = "Invalid"
	// SchedulePolicyTypeInterval is the type for an interval schedule policy
	SchedulePolicyTypeInterval SchedulePolicyType = "Interval"
	// SchedulePolicyTypeDaily is the type for a daily schedule policy
	SchedulePolicyTypeDaily SchedulePolicyType = "Daily"
	// SchedulePolicyTypeWeekly is the type for a weekly schedule policy
	SchedulePolicyTypeWeekly SchedulePolicyType = "Weekly"
	// SchedulePolicyTypeMonthly is the type for a monthly schedule policy
	SchedulePolicyTypeMonthly SchedulePolicyType = "Monthly"
)

func GetValidSchedulePolicyTypes added in v1.4.0

func GetValidSchedulePolicyTypes() []SchedulePolicyType

GetValidSchedulePolicyTypes returns the valid types of schedule policies that can be configured

type ScheduledApplicationBackupStatus added in v1.4.0

type ScheduledApplicationBackupStatus struct {
	Name              string                      `json:"name"`
	CreationTimestamp meta.Time                   `json:"creationTimestamp"`
	FinishTimestamp   meta.Time                   `json:"finishTimestamp"`
	Status            ApplicationBackupStatusType `json:"status"`
}

ScheduledApplicationBackupStatus keeps track of the applicationbackup that was triggered by a scheduled policy

func (*ScheduledApplicationBackupStatus) DeepCopy added in v1.4.0

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

func (*ScheduledApplicationBackupStatus) DeepCopyInto added in v1.4.0

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

type ScheduledMigrationStatus added in v1.4.0

type ScheduledMigrationStatus struct {
	Name              string              `json:"name"`
	CreationTimestamp meta.Time           `json:"creationTimestamp"`
	FinishTimestamp   meta.Time           `json:"finishTimestamp"`
	Status            MigrationStatusType `json:"status"`
}

ScheduledMigrationStatus keeps track of the migration that was triggered by a scheduled policy

func (*ScheduledMigrationStatus) DeepCopy added in v1.4.0

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

func (*ScheduledMigrationStatus) DeepCopyInto added in v1.4.0

func (in *ScheduledMigrationStatus) DeepCopyInto(out *ScheduledMigrationStatus)

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

type ScheduledVolumeSnapshotStatus added in v1.4.0

type ScheduledVolumeSnapshotStatus struct {
	Name              string                             `json:"name"`
	CreationTimestamp meta.Time                          `json:"creationTimestamp"`
	FinishTimestamp   meta.Time                          `json:"finishTimestamp"`
	Status            snapv1.VolumeSnapshotConditionType `json:"status"`
	Message           string                             `json:"message"`
	Deleted           bool                               `json:"deleted"`
}

ScheduledVolumeSnapshotStatus keeps track of the volumesnapshot that was triggered by a scheduled policy

func (*ScheduledVolumeSnapshotStatus) DeepCopy added in v1.4.0

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

func (*ScheduledVolumeSnapshotStatus) DeepCopyInto added in v1.4.0

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

type StashStrategy

type StashStrategy struct {
	StashCR bool `json:"stashCR"`
}

StashStrategy to restrict applying CR during migration

func (*StashStrategy) DeepCopy

func (in *StashStrategy) DeepCopy() *StashStrategy

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

func (*StashStrategy) DeepCopyInto

func (in *StashStrategy) DeepCopyInto(out *StashStrategy)

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

type SuspendOptions added in v1.4.0

type SuspendOptions struct {
	Path  string `json:"path"`
	Type  string `json:"type"`
	Value string `json:"value"`
}

SuspendOptions to disable CRD upon migration/restore/clone

func (*SuspendOptions) DeepCopy added in v1.4.0

func (in *SuspendOptions) DeepCopy() *SuspendOptions

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

func (*SuspendOptions) DeepCopyInto added in v1.4.0

func (in *SuspendOptions) DeepCopyInto(out *SuspendOptions)

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

type TransformResourceInfo

type TransformResourceInfo struct {
	Name                  string `json:"name"`
	Namespace             string `json:"namespace"`
	meta.GroupVersionKind `json:",inline"`
	Status                ResourceTransformationStatusType `json:"status"`
	Reason                string                           `json:"reason"`
	Specs                 TransformSpecs                   `json:"specs"`
}

TransformResourceInfo is the info of resources selected for transformation

func (*TransformResourceInfo) DeepCopy

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

func (*TransformResourceInfo) DeepCopyInto

func (in *TransformResourceInfo) DeepCopyInto(out *TransformResourceInfo)

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

type TransformSpecPatch

type TransformSpecPatch struct {
	GVK map[string]PatchStruct
}

func (*TransformSpecPatch) DeepCopy

func (in *TransformSpecPatch) DeepCopy() *TransformSpecPatch

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

func (*TransformSpecPatch) DeepCopyInto

func (in *TransformSpecPatch) DeepCopyInto(out *TransformSpecPatch)

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

type TransformSpecs

type TransformSpecs struct {
	// Resource is GroupVersionKind for k8s resources
	// should be in format `group/version/kind"
	Resource string `json:"resource"`
	// Selectors label selector to filter out resource for
	// patching
	Selectors map[string]string `json:"selectors"`
	// Paths collection of resource path to update
	Paths []ResourcePaths `json:"paths"`
}

TransformSpecs specifies the patch to update selected resource before migration/restore

func (*TransformSpecs) DeepCopy

func (in *TransformSpecs) DeepCopy() *TransformSpecs

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

func (*TransformSpecs) DeepCopyInto

func (in *TransformSpecs) DeepCopyInto(out *TransformSpecs)

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

type VolumeSnapshotRestore added in v1.4.0

type VolumeSnapshotRestore struct {
	meta.TypeMeta   `json:",inline"`
	meta.ObjectMeta `json:"metadata,omitempty"`
	Spec            VolumeSnapshotRestoreSpec   `json:"spec"`
	Status          VolumeSnapshotRestoreStatus `json:"status"`
}

VolumeSnapshotRestore crd spec for in-place restore of volume

func (*VolumeSnapshotRestore) DeepCopy added in v1.4.0

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

func (*VolumeSnapshotRestore) DeepCopyInto added in v1.4.0

func (in *VolumeSnapshotRestore) DeepCopyInto(out *VolumeSnapshotRestore)

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

func (*VolumeSnapshotRestore) DeepCopyObject added in v1.4.0

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

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

type VolumeSnapshotRestoreList added in v1.4.0

type VolumeSnapshotRestoreList struct {
	meta.TypeMeta `json:",inline"`
	meta.ListMeta `json:"metadata,omitempty"`
	Items         []VolumeSnapshotRestore `json:"items"`
}

VolumeSnapshotRestoreList is list of snapshot restores

func (*VolumeSnapshotRestoreList) DeepCopy added in v1.4.0

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

func (*VolumeSnapshotRestoreList) DeepCopyInto added in v1.4.0

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

func (*VolumeSnapshotRestoreList) DeepCopyObject added in v1.4.0

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

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

type VolumeSnapshotRestoreSpec added in v1.4.0

type VolumeSnapshotRestoreSpec struct {
	// SourceName of snapshot
	SourceName string `json:"sourceName"`
	// SourceNameSpace is snapshot namespace
	SourceNamespace string `json:"sourceNamespace"`
	// GroupSnapshot true if snapshot volumegroupsnapshot
	GroupSnapshot bool `json:"groupSnapshot"`
	// DestinationPVC list to restore snapshot
	DestinationPVC map[string]string `json:"pvcs,omitempty"`
}

VolumeSnapshotRestoreSpec for in-place volume restore

func (*VolumeSnapshotRestoreSpec) DeepCopy added in v1.4.0

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

func (*VolumeSnapshotRestoreSpec) DeepCopyInto added in v1.4.0

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

type VolumeSnapshotRestoreStatus added in v1.4.0

type VolumeSnapshotRestoreStatus struct {
	// Status of volume restore
	Status VolumeSnapshotRestoreStatusType `json:"status"`
	// Volumes list of volume restore information
	Volumes []*RestoreVolumeInfo `json:"volumes"`
}

VolumeSnapshotRestoreStatus of volume

func (*VolumeSnapshotRestoreStatus) DeepCopy added in v1.4.0

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

func (*VolumeSnapshotRestoreStatus) DeepCopyInto added in v1.4.0

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

type VolumeSnapshotRestoreStatusType added in v1.4.0

type VolumeSnapshotRestoreStatusType string

VolumeSnapshotRestoreStatusType is the status of volume in-place restore

const (
	// VolumeSnapshotRestoreStatusInitial is the initial state when snapshot restore is initiated
	VolumeSnapshotRestoreStatusInitial VolumeSnapshotRestoreStatusType = ""
	// VolumeSnapshotRestoreStatusPending for when restore is in pending state
	VolumeSnapshotRestoreStatusPending VolumeSnapshotRestoreStatusType = "Pending"
	// VolumeSnapshotRestoreStatusStaged for when restore has been staged locally
	VolumeSnapshotRestoreStatusStaged VolumeSnapshotRestoreStatusType = "Staged"
	// VolumeSnapshotRestoreStatusSuccessful for when restore is completed
	VolumeSnapshotRestoreStatusSuccessful VolumeSnapshotRestoreStatusType = "Successful"
	// VolumeSnapshotRestoreStatusInProgress for when restore is in progress
	VolumeSnapshotRestoreStatusInProgress VolumeSnapshotRestoreStatusType = "InProgress"
	// VolumeSnapshotRestoreStatusFailed for when restore failed
	VolumeSnapshotRestoreStatusFailed VolumeSnapshotRestoreStatusType = "Failed"
)

type VolumeSnapshotSchedule added in v1.4.0

type VolumeSnapshotSchedule struct {
	meta.TypeMeta   `json:",inline"`
	meta.ObjectMeta `json:"metadata,omitempty"`
	Spec            VolumeSnapshotScheduleSpec   `json:"spec"`
	Status          VolumeSnapshotScheduleStatus `json:"status"`
}

VolumeSnapshotSchedule represents a scheduled volumesnapshot object

func (*VolumeSnapshotSchedule) DeepCopy added in v1.4.0

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

func (*VolumeSnapshotSchedule) DeepCopyInto added in v1.4.0

func (in *VolumeSnapshotSchedule) DeepCopyInto(out *VolumeSnapshotSchedule)

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

func (*VolumeSnapshotSchedule) DeepCopyObject added in v1.4.0

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

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

type VolumeSnapshotScheduleList added in v1.4.0

type VolumeSnapshotScheduleList struct {
	meta.TypeMeta `json:",inline"`
	meta.ListMeta `json:"metadata,omitempty"`

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

VolumeSnapshotScheduleList is a list of VolumeSnapshotSchedules

func (*VolumeSnapshotScheduleList) DeepCopy added in v1.4.0

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

func (*VolumeSnapshotScheduleList) DeepCopyInto added in v1.4.0

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

func (*VolumeSnapshotScheduleList) DeepCopyObject added in v1.4.0

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

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

type VolumeSnapshotScheduleSpec added in v1.4.0

type VolumeSnapshotScheduleSpec struct {
	Template           VolumeSnapshotTemplateSpec `json:"template"`
	SchedulePolicyName string                     `json:"schedulePolicyName"`
	Suspend            *bool                      `json:"suspend"`
	ReclaimPolicy      ReclaimPolicyType          `json:"reclaimPolicy"`
	PreExecRule        string                     `json:"preExecRule"`
	PostExecRule       string                     `json:"postExecRule"`
}

VolumeSnapshotScheduleSpec is the spec used to schedule volumesnapshots

func (*VolumeSnapshotScheduleSpec) DeepCopy added in v1.4.0

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

func (*VolumeSnapshotScheduleSpec) DeepCopyInto added in v1.4.0

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

type VolumeSnapshotScheduleStatus added in v1.4.0

type VolumeSnapshotScheduleStatus struct {
	Items map[SchedulePolicyType][]*ScheduledVolumeSnapshotStatus `json:"items"`
}

VolumeSnapshotScheduleStatus is the status of a volumesnapshot schedule

func (*VolumeSnapshotScheduleStatus) DeepCopy added in v1.4.0

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

func (*VolumeSnapshotScheduleStatus) DeepCopyInto added in v1.4.0

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

type VolumeSnapshotStatus added in v1.4.0

type VolumeSnapshotStatus struct {
	VolumeSnapshotName string
	TaskID             string
	ParentVolumeID     string
	DataSource         *crdv1.VolumeSnapshotDataSource
	Conditions         []crdv1.VolumeSnapshotCondition
}

VolumeSnapshotStatus captures the status of a volume snapshot operation

func (*VolumeSnapshotStatus) DeepCopy added in v1.4.0

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

func (*VolumeSnapshotStatus) DeepCopyInto added in v1.4.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 VolumeSnapshotTemplateSpec added in v1.4.0

type VolumeSnapshotTemplateSpec struct {
	Spec snapv1.VolumeSnapshotSpec `json:"spec"`
}

VolumeSnapshotTemplateSpec describes the data a VolumeSnapshot should have when created from a template

func (*VolumeSnapshotTemplateSpec) DeepCopy added in v1.4.0

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

func (*VolumeSnapshotTemplateSpec) DeepCopyInto added in v1.4.0

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

type WeeklyPolicy added in v1.4.0

type WeeklyPolicy struct {
	// Day of the week when the policy should be triggered. Valid format are
	// specified in `Days` above
	Day string `json:"day"`
	// Time when the policy should be triggered. Expected format is
	// time.Kitchen eg 12:04PM or 12:04pm
	Time string `json:"time"`
	// Retain Number of objects to retain for weekly policy. Defaults to
	// @DefaultWeeklyPolicyRetain
	Retain Retain `json:"retain"`
	// Options to be passed in to the driver. These will be passed in
	// to the object being triggered
	Options map[string]string `json:"options"`
}

WeeklyPolicy contains the day and time in a week when an action should be executed

func (*WeeklyPolicy) DeepCopy added in v1.4.0

func (in *WeeklyPolicy) DeepCopy() *WeeklyPolicy

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

func (*WeeklyPolicy) DeepCopyInto added in v1.4.0

func (in *WeeklyPolicy) DeepCopyInto(out *WeeklyPolicy)

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

func (*WeeklyPolicy) GetHourMinute added in v1.4.0

func (w *WeeklyPolicy) GetHourMinute() (int, int, error)

GetHourMinute parses and return the hour and minute specified in the policy

func (*WeeklyPolicy) Validate added in v1.4.0

func (w *WeeklyPolicy) Validate() error

Validate validates a WeeklyPolicy

Jump to

Keyboard shortcuts

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