return fmt.Errorf("%s: failed to load: %v", path, err)
}
- groupsMap := make(map[string]bool)
+ defArgs := templateArgs{
+ groups: make(map[string]bool),
+ allHosts: make(map[string]bool),
+ allGroups: make(map[string]bool),
+ allGroupHosts: allGroups,
+ }
for _, x := range groups {
- groupsMap[x] = true
+ defArgs.groups[x] = true
}
- allHostsMap := make(map[string]bool)
for x := range allHosts.Map {
- allHostsMap[x] = true
+ defArgs.allHosts[x] = true
}
- allGroupsMap := make(map[string]bool)
for x := range allGroups {
- allGroupsMap[x] = true
+ defArgs.allGroups[x] = true
}
for _, x := range templates {
if err != nil {
return fmt.Errorf("%s: invalid %v", path, err)
}
- err = tmpl.Execute(&buf, &templateArgs{
- Host: host,
- Hostname: strings.Split(host, ".")[0],
- groups: groupsMap,
- allHosts: allHostsMap,
- allGroups: allGroupsMap,
- allGroupHosts: allGroups,
- })
+ args := defArgs
+ args.Host = host
+ args.Hostname = strings.Split(host, ".")[0]
+ err = tmpl.Execute(&buf, &args)
if err != nil {
return fmt.Errorf("%s: %v", path, err)
}