template/interpolate: upper/lower
This commit is contained in:
parent
7659a91445
commit
a4b5e08fe4
|
@ -5,8 +5,11 @@ import (
|
|||
"fmt"
|
||||
"os"
|
||||
"strconv"
|
||||
"strings"
|
||||
"text/template"
|
||||
"time"
|
||||
|
||||
"github.com/mitchellh/packer/common/uuid"
|
||||
)
|
||||
|
||||
// InitTime is the UTC time when this package was initialized. It is
|
||||
|
@ -24,7 +27,11 @@ var FuncGens = map[string]FuncGenerator{
|
|||
"isotime": funcGenIsotime,
|
||||
"pwd": funcGenPwd,
|
||||
"timestamp": funcGenTimestamp,
|
||||
"uuid": funcGenUuid,
|
||||
"user": funcGenUser,
|
||||
|
||||
"upper": funcGenPrimitive(strings.ToUpper),
|
||||
"lower": funcGenPrimitive(strings.ToLower),
|
||||
}
|
||||
|
||||
// FuncGenerator is a function that given a context generates a template
|
||||
|
@ -68,6 +75,12 @@ func funcGenIsotime(ctx *Context) interface{} {
|
|||
}
|
||||
}
|
||||
|
||||
func funcGenPrimitive(value interface{}) FuncGenerator {
|
||||
return func(ctx *Context) interface{} {
|
||||
return value
|
||||
}
|
||||
}
|
||||
|
||||
func funcGenPwd(ctx *Context) interface{} {
|
||||
return func() (string, error) {
|
||||
return os.Getwd()
|
||||
|
@ -85,3 +98,9 @@ func funcGenUser(ctx *Context) interface{} {
|
|||
return ""
|
||||
}
|
||||
}
|
||||
|
||||
func funcGenUuid(ctx *Context) interface{} {
|
||||
return func() string {
|
||||
return uuid.TimeOrderedUUID()
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue