|
|
|
|
@ -14,16 +14,15 @@ import (
|
|
|
|
|
type HWConfig struct {
|
|
|
|
|
// The number of cpus to use when building the VM.
|
|
|
|
|
CpuCount int `mapstructure:"cpus" required:"false"`
|
|
|
|
|
// The amount of memory to use when building the VM
|
|
|
|
|
// in megabytes.
|
|
|
|
|
// The amount of memory to use when building the VM in megabytes.
|
|
|
|
|
MemorySize int `mapstructure:"memory" required:"false"`
|
|
|
|
|
// The number of cores per socket to use when building the VM.
|
|
|
|
|
// This corresponds to the cpuid.coresPerSocket option in the .vmx file.
|
|
|
|
|
// The number of cores per socket to use when building the VM. This
|
|
|
|
|
// corresponds to the cpuid.coresPerSocket option in the .vmx file.
|
|
|
|
|
CoreCount int `mapstructure:"cores" required:"false"`
|
|
|
|
|
// This is the network type that the virtual machine will
|
|
|
|
|
// be created with. This can be one of the generic values that map to a device
|
|
|
|
|
// such as hostonly, nat, or bridged. If the network is not one of these
|
|
|
|
|
// values, then it is assumed to be a VMware network device. (VMnet0..x)
|
|
|
|
|
// This is the network type that the virtual machine will be created with.
|
|
|
|
|
// This can be one of the generic values that map to a device such as
|
|
|
|
|
// hostonly, nat, or bridged. If the network is not one of these values,
|
|
|
|
|
// then it is assumed to be a VMware network device. (VMnet0..x)
|
|
|
|
|
Network string `mapstructure:"network" required:"false"`
|
|
|
|
|
// This is the ethernet adapter type the the virtual machine will be
|
|
|
|
|
// created with. By default the `e1000` network adapter type will be used
|
|
|
|
|
@ -32,62 +31,73 @@ type HWConfig struct {
|
|
|
|
|
// machine](https://kb.vmware.com/s/article/1001805) for desktop VMware
|
|
|
|
|
// clients. For ESXi, refer to the proper ESXi documentation.
|
|
|
|
|
NetworkAdapterType string `mapstructure:"network_adapter_type" required:"false"`
|
|
|
|
|
// Specify whether to enable VMware's virtual soundcard
|
|
|
|
|
// device when building the VM. Defaults to false.
|
|
|
|
|
// Specify whether to enable VMware's virtual soundcard device when
|
|
|
|
|
// building the VM. Defaults to false.
|
|
|
|
|
Sound bool `mapstructure:"sound" required:"false"`
|
|
|
|
|
// Enable VMware's USB bus when building the guest VM.
|
|
|
|
|
// Defaults to false. To enable usage of the XHCI bus for USB 3 (5 Gbit/s),
|
|
|
|
|
// one can use the vmx_data option to enable it by specifying true for
|
|
|
|
|
// the usb_xhci.present property.
|
|
|
|
|
// Enable VMware's USB bus when building the guest VM. Defaults to false.
|
|
|
|
|
// To enable usage of the XHCI bus for USB 3 (5 Gbit/s), one can use the
|
|
|
|
|
// vmx_data option to enable it by specifying true for the usb_xhci.present
|
|
|
|
|
// property.
|
|
|
|
|
USB bool `mapstructure:"usb" required:"false"`
|
|
|
|
|
// This specifies a serial port to add to the VM.
|
|
|
|
|
// It has a format of `Type:option1,option2,...`. The field `Type` can be one
|
|
|
|
|
// of the following values: `FILE`, `DEVICE`, `PIPE`, `AUTO`, or `NONE`.
|
|
|
|
|
// This specifies a serial port to add to the VM. It has a format of
|
|
|
|
|
// `Type:option1,option2,...`. The field `Type` can be one of the following
|
|
|
|
|
// values: `FILE`, `DEVICE`, `PIPE`, `AUTO`, or `NONE`.
|
|
|
|
|
//
|
|
|
|
|
// * `FILE:path(,yield)` - Specifies the path to the local file to be used
|
|
|
|
|
// as the serial port.
|
|
|
|
|
//
|
|
|
|
|
// * `yield` (bool) - This is an optional boolean that specifies
|
|
|
|
|
// whether the vm should yield the cpu when polling the port. By
|
|
|
|
|
// default, the builder will assume this as `FALSE`.
|
|
|
|
|
//
|
|
|
|
|
// * `DEVICE:path(,yield)` - Specifies the path to the local device to be
|
|
|
|
|
// used as the serial port. If `path` is empty, then default to the first
|
|
|
|
|
// serial port.
|
|
|
|
|
//
|
|
|
|
|
// * `yield` (bool) - This is an optional boolean that specifies
|
|
|
|
|
// whether the vm should yield the cpu when polling the port. By
|
|
|
|
|
// default, the builder will assume this as `FALSE`.
|
|
|
|
|
//
|
|
|
|
|
// * `PIPE:path,endpoint,host(,yield)` - Specifies to use the named-pipe
|
|
|
|
|
// "path" as a serial port. This has a few options that determine how the
|
|
|
|
|
// VM should use the named-pipe.
|
|
|
|
|
//
|
|
|
|
|
// * `FILE:path(,yield)` - Specifies the path to the local file to be used as the
|
|
|
|
|
// serial port.
|
|
|
|
|
// * `yield` (bool) - This is an optional boolean that specifies whether
|
|
|
|
|
// the vm should yield the cpu when polling the port.
|
|
|
|
|
// By default, the builder will assume this as `FALSE`.
|
|
|
|
|
// * `DEVICE:path(,yield)` - Specifies the path to the local device to be used
|
|
|
|
|
// as the serial port. If `path` is empty, then
|
|
|
|
|
// default to the first serial port.
|
|
|
|
|
// * `yield` (bool) - This is an optional boolean that specifies whether
|
|
|
|
|
// the vm should yield the cpu when polling the port.
|
|
|
|
|
// By default, the builder will assume this as `FALSE`.
|
|
|
|
|
// * `PIPE:path,endpoint,host(,yield)` - Specifies to use the named-pipe "path"
|
|
|
|
|
// as a serial port. This has a few
|
|
|
|
|
// options that determine how the VM
|
|
|
|
|
// should use the named-pipe.
|
|
|
|
|
// * `endpoint` (string) - Chooses the type of the VM-end, which can be
|
|
|
|
|
// either a `client` or `server`.
|
|
|
|
|
// * `host` (string) - Chooses the type of the host-end, which can be either
|
|
|
|
|
// an `app` (application) or `vm` (another virtual-machine).
|
|
|
|
|
// * `yield` (bool) - This is an optional boolean that specifies whether
|
|
|
|
|
// the vm should yield the cpu when polling the port.
|
|
|
|
|
// By default, the builder will assume this as `FALSE`.
|
|
|
|
|
// either a `client` or `server`.
|
|
|
|
|
//
|
|
|
|
|
// * `host` (string) - Chooses the type of the host-end, which can
|
|
|
|
|
// be either `app` (application) or `vm` (another virtual-machine).
|
|
|
|
|
//
|
|
|
|
|
// * `yield` (bool) - This is an optional boolean that specifies
|
|
|
|
|
// whether the vm should yield the cpu when polling the port. By
|
|
|
|
|
// default, the builder will assume this as `FALSE`.
|
|
|
|
|
//
|
|
|
|
|
// * `AUTO:(yield)` - Specifies to use auto-detection to determine the
|
|
|
|
|
// serial port to use. This has one option to determine how the VM should
|
|
|
|
|
// support the serial port.
|
|
|
|
|
//
|
|
|
|
|
// * `yield` (bool) - This is an optional boolean that specifies
|
|
|
|
|
// whether the vm should yield the cpu when polling the port. By
|
|
|
|
|
// default, the builder will assume this as `FALSE`.
|
|
|
|
|
//
|
|
|
|
|
// * `AUTO:(yield)` - Specifies to use auto-detection to determine the serial
|
|
|
|
|
// port to use. This has one option to determine how the VM
|
|
|
|
|
// should support the serial port.
|
|
|
|
|
// * `yield` (bool) - This is an optional boolean that specifies whether
|
|
|
|
|
// the vm should yield the cpu when polling the port.
|
|
|
|
|
// By default, the builder will assume this as `FALSE`.
|
|
|
|
|
// * `NONE` - Specifies to not use a serial port. (default)
|
|
|
|
|
//
|
|
|
|
|
Serial string `mapstructure:"serial" required:"false"`
|
|
|
|
|
// This specifies a parallel port to add to the VM. It
|
|
|
|
|
// has the format of `Type:option1,option2,...`. Type can be one of the
|
|
|
|
|
// following values: `FILE`, `DEVICE`, `AUTO`, or `NONE`.
|
|
|
|
|
// This specifies a parallel port to add to the VM. It has the format of
|
|
|
|
|
// `Type:option1,option2,...`. Type can be one of the following values:
|
|
|
|
|
// `FILE`, `DEVICE`, `AUTO`, or `NONE`.
|
|
|
|
|
//
|
|
|
|
|
// * `FILE:path` - Specifies the path to the local file to be used
|
|
|
|
|
// for the parallel port.
|
|
|
|
|
//
|
|
|
|
|
// * `DEVICE:path` - Specifies the path to the local device to be used
|
|
|
|
|
// for the parallel port.
|
|
|
|
|
//
|
|
|
|
|
// * `AUTO:direction` - Specifies to use auto-detection to determine the
|
|
|
|
|
// parallel port. Direction can be `BI` to specify bidirectional
|
|
|
|
|
// communication or `UNI` to specify unidirectional communication.
|
|
|
|
|
//
|
|
|
|
|
// * `FILE:path` - Specifies the path to the local file to be used for the
|
|
|
|
|
// parallel port.
|
|
|
|
|
// * `DEVICE:path` - Specifies the path to the local device to be used for the
|
|
|
|
|
// parallel port.
|
|
|
|
|
// * `AUTO:direction` - Specifies to use auto-detection to determine the
|
|
|
|
|
// parallel port. Direction can be `BI` to specify
|
|
|
|
|
// bidirectional communication or `UNI` to specify
|
|
|
|
|
// unidirectional communication.
|
|
|
|
|
// * `NONE` - Specifies to not use a parallel port. (default)
|
|
|
|
|
// * `NONE` - Specifies to not use a parallel port. (default)
|
|
|
|
|
Parallel string `mapstructure:"parallel" required:"false"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|