v1alpha1

package
v0.12.0 Latest Latest
Warning

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

Go to latest
Published: Mar 3, 2025 License: Apache-2.0 Imports: 6 Imported by: 3

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the csiaddons v1alpha1 API group +kubebuilder:object:generate=true +groupName=csiaddons.openshift.io

Index

Constants

View Source
const (
	// FenceOperationSuccessfulMessage represents successful message on fence operation
	FenceOperationSuccessfulMessage = "fencing operation successful"

	// UnFenceOperationSuccessfulMessage represents successful message on unfence operation
	UnFenceOperationSuccessfulMessage = "unfencing operation successful"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "csiaddons.openshift.io", Version: "v1alpha1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type CSIAddonsNode

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

	// +kubebuilder:validation:Required
	Spec CSIAddonsNodeSpec `json:"spec"`

	Status CSIAddonsNodeStatus `json:"status,omitempty"`
}

CSIAddonsNode is the Schema for the csiaddonsnode API

func (*CSIAddonsNode) DeepCopy

func (in *CSIAddonsNode) DeepCopy() *CSIAddonsNode

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

func (*CSIAddonsNode) DeepCopyInto

func (in *CSIAddonsNode) DeepCopyInto(out *CSIAddonsNode)

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

func (*CSIAddonsNode) DeepCopyObject

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

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

type CSIAddonsNodeDriver

type CSIAddonsNodeDriver struct {
	// Name is the name of the CSI driver that this object refers to.
	// This must be the same name returned by the CSI-Addons GetIdentity()
	// call for that driver. The name of the driver is in the format:
	// `example.csi.ceph.com`
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="name is immutable"
	Name string `json:"name"`

	// EndPoint is url that contains the ip-address to which the CSI-Addons
	// side-car listens to.
	EndPoint string `json:"endpoint"`

	// NodeID is the ID of the node to identify on which node the side-car
	// is running.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="nodeID is immutable"
	NodeID string `json:"nodeID"`
}

func (*CSIAddonsNodeDriver) DeepCopy

func (in *CSIAddonsNodeDriver) DeepCopy() *CSIAddonsNodeDriver

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

func (*CSIAddonsNodeDriver) DeepCopyInto

func (in *CSIAddonsNodeDriver) DeepCopyInto(out *CSIAddonsNodeDriver)

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

type CSIAddonsNodeList

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

CSIAddonsNodeList contains a list of CSIAddonsNode

func (*CSIAddonsNodeList) DeepCopy

func (in *CSIAddonsNodeList) DeepCopy() *CSIAddonsNodeList

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

func (*CSIAddonsNodeList) DeepCopyInto

func (in *CSIAddonsNodeList) DeepCopyInto(out *CSIAddonsNodeList)

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

func (*CSIAddonsNodeList) DeepCopyObject

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

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

type CSIAddonsNodeSpec

type CSIAddonsNodeSpec struct {
	// Driver is the information of the CSI Driver existing on a node.
	// If the driver is uninstalled, this can become empty.
	Driver CSIAddonsNodeDriver `json:"driver"`
}

CSIAddonsNodeSpec defines the desired state of CSIAddonsNode

func (*CSIAddonsNodeSpec) DeepCopy

func (in *CSIAddonsNodeSpec) DeepCopy() *CSIAddonsNodeSpec

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

func (*CSIAddonsNodeSpec) DeepCopyInto

func (in *CSIAddonsNodeSpec) DeepCopyInto(out *CSIAddonsNodeSpec)

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

type CSIAddonsNodeState

type CSIAddonsNodeState string

CSIAddonsNodeState defines the state of the operation.

const (
	// Connected represents the Connected state.
	CSIAddonsNodeStateConnected CSIAddonsNodeState = "Connected"

	// Failed represents the Connection Failed state.
	CSIAddonsNodeStateFailed CSIAddonsNodeState = "Failed"
)

type CSIAddonsNodeStatus

