v1alpha1

package
v0.8.3-beta.13 Latest Latest
Warning

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

Go to latest
Published: Apr 25, 2024 License: AGPL-3.0 Imports: 5 Imported by: 1

Documentation

Overview

+k8s:deepcopy-gen=package,register +k8s:openapi-gen=true +groupName=storage.kubeblocks.io

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

Index

Constants

View Source
const (
	// condition types
	ConditionTypeCSIDriverInstalled = "CSIDriverInstalled"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "storage.kubeblocks.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
)
View Source
var SchemeGroupVersion = GroupVersion

SchemeGroupVersion is group version used to register these objects.

Functions

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type ParametersSchema

type ParametersSchema struct {
	// openAPIV3Schema is the OpenAPI v3 schema to use for validation and pruning.
	// +kubebuilder:validation:Schemaless
	// +kubebuilder:validation:Type=object
	// +kubebuilder:pruning:PreserveUnknownFields
	// +k8s:conversion-gen=false
	// +optional
	OpenAPIV3Schema *apiextensionsv1.JSONSchemaProps `json:"openAPIV3Schema,omitempty"`

	// credentialFields are the fields used to generate the secret.
	// +optional
	CredentialFields []string `json:"credentialFields,omitempty"`
}

ParametersSchema describes the parameters used by this StorageProvider.

func (*ParametersSchema) DeepCopy

func (in *ParametersSchema) DeepCopy() *ParametersSchema

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

func (*ParametersSchema) DeepCopyInto

func (in *ParametersSchema) DeepCopyInto(out *ParametersSchema)

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

type StorageProvider

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

	Spec   StorageProviderSpec   `json:"spec,omitempty"`
	Status StorageProviderStatus `json:"status,omitempty"`
}

StorageProvider is the Schema for the storageproviders API StorageProvider describes how to provision PVCs for a specific storage system (e.g. S3, NFS, etc), by using the CSI driver.

func (*StorageProvider) DeepCopy

func (in *StorageProvider) DeepCopy() *StorageProvider

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

func (*StorageProvider) DeepCopyInto

func (in *StorageProvider) DeepCopyInto(out *StorageProvider)

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

func (*StorageProvider) DeepCopyObject

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

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

type StorageProviderList

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

StorageProviderList contains a list of StorageProvider

func (*StorageProviderList) DeepCopy

func (in *StorageProviderList) DeepCopy() *StorageProviderList

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

func (*StorageProviderList) DeepCopyInto

func (in *StorageProviderList) DeepCopyInto(out *StorageProviderList)

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

func (*StorageProviderList) DeepCopyObject

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

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

type StorageProviderPhase

type StorageProviderPhase string

StorageProviderPhase defines phases of a storage provider. +enum

const (
	StorageProviderNotReady StorageProviderPhase = "NotReady"
	StorageProviderReady    StorageProviderPhase = "Ready"
)

type StorageProviderSpec

type StorageProviderSpec struct {
	// The name of the CSI driver used by this StorageProvider.
	// +optional
	CSIDriverName string `json:"csiDriverName,omitempty"`

	// A Go template for rendering a secret which will be used by the CSI driver.
	// The template will be rendered with the following variables:
	//
	// - Parameters: a map of parameters defined in the ParametersSchema.
	//
	// +optional
	CSIDriverSecretTemplate string `json:"csiDriverSecretTemplate,omitempty"`

	// A Go template for rendering a storage class which will be used by the CSI driver.
	// The template will be rendered with the following variables:
	//
	// - Parameters: a map of parameters defined in the ParametersSchema.
	// - CSIDriverSecretRef: the reference of the secret created by the CSIDriverSecretTemplate.
	//
	// +optional
	StorageClassTemplate string `json:"storageClassTemplate,omitempty"`

	// A Go template for rendering a PersistentVolumeClaim.
	// The template will be rendered with the following variables:
	//
	// - Parameters: a map of parameters defined in the ParametersSchema.
	// - GeneratedStorageClassName: the name of the storage class generated with the StorageClassTemplate.
	//
	// +optional
	PersistentVolumeClaimTemplate string `json:"persistentVolumeClaimTemplate,omitempty"`

	// A Go template for rendering a config used by the datasafed command.
	// The template will be rendered with the following variables:
	//
	// - Parameters: a map of parameters defined in the ParametersSchema.
	//
	// +optional
	DatasafedConfigTemplate string `json:"datasafedConfigTemplate,omitempty"`

	// The schema describes the parameters required by this StorageProvider,
	// when rendering the templates.
	// +optional
	ParametersSchema *ParametersSchema `json:"parametersSchema,omitempty"`
}

StorageProviderSpec defines the desired state of StorageProvider

func (*StorageProviderSpec) DeepCopy

func (in *StorageProviderSpec) DeepCopy() *StorageProviderSpec

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

func (*StorageProviderSpec) DeepCopyInto

func (in *StorageProviderSpec) DeepCopyInto(out *StorageProviderSpec)

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

type StorageProviderStatus

type StorageProviderStatus struct {
	// Storage provider reconciliation phases. Valid values are NotReady, Ready.
	// +kubebuilder:validation:Enum={NotReady,Ready}
	Phase StorageProviderPhase `json:"phase,omitempty"`

	// Describes the current state of the storage provider.
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

StorageProviderStatus defines the observed state of StorageProvider

func (*StorageProviderStatus) DeepCopy

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

func (*StorageProviderStatus) DeepCopyInto

func (in *StorageProviderStatus) DeepCopyInto(out *StorageProviderStatus)

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