in config/sources.go [32:56]
func (s *Source) Validate(c *Config) error {
if s.Name == "" {
return errors.New("missing source name")
}
types := 0
for _, v := range []Validatable{s.Heartbeat} {
if reflect.ValueOf(v).IsNil() {
continue
}
if err := v.Validate(c); err != nil {
return fmt.Errorf("source %v: %v", s.Name, err)
}
types++
}
if types == 0 {
return fmt.Errorf("source %v: missing type configuration", s.Name)
}
if types > 1 {
return fmt.Errorf("source %v: multiple type configurations", s.Name)
}
return nil
}