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: 6 Imported by: 2

Documentation

Overview

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

Copyright 2023 The Nephio Authors.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Index

Constants

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

Variables

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
)

Functions

This section is empty.

Types

type NFClass

type NFClass struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   NFClassSpec   `json:"spec,omitempty"`
	Status NFClassStatus `json:"status,omitempty"`
}

NFClass is the Schema for the nfclasses API

func (*NFClass) DeepCopy

func (in *NFClass) DeepCopy() *NFClass

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

func (*NFClass) DeepCopyInto

func (in *NFClass) DeepCopyInto(out *NFClass)

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

func (*NFClass) DeepCopyObject

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

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

type NFClassList

type NFClassList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []NFClass `json:"items"`
}

NFClassList contains a list of NFClass

func (*NFClassList) DeepCopy

func (in *NFClassList) DeepCopy() *NFClassList

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

func (*NFClassList) DeepCopyInto

func (in *NFClassList) DeepCopyInto(out *NFClassList)

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

func (*NFClassList) DeepCopyObject

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

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

type NFClassSpec

type NFClassSpec struct {
	// Vendor is the name of the NF vendor
	Vendor string `json:"vendor,omitempty" yaml:"vendor,omitempty"`

	// Version of the software version for this NF vendor's NFType
	Version string `json:"version,omitempty" yaml:"version,omitempty"`

	// PackageRef is a reference to the upstream package used for this NF deployment
	PackageRef PackageRevisionReference `json:"packageRef" yaml:"packageRef"`
}

NFClassSpec defines the reusable class struct for NF in general

func (*NFClassSpec) DeepCopy

func (in *NFClassSpec) DeepCopy() *NFClassSpec

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

func (*NFClassSpec) DeepCopyInto

func (in *NFClassSpec) DeepCopyInto(out *NFClassSpec)

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

type NFClassStatus

type NFClassStatus struct {
}

NFClassStatus defines the observed state of NFClass

func (*NFClassStatus) DeepCopy

func (in *NFClassStatus) DeepCopy() *NFClassStatus

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

func (*NFClassStatus) DeepCopyInto

func (in *NFClassStatus) DeepCopyInto(out *NFClassStatus)

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

type NFConnectivity

type NFConnectivity struct {
	// peer NF's Id (see NFInstance struct below)
	NeighborName string `json:"neighborName,omitempty" yaml:"neighborName,omitempty"`
}

func (*NFConnectivity) DeepCopy

func (in *NFConnectivity) DeepCopy() *NFConnectivity

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

func (*NFConnectivity) DeepCopyInto

func (in *NFConnectivity) DeepCopyInto(out *NFConnectivity)

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

type NFInstance

type NFInstance struct {
	// Name specifies the name of this NFInstance
	Name string `json:"name" yaml:"name"`

	// ClusterSelector specifies the matching labels for the NF instance to be instantiated
	ClusterSelector metav1.LabelSelector `json:"clusterSelector" yaml:"clusterSelector"`

	// NFTemplate specifies the template of the NF to be deployed when a cluster matches
	// the selector above
	NFTemplate NFTemplate `json:"nfTemplate" yaml:"nfTemplate"`
}

func (*NFInstance) DeepCopy

func (in *NFInstance) DeepCopy() *NFInstance

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

func (*NFInstance) DeepCopyInto

func (in *NFInstance) DeepCopyInto(out *NFInstance)

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

type NFInterface

type NFInterface struct {
	// Name of the network attachment point
	Name string `json:"name" yaml:"name"`

	// NetworkInstanceRef is a reference to NetworkInstance. Two NF with attachment to
	// the same NetworkInstance is considered connected neighbors
	NetworkInstanceName string `json:"networkInstanceName" yaml:"networkInstanceName"`
}

NFInterface defines the specification of network attachment points of a NF

func (*NFInterface) DeepCopy

func (in *NFInterface) DeepCopy() *NFInterface

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

func (*NFInterface) DeepCopyInto

func (in *NFInterface) DeepCopyInto(out *NFInterface)

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

type NFTemplate

