github.com/jbronn/packer@v0.1.6-0.20140120165540-8a1364dbd817/builder/vmware/common/vmx_config.go (about) 1 package common 2 3 import ( 4 "fmt" 5 6 "github.com/mitchellh/packer/packer" 7 ) 8 9 type VMXConfig struct { 10 VMXData map[string]string `mapstructure:"vmx_data"` 11 } 12 13 func (c *VMXConfig) Prepare(t *packer.ConfigTemplate) []error { 14 errs := make([]error, 0) 15 newVMXData := make(map[string]string) 16 for k, v := range c.VMXData { 17 var err error 18 k, err = t.Process(k, nil) 19 if err != nil { 20 errs = append(errs, 21 fmt.Errorf("Error processing VMX data key %s: %s", k, err)) 22 continue 23 } 24 25 v, err = t.Process(v, nil) 26 if err != nil { 27 errs = append(errs, 28 fmt.Errorf("Error processing VMX data value '%s': %s", v, err)) 29 continue 30 } 31 32 newVMXData[k] = v 33 } 34 c.VMXData = newVMXData 35 36 return errs 37 }