Documentation
¶
Overview ¶
Package labels implements a simple label system, parsing and matching selectors with sets of labels.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type LabelSelector ¶
type LabelSelector struct {
Requirements []Requirement
}
LabelSelector only not named 'Selector' due to name conflict until Selector is deprecated.
func (*LabelSelector) Matches ¶
func (sg *LabelSelector) Matches(ls Labels) bool
type Labels ¶
type Labels interface {
// Get returns the value for the provided label.
Get(label string) (value string)
}
Labels allows you to present labels independently from their storage.
type Operator ¶
type Operator int
Operator represents a key's relationship to a set of values in a Requirement. TODO: Should also represent key's existence.
type Requirement ¶
type Requirement struct {
// contains filtered or unexported fields
}
func (*Requirement) Matches ¶
func (r *Requirement) Matches(ls Labels) bool
type Selector ¶
type Selector interface {
// Matches returns true if this selector matches the given set of labels.
Matches(Labels) bool
// Empty returns true if this selector does not restrict the selection space.
Empty() bool
// RequiresExactMatch allows a caller to introspect whether a given selector
// requires a single specific label to be set, and if so returns the value it
// requires.
// TODO: expand this to be more general
RequiresExactMatch(label string) (value string, found bool)
// String returns a human readable string that represents this selector.
String() string
}
Selector represents a label selector.
func ParseSelector ¶
ParseSelector takes a string representing a selector and returns an object suitable for matching, or an error.
func SelectorFromSet ¶
SelectorFromSet returns a Selector which will match exactly the given Set. A nil Set is considered equivalent to Everything().