github.com/cloud-foundations/dominator@v0.0.0-20221004181915-6e4fee580046/cmd/imagetool/mergeTriggers.go (about)

     1  package main
     2  
     3  import (
     4  	"fmt"
     5  	"os"
     6  
     7  	json "github.com/Cloud-Foundations/Dominator/lib/json"
     8  	"github.com/Cloud-Foundations/Dominator/lib/log"
     9  	"github.com/Cloud-Foundations/Dominator/lib/triggers"
    10  )
    11  
    12  func mergeTriggersSubcommand(args []string, logger log.DebugLogger) error {
    13  	if err := mergeTriggers(args); err != nil {
    14  		return fmt.Errorf("Error merging triggers: %s", err)
    15  	}
    16  	return nil
    17  }
    18  
    19  func mergeTriggers(triggerFiles []string) error {
    20  	mergeableTriggers := &triggers.MergeableTriggers{}
    21  	for _, triggerFile := range triggerFiles {
    22  		trig, err := triggers.Load(triggerFile)
    23  		if err != nil {
    24  			return err
    25  		}
    26  		mergeableTriggers.Merge(trig)
    27  	}
    28  	trig := mergeableTriggers.ExportTriggers()
    29  	return json.WriteWithIndent(os.Stdout, "    ", trig.Triggers)
    30  }