1
1
mirror of https://github.com/adammck/terraform-inventory synced 2024-11-23 04:22:08 +01:00

List resources with and without counters

This commit is contained in:
Adam Mckaig 2015-12-09 22:54:19 -05:00
parent f518634ed6
commit a212fb68b7

19
cli.go

@ -9,18 +9,27 @@ import (
func cmdList(stdout io.Writer, stderr io.Writer, s *state) int { func cmdList(stdout io.Writer, stderr io.Writer, s *state) int {
groups := make(map[string][]string, 0) groups := make(map[string][]string, 0)
// add each instance as a pseudo-group, so they can be provisioned // Add each instance name as a pseudo-group, so they can be provisioned
// individually where necessary. // individually where necessary.
for name, res := range s.resources() { for _, res := range s.resources() {
groups[name] = []string{res.Address()} _, ok := groups[res.Name]
if !ok {
groups[res.Name] = []string{}
}
// Add the instance by name. There can be many instances with the same name,
// created using the count parameter.
groups[res.Name] = append(groups[res.Name], res.Address())
groups[res.NameWithCounter()] = []string{res.Address()}
} }
return output(stdout, stderr, groups) return output(stdout, stderr, groups)
} }
func cmdHost(stdout io.Writer, stderr io.Writer, s *state, hostname string) int { func cmdHost(stdout io.Writer, stderr io.Writer, s *state, hostname string) int {
for name, res := range s.resources() { for _, res := range s.resources() {
if hostname == name { if hostname == res.Name {
return output(stdout, stderr, res.Attributes()) return output(stdout, stderr, res.Attributes())
} }
} }