Documentation ¶
Overview ¶
Package safe provides a safe wrappers around the cosi runtime.
Index ¶
- func CleanupOutputs[R generic.ResourceWithRD](ctx context.Context, tracker controller.OutputTracker) error
- func Input[R generic.ResourceWithRD](kind controller.InputKind) controller.Input
- func Map[T any, R any](list List[T], fn func(T) (R, error)) ([]R, error)
- func ReaderGet[T resource.Resource](ctx context.Context, rdr controller.Reader, ptr resource.Pointer) (T, error)
- func ReaderGetByID[T generic.ResourceWithRD](ctx context.Context, rdr controller.Reader, id resource.ID) (T, error)
- func ReaderWatchFor[T resource.Resource](ctx context.Context, rdr controller.Reader, ptr resource.Pointer, ...) (T, error)
- func ReaderWatchForResource[T resource.Resource](ctx context.Context, rdr controller.Reader, r T, ...) (T, error)
- func StateGet[T resource.Resource](ctx context.Context, st state.CoreState, ptr resource.Pointer, ...) (T, error)
- func StateGetByID[T generic.ResourceWithRD](ctx context.Context, st state.CoreState, id resource.ID, ...) (T, error)
- func StateGetResource[T resource.Resource](ctx context.Context, st state.CoreState, r T, options ...state.GetOption) (T, error)
- func StateUpdateWithConflicts[T resource.Resource](ctx context.Context, st state.State, ptr resource.Pointer, ...) (T, error)
- func StateWatch[T resource.Resource](ctx context.Context, st state.CoreState, ptr resource.Pointer, ...) error
- func StateWatchFor[T resource.Resource](ctx context.Context, st state.State, ptr resource.Pointer, ...) (T, error)
- func StateWatchKind[T resource.Resource](ctx context.Context, st state.CoreState, kind resource.Kind, ...) error
- func WriterModify[T resource.Resource](ctx context.Context, writer controller.Writer, r T, fn func(T) error) error
- func WriterModifyWithResult[T resource.Resource](ctx context.Context, writer controller.Writer, r T, fn func(T) error) (T, error)
- type List
- func NewList[T any](list resource.List) List[T]
- func ReaderList[T resource.Resource](ctx context.Context, rdr controller.Reader, kind resource.Kind, ...) (List[T], error)
- func ReaderListAll[T generic.ResourceWithRD](ctx context.Context, rdr controller.Reader, opts ...state.ListOption) (List[T], error)
- func StateList[T resource.Resource](ctx context.Context, st state.CoreState, ptr resource.Pointer, ...) (List[T], error)
- func StateListAll[T generic.ResourceWithRD](ctx context.Context, st state.CoreState, opts ...state.ListOption) (List[T], error)
- func (l *List[T]) FilterLabelQuery(opts ...resource.LabelQueryOption) List[T]
- func (l *List[T]) Find(fn func(T) bool) (T, bool)
- func (l *List[T]) ForEach(fn func(T))
- func (l *List[T]) ForEachErr(fn func(T) error) error
- func (l *List[T]) Get(index int) T
- func (l *List[T]) Index(fn func(T) bool) int
- func (l *List[T]) Iterator() ListIterator[T]
- func (l *List[T]) Len() int
- type ListIterator
- type WrappedStateEvent
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CleanupOutputs ¶ added in v0.3.1
func CleanupOutputs[R generic.ResourceWithRD](ctx context.Context, tracker controller.OutputTracker) error
CleanupOutputs wraps the controller.OutputTracker.CleanupOutputs method.
func Input ¶ added in v0.3.1
func Input[R generic.ResourceWithRD](kind controller.InputKind) controller.Input
Input returns a controller.Input for the given resource.
func Map ¶ added in v0.3.1
Map applies the given function to each element of the list and returns a new list with the results.
func ReaderGet ¶
func ReaderGet[T resource.Resource](ctx context.Context, rdr controller.Reader, ptr resource.Pointer) (T, error)
ReaderGet is a type safe wrapper around reader.Get.
func ReaderGetByID ¶ added in v0.3.1
func ReaderGetByID[T generic.ResourceWithRD](ctx context.Context, rdr controller.Reader, id resource.ID) (T, error)
ReaderGetByID is a type safe wrapper around reader.Get.
func ReaderWatchFor ¶
func ReaderWatchFor[T resource.Resource](ctx context.Context, rdr controller.Reader, ptr resource.Pointer, conds ...state.WatchForConditionFunc) (T, error)
ReaderWatchFor is a type safe wrapper around Reader.WatchFor.
func ReaderWatchForResource ¶
func ReaderWatchForResource[T resource.Resource](ctx context.Context, rdr controller.Reader, r T, conds ...state.WatchForConditionFunc) (T, error)
ReaderWatchForResource is a type safe wrapper around Reader.WatchFor which accepts typed resource.Resource and gets the metadata from it.
func StateGet ¶
func StateGet[T resource.Resource](ctx context.Context, st state.CoreState, ptr resource.Pointer, options ...state.GetOption) (T, error)
StateGet is a type safe wrapper around state.Get.
func StateGetByID ¶ added in v0.3.1
func StateGetByID[T generic.ResourceWithRD](ctx context.Context, st state.CoreState, id resource.ID, options ...state.GetOption) (T, error)
StateGetByID is a type safe wrapper around state.Get.
func StateGetResource ¶
func StateGetResource[T resource.Resource](ctx context.Context, st state.CoreState, r T, options ...state.GetOption) (T, error)
StateGetResource is a type safe wrapper around state.Get which accepts typed resource.Resource and gets the metadata from it.
func StateUpdateWithConflicts ¶
func StateUpdateWithConflicts[T resource.Resource](ctx context.Context, st state.State, ptr resource.Pointer, updateFn func(T) error, options ...state.UpdateOption) (T, error)
StateUpdateWithConflicts is a type safe wrapper around state.UpdateWithConflicts.
func StateWatch ¶
func StateWatch[T resource.Resource](ctx context.Context, st state.CoreState, ptr resource.Pointer, eventCh chan<- WrappedStateEvent[T], opts ...state.WatchOption) error
StateWatch is a type safe wrapper around State.Watch.
func StateWatchFor ¶
func StateWatchFor[T resource.Resource](ctx context.Context, st state.State, ptr resource.Pointer, opts ...state.WatchForConditionFunc) (T, error)
StateWatchFor is a type safe wrapper around State.WatchFor.
func StateWatchKind ¶
func StateWatchKind[T resource.Resource](ctx context.Context, st state.CoreState, kind resource.Kind, eventCh chan<- WrappedStateEvent[T], opts ...state.WatchKindOption) error
StateWatchKind is a type safe wrapper around State.WatchKind.
func WriterModify ¶
func WriterModify[T resource.Resource](ctx context.Context, writer controller.Writer, r T, fn func(T) error) error
WriterModify is a type safe wrapper around writer.Modify.
func WriterModifyWithResult ¶ added in v0.3.14
func WriterModifyWithResult[T resource.Resource](ctx context.Context, writer controller.Writer, r T, fn func(T) error) (T, error)
WriterModifyWithResult is a type safe wrapper around writer.ModifyWithResult.
Types ¶
type List ¶
type List[T any] struct { // contains filtered or unexported fields }
List is a type safe wrapper around resource.List.
func ReaderList ¶
func ReaderList[T resource.Resource](ctx context.Context, rdr controller.Reader, kind resource.Kind, opts ...state.ListOption) (List[T], error)
ReaderList is a type safe wrapper around Reader.List.
func ReaderListAll ¶ added in v0.3.1
func ReaderListAll[T generic.ResourceWithRD](ctx context.Context, rdr controller.Reader, opts ...state.ListOption) (List[T], error)
ReaderListAll is a type safe wrapper around Reader.List that uses default namaespace and type from ResourceDefinitionProvider.
func StateList ¶
func StateList[T resource.Resource](ctx context.Context, st state.CoreState, ptr resource.Pointer, options ...state.ListOption) (List[T], error)
StateList is a type safe wrapper around state.List.
func StateListAll ¶ added in v0.3.1
func StateListAll[T generic.ResourceWithRD](ctx context.Context, st state.CoreState, opts ...state.ListOption) (List[T], error)
StateListAll is a type safe wrapper around state.List that uses default namaespace and type from ResourceDefinitionProvider.
func (*List[T]) FilterLabelQuery ¶ added in v0.3.1
func (l *List[T]) FilterLabelQuery(opts ...resource.LabelQueryOption) List[T]
FilterLabelQuery returns a new list applying the resource label query.
func (*List[T]) Find ¶ added in v0.3.1
Find returns the first item in the list that matches the given predicate.
func (*List[T]) ForEach ¶ added in v0.3.1
func (l *List[T]) ForEach(fn func(T))
ForEach iterates over the given list and calls the given function for each element.
func (*List[T]) ForEachErr ¶ added in v0.3.1
ForEachErr iterates over the given list and calls the given function for each element. If the function returns an error, the iteration stops and the error is returned.
func (*List[T]) Iterator ¶ added in v0.3.4
func (l *List[T]) Iterator() ListIterator[T]
Iterator returns a new iterator over the list.
type ListIterator ¶
type ListIterator[T any] struct { // contains filtered or unexported fields }
ListIterator is a generic iterator over resource.Resource slice.
func IteratorFromList
deprecated
func IteratorFromList[T any](list List[T]) ListIterator[T]
IteratorFromList returns a new iterator over the given list.
Deprecated: use List.Iterator instead.
func (*ListIterator[T]) Next ¶
func (it *ListIterator[T]) Next() bool
Next returns the next element of the iterator.
func (*ListIterator[T]) Value ¶
func (it *ListIterator[T]) Value() T
Value returns the current element of the iterator.
type WrappedStateEvent ¶
WrappedStateEvent holds a state.Event that can be cast to its original Resource type when accessed with Event().
func (*WrappedStateEvent[T]) Error ¶ added in v0.2.0
func (wse *WrappedStateEvent[T]) Error() error
Error returns the error of wrapped event.
func (*WrappedStateEvent[T]) Old ¶
func (wse *WrappedStateEvent[T]) Old() (T, error)
Old returns the typed Old resource of the wrapped event.
func (*WrappedStateEvent[T]) Resource ¶
func (wse *WrappedStateEvent[T]) Resource() (T, error)
Resource returns the typed resource of the wrapped event.
func (*WrappedStateEvent[T]) Type ¶
func (wse *WrappedStateEvent[T]) Type() state.EventType
Type returns the EventType of the wrapped event.