controllersdk

package
v0.0.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 16, 2024 License: Apache-2.0 Imports: 23 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AssertAreEqual

func AssertAreEqual[C any](t *testing.T, actual interface{}, expected interface{})

func Create

func Create[R resource.Managed, P any, O any, C any](ctx context.Context, logger logging.Logger, srv clients.Service[R, P, O, C], mg resource.Managed) (managed.ExternalCreation, error)

func Delete

func Delete[R resource.Managed, P any, O any, C any](ctx context.Context, logger logging.Logger, srv clients.Service[R, P, O, C], mg resource.Managed) error

func MapToCompare

func MapToCompare[C any](obj interface{}) (*C, error)

func Observe

func Observe[R resource.Managed, P any, O any, C any](ctx context.Context, logger logging.Logger, srv clients.Service[R, P, O, C], mg resource.Managed) (managed.ExternalObservation, error)

func Setup

func Setup[R resource.Managed](groupVersionKind schema.GroupVersionKind, newInstance R, mgr ctrl.Manager, o controller.Options, newExternalClientFn func(conn *Connector[R], creds []byte) (managed.ExternalClient, error)) error

Setup adds a controller that reconciles managed resources.

func SkipIfIsShort

func SkipIfIsShort(t *testing.T)

func TestCreateAndAssert

func TestCreateAndAssert[R resource.Managed, P any, O any, C any](t *testing.T, srv clients.Service[R, P, O, C], param *P) *O

func TestDelete

func TestDelete[R resource.Managed, P any, O any, C any](t *testing.T, srv clients.Service[R, P, O, C], param *P)

func TestUpdate

func TestUpdate[R resource.Managed, P any, O any, C any](t *testing.T, srv clients.Service[R, P, O, C], param *P)

func TestUpdateAndAssert

func TestUpdateAndAssert[R resource.Managed, P any, O any, C any](t *testing.T, srv clients.Service[R, P, O, C], param *P)

func Update

func Update[R resource.Managed, P any, O any, C any](ctx context.Context, logger logging.Logger, srv clients.Service[R, P, O, C], mg resource.Managed) (managed.ExternalUpdate, error)

Types

type Connector

type Connector[R resource.Managed] struct {
	Kube                client.Client
	Usage               resource.Tracker
	Logger              logging.Logger
	NewExternalClientFn func(conn *Connector[R], creds []byte) (managed.ExternalClient, error)
}

A connector is expected to produce an ExternalClient when its Connect method is called.

func (*Connector[R]) Connect

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL