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  }