v1alpha1

package
v0.1.0-latest-stable Latest Latest
Warning

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

Go to latest
Published: Sep 30, 2026 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the storage v1alpha1 API group +kubebuilder:object:generate=true +groupName=storage.dpu.nvidia.com

Index

Constants

View Source
const (
	// DPUStoragePolicyKind is the kind of the DPUStoragePolicy object
	DPUStoragePolicyKind = "DPUStoragePolicy"
	// DPUStoragePolicyFinalizer is the finalizer for the DPUStoragePolicy object
	DPUStoragePolicyFinalizer = "storage.dpu.nvidia.com/dpustoragepolicy"
)
View Source
const (
	// ConditionDPUStoragePolicyReconciled is the condition type that indicates that the
	// DPUStoragePolicy is reconciled.
	ConditionDPUStoragePolicyReconciled conditions.ConditionType = "DPUStoragePolicyReconciled"
	// ConditionDPUStoragePolicyValid is the condition type that indicates that
	// all the provided DPUStorageVendors are valid
	ConditionDPUStoragePolicyValid conditions.ConditionType = "Valid"
)

Condition types

View Source
const (
	// DPUStorageVendorKind is the kind of the DPUStorageVendor object
	DPUStorageVendorKind = "DPUStorageVendor"
	// DPUStorageVendorFinalizer is the finalizer for the DPUStorageVendor object
	DPUStorageVendorFinalizer = "storage.dpu.nvidia.com/dpustoragevendor"
)
View Source
const (
	// ConditionDPUStorageVendorReconciled is the condition type that indicates that the
	// DPUStorageVendor is reconciled.
	ConditionDPUStorageVendorReconciled conditions.ConditionType = "DPUStorageVendorReconciled"
	// ConditionDPUStorageVendorValid is the condition type that indicates that the
	// DPUStorageVendor is valid (StorageClass and CSIDriver are present in the DPU cluster).
	ConditionDPUStorageVendorValid conditions.ConditionType = "Valid"
)

Condition types

View Source
const (
	// DPUVolumeKind is the kind of the DPUVolume object
	DPUVolumeKind = "DPUVolume"
	// DPUVolumeFinalizer is the finalizer for the DPUVolume object
	DPUVolumeFinalizer = "storage.dpu.nvidia.com/dpuvolume"
)
View Source
const (
	// ConditionDPUVolumeReconciled is the condition type that indicates that the
	// DPUVolume is reconciled.
	ConditionDPUVolumeReconciled conditions.ConditionType = "DPUVolumeReconciled"
	// ConditionDPUVolumeScheduled is the condition type that indicates that the
	// DPUVolume is scheduled.
	ConditionDPUVolumeScheduled conditions.ConditionType = "Scheduled"
	// ConditionDPUVolumeBound is the condition type that indicates that the
	// DPUVolume is bound to a volume in the DPU cluster
	ConditionDPUVolumeBound conditions.ConditionType = "Bound"
)

Condition types

View Source
const (
	// DPUVolumeAttachmentKind is the kind of the DPUVolumeAttachment object
	DPUVolumeAttachmentKind = "DPUVolumeAttachment"
	// DPUVolumeAttachmentFinalizer is the finalizer for the DPUVolumeAttachment object
	DPUVolumeAttachmentFinalizer = "storage.dpu.nvidia.com/dpuvolumeattachment"
)
View Source
const (
	// ConditionDPUVolumeAttachmentReconciled is the condition type that indicates that the
	// DPUVolumeAttachment is reconciled.
	ConditionDPUVolumeAttachmentReconciled conditions.ConditionType = "DPUVolumeAttachmentReconciled"
	// ConditionDPUVolumeAttachmentControllerAttached is the condition type that indicates that
	// the Volume was attached by the vendor CSI driver
	ConditionDPUVolumeAttachmentControllerAttached conditions.ConditionType = "ControllerAttached"
	// ConditionDPUVolumeAttachmentDPUAttached is the condition type that indicates that
	// the Volume was attached by the DPU
	ConditionDPUVolumeAttachmentDPUAttached conditions.ConditionType = "DPUAttached"
)

Condition types

View Source
const (
	// SVVolumeAttachmentKind is the kind of the SVVolumeAttachment object
	SVVolumeAttachmentKind = "SVVolumeAttachment"
)
View Source
const (
	// VolumeAttachmentKind is the kind of the VolumeAttachment object
	VolumeAttachmentKind = "VolumeAttachment"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "storage.dpu.nvidia.com", 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 (
	// DPUStoragePolicyConditions is the list of conditions that the DPUStoragePolicy can have.
	DPUStoragePolicyConditions = []conditions.ConditionType{
		conditions.TypeReady,
		ConditionDPUStoragePolicyReconciled,
		ConditionDPUStoragePolicyValid,
	}
)
View Source
var DPUStoragePolicyGroupVersionKind = GroupVersion.WithKind(DPUStoragePolicyKind)

DPUStoragePolicyGroupVersionKind is the GroupVersionKind of the DPUStoragePolicy object

View Source
var (
	// DPUStorageVendorConditions is the list of conditions that the DPUStorageVendor can have.
	DPUStorageVendorConditions = []conditions.ConditionType{
		conditions.TypeReady,
		ConditionDPUStorageVendorReconciled,
		ConditionDPUStorageVendorValid,
	}
)
View Source
var DPUStorageVendorGroupVersionKind = GroupVersion.WithKind(DPUStorageVendorKind)

DPUStorageVendorGroupVersionKind is the GroupVersionKind of the DPUStorageVendor object

View Source
var (
	// DPUVolumeAttachmentConditions is the list of conditions that the DPUVolumeAttachment can have.
	DPUVolumeAttachmentConditions = []conditions.ConditionType{
		conditions.TypeReady,
		ConditionDPUVolumeAttachmentReconciled,
		ConditionDPUVolumeAttachmentControllerAttached,
		ConditionDPUVolumeAttachmentDPUAttached,
	}
)
View Source
var DPUVolumeAttachmentGroupVersionKind = GroupVersion.WithKind(DPUVolumeAttachmentKind)

DPUVolumeAttachmentGroupVersionKind is the GroupVersionKind of the DPUVolumeAttachment object

View Source
var (
	// DPUVolumeConditions is the list of conditions that the DPUVolume can have.
	DPUVolumeConditions = []conditions.ConditionType{
		conditions.TypeReady,
		ConditionDPUVolumeReconciled,
		ConditionDPUVolumeScheduled,
		ConditionDPUVolumeBound,
	}
)
View Source
var DPUVolumeGroupVersionKind = GroupVersion.WithKind(DPUVolumeKind)

DPUVolumeGroupVersionKind is the GroupVersionKind of the DPUVolume object

View Source
var SVVolumeAttachmentGroupVersionKind = GroupVersion.WithKind(SVVolumeAttachmentKind)

SVVolumeAttachmentGroupVersionKind is the GroupVersionKind of the SVVolumeAttachment object

View Source
var VolumeAttachmentGroupVersionKind = GroupVersion.WithKind(VolumeAttachmentKind)

VolumeAttachmentGroupVersionKind is the GroupVersionKind of the VolumeAttachment object

View Source
var VolumeGroupVersionKind = GroupVersion.WithKind(VolumeKind)

VolumeGroupVersionKind is the GroupVersionKind of the Volume object

Functions

This section is empty.

Types

type AttachmentStatusDPU

type AttachmentStatusDPU struct {
	// PCI device address in the following format: (bus:device.function)
	// +optional
	PCIAddress *string `json:"pciAddress,omitempty"`
	// The VUID of the emulated function. For a VF, this is the parent PF VUID.
	// +optional
	FuncVUID *string `json:"funcVUID,omitempty"`
	// The name of the device that was created by the storage vendor plugin
	// +optional
	DeviceName *string `json:"deviceName,omitempty"`
	// The attributes of the emulated NVME function
	// +optional
	NVMEAttrs *NVMEAttrs `json:"nvmeAttrs,omitempty"`
	// The attributes of the emulated VirtioFS function
	// +optional
	VirtioFSAttrs *VirtioFSAttrs `json:"virtioFSAttrs,omitempty"`
}

AttachmentStatusDPU describe the information of DPU volume

func (*AttachmentStatusDPU) DeepCopy

func (in *AttachmentStatusDPU) DeepCopy() *AttachmentStatusDPU

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

func (*AttachmentStatusDPU) DeepCopyInto

func (in *AttachmentStatusDPU) DeepCopyInto(out *AttachmentStatusDPU)

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

type BdevAttrs

type BdevAttrs struct {
	// The namespace ID within the NVME controller
	NVMeNsID int64 `json:"nvmeNsID,omitempty"`
	// The nvme namespace UUID
	NVMeUUID string `json:"nvmeUUID,omitempty"`
}

BdevAttrs represents the attributes of the underlying block device

func (*BdevAttrs) DeepCopy

func (in *BdevAttrs) DeepCopy() *BdevAttrs

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

func (*BdevAttrs) DeepCopyInto

func (in *BdevAttrs) DeepCopyInto(out *BdevAttrs)

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

type CSIReference

type CSIReference struct {
	CSIDriverName    string     `json:"csiDriverName,omitempty"`
	StorageClassName string     `json:"storageClassName,omitempty"`
	PVCRef           *ObjectRef `json:"pvcRef,omitempty"`
}

CSIReference reference to CSI object

func (*CSIReference) DeepCopy

func (in *CSIReference) DeepCopy() *CSIReference

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

func (*CSIReference) DeepCopyInto

func (in *CSIReference) DeepCopyInto(out *CSIReference)

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

type CapacityRange

type CapacityRange struct {
	Request resource.Quantity `json:"request,omitempty"`
	Limit   resource.Quantity `json:"limit,omitempty"`
}

CapacityRange represents the capacity of the required storage space in bytes

func (*CapacityRange) DeepCopy

func (in *CapacityRange) DeepCopy() *CapacityRange

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

func (*CapacityRange) DeepCopyInto

func (in *CapacityRange) DeepCopyInto(out *CapacityRange)

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

type DPUStoragePolicy

type DPUStoragePolicy struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              DPUStoragePolicySpec   `json:"spec"`
	Status            DPUStoragePolicyStatus `json:"status,omitempty"`
}

DPUStoragePolicy represents a DPUStoragePolicy CR

func (*DPUStoragePolicy) DeepCopy

func (in *DPUStoragePolicy) DeepCopy() *DPUStoragePolicy

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

func (*DPUStoragePolicy) DeepCopyInto

func (in *DPUStoragePolicy) DeepCopyInto(out *DPUStoragePolicy)

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

func (*DPUStoragePolicy) DeepCopyObject

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

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

func (*DPUStoragePolicy) GetConditions

func (v *DPUStoragePolicy) GetConditions() []metav1.Condition

GetConditions returns the conditions of the DPUStoragePolicy.

func (*DPUStoragePolicy) SetConditions

func (v *DPUStoragePolicy) SetConditions(conditions []metav1.Condition)

SetConditions sets the conditions of the DPUStoragePolicy.

type DPUStoragePolicyList

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

DPUStoragePolicyList contains a list of DPUStoragePolicy objects

func (*DPUStoragePolicyList) DeepCopy

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

func (*DPUStoragePolicyList) DeepCopyInto

func (in *DPUStoragePolicyList) DeepCopyInto(out *DPUStoragePolicyList)

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

func (*DPUStoragePolicyList) DeepCopyObject

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

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

type DPUStoragePolicySpec

type DPUStoragePolicySpec struct {
	// List of storage vendors
	// +kubebuilder:validation:MinItems=1
	// +required
	DPUStorageVendors []string `json:"dpuStorageVendors"`
	// Parameters supported by the policy
	// +kubebuilder:default={}
	// +optional
	Parameters map[string]string `json:"parameters,omitempty"`
	// Selection algorithm used to select DPUStorageVendor
	// +kubebuilder:validation:Enum=Random;NumberVolumes
	// +kubebuilder:default=NumberVolumes
	// +optional
	SelectionAlgorithm *SelectionAlgorithm `json:"selectionAlgorithm,omitempty"`
}

DPUStoragePolicySpec defines the desired state of DPUStoragePolicy

func (*DPUStoragePolicySpec) DeepCopy

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

func (*DPUStoragePolicySpec) DeepCopyInto

func (in *DPUStoragePolicySpec) DeepCopyInto(out *DPUStoragePolicySpec)

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

type DPUStoragePolicyStatus

type DPUStoragePolicyStatus struct {
	// Current service state conditions
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`
	// ObservedGeneration records the Generation observed on the object the last time it was patched.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`
}

DPUStoragePolicyStatus defines the observed state of DPUStoragePolicy

func (*DPUStoragePolicyStatus) DeepCopy

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

func (*DPUStoragePolicyStatus) DeepCopyInto

func (in *DPUStoragePolicyStatus) DeepCopyInto(out *DPUStoragePolicyStatus)

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

type DPUStorageVendor

type DPUStorageVendor struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              DPUStorageVendorSpec   `json:"spec"`
	Status            DPUStorageVendorStatus `json:"status,omitempty"`
}

DPUStorageVendor represents a StorageVendor CR on the DPU cluster.

func (*DPUStorageVendor) DeepCopy

func (in *DPUStorageVendor) DeepCopy() *DPUStorageVendor

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

func (*DPUStorageVendor) DeepCopyInto

func (in *DPUStorageVendor) DeepCopyInto(out *DPUStorageVendor)

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

func (*DPUStorageVendor) DeepCopyObject

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

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

func (*DPUStorageVendor) GetConditions

func (v *DPUStorageVendor) GetConditions() []metav1.Condition

GetConditions returns the conditions of the DPUStorageVendor.

func (*DPUStorageVendor) SetConditions

func (v *DPUStorageVendor) SetConditions(conditions []metav1.Condition)

SetConditions sets the conditions of the DPUStorageVendor.

type DPUStorageVendorList

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

DPUStorageVendorList contains a list of DPUStorageVendor

func (*DPUStorageVendorList) DeepCopy

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

func (*DPUStorageVendorList) DeepCopyInto

func (in *DPUStorageVendorList) DeepCopyInto(out *DPUStorageVendorList)

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

func (*DPUStorageVendorList) DeepCopyObject

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

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

type DPUStorageVendorSpec

type DPUStorageVendorSpec struct {
	// Storage vendor class name, deployed on the DPU K8S cluster.
	// +kubebuilder:validation:MinLength=1
	// +required
	StorageClassName string `json:"storageClassName"`
	// Storage vendor DPU plugin name
	// +kubebuilder:validation:MinLength=1
	// +required
	PluginName string `json:"pluginName"`
}

DPUStorageVendorSpec defines the desired state of DPUStorageVendor

func (*DPUStorageVendorSpec) DeepCopy

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

func (*DPUStorageVendorSpec) DeepCopyInto

func (in *DPUStorageVendorSpec) DeepCopyInto(out *DPUStorageVendorSpec)

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

type DPUStorageVendorStatus

type DPUStorageVendorStatus struct {
	// DPUClusters is the list of clusters on which the DPUStorageVendor is deployed.
	// +optional
	DPUClusters []ObjectReference `json:"dpuClusters,omitempty"`
	// Conditions defines current service state.
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`
	// ObservedGeneration records the Generation observed on the object the last time it was patched.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`
}

DPUStorageVendorStatus defines the observed state of DPUStorageVendor

func (*DPUStorageVendorStatus) DeepCopy

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

func (*DPUStorageVendorStatus) DeepCopyInto

func (in *DPUStorageVendorStatus) DeepCopyInto(out *DPUStorageVendorStatus)

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

type DPUVolume

type DPUVolume struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              DPUVolumeSpec   `json:"spec"`
	Status            DPUVolumeStatus `json:"status,omitempty"`
}

DPUVolume represents a DPUVolume CR.

func (*DPUVolume) DeepCopy

func (in *DPUVolume) DeepCopy() *DPUVolume

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

func (*DPUVolume) DeepCopyInto

func (in *DPUVolume) DeepCopyInto(out *DPUVolume)

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

func (*DPUVolume) DeepCopyObject

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

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

func (*DPUVolume) GetConditions

func (v *DPUVolume) GetConditions() []metav1.Condition

GetConditions returns the conditions of the DPUVolume.

func (*DPUVolume) SetConditions

func (v *DPUVolume) SetConditions(conditions []metav1.Condition)

SetConditions sets the conditions of the DPUVolume.

type DPUVolumeAttachment

type DPUVolumeAttachment struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              DPUVolumeAttachmentSpec   `json:"spec"`
	Status            DPUVolumeAttachmentStatus `json:"status,omitempty"`
}

DPUVolumeAttachment represents a Volume CR on the DPU cluster.

func (*DPUVolumeAttachment) DeepCopy

func (in *DPUVolumeAttachment) DeepCopy() *DPUVolumeAttachment

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

func (*DPUVolumeAttachment) DeepCopyInto

func (in *DPUVolumeAttachment) DeepCopyInto(out *DPUVolumeAttachment)

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

func (*DPUVolumeAttachment) DeepCopyObject

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

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

func (*DPUVolumeAttachment) GetConditions

func (v *DPUVolumeAttachment) GetConditions() []metav1.Condition

GetConditions returns the conditions of the DPUVolumeAttachment.

func (*DPUVolumeAttachment) SetConditions

func (v *DPUVolumeAttachment) SetConditions(conditions []metav1.Condition)

SetConditions sets the conditions of the DPUVolumeAttachment.

type DPUVolumeAttachmentList

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

DPUVolumeAttachmentList contains a list of DPUVolumeAttachment

func (*DPUVolumeAttachmentList) DeepCopy

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

func (*DPUVolumeAttachmentList) DeepCopyInto

func (in *DPUVolumeAttachmentList) DeepCopyInto(out *DPUVolumeAttachmentList)

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

func (*DPUVolumeAttachmentList) DeepCopyObject

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

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

type DPUVolumeAttachmentSpec

type DPUVolumeAttachmentSpec struct {
	// DPUNodeName is the name of DPUNode object that represents the node to which the volume should
	// be attached
	// +kubebuilder:validation:MinLength=1
	// +required
	DPUNodeName string `json:"dpuNodeName"`
	// DPUVolumeName is the name of DPUVolume object that represents the volume to be attached
	// +kubebuilder:validation:MinLength=1
	// +required
	DPUVolumeName string `json:"dpuVolumeName"`
	// FunctionTypeConfig is the configuration for the emulated function that should be used to attach the volume
	FunctionTypeConfig `json:",inline"`
}

DPUVolumeAttachmentSpec defines the desired state of DPUVolumeAttachment

func (*DPUVolumeAttachmentSpec) DeepCopy

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

func (*DPUVolumeAttachmentSpec) DeepCopyInto

func (in *DPUVolumeAttachmentSpec) DeepCopyInto(out *DPUVolumeAttachmentSpec)

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

type DPUVolumeAttachmentStatus

type DPUVolumeAttachmentStatus struct {
	// Indicates the volume is successfully attached to by the Vendor CSI driver
	// +optional
	ControllerAttached *bool `json:"controllerAttached,omitempty"`
	// Indicates the volume is successfully attached to the node by DPU
	// +optional
	DPUAttached *bool `json:"dpuAttached,omitempty"`
	// AttachmentMetadata contains the metadata of the volume attachment returned by the Vendor CSI driver
	// +optional
	AttachmentMetadata map[string]string `json:"attachmentMetadata,omitempty"`
	// Details about the DPU attachment
	// +optional
	DPU *AttachmentStatusDPU `json:"dpu,omitempty"`
	// The last error encountered during the attach operation, if any
	// +optional
	Message *string `json:"message,omitempty"`
	// Conditions defines current service state.
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`
	// ObservedGeneration records the Generation observed on the object the last time it was patched.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`
}

DPUVolumeAttachmentStatus defines the observed state of DPUVolumeAttachment

func (*DPUVolumeAttachmentStatus) DeepCopy

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

func (*DPUVolumeAttachmentStatus) DeepCopyInto

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

type DPUVolumeList

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

DPUVolumeList contains a list of DPUVolume

func (*DPUVolumeList) DeepCopy

func (in *DPUVolumeList) DeepCopy() *DPUVolumeList

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

func (*DPUVolumeList) DeepCopyInto

func (in *DPUVolumeList) DeepCopyInto(out *DPUVolumeList)

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

func (*DPUVolumeList) DeepCopyObject

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

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

type DPUVolumePhase

type DPUVolumePhase string
const (
	// used for DPUVolume that are not yet bound to a volume in the DPU cluster
	DPUVolumePhasePending DPUVolumePhase = "Pending"
	// used for DPUVolume that are bound to a volume in the DPU cluster
	DPUVolumePhaseBound DPUVolumePhase = "Bound"
)

type DPUVolumeSpec

type DPUVolumeSpec struct {
	// Name of the DPUStoragePolicyName object that will be used to create the volume.
	// +kubebuilder:validation:MinLength=1
	// +required
	DPUStoragePolicyName string `json:"dpuStoragePolicyName"`
	// Additional parameters for the volume, these parameters are merged with the values from the DPUStoragePolicy object.
	// +kubebuilder:default={}
	// +optional
	Parameters map[string]string `json:"parameters,omitempty"`
	// Access modes define how the volume can be mounted. These modes are directly passed to the
	// PersistentVolumeClaim created for the Vendor CSI Plugin selected by the DPUStoragePolicy.
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:MaxItems=3
	// +kubebuilder:validation:XValidation:rule="self.all(mode, mode in ['ReadWriteOnce', 'ReadOnlyMany', 'ReadWriteMany'])", message="accessModes must contain only valid PersistentVolumeAccessMode values: ReadWriteOnce, ReadOnlyMany, ReadWriteMany"
	// +required
	AccessModes []corev1.PersistentVolumeAccessMode `json:"accessModes"`
	// Resources represents the storage resources requested for the volume. These resource requirements
	// are directly passed to the PersistentVolumeClaim created for the Vendor CSI Plugin selected
	// by the DPUStoragePolicy. Since volume resizing is not supported, modifications to the resource request are prohibited.
	// +kubebuilder:validation:XValidation:rule="has(self.requests) && has(self.requests.storage)", message="resource requirements must contain storage resource"
	// +required
	Resources corev1.VolumeResourceRequirements `json:"resources"`
	// Volume mode defines how the volume should be mounted and used. This value is directly passed to the
	// PersistentVolumeClaim created for the Vendor CSI Plugin selected by the DPUStoragePolicy.
	// +kubebuilder:validation:Enum=Filesystem;Block
	// +kubebuilder:default=Filesystem
	// +optional
	VolumeMode *corev1.PersistentVolumeMode `json:"volumeMode,omitempty"`
}

DPUVolumeSpec defines the desired state of DPUVolume

func (*DPUVolumeSpec) DeepCopy

func (in *DPUVolumeSpec) DeepCopy() *DPUVolumeSpec

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

func (*DPUVolumeSpec) DeepCopyInto

func (in *DPUVolumeSpec) DeepCopyInto(out *DPUVolumeSpec)

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

type DPUVolumeState

type DPUVolumeState struct {
	// DPUCluster contains the reference to the DPUCluster object that was selected for volume creation.
	// +optional
	DPUCluster *ObjectReference `json:"dpuCluster,omitempty"`
	// Parameters contains the final set of parameters for volume creation, computed by merging
	// the parameters from the DPUStoragePolicy object with user-provided parameters.
	// +optional
	Parameters map[string]string `json:"parameters,omitempty"`
	// SelectedDPUStorageVendorName contains the name of the DPUStorageVendor object that was selected for volume creation.
	// +optional
	SelectedDPUStorageVendorName *string `json:"selectedDPUStorageVendorName,omitempty"`
	// StorageVendorPluginName contains the name of the storage vendor plugin deployed on the DPU cluster that was selected for volume creation.
	// +optional
	StorageVendorPluginName *string `json:"storageVendorPluginName,omitempty"`
	// StorageClassName contains the name of the storage class in the DPU cluster that was selected for volume creation.
	// +optional
	StorageClassName *string `json:"storageClassName,omitempty"`
	// CSIDriverName contains the name of the CSI driver in the DPU cluster that was selected for volume creation.
	// +optional
	CSIDriverName *string `json:"csiDriverName,omitempty"`
	// PersistentVolumeClaimRef contains the reference to the PersistentVolumeClaim object in the DPU cluster that was created for the volume.
	// +optional
	PersistentVolumeClaimRef *ObjectReference `json:"persistentVolumeClaimRef,omitempty"`
	// VolumeInfo contains a subset of fields from the PersistentVolume object created in the DPU cluster
	// +optional
	VolumeInfo *VolumeInfo `json:"volumeInfo,omitempty"`
}

DPUVolumeState defines the state of the volume.

func (*DPUVolumeState) DeepCopy

func (in *DPUVolumeState) DeepCopy() *DPUVolumeState

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

func (*DPUVolumeState) DeepCopyInto

func (in *DPUVolumeState) DeepCopyInto(out *DPUVolumeState)

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

type DPUVolumeStatus

type DPUVolumeStatus struct {
	// Phase of the volume
	// +kubebuilder:validation:Enum=Pending;Bound
	// +optional
	Phase *DPUVolumePhase `json:"phase,omitempty"`
	// State of the volume. This field is managed by the controller. User usually do not need to set fields from this struct.
	// +optional
	State *DPUVolumeState `json:"state,omitempty"`
	// Conditions defines current service state.
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`
	// ObservedGeneration records the Generation observed on the object the last time it was patched.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`
}

DPUVolumeStatus defines the observed state of DPUVolume

func (*DPUVolumeStatus) DeepCopy

func (in *DPUVolumeStatus) DeepCopy() *DPUVolumeStatus

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

func (*DPUVolumeStatus) DeepCopyInto

func (in *DPUVolumeStatus) DeepCopyInto(out *DPUVolumeStatus)

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

type FSdevAttrs

type FSdevAttrs struct {
	// Filesystem tag identified by SNAP on the host (used for the mount). Relevant for volume of type filesystem
	FilesystemTag string `json:"filesystemTag,omitempty"`
}

FSdevAttrs represents the attributes of the underlying filesystem device

func (*FSdevAttrs) DeepCopy

func (in *FSdevAttrs) DeepCopy() *FSdevAttrs

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

func (*FSdevAttrs) DeepCopyInto

func (in *FSdevAttrs) DeepCopyInto(out *FSdevAttrs)

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

type FunctionType

type FunctionType string
const (
	// FunctionTypePF is the PF function type
	FunctionTypePF FunctionType = "pf"
	// FunctionTypeVF is the VF function type
	FunctionTypeVF FunctionType = "vf"
)

type FunctionTypeConfig

type FunctionTypeConfig struct {
	// FunctionType is the type of the emulated function that should be used to attach the volume
	// +kubebuilder:validation:Enum=pf;vf
	// +required
	FunctionType FunctionType `json:"functionType"`
	// HotplugFunction is a boolean flag that indicates if the emulated function should be hotplugged
	// +required
	HotplugFunction bool `json:"hotplugFunction"`
}

FunctionTypeConfig is the configuration for the emulated function that should be used to attach the volume

func (*FunctionTypeConfig) DeepCopy

func (in *FunctionTypeConfig) DeepCopy() *FunctionTypeConfig

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

func (*FunctionTypeConfig) DeepCopyInto

func (in *FunctionTypeConfig) DeepCopyInto(out *FunctionTypeConfig)

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

type NVMEAttrs

type NVMEAttrs struct {
	// The namespace ID within the NVME controller
	// +optional
	NamespaceID *int64 `json:"namespaceID,omitempty"`
	// The NVMe namespace UUID
	// +optional
	NamespaceUUID *string `json:"namespaceUUID,omitempty"`
}

NVMEAttrs represents the attributes of the NVME emulated function

func (*NVMEAttrs) DeepCopy

func (in *NVMEAttrs) DeepCopy() *NVMEAttrs

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

func (*NVMEAttrs) DeepCopyInto

func (in *NVMEAttrs) DeepCopyInto(out *NVMEAttrs)

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

type ObjectRef

type ObjectRef struct {
	Kind       string `json:"kind,omitempty"`
	APIVersion string `json:"apiVersion,omitempty"`
	Name       string `json:"name,omitempty"`
	Namespace  string `json:"namespace,omitempty"`
}

ObjectRef reference to the object

func (*ObjectRef) DeepCopy

func (in *ObjectRef) DeepCopy() *ObjectRef

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

func (*ObjectRef) DeepCopyInto

func (in *ObjectRef) DeepCopyInto(out *ObjectRef)

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

type ObjectReference

type ObjectReference struct {
	// Name specifies the name of the referenced object
	// +kubebuilder:validation:MinLength=1
	// +required
	Name string `json:"name"`
	// Namespace specifies the namespace where the referenced object exists
	// +kubebuilder:validation:MinLength=1
	// +required
	Namespace string `json:"namespace"`
}

ObjectReference represents a reference to a Kubernetes object.

func (*ObjectReference) DeepCopy

func (in *ObjectReference) DeepCopy() *ObjectReference

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

func (*ObjectReference) DeepCopyInto

func (in *ObjectReference) DeepCopyInto(out *ObjectReference)

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

func (*ObjectReference) String

func (o *ObjectReference) String() string

String returns the string representation of the ObjectReference.

type SVVolumeAttachment

type SVVolumeAttachment struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              storagev1.VolumeAttachmentSpec   `json:"spec"`
	Status            storagev1.VolumeAttachmentStatus `json:"status,omitempty"`
}

SVVolumeAttachment captures the intent to attach/detach the specified Volume to/from the specified node.

func (*SVVolumeAttachment) DeepCopy

func (in *SVVolumeAttachment) DeepCopy() *SVVolumeAttachment

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

func (*SVVolumeAttachment) DeepCopyInto

func (in *SVVolumeAttachment) DeepCopyInto(out *SVVolumeAttachment)

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

func (*SVVolumeAttachment) DeepCopyObject

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

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

type SVVolumeAttachmentList

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

SVVolumeAttachmentList contains a list of SVVolumeAttachment

func (*SVVolumeAttachmentList) DeepCopy

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

func (*SVVolumeAttachmentList) DeepCopyInto

func (in *SVVolumeAttachmentList) DeepCopyInto(out *SVVolumeAttachmentList)

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

func (*SVVolumeAttachmentList) DeepCopyObject

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

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

type SelectionAlgorithm

type SelectionAlgorithm string

SelectionAlgorithm represents the storage selection algorithm type

const (
	// Random selection across the vendors defined in the StoragePolicy list.
	SelectionAlgorithmRandom SelectionAlgorithm = "Random"
	// Load-balancing on the number of volumes belonging to the StoragePolicy.
	// The vendor (in the DPUStoragePolicy list) with the minimal number of volumes should be selected.
	SelectionAlgorithmNumberVolumes SelectionAlgorithm = "NumberVolumes"
)

type VirtioFSAttrs

type VirtioFSAttrs struct {
	// Filesystem tag identified by SNAP on the host (used for the mount). Relevant for volume of type filesystem
	// +optional
	FilesystemTag *string `json:"filesystemTag,omitempty"`
}

VirtioFSAttrs represents the attributes of the VirtioFS emulated function

func (*VirtioFSAttrs) DeepCopy

func (in *VirtioFSAttrs) DeepCopy() *VirtioFSAttrs

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

func (*VirtioFSAttrs) DeepCopyInto

func (in *VirtioFSAttrs) DeepCopyInto(out *VirtioFSAttrs)

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

type Volume

type Volume struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              VolumeSpec   `json:"spec"`
	Status            VolumeStatus `json:"status,omitempty"`
}

Volume represents a persistent volume on the DPU cluster. It maps between the tenant K8S persistent volume (PV) object on the tenant cluster into the actual volume on the DPU cluster. Volume is an internal API, it is not intended to be used by users.

func (*Volume) DeepCopy

func (in *Volume) DeepCopy() *Volume

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

func (*Volume) DeepCopyInto

func (in *Volume) DeepCopyInto(out *Volume)

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

func (*Volume) DeepCopyObject

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

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

type VolumeAttachment

type VolumeAttachment struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              VolumeAttachmentSpec   `json:"spec"`
	Status            VolumeAttachmentStatus `json:"status,omitempty"`
}

VolumeAttachment captures the intent to attach/detach the specified NV-Volume to/from the specified node. VolumeAttachment is an internal API, it is not intended to be used by users.

func (*VolumeAttachment) DeepCopy

func (in *VolumeAttachment) DeepCopy() *VolumeAttachment

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

func (*VolumeAttachment) DeepCopyInto

func (in *VolumeAttachment) DeepCopyInto(out *VolumeAttachment)

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

func (*VolumeAttachment) DeepCopyObject

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

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

type VolumeAttachmentList

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

VolumeAttachmentList contains a list of VolumeAttachment

func (*VolumeAttachmentList) DeepCopy

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

func (*VolumeAttachmentList) DeepCopyInto

func (in *VolumeAttachmentList) DeepCopyInto(out *VolumeAttachmentList)

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

func (*VolumeAttachmentList) DeepCopyObject

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

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

type VolumeAttachmentSpec

type VolumeAttachmentSpec struct {
	// The name of the node that the volume should be attached to
	NodeName string `json:"nodeName,omitempty"`
	// Reference to the NV-Volume object
	Source VolumeSource `json:"source,omitempty"`
	// Reference to the SV-VolumeAttachment object
	VolumeAttachmentRef *ObjectRef `json:"volumeAttachmentRef,omitempty"`
	// Opaque static publish properties of the volume returned by the plugin
	Parameters map[string]string `json:"parameters,omitempty"`
	// FunctionTypeConfig is the configuration for the emulated function that should be used to attach the volume
	FunctionTypeConfig `json:",inline"`
}

VolumeAttachmentSpec defines the desired state of VolumeAttachment

func (*VolumeAttachmentSpec) DeepCopy

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

func (*VolumeAttachmentSpec) DeepCopyInto

func (in *VolumeAttachmentSpec) DeepCopyInto(out *VolumeAttachmentSpec)

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

type VolumeAttachmentStatus

type VolumeAttachmentStatus struct {
	// Indicates the volume is successfully attached to the target storage system
	// +optional
	StorageAttached bool `json:"storageAttached,omitempty"`
	// The last error encountered during the attach operation, if any
	// +optional
	Message string `json:"message,omitempty"`
	// Details about the DPU attachment
	// +optional
	DPU VolumeAttachmentStatusDPU `json:"dpu,omitempty"`
}

VolumeAttachmentStatus defines the observed state of VolumeAttachment

func (*VolumeAttachmentStatus) DeepCopy

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

func (*VolumeAttachmentStatus) DeepCopyInto

func (in *VolumeAttachmentStatus) DeepCopyInto(out *VolumeAttachmentStatus)

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

type VolumeAttachmentStatusDPU

type VolumeAttachmentStatusDPU struct {
	// Indicates the volume is successfully attached to the DPU node
	Attached bool `json:"attached,omitempty"`
	// PCI device address in the following format: (bus:device.function)
	PCIDeviceAddress string `json:"pciDeviceAddress,omitempty"`
	// The name of the device that was created by the storage vendor plugin
	DeviceName string `json:"deviceName,omitempty"`
	// The VUID of the emulated function. For a VF, this is the parent PF VUID.
	FuncVUID string `json:"funcVUID,omitempty"`
	// The attributes of the underlying block device
	// +optional
	BdevAttrs BdevAttrs `json:"bdevAttrs,omitempty"`
	// The attributes of the underlying filesystem device
	// +optional
	FSdevAttrs FSdevAttrs `json:"fsdevAttrs,omitempty"`
}

VolumeAttachmentStatusDPU describe the information of DPU volume +kubebuilder:validation:cel:rule="(has(self.bdevAttrs) && !has(self.fsdevAttrs)) || (!has(self.bdevAttrs) && has(self.fsdevAttrs))"

func (*VolumeAttachmentStatusDPU) DeepCopy

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

func (*VolumeAttachmentStatusDPU) DeepCopyInto

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

type VolumeInfo

type VolumeInfo struct {
	// VolumeName contains the name of the PersistentVolume object in the DPU cluster
	// +optional
	VolumeName *string `json:"volumeName,omitempty"`
	// Actual capacity of the volume in the DPU cluster
	// +optional
	Capacity corev1.ResourceList `json:"capacity,omitempty"`
	// Actual access modes of the volume in the DPU cluster
	// +optional
	AccessModes []corev1.PersistentVolumeAccessMode `json:"accessModes,omitempty"`
	// Actual volume mode of the volume in the DPU cluster
	// +optional
	VolumeMode *corev1.PersistentVolumeMode `json:"volumeMode,omitempty"`
	// VolumeAttributes from the PersistentVolume object in the DPU cluster
	// This field usually contains parameters returned by the Vendor CSI plugin on volume creation.
	// +optional
	VolumeAttributes map[string]string `json:"volumeAttributes,omitempty"`
}

VolumeInfo represents a subset of fields from the PersistentVolume object that was created in the DPU cluster. This struct is used to track and expose key volume information without carrying the full PersistentVolume object.

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 VolumeList

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

VolumeList contains a list of Volume

func (*VolumeList) DeepCopy

func (in *VolumeList) DeepCopy() *VolumeList

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

func (*VolumeList) DeepCopyInto

func (in *VolumeList) DeepCopyInto(out *VolumeList)

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

func (*VolumeList) DeepCopyObject

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

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

type VolumeRequest

type VolumeRequest struct {
	// The capacity of the required storage space in bytes
	// +optional
	CapacityRange CapacityRange `json:"capacityRange,omitempty"`
	// Contains the types of access modes required
	// +optional
	AccessModes []corev1.PersistentVolumeAccessMode `json:"accessModes,omitempty"`
	// volumeMode defines what type of volume is required by the claim.
	// Value of Filesystem is implied when not included in claim spec.
	// +optional
	VolumeMode *corev1.PersistentVolumeMode `json:"volumeMode,omitempty"`
}

VolumeRequest represents the volume's requirements

func (*VolumeRequest) DeepCopy

func (in *VolumeRequest) DeepCopy() *VolumeRequest

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

func (*VolumeRequest) DeepCopyInto

func (in *VolumeRequest) DeepCopyInto(out *VolumeRequest)

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

type VolumeSource

type VolumeSource struct {
	// Reference to the NV-Volume object
	VolumeRef *ObjectRef `json:"volumeRef,omitempty"`
}

VolumeSource references to the NV-Volume object

func (*VolumeSource) DeepCopy

func (in *VolumeSource) DeepCopy() *VolumeSource

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

func (*VolumeSource) DeepCopyInto

func (in *VolumeSource) DeepCopyInto(out *VolumeSource)

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

type VolumeSpec

type VolumeSpec struct {
	// List of storage parameters supported by the policy, values are string only
	// +optional
	StorageParameters map[string]string `json:"storageParameters,omitempty"`
	// The capacity of the required storage space in bytes
	// +required
	Request VolumeRequest `json:"request,omitempty"`
	// Reference to the StoragePolicy object
	// +optional
	StoragePolicyRef *ObjectRef `json:"storagePolicyRef,omitempty"`
	// List of storage parameters supported by the policy, values are string only
	// +optional
	StoragePolicyParameters map[string]string `json:"storagePolicyParameters,omitempty"`
	// Describe volume information in DPU cluster
	// +optional
	VolumeSpecDPU VolumeSpecDPU `json:"volume,omitempty"`
}

VolumeSpec defines the desired state of Volume

func (*VolumeSpec) DeepCopy

func (in *VolumeSpec) DeepCopy() *VolumeSpec

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

func (*VolumeSpec) DeepCopyInto

func (in *VolumeSpec) DeepCopyInto(out *VolumeSpec)

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

type VolumeSpecDPU

type VolumeSpecDPU struct {
	ID          string                              `json:"id,omitempty"`
	Capacity    resource.Quantity                   `json:"capacity,omitempty"`
	AccessModes []corev1.PersistentVolumeAccessMode `json:"accessModes,omitempty"`
	// +kubebuilder:validation:Enum=Delete;Retain
	ReclaimPolicy           corev1.PersistentVolumeReclaimPolicy `json:"reclaimPolicy,omitempty"`
	StorageVendorName       string                               `json:"storageVendorName,omitempty"`
	StorageVendorPluginName string                               `json:"storageVendorPluginName,omitempty"`
	VolumeAttributes        map[string]string                    `json:"volumeAttributes,omitempty"`
	CSIReference            CSIReference                         `json:"csiReference,omitempty"`
}

VolumeSpecDPU describe volume information in DPU cluster

func (*VolumeSpecDPU) DeepCopy

func (in *VolumeSpecDPU) DeepCopy() *VolumeSpecDPU

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

func (*VolumeSpecDPU) DeepCopyInto

func (in *VolumeSpecDPU) DeepCopyInto(out *VolumeSpecDPU)

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

type VolumeState

type VolumeState string

VolumeState represents the state of volume +kubebuilder:validation:Enum=InProgress;Available

const (
	// VolumeKind is the kind of the Volume object
	VolumeKind = "Volume"
	// InProgress means the some of related resource is still in progress
	VolumeStateInProgress VolumeState = "InProgress"
	// Available means that all related resources are created
	VolumeStateAvailable VolumeState = "Available"
)

type VolumeStatus

type VolumeStatus struct {
	// The state of a Volume object
	// +optional
	State VolumeState `json:"state,omitempty"`
}

VolumeStatus defines the observed state of Volume

func (*VolumeStatus) DeepCopy

func (in *VolumeStatus) DeepCopy() *VolumeStatus

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

func (*VolumeStatus) DeepCopyInto

func (in *VolumeStatus) DeepCopyInto(out *VolumeStatus)

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