//go:generate struct-markdown package common import ( "github.com/hashicorp/packer/packer-plugin-sdk/template/interpolate" ) type VMXConfig struct { // Arbitrary key/values to enter // into the virtual machine VMX file. This is for advanced users who want to // set properties that aren't yet supported by the builder. VMXData map[string]string `mapstructure:"vmx_data" required:"false"` // Identical to vmx_data, // except that it is run after the virtual machine is shutdown, and before the // virtual machine is exported. VMXDataPost map[string]string `mapstructure:"vmx_data_post" required:"false"` // Remove all ethernet interfaces // from the VMX file after building. This is for advanced users who understand // the ramifications, but is useful for building Vagrant boxes since Vagrant // will create ethernet interfaces when provisioning a box. Defaults to // false. VMXRemoveEthernet bool `mapstructure:"vmx_remove_ethernet_interfaces" required:"false"` // The name that will appear in your vSphere client, // and will be used for the vmx basename. This will override the "displayname" // value in your vmx file. It will also override the "displayname" if you have // set it in the "vmx_data" Packer option. This option is useful if you are // chaining vmx builds and want to make sure that the display name of each step // in the chain is unique. VMXDisplayName string `mapstructure:"display_name" required:"false"` } func (c *VMXConfig) Prepare(ctx *interpolate.Context) []error { return nil }