Adding upstream version 1.34.4.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
e393c3af3f
commit
4978089aab
4963 changed files with 677545 additions and 0 deletions
64
plugin.go
Normal file
64
plugin.go
Normal file
|
@ -0,0 +1,64 @@
|
|||
package telegraf
|
||||
|
||||
// DeprecationInfo contains information for marking a plugin deprecated.
|
||||
type DeprecationInfo struct {
|
||||
// Since specifies the version since when the plugin is deprecated
|
||||
Since string
|
||||
// RemovalIn optionally specifies the version when the plugin is scheduled for removal
|
||||
RemovalIn string
|
||||
// Notice for the user on suggested replacements etc.
|
||||
Notice string
|
||||
}
|
||||
|
||||
// Initializer is an interface that all plugin types: Inputs, Outputs,
|
||||
// Processors, and Aggregators can optionally implement to initialize the
|
||||
// plugin.
|
||||
type Initializer interface {
|
||||
// Init performs one time setup of the plugin and returns an error if the
|
||||
// configuration is invalid.
|
||||
Init() error
|
||||
}
|
||||
|
||||
// PluginDescriber contains the functions all plugins must implement to describe
|
||||
// themselves to Telegraf. Note that all plugins may define a logger that is
|
||||
// not part of the interface, but will receive an injected logger if it's set.
|
||||
// eg: Log telegraf.Logger `toml:"-"`
|
||||
type PluginDescriber interface {
|
||||
// SampleConfig returns the default configuration of the Plugin
|
||||
SampleConfig() string
|
||||
}
|
||||
|
||||
// PluginWithID allows a plugin to overwrite its identifier of the plugin
|
||||
// instance by a user specified value. By default the ID is generated
|
||||
// using the plugin's configuration.
|
||||
type PluginWithID interface {
|
||||
// ID returns the ID of the plugin instance. This function has to be
|
||||
// callable directly after the plugin's Init() function if there is any!
|
||||
ID() string
|
||||
}
|
||||
|
||||
// StatefulPlugin contains the functions that plugins must implement to
|
||||
// persist an internal state across Telegraf runs.
|
||||
// Note that plugins may define a persister that is not part of the
|
||||
// interface, but can be used to trigger state updates by the plugin if
|
||||
// it exists in the plugin struct,
|
||||
// eg: Persister telegraf.StatePersister `toml:"-"`
|
||||
type StatefulPlugin interface {
|
||||
// GetState returns the current state of the plugin to persist
|
||||
// The returned state can be of any time as long as it can be
|
||||
// serialized to JSON. The best choice is a structure defined in
|
||||
// your plugin.
|
||||
// Note: This function has to be callable directly after the
|
||||
// plugin's Init() function if there is any!
|
||||
GetState() interface{}
|
||||
|
||||
// SetState is called by the Persister once after loading and
|
||||
// initialization (after Init() function).
|
||||
SetState(state interface{}) error
|
||||
}
|
||||
|
||||
// ProbePlugin is an interface that all input/output plugins need to
|
||||
// implement in order to support the `probe` value of `startup_error_behavior`
|
||||
type ProbePlugin interface {
|
||||
Probe() error
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue