in config/endpoint.go [59:85]
func (e *Endpoint) Validate(c *Config) error {
if e.Name == "" {
return errors.New("endpoint: missing name")
}
// TODO(volkman): determine other Name requirements (no '/'?)
types := 0
for _, v := range []Validatable{e.Disk, e.PubSub, e.ServiceControl} {
if reflect.ValueOf(v).IsNil() {
continue
}
if err := v.Validate(c); err != nil {
return err
}
types++
}
if types == 0 {
return errors.New(fmt.Sprintf("endpoint %v: missing type configuration", e.Name))
}
if types > 1 {
return errors.New(fmt.Sprintf("endpoint %v: multiple type configurations", e.Name))
}
return nil
}