Documentation ¶
Overview ¶
Package iohandler implements the iohandler for the plugins
Index ¶
- Constants
- func TruncateOutput(stdout string, stderr string, capacity int) (response string)
- type DefaultIOHandler
- func (out *DefaultIOHandler) AppendError(message string)
- func (out *DefaultIOHandler) AppendErrorf(format string, params ...interface{})
- func (out *DefaultIOHandler) AppendInfo(message string)
- func (out *DefaultIOHandler) AppendInfof(format string, params ...interface{})
- func (out *DefaultIOHandler) Close()
- func (out DefaultIOHandler) GetExitCode() int
- func (out DefaultIOHandler) GetIOConfig() contracts.IOConfiguration
- func (out DefaultIOHandler) GetOutput() interface{}
- func (out DefaultIOHandler) GetStatus() contracts.ResultStatus
- func (out DefaultIOHandler) GetStderr() string
- func (out DefaultIOHandler) GetStderrWriter() multiwriter.DocumentIOMultiWriter
- func (out DefaultIOHandler) GetStdout() string
- func (out DefaultIOHandler) GetStdoutWriter() multiwriter.DocumentIOMultiWriter
- func (out *DefaultIOHandler) Init(filePath ...string)
- func (out *DefaultIOHandler) MarkAsCancelled()
- func (out *DefaultIOHandler) MarkAsFailed(err error)
- func (out *DefaultIOHandler) MarkAsInProgress()
- func (out *DefaultIOHandler) MarkAsShutdown()
- func (out *DefaultIOHandler) MarkAsSucceeded()
- func (out *DefaultIOHandler) MarkAsSuccessWithReboot()
- func (out *DefaultIOHandler) Merge(mergeOutput *DefaultIOHandler)
- func (out *DefaultIOHandler) RegisterOutputSource(multiWriter multiwriter.DocumentIOMultiWriter, IOModules ...iomodule.IOModule)
- func (out *DefaultIOHandler) SetExitCode(exitCode int)
- func (out *DefaultIOHandler) SetOutput(output interface{})
- func (out *DefaultIOHandler) SetStatus(status contracts.ResultStatus)
- func (out *DefaultIOHandler) SetStderr(stderr string)
- func (out *DefaultIOHandler) SetStdout(stdout string)
- func (out DefaultIOHandler) String() (response string)
- type IOHandler
- type PluginConfig
Constants ¶
const (
// maximumPluginOutputSize represents the maximum output size that agent supports
MaximumPluginOutputSize = 2500
)
Variables ¶
This section is empty.
Functions ¶
Types ¶
type DefaultIOHandler ¶
type DefaultIOHandler struct { ExitCode int Status contracts.ResultStatus // List of Writers attached to the IOHandler instance StdoutWriter multiwriter.DocumentIOMultiWriter StderrWriter multiwriter.DocumentIOMultiWriter // contains filtered or unexported fields }
DefaultIOHandler is used for writing output by the plugins
func NewDefaultIOHandler ¶
func NewDefaultIOHandler(context context.T, ioConfig contracts.IOConfiguration) *DefaultIOHandler
NewDefaultIOHandler returns a new instance of the IOHandler
func (*DefaultIOHandler) AppendError ¶
func (out *DefaultIOHandler) AppendError(message string)
AppendError adds errors to DefaultIOHandler StandardErr.
func (*DefaultIOHandler) AppendErrorf ¶
func (out *DefaultIOHandler) AppendErrorf(format string, params ...interface{})
AppendErrorf adds errors to DefaultIOHandler StandardErr with formatting parameters.
func (*DefaultIOHandler) AppendInfo ¶
func (out *DefaultIOHandler) AppendInfo(message string)
AppendInfo adds info to IOHandler StandardOut.
func (*DefaultIOHandler) AppendInfof ¶
func (out *DefaultIOHandler) AppendInfof(format string, params ...interface{})
AppendInfof adds info to DefaultIOHandler StandardOut with formatting parameters.
func (*DefaultIOHandler) Close ¶
func (out *DefaultIOHandler) Close()
Close closes all the attached writers.
func (DefaultIOHandler) GetExitCode ¶
func (out DefaultIOHandler) GetExitCode() int
GetExitCode returns the exit code
func (DefaultIOHandler) GetIOConfig ¶
func (out DefaultIOHandler) GetIOConfig() contracts.IOConfiguration
GetIOConfig returns the io configuration
func (DefaultIOHandler) GetOutput ¶
func (out DefaultIOHandler) GetOutput() interface{}
GetOutput returns the output to be appended to the response
func (DefaultIOHandler) GetStatus ¶
func (out DefaultIOHandler) GetStatus() contracts.ResultStatus
GetStatus returns the status
func (DefaultIOHandler) GetStderr ¶
func (out DefaultIOHandler) GetStderr() string
GetStderr returns the stderr
func (DefaultIOHandler) GetStderrWriter ¶
func (out DefaultIOHandler) GetStderrWriter() multiwriter.DocumentIOMultiWriter
GetStderrWriter returns the stderr writer
func (DefaultIOHandler) GetStdout ¶
func (out DefaultIOHandler) GetStdout() string
GetStdout returns the stdout
func (DefaultIOHandler) GetStdoutWriter ¶
func (out DefaultIOHandler) GetStdoutWriter() multiwriter.DocumentIOMultiWriter
GetStdoutWriter returns the stdout writer
func (*DefaultIOHandler) Init ¶
func (out *DefaultIOHandler) Init(filePath ...string)
Init initializes the plugin output object by creating the necessary writers
func (*DefaultIOHandler) MarkAsCancelled ¶
func (out *DefaultIOHandler) MarkAsCancelled()
MarkAsCancelled marks a plugin as Cancelled.
func (*DefaultIOHandler) MarkAsFailed ¶
func (out *DefaultIOHandler) MarkAsFailed(err error)
MarkAsFailed Failed marks plugin as Failed
func (*DefaultIOHandler) MarkAsInProgress ¶
func (out *DefaultIOHandler) MarkAsInProgress()
MarkAsInProgress marks plugin as In Progress.
func (*DefaultIOHandler) MarkAsShutdown ¶
func (out *DefaultIOHandler) MarkAsShutdown()
MarkAsShutdown marks a plugin as Failed in the case of interruption due to shutdown signal.
func (*DefaultIOHandler) MarkAsSucceeded ¶
func (out *DefaultIOHandler) MarkAsSucceeded()
MarkAsSucceeded marks plugin as Successful.
func (*DefaultIOHandler) MarkAsSuccessWithReboot ¶
func (out *DefaultIOHandler) MarkAsSuccessWithReboot()
MarkAsSuccessWithReboot marks plugin as Successful and requests a reboot.
func (*DefaultIOHandler) Merge ¶
func (out *DefaultIOHandler) Merge(mergeOutput *DefaultIOHandler)
Merge plugin output objects
func (*DefaultIOHandler) RegisterOutputSource ¶
func (out *DefaultIOHandler) RegisterOutputSource(multiWriter multiwriter.DocumentIOMultiWriter, IOModules ...iomodule.IOModule)
RegisterOutputSource returns a new output source by creating a multiwriter for the output modules.
func (*DefaultIOHandler) SetExitCode ¶
func (out *DefaultIOHandler) SetExitCode(exitCode int)
SetExitCode sets the exit code
func (*DefaultIOHandler) SetOutput ¶
func (out *DefaultIOHandler) SetOutput(output interface{})
SetOutput sets the output
func (*DefaultIOHandler) SetStatus ¶
func (out *DefaultIOHandler) SetStatus(status contracts.ResultStatus)
SetStatus sets the status
func (*DefaultIOHandler) SetStderr ¶
func (out *DefaultIOHandler) SetStderr(stderr string)
SetStderr sets the stderr
func (*DefaultIOHandler) SetStdout ¶
func (out *DefaultIOHandler) SetStdout(stdout string)
SetStdout sets the stdout
func (DefaultIOHandler) String ¶
func (out DefaultIOHandler) String() (response string)
String returns the output by concatenating stdout and stderr
type IOHandler ¶
type IOHandler interface { Init(...string) RegisterOutputSource(multiwriter.DocumentIOMultiWriter, ...iomodule.IOModule) Close() String() string MarkAsFailed(err error) MarkAsSucceeded() MarkAsInProgress() MarkAsSuccessWithReboot() MarkAsCancelled() MarkAsShutdown() AppendInfo(message string) AppendInfof(format string, params ...interface{}) AppendError(message string) AppendErrorf(format string, params ...interface{}) // getters/setters GetStatus() contracts.ResultStatus GetStdout() string GetStderr() string GetExitCode() int GetStdoutWriter() multiwriter.DocumentIOMultiWriter GetStderrWriter() multiwriter.DocumentIOMultiWriter GetIOConfig() contracts.IOConfiguration SetStatus(contracts.ResultStatus) SetExitCode(int) SetOutput(interface{}) SetStdout(string) SetStderr(string) }
IOHandler Interface defines interface for IOHandler type
type PluginConfig ¶
type PluginConfig struct { StdoutFileName string StderrFileName string StdoutConsoleFileName string StderrConsoleFileName string MaxStdoutLength int MaxStderrLength int OutputTruncatedSuffix string }
PluginConfig is used for initializing plugins with default values
func DefaultOutputConfig ¶
func DefaultOutputConfig() PluginConfig
DefaultOutputConfig returns the default values for the plugin
Directories ¶
Path | Synopsis |
---|---|
Package iomodule implements the output modules
|
Package iomodule implements the output modules |
mock
Package iomodulemock implements the mock iomodule
|
Package iomodulemock implements the mock iomodule |
Package iohandlermocks implements the mock iohandler
|
Package iohandlermocks implements the mock iohandler |
Package multiwriter implements a multi-writer
|
Package multiwriter implements a multi-writer |
mock
Package multiwritermock creates the mock mulitwriter
|
Package multiwritermock creates the mock mulitwriter |