mirror of
https://github.com/yannh/kubeconform.git
synced 2026-02-11 14:09:21 +00:00
32 lines
933 B
Go
32 lines
933 B
Go
package output
|
|
|
|
import (
|
|
"fmt"
|
|
"io"
|
|
|
|
"github.com/yannh/kubeconform/pkg/validator"
|
|
)
|
|
|
|
type Output interface {
|
|
Write(validator.Result) error
|
|
Flush() error
|
|
}
|
|
|
|
func New(w io.Writer, outputFormat string, printSummary, isStdin, verbose bool) (Output, error) {
|
|
switch {
|
|
case outputFormat == "sarif":
|
|
return sarifOutput(w, printSummary, isStdin, verbose), nil
|
|
case outputFormat == "json":
|
|
return jsonOutput(w, printSummary, isStdin, verbose), nil
|
|
case outputFormat == "junit":
|
|
return junitOutput(w, printSummary, isStdin, verbose), nil
|
|
case outputFormat == "pretty":
|
|
return prettyOutput(w, printSummary, isStdin, verbose), nil
|
|
case outputFormat == "tap":
|
|
return tapOutput(w, printSummary, isStdin, verbose), nil
|
|
case outputFormat == "text":
|
|
return textOutput(w, printSummary, isStdin, verbose), nil
|
|
default:
|
|
return nil, fmt.Errorf("'outputFormat' must be 'json', 'junit', 'pretty', 'tap', 'sarif' or 'text'")
|
|
}
|
|
}
|