Documentation
¶
Index ¶
- type GenericInformer
- type SharedInformerFactory
- func NewFilteredSharedInformerFactory(client versioned.Interface, defaultResync time.Duration, namespace string, ...) SharedInformerFactory
- func NewSharedInformerFactory(client versioned.Interface, defaultResync time.Duration) SharedInformerFactory
- func NewSharedInformerFactoryWithOptions(client versioned.Interface, defaultResync time.Duration, ...) SharedInformerFactory
- type SharedInformerOption
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type GenericInformer ¶
type GenericInformer interface {
Informer() cache.SharedIndexInformer
Lister() cache.GenericLister
}
GenericInformer is type of SharedIndexInformer which will locate and delegate to other sharedInformers based on type
type SharedInformerFactory ¶
type SharedInformerFactory interface {
internalinterfaces.SharedInformerFactory
// which run until the stop channel gets closed.
Start(stopCh <-chan struct{})
// informers can be started anymore and Start will return without
// doing anything.
//
// In addition, Shutdown blocks until all goroutines have terminated. For that
// to happen, the close channel(s) that they were started with must be closed,
// either before Shutdown gets called or while it is waiting.
//
// Shutdown may be called multiple times, even concurrently. All such calls will
// block until all goroutines have terminated.
Shutdown()
// or the stop channel gets closed.
WaitForCacheSync(stopCh <-chan struct{}) map[reflect.Type]bool
ForResource(resource schema.GroupVersionResource) (GenericInformer, error)
// client.
InformerFor(obj runtime.Object, newFunc internalinterfaces.NewInformerFunc) cache.SharedIndexInformer
}
SharedInformerFactory provides shared informers for resources in all known API group versions.
It is typically used like this:
ctx, cancel := context.Background()
defer cancel()
factory := NewSharedInformerFactory(client, resyncPeriod)
defer factory.WaitForStop() // Returns immediately if nothing was started.
genericInformer := factory.ForResource(resource)
typedInformer := factory.SomeAPIGroup().V1().SomeType()
factory.Start(ctx.Done()) // Start processing these informers.
synced := factory.WaitForCacheSync(ctx.Done())
for v, ok := range synced {
if !ok {
fmt.Fprintf(os.Stderr, "caches failed to sync: %v", v)
return
}
}
// Creating informers can also be created after Start, but then
// Start must be called again:
anotherGenericInformer := factory.ForResource(resource)
factory.Start(ctx.Done())
func NewFilteredSharedInformerFactory ¶
func NewFilteredSharedInformerFactory(client versioned.Interface, defaultResync time.Duration, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) SharedInformerFactory
NewFilteredSharedInformerFactory constructs a new instance of sharedInformerFactory. Listers obtained via this SharedInformerFactory will be subject to the same filters as specified here. Deprecated: Please use NewSharedInformerFactoryWithOptions instead
func NewSharedInformerFactory ¶
func NewSharedInformerFactory(client versioned.Interface, defaultResync time.Duration) SharedInformerFactory
NewSharedInformerFactory constructs a new instance of sharedInformerFactory for all namespaces.
func NewSharedInformerFactoryWithOptions ¶
func NewSharedInformerFactoryWithOptions(client versioned.Interface, defaultResync time.Duration, options ...SharedInformerOption) SharedInformerFactory
NewSharedInformerFactoryWithOptions constructs a new instance of a SharedInformerFactory with additional options.
type SharedInformerOption ¶
type SharedInformerOption func(*sharedInformerFactory) *sharedInformerFactory
SharedInformerOption defines the functional option type for SharedInformerFactory.
func WithCustomResyncConfig ¶
func WithCustomResyncConfig(resyncConfig map[v1.Object]time.Duration) SharedInformerOption
WithCustomResyncConfig sets a custom resync period for the specified informer types.
func WithNamespace ¶
func WithNamespace(namespace string) SharedInformerOption
WithNamespace limits the SharedInformerFactory to the specified namespace.
func WithTweakListOptions ¶
func WithTweakListOptions(tweakListOptions internalinterfaces.TweakListOptionsFunc) SharedInformerOption
WithTweakListOptions sets a custom filter on all listers of the configured SharedInformerFactory.