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  }