Documentation
¶
Index ¶
- func Ignore(is ErrorIs, err error) error
- func IgnoreAny(err error, is ...ErrorIs) error
- func IgnoreNotFound(err error) error
- func IgnoreUpdateWithoutGenerationChangePredicate() predicate.Predicate
- func IsAPIError(err error) bool
- func IsAPIErrorWrapped(err error) bool
- func IsNotAllowed(err error) bool
- func NewPredicates(fn PredicateFn) predicate.Funcs
- type APIFinalizer
- type APIPatchingApplicator
- type APIUpdatingApplicator
- type Active
- type Applicator
- type ApplyFn
- type ApplyOption
- type ClientApplicator
- type Conditioned
- type ErrorIs
- type Finalizer
- type FinalizerFns
- type Managed
- type ManagedList
- type Object
- type Orphanable
- type PredicateFn
- type RequiredTargetConfigReferencer
- type RequiredTypedResourceReferencer
- type TargetConditioned
- type TargetConfig
- type TargetConfigReferencer
- type TargetConfigUsage
- type TargetConfigUsageList
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Ignore ¶ added in v0.3.4
Ignore any errors that satisfy the supplied ErrorIs function by returning nil. Errors that do not satisfy the supplied function are returned unmodified.
func IgnoreAny ¶ added in v0.3.4
IgnoreAny ignores errors that satisfy any of the supplied ErrorIs functions by returning nil. Errors that do not satisfy any of the supplied functions are returned unmodified.
func IgnoreNotFound ¶ added in v0.3.4
IgnoreNotFound returns the supplied error, or nil if the error indicates a Kubernetes resource was not found.
func IgnoreUpdateWithoutGenerationChangePredicate ¶ added in v0.3.30
func IsAPIError ¶ added in v0.3.4
IsAPIError returns true if the given error's type is of Kubernetes API error.
func IsAPIErrorWrapped ¶ added in v0.3.4
IsAPIErrorWrapped returns true if err is a K8s API error, or recursively wraps a K8s API error
func IsNotAllowed ¶ added in v0.3.33
IsNotAllowed returns true if the supplied error indicates that an operation was not allowed.
func NewPredicates ¶ added in v0.3.30
func NewPredicates(fn PredicateFn) predicate.Funcs
NewPredicates returns a set of Funcs that are all satisfied by the supplied PredicateFn. The PredicateFn is run against the new object during updates.
Types ¶
type APIFinalizer ¶ added in v0.3.15
type APIFinalizer struct {
// contains filtered or unexported fields
}
An APIFinalizer adds and removes finalizers to and from a resource.
func NewAPIFinalizer ¶ added in v0.3.17
func NewAPIFinalizer(c client.Client, finalizer string) *APIFinalizer
NewAPIFinalizer returns a new APIFinalizer.
func (*APIFinalizer) AddFinalizer ¶ added in v0.3.15
func (a *APIFinalizer) AddFinalizer(ctx context.Context, obj Object) error
AddFinalizer to the supplied Managed resource.
func (*APIFinalizer) RemoveFinalizer ¶ added in v0.3.15
func (a *APIFinalizer) RemoveFinalizer(ctx context.Context, obj Object) error
RemoveFinalizer from the supplied Managed resource.
type APIPatchingApplicator ¶ added in v0.3.2
type APIPatchingApplicator struct {
// contains filtered or unexported fields
}
An APIPatchingApplicator applies changes to an object by either creating or patching it in a Kubernetes API server.
func NewAPIPatchingApplicator ¶ added in v0.3.2
func NewAPIPatchingApplicator(c client.Client) *APIPatchingApplicator
NewAPIPatchingApplicator returns an Applicator that applies changes to an object by either creating or patching it in a Kubernetes API server.
func (*APIPatchingApplicator) Apply ¶ added in v0.3.3
func (a *APIPatchingApplicator) Apply(ctx context.Context, o client.Object, ao ...ApplyOption) error
Apply changes to the supplied object. The object will be created if it does not exist, or patched if it does. If the object does exist, it will only be patched if the passed object has the same or an empty resource version.
type APIUpdatingApplicator ¶ added in v0.3.32
type APIUpdatingApplicator struct {
// contains filtered or unexported fields
}
An APIUpdatingApplicator applies changes to an object by either creating or updating it in a Kubernetes API server.
func NewAPIUpdatingApplicator ¶ added in v0.3.32
func NewAPIUpdatingApplicator(c client.Client) *APIUpdatingApplicator
NewAPIUpdatingApplicator returns an Applicator that applies changes to an object by either creating or updating it in a Kubernetes API server.
func (*APIUpdatingApplicator) Apply ¶ added in v0.3.32
func (a *APIUpdatingApplicator) Apply(ctx context.Context, o client.Object, ao ...ApplyOption) error
Apply changes to the supplied object. The object will be created if it does not exist, or updated if it does.
type Applicator ¶ added in v0.3.0
An Applicator applies changes to an object.
type ApplyOption ¶ added in v0.3.0
An ApplyOption is called before patching the current object to match the desired object. ApplyOptions are not called if no current object exists.
func AllowUpdateIf ¶ added in v0.3.33
func AllowUpdateIf(fn func(current, desired runtime.Object) bool) ApplyOption
AllowUpdateIf will only update the current object if the supplied fn returns true. An error that satisfies IsNotAllowed will be returned if the supplied function returns false. Creation of a desired object that does not currently exist is always allowed.
func MustBeControllableBy ¶ added in v0.3.9
func MustBeControllableBy(u types.UID) ApplyOption
MustBeControllableBy requires that the current object is controllable by an object with the supplied UID. An object is controllable if its controller reference matches the supplied UID, or it has no controller reference. An error that satisfies IsNotControllable will be returned if the current object cannot be controlled by the supplied UID.
func UpdateFn ¶ added in v0.3.0
func UpdateFn(fn func(current, desired runtime.Object)) ApplyOption
UpdateFn returns an ApplyOption that is used to modify the current object to match fields of the desired.
type ClientApplicator ¶ added in v0.3.0
type ClientApplicator struct { client.Client Applicator }
A ClientApplicator may be used to build a single 'client' that satisfies both client.Client and Applicator.
type Conditioned ¶
type Conditioned interface { SetConditions(c ...nddv1.Condition) GetCondition(ck nddv1.ConditionKind) nddv1.Condition }
A Conditioned may have conditions set or retrieved. Conditions are typically indicate the status of both a resource and its reconciliation process.
type ErrorIs ¶ added in v0.3.4
An ErrorIs function returns true if an error satisfies a particular condition.
type Finalizer ¶ added in v0.3.16
type Finalizer interface { AddFinalizer(ctx context.Context, obj Object) error RemoveFinalizer(ctx context.Context, obj Object) error }
A Finalizer manages the finalizers on the resource.
type FinalizerFns ¶ added in v0.3.51
type FinalizerFns struct { AddFinalizerFn func(ctx context.Context, obj Object) error RemoveFinalizerFn func(ctx context.Context, obj Object) error }
A FinalizerFns satisfy the Finalizer interface.
func (FinalizerFns) AddFinalizer ¶ added in v0.3.51
func (f FinalizerFns) AddFinalizer(ctx context.Context, obj Object) error
AddFinalizer to the supplied resource.
func (FinalizerFns) RemoveFinalizer ¶ added in v0.3.51
func (f FinalizerFns) RemoveFinalizer(ctx context.Context, obj Object) error
RemoveFinalizer from the supplied resource.
type Managed ¶ added in v0.3.54
type Managed interface { Object TargetConfigReferencer Orphanable Active Conditioned }
A Managed is a Kubernetes object representing a concrete managed resource (e.g. a CloudSQL instance).
type ManagedList ¶ added in v0.3.54
type ManagedList interface { client.ObjectList // GetItems returns the list of managed resources. GetItems() []Managed }
A ManagedList is a list of managed resources.
type Orphanable ¶ added in v0.3.54
type Orphanable interface { SetDeletionPolicy(p nddv1.DeletionPolicy) GetDeletionPolicy() nddv1.DeletionPolicy }
An Orphanable resource may specify a DeletionPolicy.
type PredicateFn ¶ added in v0.3.30
A PredicateFn returns true if the supplied object should be reconciled.
type RequiredTargetConfigReferencer ¶ added in v0.3.59
type RequiredTargetConfigReferencer interface { GetTargetConfigReference() nddv1.Reference SetTargetConfigReference(p nddv1.Reference) }
A RequiredTargetConfigReferencer may reference a Target config resource. Unlike TargetConfigReferencer, the reference is required (i.e. not nil).
type RequiredTypedResourceReferencer ¶ added in v0.3.59
type RequiredTypedResourceReferencer interface { SetResourceReference(r nddv1.TypedReference) GetResourceReference() nddv1.TypedReference }
A RequiredTypedResourceReferencer can reference a resource.
type TargetConditioned ¶ added in v0.3.46
type TargetConditioned interface { SetTargetConditions(target string, c ...nddv1.Condition) GetTargetCondition(target string, ck nddv1.ConditionKind) nddv1.Condition }
A TargetConditioned may have conditions set or retrieved. TargetConditioned are typically indicate the status of both a resource and its reconciliation process.
type TargetConfig ¶ added in v0.3.59
type TargetConfig interface { Object Conditioned }
A TargetConfig configures a Network Device Driver Target.
type TargetConfigReferencer ¶ added in v0.3.57
type TargetConfigReferencer interface { GetTargetConfigReference() *nddv1.Reference SetTargetConfigReference(p *nddv1.Reference) }
A TargetConfigReferencer may reference a Target config resource.
type TargetConfigUsage ¶ added in v0.3.59
type TargetConfigUsage interface { Object RequiredTargetConfigReferencer RequiredTypedResourceReferencer }
A TargetConfigUsage indicates a usage of a ndd target config.
type TargetConfigUsageList ¶ added in v0.3.59
type TargetConfigUsageList interface { client.ObjectList // GetItems returns the list of Target config usages. GetItems() []TargetConfigUsage }
A TargetConfigUsageList is a list of Target config usages.