type CSIAddonsNodeStatus struct {
	// State represents the state of the CSIAddonsNode object.
	// It informs whether or not the CSIAddonsNode is Connected
	// to the CSI Driver.
	State CSIAddonsNodeState `json:"state,omitempty"`

	// Message is a human-readable message indicating details about why the CSIAddonsNode
	// is in this state.
	// +optional
	Message string `json:"message,omitempty"`

	// Reason is a brief CamelCase string that describes any failure and is meant
	// for machine parsing and tidy display in the CLI.
	// +optional
	Reason string `json:"reason,omitempty"`

	// A list of capabilities advertised by the sidecar
	Capabilities []string `json:"capabilities,omitempty"`

	// NetworkFenceClientStatus contains the status of the clients required for fencing.
	NetworkFenceClientStatus []NetworkFenceClientStatus `json:"networkFenceClientStatus,omitempty"`
}

CSIAddonsNodeStatus defines the observed state of CSIAddonsNode

func (*CSIAddonsNodeStatus) DeepCopy

func (in *CSIAddonsNodeStatus) DeepCopy() *CSIAddonsNodeStatus

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

func (*CSIAddonsNodeStatus) DeepCopyInto

func (in *CSIAddonsNodeStatus) DeepCopyInto(out *CSIAddonsNodeStatus)

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

type ClientDetail added in v0.11.0

type ClientDetail struct {
	// Id is the unique identifier of the client where it belongs to.
	Id string `json:"id"`
	// Cidrs is the list of CIDR blocks that are fenced.
	Cidrs []string `json:"cidrs"`
}

ClientDetail contains the details of the client required for fencing.

func (*ClientDetail) DeepCopy added in v0.11.0

func (in *ClientDetail) DeepCopy() *ClientDetail

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

func (*ClientDetail) DeepCopyInto added in v0.11.0

func (in *ClientDetail) DeepCopyInto(out *ClientDetail)

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

type ConcurrencyPolicy

type ConcurrencyPolicy string

ConcurrencyPolicy describes how the job will be handled. Only one of the following concurrent policies may be specified. If none of the following policies is specified, the default one is ReplaceConcurrent.

const (
	// ForbidConcurrent forbids concurrent runs, skipping next run if previous
	// hasn't finished yet.
	ForbidConcurrent ConcurrencyPolicy = "Forbid"

	// ReplaceConcurrent cancels currently running job and replaces it with a new one.
	ReplaceConcurrent ConcurrencyPolicy = "Replace"
)

type EncryptionKeyRotationCronJob

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

	//+kubebuilder:validation:Required
	Spec EncryptionKeyRotationCronJobSpec `json:"spec,omitempty"`

	Status EncryptionKeyRotationCronJobStatus `json:"status,omitempty"`
}

EncryptionKeyRotationCronJob is the Schema for the encryptionkeyrotationcronjobs API

func (*EncryptionKeyRotationCronJob) DeepCopy

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

func (*EncryptionKeyRotationCronJob) DeepCopyInto

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

func (*EncryptionKeyRotationCronJob) DeepCopyObject

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

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

type EncryptionKeyRotationCronJobList

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

EncryptionKeyRotationCronJobList contains a list of EncryptionKeyRotationCronJob

func (*EncryptionKeyRotationCronJobList) DeepCopy

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

func (*EncryptionKeyRotationCronJobList) DeepCopyInto

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

func (*EncryptionKeyRotationCronJobList) DeepCopyObject

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

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

type EncryptionKeyRotationCronJobSpec

