in plugin/source/multi/multi.go [74:100]
func Loader(config map[string]interface{}) (go2chef.Source, error) {
s := &Source{
logger: go2chef.GetGlobalLogger(),
SourceName: "",
SourceSpecs: []map[string]interface{}{},
}
if err := mapstructure.Decode(config, s); err != nil {
return nil, err
}
if s.SourceName == "" {
s.SourceName = TypeName
}
for _, spec := range s.SourceSpecs {
stype, err := go2chef.GetType(spec)
if err != nil {
return nil, err
}
src, err := go2chef.GetSource(stype, spec)
if err != nil {
return nil, err
}
s.sources = append(s.sources, src)
}
return s, nil
}