v1alpha1

package
v2.0.0-network-topolog... Latest Latest
Warning

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

Go to latest
Published: Jan 22, 2025 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Overview

+k8s:deepcopy-gen=package +k8s:defaulter-gen=TypeMeta +groupName=topology.volcano.sh

Index

Constants

View Source
const GroupName = "topology.volcano.sh"

GroupName is the group name used in this package.

Variables

View Source
var (
	// SchemeBuilder points to a list of functions added to Scheme.
	SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
	// AddToScheme applies all the stored functions to the scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)
View Source
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha1"}

SchemeGroupVersion is the group version used to register these objects.

Functions

func RegisterDefaults

func RegisterDefaults(scheme *runtime.Scheme) error

RegisterDefaults adds defaulters functions to the given scheme. Public to allow building arbitrary schemes. All generated defaulters are covering - they call all nested defaulters.

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group-qualified GroupResource.

Types

type ExactMatch

type ExactMatch struct {
	// Name specifies the exact name of the node to match.
	// +optional
	Name string `json:"name"`
}

ExactMatch represents the criteria for exact name matching.

func (*ExactMatch) DeepCopy

func (in *ExactMatch) DeepCopy() *ExactMatch

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

func (*ExactMatch) DeepCopyInto

func (in *ExactMatch) DeepCopyInto(out *ExactMatch)

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

type HyperNode

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

	// Spec defines the desired configuration of the HyperNode.
	// +optional
	Spec HyperNodeSpec `json:"spec"`

	// Status provides the current state of the HyperNode.
	// +optional
	Status HyperNodeStatus `json:"status,omitempty"`
}

HyperNode represents a collection of nodes sharing similar network topology or performance characteristics.

func (*HyperNode) DeepCopy

func (in *HyperNode) DeepCopy() *HyperNode

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

func (*HyperNode) DeepCopyInto

func (in *HyperNode) DeepCopyInto(out *HyperNode)

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

func (*HyperNode) DeepCopyObject

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

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

type HyperNodeList

type HyperNodeList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`

	// Items is the list of HyperNodes.
	Items []HyperNode `json:"items"`
}

HyperNodeList contains a list of HyperNode resources.

func (*HyperNodeList) DeepCopy

func (in *HyperNodeList) DeepCopy() *HyperNodeList

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

func (*HyperNodeList) DeepCopyInto

func (in *HyperNodeList) DeepCopyInto(out *HyperNodeList)

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

func (*HyperNodeList) DeepCopyObject

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

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

type HyperNodeSpec

type HyperNodeSpec struct {
	// Tier categorizes the performance level of the HyperNode.
	// +required
	Tier int `json:"tier,omitempty"`

	// Members defines a list of node groups or individual nodes included in the HyperNode.
	// +optional
	Members []MemberSpec `json:"members,omitempty"`
}

HyperNodeSpec defines the desired state of a HyperNode.

func (*HyperNodeSpec) DeepCopy

func (in *HyperNodeSpec) DeepCopy() *HyperNodeSpec

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

func (*HyperNodeSpec) DeepCopyInto

func (in *HyperNodeSpec) DeepCopyInto(out *HyperNodeSpec)

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

type HyperNodeStatus

type HyperNodeStatus struct {
	// Conditions provide details about the current state of the HyperNode.
	Conditions []metav1.Condition `json:"conditions,omitempty"`

	// NodeCount is the total number of nodes currently in the HyperNode.
	// +kubebuilder:validation:Minimum=0
	NodeCount int64 `json:"nodeCount,omitempty"`
}

HyperNodeStatus represents the observed state of a HyperNode.

func (*HyperNodeStatus) DeepCopy

func (in *HyperNodeStatus) DeepCopy() *HyperNodeStatus

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

func (*HyperNodeStatus) DeepCopyInto

func (in *HyperNodeStatus) DeepCopyInto(out *HyperNodeStatus)

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

type MemberSelector

type MemberSelector struct {
	// ExactMatch defines the exact match criteria (required when Type is "Exact").
	// +optional
	ExactMatch *ExactMatch `json:"exactMatch,omitempty"`

	// RegexMatch defines the regex match criteria (required when Type is "Regex").
	// +optional
	RegexMatch *RegexMatch `json:"regexMatch,omitempty"`
}

MemberSelector defines the criteria for selecting nodes.

Example for Exact match:

	members:
 - type: Node
	  selector:
	    exactMatch:
	      name: "node1"

Example for Regex match:

 members:
 - type: Node
     selector:
	   regexMatch:
	     pattern: "^node-[0-9]+$"

+kubebuilder:validation:XValidation:rule="has(self.exactMatch) || has(self.regexMatch)",message="Either ExactMatch or RegexMatch must be specified" +kubebuilder:validation:XValidation:rule="!(has(self.exactMatch) && has(self.regexMatch))",message="ExactMatch and RegexMatch cannot be specified together"

func (*MemberSelector) DeepCopy

func (in *MemberSelector) DeepCopy() *MemberSelector

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

func (*MemberSelector) DeepCopyInto

func (in *MemberSelector) DeepCopyInto(out *MemberSelector)

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

type MemberSpec

type MemberSpec struct {
	// Type specifies the member type.
	// +required
	Type MemberType `json:"type,omitempty"`

	// Selector defines the selection rules for this member.
	// +optional
	Selector MemberSelector `json:"selector,omitempty"`
}

MemberSpec represents a specific node or a hyperNodes in the hyperNode.

func (*MemberSpec) DeepCopy

func (in *MemberSpec) DeepCopy() *MemberSpec

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

func (*MemberSpec) DeepCopyInto

func (in *MemberSpec) DeepCopyInto(out *MemberSpec)

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

type MemberType

type MemberType string

MemberType represents the member type, valid values are "Node" and "HyperNode". +kubebuilder:validation:Enum=Node;HyperNode

const (
	// MemberTypeNode means the member type is a node.
	MemberTypeNode MemberType = "Node"
	// MemberTypeHyperNode means the member type is a hyperNode.
	MemberTypeHyperNode MemberType = "HyperNode"
)

type RegexMatch

type RegexMatch struct {
	// Pattern defines the regex pattern to match node names.
	// +optional
	Pattern string `json:"pattern"`
}

RegexMatch represents the criteria for regex-based matching.

func (*RegexMatch) DeepCopy

func (in *RegexMatch) DeepCopy() *RegexMatch

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

func (*RegexMatch) DeepCopyInto

func (in *RegexMatch) DeepCopyInto(out *RegexMatch)

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