Documentation
¶
Overview ¶
Package client provides a wrapper around gRPC State client to provide state.CoreState.
Index ¶
- type Adapter
- func (adapter *Adapter) Create(ctx context.Context, r resource.Resource, opt ...state.CreateOption) error
- func (adapter *Adapter) Destroy(ctx context.Context, resourcePointer resource.Pointer, ...) error
- func (adapter *Adapter) Get(ctx context.Context, resourcePointer resource.Pointer, opt ...state.GetOption) (resource.Resource, error)
- func (adapter *Adapter) List(ctx context.Context, resourceKind resource.Kind, opt ...state.ListOption) (resource.List, error)
- func (adapter *Adapter) Teardown(ctx context.Context, resourcePointer resource.Pointer, ...) (bool, error)
- func (adapter *Adapter) TeardownAndDestroy(ctx context.Context, resourcePointer resource.Pointer, ...) error
- func (adapter *Adapter) Update(ctx context.Context, newResource resource.Resource, opt ...state.UpdateOption) error
- func (adapter *Adapter) Watch(ctx context.Context, resourcePointer resource.Pointer, ch chan<- state.Event, ...) error
- func (adapter *Adapter) WatchKind(ctx context.Context, resourceKind resource.Kind, ch chan<- state.Event, ...) error
- func (adapter *Adapter) WatchKindAggregated(ctx context.Context, resourceKind resource.Kind, ch chan<- []state.Event, ...) error
- type AdapterOption
- type AdapterOptions
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Adapter ¶
type Adapter struct {
// contains filtered or unexported fields
}
Adapter implement state.CoreState from the gRPC State client.
func NewAdapter ¶
func NewAdapter(client v1alpha1.StateClient, opt ...AdapterOption) *Adapter
NewAdapter returns new Adapter from the gRPC client.
func (*Adapter) Create ¶
func (adapter *Adapter) Create(ctx context.Context, r resource.Resource, opt ...state.CreateOption) error
Create a resource.
If a resource already exists, Create returns an error.
func (*Adapter) Destroy ¶
func (adapter *Adapter) Destroy(ctx context.Context, resourcePointer resource.Pointer, opt ...state.DestroyOption) error
Destroy a resource.
If a resource doesn't exist, error is returned. If a resource has pending finalizers, error is returned.
func (*Adapter) Get ¶
func (adapter *Adapter) Get(ctx context.Context, resourcePointer resource.Pointer, opt ...state.GetOption) (resource.Resource, error)
Get a resource by type and ID.
If a resource is not found, error is returned.
func (*Adapter) List ¶
func (adapter *Adapter) List(ctx context.Context, resourceKind resource.Kind, opt ...state.ListOption) (resource.List, error)
List resources by type.
func (*Adapter) Teardown ¶ added in v1.16.0
func (adapter *Adapter) Teardown(ctx context.Context, resourcePointer resource.Pointer, opt ...state.TeardownOption) (bool, error)
Teardown a resource (mark as being destroyed) using a single Teardown RPC.
Implements state.Teardowner, so state.WrapCore over this Adapter routes state.State.Teardown through this single round-trip rather than the default Get + Update fallback.
If the server does not implement the Teardown RPC (returns codes.Unimplemented), this method transparently falls back to the default Get + Update path; the fallback is sticky so subsequent calls skip the round-trip.
func (*Adapter) TeardownAndDestroy ¶ added in v1.16.0
func (adapter *Adapter) TeardownAndDestroy(ctx context.Context, resourcePointer resource.Pointer, opt ...state.TeardownAndDestroyOption) error
TeardownAndDestroy a resource via a single blocking RPC.
Implements state.TeardownAndDestroyer, so state.WrapCore over this Adapter routes state.State.TeardownAndDestroy through one server-side call that handles teardown, the wait for finalizers, and destroy in-process against the wrapped state.
If the server does not implement the TeardownAndDestroy RPC (returns codes.Unimplemented), this method transparently falls back to the default Teardown + WatchFor + Destroy path; the fallback is sticky so subsequent calls skip the round-trip.
func (*Adapter) Update ¶
func (adapter *Adapter) Update(ctx context.Context, newResource resource.Resource, opt ...state.UpdateOption) error
Update a resource.
If a resource doesn't exist, error is returned. On update current version of resource `new` in the state should match the version on the backend, otherwise conflict error is returned.
func (*Adapter) Watch ¶
func (adapter *Adapter) Watch(ctx context.Context, resourcePointer resource.Pointer, ch chan<- state.Event, opt ...state.WatchOption) error
Watch state of a resource by type.
It's fine to watch for a resource which doesn't exist yet. Watch is canceled when context gets canceled. Watch sends initial resource state as the very first event on the channel, and then sends any updates to the resource as events.
type AdapterOption ¶ added in v0.7.0
type AdapterOption func(*AdapterOptions)
AdapterOption is a function type used to configure Adapter options.
func WithDisableWatchRetry ¶ added in v0.7.0
func WithDisableWatchRetry() AdapterOption
WithDisableWatchRetry disables exponential backoff for watch.
func WithRetryLogger ¶ added in v0.7.0
func WithRetryLogger(logger *zap.Logger) AdapterOption
WithRetryLogger sets logger for retry.
type AdapterOptions ¶ added in v0.7.0
AdapterOptions contains options for the Adapter.