type NFTemplate struct {
	// NFType specifies the type of NF this template is specifying
	NFType NFType `json:"nfType" yaml:"nfType"`

	// ClassName --- for now, the NFClass this NF template will derive from
	ClassName string `json:"className" yaml:"className"`

	// Capacity specifies the NF capacity profile for this NF instance
	Capacity nephioreqv1alpha1.CapacitySpec `json:"capacity,omitempty" yaml:"capacity,omitempty"`

	// NFInterfaces
	NFInterfaces []NFInterface `json:"nfInterfaces,omitempty" yaml:"nfInterfaces,omitempty"`
}

NFTemplate defines the template for deployment of an instance of a NF

func (*NFTemplate) DeepCopy

func (in *NFTemplate) DeepCopy() *NFTemplate

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

func (*NFTemplate) DeepCopyInto

func (in *NFTemplate) DeepCopyInto(out *NFTemplate)

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

type NFTopoTracker

type NFTopoTracker struct {
	metav1.TypeMeta   `json:",inline" yaml:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty" yaml:"metadata"`

	Spec   NFTopoTrackerSpec   `json:"spec,omitempty"`
	Status NFTopoTrackerStatus `json:"status,omitempty"`
}

NfTopoTracker is the Schema for the tracking of the list of deployed NFs

func (*NFTopoTracker) DeepCopy

func (in *NFTopoTracker) DeepCopy() *NFTopoTracker

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

func (*NFTopoTracker) DeepCopyInto

func (in *NFTopoTracker) DeepCopyInto(out *NFTopoTracker)

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

func (*NFTopoTracker) DeepCopyObject

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

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

type NFTopoTrackerInstance

type NFTopoTrackerInstance struct {
	// unique ID for this NF instance
	ID string `json:"id,omitempty" yaml:"id,omitempty"`
	// name of workload cluster where the NF instance is to be deployed
	ClusterName string `json:"clusterName,omitempty" yaml:"clusterName,omitempty"`
	// type of NF, example: amf, smf, upf
	NFType string `json:"nfType,omitempty" yaml:"nfType,omitempty"`
	// flavor of NF, example: small, medium, large
	NFFlavor string `json:"nfFlavor,omitempty" yaml:"nfFlavor,omitempty"`
	// NF vendor name
	NFVendor string `json:"nfVendor,omitempty" yaml:"nfVendor,omitempty"`
	// the software version of this NF vendor's NFType
	NFVersion string `json:"nfVersion,omitempty" yaml:"nfVersion,omitempty"`
	// list of connected NF instances to this NF instance
	Connectivities []NFConnectivity `json:"connectivities,omitempty" yaml:"connectivities,omitempty"`
}

NFTopoTrackerInstance defines an NF instance that is deployed

func (*NFTopoTrackerInstance) DeepCopy

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

func (*NFTopoTrackerInstance) DeepCopyInto

func (in *NFTopoTrackerInstance) DeepCopyInto(out *NFTopoTrackerInstance)

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

type NFTopoTrackerList

type NFTopoTrackerList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []NFTopoTracker `json:"items"`
}

NFTopoTrackerList contains a list of NfTopoTracker

func (*NFTopoTrackerList) DeepCopy

func (in *NFTopoTrackerList) DeepCopy() *NFTopoTrackerList

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

func (*NFTopoTrackerList) DeepCopyInto

func (in *NFTopoTrackerList) DeepCopyInto(out *NFTopoTrackerList)

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

func (*NFTopoTrackerList) DeepCopyObject

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

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

type NFTopoTrackerSpec

type NFTopoTrackerSpec struct {
	NFInstances []NFTopoTrackerInstance `json:"nfInstances,omitempty" yaml:"nfInstances,omitempty"`
}

NFTopoTrackerSpec defines list of deployed NF for Edge Status Aggregator to monitor

func (*NFTopoTrackerSpec) DeepCopy

func (in *NFTopoTrackerSpec) DeepCopy() *NFTopoTrackerSpec

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

func (*NFTopoTrackerSpec) DeepCopyInto

func (in *NFTopoTrackerSpec) DeepCopyInto(out *NFTopoTrackerSpec)

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

