github.com/cloud-foundations/dominator@v0.0.0-20221004181915-6e4fee580046/cmd/ami-publisher/startInstances.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  )
    11  
    12  func startInstancesSubcommand(args []string, logger log.DebugLogger) error {
    13  	if err := startInstances(*instanceName, logger); err != nil {
    14  		return fmt.Errorf("Error starting instances: %s", err)
    15  	}
    16  	return nil
    17  }
    18  
    19  func startInstances(name string, logger log.DebugLogger) error {
    20  	results, err := amipublisher.StartInstances(targets, skipTargets, name,
    21  		logger)
    22  	if err != nil {
    23  		return err
    24  	}
    25  	if err := libjson.WriteWithIndent(os.Stdout, "    ", results); err != nil {
    26  		return err
    27  	}
    28  	for _, result := range results {
    29  		if result.Error != nil {
    30  			return result.Error
    31  		}
    32  	}
    33  	return nil
    34  }