From de29431a43ee29f2ec70d79a345155cb5c6a83ac Mon Sep 17 00:00:00 2001 From: Florian Noeding Date: Tue, 6 May 2014 18:45:35 +0200 Subject: [PATCH] null-builder: added support for templating --- builder/null/config.go | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/builder/null/config.go b/builder/null/config.go index 94f3b21e7..4823df8ae 100644 --- a/builder/null/config.go +++ b/builder/null/config.go @@ -32,14 +32,28 @@ func NewConfig(raws ...interface{}) (*Config, []string, error) { c.tpl.UserVars = c.PackerUserVars - // Defaults if c.Port == 0 { c.Port = 22 } - // (none so far) errs := common.CheckUnusedConfig(md) + templates := map[string]*string{ + "host": &c.Host, + "ssh_username": &c.SSHUsername, + "ssh_password": &c.SSHPassword, + "ssh_private_key_file": &c.SSHPrivateKeyFile, + } + + for n, ptr := range templates { + var err error + *ptr, err = c.tpl.Process(*ptr, nil) + if err != nil { + errs = packer.MultiErrorAppend( + errs, fmt.Errorf("Error processing %s: %s", n, err)) + } + } + if c.Host == "" { errs = packer.MultiErrorAppend(errs, fmt.Errorf("host must be specified"))