Skip to content

Commit b8c3e30

Browse files
committed
Add 'Sys' vars to plan templating, implementing timestamp vars
1 parent a4abecf commit b8c3e30

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

cmd/plan.go

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import (
2222
"io/ioutil"
2323
"os"
2424
"strings"
25+
"time"
2526

2627
"github.com/spf13/cobra"
2728
"gopkg.in/yaml.v2"
@@ -123,15 +124,32 @@ func varsToMap(vars []string) map[string]string {
123124
return varMap
124125
}
125126

127+
func systemVars() map[string]string {
128+
sysMap := make(map[string]string)
129+
130+
currentTime := time.Now()
131+
132+
sysMap["YYYY"] = fmt.Sprintf("%0.4d", currentTime.Year())
133+
sysMap["MM"] = fmt.Sprintf("%0.2d", currentTime.Month())
134+
sysMap["DD"] = fmt.Sprintf("%0.2d", currentTime.Day())
135+
sysMap["HH"] = fmt.Sprintf("%0.2d", currentTime.Hour())
136+
sysMap["MM"] = fmt.Sprintf("%0.2d", currentTime.Minute())
137+
sysMap["SS"] = fmt.Sprintf("%0.2d", currentTime.Second())
138+
139+
return sysMap
140+
}
141+
126142
func processTemplate(varSliceFlag []string, planYaml []byte) ([]byte, error) {
127143
type TemplateVars struct {
128144
Var map[string]string
129145
Env map[string]string
146+
Sys map[string]string
130147
}
131148

132149
tmplVars := &TemplateVars{
133150
Var: varsToMap(varSliceFlag),
134151
Env: envToMap(),
152+
Sys: systemVars(),
135153
}
136154

137155
var tmplBytes bytes.Buffer

0 commit comments

Comments
 (0)