From ddec107c18bb68eccfa42d84ca1e028ac247d8f2 Mon Sep 17 00:00:00 2001 From: Steven Kaufer Date: Wed, 17 May 2017 22:35:20 -0500 Subject: [PATCH] Support int and bool types as template CLI vars Commit ce00509140f0bb010ec230412317dc5c85571566 overrode the changes in commit 8f9f5332b63e5e38c524676b596b87e85ecedd83. Signed-off-by: Steven Kaufer --- pkg/cli/services.go | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/pkg/cli/services.go b/pkg/cli/services.go index 4320d7825..14a6f8a77 100644 --- a/pkg/cli/services.go +++ b/pkg/cli/services.go @@ -5,6 +5,7 @@ import ( "io/ioutil" "os" "path" + "strconv" "strings" "github.com/docker/infrakit/pkg/discovery" @@ -171,7 +172,15 @@ func templateProcessor(plugins func() discovery.Plugins) (*pflag.FlagSet, ToJSON key := strings.TrimSpace(kv[0]) val := strings.TrimSpace(kv[1]) if key != "" && val != "" { - engine.Global(key, val) + // Attempt to convert to int and bool types so that template operations + // are not only against strings. + if intVal, err := strconv.Atoi(val); err == nil { + engine.Global(key, intVal) + } else if boolVar, err := strconv.ParseBool(val); err == nil { + engine.Global(key, boolVar) + } else { + engine.Global(key, val) + } } }