Documentation ¶
Index ¶
- type AutomateAdapter
- type Discover
- func (d *Discover) Automate(signature string, request types.Request) (*types.Response, error)
- func (d *Discover) AutomateWithOpts(signature string, request types.Request, opts types.Options) (*types.Response, error)
- func (d *Discover) Call(service types.ServiceRequest, opts types.Options) (*types.Response, error)
- func (d *Discover) CallWithOpts(service types.ServiceRequest, opts types.Options) (*types.Response, error)
- func (d *Discover) Discover(addr string) (*types.Service, error)
- func (d *Discover) Listen(signature string) (<-chan *types.Response, error)
- func (d *Discover) ListenWithOpts(signature string, opts types.Options) (<-chan *types.Response, error)
- func (d *Discover) Publish(signature string, request types.Request) error
- func (d *Discover) PublishWithOpts(signature string, request types.Request, opts types.Options) error
- func (d *Discover) Queue(signature string, request types.Request) (string, error)
- func (d *Discover) QueueWithOpts(signature string, request types.Request, opts types.Options) (string, error)
- func (d *Discover) Request(signature string, request types.Request) (*types.Response, error)
- func (d *Discover) RequestWithOpts(signature string, request types.Request, opts types.Options) (*types.Response, error)
- func (d *Discover) Subscribe(signature string) (<-chan *types.Response, error)
- func (d *Discover) SubscribeWithOpts(signature string, opts types.Options) (<-chan *types.Response, error)
- type FunctionAdapter
- type Locator
- type LogAdapter
- type Option
- func SetAutomate(automateAdapter AutomateAdapter) Option
- func SetFunction(functionAdapter FunctionAdapter) Option
- func SetLocator(locator Locator) Option
- func SetLogger(logger LogAdapter) Option
- func SetPubsub(pubsubAdapter PubsubAdapter) Option
- func SetQueue(queueAdapter QueueAdapter) Option
- func SetTracer(tracer TraceAdapter) Option
- func WithAWSBackend() Option
- type Options
- type PubsubAdapter
- type QueueAdapter
- type TraceAdapter
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AutomateAdapter ¶
type AutomateAdapter interface {
ExecuteWithOpts(service *types.Service, request types.Request, opts types.Options) (*types.Response, error)
}
AutomateAdapter is an interface defining a System Management service
type Discover ¶
type Discover struct { QueueAdapter FunctionAdapter AutomateAdapter PubsubAdapter Locator LogAdapter TraceAdapter }
Discover instance
func (*Discover) AutomateWithOpts ¶ added in v1.0.0
func (d *Discover) AutomateWithOpts(signature string, request types.Request, opts types.Options) (*types.Response, error)
AutomateWithOpts calls an infrastructure script through the AutomateAdapter, with options
func (*Discover) Call ¶
Call sends a request to the proper adapter depending on the service type. (potentially not needed, as the behavioural methods say)
func (*Discover) CallWithOpts ¶ added in v1.0.0
func (d *Discover) CallWithOpts(service types.ServiceRequest, opts types.Options) (*types.Response, error)
CallWithOpts sends a request to the proper adapter depending on the service type, with options. (potentially not needed, as the behavioural methods say)
func (*Discover) ListenWithOpts ¶ added in v1.0.0
func (d *Discover) ListenWithOpts(signature string, opts types.Options) (<-chan *types.Response, error)
ListenWithOpts creates a listener channel through the QueueAdapter, with options
func (*Discover) PublishWithOpts ¶ added in v1.0.0
func (d *Discover) PublishWithOpts(signature string, request types.Request, opts types.Options) error
PublishWithOpts - publishes an asynchronous event through the PubsubAdapter, with options
func (*Discover) QueueWithOpts ¶ added in v1.0.0
func (d *Discover) QueueWithOpts(signature string, request types.Request, opts types.Options) (string, error)
QueueWithOpts queues a request through the QueueAdapter, with options
func (*Discover) RequestWithOpts ¶ added in v1.0.0
func (d *Discover) RequestWithOpts(signature string, request types.Request, opts types.Options) (*types.Response, error)
RequestWithOpts makes synchronous call through the FunctionAdapter, with options
type FunctionAdapter ¶
type FunctionAdapter interface {
CallWithOpts(service *types.Service, request types.Request, opts types.Options) (*types.Response, error)
}
FunctionAdapter is an interface defining a Serverless Functions service
type LogAdapter ¶
LogAdapter is an interface defining a Logging service
type Option ¶
type Option func(*Options)
Option is a function that modifies the Options object
func SetAutomate ¶
func SetAutomate(automateAdapter AutomateAdapter) Option
SetAutomate sets the given automation adapter to be used
func SetFunction ¶
func SetFunction(functionAdapter FunctionAdapter) Option
SetFunction sets the given function adapter to be used
func SetLocator ¶
SetLocator sets the service discovery adapter to be used
func SetPubsub ¶
func SetPubsub(pubsubAdapter PubsubAdapter) Option
SetPubsub sets the given pubsub adapter to be used
func SetQueue ¶
func SetQueue(queueAdapter QueueAdapter) Option
SetQueue sets the given queue adapter to be used
func WithAWSBackend ¶ added in v1.0.0
func WithAWSBackend() Option
WithAWSBackend initializes the Discovery object with default AWS services. Override these services by using the Set methods.
type Options ¶
type Options struct { QueueAdapter FunctionAdapter AutomateAdapter PubsubAdapter Locator LogAdapter TraceAdapter }
Options allows the client to configure the integrations.
type PubsubAdapter ¶
type PubsubAdapter interface { PublishWithOpts(service *types.Service, request types.Request, opts types.Options) error SubscribeWithOpts(service *types.Service, opts types.Options) (<-chan *types.Response, error) }
PubsubAdapter is an interface defining a PubSub Messaging service
type QueueAdapter ¶
type QueueAdapter interface { // Queue a message, return a token or message id QueueWithOpts(service *types.Service, request types.Request, opts types.Options) (string, error) ListenWithOpts(service *types.Service, opts types.Options) (<-chan *types.Response, error) }
QueueAdapter is an interface defining a Queue service
type TraceAdapter ¶
TraceAdapter is an interface defining a Tracing service