v1alpha1

package
v2.2.2+incompatible Latest Latest
Warning

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

Go to latest
Published: May 15, 2019 License: Apache-2.0 Imports: 11 Imported by: 101

Documentation

Overview

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

Index

Constants

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 (
	// SchedulePolicyResourceName is name for "schedulepolicy" resource
	SchedulePolicyResourceName = "schedulepolicy"
	// SchedulePolicyResourcePlural is plural for "schedulepolicy" resource
	SchedulePolicyResourcePlural = "schedulepolicies"
)
View Source
const (
	// StorageClusterResourceName is name for "storagecluster" resource
	StorageClusterResourceName = "storagecluster"
	// StorageClusterResourcePlural is plural for "storagecluster" resource
	StorageClusterResourcePlural = "storageclusters"
	// StorageClusterShortName is the shortname for "storagecluster" resource
	StorageClusterShortName = "stc"
)
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,
	"Monday":    time.Monday,
	"Mon":       time.Monday,
	"Tuesday":   time.Tuesday,
	"Tue":       time.Tuesday,
	"Wednesday": time.Wednesday,
	"Wed":       time.Wednesday,
	"Thursday":  time.Thursday,
	"Thu":       time.Thursday,
	"Thur":      time.Thursday,
	"Thurs":     time.Thursday,
	"Friday":    time.Friday,
	"Fri":       time.Friday,
	"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 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 CloudStorageSpec

type CloudStorageSpec struct {
	// DeviceSpecs list of storage device specs. A cloud storage device will
	// be created for every spec in the DeviceSpecs list. Currently,
	// CloudStorageSpec is only at the cluster level, so the below specs
	// be applied to all storage nodes in the cluster.
	DeviceSpecs *[]string `json:"deviceSpecs"`
	// JournalDeviceSpec spec for the journal device
	JournalDeviceSpec *string `json:"journalDeviceSpec"`
	// SystemMdDeviceSpec spec for the metadata device
	SystemMdDeviceSpec *string `json:"systemMetadataDeviceSpec"`
	// MaxStorageNodes maximum nodes that will have storage in the cluster
	MaxStorageNodes uint32 `json:"maxStorageNodes"`
	// MaxStorageNodesPerZone maximum nodes in every zone that will have
	// storage in the cluster
	MaxStorageNodesPerZone uint32 `json:"maxStorageNodesPerZone"`
}

CloudStorageSpec details of storage in cloud environment

func (*CloudStorageSpec) DeepCopy

func (in *CloudStorageSpec) DeepCopy() *CloudStorageSpec

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

func (*CloudStorageSpec) DeepCopyInto

func (in *CloudStorageSpec) DeepCopyInto(out *CloudStorageSpec)

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

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 {
	Active   []string `json:"active"`
	Inactive []string `json:"inactive"`
}

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

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 ClusterStatus

type ClusterStatus string

ClusterStatus is the enum type for cluster statuses

const (
	// ClusterOK means the cluster is up and healthy
	ClusterOk ClusterStatus = "Ok"
	// ClusterOffline means the cluster is offline
	ClusterOffline ClusterStatus = "Offline"
	// ClusterNotInQuorum means the cluster is out of quorum
	ClusterNotInQuorum ClusterStatus = "NotInQuorum"
	// ClusterUnknown means the cluser status is not known
	ClusterUnknown ClusterStatus = "Unknown"
)

These are valid cluster statuses.

type CommonConfig

type CommonConfig struct {
	// Network is the network information for storage driver
	Network *NetworkSpec `json:"network"`
	// Storage details of storage used by the driver
	Storage *StorageSpec `json:"storage"`
	// Env is a list of environment variables used by the driver
	Env []corev1.EnvVar `json:"env"`
	// RuntimeOpts is a map of options with extra configs for storage driver
	RuntimeOpts map[string]string `json:"runtimeOptions"`
}

CommonConfig are common configurations that are exposed at both cluster and node level

func (*CommonConfig) DeepCopy

func (in *CommonConfig) DeepCopy() *CommonConfig

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

func (*CommonConfig) DeepCopyInto

func (in *CommonConfig) DeepCopyInto(out *CommonConfig)

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

type ConditionStatus

type ConditionStatus string

ConditionStatus is the enum type for node condition statuses

const (
	// NodeOnline means the node condition is online and healthy
	NodeOnline ConditionStatus = "Online"
	// NodeInit means the node condition is in intializing state
	NodeInit ConditionStatus = "Intializing"
	// NodeMaintenance means the node condition is in maintenance state
	NodeMaintenance ConditionStatus = "Maintenance"
	// NodeDecommissioned means the node condition is in decommissioned state
	NodeDecommissioned ConditionStatus = "Decommissioned"
	// NodeOffline means the node condition is in offline state
	NodeOffline ConditionStatus = "Offline"
	// NodeUnknown means the node condition is not known
	NodeUnknown ConditionStatus = "Unknown"
)

These are valid statuses of different node conditions.

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

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 Geography

type Geography struct {
	// Region region in which the node is placed
	Region string `json:"region"`
	// Zone zone in which the node is placed
	Zone string `json:"zone"`
	// Rack rack on which the node is placed
	Rack string `json:"rack"`
}

Geography is topology information for a node

func (*Geography) DeepCopy

func (in *Geography) DeepCopy() *Geography

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

func (*Geography) DeepCopyInto

func (in *Geography) DeepCopyInto(out *Geography)

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

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 KvdbSpec

type KvdbSpec struct {
	// Internal flag indicates whether to use internal kvdb or an external one
	Internal bool `json:"internal"`
	// Endpoints to access the kvdb
	Endpoints []string `json:"endpoints"`
	// AuthSecret is name of the kubernetes secret containing information
	// to authenticate with the kvdb. It could have the username/password
	// for basic auth, certificate information or ACL token.
	AuthSecret string `json:"authSecret"`
}

KvdbSpec contains the details to access kvdb

func (*KvdbSpec) DeepCopy

func (in *KvdbSpec) DeepCopy() *KvdbSpec

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

func (*KvdbSpec) DeepCopyInto

func (in *KvdbSpec) DeepCopyInto(out *KvdbSpec)

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

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

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"`
	Namespaces        []string          `json:"namespaces"`
	IncludeResources  *bool             `json:"includeResources"`
	IncludeVolumes    *bool             `json:"includeVolumes"`
	StartApplications *bool             `json:"startApplications"`
	Selectors         map[string]string `json:"selectors"`
	PreExecRule       string            `json:"preExecRule"`
	PostExecRule      string            `json:"postExecRule"`
}

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       []*ResourceInfo     `json:"resources"`
	Volumes         []*VolumeInfo       `json:"volumes"`
	FinishTimestamp meta.Time           `json:"finishTimestamp"`
}

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"
	// MigrationStatusCaptured for when migration specs have been captured
	MigrationStatusCaptured MigrationStatusType = "Captured"
	// 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"
)

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

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 NetworkSpec

type NetworkSpec struct {
	// DataInterface is the network interface used by driver for data traffic
	DataInterface *string `json:"dataInterface"`
	// MgmtInterface is the network interface used by driver for mgmt traffic
	MgmtInterface *string `json:"mgmtInterface"`
}

NetworkSpec contains network information

func (*NetworkSpec) DeepCopy

func (in *NetworkSpec) DeepCopy() *NetworkSpec

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

func (*NetworkSpec) DeepCopyInto

func (in *NetworkSpec) DeepCopyInto(out *NetworkSpec)

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

type NetworkStatus

type NetworkStatus struct {
	// DataIP is the IP address used by storage driver for data traffic
	DataIP string `json:"dataIP"`
	// MgmtIP is the IP address used by storage driver for management traffic
	MgmtIP string `json:"mgmtIP"`
}

NetworkStatus network status of the node

func (*NetworkStatus) DeepCopy

func (in *NetworkStatus) DeepCopy() *NetworkStatus

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

func (*NetworkStatus) DeepCopyInto

func (in *NetworkStatus) DeepCopyInto(out *NetworkStatus)

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

type NodeCondition

type NodeCondition struct {
	// Type of the node condition
	Type NodeConditionType `json:"type"`
	// Status of the condition
	Status ConditionStatus `json:"status"`
	// Reason is human readable message indicating details about the condition status
	Reason string `json:"reason"`
}

NodeCondition contains condition information for a node

func (*NodeCondition) DeepCopy

func (in *NodeCondition) DeepCopy() *NodeCondition

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

func (*NodeCondition) DeepCopyInto

func (in *NodeCondition) DeepCopyInto(out *NodeCondition)

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

type NodeConditionType

type NodeConditionType string

NodeConditionType is the enum type for different node conditions

const (
	// NodeState is used for overall state of the node
	NodeState NodeConditionType = "NodeState"
	// StorageState is used for the state of storage in the node
	StorageState NodeConditionType = "StorageState"
)

These are valid conditions of the storage node. They correspond to different components in the storage cluster node.

type NodeSelector

type NodeSelector struct {
	// NodeName is the name of Kubernetes node that it to be selected
	NodeName string `json:"nodeName"`
	// LabelSelector is label query over all the nodes in the cluster
	LabelSelector *meta.LabelSelector `json:"labelSelector"`
}

NodeSelector let's the user select a node or group of nodes based on either the NodeName or the node LabelSelector. If NodeName is specified then, LabelSelector is ignored as that is more accurate, even though it does not match any node names.

func (*NodeSelector) DeepCopy

func (in *NodeSelector) DeepCopy() *NodeSelector

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

func (*NodeSelector) DeepCopyInto

func (in *NodeSelector) DeepCopyInto(out *NodeSelector)

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

type NodeSpec

type NodeSpec struct {
	// Selector rest of the attributes are applied to a node that matches
	// the selector
	Selector NodeSelector `json:"selector"`
	// Geo is topology information for the node
	Geo *Geography `json:"geography"`
	// CommonConfig that is present at both cluster and node level
	CommonConfig
}

NodeSpec is the spec used to define node level configuration. Values here will override the ones present at cluster-level for nodes matching the selector.

func (*NodeSpec) DeepCopy

func (in *NodeSpec) DeepCopy() *NodeSpec

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

func (*NodeSpec) DeepCopyInto

func (in *NodeSpec) DeepCopyInto(out *NodeSpec)

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

type NodeStatus

type NodeStatus struct {
	// NodeName name of the node
	NodeName string `json:"nodeName"`
	// NodeUUID uuid of the node
	NodeUUID string `json:"nodeUuid"`
	// Network details used by the storage driver
	Network NetworkStatus `json:"network"`
	// Geo topology information for a node
	Geo Geography `json:"geography"`
	// Conditions is an array of current node conditions
	Conditions []NodeCondition `json:"conditions,omitempty"`
}

NodeStatus status of the storage cluster node

func (*NodeStatus) DeepCopy

func (in *NodeStatus) DeepCopy() *NodeStatus

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

func (*NodeStatus) DeepCopyInto

func (in *NodeStatus) DeepCopyInto(out *NodeStatus)

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 PlacementSpec

type PlacementSpec struct {
	// NodeAffinity describes node affinity scheduling rules for the pods
	NodeAffinity *corev1.NodeAffinity `json:"nodeAffinity"`
}

PlacementSpec has placement configuration for the storage cluster nodes

func (*PlacementSpec) DeepCopy

func (in *PlacementSpec) DeepCopy() *PlacementSpec

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

func (*PlacementSpec) DeepCopyInto

func (in *PlacementSpec) DeepCopyInto(out *PlacementSpec)

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 ResourceInfo

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

ResourceInfo is the info for the migration of a resource

func (*ResourceInfo) DeepCopy

func (in *ResourceInfo) DeepCopy() *ResourceInfo

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

func (*ResourceInfo) DeepCopyInto

func (in *ResourceInfo) DeepCopyInto(out *ResourceInfo)

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

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 StorageCluster

type StorageCluster struct {
	meta.TypeMeta   `json:",inline"`
	meta.ObjectMeta `json:"metadata,omitempty"`
	Spec            StorageClusterSpec   `json:"spec"`
	Status          StorageClusterStatus `json:"status"`
}

StorageCluster represents a storage cluster

func (*StorageCluster) DeepCopy

func (in *StorageCluster) DeepCopy() *StorageCluster

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

func (*StorageCluster) DeepCopyInto

func (in *StorageCluster) DeepCopyInto(out *StorageCluster)

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

func (*StorageCluster) DeepCopyObject

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

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

type StorageClusterList

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

StorageClusterList is a list of StorageCluster

