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  }