Documentation
¶
Overview ¶
Package generic provides a generic object store interface and a generic label/field matching type.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func FilterList ¶
func FilterList(list runtime.Object, m Matcher, d DecoratorFunc) (filtered runtime.Object, err error)
FilterList filters any list object that conforms to the api conventions, provided that 'm' works with the concrete type of list. d is an optional decorator for the returned functions. Only matching items are decorated.
Types ¶
type AttrFunc ¶
type AttrFunc func(obj runtime.Object) (label labels.Set, field fields.Set, err error)
AttrFunc returns label and field sets for List or Watch to compare against, or an error.
type DecoratorFunc ¶ added in v0.11.0
type DecoratorFunc func(obj runtime.Object) error
DecoratorFunc can mutate the provided object prior to being returned.
type Matcher ¶
type Matcher interface {
Matches(obj runtime.Object) (bool, error)
}
Matcher can return true if an object matches the Matcher's selection criteria.
func MatcherFunc ¶
func MatcherFunc(f func(obj runtime.Object) (bool, error)) Matcher
MatcherFunc makes a matcher from the provided function. For easy definition of matchers for testing.
type Registry ¶
type Registry interface {
ListPredicate(api.Context, Matcher) (runtime.Object, error)
CreateWithName(ctx api.Context, id string, obj runtime.Object) error
UpdateWithName(ctx api.Context, id string, obj runtime.Object) error
Get(ctx api.Context, id string) (runtime.Object, error)
Delete(ctx api.Context, id string) (runtime.Object, error)
WatchPredicate(ctx api.Context, m Matcher, resourceVersion string) (watch.Interface, error)
}
Registry knows how to store & list any runtime.Object. Can be used for any object types which don't require special features from the storage layer. DEPRECATED: replace with direct implementation of RESTStorage
type SelectionPredicate ¶
type SelectionPredicate struct {
Label labels.Selector
Field fields.Selector
GetAttrs AttrFunc
}
SelectionPredicate implements a generic predicate that can be passed to GenericRegistry's List or Watch methods. Implements the Matcher interface.