Help us shape the future of Go! Take the 2026 Go Developer Survey

v1alpha1

package
v0.33.17 Latest Latest
Warning

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

Go to latest
Published: Sep 14, 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