Documentation
¶
Index ¶
Constants ¶
const (
// PluginName for NodeAffinityScoring.
NodeAffinityScoringPluginName = "NodeAffinityScoring"
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BasePlugin ¶
type BasePlugin struct { // Enabled indicates whether the plugin is enabled. // +kubebuilder:"validation:Required" Enabled bool `json:"enabled" protobuf:"varint,1,opt,name=enabled" kubebuilder:"validation:Required"` }
BasePlugin defines basic structure of a plugin
func (*BasePlugin) DeepCopy ¶
func (in *BasePlugin) DeepCopy() *BasePlugin
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BasePlugin.
func (*BasePlugin) DeepCopyInto ¶
func (in *BasePlugin) DeepCopyInto(out *BasePlugin)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*BasePlugin) IsEnabled ¶
func (b *BasePlugin) IsEnabled() bool
IsEnabled returns the value of the Enabled field.
func (*BasePlugin) Name ¶
func (b *BasePlugin) Name() string
Name returns the name of the BasePlugin.
type IBasePlugin ¶
type IBasePlugin interface { // Enabled is a required boolean field. IsEnabled() bool // PluginName returns the name of the plugin. Name() string }
IBasePlugin defines a basic interface for plugins. +k8s:deepcopy-gen=false
type NodeAffinityScoring ¶
type NodeAffinityScoring struct { BasePlugin `json:",inline"` // Platforms is a required field and must contain at least one entry. // +kubebuilder:validation:MinItems=1 Platforms []NodeAffinityScoringPlatformTerm `json:"platforms" protobuf:"bytes,2,opt,name=platforms"` }
NodeAffinityScoring is the plugin that implements the ScorePlugin interface.
func (*NodeAffinityScoring) DeepCopy ¶
func (in *NodeAffinityScoring) DeepCopy() *NodeAffinityScoring
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeAffinityScoring.
func (*NodeAffinityScoring) DeepCopyInto ¶
func (in *NodeAffinityScoring) DeepCopyInto(out *NodeAffinityScoring)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NodeAffinityScoring) Name ¶
func (b *NodeAffinityScoring) Name() string
Name returns the name of the NodeAffinityScoringPluginName.
type NodeAffinityScoringPlatformTerm ¶
type NodeAffinityScoringPlatformTerm struct { // Architecture must be a list of non-empty string of arch names. // +kubebuilder:validation:Enum=arm64;amd64;ppc64le;s390x Architecture string `json:"architecture" protobuf:"bytes,1,rep,name=architecture"` // weight associated with matching the corresponding NodeAffinityScoringPlatformTerm, // in the range 1-100. // +kubebuilder:validation:Minimum:=1 // +kubebuilder:validation:Maximum:=100 Weight int32 `json:"weight" protobuf:"bytes,3,rep,name=weight"` }
NodeAffinityScoringPlatformTerm holds configuration for specific platforms, with required fields validated.
func (*NodeAffinityScoringPlatformTerm) DeepCopy ¶
func (in *NodeAffinityScoringPlatformTerm) DeepCopy() *NodeAffinityScoringPlatformTerm
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeAffinityScoringPlatformTerm.
func (*NodeAffinityScoringPlatformTerm) DeepCopyInto ¶
func (in *NodeAffinityScoringPlatformTerm) DeepCopyInto(out *NodeAffinityScoringPlatformTerm)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Plugins ¶
type Plugins struct { // +kubebuilder:"validation:Required NodeAffinityScoring *NodeAffinityScoring `json:"nodeAffinityScoring,omitempty"` }
Plugins represents the plugins configuration.
func (*Plugins) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Plugins.
func (*Plugins) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.