Make review changes to logstash input (#6299)
This commit is contained in:
36
internal/choice/choice.go
Normal file
36
internal/choice/choice.go
Normal file
@@ -0,0 +1,36 @@
|
||||
// Package choice provides basic functions for working with
|
||||
// plugin options that must be one of several values.
|
||||
package choice
|
||||
|
||||
import "fmt"
|
||||
|
||||
// Contains return true if the choice in the list of choices.
|
||||
func Contains(choice string, choices []string) bool {
|
||||
for _, item := range choices {
|
||||
if item == choice {
|
||||
return true
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
// CheckSContains returns an error if a choice is not one of
|
||||
// the available choices.
|
||||
func Check(choice string, available []string) error {
|
||||
if !Contains(choice, available) {
|
||||
return fmt.Errorf("unknown choice %s", choice)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// CheckSliceContains returns an error if the choices is not a subset of
|
||||
// available.
|
||||
func CheckSlice(choices, available []string) error {
|
||||
for _, choice := range choices {
|
||||
err := Check(choice, available)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
Reference in New Issue
Block a user