pkg/output/simulate/config.go (28 lines of code) (raw):

package simulate import "fmt" type config struct { Type string `config:"type" validate:"required"` Directory string `config:"directory"` Pattern string `config:"pattern"` Filename string `config:"filename"` } func defaultConfig() config { return config{ Type: Name, } } func (c *config) Validate() error { if c.Type != Name { return fmt.Errorf("%s is not a valid type for %s", c.Type, Name) } if c.Filename != "" && (c.Directory != "" || c.Pattern != "") { return fmt.Errorf("if filename is set, directory and pattern must not be") } if (c.Directory != "" && c.Pattern == "") || (c.Directory == "" && c.Pattern != "") { return fmt.Errorf("directory and pattern must both be set") } if c.Filename == "" && c.Directory == "" && c.Pattern == "" { return fmt.Errorf("you must specify filename or directory and pattern") } return nil }