v1alpha1

package
v0.0.0-...-aebc2b6 Latest Latest
Warning

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

Go to latest
Published: Nov 1, 2022 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Overview

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

Index

Constants

View Source
const (
	NephioNetworkInstanceKey    = "nephio.org/network-instance"
	NephioPrefixLengthKey       = "nephio.org/prefix-length"
	NephioAddressFamilyKey      = "nephio.org/address-family"
	NephioIPPrefixNameKey       = "nephio.org/prefix-name"
	NephioParentNetKey          = "nephio.org/parent-net"
	NephioParentPrefixLengthKey = "nephio.org/parent-prefix-length"
	NephioIPAllocactionNameKey  = "nephio.org/allocation-name"
	NephioPoolKey               = "nephio.org/pool"
	NephioGatewayKey            = "nephio.org/gateway"
	NephioInterfaceKey          = "nephio.org/interface"
	NephioApplicationPartOfKey  = "app.kubernetes.io/part-of"
	NephioOriginKey             = "nephio.org/origin"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "ipam.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
)

Functions

This section is empty.

Types

type AddressFamily

type AddressFamily string
const (
	AddressFamilyIpv4 AddressFamily = "ipv4"
	AddressFamilyIpv6 AddressFamily = "ipv6"
)

func (AddressFamily) String

func (s AddressFamily) String() string

type Condition

type Condition struct {
	// Type of this condition. At most one of each condition type may apply to
	// a resource at any point in time.
	Kind ConditionKind `json:"kind"`

	// Status of this condition; is it currently True, False, or Unknown?
	Status corev1.ConditionStatus `json:"status"`

	// LastTransitionTime is the last time this condition transitioned from one
	// status to another.
	LastTransitionTime metav1.Time `json:"lastTransitionTime"`

	// A Reason for this condition's last transition from one status to another.
	Reason ConditionReason `json:"reason"`

	// A Message containing details about this condition's last transition from
	// one status to another, if any.
	// +optional
	Message string `json:"message,omitempty"`
}

A Condition that may apply to a resource

func Failed

func Failed(msg string) Condition

Failed returns a condition that indicates the resource failed to get instantiated.

func Ready

func Ready() Condition

Ready returns a condition that indicates the resource is currently observed to be ready for use.

func ReconcileError

func ReconcileError(err error) Condition

ReconcileError returns a condition indicating that ndd encountered an error while reconciling the resource. This could mean ndd was unable to update the resource to reflect its desired state, or that ndd was unable to determine the current actual state of the resource.

func ReconcileSuccess

func ReconcileSuccess() Condition

ReconcileSuccess returns a condition indicating that ndd successfully completed the most recent reconciliation of the resource.

func Unknown

func Unknown() Condition

Unknown returns a condition that indicates the resource is in an unknown status.

func (*Condition) DeepCopy

func (in *Condition) DeepCopy() *Condition

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

func (*Condition) DeepCopyInto

func (in *Condition) DeepCopyInto(out *Condition)

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

func (Condition) Equal

func (c Condition) Equal(other Condition) bool

Equal returns true if the condition is identical to the supplied condition, ignoring the LastTransitionTime.

func (Condition) WithMessage

func (c Condition) WithMessage(msg string) Condition

WithMessage returns a condition by adding the provided message to existing condition.

type ConditionKind

type ConditionKind string

A ConditionKind represents a condition kind for a resource

const (
	// handled per target per resource
	ConditionKindSynced ConditionKind = "Synced"
	// handled per target per resource
	ConditionKindReady ConditionKind = "Ready"
)

Condition Kinds.

type ConditionReason

type ConditionReason string

A ConditionReason represents the reason a resource is in a condition.

const (
	ConditionReasonReady   ConditionReason = "Ready"
	ConditionReasonFailed  ConditionReason = "Failed"
	ConditionReasonUnknown ConditionReason = "Unknown"
)

Reasons a resource is ready or not

const (
	ConditionReasonReconcileSuccess ConditionReason = "ReconcileSuccess"
	ConditionReasonReconcileFailure ConditionReason = "ReconcileFailure"
)

Reasons a resource is or is not synced.

type ConditionedStatus

type ConditionedStatus struct {
	// Conditions of the resource.
	// +optional
	Conditions []Condition `json:"conditions,omitempty"`
}

A ConditionedStatus reflects the observed status of a resource. Only one condition of each kind may exist.

func NewConditionedStatus

func NewConditionedStatus(c ...Condition) *ConditionedStatus

NewConditionedStatus returns a stat with the supplied conditions set.

func (*ConditionedStatus) DeepCopy

func (in *ConditionedStatus) DeepCopy() *ConditionedStatus

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

