github.com/craigmonson/colonize@v0.1.1-alpha.0.20170808202020-04bf903fb1ea/generate/leaf/leaf.go (about) 1 package leaf 2 3 import ( 4 "fmt" 5 "os" 6 7 "github.com/fatih/color" 8 9 "github.com/craigmonson/colonize/config" 10 "github.com/craigmonson/colonize/log" 11 "github.com/craigmonson/colonize/util" 12 ) 13 14 type RunArgs struct { 15 Name string 16 BuildOrder *os.File 17 } 18 19 func Run(c *config.Config, l log.Logger, args interface{}) error { 20 runArgs := args.(RunArgs) 21 22 cwd, _ := os.Getwd() 23 branch := util.GetBasename(cwd) 24 l.LogPretty(util.PadRight(fmt.Sprintf("\nGENERATE [Leaf | %s/%s] ", branch, runArgs.Name), "*", 79), color.Bold) 25 26 l.Log("Creating leaf directory...") 27 os.Mkdir(runArgs.Name, 0755) 28 29 l.Log("Creating main leaf terraform template...") 30 util.Touch(runArgs.Name, "main.tf") 31 32 l.Log("Updating branch build order file...") 33 runArgs.BuildOrder.WriteString(runArgs.Name + "\n") 34 35 return nil 36 }