Documentation
¶
Index ¶
- Constants
- Variables
- func AddKnownTypes(scheme *runtime.Scheme) error
- type DataExportImportStatus
- type DataImport
- type DataImportList
- type DataImportMode
- type DataImportSpec
- type PersistentVolumeAccessMode
- type PersistentVolumeClaimSpec
- type PersistentVolumeClaimTemplateSpec
- type PersistentVolumeMode
- type ResourceList
- type ResourceName
- type VolumeResourceRequirements
Constants ¶
const ( APIGroup = "storage-foundation.deckhouse.io" APIVersion = "v1alpha1" )
Variables ¶
var ( SchemeGroupVersion = schema.GroupVersion{ Group: APIGroup, Version: APIVersion, } SchemeBuilder = runtime.NewSchemeBuilder(AddKnownTypes) AddToScheme = SchemeBuilder.AddToScheme )
SchemeGroupVersion is group version used to register these objects
Functions ¶
func AddKnownTypes ¶
Adds the list of known types to Scheme.
Types ¶
type DataExportImportStatus ¶
type DataExportImportStatus struct {
URL string `json:"url"`
CA string `json:"ca,omitempty"`
PublicURL string `json:"publicURL"`
AccessTimestamp metav1.Time `json:"accessTimestamp"`
Conditions []metav1.Condition `json:"conditions,omitempty"`
VolumeMode string `json:"volumeMode,omitempty"`
DataImportCompleted bool `json:"dataImportCompleted,omitempty"`
}
func (*DataExportImportStatus) DeepCopy ¶
func (in *DataExportImportStatus) DeepCopy() *DataExportImportStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataExportImportStatus.
func (*DataExportImportStatus) DeepCopyInto ¶
func (in *DataExportImportStatus) DeepCopyInto(out *DataExportImportStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DataImport ¶
type DataImport struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec DataImportSpec `json:"spec"`
Status DataExportImportStatus `json:"status"`
}
+k8s:deepcopy-gen=true +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*DataImport) DeepCopy ¶
func (in *DataImport) DeepCopy() *DataImport
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataImport.
func (*DataImport) DeepCopyInto ¶
func (in *DataImport) DeepCopyInto(out *DataImport)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DataImport) DeepCopyObject ¶
func (in *DataImport) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*DataImport) GetStatus ¶
func (di *DataImport) GetStatus() *DataExportImportStatus
type DataImportList ¶
type DataImportList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata"`
Items []DataImport `json:"items"`
}
+k8s:deepcopy-gen=true +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*DataImportList) DeepCopy ¶
func (in *DataImportList) DeepCopy() *DataImportList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataImportList.
func (*DataImportList) DeepCopyInto ¶
func (in *DataImportList) DeepCopyInto(out *DataImportList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DataImportList) DeepCopyObject ¶
func (in *DataImportList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DataImportMode ¶ added in v0.33.7
type DataImportMode string
DataImportMode is spec.mode — the explicit discriminator that selects what a DataImport does with the imported bytes. It replaced the former polymorphic targetRef.kind discrimination; the current CRD has no spec.targetRef at all (it is pruned by the structural schema). See storage-foundation/api/v1alpha1/data_import.go for the SSOT.
const DataImportModeCreatePVC DataImportMode = "CreatePVC"
DataImportModeCreatePVC is the standalone PVC-import mode: data bytes are streamed straight into a preserved PVC built from spec.pvcTemplate, with no snapshot capture and no VolumeSnapshotContent artifact. `d8 data import` only ever creates CreatePVC DataImports; the snapshot-leaf mode (PopulateData) is driven by `d8 snapshot upload`, which builds its own unstructured spec.
type DataImportSpec ¶
type DataImportSpec struct {
TTL string `json:"ttl"`
Publish bool `json:"publish,omitempty"`
// WaitForFirstConsumer must not carry omitempty, unlike the other bool in this spec: the CRD
// defaults this field to true, so an absent key means true on the server. omitempty drops
// the zero value, which for a bool is exactly the false the caller asked for — making
// `--wffc=false` (and hence the flag's own default) impossible to express.
WaitForFirstConsumer bool `json:"waitForFirstConsumer"`
Mode DataImportMode `json:"mode,omitempty"`
// PvcTemplate fully describes the destination PVC. Its metadata.name is mandatory — the
// controller names the imported PVC after it and the server CEL rejects an empty name.
PvcTemplate *PersistentVolumeClaimTemplateSpec `json:"pvcTemplate,omitempty"`
}
DataImportSpec mirrors the CreatePVC subset of the unified DataImport CRD spec that the CLI produces. The CRD CEL rules require pvcTemplate and forbid snapshotRef/storageParams when mode == CreatePVC, so those PopulateData-only fields are deliberately absent here. +k8s:deepcopy-gen=true
func (*DataImportSpec) DeepCopy ¶
func (in *DataImportSpec) DeepCopy() *DataImportSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataImportSpec.
func (*DataImportSpec) DeepCopyInto ¶
func (in *DataImportSpec) DeepCopyInto(out *DataImportSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PersistentVolumeAccessMode ¶
type PersistentVolumeAccessMode string
+enum
const ( // can be mounted in read/write mode to exactly 1 host ReadWriteOnce PersistentVolumeAccessMode = "ReadWriteOnce" // can be mounted in read-only mode to many hosts ReadOnlyMany PersistentVolumeAccessMode = "ReadOnlyMany" // can be mounted in read/write mode to many hosts ReadWriteMany PersistentVolumeAccessMode = "ReadWriteMany" // can be mounted in read/write mode to exactly 1 pod // cannot be used in combination with other access modes ReadWriteOncePod PersistentVolumeAccessMode = "ReadWriteOncePod" )
type PersistentVolumeClaimSpec ¶
type PersistentVolumeClaimSpec struct {
AccessModes []PersistentVolumeAccessMode `json:"accessModes,omitempty"`
Resources VolumeResourceRequirements `json:"resources,omitempty"`
StorageClassName *string `json:"storageClassName,omitempty"`
VolumeMode *PersistentVolumeMode `json:"volumeMode,omitempty"`
}
+k8s:deepcopy-gen=true
func (*PersistentVolumeClaimSpec) DeepCopy ¶
func (in *PersistentVolumeClaimSpec) DeepCopy() *PersistentVolumeClaimSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PersistentVolumeClaimSpec.
func (*PersistentVolumeClaimSpec) DeepCopyInto ¶
func (in *PersistentVolumeClaimSpec) DeepCopyInto(out *PersistentVolumeClaimSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PersistentVolumeClaimTemplateSpec ¶
type PersistentVolumeClaimTemplateSpec struct {
metav1.ObjectMeta `json:"metadata,omitempty"`
PersistentVolumeClaimSpec `json:"spec,omitempty"`
}
+k8s:deepcopy-gen=true
func (*PersistentVolumeClaimTemplateSpec) DeepCopy ¶
func (in *PersistentVolumeClaimTemplateSpec) DeepCopy() *PersistentVolumeClaimTemplateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PersistentVolumeClaimTemplateSpec.
func (*PersistentVolumeClaimTemplateSpec) DeepCopyInto ¶
func (in *PersistentVolumeClaimTemplateSpec) DeepCopyInto(out *PersistentVolumeClaimTemplateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PersistentVolumeMode ¶
type PersistentVolumeMode string
PersistentVolumeMode describes how a volume is intended to be consumed, either Block or Filesystem. +enum
const ( // PersistentVolumeBlock means the volume will not be formatted with a filesystem and will remain a raw block device. PersistentVolumeBlock PersistentVolumeMode = "Block" // PersistentVolumeFilesystem means the volume will be or is formatted with a filesystem. PersistentVolumeFilesystem PersistentVolumeMode = "Filesystem" )
type ResourceList ¶
type ResourceList map[ResourceName]resource.Quantity
ResourceList is a set of (resource name, quantity) pairs.
type ResourceName ¶
type ResourceName string
+enum
const ( // Volume size, in bytes (e.g. 5Gi = 5GiB = 5 * 1024 * 1024 * 1024) ResourceStorage ResourceName = "storage" )
type VolumeResourceRequirements ¶
type VolumeResourceRequirements struct {
Requests ResourceList `json:"requests,omitempty"`
}
VolumeResourceRequirements describes the storage resource requirements for a volume. +k8s:deepcopy-gen=true
func (*VolumeResourceRequirements) DeepCopy ¶
func (in *VolumeResourceRequirements) DeepCopy() *VolumeResourceRequirements
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumeResourceRequirements.
func (*VolumeResourceRequirements) DeepCopyInto ¶
func (in *VolumeResourceRequirements) DeepCopyInto(out *VolumeResourceRequirements)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.