Documentation ¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the ipam v1alpha1 API group +kubebuilder:object:generate=true +groupName=ipam.nephio.org
Index ¶
- Constants
- Variables
- type AddressFamily
- type Condition
- type ConditionKind
- type ConditionReason
- type ConditionedStatus
- func (in *ConditionedStatus) DeepCopy() *ConditionedStatus
- func (in *ConditionedStatus) DeepCopyInto(out *ConditionedStatus)
- func (s *ConditionedStatus) Equal(other *ConditionedStatus) bool
- func (s *ConditionedStatus) GetCondition(ck ConditionKind) Condition
- func (s *ConditionedStatus) SetConditions(c ...Condition)
- type IPAllocation
- type IPAllocationList
- type IPAllocationSpec
- type IPAllocationStatus
- type IPPrefix
- type IPPrefixList
- type IPPrefixSpec
- type IPPrefixStatus
- type NetworkInstance
- func (in *NetworkInstance) DeepCopy() *NetworkInstance
- func (in *NetworkInstance) DeepCopyInto(out *NetworkInstance)
- func (in *NetworkInstance) DeepCopyObject() runtime.Object
- func (x *NetworkInstance) GetCondition(ck ConditionKind) Condition
- func (x *NetworkInstance) GetNamespacedName() types.NamespacedName
- func (x *NetworkInstance) SetConditions(c ...Condition)
- type NetworkInstanceList
- type NetworkInstanceSpec
- type NetworkInstanceStatus
- type Origin
- type Prefix
- type PrefixKind
Constants ¶
const ( // ipam system defined NephioNetworkInstanceKey = "nephio.org/network-instance" NephioPrefixKindKey = "nephio.org/prefix-kind" NephioPrefixKey = "nephio.org/prefix" NephioPrefixLengthKey = "nephio.org/prefix-length" NephioAddressFamilyKey = "nephio.org/address-family" NephioIPPrefixNameKey = "nephio.org/prefix-name" NephioSubnetKey = "nephio.org/subnet" // this is the subnet in prefix annotation NephioParentPrefixLengthKey = "nephio.org/parent-prefix-length" NephioIPAllocactionNameKey = "nephio.org/allocation-name" NephioPoolKey = "nephio.org/pool" NephioGatewayKey = "nephio.org/gateway" NephioOriginKey = "nephio.org/origin" //NephioSubnetNameKey = "nephio.org/subnet-name" // this is the subnet string or name given in the spec/selector //ipam user define NephioInterfaceKey = "nephio.org/interface" NephioNetworkNameKey = "nephio.org/network-name" NephioPurposeKey = "nephio.org/purpose" NephioApplicationPartOfKey = "app.kubernetes.io/part-of" NephioIndexKey = "nephio.org/index" // ipam status NephioAllocatedPrefix = "nephio.org/allocated-prefix" NephioAllocatedGateway = "nephio.org/allocated-gateway" )
Variables ¶
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 )
var ( IPAllocationKind = reflect.TypeOf(IPAllocation{}).Name() IPAllocationGroupKind = schema.GroupKind{Group: GroupVersion.Group, Kind: IPAllocationKind}.String() IPAllocationKindAPIVersion = IPAllocationKind + "." + GroupVersion.String() IPAllocationGroupVersionKind = GroupVersion.WithKind(IPAllocationKind) )
Functions ¶
This section is empty.
Types ¶
type AddressFamily ¶
type AddressFamily string
const ( AddressFamilyIpv4 AddressFamily = "ipv4" AddressFamilyIpv6 AddressFamily = "ipv6" AddressFamilyUnknown AddressFamily = "unknown" )
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 Ready ¶
func Ready() Condition
Ready returns a condition that indicates the resource is currently observed to be ready for use.
func ReconcileError ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Condition.
func (*Condition) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (Condition) Equal ¶
Equal returns true if the condition is identical to the supplied condition, ignoring the LastTransitionTime.
func (Condition) WithMessage ¶
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" yaml:",inline"` metav1.ObjectMeta `json:"metadata,omitempty" yaml:"metadata,omitempty"` Spec IPAllocationSpec `json:"spec,omitempty" yaml:"spec,omitempty"` Status IPAllocationStatus `json:"status,omitempty" yaml:"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="NETWORK-INSTANCE",type="string",JSONPath=".spec.networkInstance" +kubebuilder:printcolumn:name="KIND",type="string",JSONPath=".spec.kind" +kubebuilder:printcolumn:name="AF",type="string",JSONPath=".spec.addressFamily" +kubebuilder:printcolumn:name="PREFIXLENGTH",type="string",JSONPath=".spec.prefixLength" +kubebuilder:printcolumn:name="PREFIX-REQ",type="string",JSONPath=".spec.prefix" +kubebuilder:printcolumn:name="PREFIX-ALLOC",type="string",JSONPath=".status.prefix" +kubebuilder:printcolumn:name="GATEWAY",type="string",JSONPath=".status.gateway" +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" yaml:",inline"` metav1.ListMeta `json:"metadata,omitempty" yaml:"metadata,omitempty"` Items []IPAllocation `json:"items" yaml:"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 { // +kubebuilder:validation:Enum=`network`;`loopback`;`pool`;`aggregate` // +kubebuilder:default=network PrefixKind PrefixKind `json:"kind" yaml:"kind"` // NetworkInstance identifies the network instance the IP allocation is allocated from NetworkInstance string `json:"networkInstance" yaml:"networkInstance"` // +kubebuilder:validation:Enum=`ipv4`;`ipv6` AddressFamily string `json:"addressFamily,omitempty" yaml:"addressFamily,omitempty"` // 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" yaml:"prefix,omitempty"` // PrefixLength allows to client to indicate the prefixLength he wants for the allocation // used for prefixes, if not supplied we use eother /32 for ipv4 and /128 for ipv6 PrefixLength uint8 `json:"prefixLength,omitempty" yaml:"prefixLength,omitempty"` // index is used for deterministic allocation Index uint32 `json:"index,omitempty" yaml:"index,omitempty"` // Label selector for selecting the context from which the IP prefix/address gets allocated Selector *metav1.LabelSelector `json:"selector,omitempty" yaml:"selector,omitempty"` // Labels provide metadata to the prefix. They are part of the spec since the allocation // selector will use these labels for allocation more specific prefixes/addresses within this prefix // As such we distinguish clearly between the metadata labels and the labels used in the spec Labels map[string]string `json:"labels,omitempty" yaml:"labels,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" yaml:",inline"` // AllocatedPrefix identifies the prefix that was allocated by the IPAM system AllocatedPrefix string `json:"prefix,omitempty" yaml:"prefix,omitempty"` // Gateway identifies the gatway IP for the network Gateway string `json:"gateway,omitempty" yaml:"gateway,omitempty"` }
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" yaml:",inline"` metav1.ObjectMeta `json:"metadata,omitempty" yaml:"metadata,omitempty"` Spec IPPrefixSpec `json:"spec,omitempty" yaml:"spec,omitempty"` Status IPPrefixStatus `json:"status,omitempty" yaml:"status,omitempty"` }
IPPrefix is the Schema for the ipprefixes API
func (*IPPrefix) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPPrefix.
func (*IPPrefix) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IPPrefix) DeepCopyObject ¶
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 ¶
SetConditions of the Network Node.
type IPPrefixList ¶
type IPPrefixList struct { metav1.TypeMeta `json:",inline" yaml:",inline"` metav1.ListMeta `json:"metadata,omitempty" yaml:"metadata,omitempty"` Items []IPPrefix `json:"items" yaml:"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 { // +kubebuilder:validation:Enum=`network`;`loopback`;`pool`;`aggregate` // +kubebuilder:default=network PrefixKind PrefixKind `json:"kind" yaml:"kind"` // NetworkInstance identifies the network instance the IP prefix belongs to NetworkInstance string `json:"networkInstance" yaml:"networkInstance"` // 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" yaml:"prefix"` // Labels provide metadata to the prefix. They are part of the spec since the allocation // selector will use these labels for allocation more specific prefixes/addresses within this prefix // As such we distinguish clearly between the metadata labels and the labels used in the spec Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` }
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" yaml:",inline"` // AllocatedPrefix identifies the prefix that was allocated by the IPAM system AllocatedPrefix string `json:"prefix,omitempty" yaml:"prefix,omitempty"` }
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" yaml:",inline"` metav1.ObjectMeta `json:"metadata,omitempty" yaml:"metadata,omitempty"` Spec NetworkInstanceSpec `json:"spec,omitempty" yaml:"spec,omitempty"` Status NetworkInstanceStatus `json:"status,omitempty" yaml:"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="NETWORK-INSTANCE",type="string",JSONPath=".metadata.name" +kubebuilder:printcolumn:name="PREFIX0",type="string",JSONPath=".spec.prefixes[0].prefix" +kubebuilder:printcolumn:name="PREFIX1",type="string",JSONPath=".spec.prefixes[1].prefix" +kubebuilder:printcolumn:name="PREFIX2",type="string",JSONPath=".spec.prefixes[2].prefix" +kubebuilder:printcolumn:name="PREFIX3",type="string",JSONPath=".spec.prefixes[3].prefix" +kubebuilder:printcolumn:name="PREFIX4",type="string",JSONPath=".spec.prefixes[4].prefix" +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) GetNamespacedName ¶
func (x *NetworkInstance) GetNamespacedName() types.NamespacedName
func (*NetworkInstance) SetConditions ¶
func (x *NetworkInstance) SetConditions(c ...Condition)
SetConditions of the Network Node.
type NetworkInstanceList ¶
type NetworkInstanceList struct { metav1.TypeMeta `json:",inline" yaml:",inline"` metav1.ListMeta `json:"metadata,omitempty" yaml:"metadata,omitempty"` Items []NetworkInstance `json:"items" yaml:"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 {
Prefixes []*Prefix `json:"prefixes" yaml:"prefixes"`
}
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" yaml:",inline"` // AllocatedPrefixes identifies the prefix that was allocated by the IPAM system from the ni spec AllocatedPrefixes []*Prefix `json:"allocatedPrefixes,omitempty" yaml:"allocatedPrefixes,omitempty"` // Allocations list the available alocations Allocations map[string]labels.Set `json:"allocations,omitempty" yaml:"allocations,omitempty"` }
NetworkInstanceStatus defines the observed state of NetworkInstance
func (*NetworkInstanceStatus) DeepCopy ¶
func (in *NetworkInstanceStatus) DeepCopy() *NetworkInstanceStatus
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 Prefix ¶ added in v0.0.2
type Prefix struct { // 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" yaml:"prefix"` // Labels provide metadata to the prefix. They are part of the spec since the allocation // selector will use these labels for finer grane selection // As such we distinguish clearly between the metadata labels and the labels used in the spec Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` }
func (*Prefix) DeepCopy ¶ added in v0.0.2
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Prefix.
func (*Prefix) DeepCopyInto ¶ added in v0.0.2
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PrefixKind ¶
type PrefixKind string
const ( PrefixKindNetwork PrefixKind = "network" PrefixKindLoopback PrefixKind = "loopback" PrefixKindPool PrefixKind = "pool" PrefixKindAggregate PrefixKind = "aggregate" )