gomonop/pkg/plugin/plugin.go

21 lines
685 B
Go
Raw Normal View History

2024-07-19 23:50:50 +02:00
package plugin // import nocternity.net/gomonop/pkg/plugin
import "nocternity.net/gomonop/pkg/results"
// Plugin represents the interface to a monitoring plugin.
type Plugin interface {
// Results accesses the results of the monitoring plugin.
Results() *results.Results
// CheckArguments ensures that the arguments that were passed to the plugin
// actually make sense. Errors should be stored in the plugin's results.
CheckArguments() bool
// RunCheck actually runs whatever checks are implemented by the plugin and
// updates the results accordingly.
RunCheck()
}
// Builder is a function that can be called in order to instantiate a plugin.
type Builder func() Plugin