Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ActionTypes = []string{
"gnmi",
"http",
"script",
"template",
}
View Source
var Actions = map[string]Initializer{}
Functions ¶
func DecodeConfig ¶
func DecodeConfig(src, dst interface{}) error
func Register ¶
func Register(name string, initFn Initializer)
Types ¶
type Action ¶
type Action interface { // Init initializes an Action given its configuration and a list of options Init(cfg map[string]interface{}, opts ...Option) error // Run, well runs the action. // it takes an action Context which is made of: // - `Input` : an interface{} event message, target name added/deleted,... // - `Env` : a map[string]interface{} containing the output of previous actions // - `Vars` : a map[string]interface{} containing variables passed to the action // - `Targets`: a map[string]*types.TargetConfig containing (if the action is ran by a loader) // the currently known targets configurations Run(ctx context.Context, aCtx *Context) (interface{}, error) // NName returns the configured action name NName() string // WithTargets passes the known configured targets to the action when initialized WithTargets(map[string]*types.TargetConfig) // WithLogger passes the configured logger to the action WithLogger(*log.Logger) }
type Context ¶
type Context struct { // Input event message, target name added/deleted,... Input interface{} `json:"Input,omitempty"` // Env used to store the output of a sequence of actions Env map[string]interface{} `json:"Env,omitempty"` // Vars contains the variables passed to the action Vars map[string]interface{} `json:"Vars,omitempty"` // a map of known targets configurations Targets map[string]*types.TargetConfig `json:"Targets,omitempty"` }
Context defines an action execution context
type Initializer ¶
type Initializer func() Action
type Option ¶
type Option func(Action)
func WithLogger ¶
func WithTargets ¶
func WithTargets(tcs map[string]*types.TargetConfig) Option
Click to show internal directories.
Click to hide internal directories.