Documentation
¶
Overview ¶
Package generic provides a generic object store interface and a generic label/field matching type.
Index ¶
- func MergeFieldsSets(source fields.Set, fragment fields.Set) fields.Set
- func ObjectMetaFieldsSet(objectMeta api.ObjectMeta, hasNamespaceField bool) fields.Set
- func UndecoratedStorage(storageInterface storage.Interface, capacity int, objectType runtime.Object, ...) storage.Interface
- type AttrFunc
- type Matcher
- type RESTOptions
- type SelectionPredicate
- type StorageDecorator
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func MergeFieldsSets ¶ added in v1.2.0
func MergeFieldsSets(source fields.Set, fragment fields.Set) fields.Set
MergeFieldsSets merges a fields'set from fragment into the source.
func ObjectMetaFieldsSet ¶ added in v1.2.0
func ObjectMetaFieldsSet(objectMeta api.ObjectMeta, hasNamespaceField bool) fields.Set
ObjectMetaFieldsSet returns a fields set that represents the ObjectMeta.
func UndecoratedStorage ¶ added in v1.2.0
func UndecoratedStorage(
storageInterface storage.Interface,
capacity int,
objectType runtime.Object,
resourcePrefix string,
scopeStrategy rest.NamespaceScopedStrategy,
newListFunc func() runtime.Object) storage.Interface
Returns given 'storageInterface' without any decoration.
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 Matcher ¶
type Matcher interface {
// Matches should return true if obj matches this matcher's requirements.
Matches(obj runtime.Object) (matchesThisObject bool, err error)
// If this matcher matches a single object, return the key for that
// object and true here. This will greatly increase efficiency. You
// must still implement Matches(). Note that key does NOT need to
// include the object's namespace.
MatchesSingle() (key string, matchesSingleObject bool)
}
Matcher can return true if an object matches the Matcher's selection criteria. If it is known that the matcher will match only a single object then MatchesSingle should return the key of that object and true. This is an optimization only--Matches() should continue to work.
func MatchOnKey ¶ added in v0.15.0
func MatchOnKey(key string, f func(obj runtime.Object) (bool, error)) Matcher
MatchOnKey returns a matcher that will send only the object matching key through the matching function f. For testing! Note: use SelectionPredicate above for real code!
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. Note: use SelectionPredicate above for real code!
type RESTOptions ¶ added in v1.2.0
type RESTOptions struct {
Storage pkgstorage.Interface
Decorator StorageDecorator
DeleteCollectionWorkers int
}
RESTOptions is set of configuration options to generic registries.
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.
func (*SelectionPredicate) Matches ¶
func (s *SelectionPredicate) Matches(obj runtime.Object) (bool, error)
Matches returns true if the given object's labels and fields (as returned by s.GetAttrs) match s.Label and s.Field. An error is returned if s.GetAttrs fails.
func (*SelectionPredicate) MatchesSingle ¶ added in v0.15.0
func (s *SelectionPredicate) MatchesSingle() (string, bool)
MatchesSingle will return (name, true) if and only if s.Field matches on the object's name.
type StorageDecorator ¶ added in v1.2.0
type StorageDecorator func(
storageInterface storage.Interface,
capacity int,
objectType runtime.Object,
resourcePrefix string,
scopeStrategy rest.NamespaceScopedStrategy,
newListFunc func() runtime.Object) storage.Interface
StorageDecorator is a function signature for producing a storage.Interface from given parameters.
Directories
¶
Path | Synopsis |
---|---|
Package etcd has a generic implementation of a registry that stores things in etcd.
|
Package etcd has a generic implementation of a registry that stores things in etcd. |
Package rest has generic implementations of resources used for REST responses
|
Package rest has generic implementations of resources used for REST responses |