v1alpha1

package
v0.0.4-0...-de66a47 Latest Latest
Warning

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

Go to latest
Published: Oct 9, 2024 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the ipam v1alpha1 API group +kubebuilder:object:generate=true +groupName=vxlan.resource.nephio.org

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "vxlan.resource.nephio.org", 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 (
	VXLANClaimKind             = reflect.TypeOf(VXLANClaim{}).Name()
	VXLANClaimGroupKind        = schema.GroupKind{Group: GroupVersion.Group, Kind: VXLANClaimKind}.String()
	VXLANClaimKindAPIVersion   = VXLANClaimKind + "." + GroupVersion.String()
	VXLANClaimGroupVersionKind = GroupVersion.WithKind(VXLANClaimKind)
	VXLANClaimKindGVKString    = meta.GVKToString(schema.GroupVersionKind{
		Group:   GroupVersion.Group,
		Version: GroupVersion.Version,
		Kind:    VXLANClaimKind,
	})
)
View Source
var (
	VXLANIndexKind             = reflect.TypeOf(VXLANIndex{}).Name()
	VXLANIndexGroupKind        = schema.GroupKind{Group: GroupVersion.Group, Kind: VXLANIndexKind}.String()
	VXLANIndexKindAPIVersion   = VXLANIndexKind + "." + GroupVersion.String()
	VXLANIndexGroupVersionKind = GroupVersion.WithKind(VXLANIndexKind)
	VXLANIndexKindGVKString    = meta.GVKToString(schema.GroupVersionKind{
		Group:   GroupVersion.Group,
		Version: GroupVersion.Version,
		Kind:    VXLANIndexKind,
	})
)

Functions

This section is empty.

Types

type VXLANClaim

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

	Spec   VXLANClaimSpec   `json:"spec,omitempty" yaml:"spec,omitempty"`
	Status VXLANClaimStatus `json:"status,omitempty" yaml:"status,omitempty"`
}

+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:printcolumn:name="SYNC",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="STATUS",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="VXLAN-REQ",type="string",JSONPath=".spec.vxlanID" +kubebuilder:printcolumn:name="VXLAN-ALLOC",type="string",JSONPath=".status.vxlanID" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:categories={nephio,resource} VXLANClaim is the Schema for the vxlan claim API

func BuildVXLANClaim

func BuildVXLANClaim(meta metav1.ObjectMeta, spec VXLANClaimSpec, status VXLANClaimStatus) *VXLANClaim

BuildVXLANClaim returns a VXLANClaim from a client Object a crName and an VXLANClaim Spec/Status

func (*VXLANClaim) AddOwnerLabelsToCR

func (r *VXLANClaim) AddOwnerLabelsToCR()

AddOwnerLabelsToCR returns a VXLAN Claim by augmenting the owner GVK/NSN in the user defined labels

func (*VXLANClaim) DeepCopy

func (in *VXLANClaim) DeepCopy() *VXLANClaim

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

func (*VXLANClaim) DeepCopyInto

func (in *VXLANClaim) DeepCopyInto(out *VXLANClaim)

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

func (*VXLANClaim) DeepCopyObject

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

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

func (*VXLANClaim) GetCacheID

func (r *VXLANClaim) GetCacheID() corev1.ObjectReference

GetCacheID return the cache id validating the namespace

func (*VXLANClaim) GetCondition

GetCondition returns the condition based on the condition kind

func (*VXLANClaim) GetFullLabels

func (r *VXLANClaim) GetFullLabels() map[string]string

GetFullLabels returns a map with a copy of the user defined labels and the selector labels

func (*VXLANClaim) GetGenericNamespacedName

func (r *VXLANClaim) GetGenericNamespacedName() string

GetGenericNamespacedName return a namespace and name as string, compliant to the k8s api naming convention

func (*VXLANClaim) GetLabelSelector

func (r *VXLANClaim) GetLabelSelector() (labels.Selector, error)

GetLabelSelector returns a labels selector based on the label selector

func (*VXLANClaim) GetOwnerSelector

