v1alpha1

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Jun 27, 2023 License: Apache-2.0 Imports: 10 Imported by: 16

Documentation

Overview

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

Index

Constants

View Source
const (
	// Group in the kubernetes api
	Group = "req.nephio.org"
	// Version in the kubernetes api
	Version = "v1alpha1"
)

Variables

View Source
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.

View Source
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.

View Source
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.

View Source
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
)
View Source
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 IsAttachmentTypeSupported

func IsAttachmentTypeSupported(s string) bool

func IsCNITypeSupported

func IsCNITypeSupported(s string) bool

func IsIPFamilyPolicySupported

func IsIPFamilyPolicySupported(s string) bool

func IsIPFamilySupported

func IsIPFamilySupported(s string) bool

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

func (in *Capacity) DeepCopy() *Capacity

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

func (*Capacity) DeepCopyInto

func (in *Capacity) DeepCopyInto(out *Capacity)

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

func (*Capacity) DeepCopyObject

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

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

func (in *Interface) DeepCopy() *Interface

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

func (*Interface) DeepCopyInto

func (in *Interface) DeepCopyInto(out *Interface)

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

func (*Interface) DeepCopyObject

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

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

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

func (in *Pool) DeepCopy() *Pool

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

func (*Pool) DeepCopyInto

func (in *Pool) DeepCopyInto(out *Pool)

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.

Jump to

Keyboard shortcuts

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