Merge pull request #4536 from mitchellh/vmwareextraopts
builder/vmware: allow extra options for ovftool
This commit is contained in:
commit
1f2df5c174
|
@ -38,19 +38,20 @@ type Config struct {
|
||||||
vmwcommon.VMXConfig `mapstructure:",squash"`
|
vmwcommon.VMXConfig `mapstructure:",squash"`
|
||||||
|
|
||||||
AdditionalDiskSize []uint `mapstructure:"disk_additional_size"`
|
AdditionalDiskSize []uint `mapstructure:"disk_additional_size"`
|
||||||
|
BootCommand []string `mapstructure:"boot_command"`
|
||||||
DiskName string `mapstructure:"vmdk_name"`
|
DiskName string `mapstructure:"vmdk_name"`
|
||||||
DiskSize uint `mapstructure:"disk_size"`
|
DiskSize uint `mapstructure:"disk_size"`
|
||||||
DiskTypeId string `mapstructure:"disk_type_id"`
|
DiskTypeId string `mapstructure:"disk_type_id"`
|
||||||
Format string `mapstructure:"format"`
|
Format string `mapstructure:"format"`
|
||||||
GuestOSType string `mapstructure:"guest_os_type"`
|
GuestOSType string `mapstructure:"guest_os_type"`
|
||||||
Version string `mapstructure:"version"`
|
|
||||||
VMName string `mapstructure:"vm_name"`
|
|
||||||
BootCommand []string `mapstructure:"boot_command"`
|
|
||||||
KeepRegistered bool `mapstructure:"keep_registered"`
|
KeepRegistered bool `mapstructure:"keep_registered"`
|
||||||
|
OVFToolOptions []string `mapstructure:"ovftool_options"`
|
||||||
SkipCompaction bool `mapstructure:"skip_compaction"`
|
SkipCompaction bool `mapstructure:"skip_compaction"`
|
||||||
SkipExport bool `mapstructure:"skip_export"`
|
SkipExport bool `mapstructure:"skip_export"`
|
||||||
VMXTemplatePath string `mapstructure:"vmx_template_path"`
|
VMName string `mapstructure:"vm_name"`
|
||||||
VMXDiskTemplatePath string `mapstructure:"vmx_disk_template_path"`
|
VMXDiskTemplatePath string `mapstructure:"vmx_disk_template_path"`
|
||||||
|
VMXTemplatePath string `mapstructure:"vmx_template_path"`
|
||||||
|
Version string `mapstructure:"version"`
|
||||||
|
|
||||||
RemoteType string `mapstructure:"remote_type"`
|
RemoteType string `mapstructure:"remote_type"`
|
||||||
RemoteDatastore string `mapstructure:"remote_datastore"`
|
RemoteDatastore string `mapstructure:"remote_datastore"`
|
||||||
|
|
|
@ -3,14 +3,15 @@ package iso
|
||||||
import (
|
import (
|
||||||
"bytes"
|
"bytes"
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/mitchellh/multistep"
|
|
||||||
"github.com/mitchellh/packer/packer"
|
|
||||||
"net/url"
|
"net/url"
|
||||||
"os"
|
"os"
|
||||||
"os/exec"
|
"os/exec"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
"runtime"
|
"runtime"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
|
"github.com/mitchellh/multistep"
|
||||||
|
"github.com/mitchellh/packer/packer"
|
||||||
)
|
)
|
||||||
|
|
||||||
type StepExport struct {
|
type StepExport struct {
|
||||||
|
@ -23,13 +24,14 @@ func (s *StepExport) generateArgs(c *Config, outputPath string, hidePassword boo
|
||||||
if hidePassword {
|
if hidePassword {
|
||||||
password = "****"
|
password = "****"
|
||||||
}
|
}
|
||||||
return []string{
|
args := []string{
|
||||||
"--noSSLVerify=true",
|
"--noSSLVerify=true",
|
||||||
"--skipManifestCheck",
|
"--skipManifestCheck",
|
||||||
"-tt=" + s.Format,
|
"-tt=" + s.Format,
|
||||||
"vi://" + c.RemoteUser + ":" + password + "@" + c.RemoteHost + "/" + c.VMName,
|
"vi://" + c.RemoteUser + ":" + password + "@" + c.RemoteHost + "/" + c.VMName,
|
||||||
outputPath,
|
outputPath,
|
||||||
}
|
}
|
||||||
|
return append(c.OVFToolOptions, args...)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *StepExport) Run(state multistep.StateBag) multistep.StepAction {
|
func (s *StepExport) Run(state multistep.StateBag) multistep.StepAction {
|
||||||
|
|
|
@ -240,6 +240,11 @@ builder.
|
||||||
deploy the resulting artifact (VMX or OVA or whatever you used as `format`).
|
deploy the resulting artifact (VMX or OVA or whatever you used as `format`).
|
||||||
Defaults to `false`.
|
Defaults to `false`.
|
||||||
|
|
||||||
|
- `ovftool_options` (array of strings) - Extra options to pass to ovftool
|
||||||
|
during export. Each item in the array is a new argument. The options
|
||||||
|
`--noSSLVerify`, `--skipManifestCheck`, and `--targetType` are reserved,
|
||||||
|
and should not be passed to this argument.
|
||||||
|
|
||||||
- `tools_upload_flavor` (string) - The flavor of the VMware Tools ISO to
|
- `tools_upload_flavor` (string) - The flavor of the VMware Tools ISO to
|
||||||
upload into the VM. Valid values are "darwin", "linux", and "windows". By
|
upload into the VM. Valid values are "darwin", "linux", and "windows". By
|
||||||
default, this is empty, which means VMware tools won't be uploaded.
|
default, this is empty, which means VMware tools won't be uploaded.
|
||||||
|
|
Loading…
Reference in New Issue