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 }