v1

package
v0.9.0 Latest Latest
Warning

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

Go to latest
Published: Jan 24, 2023 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Overview

Package v1 contains API Schema definitions for the csi v1 API group +kubebuilder:object:generate=true +groupName=csi.ibm.com

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "csi.ibm.com", Version: "v1"}

	// 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 VolumeGroup

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

	// Spec defines the volume group requested by a user
	Spec VolumeGroupSpec `json:"spec,omitempty"`
	// Status represents the current information about a volume group
	// +optional
	Status VolumeGroupStatus `json:"status,omitempty"`
}

VolumeGroup is a user's request for a group of volumes +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:scope=Namespaced,shortName=vg +kubebuilder:printcolumn:name="Ready",type=boolean,JSONPath=`.status.ready` +kubebuilder:printcolumn:name="VolumeGroupClass",type=string,JSONPath=`.spec.volumeGroupClassName` +kubebuilder:printcolumn:name="VolumeGroupContent",type=string,JSONPath=`.status.boundVolumeGroupContentName` +kubebuilder:printcolumn:name="CreationTime",type=date,JSONPath=`.status.groupCreationTime` +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp`

func (*VolumeGroup) DeepCopy

func (in *VolumeGroup) DeepCopy() *VolumeGroup

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

func (*VolumeGroup) DeepCopyInto

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

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

func (*VolumeGroup) DeepCopyObject

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

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

type VolumeGroupClass

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

	// Driver is the driver expected to handle this VolumeGroupClass.
	Driver string `json:"driver"`

	// Parameters hold parameters for the driver.
	// These values are opaque to the system and are passed directly
	// to the driver.
	// +optional
	Parameters map[string]string `json:"parameters,omitempty"`

	// +optional
	VolumeGroupDeletionPolicy *VolumeGroupDeletionPolicy `json:"volumeGroupDeletionPolicy,omitempty"`

	// This field specifies whether group snapshot is supported.
	// The default is false.
	// +optional
	SupportVolumeGroupSnapshot *bool `json:"supportVolumeGroupSnapshot,omitempty"`
}

VolumeGroupClass is the Schema for the volumegroupclasses API +kubebuilder:resource:scope=Cluster,shortName=vgclass +kubebuilder:printcolumn:name="Driver",type=string,JSONPath=`.driver` +kubebuilder:printcolumn:name="DeletionPolicy",type=string,JSONPath=`.volumeGroupDeletionPolicy` +kubebuilder:printcolumn:name="SupportVolumeGroupSnapshot",type=boolean,JSONPath=`.supportVolumeGroupSnapshot` +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp`

func (*VolumeGroupClass) DeepCopy

func (in *VolumeGroupClass) DeepCopy() *VolumeGroupClass

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

func (*VolumeGroupClass) DeepCopyInto

func (in *VolumeGroupClass) DeepCopyInto(out *VolumeGroupClass)

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

func (*VolumeGroupClass) DeepCopyObject

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

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

type VolumeGroupClassList

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

VolumeGroupClassList contains a list of VolumeGroupClass

func (*VolumeGroupClassList) DeepCopy

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

func (*VolumeGroupClassList) DeepCopyInto

func (in *VolumeGroupClassList) DeepCopyInto(out *VolumeGroupClassList)

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

func (*VolumeGroupClassList) DeepCopyObject

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

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

type VolumeGroupContent

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

	// Spec defines the volume group requested by a user
	Spec VolumeGroupContentSpec `json:"spec,omitempty"`
	// Status represents the current information about a volume group
	// +optional
	Status VolumeGroupContentStatus `json:"status,omitempty"`
}

VolumeGroupContent is the Schema for the volumegroupcontents API +kubebuilder:object:root=true +kubebuilder:resource:scope=Namespaced,shortName=vgc +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Ready",type=boolean,JSONPath=`.status.ready` +kubebuilder:printcolumn:name="DeletionPolicy",type=string,JSONPath=`.spec.volumeGroupDeletionPolicy` +kubebuilder:printcolumn:name="Driver",type=string,JSONPath=`.spec.source.driver` +kubebuilder:printcolumn:name="VolumeGroupClass",type=string,JSONPath=`.spec.volumeGroupClassName` +kubebuilder:printcolumn:name="VolumeGroup",type=string,JSONPath=`.spec.volumeGroupRef.name` +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp`

func (*VolumeGroupContent) DeepCopy

func (in *VolumeGroupContent) DeepCopy() *VolumeGroupContent

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

func (*VolumeGroupContent) DeepCopyInto

func (in *VolumeGroupContent) DeepCopyInto(out *VolumeGroupContent)

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

func (*VolumeGroupContent) DeepCopyObject

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

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

type VolumeGroupContentList

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

VolumeGroupContentList contains a list of VolumeGroupContent

func (*VolumeGroupContentList) DeepCopy

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

func (*VolumeGroupContentList) DeepCopyInto

func (in *VolumeGroupContentList) DeepCopyInto(out *VolumeGroupContentList)

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

func (*VolumeGroupContentList) DeepCopyObject

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

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

type VolumeGroupContentSource

type VolumeGroupContentSource struct {
	Driver string `json:"driver"`

	// VolumeGroupHandle is the unique volume group name returned by the
	// CSI volume plugin’s CreateVolumeGroup to refer to the volume group on
	// all subsequent calls.
	VolumeGroupHandle string `json:"volumeGroupHandle"`

	// +optional
	// Attributes of the volume group to publish.
	VolumeGroupAttributes map[string]string `json:"volumeGroupAttributes,omitempty"`
}

VolumeGroupContentSource

func (*VolumeGroupContentSource) DeepCopy

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

func (*VolumeGroupContentSource) DeepCopyInto

func (in *VolumeGroupContentSource) DeepCopyInto(out *VolumeGroupContentSource)

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

type VolumeGroupContentSpec

type VolumeGroupContentSpec struct {
	// +optional
	VolumeGroupClassName *string `json:"volumeGroupClassName,omitempty"`

	// +optional
	// VolumeGroupRef is part of a bi-directional binding between VolumeGroup and VolumeGroupContent.
	VolumeGroupRef *corev1.ObjectReference `json:"volumeGroupRef,omitempty"`

	// +optional
	Source *VolumeGroupContentSource `json:"source,omitempty"`

	// +optional
	VolumeGroupDeletionPolicy *VolumeGroupDeletionPolicy `json:"volumeGroupDeletionPolicy,omitempty"`

	// This field specifies whether group snapshot is supported.
	// The default is false.
	// +optional
	SupportVolumeGroupSnapshot *bool `json:"supportVolumeGroupSnapshot,omitempty"`

	// VolumeGroupSecretRef is a reference to the secret object containing
	// sensitive information to pass to the CSI driver to complete the CSI
	// calls for VolumeGroups.
	// This field is optional, and may be empty if no secret is required. If the
	// secret object contains more than one secret, all secrets are passed.
	// +optional
	VolumeGroupSecretRef *corev1.SecretReference `json:"volumeGroupSecretRef,omitempty"`
}

VolumeGroupContentSpec defines the desired state of VolumeGroupContent

func (*VolumeGroupContentSpec) DeepCopy

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

func (*VolumeGroupContentSpec) DeepCopyInto

func (in *VolumeGroupContentSpec) DeepCopyInto(out *VolumeGroupContentSpec)

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

type VolumeGroupContentStatus

type VolumeGroupContentStatus struct {
	// +optional
	GroupCreationTime *metav1.Time `json:"groupCreationTime,omitempty"`

	// A list of persistent volumes
	// +optional
	PVList []corev1.PersistentVolume `json:"pvList,omitempty"`

	// +optional
	Ready *bool `json:"ready,omitempty"`

	// Last error encountered during group creation
	// +optional
	Error *VolumeGroupError `json:"error,omitempty"`
}

VolumeGroupContentStatus defines the observed state of VolumeGroupContent

func (*VolumeGroupContentStatus) DeepCopy

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

func (*VolumeGroupContentStatus) DeepCopyInto

func (in *VolumeGroupContentStatus) DeepCopyInto(out *VolumeGroupContentStatus)

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

type VolumeGroupDeletionPolicy

type VolumeGroupDeletionPolicy string

VolumeGroupDeletionPolicy describes a policy for end-of-life maintenance of volume group contents

const (
	// VolumeGroupContentDelete means the group will be deleted from the
	// underlying storage system on release from its volume group.
	VolumeGroupContentDelete VolumeGroupDeletionPolicy = "Delete"

	// VolumeGroupContentRetain means the group will be left in its current
	// state on release from its volume group.
	VolumeGroupContentRetain VolumeGroupDeletionPolicy = "Retain"
)

type VolumeGroupError

type VolumeGroupError struct {
	// time is the timestamp when the error was encountered.
	// +optional
	Time *metav1.Time `json:"time,omitempty"`

	// message details the encountered error
	// +optional
	Message *string `json:"message,omitempty"`
}

Describes an error encountered on the group

func (*VolumeGroupError) DeepCopy

func (in *VolumeGroupError) DeepCopy() *VolumeGroupError

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

func (*VolumeGroupError) DeepCopyInto

func (in *VolumeGroupError) DeepCopyInto(out *VolumeGroupError)

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

type VolumeGroupList

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

VolumeGroupList contains a list of VolumeGroup

func (*VolumeGroupList) DeepCopy

func (in *VolumeGroupList) DeepCopy() *VolumeGroupList

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

func (*VolumeGroupList) DeepCopyInto

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

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

func (*VolumeGroupList) DeepCopyObject

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

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

type VolumeGroupSource

type VolumeGroupSource struct {
	// +optional
	// Pre-provisioned VolumeGroup
	VolumeGroupContentName *string `json:"volumeGroupContentName,omitempty"`

	// +optional
	// Dynamically provisioned VolumeGroup
	// A label query over persistent volume claims to be added to the volume group.
	// This labelSelector will be used to match the label added to a PVC.
	// In Phase 1, when the label is added to PVC, the PVC will be added to the matching group.
	// In Phase 2, this labelSelector will be used to find all PVCs with matching label and add them to the group when the group is being created.
	Selector *metav1.LabelSelector `json:"selector,omitempty"`
}

VolumeGroupSource contains several options. OneOf the options must be defined.

func (*VolumeGroupSource) DeepCopy

func (in *VolumeGroupSource) DeepCopy() *VolumeGroupSource

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

func (*VolumeGroupSource) DeepCopyInto

func (in *VolumeGroupSource) DeepCopyInto(out *VolumeGroupSource)

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

type VolumeGroupSpec

type VolumeGroupSpec struct {
	// +optional
	VolumeGroupClassName *string `json:"volumeGroupClassName,omitempty"`

	// Source has the information about where the group is created from.
	Source VolumeGroupSource `json:"source"`
}

VolumeGroupSpec describes the common attributes of group storage devices and allows a Source for provider-specific attributes

func (*VolumeGroupSpec) DeepCopy

func (in *VolumeGroupSpec) DeepCopy() *VolumeGroupSpec

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

func (*VolumeGroupSpec) DeepCopyInto

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

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

type VolumeGroupStatus

type VolumeGroupStatus struct {
	// +optional
	BoundVolumeGroupContentName *string `json:"boundVolumeGroupContentName,omitempty"`

	// +optional
	GroupCreationTime *metav1.Time `json:"groupCreationTime,omitempty"`

	// A list of persistent volume claims
	// +optional
	PVCList []corev1.PersistentVolumeClaim `json:"pvcList,omitempty"`

	// +optional
	Ready *bool `json:"ready,omitempty"`

	// Last error encountered during group creation
	// +optional
	Error *VolumeGroupError `json:"error,omitempty"`
}

VolumeGroupStatus defines the observed state of VolumeGroup

func (*VolumeGroupStatus) DeepCopy

func (in *VolumeGroupStatus) DeepCopy() *VolumeGroupStatus

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

func (*VolumeGroupStatus) DeepCopyInto

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

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