Documentation
¶
Overview ¶
Package v1alpha1 is the v1alpha1 version of the API.
Index ¶
- Constants
- Variables
- func Resource(resource string) schema.GroupResource
- type IPClaim
- func (in *IPClaim) DeepCopy() *IPClaim
- func (in *IPClaim) DeepCopyInto(out *IPClaim)
- func (in *IPClaim) DeepCopyObject() runtime.Object
- func (r *IPClaim) GetClaimLabels() labels.Set
- func (r *IPClaim) GetCondition(t condv1alpha1.ConditionType) condv1alpha1.Condition
- func (r *IPClaim) GetDefaultGatewayLabelSelector(subnetString string) (labels.Selector, error)
- func (r *IPClaim) GetIPClaimSummaryType() IPClaimSummaryType
- func (r *IPClaim) GetIPClaimType() (IPClaimType, error)
- func (r *IPClaim) GetIPPrefixType() IPPrefixType
- func (r *IPClaim) GetIndex() string
- func (r *IPClaim) GetKey() store.Key
- func (r *IPClaim) GetLabelSelector() (labels.Selector, error)
- func (r *IPClaim) GetNamespacedName() types.NamespacedName
- func (r *IPClaim) GetOwnerSelector() (labels.Selector, error)
- func (r *IPClaim) GetSelector() *metav1.LabelSelector
- func (r *IPClaim) GetStatus() (map[string]any, error)
- func (r *IPClaim) IsOwnedByIPIndex() bool
- func (r *IPClaim) SetConditions(c ...condv1alpha1.Condition)
- func (r *IPClaim) ValidateOwner(labels labels.Set) error
- func (r *IPClaim) ValidateSyntax(s string) field.ErrorList
- type IPClaimList
- type IPClaimSpec
- type IPClaimStatus
- type IPClaimSummaryType
- type IPClaimType
- type IPEntry
- func (in *IPEntry) DeepCopy() *IPEntry
- func (in *IPEntry) DeepCopyInto(out *IPEntry)
- func (in *IPEntry) DeepCopyObject() runtime.Object
- func (r *IPEntry) GetCondition(t condv1alpha1.ConditionType) condv1alpha1.Condition
- func (r *IPEntry) GetNamespacedName() types.NamespacedName
- func (r *IPEntry) SetConditions(c ...condv1alpha1.Condition)
- type IPEntryList
- type IPEntrySpec
- type IPEntryStatus
- type IPIndex
- func (in *IPIndex) DeepCopy() *IPIndex
- func (in *IPIndex) DeepCopyInto(out *IPIndex)
- func (in *IPIndex) DeepCopyObject() runtime.Object
- func (r *IPIndex) GetClaim(prefix Prefix) (*IPClaim, error)
- func (r *IPIndex) GetClaims() ([]*IPClaim, error)
- func (r *IPIndex) GetCondition(t condv1alpha1.ConditionType) condv1alpha1.Condition
- func (r *IPIndex) GetKey() store.Key
- func (r *IPIndex) GetMax() uint64
- func (r *IPIndex) GetMaxClaim() backend.ClaimObject
- func (r *IPIndex) GetMaxID() *uint64
- func (r *IPIndex) GetMinClaim() backend.ClaimObject
- func (r *IPIndex) GetMinID() *uint64
- func (r *IPIndex) GetNamespacedName() types.NamespacedName
- func (r *IPIndex) GetStatus() (map[string]any, error)
- func (r *IPIndex) GetTree() gtree.GTree
- func (r *IPIndex) GetType() string
- func (r *IPIndex) SetConditions(c ...condv1alpha1.Condition)
- func (r *IPIndex) ValidateSyntax(s string) field.ErrorList
- type IPIndexList
- type IPIndexSpec
- type IPIndexStatus
- type IPPrefixType
- type Prefix
- type SyntaxValidator
Constants ¶
const ( Group = "ipam.be.kuid.dev" Version = "v1alpha1" )
Variables ¶
var ( IPClaimKind = reflect.TypeOf(IPClaim{}).Name() IPClaimListKind = reflect.TypeOf(IPClaimList{}).Name() )
var ( IPEntryKind = reflect.TypeOf(IPEntry{}).Name() IPEntryListKind = reflect.TypeOf(IPEntryList{}).Name() )
var ( IPIndexKind = reflect.TypeOf(IPIndex{}).Name() IPIndexListKind = reflect.TypeOf(IPIndexList{}).Name() )
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPClaim.
func (*IPClaim) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IPClaim) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*IPClaim) GetClaimLabels ¶
func (*IPClaim) GetCondition ¶
func (r *IPClaim) GetCondition(t condv1alpha1.ConditionType) condv1alpha1.Condition
GetCondition returns the condition based on the condition kind
func (*IPClaim) GetDefaultGatewayLabelSelector ¶
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) GetNamespacedName ¶
func (r *IPClaim) GetNamespacedName() types.NamespacedName
func (*IPClaim) GetOwnerSelector ¶
GetOwnerSelector selects the route based on the name of the claim
func (*IPClaim) GetSelector ¶
func (r *IPClaim) GetSelector() *metav1.LabelSelector
func (*IPClaim) IsOwnedByIPIndex ¶
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
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 (*IPEntry) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPEntry.
func (*IPEntry) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IPEntry) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*IPEntry) GetCondition ¶
func (r *IPEntry) GetCondition(t condv1alpha1.ConditionType) condv1alpha1.Condition
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPIndex.
func (*IPIndex) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IPIndex) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*IPIndex) GetCondition ¶
func (r *IPIndex) GetCondition(t condv1alpha1.ConditionType) condv1alpha1.Condition
GetCondition returns the condition based on the condition kind
func (*IPIndex) GetMaxClaim ¶
func (r *IPIndex) GetMaxClaim() backend.ClaimObject
GetMaxClaim 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) GetNamespacedName ¶
func (r *IPIndex) GetNamespacedName() types.NamespacedName
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
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"` // PrefixType defines the prefixtype of IPIndex; // - 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; // +kubebuilder:default:=aggregate // +optional PrefixType *IPPrefixType `json:"prefixType,omitempty" yaml:"prefixType,omitempty" protobuf:"bytes,2,opt,name=prefixType"` // 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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Prefix.
func (*Prefix) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SyntaxValidator ¶
+kubebuilder:object:generate=false
Source Files
¶
- doc.go
- ipam_types.go
- ipclaim_helper.go
- ipclaim_object.go
- ipclaim_syntaxvalidator.go
- ipclaim_syntaxvalidator_dynamic_address.go
- ipclaim_syntaxvalidator_dynamic_prefix.go
- ipclaim_syntaxvalidator_static_address.go
- ipclaim_syntaxvalidator_static_prefix.go
- ipclaim_syntaxvalidator_static_range.go
- ipclaim_types.go
- ipentry_helper.go
- ipentry_object.go
- ipentry_types.go
- ipindex_object.go
- ipindex_types.go
- register.go
- zz_generated.deepcopy.go