gardener: github.com/gardener/gardener/pkg/utils/kubernetes/client Index | Files

package client

import "github.com/gardener/gardener/pkg/utils/kubernetes/client"

Index

Package Files

alias.go client.go options.go types.go

Variables

var (
    // Clean is an alias for `DefaultCleaner().Clean`.
    Clean = DefaultCleaner().Clean

    // CleanAndEnsureGone is an alias for `DefaultCleanOps().CleanAndEnsureGone`.
    CleanAndEnsureGone = DefaultCleanOps().CleanAndEnsureGone
)

func AreObjectsRemaining Uses

func AreObjectsRemaining(err error) bool

AreObjectsRemaining checks whether the given error is an 'objects remaining error'.

func EnsureGone Uses

func EnsureGone(ctx context.Context, c client.Client, obj runtime.Object, opts ...client.ListOption) error

EnsureGone ensures that the given object or list is gone.

func NewObjectsRemaining Uses

func NewObjectsRemaining(remaining runtime.Object) error

NewObjectsRemaining returns a new error with the remaining objects.

func RemainingObjects Uses

func RemainingObjects(err error) []runtime.Object

RemainingObjects retrieves the remaining objects of an `AreObjectsRemaining` error.

If the error does not match `AreObjectsRemaining`, this returns nil.

type CleanOps Uses

type CleanOps interface {
    // CleanAndEnsureGone cleans the resource(s) and ensures that it/they are gone afterwards.
    CleanAndEnsureGone(ctx context.Context, c client.Client, obj runtime.Object, opts ...CleanOption) error
}

CleanOps are ops to clean.

func DefaultCleanOps Uses

func DefaultCleanOps() CleanOps

DefaultCleanOps are the default CleanOps.

func NewCleanOps Uses

func NewCleanOps(cleaner Cleaner, ensurer GoneEnsurer) CleanOps

NewCleanOps instantiates new CleanOps with the given Cleaner and GoneEnsurer.

type CleanOption Uses

type CleanOption interface {
    ApplyToClean(*CleanOptions)
}

CleanOption is a configuration that modifies options for a clean operation.

type CleanOptions Uses

type CleanOptions struct {
    ListOptions                []client.ListOption
    DeleteOptions              []client.DeleteOption
    FinalizeGracePeriodSeconds *int64
    ErrorToleration            []TolerateErrorFunc
}

CleanOptions are options to clean certain resources. If FinalizeGracePeriodSeconds is set, the finalizers of the resources are removed if the resources still exist after their targeted termination date plus the FinalizeGracePeriodSeconds amount.

func (*CleanOptions) ApplyOptions Uses

func (o *CleanOptions) ApplyOptions(opts []CleanOption) *CleanOptions

ApplyOptions applies the OptFuncs to the CleanOptions.

type Cleaner Uses

type Cleaner interface {
    // Clean cleans the given resource(s). It first tries to delete them. If they are 'hanging'
    // in deletion state and `FinalizeGracePeriodSeconds` is specified, then they are finalized
    // once the `deletionTimestamp` is beyond that amount in the past.
    Clean(ctx context.Context, c client.Client, obj runtime.Object, opts ...CleanOption) error
}

Cleaner is capable of deleting and finalizing resources.

func DefaultCleaner Uses

func DefaultCleaner() Cleaner

DefaultCleaner is the default Cleaner.

func NewCRDCleaner Uses

func NewCRDCleaner() Cleaner

NewCRDCleaner instantiates a new Cleaner with ability to clean CustomResourceDefinitions.

func NewCleaner Uses

func NewCleaner(time utiltime.Ops, finalizer Finalizer) Cleaner

NewCleaner instantiates a new Cleaner with the given utiltime.Ops and finalizer.

func NewNamespaceCleaner Uses

func NewNamespaceCleaner(namespaceInterface typedcorev1.NamespaceInterface) Cleaner

NewNamespaceCleaner instantiates a new Cleaner with ability to clean namespaces.

type DeleteWith Uses

type DeleteWith []client.DeleteOption

DeleteWith uses the given delete options for a clean operation.

func (DeleteWith) ApplyToClean Uses

func (d DeleteWith) ApplyToClean(opts *CleanOptions)

ApplyToClean specifies deletion options for a clean operation.

type FinalizeGracePeriodSeconds Uses

type FinalizeGracePeriodSeconds int64

FinalizeGracePeriodSeconds specifies that a resource shall be finalized if it's been deleting without being gone beyond the deletion timestamp for the given seconds.

func (FinalizeGracePeriodSeconds) ApplyToClean Uses

func (s FinalizeGracePeriodSeconds) ApplyToClean(opts *CleanOptions)

ApplyToClean specifies a finalize grace period for a clean operation.

type Finalizer Uses

type Finalizer interface {
    // Finalize removes the resource finalizers (so it can be garbage collected).
    Finalize(ctx context.Context, c client.Client, obj runtime.Object) error

    // HasFinalizers checks whether the given resource has finalizers.
    HasFinalizers(obj runtime.Object) (bool, error)
}

Finalizer checks and removes the finalizers of given resource.

func NewCRDFinalizer Uses

func NewCRDFinalizer() Finalizer

NewCRDFinalizer instantiates a CustomResourceDefinition finalizer.

func NewFinalizer Uses

func NewFinalizer() Finalizer

NewFinalizer instantiates a default finalizer.

func NewNamespaceFinalizer Uses

func NewNamespaceFinalizer(namespaceInterface typedcorev1.NamespaceInterface) Finalizer

NewNamespaceFinalizer instantiates a namespace finalizer.

type GoneEnsurer Uses

type GoneEnsurer interface {
    // EnsureGone ensures that the given resource is gone. If the resource is not gone, it will throw
    // a NewObjectsRemaining error.
    EnsureGone(ctx context.Context, c client.Client, obj runtime.Object, opts ...client.ListOption) error
}

GoneEnsurer ensures that resource(s) are gone.

func DefaultGoneEnsurer Uses

func DefaultGoneEnsurer() GoneEnsurer

DefaultGoneEnsurer is the default GoneEnsurer.

func GoneBeforeEnsurer Uses

func GoneBeforeEnsurer(before time.Time) GoneEnsurer

GoneBeforeEnsurer returns an implementation of `GoneEnsurer` which is time aware.

type GoneEnsurerFunc Uses

type GoneEnsurerFunc func(ctx context.Context, c client.Client, obj runtime.Object, opts ...client.ListOption) error

GoneEnsurerFunc is a function that implements GoneEnsurer.

func (GoneEnsurerFunc) EnsureGone Uses

func (f GoneEnsurerFunc) EnsureGone(ctx context.Context, c client.Client, obj runtime.Object, opts ...client.ListOption) error

EnsureGone implements GoneEnsurer.

type ListWith Uses

type ListWith []client.ListOption

ListWith uses the given list options for a clean operation.

func (ListWith) ApplyToClean Uses

func (d ListWith) ApplyToClean(opts *CleanOptions)

ApplyToClean specifies list options for a clean operation.

type TolerateErrorFunc Uses

type TolerateErrorFunc func(err error) bool

TolerateErrorFunc is a function for tolerating errors.

type TolerateErrors Uses

type TolerateErrors []TolerateErrorFunc

TolerateErrors uses the given toleration funcs for a clean operation.

func (TolerateErrors) ApplyToClean Uses

func (m TolerateErrors) ApplyToClean(opts *CleanOptions)

ApplyToClean specifies a errors to be tolerated for a clean operation.

Package client imports 12 packages (graph) and is imported by 4 packages. Updated 2020-02-13. Refresh now. Tools for package owners.