type EncryptionKeyRotationCronJobSpec struct {
	// The schedule in Cron format, see https://en.wikipedia.org/wiki/Cron.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Pattern:=.+
	Schedule string `json:"schedule"`

	// Optional deadline in seconds for starting the job if it misses scheduled
	// time for any reason.  Missed jobs executions will be counted as failed ones.
	// +kubebuilder:validation:Optional
	StartingDeadlineSeconds *int64 `json:"startingDeadlineSeconds,omitempty"`

	// Specifies how to treat concurrent executions of a Job.
	// Valid values are:
	// - "Forbid" (default): forbids concurrent runs, skipping next run if
	//   previous run hasn't finished yet;
	// - "Replace": cancels currently running job and replaces it
	//   with a new one
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Enum=Forbid;Replace
	// +kubebuilder:default:=Forbid
	ConcurrencyPolicy ConcurrencyPolicy `json:"concurrencyPolicy,omitempty"`

	// This flag tells the controller to suspend subsequent executions, it does
	// not apply to already started executions.  Defaults to false.
	// +kubebuilder:validation:Optional
	Suspend *bool `json:"suspend,omitempty"`

	// Specifies the job that will be created when executing a CronJob.
	// +kubebuilder:validation:Required
	JobSpec EncryptionKeyRotationJobTemplateSpec `json:"jobTemplate"`

	// The number of successful finished jobs to retain. Value must be non-negative integer.
	// Defaults to 3.
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Maximum=60
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:default:=3
	SuccessfulJobsHistoryLimit *int32 `json:"successfulJobsHistoryLimit,omitempty"`

	// The number of failed finished jobs to retain. Value must be non-negative integer.
	// Defaults to 1.
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Maximum=60
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:default:=1
	FailedJobsHistoryLimit *int32 `json:"failedJobsHistoryLimit,omitempty"`
}

EncryptionKeyRotationCronJobSpec defines the desired state of EncryptionKeyRotationCronJob

func (*EncryptionKeyRotationCronJobSpec) DeepCopy

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

func (*EncryptionKeyRotationCronJobSpec) DeepCopyInto

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

type EncryptionKeyRotationCronJobStatus

type EncryptionKeyRotationCronJobStatus struct {
	// A pointer to currently running job.
	Active *v1.ObjectReference `json:"active,omitempty"`

	// Information when was the last time the job was successfully scheduled.
	LastScheduleTime *metav1.Time `json:"lastScheduleTime,omitempty"`

	// Information when was the last time the job successfully completed.
	LastSuccessfulTime *metav1.Time `json:"lastSuccessfulTime,omitempty"`
}

EncryptionKeyRotationCronJobStatus defines the observed state of EncryptionKeyRotationCronJob

func (*EncryptionKeyRotationCronJobStatus) DeepCopy

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

func (*EncryptionKeyRotationCronJobStatus) DeepCopyInto

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

type EncryptionKeyRotationJob

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

	// +kubebuilder:validation:Required
	Spec EncryptionKeyRotationJobSpec `json:"spec,omitempty"`

	Status EncryptionKeyRotationJobStatus `json:"status,omitempty"`
}

EncryptionKeyRotationJob is the Schema for the encryptionkeyrotationjobs API

func (*EncryptionKeyRotationJob) DeepCopy

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

func (*EncryptionKeyRotationJob) DeepCopyInto

func (in *EncryptionKeyRotationJob) DeepCopyInto(out *EncryptionKeyRotationJob)

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

func (*EncryptionKeyRotationJob) DeepCopyObject

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

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

type EncryptionKeyRotationJobList

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

EncryptionKeyRotationJobList contains a list of EncryptionKeyRotationJob

func (*EncryptionKeyRotationJobList) DeepCopy

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

func (*EncryptionKeyRotationJobList) DeepCopyInto

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

func (*EncryptionKeyRotationJobList) DeepCopyObject

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

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

type EncryptionKeyRotationJobSpec

