packer-cn/builder/vmware/common/tools_config.go

29 lines
996 B
Go

package common
import (
"github.com/hashicorp/packer/template/interpolate"
)
type ToolsConfig struct {
// The flavor of the VMware Tools ISO to
// upload into the VM. Valid values are darwin, linux, and windows. By
// default, this is empty, which means VMware tools won't be uploaded.
ToolsUploadFlavor string `mapstructure:"tools_upload_flavor" required:"false"`
// The path in the VM to upload the
// VMware tools. This only takes effect if tools_upload_flavor is non-empty.
// This is a configuration
// template that has a single
// valid variable: Flavor, which will be the value of tools_upload_flavor.
// By default the upload path is set to {{.Flavor}}.iso. This setting is not
// used when remote_type is esx5.
ToolsUploadPath string `mapstructure:"tools_upload_path" required:"false"`
}
func (c *ToolsConfig) Prepare(ctx *interpolate.Context) []error {
if c.ToolsUploadPath == "" {
c.ToolsUploadPath = "{{ .Flavor }}.iso"
}
return nil
}