Documentation ¶
Index ¶
- func AddPlugin(name, description string, plugin PluginInterface)
- func GetPluginDescription(name string) string
- func GetPlugins() map[string]PluginInterface
- type BasePlugin
- func (p *BasePlugin) GetSteps() map[string]*StepDefinition
- func (p *BasePlugin) Primitives()
- func (p *BasePlugin) RegisterStep(step *StepDefinition)
- func (p *BasePlugin) RunStep(ctx context.Context, stepsgen map[string]any, step *Step) ([]*metrics.Metric, error)
- func (p *BasePlugin) StepExists(name string) bool
- type PluginInterface
- type Step
- type StepDefinition
- type StepParam
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AddPlugin ¶
func AddPlugin(name, description string, plugin PluginInterface)
AddPlugin adds a plugin.
func GetPluginDescription ¶
GetPluginDescription returns a plugin description.
Types ¶
type BasePlugin ¶
type BasePlugin struct {
StepDefinitions map[string]*StepDefinition
}
BasePlugin represents a base plugin.
func (*BasePlugin) GetSteps ¶
func (p *BasePlugin) GetSteps() map[string]*StepDefinition
GetSteps returns all steps.
func (*BasePlugin) Primitives ¶
func (p *BasePlugin) Primitives()
Primitives initializes the plugin.
func (*BasePlugin) RegisterStep ¶
func (p *BasePlugin) RegisterStep(step *StepDefinition)
RegisterStep registers a step.
func (*BasePlugin) RunStep ¶
func (p *BasePlugin) RunStep(ctx context.Context, stepsgen map[string]any, step *Step) ([]*metrics.Metric, error)
RunStep runs a step.
func (*BasePlugin) StepExists ¶
func (p *BasePlugin) StepExists(name string) bool
StepExists returns true if the step exists.
type PluginInterface ¶
type PluginInterface interface { // Init initializes the plugin. Init() // Primitives returns the plugin primitives. Primitives() // RunStep runs a step. RunStep(context.Context, map[string]any, *Step) ([]*metrics.Metric, error) // RegisterStep registers a step. RegisterStep(*StepDefinition) // StepExists returns true if the step exists. StepExists(string) bool // GetSteps returns all steps. GetSteps() map[string]*StepDefinition }
PluginInterface represents a plugin.
type Step ¶
type Step struct { // Name is the name of the step. Name string // Args is the arguments of the step. Args map[string]string // Timeout is the timeout of the step. Timeout int // Negate is true if the step should be negated. Negate bool }
Step represents a step.
type StepDefinition ¶
type StepDefinition struct { Name string `json:"name"` Description string `json:"description"` Params []StepParam `json:"params"` Fn stepFn `json:"-"` }
StepDefinition represents a step definition.
Click to show internal directories.
Click to hide internal directories.