func (*StorageClusterList) DeepCopy

func (in *StorageClusterList) DeepCopy() *StorageClusterList

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

func (*StorageClusterList) DeepCopyInto

func (in *StorageClusterList) DeepCopyInto(out *StorageClusterList)

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

func (*StorageClusterList) DeepCopyObject

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

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

type StorageClusterSpec

type StorageClusterSpec struct {
	// Placement configuration for the storage cluster nodes
	Placement *PlacementSpec `json:"placement"`
	// Image is docker image of the storage driver
	Image string `json:"image"`
	// Kvdb is the information of kvdb that storage driver uses
	Kvdb *KvdbSpec `json:"kvdb"`
	// CloudStorage details of storage in cloud environment.
	// Keep this only at cluster level for now until support to change
	// cloud storage at node level is added.
	CloudStorage *CloudStorageSpec `json:"cloudStorage"`
	// SecretsProvider is the name of secret provider that driver will connect to
	SecretsProvider string `json:"secretsProvider"`
	// CSIEndpoint is the csi endpoint for the driver
	CSIEndpoint string `json:"csiEndpoint"`
	// CallHome send cluster information for analytics
	CallHome bool `json:"callHome"`
	// CommonConfig that is present at both cluster and node level
	CommonConfig
	// Nodes node level configurations that will override the ones at cluster
	// level. These configurations can be grouped based on label selectors.
	Nodes []NodeSpec `json:"nodes"`
}

StorageClusterSpec is the spec used to define a storage cluster

func (*StorageClusterSpec) DeepCopy

func (in *StorageClusterSpec) DeepCopy() *StorageClusterSpec

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

func (*StorageClusterSpec) DeepCopyInto

func (in *StorageClusterSpec) DeepCopyInto(out *StorageClusterSpec)

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

type StorageClusterStatus

type StorageClusterStatus struct {
	// ClusterName name of the storage cluster
	ClusterName string `json:"clusterName"`
	// ClusterUUID uuid for the storage cluster
	ClusterUUID string `json:"clusterUuid"`
	// CreatedAt timestamp at which the storage cluster was created
	CreatedAt *meta.Time `json:"createdAt"`
	// Status status of the storage cluster
	Status ClusterStatus `json:"status"`
	// Reason is human readable message indicating the status of the cluster
	Reason string `json:"reason,omitempty"`
	// NodeStatuses list of statuses for all the nodes in the storage cluster
	NodeStatuses []NodeStatus `json:nodes`
}

StorageClusterStatus is the status of a storage cluster

func (*StorageClusterStatus) DeepCopy

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

func (*StorageClusterStatus) DeepCopyInto

func (in *StorageClusterStatus) DeepCopyInto(out *StorageClusterStatus)

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

type StorageSpec

type StorageSpec struct {
	// UseAll use all available, unformatted, unpartioned devices.
	// This will be ignored if Devices is not empty.
	UseAll *bool `json:"useAll"`
	// UseAllWithPartitions use all available unformatted devices
	// including partitions. This will be ignored if Devices is not empty.
	UseAllWithPartitions *bool `json:"useAllWithPartitions"`
	// Devices list of devices to be used by storage driver
	Devices *[]string `json:"devices"`
	// JournalDevice device for journaling
	JournalDevice *string `json:"journalDevice"`
	// SystemMdDevice device that will be used to store system metadata
	SystemMdDevice *string `json:"systemMetadataDevice"`
	// DataStorageType backing store type for managing drives and pools
	DataStorageType *string `json:"dataStorageType"`
	// RaidLevel raid level for the storage pool
	RaidLevel *string `json:"raidLevel"`
}

StorageSpec details of storage used by the driver

func (*StorageSpec) DeepCopy

func (in *StorageSpec) DeepCopy() *StorageSpec

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

func (*StorageSpec) DeepCopyInto

func (in *StorageSpec) DeepCopyInto(out *StorageSpec)

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

type VolumeInfo

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

VolumeInfo is the info for the migration of a volume

func (*VolumeInfo) DeepCopy

func (in *VolumeInfo) DeepCopy() *VolumeInfo

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

func (*VolumeInfo) DeepCopyInto

func (in *VolumeInfo) DeepCopyInto(out *VolumeInfo)

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

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

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