type NFTopoTrackerStatus

type NFTopoTrackerStatus struct {
	// The generation observed by the deployment controller.
	ObservedGeneration int32 `json:"observedGeneration,omitempty"`

	// Total number of NFs targeted by this deployment
	TargetedNFs int32 `json:"targetedNFs,omitempty"`

	// Total number of NFs targeted by this deployment with a Ready Condition set.
	ReadyNFs int32 `json:"readyNFs,omitempty"`

	// Total number of NFs targeted by this deployment with an Available Condition set.
	AvailableNFs int32 `json:"availableNFs,omitempty"`

	// Total number of NFs targeted by this deployment with a Stalled Condition set.
	StalledNFs int32 `json:"stalledNFs,omitempty"`

	// Current service state of the UPF.
	Conditions []nephiodeployv1alpha1.NFDeploymentConditionType `json:"conditions,omitempty"`
}

NFTopoTrackerStatus tracks the aggregated status of all the deployed NFs for this one deployment

func (*NFTopoTrackerStatus) DeepCopy

func (in *NFTopoTrackerStatus) DeepCopy() *NFTopoTrackerStatus

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

func (*NFTopoTrackerStatus) DeepCopyInto

func (in *NFTopoTrackerStatus) DeepCopyInto(out *NFTopoTrackerStatus)

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

type NFTopology

type NFTopology struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   NFTopologySpec   `json:"spec,omitempty"`
	Status NFTopologyStatus `json:"status,omitempty"`
}

NFTopology is the Schema for the nfTopology API

func (*NFTopology) DeepCopy

func (in *NFTopology) DeepCopy() *NFTopology

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

func (*NFTopology) DeepCopyInto

func (in *NFTopology) DeepCopyInto(out *NFTopology)

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

func (*NFTopology) DeepCopyObject

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

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

type NFTopologyList

type NFTopologyList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []NFTopology `json:"items"`
}

NFTopologyList contains a list of NFTopology

func (*NFTopologyList) DeepCopy

func (in *NFTopologyList) DeepCopy() *NFTopologyList

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

func (*NFTopologyList) DeepCopyInto

func (in *NFTopologyList) DeepCopyInto(out *NFTopologyList)

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

func (*NFTopologyList) DeepCopyObject

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

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

type NFTopologySpec

type NFTopologySpec struct {
	NFInstances []NFInstance `json:"nfInstances" yaml:"nfInstances"`
}

func (*NFTopologySpec) DeepCopy

func (in *NFTopologySpec) DeepCopy() *NFTopologySpec

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

func (*NFTopologySpec) DeepCopyInto

func (in *NFTopologySpec) DeepCopyInto(out *NFTopologySpec)

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

type NFTopologyStatus

type NFTopologyStatus struct {
}

NFTopologyStatus defines the observed state of NFTopology

func (*NFTopologyStatus) DeepCopy

func (in *NFTopologyStatus) DeepCopy() *NFTopologyStatus

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

func (*NFTopologyStatus) DeepCopyInto

func (in *NFTopologyStatus) DeepCopyInto(out *NFTopologyStatus)

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

type NFType

type NFType string

+kubebuilder:object:root=true NFType defines the type of network functions

const (
	NFTypeUPF NFType = "upf"
	NFTypeSMF NFType = "smf"
	NFTypeAMF NFType = "amf"
)

type PackageRevisionReference

type PackageRevisionReference struct {
	// Namespace is the namespace for both the repository and package revision
	// +optional
	Namespace string `json:"namespace,omitempty"`

	// Repository is the name of the repository containing the package
	RepositoryName string `json:"repository"`

	// PackageName is the name of the package for the revision
	PackageName string `json:"packageName"`

	// Revision is the specific version number of the revision of the package
	Revision string `json:"revision"`
}

PackageRevisionReference is a temporary replica of PackageRevisionReference used for the ONE Summit

func (*PackageRevisionReference) DeepCopy

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

func (*PackageRevisionReference) DeepCopyInto

func (in *PackageRevisionReference) DeepCopyInto(out *PackageRevisionReference)

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