type EncryptionKeyRotationJobSpec struct {
	// Target represents tvolume target on which operation will be
	// performed.
	// +kubebuilder:validation:Required
	Target TargetSpec `json:"target"`

	// BackOffLimit specifies the number of retries allowed before marking reclaim
	// space operation as failed. If not specified, defaults to 6. Maximum allowed
	// value is 60 and minimum allowed value is 0.
	// +optional
	// +kubebuilder:validation:Maximum=60
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:default:=6
	BackoffLimit int32 `json:"backOffLimit"`

	// RetryDeadlineSeconds specifies the duration in seconds relative to the
	// start time that the operation may be retried; value MUST be positive integer.
	// If not specified, defaults to 600 seconds. Maximum allowed
	// value is 1800.
	// +optional
	// +kubebuilder:validation:Maximum=1800
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:default:=600
	RetryDeadlineSeconds int64 `json:"retryDeadlineSeconds"`

	// Timeout specifies the timeout in seconds for the grpc request sent to the
	// CSI driver.
	// Minimum allowed value is 60.
	// +optional
	// +kubebuilder:validation:Minimum=60
	Timeout *int64 `json:"timeout,omitempty"`
}

EncryptionKeyRotationJobSpec defines the desired state of EncryptionKeyRotationJob

func (*EncryptionKeyRotationJobSpec) DeepCopy

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

func (*EncryptionKeyRotationJobSpec) DeepCopyInto

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

type EncryptionKeyRotationJobStatus

type EncryptionKeyRotationJobStatus struct {
	// Result indicates the result of EncryptionKeyRotationJob.
	Result OperationResult `json:"result,omitempty"`

	// Message contains any message from the EncryptionKeyRotationJob.
	Message string `json:"message,omitempty"`

	// Conditions are the list of conditions and their status.
	Conditions []metav1.Condition `json:"conditions,omitempty"`

	// Retries indicates the number of times the operation is retried.
	Retries        int32        `json:"retries,omitempty"`
	StartTime      *metav1.Time `json:"startTime,omitempty"`
	CompletionTime *metav1.Time `json:"completionTime,omitempty"`
}

EncryptionKeyRotationJobStatus defines the observed state of EncryptionKeyRotationJob

func (*EncryptionKeyRotationJobStatus) DeepCopy

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

func (*EncryptionKeyRotationJobStatus) DeepCopyInto

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

type EncryptionKeyRotationJobTemplateSpec

type EncryptionKeyRotationJobTemplateSpec struct {
	// Standard object's metadata of the jobs created from this template.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Specification of the desired behavior of the job.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
	// +kubebuilder:validation:Required
	Spec EncryptionKeyRotationJobSpec `json:"spec,omitempty"`
}

EncryptionKeyRotationJobTemplateSpec describes the data a Job should have when created from a template

func (*EncryptionKeyRotationJobTemplateSpec) DeepCopy

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

func (*EncryptionKeyRotationJobTemplateSpec) DeepCopyInto

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

type FenceState

type FenceState string
const (
	// Fenced means the CIDRs should be in fenced state
	Fenced FenceState = "Fenced"

	// Unfenced means the CIDRs should be in unfenced state
	Unfenced FenceState = "Unfenced"
)

type FencingOperationResult

type FencingOperationResult string
const (
	// FencingOperationResultSucceeded represents the Succeeded operation state.
	FencingOperationResultSucceeded FencingOperationResult = "Succeeded"

	// FencingOperationResultFailed represents the Failed operation state.
	FencingOperationResultFailed FencingOperationResult = "Failed"
)

type NetworkFence

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

	// +kubebuilder:validation:Required
	Spec NetworkFenceSpec `json:"spec"`

	Status NetworkFenceStatus `json:"status,omitempty"`
}

NetworkFence is the Schema for the networkfences API

func (*NetworkFence) DeepCopy

func (in *NetworkFence) DeepCopy() *NetworkFence

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

func (*NetworkFence) DeepCopyInto

func (in *NetworkFence) DeepCopyInto(out *NetworkFence)

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

func (*NetworkFence) DeepCopyObject

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

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

type NetworkFenceClass added in v0.11.0

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

	Spec   NetworkFenceClassSpec   `json:"spec,omitempty"`
	Status NetworkFenceClassStatus `json:"status,omitempty"`
}

NetworkFenceClass is the Schema for the networkfenceclasses API

func (*NetworkFenceClass) DeepCopy added in v0.11.0

func (in *NetworkFenceClass) DeepCopy() *NetworkFenceClass

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

