github.com/cloud-foundations/dominator@v0.0.0-20221004181915-6e4fee580046/cmd/ami-publisher/listStreams.go (about) 1 package main 2 3 import ( 4 "fmt" 5 "os" 6 7 "github.com/Cloud-Foundations/Dominator/imagepublishers/amipublisher" 8 libjson "github.com/Cloud-Foundations/Dominator/lib/json" 9 "github.com/Cloud-Foundations/Dominator/lib/log" 10 "github.com/Cloud-Foundations/Dominator/lib/verstr" 11 ) 12 13 func listStreamsSubcommand(args []string, logger log.DebugLogger) error { 14 if err := listStreams(logger); err != nil { 15 return fmt.Errorf("Error listing streams: %s", err) 16 } 17 return nil 18 } 19 20 func listStreams(logger log.DebugLogger) error { 21 results, err := amipublisher.ListStreams(targets, skipTargets, 22 *instanceName, logger) 23 if err != nil { 24 return err 25 } 26 streams := make([]string, 0, len(results)) 27 for stream := range results { 28 streams = append(streams, stream) 29 } 30 verstr.Sort(streams) 31 return libjson.WriteWithIndent(os.Stdout, " ", streams) 32 }