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) Destroy() error
- func (d *ESX5Driver) DhcpLeasesPath(string) string
- func (d *ESX5Driver) DirExists() (bool, error)
- func (d *ESX5Driver) HostIP() (string, error)
- func (d *ESX5Driver) IsDestroyed() (bool, 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 (ESX5Driver) UpdateVMX(_, password string, port uint, data map[string]string)
- func (d *ESX5Driver) UploadISO(localPath string, checksum string, checksumType string) (string, error)
- func (d *ESX5Driver) VNCAddress(_ string, portMin, portMax uint) (string, uint, error)
- func (d *ESX5Driver) Verify() error
- type OutputDir
- type RemoteDriver
- type RemoteDriverMock
- func (d *RemoteDriverMock) Destroy() error
- func (d *RemoteDriverMock) IsDestroyed() (bool, error)
- func (d *RemoteDriverMock) Register(path string) error
- func (d *RemoteDriverMock) ReloadVM() error
- func (d *RemoteDriverMock) Unregister(path string) error
- func (d *RemoteDriverMock) UploadISO(path string, checksum string, checksumType string) (string, error)
- type StepExport
- type StepRegister
- type StepUploadVMX
Constants ¶
const ( ArtifactConfFormat = "artifact.conf.format" ArtifactConfKeepRegistered = "artifact.conf.keep_registered" ArtifactConfSkipExport = "artifact.conf.skip_export" )
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 ¶
type Config struct { common.PackerConfig `mapstructure:",squash"` common.HTTPConfig `mapstructure:",squash"` common.ISOConfig `mapstructure:",squash"` common.FloppyConfig `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"` Format string `mapstructure:"format"` GuestOSType string `mapstructure:"guest_os_type"` KeepRegistered bool `mapstructure:"keep_registered"` OVFToolOptions []string `mapstructure:"ovftool_options"` SkipCompaction bool `mapstructure:"skip_compaction"` SkipExport bool `mapstructure:"skip_export"` VMName string `mapstructure:"vm_name"` VMXDiskTemplatePath string `mapstructure:"vmx_disk_template_path"` VMXTemplatePath string `mapstructure:"vmx_template_path"` Version string `mapstructure:"version"` 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"` RemotePrivateKey string `mapstructure:"remote_private_key_file"` CommConfig communicator.Config `mapstructure:",squash"` // contains filtered or unexported fields }
type ESX5Driver ¶
type ESX5Driver struct { Host string Port uint Username string Password string PrivateKey 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 ¶
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) Destroy ¶
func (d *ESX5Driver) Destroy() 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) IsDestroyed ¶
func (d *ESX5Driver) IsDestroyed() (bool, 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 ¶
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 ¶
func (d *ESX5Driver) String() string
func (*ESX5Driver) SuppressMessages ¶
func (d *ESX5Driver) SuppressMessages(vmxPath string) error
func (*ESX5Driver) ToolsInstall ¶
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) UpdateVMX ¶
func (ESX5Driver) UpdateVMX(_, password string, port uint, data map[string]string)
UpdateVMX, adds the VNC port to the VMX data.
func (*ESX5Driver) VNCAddress ¶
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 // Destroys a VM Destroy() error // Checks if the VM is destroyed. IsDestroyed() (bool, 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 DestroyCalled bool DestroyErr error IsDestroyedCalled bool IsDestroyedResult bool IsDestroyedErr error ReloadVMErr error // contains filtered or unexported fields }
func (*RemoteDriverMock) Destroy ¶
func (d *RemoteDriverMock) Destroy() error
func (*RemoteDriverMock) IsDestroyed ¶
func (d *RemoteDriverMock) IsDestroyed() (bool, error)
func (*RemoteDriverMock) Register ¶
func (d *RemoteDriverMock) Register(path string) error
func (*RemoteDriverMock) ReloadVM ¶
func (d *RemoteDriverMock) ReloadVM() error
func (*RemoteDriverMock) Unregister ¶
func (d *RemoteDriverMock) Unregister(path string) error
type StepExport ¶
func (*StepExport) Cleanup ¶
func (s *StepExport) Cleanup(state multistep.StateBag)
func (*StepExport) Run ¶
func (s *StepExport) Run(state multistep.StateBag) multistep.StepAction
type StepRegister ¶
type StepRegister struct { Format string // 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 ¶
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 ¶
func (StepUploadVMX) Cleanup(multistep.StateBag)
func (*StepUploadVMX) Run ¶
func (c *StepUploadVMX) Run(state multistep.StateBag) multistep.StepAction