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, linked bool) 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, adapter_type string, typeId string) error
- func (d *ESX5Driver) Destroy() error
- func (d *ESX5Driver) DirExists() (bool, error)
- func (d *ESX5Driver) GetVmwareDriver() vmwcommon.VmwareDriver
- func (d *ESX5Driver) GuestAddress(multistep.StateBag) (string, error)
- func (d *ESX5Driver) GuestIP(multistep.StateBag) (string, error)
- func (d *ESX5Driver) HostAddress(multistep.StateBag) (string, error)
- func (d *ESX5Driver) HostIP(multistep.StateBag) (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) RemoveCache(localPath string) 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) RemoveCache(localPath string) 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 = `` /* 3279-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"` bootcommand.VNCConfig `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"` // disk drives AdditionalDiskSize []uint `mapstructure:"disk_additional_size"` DiskAdapterType string `mapstructure:"disk_adapter_type"` DiskName string `mapstructure:"vmdk_name"` DiskSize uint `mapstructure:"disk_size"` DiskTypeId string `mapstructure:"disk_type_id"` Format string `mapstructure:"format"` // cdrom drive CdromAdapterType string `mapstructure:"cdrom_adapter_type"` // platform information GuestOSType string `mapstructure:"guest_os_type"` Version string `mapstructure:"version"` VMName string `mapstructure:"vm_name"` // Network adapter and type NetworkAdapterType string `mapstructure:"network_adapter_type"` Network string `mapstructure:"network"` // device presence Sound bool `mapstructure:"sound"` USB bool `mapstructure:"usb"` // communication ports Serial string `mapstructure:"serial"` Parallel string `mapstructure:"parallel"` // booting a guest KeepRegistered bool `mapstructure:"keep_registered"` OVFToolOptions []string `mapstructure:"ovftool_options"` SkipCompaction bool `mapstructure:"skip_compaction"` SkipExport bool `mapstructure:"skip_export"` VMXDiskTemplatePath string `mapstructure:"vmx_disk_template_path"` VMXTemplatePath string `mapstructure:"vmx_template_path"` // remote vsphere 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 PrivateKeyFile 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) CommHost ¶
func (d *ESX5Driver) CommHost(state multistep.StateBag) (string, error)
func (*ESX5Driver) CompactDisk ¶
func (d *ESX5Driver) CompactDisk(diskPathLocal string) error
func (*ESX5Driver) CreateDisk ¶
func (*ESX5Driver) Destroy ¶
func (d *ESX5Driver) Destroy() error
func (*ESX5Driver) DirExists ¶
func (d *ESX5Driver) DirExists() (bool, error)
func (*ESX5Driver) GetVmwareDriver ¶
func (d *ESX5Driver) GetVmwareDriver() vmwcommon.VmwareDriver
func (*ESX5Driver) GuestAddress ¶
func (d *ESX5Driver) GuestAddress(multistep.StateBag) (string, error)
func (*ESX5Driver) HostAddress ¶
func (d *ESX5Driver) HostAddress(multistep.StateBag) (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) RemoveCache ¶
func (d *ESX5Driver) RemoveCache(localPath string) 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) // RemoveCache deletes localPath from the remote cache. RemoveCache(localPath 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) RemoveCache ¶
func (d *RemoteDriverMock) RemoveCache(localPath string) error
func (*RemoteDriverMock) Unregister ¶
func (d *RemoteDriverMock) Unregister(path string) error
type StepExport ¶
This step exports a VM built on ESXi using ovftool
Uses:
display_name string
func (*StepExport) Cleanup ¶
func (s *StepExport) Cleanup(state multistep.StateBag)
func (*StepExport) Run ¶
func (s *StepExport) Run(_ context.Context, 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(_ context.Context, 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(_ context.Context, state multistep.StateBag) multistep.StepAction