func (*ConditionedStatus) DeepCopyInto

func (in *ConditionedStatus) DeepCopyInto(out *ConditionedStatus)

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

func (*ConditionedStatus) Equal

func (s *ConditionedStatus) Equal(other *ConditionedStatus) bool

Equal returns true if the status is identical to the supplied status, ignoring the LastTransitionTimes and order of statuses.

func (*ConditionedStatus) GetCondition

func (s *ConditionedStatus) GetCondition(ck ConditionKind) Condition

GetCondition returns the condition for the given ConditionKind if exists, otherwise returns nil

func (*ConditionedStatus) SetConditions

func (s *ConditionedStatus) SetConditions(c ...Condition)

SetConditions sets the supplied conditions, replacing any existing conditions of the same kind. This is a no-op if all supplied conditions are identical, ignoring the last transition time, to those already set.

type IPAllocation

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

	Spec   IPAllocationSpec   `json:"spec,omitempty"`
	Status IPAllocationStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:printcolumn:name="SYNC",type="string",JSONPath=".status.conditions[?(@.kind=='Synced')].status" +kubebuilder:printcolumn:name="STATUS",type="string",JSONPath=".status.conditions[?(@.kind=='Ready')].status" +kubebuilder:printcolumn:name="PREFIX",type="string",JSONPath=".spec.prefix" +kubebuilder:printcolumn:name="PARENTPREFIX",type="string",JSONPath=".spec.parentPrefix" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:categories={nephio,ipam} IPAllocation is the Schema for the ipallocations API

func (*IPAllocation) DeepCopy

func (in *IPAllocation) DeepCopy() *IPAllocation

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

func (*IPAllocation) DeepCopyInto

func (in *IPAllocation) DeepCopyInto(out *IPAllocation)

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

func (*IPAllocation) DeepCopyObject

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

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

func (*IPAllocation) GetCondition

func (x *IPAllocation) GetCondition(ck ConditionKind) Condition

GetCondition of this resource

func (*IPAllocation) SetConditions

func (x *IPAllocation) SetConditions(c ...Condition)

SetConditions of the Network Node.

type IPAllocationList

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

IPAllocationList contains a list of IPAllocation

func (*IPAllocationList) DeepCopy

func (in *IPAllocationList) DeepCopy() *IPAllocationList

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

func (*IPAllocationList) DeepCopyInto

func (in *IPAllocationList) DeepCopyInto(out *IPAllocationList)

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

func (*IPAllocationList) DeepCopyObject

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

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

type IPAllocationSpec

type IPAllocationSpec struct {
	// Prefix allows the client to indicate the prefix that was already allocated and validate if the allocation is still consistent
	// +kubebuilder:validation:Pattern=`(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])/(([0-9])|([1-2][0-9])|(3[0-2]))|((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(/(([0-9])|([0-9]{2})|(1[0-1][0-9])|(12[0-8])))`
	Prefix string `json:"prefix,omitempty"`
	// PrefixLength allows to client to indicate the prefixLength he wants for the allocation
	PrefixLength uint8 `json:"prefixLength,omitempty"`
	// ParentPrefix is the prefix of the parent object for /32 or /128 based addresses
	ParentPrefix string `json:"parentPrefix,omitempty"`
	// Label selector for selecting the context from which the IP prefix/address gets allocated
	Selector *metav1.LabelSelector `json:"selector,omitempty"`
}

IPAllocationSpec defines the desired state of IPAllocation

func (*IPAllocationSpec) DeepCopy

func (in *IPAllocationSpec) DeepCopy() *IPAllocationSpec

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

func (*IPAllocationSpec) DeepCopyInto

func (in *IPAllocationSpec) DeepCopyInto(out *IPAllocationSpec)

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

type IPAllocationStatus

type IPAllocationStatus struct {
	ConditionedStatus `json:",inline"`
}

IPAllocationStatus defines the observed state of IPAllocation

func (*IPAllocationStatus) DeepCopy

func (in *IPAllocationStatus) DeepCopy() *IPAllocationStatus

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

func (*IPAllocationStatus) DeepCopyInto

func (in *IPAllocationStatus) DeepCopyInto(out *IPAllocationStatus)

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

type IPPrefix

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

	Spec   IPPrefixSpec   `json:"spec,omitempty"`
	Status IPPrefixStatus `json:"status,omitempty"`
}

IPPrefix is the Schema for the ipprefixes API

func (*IPPrefix) DeepCopy

func (in *IPPrefix) DeepCopy() *IPPrefix

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

func (*IPPrefix) DeepCopyInto

func (in *IPPrefix) DeepCopyInto(out *IPPrefix)

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

