controller-runtime: sigs.k8s.io/controller-runtime/pkg/predicate Index | Examples | Files

package predicate

import "sigs.k8s.io/controller-runtime/pkg/predicate"

Package predicate defines Predicates used by Controllers to filter Events before they are provided to EventHandlers.

Index

Examples

Package Files

doc.go predicate.go

type Funcs Uses

type Funcs struct {
    // Create returns true if the Create event should be processed
    CreateFunc func(event.CreateEvent) bool

    // Delete returns true if the Delete event should be processed
    DeleteFunc func(event.DeleteEvent) bool

    // Update returns true if the Update event should be processed
    UpdateFunc func(event.UpdateEvent) bool

    // Generic returns true if the Generic event should be processed
    GenericFunc func(event.GenericEvent) bool
}

Funcs is a function that implements Predicate.

This example creates a new Predicate to drop Update Events where the Generation has not changed.

Code:

package main

import (
    "sigs.k8s.io/controller-runtime/pkg/event"
    "sigs.k8s.io/controller-runtime/pkg/predicate"
)

var p predicate.Predicate

// This example creates a new Predicate to drop Update Events where the Generation has not changed.
func main() {
    p = predicate.Funcs{
        UpdateFunc: func(e event.UpdateEvent) bool {
            return e.MetaOld.GetGeneration() != e.MetaNew.GetGeneration()
        },
    }
}

func (Funcs) Create Uses

func (p Funcs) Create(e event.CreateEvent) bool

Create implements Predicate

func (Funcs) Delete Uses

func (p Funcs) Delete(e event.DeleteEvent) bool

Delete implements Predicate

func (Funcs) Generic Uses

func (p Funcs) Generic(e event.GenericEvent) bool

Generic implements Predicate

func (Funcs) Update Uses

func (p Funcs) Update(e event.UpdateEvent) bool

Update implements Predicate

type Predicate Uses

type Predicate interface {
    // Create returns true if the Create event should be processed
    Create(event.CreateEvent) bool

    // Delete returns true if the Delete event should be processed
    Delete(event.DeleteEvent) bool

    // Update returns true if the Update event should be processed
    Update(event.UpdateEvent) bool

    // Generic returns true if the Generic event should be processed
    Generic(event.GenericEvent) bool
}

Predicate filters events before enqueuing the keys.

type ResourceVersionChangedPredicate Uses

type ResourceVersionChangedPredicate struct {
    Funcs
}

ResourceVersionChangedPredicate implements a default update predicate function on resource version change

func (ResourceVersionChangedPredicate) Update Uses

func (ResourceVersionChangedPredicate) Update(e event.UpdateEvent) bool

Update implements default UpdateEvent filter for validating resource version change

Package predicate imports 2 packages (graph) and is imported by 52 packages. Updated 2019-07-08. Refresh now. Tools for package owners.