Documentation ¶
Overview ¶
This package implements a provisioner for Packer that executes powershell scripts within the remote machine.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct { common.PackerConfig `mapstructure:",squash"` // If true, the script contains binary and line endings will not be // converted from Windows to Unix-style. Binary bool // An inline script to execute. Multiple strings are all executed in the // context of a single shell. Inline []string // The local path of the powershell script to upload and execute. Script string // An array of multiple scripts to run. Scripts []string // An array of environment variables that will be injected before your // command(s) are executed. Vars []string `mapstructure:"environment_vars"` // The remote path where the local powershell script will be uploaded to. // This should be set to a writable file that is in a pre-existing // directory. RemotePath string `mapstructure:"remote_path"` // The remote path where the file containing the environment variables // will be uploaded to. This should be set to a writable file that is in a // pre-existing directory. RemoteEnvVarPath string `mapstructure:"remote_env_var_path"` // The command used to execute the script. The '{{ .Path }}' variable // should be used to specify where the script goes, {{ .Vars }} can be // used to inject the environment_vars into the environment. ExecuteCommand string `mapstructure:"execute_command"` // The command used to execute the elevated script. The '{{ .Path }}' // variable should be used to specify where the script goes, {{ .Vars }} // can be used to inject the environment_vars into the environment. ElevatedExecuteCommand string `mapstructure:"elevated_execute_command"` // The timeout for retrying to start the process. Until this timeout is // reached, if the provisioner can't start a process, it retries. This // can be set high to allow for reboots. StartRetryTimeout time.Duration `mapstructure:"start_retry_timeout"` // This is used in the template generation to format environment variables // inside the `ExecuteCommand` template. EnvVarFormat string // This is used in the template generation to format environment variables // inside the `ElevatedExecuteCommand` template. ElevatedEnvVarFormat string `mapstructure:"elevated_env_var_format"` // Instructs the communicator to run the remote script as a Windows // scheduled task, effectively elevating the remote user by impersonating // a logged-in user ElevatedUser string `mapstructure:"elevated_user"` ElevatedPassword string `mapstructure:"elevated_password"` // Valid Exit Codes - 0 is not always the only valid error code! See // http://www.symantec.com/connect/articles/windows-system-error-codes-exit-codes-description // for examples such as 3010 - "The requested operation is successful. // Changes will not be effective until the system is rebooted." ValidExitCodes []int `mapstructure:"valid_exit_codes"` // contains filtered or unexported fields }
type EnvVarsTemplate ¶
type EnvVarsTemplate struct {
WinRMPassword string
}
type ExecuteCommandTemplate ¶
type Provisioner ¶
type Provisioner struct {
// contains filtered or unexported fields
}
func (*Provisioner) Cancel ¶
func (p *Provisioner) Cancel()
func (*Provisioner) Prepare ¶
func (p *Provisioner) Prepare(raws ...interface{}) error
func (*Provisioner) Provision ¶
func (p *Provisioner) Provision(ui packer.Ui, comm packer.Communicator) error
Click to show internal directories.
Click to hide internal directories.