func (*NetworkFenceClass) DeepCopyInto added in v0.11.0

func (in *NetworkFenceClass) DeepCopyInto(out *NetworkFenceClass)

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

func (*NetworkFenceClass) DeepCopyObject added in v0.11.0

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

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

type NetworkFenceClassList added in v0.11.0

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

NetworkFenceClassList contains a list of NetworkFenceClass

func (*NetworkFenceClassList) DeepCopy added in v0.11.0

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

func (*NetworkFenceClassList) DeepCopyInto added in v0.11.0

func (in *NetworkFenceClassList) DeepCopyInto(out *NetworkFenceClassList)

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

func (*NetworkFenceClassList) DeepCopyObject added in v0.11.0

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

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

type NetworkFenceClassSpec added in v0.11.0

type NetworkFenceClassSpec struct {
	// Provisioner is the name of storage provisioner
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="provisioner is immutable"
	Provisioner string `json:"provisioner"`
	// Parameters is a key-value map with storage provisioner specific configurations for
	// creating volume replicas
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="parameters are immutable"
	Parameters map[string]string `json:"parameters,omitempty"`
}

NetworkFenceClassSpec specifies parameters that an underlying storage system uses to get client for network fencing. Upon creating a NetworkFenceClass object, a RPC will be set to the storage system that matches the provisioner to get the client for network fencing. +kubebuilder:validation:XValidation:rule="has(self.parameters) == has(oldSelf.parameters)",message="parameters are immutable"

func (*NetworkFenceClassSpec) DeepCopy added in v0.11.0

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

func (*NetworkFenceClassSpec) DeepCopyInto added in v0.11.0

func (in *NetworkFenceClassSpec) DeepCopyInto(out *NetworkFenceClassSpec)

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

type NetworkFenceClassStatus added in v0.11.0

type NetworkFenceClassStatus struct {
}

NetworkFenceClassStatus defines the observed state of NetworkFenceClass

func (*NetworkFenceClassStatus) DeepCopy added in v0.11.0

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

func (*NetworkFenceClassStatus) DeepCopyInto added in v0.11.0

func (in *NetworkFenceClassStatus) DeepCopyInto(out *NetworkFenceClassStatus)

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

type NetworkFenceClientStatus added in v0.11.0

type NetworkFenceClientStatus struct {
	NetworkFenceClassName string         `json:"networkFenceClassName"`
	ClientDetails         []ClientDetail `json:"ClientDetails"`
}

NetworkFenceClientStatus contains the status of the clients required for fencing.

func (*NetworkFenceClientStatus) DeepCopy added in v0.11.0

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

func (*NetworkFenceClientStatus) DeepCopyInto added in v0.11.0

func (in *NetworkFenceClientStatus) DeepCopyInto(out *NetworkFenceClientStatus)

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

type NetworkFenceList

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

NetworkFenceList contains a list of NetworkFence

func (*NetworkFenceList) DeepCopy

func (in *NetworkFenceList) DeepCopy() *NetworkFenceList

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

func (*NetworkFenceList) DeepCopyInto

func (in *NetworkFenceList) DeepCopyInto(out *NetworkFenceList)

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

func (*NetworkFenceList) DeepCopyObject

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

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

type NetworkFenceSpec

type NetworkFenceSpec struct {
	// Driver contains  the name of CSI driver.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="driver is immutable"
	Driver string `json:"driver"`

	// FenceState contains the desired state for the CIDRs
	// mentioned in the Spec. i.e. Fenced or Unfenced
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Enum=Fenced;Unfenced
	// +kubebuilder:default:=Fenced
	FenceState FenceState `json:"fenceState"`

	// Cidrs contains a list of CIDR blocks, which are required to be fenced.
	// +kubebuilder:validation:Required
	Cidrs []string `json:"cidrs"`

	// Secret is a kubernetes secret, which is required to perform the fence/unfence operation.
	Secret SecretSpec `json:"secret,omitempty"`

	// Parameters is used to pass additional parameters to the CSI driver.
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="parameters are immutable"
	Parameters map[string]string `json:"parameters,omitempty"`
}

NetworkFenceSpec defines the desired state of NetworkFence +kubebuilder:validation:XValidation:rule="has(self.parameters) == has(oldSelf.parameters)",message="parameters are immutable" +kubebuilder:validation:XValidation:rule="has(self.secret) == has(oldSelf.secret)",message="secret is immutable"

func (*NetworkFenceSpec) DeepCopy

func (in *NetworkFenceSpec) DeepCopy() *NetworkFenceSpec

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

func (*NetworkFenceSpec) DeepCopyInto

func (in *NetworkFenceSpec) DeepCopyInto(out *NetworkFenceSpec)

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

type NetworkFenceStatus

type NetworkFenceStatus struct {
	// Result indicates the result of Network Fence/Unfence operation.
	Result FencingOperationResult `json:"result,omitempty"`

	// Message contains any message from the NetworkFence operation.
	Message string `json:"message,omitempty"`

	// Conditions are the list of conditions and their status.
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

NetworkFenceStatus defines the observed state of NetworkFence

func (*NetworkFenceStatus) DeepCopy

func (in *NetworkFenceStatus) DeepCopy() *NetworkFenceStatus

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

func (*NetworkFenceStatus) DeepCopyInto

func (in *NetworkFenceStatus) DeepCopyInto(out *NetworkFenceStatus)

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

type OperationResult

type OperationResult string

OperationResult represents the result of reclaim space operation.

const (
	// OperationResultSucceeded represents the Succeeded operation state.
	OperationResultSucceeded OperationResult = "Succeeded"

	// OperationResultFailed represents the Failed operation state.
	OperationResultFailed OperationResult = "Failed"
)

type ReclaimSpaceCronJob

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

	// +kubebuilder:validation:Required
	Spec ReclaimSpaceCronJobSpec `json:"spec"`

	Status ReclaimSpaceCronJobStatus `json:"status,omitempty"`
}

ReclaimSpaceCronJob is the Schema for the reclaimspacecronjobs API

func (*ReclaimSpaceCronJob) DeepCopy

func (in *ReclaimSpaceCronJob) DeepCopy() *ReclaimSpaceCronJob

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

func (*ReclaimSpaceCronJob) DeepCopyInto

func (in *ReclaimSpaceCronJob) DeepCopyInto(out *ReclaimSpaceCronJob)

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

func (*ReclaimSpaceCronJob) DeepCopyObject

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

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

type ReclaimSpaceCronJobList

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

ReclaimSpaceCronJobList contains a list of ReclaimSpaceCronJob

func (*ReclaimSpaceCronJobList) DeepCopy

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

func (*ReclaimSpaceCronJobList) DeepCopyInto

func (in *ReclaimSpaceCronJobList) DeepCopyInto(out *ReclaimSpaceCronJobList)

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

func (*ReclaimSpaceCronJobList) DeepCopyObject

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

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

type ReclaimSpaceCronJobSpec

type ReclaimSpaceCronJobSpec struct {
	// The schedule in Cron format, see https://en.wikipedia.org/wiki/Cron.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Pattern:=.+
	Schedule string `json:"schedule"`

	// Optional deadline in seconds for starting the job if it misses scheduled
	// time for any reason.  Missed jobs executions will be counted as failed ones.
	// +kubebuilder:validation:Optional
	StartingDeadlineSeconds *int64 `json:"startingDeadlineSeconds,omitempty"`

	// Specifies how to treat concurrent executions of a Job.
	// Valid values are:
	// - "Forbid" (default): forbids concurrent runs, skipping next run if
	//   previous run hasn't finished yet;
	// - "Replace": cancels currently running job and replaces it
	//   with a new one
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Enum=Forbid;Replace
	// +kubebuilder:default:=Forbid
	ConcurrencyPolicy ConcurrencyPolicy `json:"concurrencyPolicy,omitempty"`

	// This flag tells the controller to suspend subsequent executions, it does
	// not apply to already started executions.  Defaults to false.
	// +kubebuilder:validation:Optional
	Suspend *bool `json:"suspend,omitempty"`

	// Specifies the job that will be created when executing a CronJob.
	// +kubebuilder:validation:Required
	JobSpec ReclaimSpaceJobTemplateSpec `json:"jobTemplate"`

	// The number of successful finished jobs to retain. Value must be non-negative integer.
	// Defaults to 3.
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Maximum=60
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:default:=3
	SuccessfulJobsHistoryLimit *int32 `json:"successfulJobsHistoryLimit,omitempty"`

	// The number of failed finished jobs to retain. Value must be non-negative integer.
	// Defaults to 1.
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Maximum=60
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:default:=1
	FailedJobsHistoryLimit *int32 `json:"failedJobsHistoryLimit,omitempty"`
}