func (r *VXLANClaim) GetOwnerSelector() (labels.Selector, error)

GetOwnerSelector returns a label selector to select the owner of the claim in the backend

func (*VXLANClaim) GetSelectorLabels

func (r *VXLANClaim) GetSelectorLabels() map[string]string

GetSelectorLabels returns a map with a copy of the selector labels

func (*VXLANClaim) GetUserDefinedLabels

func (r *VXLANClaim) GetUserDefinedLabels() map[string]string

GetUserDefinedLabels returns a map with a copy of the user defined labels

func (*VXLANClaim) GetVXLANClaimCtx

func (r *VXLANClaim) GetVXLANClaimCtx() (*VXLANClaimCtx, error)

func (*VXLANClaim) SetConditions

func (r *VXLANClaim) SetConditions(c ...resourcev1alpha1.Condition)

SetConditions sets the conditions on the resource. it allows for 0, 1 or more conditions to be set at once

type VXLANClaimCtx

type VXLANClaimCtx struct {
	Kind VXLANClaimType
}

func (*VXLANClaimCtx) DeepCopy

func (in *VXLANClaimCtx) DeepCopy() *VXLANClaimCtx

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

func (*VXLANClaimCtx) DeepCopyInto

func (in *VXLANClaimCtx) DeepCopyInto(out *VXLANClaimCtx)

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

type VXLANClaimList

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

VXLANClaimList contains a list of VXLANClaims

func (*VXLANClaimList) DeepCopy

func (in *VXLANClaimList) DeepCopy() *VXLANClaimList

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

func (*VXLANClaimList) DeepCopyInto

func (in *VXLANClaimList) DeepCopyInto(out *VXLANClaimList)

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

func (*VXLANClaimList) DeepCopyObject

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

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

type VXLANClaimSpec

type VXLANClaimSpec struct {
	// VXLANIndex defines the vxlan index for the VXLAN Claim
	VXLANIndex corev1.ObjectReference `json:"vxlanIndex" yaml:"vxlanIndex"`
	// ClaimLabels define the user defined labels and selector labels used
	// in resource claim
	resourcev1alpha1.ClaimLabels `json:",inline" yaml:",inline"`
}

VXLANClaimSpec defines the desired state of VXLANClaim

func (*VXLANClaimSpec) DeepCopy

func (in *VXLANClaimSpec) DeepCopy() *VXLANClaimSpec

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

func (*VXLANClaimSpec) DeepCopyInto

func (in *VXLANClaimSpec) DeepCopyInto(out *VXLANClaimSpec)

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

type VXLANClaimStatus

type VXLANClaimStatus struct {
	// ConditionedStatus provides the status of the VXLAN clain using conditions
	// 2 conditions are used:
	// - a condition for the reconcilation status
	// - a condition for the ready status
	// if both are true the other attributes in the status are meaningful
	resourcev1alpha1.ConditionedStatus `json:",inline" yaml:",inline"`
	// VXLANID defines the vxlan ID, claimed through the VXLAN backend
	VXLANID *uint32 `json:"vxlanID,omitempty" yaml:"vxlanID,omitempty"`
	// ExpiryTime indicated when the claim expires
	// +kubebuilder:validation:Optional
	ExpiryTime string `json:"expiryTime,omitempty" yaml:"expiryTime,omitempty"`
}

VXLANClaimStatus defines the observed state of VXLANClaim

func (*VXLANClaimStatus) DeepCopy

func (in *VXLANClaimStatus) DeepCopy() *VXLANClaimStatus

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

func (*VXLANClaimStatus) DeepCopyInto

func (in *VXLANClaimStatus) DeepCopyInto(out *VXLANClaimStatus)

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

type VXLANClaimType

type VXLANClaimType string
const (
	VXLANClaimTypeDynamic VXLANClaimType = "dynamic"
)

type VXLANIndex

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

	Spec   VXLANIndexSpec   `json:"spec,omitempty" yaml:"spec,omitempty"`
	Status VXLANIndexStatus `json:"status,omitempty" yaml:"status,omitempty"`
}

