Documentation
¶
Index ¶
- Constants
- func NewDriver(config *Config) (vmwcommon.Driver, error)
- type Artifact
- type Builder
- type Config
- type ESX5Driver
- func (d *ESX5Driver) Clone(dst, src string) error
- func (d *ESX5Driver) CommHost(state multistep.StateBag) (string, error)
- func (d *ESX5Driver) CompactDisk(diskPathLocal string) error
- func (d *ESX5Driver) CreateDisk(diskPathLocal string, size string, typeId string) error
- func (d *ESX5Driver) DhcpLeasesPath(string) string
- func (d *ESX5Driver) DirExists() (bool, error)
- func (d *ESX5Driver) HostIP() (string, error)
- func (d *ESX5Driver) IsRunning(string) (bool, error)
- func (d *ESX5Driver) ListFiles() ([]string, error)
- func (d *ESX5Driver) MkdirAll() error
- func (d *ESX5Driver) Register(vmxPathLocal string) error
- func (d *ESX5Driver) ReloadVM() error
- func (d *ESX5Driver) Remove(path string) error
- func (d *ESX5Driver) RemoveAll() error
- func (d *ESX5Driver) SetOutputDir(path string)
- func (d *ESX5Driver) Start(vmxPathLocal string, headless bool) error
- func (d *ESX5Driver) Stop(vmxPathLocal string) error
- func (d *ESX5Driver) String() string
- func (d *ESX5Driver) SuppressMessages(vmxPath string) error
- func (d *ESX5Driver) ToolsInstall() error
- func (d *ESX5Driver) ToolsIsoPath(string) string
- func (d *ESX5Driver) Unregister(vmxPathLocal string) error
- func (d *ESX5Driver) UploadISO(localPath string, checksum string, checksumType string) (string, error)
- func (d *ESX5Driver) VNCAddress(portMin, portMax uint) (string, uint, error)
- func (d *ESX5Driver) Verify() error
- type OutputDir
- type RemoteDriver
- type RemoteDriverMock
- type StepRegister
- type StepUploadVMX
Constants ¶
const BuilderIdESX = "mitchellh.vmware-esx"
const DefaultAdditionalDiskTemplate = `` /* 151-byte string literal not displayed */
const DefaultVMXTemplate = `` /* 2144-byte string literal not displayed */
This is the default VMX template used if no other template is given. This is hardcoded here. If you wish to use a custom template please do so by specifying in the builder configuration.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Artifact ¶
type Artifact struct {
// contains filtered or unexported fields
}
Artifact is the result of running the VMware builder, namely a set of files associated with the resulting machine.
type Config ¶ added in v0.8.0
type Config struct {
common.PackerConfig `mapstructure:",squash"`
vmwcommon.DriverConfig `mapstructure:",squash"`
vmwcommon.OutputConfig `mapstructure:",squash"`
vmwcommon.RunConfig `mapstructure:",squash"`
vmwcommon.ShutdownConfig `mapstructure:",squash"`
vmwcommon.SSHConfig `mapstructure:",squash"`
vmwcommon.ToolsConfig `mapstructure:",squash"`
vmwcommon.VMXConfig `mapstructure:",squash"`
AdditionalDiskSize []uint `mapstructure:"disk_additional_size"`
DiskName string `mapstructure:"vmdk_name"`
DiskSize uint `mapstructure:"disk_size"`
DiskTypeId string `mapstructure:"disk_type_id"`
FloppyFiles []string `mapstructure:"floppy_files"`
GuestOSType string `mapstructure:"guest_os_type"`
ISOChecksum string `mapstructure:"iso_checksum"`
ISOChecksumType string `mapstructure:"iso_checksum_type"`
ISOUrls []string `mapstructure:"iso_urls"`
Version string `mapstructure:"version"`
VMName string `mapstructure:"vm_name"`
BootCommand []string `mapstructure:"boot_command"`
SkipCompaction bool `mapstructure:"skip_compaction"`
VMXTemplatePath string `mapstructure:"vmx_template_path"`
VMXDiskTemplatePath string `mapstructure:"vmx_disk_template_path"`
RemoteType string `mapstructure:"remote_type"`
RemoteDatastore string `mapstructure:"remote_datastore"`
RemoteCacheDatastore string `mapstructure:"remote_cache_datastore"`
RemoteCacheDirectory string `mapstructure:"remote_cache_directory"`
RemoteHost string `mapstructure:"remote_host"`
RemotePort uint `mapstructure:"remote_port"`
RemoteUser string `mapstructure:"remote_username"`
RemotePassword string `mapstructure:"remote_password"`
RawSingleISOUrl string `mapstructure:"iso_url"`
// contains filtered or unexported fields
}
type ESX5Driver ¶
type ESX5Driver struct {
Host string
Port uint
Username string
Password string
Datastore string
CacheDatastore string
CacheDirectory string
// contains filtered or unexported fields
}
ESX5 driver talks to an ESXi5 hypervisor remotely over SSH to build virtual machines. This driver can only manage one machine at a time.
func (*ESX5Driver) Clone ¶
func (d *ESX5Driver) Clone(dst, src string) error
func (*ESX5Driver) CommHost ¶ added in v0.8.0
func (d *ESX5Driver) CommHost(state multistep.StateBag) (string, error)
func (*ESX5Driver) CompactDisk ¶
func (d *ESX5Driver) CompactDisk(diskPathLocal string) error
func (*ESX5Driver) CreateDisk ¶
func (d *ESX5Driver) CreateDisk(diskPathLocal string, size string, typeId string) error
func (*ESX5Driver) DhcpLeasesPath ¶
func (d *ESX5Driver) DhcpLeasesPath(string) string
func (*ESX5Driver) DirExists ¶
func (d *ESX5Driver) DirExists() (bool, error)
func (*ESX5Driver) HostIP ¶
func (d *ESX5Driver) HostIP() (string, error)
func (*ESX5Driver) ListFiles ¶
func (d *ESX5Driver) ListFiles() ([]string, error)
func (*ESX5Driver) MkdirAll ¶
func (d *ESX5Driver) MkdirAll() error
func (*ESX5Driver) Register ¶
func (d *ESX5Driver) Register(vmxPathLocal string) error
func (*ESX5Driver) ReloadVM ¶ added in v0.7.5
func (d *ESX5Driver) ReloadVM() error
func (*ESX5Driver) Remove ¶
func (d *ESX5Driver) Remove(path string) error
func (*ESX5Driver) RemoveAll ¶
func (d *ESX5Driver) RemoveAll() error
func (*ESX5Driver) SetOutputDir ¶
func (d *ESX5Driver) SetOutputDir(path string)
func (*ESX5Driver) Stop ¶
func (d *ESX5Driver) Stop(vmxPathLocal string) error
func (*ESX5Driver) String ¶ added in v0.5.1
func (d *ESX5Driver) String() string
func (*ESX5Driver) SuppressMessages ¶
func (d *ESX5Driver) SuppressMessages(vmxPath string) error
func (*ESX5Driver) ToolsInstall ¶ added in v0.6.0
func (d *ESX5Driver) ToolsInstall() error
func (*ESX5Driver) ToolsIsoPath ¶
func (d *ESX5Driver) ToolsIsoPath(string) string
func (*ESX5Driver) Unregister ¶
func (d *ESX5Driver) Unregister(vmxPathLocal string) error
func (*ESX5Driver) VNCAddress ¶
func (d *ESX5Driver) VNCAddress(portMin, portMax uint) (string, uint, error)
func (*ESX5Driver) Verify ¶
func (d *ESX5Driver) Verify() error
type OutputDir ¶
type OutputDir interface {
DirExists() (bool, error)
ListFiles() ([]string, error)
MkdirAll() error
Remove(string) error
RemoveAll() error
SetOutputDir(string)
}
OutputDir is an interface type that abstracts the creation and handling of the output directory for VMware-based products. The abstraction is made so that the output directory can be properly made on remote (ESXi) based VMware products as well as local.
type RemoteDriver ¶
type RemoteDriver interface {
vmwcommon.Driver
// UploadISO uploads a local ISO to the remote side and returns the
// new path that should be used in the VMX along with an error if it
// exists.
UploadISO(string, string, string) (string, error)
// Adds a VM to inventory specified by the path to the VMX given.
Register(string) error
// Removes a VM from inventory specified by the path to the VMX given.
Unregister(string) error
// Reload VM on remote side.
ReloadVM() error
// contains filtered or unexported methods
}
type RemoteDriverMock ¶
type RemoteDriverMock struct {
vmwcommon.DriverMock
UploadISOCalled bool
UploadISOPath string
UploadISOResult string
UploadISOErr error
RegisterCalled bool
RegisterPath string
RegisterErr error
UnregisterCalled bool
UnregisterPath string
UnregisterErr error
ReloadVMErr error
// contains filtered or unexported fields
}
func (*RemoteDriverMock) Register ¶
func (d *RemoteDriverMock) Register(path string) error
func (*RemoteDriverMock) ReloadVM ¶ added in v0.7.5
func (d *RemoteDriverMock) ReloadVM() error
func (*RemoteDriverMock) Unregister ¶
func (d *RemoteDriverMock) Unregister(path string) error
type StepRegister ¶
type StepRegister struct {
// contains filtered or unexported fields
}
func (*StepRegister) Cleanup ¶
func (s *StepRegister) Cleanup(state multistep.StateBag)
func (*StepRegister) Run ¶
func (s *StepRegister) Run(state multistep.StateBag) multistep.StepAction
type StepUploadVMX ¶ added in v0.7.5
type StepUploadVMX struct {
RemoteType string
}
This step upload the VMX to the remote host
Uses:
driver Driver ui packer.Ui vmx_path string
Produces:
<nothing>
func (StepUploadVMX) Cleanup ¶ added in v0.7.5
func (StepUploadVMX) Cleanup(multistep.StateBag)
func (*StepUploadVMX) Run ¶ added in v0.7.5
func (c *StepUploadVMX) Run(state multistep.StateBag) multistep.StepAction