func getUsedCharms(model description.Model) set.Strings { result := set.NewStrings() for _, service := range model.Services() { result.Add(service.CharmURL()) } return result }
func getUsedToolsVersions(model description.Model) map[version.Binary]bool { // Iterate through the model for all tools, and make a map of them. usedVersions := make(map[version.Binary]bool) // It is most likely that the preconditions will limit the number of // tools versions in use, but that is not depended on here. for _, machine := range model.Machines() { addToolsVersionForMachine(machine, usedVersions) } for _, service := range model.Services() { for _, unit := range service.Units() { tools := unit.Tools() usedVersions[tools.Version()] = true } } return usedVersions }