Documentation
¶
Index ¶
- Constants
- Variables
- func GetHTTPAddr() string
- func GetHTTPIP() string
- func GetHTTPPort() string
- func GetTerminalDimensions() (width, height int, err error)
- func MultistepDebugFn(ui packer.Ui) multistep.DebugPauseFn
- func NewRunner(steps []multistep.Step, config PackerConfig, ui packer.Ui) multistep.Runner
- func NewRunnerWithPauseFn(steps []multistep.Step, config PackerConfig, ui packer.Ui, ...) multistep.Runner
- func Retry(initialInterval float64, maxInterval float64, numTries uint, ...) error
- func SetHTTPIP(ip string) error
- func SetHTTPPort(port string) error
- type FloppyConfig
- type HTTPConfig
- type ISOConfig
- type PackerConfig
- type RetryableFunc
- type StepCleanupTempKeys
- type StepCreateFloppy
- type StepDownload
- type StepHTTPServer
- type StepOutputDir
- type StepProvision
Constants ¶
const PackerKeyDefault = 100 * time.Millisecond
PackerKeyDefault 100ms is appropriate for shared build infrastructure while a shorter delay (e.g. 10ms) can be used on a workstation. See PackerKeyEnv.
const PackerKeyEnv = "PACKER_KEY_INTERVAL"
PackerKeyEnv is used to specify the key interval (delay) between keystrokes sent to the VM, typically in boot commands. This is to prevent host CPU utilization from causing key presses to be skipped or repeated incorrectly.
Variables ¶
var RetryExhaustedError error = fmt.Errorf("Function never succeeded in Retry")
Functions ¶
func GetHTTPAddr ¶ added in v0.12.2
func GetHTTPAddr() string
func GetHTTPPort ¶ added in v1.3.4
func GetHTTPPort() string
func GetTerminalDimensions ¶ added in v1.3.0
call into one of the platform-specific implementations to get the current terminal dimensions
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.
func NewRunner ¶ added in v0.11.0
NewRunner returns a multistep.Runner that runs steps augmented with support for -debug and -on-error command line arguments.
func NewRunnerWithPauseFn ¶ added in v0.11.0
func NewRunnerWithPauseFn(steps []multistep.Step, config PackerConfig, ui packer.Ui, state multistep.StateBag) multistep.Runner
NewRunnerWithPauseFn returns a multistep.Runner that runs steps augmented with support for -debug and -on-error command line arguments. With -debug it puts the multistep.DebugPauseFn that will pause execution between steps into the state under the key "pauseFn".
func Retry ¶ added in v0.11.0
func Retry(initialInterval float64, maxInterval float64, numTries uint, function RetryableFunc) error
Retry retries a function up to numTries times with exponential backoff. If numTries == 0, retry indefinitely. If interval == 0, Retry will not delay retrying and there will be no exponential backoff. If maxInterval == 0, maxInterval is set to +Infinity. Intervals are in seconds. Returns an error if initial > max intervals, if retries are exhausted, or if the passed function returns an error.
func SetHTTPPort ¶ added in v0.12.2
Types ¶
type FloppyConfig ¶ added in v0.11.0
type FloppyConfig struct { FloppyFiles []string `mapstructure:"floppy_files"` FloppyDirectories []string `mapstructure:"floppy_dirs"` }
func (*FloppyConfig) Prepare ¶ added in v0.11.0
func (c *FloppyConfig) Prepare(ctx *interpolate.Context) []error
type HTTPConfig ¶ added in v0.9.0
type HTTPConfig struct { HTTPDir string `mapstructure:"http_directory"` HTTPPortMin int `mapstructure:"http_port_min"` HTTPPortMax int `mapstructure:"http_port_max"` }
HTTPConfig contains configuration for the local HTTP Server
func (*HTTPConfig) Prepare ¶ added in v0.9.0
func (c *HTTPConfig) Prepare(ctx *interpolate.Context) []error
type ISOConfig ¶ added in v0.9.0
type ISOConfig struct { ISOChecksum string `mapstructure:"iso_checksum"` ISOChecksumURL string `mapstructure:"iso_checksum_url"` ISOChecksumType string `mapstructure:"iso_checksum_type"` ISOUrls []string `mapstructure:"iso_urls"` TargetPath string `mapstructure:"iso_target_path"` TargetExtension string `mapstructure:"iso_target_extension"` RawSingleISOUrl string `mapstructure:"iso_url"` }
ISOConfig contains configuration for downloading ISO images.
type PackerConfig ¶
type PackerConfig struct { PackerBuildName string `mapstructure:"packer_build_name"` PackerBuilderType string `mapstructure:"packer_builder_type"` PackerDebug bool `mapstructure:"packer_debug"` PackerForce bool `mapstructure:"packer_force"` PackerOnError string `mapstructure:"packer_on_error"` PackerUserVars map[string]string `mapstructure:"packer_user_variables"` PackerSensitiveVars []string `mapstructure:"packer_sensitive_variables"` }
PackerConfig is a struct that contains the configuration keys that are sent by packer, properly tagged already so mapstructure can load them. Embed this structure into your configuration class to get it.
type RetryableFunc ¶ added in v1.0.0
RetryableFunc performs an action and returns a bool indicating whether the function is done, or if it should keep retrying, and an error which will abort the retry and be returned by the Retry function. The 0-indexed attempt is passed with each call.
type StepCleanupTempKeys ¶ added in v1.3.1
type StepCleanupTempKeys struct {
Comm *communicator.Config
}
func (*StepCleanupTempKeys) Cleanup ¶ added in v1.3.1
func (s *StepCleanupTempKeys) Cleanup(state multistep.StateBag)
func (*StepCleanupTempKeys) Run ¶ added in v1.3.1
func (s *StepCleanupTempKeys) Run(ctx context.Context, state multistep.StateBag) multistep.StepAction
type StepCreateFloppy ¶
type StepCreateFloppy struct { Files []string Directories []string FilesAdded map[string]bool // contains filtered or unexported fields }
StepCreateFloppy will create a floppy disk with the given files.
func (*StepCreateFloppy) Add ¶ added in v0.11.0
func (s *StepCreateFloppy) Add(dircache directoryCache, src string) error
func (*StepCreateFloppy) Cleanup ¶
func (s *StepCreateFloppy) Cleanup(multistep.StateBag)
func (*StepCreateFloppy) Run ¶
func (s *StepCreateFloppy) Run(ctx context.Context, state multistep.StateBag) multistep.StepAction
type StepDownload ¶ added in v0.3.2
type StepDownload struct { // The checksum and the type of the checksum for the download Checksum string ChecksumType string // A short description of the type of download being done. Example: // "ISO" or "Guest Additions" Description string // The name of the key where the final path of the ISO will be put // into the state. ResultKey string // The path where the result should go, otherwise it goes to the // cache directory. TargetPath string // A list of URLs to attempt to download this thing. Url []string // Extension is the extension to force for the file that is downloaded. // Some systems require a certain extension. If this isn't set, the // extension on the URL is used. Otherwise, this will be forced // on the downloaded file for every URL. Extension string }
StepDownload downloads a remote file using the download client within this package. This step handles setting up the download configuration, progress reporting, interrupt handling, etc.
Uses:
cache packer.Cache ui packer.Ui
func (*StepDownload) Cleanup ¶ added in v0.3.2
func (s *StepDownload) Cleanup(multistep.StateBag)
func (*StepDownload) Run ¶ added in v0.3.2
func (s *StepDownload) Run(ctx context.Context, state multistep.StateBag) multistep.StepAction
type StepHTTPServer ¶ added in v0.9.0
type StepHTTPServer struct { HTTPDir string HTTPPortMin int HTTPPortMax int // contains filtered or unexported fields }
This step creates and runs the HTTP server that is serving files from the directory specified by the 'http_directory` configuration parameter in the template.
Uses:
ui packer.Ui
Produces:
http_port int - The port the HTTP server started on.
func (*StepHTTPServer) Cleanup ¶ added in v0.9.0
func (s *StepHTTPServer) Cleanup(multistep.StateBag)
func (*StepHTTPServer) Run ¶ added in v0.9.0
func (s *StepHTTPServer) Run(ctx context.Context, state multistep.StateBag) multistep.StepAction
type StepOutputDir ¶ added in v1.3.4
StepOutputDir sets up the output directory by creating it if it does not exist, deleting it if it does exist and we're forcing, and cleaning it up when we're done with it.
func (*StepOutputDir) Cleanup ¶ added in v1.3.4
func (s *StepOutputDir) Cleanup(state multistep.StateBag)
func (*StepOutputDir) Run ¶ added in v1.3.4
func (s *StepOutputDir) Run(ctx context.Context, state multistep.StateBag) multistep.StepAction
type StepProvision ¶
type StepProvision struct {
Comm packer.Communicator
}
StepProvision runs the provisioners.
Uses:
communicator packer.Communicator hook packer.Hook ui packer.Ui
Produces:
<nothing>
func (*StepProvision) Cleanup ¶
func (*StepProvision) Cleanup(multistep.StateBag)
func (*StepProvision) Run ¶
func (s *StepProvision) Run(ctx context.Context, state multistep.StateBag) multistep.StepAction
Source Files
¶
Directories
¶
Path | Synopsis |
---|---|
Package shell defines code that is common in shells
|
Package shell defines code that is common in shells |