v1alpha1

package
v0.33.16 Latest Latest
Warning

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

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

Documentation

Index

Constants

View Source
const (
	// APIGroup is the group storage-foundation serves DataExport under. It is the default this
	// package registers, not the only group these types are ever addressed through: a cluster
	// running storage-volume-data-manager instead serves the same kind under
	// dataapi.LegacyGroup, and callers reach it with AddToSchemeFor.
	APIGroup   = dataapi.FoundationGroup
	APIVersion = dataapi.Version
)

Variables

View Source
var (
	SchemeGroupVersion = dataapi.FoundationGroupVersion
	SchemeBuilder      = runtime.NewSchemeBuilder(AddKnownTypes)
	AddToScheme        = SchemeBuilder.AddToScheme
)

SchemeGroupVersion is group version used to register these objects

Functions

func AddKnownTypes

func AddKnownTypes(scheme *runtime.Scheme) error

AddKnownTypes registers the DataExport types under SchemeGroupVersion (storage-foundation). Callers that resolved the served group at runtime use AddToSchemeFor instead.

func AddToSchemeFor added in v0.33.14

func AddToSchemeFor(gv schema.GroupVersion) func(*runtime.Scheme) error

AddToSchemeFor returns a scheme builder that registers the DataExport types under gv.

The Go types are shared by both producers because the wire shapes agree on everything the CLI sends and reads; only the group differs, and TargetRefSpec.Group — which the older CRD has no property for — is pruned by that CRD's structural schema rather than rejected. Registering one scheme per resolved group keeps exactly one GroupVersionKind mapped to each type, which is what the controller-runtime client requires to address the object at all.

Types

type DataExport

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

	Spec   DataexportSpec   `json:"spec"`
	Status DataExportStatus `json:"status"`
}

+k8s:deepcopy-gen=true +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*DataExport) DeepCopy

func (in *DataExport) DeepCopy() *DataExport

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

func (*DataExport) DeepCopyInto

func (in *DataExport) DeepCopyInto(out *DataExport)

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

func (*DataExport) DeepCopyObject

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

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

type DataExportList

type DataExportList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`

	Items []DataExport `json:"items"`
}

+k8s:deepcopy-gen=true +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*DataExportList) DeepCopy

func (in *DataExportList) DeepCopy() *DataExportList

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

func (*DataExportList) DeepCopyInto

func (in *DataExportList) DeepCopyInto(out *DataExportList)

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

func (*DataExportList) DeepCopyObject

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

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

type DataExportStatus

type DataExportStatus 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"`
}

+k8s:deepcopy-gen=true

func (*DataExportStatus) DeepCopy

func (in *DataExportStatus) DeepCopy() *DataExportStatus

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

func (*DataExportStatus) DeepCopyInto

func (in *DataExportStatus) DeepCopyInto(out *DataExportStatus)

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

type DataexportSpec

type DataexportSpec struct {
	TTL       string        `json:"ttl"`
	Publish   bool          `json:"publish"`
	TargetRef TargetRefSpec `json:"targetRef"`
}

+k8s:deepcopy-gen=true

func (*DataexportSpec) DeepCopy

func (in *DataexportSpec) DeepCopy() *DataexportSpec

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

func (*DataexportSpec) DeepCopyInto

func (in *DataexportSpec) DeepCopyInto(out *DataexportSpec)

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

type TargetRefSpec

type TargetRefSpec struct {
	// Group is the API group of the target resource ("" = core group).
	Group string `json:"group,omitempty"`
	// Resource is the target resource plural (e.g. "volumesnapshots").
	// TEMP REVERTME: required by the deployed storage-volume-data-manager (mr135)
	// GVR-based CRD; the kind-based contract is not yet in SVDM main. Sending both
	// resource and kind is safe because each CRD prunes the field it doesn't know.
	Resource string `json:"resource,omitempty"`
	// Kind is the target object kind (e.g. "VolumeSnapshot", "PersistentVolumeClaim").
	// Required by the API server.
	Kind string `json:"kind"`
	// Name is the target object name.
	Name string `json:"name"`
}

TargetRefSpec references the export target by GroupKind + name (namespace is implicit = the DataExport's own namespace). The version is intentionally NOT pinned: the controller resolves the served version via the RESTMapper. Mirrors the producer's DataExportTargetRefSpec in storage-volume-data-manager/api/v1alpha1/data_export.go.

+k8s:deepcopy-gen=true

func (*TargetRefSpec) DeepCopy

func (in *TargetRefSpec) DeepCopy() *TargetRefSpec

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

func (*TargetRefSpec) DeepCopyInto

func (in *TargetRefSpec) DeepCopyInto(out *TargetRefSpec)

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