+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:printcolumn:name="SYNC",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="STATUS",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:categories={nephio,resource} VXLANIndex is the Schema for the vxlan database API

func BuildVXLANIndex

func BuildVXLANIndex(meta metav1.ObjectMeta, spec VXLANIndexSpec, status VXLANIndexStatus) *VXLANIndex

BuildVXLANIndex returns a VXLANIndex from a client Object a crName and an VXLANIndex Spec/Status

func (*VXLANIndex) DeepCopy

func (in *VXLANIndex) DeepCopy() *VXLANIndex

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

func (*VXLANIndex) DeepCopyInto

func (in *VXLANIndex) DeepCopyInto(out *VXLANIndex)

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

func (*VXLANIndex) DeepCopyObject

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

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

func (*VXLANIndex) GetCacheID

func (r *VXLANIndex) GetCacheID() corev1.ObjectReference

GetCacheID returns a CacheID as an objectReference

func (*VXLANIndex) GetCondition

GetCondition returns the condition based on the condition type

func (*VXLANIndex) GetGenericNamespacedName

func (r *VXLANIndex) GetGenericNamespacedName() string

GetGenericNamespacedName return a namespace and name as string, compliant to the k8s api naming convention

func (*VXLANIndex) GetNamespacedName

func (r *VXLANIndex) GetNamespacedName() types.NamespacedName

GetNamespacedName returns the namespace and name

func (*VXLANIndex) GetUserDefinedLabels

func (r *VXLANIndex) GetUserDefinedLabels() map[string]string

GetUserDefinedLabels returns the user defined labels in the spec

func (*VXLANIndex) SetConditions

func (r *VXLANIndex) SetConditions(c ...resourcev1alpha1.Condition)

SetConditions sets the conditions on the resource. it allows for 0, 1 or more conditions to be set at once

type VXLANIndexList

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

VXLANIndexList contains a list of VXLANIndices

func (*VXLANIndexList) DeepCopy

func (in *VXLANIndexList) DeepCopy() *VXLANIndexList

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

func (*VXLANIndexList) DeepCopyInto

func (in *VXLANIndexList) DeepCopyInto(out *VXLANIndexList)

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

func (*VXLANIndexList) DeepCopyObject

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

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

type VXLANIndexSpec

type VXLANIndexSpec struct {
	// Offset defines the offset where the vxlan index starts to claim vxlan IDs from
	Offset uint32 `json:"offset" yaml:"offset"`
	// MaxEntryID defines the max vxlan entry id this index will claim
	MaxEntryID uint32 `json:"maxEntryID" yaml:"maxEntryID"`
	// UserDefinedLabels define metadata to the resource.
	// defined in the spec to distingiush metadata labels from user defined labels
	resourcev1alpha1.UserDefinedLabels `json:",inline" yaml:",inline"`
}

VXLANIndexSpec defines the desired state of VXLANIndex

func (*VXLANIndexSpec) DeepCopy

func (in *VXLANIndexSpec) DeepCopy() *VXLANIndexSpec

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

func (*VXLANIndexSpec) DeepCopyInto

func (in *VXLANIndexSpec) DeepCopyInto(out *VXLANIndexSpec)

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

type VXLANIndexStatus

type VXLANIndexStatus struct {
	// ConditionedStatus provides the status of the VXLAN Index using conditions
	// 2 conditions are used:
	// - a condition for the reconcilation status
	// - a condition for the ready status
	// if both are true the other attributes in the status are meaningful
	resourcev1alpha1.ConditionedStatus `json:",inline" yaml:",inline"`
}

VXLANIndexStatus defines the observed state of VXLANIndex

func (*VXLANIndexStatus) DeepCopy

func (in *VXLANIndexStatus) DeepCopy() *VXLANIndexStatus

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

func (*VXLANIndexStatus) DeepCopyInto

func (in *VXLANIndexStatus) DeepCopyInto(out *VXLANIndexStatus)

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