v1alpha1

package
v0.0.5 Latest Latest
Warning

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

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

Documentation

Overview

Package v1alpha1 is the v1alpha1 version of the API.

Index

Constants

View Source
const (
	Group   = "ipam.be.kuid.dev"
	Version = "v1alpha1"
)

Variables

View Source
var (
	IPClaimKind     = reflect.TypeOf(IPClaim{}).Name()
	IPClaimListKind = reflect.TypeOf(IPClaimList{}).Name()
)
View Source
var (
	IPEntryKind     = reflect.TypeOf(IPEntry{}).Name()
	IPEntryListKind = reflect.TypeOf(IPEntryList{}).Name()
)
View Source
var (
	IPIndexKind     = reflect.TypeOf(IPIndex{}).Name()
	IPIndexListKind = reflect.TypeOf(IPIndexList{}).Name()
)
View Source
var (
	// SchemeGroupVersion contains the API group and version information for the types in this package.
	SchemeGroupVersion = schema.GroupVersion{Group: Group, Version: Version}
	// AddToScheme applies all the stored functions to the scheme. A non-nil error
	// indicates that one function failed and the attempt was abandoned.
	//AddToScheme = (&runtime.SchemeBuilder{}).AddToScheme
	AddToScheme = localSchemeBuilder.AddToScheme
)

Functions

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type IPClaim

type IPClaim struct {
	metav1.TypeMeta   `json:",inline" yaml:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty" yaml:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`

	Spec   IPClaimSpec   `json:"spec,omitempty" yaml:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
	Status IPClaimStatus `json:"status,omitempty" yaml:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
}

IPClaim is the Schema for the ipclaim API

func BuildIPClaim

func BuildIPClaim(meta metav1.ObjectMeta, spec *IPClaimSpec, status *IPClaimStatus) *IPClaim

BuildIPClaim returns a reource from a client Object a Spec/Status

func (*IPClaim) DeepCopy

func (in *IPClaim) DeepCopy() *IPClaim

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

func (*IPClaim) DeepCopyInto

func (in *IPClaim) DeepCopyInto(out *IPClaim)

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

func (*IPClaim) DeepCopyObject

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

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

func (*IPClaim) GetClaimLabels

func (r *IPClaim) GetClaimLabels() labels.Set

func (*IPClaim) GetCondition

GetCondition returns the condition based on the condition kind

func (*IPClaim) GetDefaultGatewayLabelSelector

func (r *IPClaim) GetDefaultGatewayLabelSelector(subnetString string) (labels.Selector, error)

GetGatewayLabelSelector returns a label selector to select the gateway of the claim in the backend

func (*IPClaim) GetIPClaimSummaryType

func (r *IPClaim) GetIPClaimSummaryType() IPClaimSummaryType

func (*IPClaim) GetIPClaimType

func (r *IPClaim) GetIPClaimType() (IPClaimType, error)

func (*IPClaim) GetIPPrefixType

func (r *IPClaim) GetIPPrefixType() IPPrefixType

func (*IPClaim) GetIndex

func (r *IPClaim) GetIndex() string

func (*IPClaim) GetKey

func (r *IPClaim) GetKey() store.Key

func (*IPClaim) GetLabelSelector

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

func (*IPClaim) GetNamespacedName

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

func (*IPClaim) GetOwnerSelector

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

GetOwnerSelector selects the route based on the name of the claim

func (*IPClaim) GetSelector

func (r *IPClaim) GetSelector() *metav1.LabelSelector

func (*IPClaim) GetStatus

func (r *IPClaim) GetStatus() (map[string]any, error)

func (*IPClaim) IsOwnedByIPIndex

func (r *IPClaim) IsOwnedByIPIndex() bool

IsOwnedByIPIndex returns true if the owner is the IPIndex this indicates it is an aggregate route which can only come from IPindices

func (*IPClaim) SetConditions

func (r *IPClaim) SetConditions(c ...condv1alpha1.Condition)

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

func (*IPClaim) ValidateOwner

func (r *IPClaim) ValidateOwner(labels labels.Set) error

func (*IPClaim) ValidateSyntax

func (r *IPClaim) ValidateSyntax(s string) field.ErrorList

type IPClaimList

type IPClaimList struct {
	metav1.TypeMeta `json:",inline" yaml:",inline"`
	metav1.ListMeta `json:"metadata,omitempty" yaml:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
	Items           []IPClaim `json:"items" yaml:"items" protobuf:"bytes,2,rep,name=items"`
}

IPClaimList contains a list of IPClaims +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*IPClaimList) DeepCopy

func (in *IPClaimList) DeepCopy() *IPClaimList

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

func (*IPClaimList) DeepCopyInto

func (in *IPClaimList) DeepCopyInto(out *IPClaimList)

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

func (*IPClaimList) DeepCopyObject

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

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

type IPClaimSpec

type IPClaimSpec struct {
	// Index defines the index for the IP Entry
	Index string `json:"index" yaml:"index" protobuf:"bytes,1,opt,name=index"`
	// PrefixType defines the prefixtype of IPEntry; for address and range claims this is not relevant
	// - network kind is used for physical, virtual nics on a device
	// - pool kind is used for allocating dedicated IP addresses
	// - aggregate kind is used for claiming an aggregate prefix; only used for networkInstance prefixes
	// +kubebuilder:validation:Enum=`network`;`aggregate`;`pool`;
	// +optional
	PrefixType *IPPrefixType `json:"prefixType,omitempty" yaml:"prefixType,omitempty" protobuf:"bytes,2,opt,name=prefixType"`
	// Prefix defines the prefix for the IP claim
	// +optional
	Prefix *string `json:"prefix,omitempty" yaml:"prefix,omitempty" protobuf:"bytes,3,opt,name=prefix"`
	// Address defines the address for the IP claim
	// +optional
	Address *string `json:"address,omitempty" yaml:"address,omitempty" protobuf:"bytes,4,opt,name=address"`
	// Range defines the range for the IP claim
	// +optional
	Range *string `json:"range,omitempty" yaml:"range,omitempty" protobuf:"bytes,5,opt,name=range"`
	// DefaultGateway defines if the address acts as a default gateway
	// +optional
	DefaultGateway *bool `json:"defaultGateway,omitempty" yaml:"defaultGateway,omitempty" protobuf:"varint,6,opt,name=defaultGateway"`
	// CreatePrefix defines if this prefix must be created. Only used for dynamic prefixes
	// e.g. non /32 ipv4 and non /128 ipv6 prefixes
	// +optional
	CreatePrefix *bool `json:"createPrefix,omitempty" yaml:"createPrefix,omitempty" protobuf:"varint,7,opt,name=createPrefix"`
	// PrefixLength defines the prefix length for the IP Claim, Must be set when CreatePrefic is set
	// If not present we use assume /32 for ipv4 and /128 for ipv6
	// +optional
	PrefixLength *uint32 `json:"prefixLength,omitempty" yaml:"prefixLength,omitempty" protobuf:"varint,8,opt,name=prefixLength"`
	// AddressFamily defines the address family for the IP claim
	// +kubebuilder:validation:Enum=`ipv4`;`ipv6`
	// +kubebuilder:validation:Optional
	// +optional
	AddressFamily *iputil.AddressFamily `json:"addressFamily,omitempty" yaml:"addressFamily,omitempty" protobuf:"bytes,9,opt,name=addressFamily"`
	// Index defines the index of the IP Claim, used to get a deterministic IP from a prefix
	// If not present we claim a random prefix from a prefix
	// +kubebuilder:validation:Optional
	// +optional
	Idx *uint32 `json:"idx,omitempty" yaml:"idx,omitempty" protobuf:"varint,10,opt,name=idx"`
	// ClaimLabels define the user defined labels and selector labels used
	// in resource claim
	commonv1alpha1.ClaimLabels `json:",inline" yaml:",inline" protobuf:"bytes,11,opt,name=claimLabels"`
}

IPClaimSpec defines the desired state of IPClaim

func (*IPClaimSpec) DeepCopy

func (in *IPClaimSpec) DeepCopy() *IPClaimSpec

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

func (*IPClaimSpec) DeepCopyInto

func (in *IPClaimSpec) DeepCopyInto(out *IPClaimSpec)

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

type IPClaimStatus

type IPClaimStatus struct {
	// ConditionedStatus provides the status of the IPClain using conditions
	// - a ready condition indicates the overall status of the resource
	condv1alpha1.ConditionedStatus `json:",inline" yaml:",inline" protobuf:"bytes,1,opt,name=conditionedStatus"`
	// Range defines the range, claimed through the IPAM backend
	// +optional
	Range *string `json:"range,omitempty" yaml:"range,omitempty" protobuf:"bytes,2,opt,name=range"`
	// Address defines the address, claimed through the IPAM backend
	// +optional
	Address *string `json:"address,omitempty" yaml:"address,omitempty" protobuf:"bytes,3,opt,name=address"`
	// Prefix defines the prefix, claimed through the IPAM backend
	// +optional
	Prefix *string `json:"prefix,omitempty" yaml:"prefix,omitempty" protobuf:"bytes,4,opt,name=prefix"`
	// DefaultGateway defines the default gateway IP for the claimed prefix
	// DefaultGateway is only relevant for prefix kind = network
	// +optional
	DefaultGateway *string `json:"defaultGateway,omitempty" yaml:"defaultGateway,omitempty" protobuf:"bytes,5,opt,name=defaultGateway"`
	// ExpiryTime defines when the claim expires
	// +kubebuilder:validation:Optional
	// +optional
	ExpiryTime *string `json:"expiryTime,omitempty" yaml:"expiryTime,omitempty" protobuf:"bytes,6,opt,name=expiryTime"`
}

IPClaimStatus defines the observed state of IPClaim

func (*IPClaimStatus) DeepCopy

func (in *IPClaimStatus) DeepCopy() *IPClaimStatus

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

func (*IPClaimStatus) DeepCopyInto

func (in *IPClaimStatus) DeepCopyInto(out *IPClaimStatus)

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

type IPClaimSummaryType

type IPClaimSummaryType string
const (
	IPClaimSummaryType_Prefix  IPClaimSummaryType = "prefix"
	IPClaimSummaryType_Address IPClaimSummaryType = "address"
	IPClaimSummaryType_Range   IPClaimSummaryType = "range"
	IPClaimSummaryType_Invalid IPClaimSummaryType = "invalid"
)

func GetIPClaimSummaryTypeFromString

func GetIPClaimSummaryTypeFromString(s string) IPClaimSummaryType

type IPClaimType

type IPClaimType string
const (
	IPClaimType_Invalid        IPClaimType = "invalid"
	IPClaimType_StaticAddress  IPClaimType = "staticAddress"
	IPClaimType_StaticPrefix   IPClaimType = "staticPrefix"
	IPClaimType_StaticRange    IPClaimType = "staticRange"
	IPClaimType_DynamicAddress IPClaimType = "dynamicAddress"
	IPClaimType_DynamicPrefix  IPClaimType = "dynamicPrefix"
)

func GetIPClaimTypeFromString

func GetIPClaimTypeFromString(s string) IPClaimType

type IPEntry

type IPEntry struct {
	metav1.TypeMeta   `json:",inline" yaml:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty" yaml:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`

	Spec   IPEntrySpec   `json:"spec,omitempty" yaml:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
	Status IPEntryStatus `json:"status,omitempty" yaml:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
}

IPEntry is the Schema for the ipentry API

func BuildIPEntry

func BuildIPEntry(meta metav1.ObjectMeta, spec *IPEntrySpec, status *IPEntryStatus) *IPEntry

BuildIPEntry returns a reource from a client Object a Spec/Status

func GetIPEntry

func GetIPEntry(ctx context.Context, k store.Key, prefix netip.Prefix, labels map[string]string) *IPEntry

func (*IPEntry) DeepCopy

func (in *IPEntry) DeepCopy() *IPEntry

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

func (*IPEntry) DeepCopyInto

func (in *IPEntry) DeepCopyInto(out *IPEntry)

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

func (*IPEntry) DeepCopyObject

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

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

func (*IPEntry) GetCondition

GetCondition returns the condition based on the condition kind

func (*IPEntry) GetNamespacedName

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

func (*IPEntry) SetConditions

func (r *IPEntry) SetConditions(c ...condv1alpha1.Condition)

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

type IPEntryList

type IPEntryList struct {
	metav1.TypeMeta `json:",inline" yaml:",inline"`
	metav1.ListMeta `json:"metadata,omitempty" yaml:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
	Items           []IPEntry `json:"items" yaml:"items" protobuf:"bytes,2,rep,name=items"`
}

IPEntryList contains a list of IPEntries +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*IPEntryList) DeepCopy

func (in *IPEntryList) DeepCopy() *IPEntryList

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

func (*IPEntryList) DeepCopyInto

func (in *IPEntryList) DeepCopyInto(out *IPEntryList)

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

func (*IPEntryList) DeepCopyObject

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

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

type IPEntrySpec

type IPEntrySpec struct {
	// Index defines the index for the IP Entry
	Index string `json:"index" yaml:"index" protobuf:"bytes,1,opt,name=index"`
	// PrefixType defines the prefixtype of IPEntry; for address and range claims this is not relevant
	// - network kind is used for physical, virtual nics on a device
	// - pool kind is used for allocating dedicated IP addresses
	// - aggregate kind is used for claiming an aggregate prefix; only used for networkInstance prefixes
	// +kubebuilder:validation:Enum=`network`;`aggregate`;`pool`;
	// +optional
	PrefixType *IPPrefixType `json:"prefixType,omitempty" yaml:"prefixType,omitempty" protobuf:"bytes,2,opt,name=prefixType"`
	// ClaimType defines the claimType of the IP Entry
	// +kubebuilder:validation:Enum=`staticAddress`;`staticPrefix`;`staticRange`;`dynamicPrefix`;`dynamicAddress`;
	ClaimType IPClaimType `json:"claimType,omitempty" yaml:"claimType,omitempty" protobuf:"bytes,3,opt,name=claimType"`
	// Prefix defines the prefix for the IP entry; which can be an expanded prefix from the prefix, range or address
	Prefix string `json:"prefix" yaml:"prefix" protobuf:"bytes,4,opt,name=prefix"`
	// DefaultGateway defines if the address acts as a default gateway
	// +optional
	DefaultGateway *bool `json:"defaultGateway,omitempty" yaml:"defaultGateway,omitempty" protobuf:"varint,5,opt,name=defaultGateway"`
	// AddressFamily defines the address family for the IP claim
	// +kubebuilder:validation:Enum=`ipv4`;`ipv6`
	// +kubebuilder:validation:Optional
	// +optional
	AddressFamily *iputil.AddressFamily `json:"addressFamily,omitempty" yaml:"addressFamily,omitempty" protobuf:"bytes,6,opt,name=addressFamily"`
	// UserDefinedLabels define the user defined labels
	commonv1alpha1.UserDefinedLabels `json:",inline" yaml:",inline" protobuf:"bytes,7,opt,name=userDefinedLabels"`
}

IPEntrySpec defines the desired state of IPEntry

func (*IPEntrySpec) DeepCopy

func (in *IPEntrySpec) DeepCopy() *IPEntrySpec

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

func (*IPEntrySpec) DeepCopyInto

func (in *IPEntrySpec) DeepCopyInto(out *IPEntrySpec)

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

type IPEntryStatus

type IPEntryStatus struct {
	// ConditionedStatus provides the status of the IPClain using conditions
	// - a ready condition indicates the overall status of the resource
	condv1alpha1.ConditionedStatus `json:",inline" yaml:",inline" protobuf:"bytes,1,opt,name=conditionedStatus"`
}

IPEntryStatus defines the observed state of IPEntry

func (*IPEntryStatus) DeepCopy

func (in *IPEntryStatus) DeepCopy() *IPEntryStatus

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

func (*IPEntryStatus) DeepCopyInto

func (in *IPEntryStatus) DeepCopyInto(out *IPEntryStatus)

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

type IPIndex

type IPIndex struct {
	metav1.TypeMeta   `json:",inline" yaml:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty" yaml:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`

	Spec   IPIndexSpec   `json:"spec,omitempty" yaml:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
	Status IPIndexStatus `json:"status,omitempty" yaml:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
}

IPIndex is the Schema for the IPIndex API

func (*IPIndex) DeepCopy

func (in *IPIndex) DeepCopy() *IPIndex

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

func (*IPIndex) DeepCopyInto

func (in *IPIndex) DeepCopyInto(out *IPIndex)

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

func (*IPIndex) DeepCopyObject

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

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

func (*IPIndex) GetClaim

func (r *IPIndex) GetClaim(prefix Prefix) (*IPClaim, error)

func (*IPIndex) GetCondition

GetCondition returns the condition based on the condition kind

func (*IPIndex) GetKey

func (r *IPIndex) GetKey() store.Key

func (*IPIndex) GetMax

func (r *IPIndex) GetMax() uint64

func (*IPIndex) GetMaxClaim

func (r *IPIndex) GetMaxClaim() backend.ClaimObject

GetMaxClaim satisfies the interface but should not be used

func (*IPIndex) GetMaxID

func (r *IPIndex) GetMaxID() *uint64

GetMaxID satisfies the interface but should not be used

func (*IPIndex) GetMinClaim

func (r *IPIndex) GetMinClaim() backend.ClaimObject

GetMinClaim satisfies the interface but should not be used

func (*IPIndex) GetMinID

func (r *IPIndex) GetMinID() *uint64

GetMinID satisfies the interface but should not be used

func (*IPIndex) GetNamespacedName

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

func (*IPIndex) GetStatus

func (r *IPIndex) GetStatus() (map[string]any, error)

func (*IPIndex) GetTree

func (r *IPIndex) GetTree() gtree.GTree

GetTree satisfies the interface but should not be used

func (*IPIndex) GetType

func (r *IPIndex) GetType() string

func (*IPIndex) SetConditions

func (r *IPIndex) SetConditions(c ...condv1alpha1.Condition)

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

func (*IPIndex) ValidateSyntax

func (r *IPIndex) ValidateSyntax(s string) field.ErrorList

type IPIndexList

type IPIndexList struct {
	metav1.TypeMeta `json:",inline" yaml:",inline"`
	metav1.ListMeta `json:"metadata,omitempty" yaml:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
	Items           []IPIndex `json:"items" yaml:"items" protobuf:"bytes,2,rep,name=items"`
}

IPIndexList contains a list of IPIndexs +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*IPIndexList) DeepCopy

func (in *IPIndexList) DeepCopy() *IPIndexList

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

func (*IPIndexList) DeepCopyInto

func (in *IPIndexList) DeepCopyInto(out *IPIndexList)

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

func (*IPIndexList) DeepCopyObject

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

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

type IPIndexSpec

type IPIndexSpec struct {
	// Prefixes define the aggregate prefixes for the network instance
	// A Network instance needs at least 1 prefix to be defined to become operational
	Prefixes []Prefix `json:"prefixes" yaml:"prefixes" protobuf:"bytes,1,opt,name=prefixes"`
}

IPIndexSpec defines the desired state of IPIndex

func (*IPIndexSpec) DeepCopy

func (in *IPIndexSpec) DeepCopy() *IPIndexSpec

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

func (*IPIndexSpec) DeepCopyInto

func (in *IPIndexSpec) DeepCopyInto(out *IPIndexSpec)

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

type IPIndexStatus

type IPIndexStatus struct {
	// ConditionedStatus provides the status of the IPClain using conditions
	// - a ready condition indicates the overall status of the resource
	condv1alpha1.ConditionedStatus `json:",inline" yaml:",inline" protobuf:"bytes,1,opt,name=conditionedStatus"`
	// Prefixes defines the prefixes, claimed through the IPAM backend
	Prefixes []Prefix `json:"prefixes,omitempty" yaml:"prefixes,omitempty" protobuf:"bytes,2,rep,name=prefixes"`
}

IPIndexStatus defines the observed state of IPIndex

func (*IPIndexStatus) DeepCopy

func (in *IPIndexStatus) DeepCopy() *IPIndexStatus

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

func (*IPIndexStatus) DeepCopyInto

func (in *IPIndexStatus) DeepCopyInto(out *IPIndexStatus)

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

type IPPrefixType

type IPPrefixType string
const (
	IPPrefixType_Invalid   IPPrefixType = "invalid"
	IPPrefixType_Other     IPPrefixType = "other"
	IPPrefixType_Pool      IPPrefixType = "pool"
	IPPrefixType_Network   IPPrefixType = "network"
	IPPrefixType_Aggregate IPPrefixType = "aggregate"
)

func GetIPPrefixTypeFromString

func GetIPPrefixTypeFromString(s string) *IPPrefixType

type Prefix

type Prefix struct {
	// Prefix defines the ip cidr in prefix notation.
	// +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" protobuf:"bytes,1,opt,name=prefix"`
	// UserDefinedLabels define metadata to the resource.
	// defined in the spec to distingiush metadata labels from user defined labels
	resourcev1alpha1.UserDefinedLabels `json:",inline" yaml:",inline" protobuf:"bytes,2,opt,name=userDefinedLabels"`
}

func (*Prefix) DeepCopy

func (in *Prefix) DeepCopy() *Prefix

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

func (*Prefix) DeepCopyInto

func (in *Prefix) DeepCopyInto(out *Prefix)

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

type SyntaxValidator

type SyntaxValidator interface {
	Validate(claim *IPClaim) field.ErrorList
}

+kubebuilder:object:generate=false

Jump to

Keyboard shortcuts

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