action

package
Version: v0.5.4 Latest Latest
Warning

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

Go to latest
Published: May 18, 2018 License: BSD-3-Clause Imports: 4 Imported by: 76

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Actions deprecated

func Actions() map[string]Action

Deprecated: No longer used

func Factories

func Factories() map[string]Factory

func Register deprecated

func Register(id string, act Action) error

Deprecated: No longer used

func RegisterFactory

func RegisterFactory(ref string, f Factory) error

Types

type Action

type Action interface {
	// Metadata get the Action's metadata
	Metadata() *Metadata

	// IOMetadata get the Action's IO metadata
	IOMetadata() *data.IOMetadata
}

Action is an action to perform as a result of a trigger

func Get deprecated

func Get(id string) Action

Deprecated: No longer used

type AsyncAction

type AsyncAction interface {
	Action

	// Run this Action
	Run(context context.Context, inputs map[string]*data.Attribute, handler ResultHandler) error
}

AsyncAction is an asynchronous action to perform as a result of a trigger, the action can asynchronously return results as it runs. It returns immediately, but will continue to run.

type Config

type Config struct {
	Ref      string           `json:"ref"`
	Data     json.RawMessage  `json:"data"`
	Mappings *data.IOMappings `json:"mappings"`

	// Deprecated: No longer used
	Id string `json:"id"`
	// Deprecated: No longer used
	Metadata *data.IOMetadata `json:"metadata"`
}

Config is the configuration for the Action

type Factory

type Factory interface {

	// New create a new Action
	New(config *Config) (Action, error)
}

Factory is used to create new instances for an action

func GetFactory

func GetFactory(ref string) Factory

type Metadata

type Metadata struct {
	ID    string `json:"ref"`
	Async bool   `json:"async"`
}

Metadata is the metadata for the Activity

func GetMetadata

func GetMetadata(act Action) *Metadata

GetMetadata method to ensure we have metadata, remove in future

func NewMetadata

func NewMetadata(jsonMetadata string) *Metadata

NewMetadata creates the metadata object from its json representation

type ResultHandler

type ResultHandler interface {

	// HandleResult is invoked when there are results available
	HandleResult(results map[string]*data.Attribute, err error)

	// Done indicates that the action has completed
	Done()
}

ResultHandler used to handle results from the Action

type Runner

type Runner interface {
	// Deprecated: Use Execute() instead
	Run(context context.Context, act Action, uri string, options interface{}) (code int, data interface{}, err error)

	// Deprecated: Use Execute() instead
	RunAction(ctx context.Context, act Action, options map[string]interface{}) (results map[string]*data.Attribute, err error)

	// Execute the specified Action
	Execute(ctx context.Context, act Action, inputs map[string]*data.Attribute) (results map[string]*data.Attribute, err error)
}

Runner runs actions

type SyncAction

type SyncAction interface {
	Action

	// Run this Action
	Run(context context.Context, inputs map[string]*data.Attribute) (map[string]*data.Attribute, error)
}

SyncAction is a synchronous action to perform as a result of a trigger

Jump to

Keyboard shortcuts

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