ReclaimSpaceCronJobSpec defines the desired state of ReclaimSpaceJob

func (*ReclaimSpaceCronJobSpec) DeepCopy

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

func (*ReclaimSpaceCronJobSpec) DeepCopyInto

func (in *ReclaimSpaceCronJobSpec) DeepCopyInto(out *ReclaimSpaceCronJobSpec)

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

type ReclaimSpaceCronJobStatus

type ReclaimSpaceCronJobStatus struct {
	// A pointer to currently running job.
	Active *v1.ObjectReference `json:"active,omitempty"`

	// Information when was the last time the job was successfully scheduled.
	LastScheduleTime *metav1.Time `json:"lastScheduleTime,omitempty"`

	// Information when was the last time the job successfully completed.
	LastSuccessfulTime *metav1.Time `json:"lastSuccessfulTime,omitempty"`
}

ReclaimSpaceCronJobStatus defines the observed state of ReclaimSpaceJob

func (*ReclaimSpaceCronJobStatus) DeepCopy

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

func (*ReclaimSpaceCronJobStatus) DeepCopyInto

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

type ReclaimSpaceJob

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

	// +kubebuilder:validation:Required
	Spec ReclaimSpaceJobSpec `json:"spec"`

	Status ReclaimSpaceJobStatus `json:"status,omitempty"`
}

ReclaimSpaceJob is the Schema for the reclaimspacejobs API

func (*ReclaimSpaceJob) DeepCopy

func (in *ReclaimSpaceJob) DeepCopy() *ReclaimSpaceJob

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

func (*ReclaimSpaceJob) DeepCopyInto

func (in *ReclaimSpaceJob) DeepCopyInto(out *ReclaimSpaceJob)

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

func (*ReclaimSpaceJob) DeepCopyObject

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

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

type ReclaimSpaceJobList

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

ReclaimSpaceJobList contains a list of ReclaimSpaceJob

func (*ReclaimSpaceJobList) DeepCopy

func (in *ReclaimSpaceJobList) DeepCopy() *ReclaimSpaceJobList

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

func (*ReclaimSpaceJobList) DeepCopyInto

func (in *ReclaimSpaceJobList) DeepCopyInto(out *ReclaimSpaceJobList)

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

func (*ReclaimSpaceJobList) DeepCopyObject

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

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

type ReclaimSpaceJobSpec

type ReclaimSpaceJobSpec struct {
	// Target represents volume target on which the operation will be
	// performed.
	// +kubebuilder:validation:Required
	Target TargetSpec `json:"target"`

	// BackOffLimit specifies the number of retries allowed before marking reclaim
	// space operation as failed. If not specified, defaults to 6. Maximum allowed
	// value is 60 and minimum allowed value is 0.
	// +optional
	// +kubebuilder:validation:Maximum=60
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:default:=6
	BackoffLimit int32 `json:"backOffLimit"`

	// RetryDeadlineSeconds specifies the duration in seconds relative to the
	// start time that the operation may be retried; value MUST be positive integer.
	// If not specified, defaults to 600 seconds. Maximum allowed
	// value is 1800.
	// +optional
	// +kubebuilder:validation:Maximum=1800
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:default:=600
	RetryDeadlineSeconds int64 `json:"retryDeadlineSeconds"`

	// Timeout specifies the timeout in seconds for the grpc request sent to the
	// CSI driver. If not specified, defaults to global reclaimspace timeout.
	// Minimum allowed value is 60.
	// +optional
	// +kubebuilder:validation:Minimum=60
	Timeout *int64 `json:"timeout,omitempty"`
}

ReclaimSpaceJobSpec defines the desired state of ReclaimSpaceJob

func (*ReclaimSpaceJobSpec) DeepCopy

func (in *ReclaimSpaceJobSpec) DeepCopy() *ReclaimSpaceJobSpec

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

func (*ReclaimSpaceJobSpec) DeepCopyInto

func (in *ReclaimSpaceJobSpec) DeepCopyInto(out *ReclaimSpaceJobSpec)

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

type ReclaimSpaceJobStatus

type ReclaimSpaceJobStatus struct {
	// Result indicates the result of ReclaimSpaceJob.
	Result OperationResult `json:"result,omitempty"`

	// Message contains any message from the ReclaimSpaceJob.
	Message string `json:"message,omitempty"`

	// ReclaimedSpace indicates the amount of space reclaimed.
	ReclaimedSpace *resource.Quantity `json:"reclaimedSpace,omitempty"`

	// Conditions are the list of conditions and their status.
	Conditions []metav1.Condition `json:"conditions,omitempty"`

	// Retries indicates the number of times the operation is retried.
	Retries        int32        `json:"retries,omitempty"`
	StartTime      *metav1.Time `json:"startTime,omitempty"`
	CompletionTime *metav1.Time `json:"completionTime,omitempty"`
}

ReclaimSpaceJobStatus defines the observed state of ReclaimSpaceJob

func (*ReclaimSpaceJobStatus) DeepCopy

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

func (*ReclaimSpaceJobStatus) DeepCopyInto

func (in *ReclaimSpaceJobStatus) DeepCopyInto(out *ReclaimSpaceJobStatus)

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

type ReclaimSpaceJobTemplateSpec

type ReclaimSpaceJobTemplateSpec struct {
	// Standard object's metadata of the jobs created from this template.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Specification of the desired behavior of the job.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
	// +kubebuilder:validation:Required
	Spec ReclaimSpaceJobSpec `json:"spec,omitempty"`
}

ReclaimSpaceJobTemplateSpec describes the data a Job should have when created from a template

func (*ReclaimSpaceJobTemplateSpec) DeepCopy

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

func (*ReclaimSpaceJobTemplateSpec) DeepCopyInto

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

type SecretSpec

type SecretSpec struct {
	// Name specifies the name of the secret.
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="name is immutable"
	Name string `json:"name,omitempty"`

	// Namespace specifies the namespace in which the secret
	// is located.
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="namespace is immutable"
	Namespace string `json:"namespace,omitempty"`
}

+kubebuilder:validation:XValidation:rule="self == oldSelf",message="secret is immutable" SecretSpec defines the secrets to be used for the network fencing operation.

func (*SecretSpec) DeepCopy

func (in *SecretSpec) DeepCopy() *SecretSpec

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

func (*SecretSpec) DeepCopyInto

func (in *SecretSpec) DeepCopyInto(out *SecretSpec)

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

type TargetSpec

type TargetSpec struct {
	// PersistentVolumeClaim specifies the target PersistentVolumeClaim name.
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="persistentVolumeClaim is immutable"
	PersistentVolumeClaim string `json:"persistentVolumeClaim,omitempty"`
}

TargetSpec defines the targets on which the operation can be performed.

func (*TargetSpec) DeepCopy

func (in *TargetSpec) DeepCopy() *TargetSpec

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

func (*TargetSpec) DeepCopyInto

func (in *TargetSpec) DeepCopyInto(out *TargetSpec)

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

Jump to

Keyboard shortcuts

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