func (*IPPrefix) DeepCopyObject

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

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

func (*IPPrefix) GetCondition

func (x *IPPrefix) GetCondition(ck ConditionKind) Condition

GetCondition of this resource

func (*IPPrefix) SetConditions

func (x *IPPrefix) SetConditions(c ...Condition)

SetConditions of the Network Node.

type IPPrefixList

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

IPPrefixList contains a list of IPPrefix

func (*IPPrefixList) DeepCopy

func (in *IPPrefixList) DeepCopy() *IPPrefixList

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

func (*IPPrefixList) DeepCopyInto

func (in *IPPrefixList) DeepCopyInto(out *IPPrefixList)

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

func (*IPPrefixList) DeepCopyObject

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

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

type IPPrefixSpec

type IPPrefixSpec struct {
	// Pool identifies that this prefix can be used as a pool, in which case the first and last
	// ip in the prefix can be used/consumed.
	Pool bool `json:"pool,omitempty"`
	// Prefix defines the ip subnet of the ip prefix, it can also be an address if a /32 or /128 is specified
	// +kubebuilder:validation:Pattern=`(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])/(([0-9])|([1-2][0-9])|(3[0-2]))|((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(/(([0-9])|([0-9]{2})|(1[0-1][0-9])|(12[0-8])))`
	Prefix string `json:"prefix"`
	// NetworkInstance identifies the network instance the IP prefix belongs to
	NetworkInstance string `json:"networkInstance"`
}

IPPrefixSpec defines the desired state of IPPrefix

func (*IPPrefixSpec) DeepCopy

func (in *IPPrefixSpec) DeepCopy() *IPPrefixSpec

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

func (*IPPrefixSpec) DeepCopyInto

func (in *IPPrefixSpec) DeepCopyInto(out *IPPrefixSpec)

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

type IPPrefixStatus

type IPPrefixStatus struct {
	ConditionedStatus `json:",inline"`
	// identifies the used prefix
	Prefix string `json:"prefix"`
}

IPPrefixStatus defines the observed state of IPPrefix

func (*IPPrefixStatus) DeepCopy

func (in *IPPrefixStatus) DeepCopy() *IPPrefixStatus

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

func (*IPPrefixStatus) DeepCopyInto

func (in *IPPrefixStatus) DeepCopyInto(out *IPPrefixStatus)

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

type NetworkInstance

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

	Spec   NetworkInstanceSpec   `json:"spec,omitempty"`
	Status NetworkInstanceStatus `json:"status,omitempty"`
}

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

func (*NetworkInstance) DeepCopy

func (in *NetworkInstance) DeepCopy() *NetworkInstance

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

func (*NetworkInstance) DeepCopyInto

func (in *NetworkInstance) DeepCopyInto(out *NetworkInstance)

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

func (*NetworkInstance) DeepCopyObject

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

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

func (*NetworkInstance) GetCondition

func (x *NetworkInstance) GetCondition(ck ConditionKind) Condition

GetCondition of this resource

func (*NetworkInstance) SetConditions

func (x *NetworkInstance) SetConditions(c ...Condition)

SetConditions of the Network Node.

type NetworkInstanceList

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

NetworkInstanceList contains a list of NetworkInstance

func (*NetworkInstanceList) DeepCopy

func (in *NetworkInstanceList) DeepCopy() *NetworkInstanceList

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

func (*NetworkInstanceList) DeepCopyInto

func (in *NetworkInstanceList) DeepCopyInto(out *NetworkInstanceList)

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

func (*NetworkInstanceList) DeepCopyObject

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

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

type NetworkInstanceSpec

type NetworkInstanceSpec struct {
}

NetworkInstanceSpec defines the desired state of NetworkInstance

func (*NetworkInstanceSpec) DeepCopy

func (in *NetworkInstanceSpec) DeepCopy() *NetworkInstanceSpec

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

func (*NetworkInstanceSpec) DeepCopyInto

func (in *NetworkInstanceSpec) DeepCopyInto(out *NetworkInstanceSpec)

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

type NetworkInstanceStatus

type NetworkInstanceStatus struct {
	ConditionedStatus `json:",inline"`
	// Allocations list the available alocations
	Allocations map[string]labels.Set `json:"allocations,omitempty"`
}

NetworkInstanceStatus defines the observed state of NetworkInstance

func (*NetworkInstanceStatus) DeepCopy

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

func (*NetworkInstanceStatus) DeepCopyInto

func (in *NetworkInstanceStatus) DeepCopyInto(out *NetworkInstanceStatus)

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

type Origin

type Origin string
const (
	OriginIPPrefix     Origin = "prefix"
	OriginIPAllocation Origin = "allocation"
)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL