github.com/tonnydourado/packer@v0.6.1-0.20140701134019-5d0cd9676a37/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 VMXDataPost map[string]string `mapstructure:"vmx_data_post"` 12 } 13 14 func (c *VMXConfig) Prepare(t *packer.ConfigTemplate) []error { 15 errs := make([]error, 0) 16 newVMXData := make(map[string]string) 17 for k, v := range c.VMXData { 18 var err error 19 k, err = t.Process(k, nil) 20 if err != nil { 21 errs = append(errs, 22 fmt.Errorf("Error processing vmx_data key %s: %s", k, err)) 23 continue 24 } 25 26 v, err = t.Process(v, nil) 27 if err != nil { 28 errs = append(errs, 29 fmt.Errorf("Error processing vmx_data value '%s': %s", v, err)) 30 continue 31 } 32 33 newVMXData[k] = v 34 } 35 c.VMXData = newVMXData 36 37 newVMXDataPost := make(map[string]string) 38 for k, v := range c.VMXDataPost { 39 var err error 40 k, err = t.Process(k, nil) 41 if err != nil { 42 errs = append(errs, 43 fmt.Errorf("Error processing vmx_post_data key %s: %s", k, err)) 44 continue 45 } 46 47 v, err = t.Process(v, nil) 48 if err != nil { 49 errs = append(errs, 50 fmt.Errorf("Error processing vmx_post_data value '%s': %s", v, err)) 51 continue 52 } 53 54 newVMXDataPost[k] = v 55 } 56 c.VMXDataPost = newVMXDataPost 57 58 return errs 59 }