Documentation ¶
Overview ¶
+k8s:deepcopy-gen=package +k8s:defaulter-gen=TypeMeta +groupName=topology.volcano.sh
Index ¶
Constants ¶
const GroupName = "topology.volcano.sh"
GroupName is the group name used in this package.
Variables ¶
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 )
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha1"}
SchemeGroupVersion is the group version used to register these objects.
Functions ¶
func RegisterDefaults ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HyperNode.
func (*HyperNode) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HyperNode) DeepCopyObject ¶
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.