github.com/craigmonson/colonize@v0.1.1-alpha.0.20170808202020-04bf903fb1ea/plan/plan.go (about)

     1  package plan
     2  
     3  import (
     4  	"os"
     5  
     6  	"github.com/craigmonson/colonize/config"
     7  	"github.com/craigmonson/colonize/log"
     8  	"github.com/craigmonson/colonize/util"
     9  )
    10  
    11  type RunArgs struct {
    12  	SkipRemote bool
    13  }
    14  
    15  func Run(c *config.Config, l log.Logger, args interface{}) error {
    16  	runArgs := args.(RunArgs)
    17  
    18  	if runArgs.SkipRemote {
    19  		l.Log("Skipping remote setup")
    20  	} else {
    21  		l.Log("Running remote setup")
    22  		util.RunCmd(c.CombinedRemoteFilePath)
    23  	}
    24  
    25  	l.Log("Executing terraform plan")
    26  	l.Log(c.CombinedValsFilePath)
    27  	d, _ := os.Getwd()
    28  	l.Log(d)
    29  	err := util.RunCmd(
    30  		"terraform",
    31  		"plan",
    32  		"-var-file", c.CombinedValsFilePath,
    33  		"-var-file", c.CombinedDerivedValsFilePath,
    34  		"-out", "terraform.tfplan",
    35  	)
    36  	return err
    37  }