iso

package
v0.5.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 2, 2014 License: MPL-2.0 Imports: 29 Imported by: 0

Documentation

Index

Constants

View Source
const BuilderIdESX = "mitchellh.vmware-esx"
View Source
const DefaultVMXTemplate = `` /* 2131-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.

View Source
const KeyLeftShift uint32 = 0xFFE1

Variables

This section is empty.

Functions

func NewDriver

func NewDriver(config *config) (vmwcommon.Driver, error)

NewDriver returns a new driver implementation for this operating system, or an error if the driver couldn't be initialized.

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.

func (*Artifact) BuilderId

func (a *Artifact) BuilderId() string

func (*Artifact) Destroy

func (a *Artifact) Destroy() error

func (*Artifact) Files

func (a *Artifact) Files() []string

func (*Artifact) Id

func (*Artifact) Id() string

func (*Artifact) String

func (a *Artifact) String() string

type Builder

type Builder struct {
	// contains filtered or unexported fields
}

func (*Builder) Cancel

func (b *Builder) Cancel()

func (*Builder) Prepare

func (b *Builder) Prepare(raws ...interface{}) ([]string, error)

func (*Builder) Run

func (b *Builder) Run(ui packer.Ui, hook packer.Hook, cache packer.Cache) (packer.Artifact, error)

type ESX5Driver

type ESX5Driver struct {
	Host      string
	Port      uint
	Username  string
	Password  string
	Datastore 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) 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) IsRunning

func (d *ESX5Driver) IsRunning(vmxPathLocal string) (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) Remove

func (d *ESX5Driver) Remove(path string) error

func (*ESX5Driver) RemoveAll

func (d *ESX5Driver) RemoveAll() error

func (*ESX5Driver) SSHAddress

func (d *ESX5Driver) SSHAddress(state multistep.StateBag) (string, error)

func (*ESX5Driver) SetOutputDir

func (d *ESX5Driver) SetOutputDir(path string)

func (*ESX5Driver) Start

func (d *ESX5Driver) Start(vmxPathLocal string, headless bool) error

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) ToolsIsoPath

func (d *ESX5Driver) ToolsIsoPath(string) string

func (*ESX5Driver) Unregister

func (d *ESX5Driver) Unregister(vmxPathLocal string) error

func (*ESX5Driver) UploadISO

func (d *ESX5Driver) UploadISO(localPath string) (string, error)

func (*ESX5Driver) VNCAddress

func (d *ESX5Driver) VNCAddress(portMin, portMax uint) (string, uint)

func (*ESX5Driver) Verify

func (d *ESX5Driver) Verify() error

type HostIPFinder

type HostIPFinder interface {
	HostIP() (string, error)
}

Interface to help find the host IP that is available from within the VMware virtual machines.

type IfconfigIPFinder

type IfconfigIPFinder struct {
	Device string
}

IfconfigIPFinder finds the host IP based on the output of `ifconfig`.

func (*IfconfigIPFinder) HostIP

func (f *IfconfigIPFinder) HostIP() (string, 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, 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
}

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
}

func (*RemoteDriverMock) Register

func (d *RemoteDriverMock) Register(path string) error

func (*RemoteDriverMock) Unregister

func (d *RemoteDriverMock) Unregister(path string) error

func (*RemoteDriverMock) UploadISO

func (d *RemoteDriverMock) UploadISO(path string) (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

type VMnetNatConfIPFinder

type VMnetNatConfIPFinder struct{}

VMnetNatConfIPFinder finds the IP address of the host machine by retrieving the IP from the vmnetnat.conf. This isn't a full proof technique but so far it has not failed.

func (*VMnetNatConfIPFinder) HostIP

func (*VMnetNatConfIPFinder) HostIP() (string, error)

type VNCAddressFinder

type VNCAddressFinder interface {
	VNCAddress(uint, uint) (string, uint)
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL