Documentation ¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the ipam v1alpha1 API group +kubebuilder:object:generate=true +groupName=req.nephio.org
Index ¶
- Constants
- Variables
- func IsAttachmentTypeSupported(s string) bool
- func IsCNITypeSupported(s string) bool
- func IsIPFamilyPolicySupported(s string) bool
- func IsIPFamilySupported(s string) bool
- type AttachmentType
- type CNIType
- type Capacity
- type CapacitySpec
- type CapacityStatus
- type DataNetwork
- type DataNetworkSpec
- type DataNetworkStatus
- type Dependency
- type DependencySpec
- type DependencyStatus
- type IPFamily
- type Interface
- type InterfaceSpec
- type InterfaceStatus
- type IpFamilyPolicy
- type NetworkInstance
- type NetworkInstanceList
- type NetworkInstanceSpec
- type NetworkInstanceStatus
- type Pool
- type PoolStatus
Constants ¶
const ( // Group in the kubernetes api Group = "req.nephio.org" // Version in the kubernetes api Version = "v1alpha1" )
Variables ¶
var ( CapacityKind = reflect.TypeOf(Capacity{}).Name() CapacityGroupKind = schema.GroupKind{Group: Group, Kind: CapacityKind}.String() CapacityKindAPIVersion = CapacityKind + "." + GroupVersion.String() CapacityGroupVersionKind = GroupVersion.WithKind(CapacityKind) )
Capacity type metadata.
var ( DependencyKind = reflect.TypeOf(Dependency{}).Name() DependencyGroupKind = schema.GroupKind{Group: Group, Kind: DependencyKind}.String() DependencyKindAPIVersion = DependencyKind + "." + GroupVersion.String() DependencyGroupVersionKind = GroupVersion.WithKind(DependencyKind) )
Dependency type metadata.
var ( DataNetworkKind = reflect.TypeOf(DataNetwork{}).Name() DataNetworkGroupKind = schema.GroupKind{Group: Group, Kind: DataNetworkKind}.String() DataNetworkKindAPIVersion = DataNetworkKind + "." + GroupVersion.String() DataNetworkGroupVersionKind = GroupVersion.WithKind(DataNetworkKind) )
DataNetworkName type metadata.
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: Group, Version: Version} // 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 ( InterfaceKind = reflect.TypeOf(Interface{}).Name() InterfaceGroupKind = schema.GroupKind{Group: Group, Kind: InterfaceKind}.String() InterfaceKindAPIVersion = InterfaceKind + "." + GroupVersion.String() InterfaceGroupVersionKind = GroupVersion.WithKind(InterfaceKind) )
Interface type metadata.
Functions ¶
func IsCNITypeSupported ¶
func IsIPFamilySupported ¶
Types ¶
type AttachmentType ¶
type AttachmentType string
const AttachmentTypeNone AttachmentType = "none"
AttachmentTypeNone defines an untagged attachement (no VLAN)
const AttachmentTypeVLAN AttachmentType = "vlan"
AttachmentTypeVLAN defines a tagged/vlan attachement
type CNIType ¶
type CNIType string
const CNITypeIPVLAN CNIType = "ipvlan"
CNITypeIPVLAN defines the ipvlan cni
const CNITypeMACVLAN CNIType = "macvlan"
CNITypeMACVLAN defines the macvlan cni
const CNITypeSRIOV CNIType = "sriov"
CNITypeSRIOV defines the sriov cni
type Capacity ¶
type Capacity struct { metav1.TypeMeta `json:",inline" yaml:",inline"` metav1.ObjectMeta `json:"metadata,omitempty" yaml:"metadata,omitempty"` Spec CapacitySpec `json:"spec,omitempty" yaml:"spec,omitempty"` Status CapacityStatus `json:"status,omitempty" yaml:"status,omitempty"` }
+kubebuilder:object:root=true
func (*Capacity) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Capacity.
func (*Capacity) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Capacity) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CapacitySpec ¶
type CapacitySpec struct { // MaxUplinkThroughput defines the max uplink dataplane throughput MaxUplinkThroughput resource.Quantity `json:"maxUplinkThroughput,omitempty" yaml:"maxUplinkThroughput,omitempty"` // MaxDownlinkThroughput defines the max downlink dataplane throughput MaxDownlinkThroughput resource.Quantity `json:"maxDownlinkThroughput,omitempty" yaml:"maxDownlinkThroughput,omitempty"` // MaxSessions defines the max sessions of the control plane // expressed in unit of 1000s MaxSessions int `json:"maxSessions,omitempty" yaml:"maxSessions,omitempty"` // MaxSubscribers defines the max subscribers // expressed in unit of 1000s MaxSubscribers int `json:"maxSubscribers,omitempty" yaml:"maxSubscribers,omitempty"` // MaxNFConnections defines the max NF(s) that can be connected to this NF/device MaxNFConnections uint16 `json:"maxNFConnections,omitempty" yaml:"maxNFConnections,omitempty"` }
func (*CapacitySpec) DeepCopy ¶
func (in *CapacitySpec) DeepCopy() *CapacitySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CapacitySpec.
func (*CapacitySpec) DeepCopyInto ¶
func (in *CapacitySpec) DeepCopyInto(out *CapacitySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CapacityStatus ¶
type CapacityStatus struct { }
func (*CapacityStatus) DeepCopy ¶
func (in *CapacityStatus) DeepCopy() *CapacityStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CapacityStatus.
func (*CapacityStatus) DeepCopyInto ¶
func (in *CapacityStatus) DeepCopyInto(out *CapacityStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DataNetwork ¶
type DataNetwork struct { metav1.TypeMeta `json:",inline" yaml:",inline"` metav1.ObjectMeta `json:"metadata,omitempty" yaml:"metadata,omitempty"` Spec DataNetworkSpec `json:"spec,omitempty" yaml:"spec,omitempty"` Status DataNetworkStatus `json:"status,omitempty" yaml:"status,omitempty"` }
+kubebuilder:object:root=true
func (*DataNetwork) DeepCopy ¶
func (in *DataNetwork) DeepCopy() *DataNetwork
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataNetwork.
func (*DataNetwork) DeepCopyInto ¶
func (in *DataNetwork) DeepCopyInto(out *DataNetwork)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DataNetwork) DeepCopyObject ¶
func (in *DataNetwork) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DataNetworkSpec ¶
type DataNetworkSpec struct { // Pools defines the parameters of the IP pool associated with the DNN Pools []*Pool `json:"pools,omitempty"` // NetworkInstance defines the networkInstance context to which this DNN belongs // Name and optionally Namespace is used here NetworkInstance corev1.ObjectReference `json:"networkInstance" yaml:"networkInstance"` }
func (*DataNetworkSpec) DeepCopy ¶
func (in *DataNetworkSpec) DeepCopy() *DataNetworkSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataNetworkSpec.
func (*DataNetworkSpec) DeepCopyInto ¶
func (in *DataNetworkSpec) DeepCopyInto(out *DataNetworkSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DataNetworkStatus ¶
type DataNetworkStatus struct { // Pools contains the statuses of individual pools Pools []PoolStatus `yaml:"pools,omitempty" json:"pools,omitempty"` }
func (*DataNetworkStatus) DeepCopy ¶
func (in *DataNetworkStatus) DeepCopy() *DataNetworkStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataNetworkStatus.
func (*DataNetworkStatus) DeepCopyInto ¶
func (in *DataNetworkStatus) DeepCopyInto(out *DataNetworkStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Dependency ¶
type Dependency struct { metav1.TypeMeta `json:",inline" yaml:",inline"` metav1.ObjectMeta `json:"metadata,omitempty" yaml:"metadata,omitempty"` Spec DependencySpec `json:"spec,omitempty" yaml:"spec,omitempty"` Status DependencyStatus `json:"status,omitempty" yaml:"status,omitempty"` }
+kubebuilder:object:root=true
func (*Dependency) DeepCopy ¶
func (in *Dependency) DeepCopy() *Dependency
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Dependency.
func (*Dependency) DeepCopyInto ¶
func (in *Dependency) DeepCopyInto(out *Dependency)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Dependency) DeepCopyObject ¶
func (in *Dependency) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DependencySpec ¶
type DependencySpec struct { // PackageName defines the name of the packages this dependency is dependent upon PackageName string `json:"packageName" yaml:"packageName"` // Injectors define the object references the dependency wants to inject // relevant objects are APIVersion and Kind Injectors []corev1.ObjectReference `json:"injectors,omitempty" yaml:"injectors,omitempty"` }
func (*DependencySpec) DeepCopy ¶
func (in *DependencySpec) DeepCopy() *DependencySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DependencySpec.
func (*DependencySpec) DeepCopyInto ¶
func (in *DependencySpec) DeepCopyInto(out *DependencySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DependencyStatus ¶
type DependencyStatus struct {
Injected []corev1.ObjectReference `json:"injected,omitempty" yaml:"injected,omitempty"`
}
func (*DependencyStatus) DeepCopy ¶
func (in *DependencyStatus) DeepCopy() *DependencyStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DependencyStatus.
func (*DependencyStatus) DeepCopyInto ¶
func (in *DependencyStatus) DeepCopyInto(out *DependencyStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IPFamily ¶
type IPFamily string
const IPFamilyIPv4 IPFamily = "ipv4"
IPFamilyIPv6 defines ipv4 ip address family
const IPFamilyIPv6 IPFamily = "ipv6"
IPFamilyIPv6 defines ipv6 ip address family
type Interface ¶
type Interface struct { metav1.TypeMeta `json:",inline" yaml:",inline"` metav1.ObjectMeta `json:"metadata,omitempty" yaml:"metadata,omitempty"` Spec InterfaceSpec `json:"spec,omitempty" yaml:"spec,omitempty"` Status InterfaceStatus `json:"status,omitempty" yaml:"status,omitempty"` }
+kubebuilder:object:root=true
func (*Interface) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Interface.
func (*Interface) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Interface) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type InterfaceSpec ¶
type InterfaceSpec struct { // NetworkInstance defines the networkInstance to which this interface belongs // Name and optionally Namespace is used here NetworkInstance *corev1.ObjectReference `json:"networkInstance" yaml:"networkInstance"` // CNIType defines the cniType that is used to attach the interface to the pod // +kubebuilder:validation:Enum=sriov;ipvlan;macvlan CNIType CNIType `json:"cniType,omitempty" yaml:"cniType,omitempty"` // AttachmentType defines if the interface is attached using a vlan or not // +kubebuilder:validation:Enum=none;vlan AttachmentType AttachmentType `json:"attachmentType,omitempty" yaml:"attachmentType,omitempty"` // IpFamilyPolicy defines the ip family policy on this interface to determine single stack, dual stack // +kubebuilder:validation:Enum=none;ipv6-only;ipv4-only;dual-stack IpFamilyPolicy IpFamilyPolicy `json:"ipFamilyPolicy,omitempty" yaml:"ipFamilyPolicy,omitempty"` }
TBD how do we distinguish the loopback from the vnic(s)
func (*InterfaceSpec) DeepCopy ¶
func (in *InterfaceSpec) DeepCopy() *InterfaceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InterfaceSpec.
func (*InterfaceSpec) DeepCopyInto ¶
func (in *InterfaceSpec) DeepCopyInto(out *InterfaceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*InterfaceSpec) GetAddressFamilies ¶
func (r *InterfaceSpec) GetAddressFamilies() []IPFamily
func (*InterfaceSpec) Validate ¶
func (spec *InterfaceSpec) Validate() error
type InterfaceStatus ¶
type InterfaceStatus struct { IPClaimStatus []ipamv1alpha1.IPClaimStatus `json:"ipClaimStatus,omitempty" yaml:"ipClaimStatus,omitempty"` VLANClaimStatus *vlanv1alpha1.VLANClaimStatus `json:"vlanClaimStatus,omitempty" yaml:"vlanClaimStatus,omitempty"` }
func (*InterfaceStatus) DeepCopy ¶
func (in *InterfaceStatus) DeepCopy() *InterfaceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InterfaceStatus.
func (*InterfaceStatus) DeepCopyInto ¶
func (in *InterfaceStatus) DeepCopyInto(out *InterfaceStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*InterfaceStatus) UpsertIPClaim ¶
func (r *InterfaceStatus) UpsertIPClaim(newClaimStatus ipamv1alpha1.IPClaimStatus)
type IpFamilyPolicy ¶
type IpFamilyPolicy string
const IpFamilyPolicyDualStack IpFamilyPolicy = "dualstack"
IpFamilyPolicyDualStack defines L3 IpFamilyPolicy as dual stack (ipv4 and ipv6)
const IpFamilyPolicyIPv4Only IpFamilyPolicy = "ipv4only"
IpFamilyPolicyIPv4Only defines L3 IpFamilyPolicy as ipv4 only
const IpFamilyPolicyIPv6Only IpFamilyPolicy = "ipv6only"
IpFamilyPolicyIPv6Only defines L3 IpFamilyPolicy as ipv6 only
const IpFamilyPolicyNone IpFamilyPolicy = "none"
IpFamilyPolicyNone defines no L3 addressing, meaning L2
type NetworkInstance ¶
type NetworkInstance struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec NetworkInstanceSpec `json:"spec,omitempty"` Status NetworkInstanceStatus `json:"status,omitempty"` }
NetworkInstance is the Schema for the networkinstance 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.
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 { // NetworkName is just a dummy for now NetworkName string `json:"networkName,omitempty" yaml:"networkName,omitempty"` }
NetworkInstanceSpec is meant for defining a type of network's characteristics It is a placeholder for now
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 { }
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 Pool ¶
type Pool struct { // Name defines the name of the pool // // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=253 Name string `json:"name,omitempty" yaml:"name,omitempty"` // PrefixLength define the size of the pool PrefixLength uint8 `json:"prefixLength,omitempty" yaml:"prefixLength,omitempty"` // IPFamily defines the ip family of the pool // +kubebuilder:validation:Enum=ipv4;ipv6 IPFamily IPFamily `json:"ipFamily,omitempty" yaml:"ipFamily,omitempty"` }
func (*Pool) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Pool.
func (*Pool) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PoolStatus ¶
type PoolStatus struct { // Name of the pool Name string `yaml:"name,omitempty" json:"name,omitempty"` // IPClaim holds the result of the IP claim belonging to the pool IPClaim ipamv1alpha1.IPClaimStatus `yaml:"ipClaim,omitempty" json:"ipClaim,omitempty"` }
func (*PoolStatus) DeepCopy ¶
func (in *PoolStatus) DeepCopy() *PoolStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PoolStatus.
func (*PoolStatus) DeepCopyInto ¶
func (in *PoolStatus) DeepCopyInto(out *PoolStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.