Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func HashForType ¶ added in v0.2.0
HashForType returns the Hash implementation for the given string type, or nil if the type is not supported.
func MultistepDebugFn ¶
func MultistepDebugFn(ui packer.Ui) multistep.DebugPauseFn
MultistepDebugFn will return a proper multistep.DebugPauseFn to use for debugging if you're using multistep in your builder.
Types ¶
type DownloadClient ¶
type DownloadClient struct {
// contains filtered or unexported fields
}
A DownloadClient helps download, verify checksums, etc.
func NewDownloadClient ¶
func NewDownloadClient(c *DownloadConfig) *DownloadClient
NewDownloadClient returns a new DownloadClient for the given configuration.
func (*DownloadClient) Cancel ¶
func (d *DownloadClient) Cancel()
func (*DownloadClient) Get ¶
func (d *DownloadClient) Get() (string, error)
func (*DownloadClient) PercentProgress ¶
func (d *DownloadClient) PercentProgress() uint
PercentProgress returns the download progress as a percentage.
func (*DownloadClient) VerifyChecksum ¶
func (d *DownloadClient) VerifyChecksum(path string) (bool, error)
VerifyChecksum tests that the path matches the checksum for the download.
type DownloadConfig ¶
type DownloadConfig struct {
// The source URL in the form of a string.
Url string
// This is the path to download the file to.
TargetPath string
// DownloaderMap maps a schema to a Download.
DownloaderMap map[string]Downloader
// If true, this will copy even a local file to the target
// location. If false, then it will "download" the file by just
// returning the local path to the file.
CopyFile bool
// The hashing implementation to use to checksum the downloaded file.
Hash hash.Hash
// The checksum for the downloaded file. The hash implementation configuration
// for the downloader will be used to verify with this checksum after
// it is downloaded.
Checksum []byte
}
DownloadConfig is the configuration given to instantiate a new download instance. Once a configuration is used to instantiate a download client, it must not be modified.
type Downloader ¶
type Downloader interface {
Cancel()
Download(io.Writer, *url.URL) error
Progress() uint
Total() uint
}
A downloader is responsible for actually taking a remote URL and downloading it.
type HTTPDownloader ¶
type HTTPDownloader struct {
// contains filtered or unexported fields
}
HTTPDownloader is an implementation of Downloader that downloads files over HTTP.
func (*HTTPDownloader) Cancel ¶
func (*HTTPDownloader) Cancel()
func (*HTTPDownloader) Progress ¶
func (d *HTTPDownloader) Progress() uint
func (*HTTPDownloader) Total ¶
func (d *HTTPDownloader) Total() uint
type StepConnectSSH ¶ added in v0.2.0
type StepConnectSSH struct {
// SSHAddress is a function that returns the TCP address to connect to
// for SSH. This is a function so that you can query information
// if necessary for this address.
SSHAddress func(map[string]interface{}) (string, error)
// SSHConfig is a function that returns the proper client configuration
// for SSH access.
SSHConfig func(map[string]interface{}) (*gossh.ClientConfig, error)
// SSHWaitTimeout is the total timeout to wait for SSH to become available.
SSHWaitTimeout time.Duration
// contains filtered or unexported fields
}
StepConnectSSH is a multistep Step implementation that waits for SSH to become available. It gets the connection information from a single configuration when creating the step.
Uses:
ui packer.Ui
Produces:
communicator packer.Communicator
func (*StepConnectSSH) Cleanup ¶ added in v0.2.0
func (s *StepConnectSSH) Cleanup(map[string]interface{})
func (*StepConnectSSH) Run ¶ added in v0.2.0
func (s *StepConnectSSH) Run(state map[string]interface{}) multistep.StepAction
type StepCreateFloppy ¶ added in v0.2.0
type StepCreateFloppy struct {
Files []string
// contains filtered or unexported fields
}
StepCreateFloppy will create a floppy disk with the given files. The floppy disk doesn't support sub-directories. Only files at the root level are supported.
func (*StepCreateFloppy) Cleanup ¶ added in v0.2.0
func (s *StepCreateFloppy) Cleanup(map[string]interface{})
func (*StepCreateFloppy) Run ¶ added in v0.2.0
func (s *StepCreateFloppy) Run(state map[string]interface{}) multistep.StepAction
type StepProvision ¶ added in v0.2.0
type StepProvision struct{}
StepProvision runs the provisioners.
Uses:
communicator packer.Communicator hook packer.Hook ui packer.Ui
Produces:
<nothing>
func (*StepProvision) Cleanup ¶ added in v0.2.0
func (*StepProvision) Cleanup(map[string]interface{})
func (*StepProvision) Run ¶ added in v0.2.0
func (*StepProvision) Run(state map[string]interface{}) multistep.StepAction