Documentation ¶
Index ¶
- func FieldIndexName(field string) string
- func KeyToNamespacedKey(ns string, baseKey string) string
- type CacheReader
- type InformersMap
- func (m *InformersMap) Get(ctx context.Context, gvk schema.GroupVersionKind, obj runtime.Object) (bool, *MapEntry, error)
- func (m *InformersMap) Remove(gvk schema.GroupVersionKind, obj runtime.Object)
- func (m *InformersMap) Start(ctx context.Context) error
- func (m *InformersMap) WaitForCacheSync(ctx context.Context) bool
- type MapEntry
- type Selector
- type SelectorsByGVK
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func FieldIndexName ¶
FieldIndexName constructs the name of the index over the given field, for use with an indexer.
func KeyToNamespacedKey ¶
KeyToNamespacedKey prefixes the given index key with a namespace for use in field selector indexes.
Types ¶
type CacheReader ¶
type CacheReader struct {
// contains filtered or unexported fields
}
CacheReader wraps a cache.Index to implement the client.CacheReader interface for a single type.
func (*CacheReader) List ¶
func (c *CacheReader) List(_ context.Context, out client.ObjectList, opts ...client.ListOption) error
List lists items out of the indexer and writes them to out.
type InformersMap ¶
type InformersMap struct { // Scheme maps runtime.Objects to GroupVersionKinds Scheme *runtime.Scheme // contains filtered or unexported fields }
InformersMap create and caches Informers for (runtime.Object, schema.GroupVersionKind) pairs. It uses a standard parameter codec constructed based on the given generated Scheme.
func NewInformersMap ¶
func NewInformersMap(config *rest.Config, scheme *runtime.Scheme, mapper meta.RESTMapper, resync time.Duration, namespace string, selectors SelectorsByGVK, ) *InformersMap
NewInformersMap creates a new InformersMap that can create informers for both structured and unstructured objects.
func (*InformersMap) Get ¶
func (m *InformersMap) Get(ctx context.Context, gvk schema.GroupVersionKind, obj runtime.Object) (bool, *MapEntry, error)
Get will create a new Informer and add it to the map of InformersMap if none exists. Returns the Informer from the map.
func (*InformersMap) Remove ¶
func (m *InformersMap) Remove(gvk schema.GroupVersionKind, obj runtime.Object)
Remove will remove an new Informer from the InformersMap and stop it if it exists.
func (*InformersMap) Start ¶
func (m *InformersMap) Start(ctx context.Context) error
Start calls Run on each of the informers and sets started to true. Blocks on the context.
func (*InformersMap) WaitForCacheSync ¶
func (m *InformersMap) WaitForCacheSync(ctx context.Context) bool
WaitForCacheSync waits until all the caches have been started and synced.
type MapEntry ¶
type MapEntry struct { // Informer is the cached informer Informer cache.SharedIndexInformer // CacheReader wraps Informer and implements the CacheReader interface for a single type Reader CacheReader // contains filtered or unexported fields }
MapEntry contains the cached data for an Informer.
type Selector ¶
Selector specify the label/field selector to fill in ListOptions.
func (Selector) ApplyToList ¶
func (s Selector) ApplyToList(listOpts *metav1.ListOptions)
ApplyToList fill in ListOptions LabelSelector and FieldSelector if needed.
type SelectorsByGVK ¶
type SelectorsByGVK map[schema.GroupVersionKind]Selector
SelectorsByGVK associate a GroupVersionKind to a field/label selector.