Documentation
¶
Index ¶
- type Config
- type FlatConfig
- type Provisioner
- func (p *Provisioner) ConfigSpec() hcldec.ObjectSpec
- func (p *Provisioner) Prepare(raws ...interface{}) error
- func (p *Provisioner) Provision(ctx context.Context, ui packersdk.Ui, comm packersdk.Communicator, ...) error
- func (p *Provisioner) ProvisionDownload(ui packersdk.Ui, comm packersdk.Communicator) error
- func (p *Provisioner) ProvisionUpload(ui packersdk.Ui, comm packersdk.Communicator) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶ added in v0.8.0
type Config struct {
common.PackerConfig `mapstructure:",squash"`
// The path to a local file or directory to upload to the
// machine. The path can be absolute or relative. If it is relative, it is
// relative to the working directory when Packer is executed. If this is a
// directory, the existence of a trailing slash is important. Read below on
// uploading directories. Mandatory unless `sources` is set.
Source string `mapstructure:"source" required:"true"`
// A list of sources to upload. This can be used in place of the `source`
// option if you have several files that you want to upload to the same
// place. Note that the destination must be a directory with a trailing
// slash, and that all files listed in `sources` will be uploaded to the
// same directory with their file names preserved.
Sources []string `mapstructure:"sources" required:"false"`
// The path where the file will be uploaded to in the machine. This value
// must be a writable location and any parent directories
// must already exist. If the provisioning user (generally not root) cannot
// write to this directory, you will receive a "Permission Denied" error.
// If the source is a file, it's a good idea to make the destination a file
// as well, but if you set your destination as a directory, at least make
// sure that the destination ends in a trailing slash so that Packer knows
// to use the source's basename in the final upload path. Failure to do so
// may cause Packer to fail on file uploads. If the destination file
// already exists, it will be overwritten.
Destination string `mapstructure:"destination" required:"true"`
// The direction of the file transfer. This defaults to "upload". If it is
// set to "download" then the file "source" in the machine will be
// downloaded locally to "destination"
Direction string `mapstructure:"direction" required:"false"`
// For advanced users only. If true, check the file existence only before
// uploading, rather than upon pre-build validation. This allows users to
// upload files created on-the-fly. This defaults to false. We
// don't recommend using this feature, since it can cause Packer to become
// dependent on system state. We would prefer you generate your files before
// the Packer run, but realize that there are situations where this may be
// unavoidable.
Generated bool `mapstructure:"generated" required:"false"`
// contains filtered or unexported fields
}
func (*Config) FlatMapstructure ¶ added in v1.4.5
FlatMapstructure returns a new FlatConfig. FlatConfig is an auto-generated flat version of Config. Where the contents a fields with a `mapstructure:,squash` tag are bubbled up.
type FlatConfig ¶ added in v1.4.5
type FlatConfig struct {
PackerBuildName *string `mapstructure:"packer_build_name" cty:"packer_build_name" hcl:"packer_build_name"`
PackerBuilderType *string `mapstructure:"packer_builder_type" cty:"packer_builder_type" hcl:"packer_builder_type"`
PackerCoreVersion *string `mapstructure:"packer_core_version" cty:"packer_core_version" hcl:"packer_core_version"`
PackerDebug *bool `mapstructure:"packer_debug" cty:"packer_debug" hcl:"packer_debug"`
PackerForce *bool `mapstructure:"packer_force" cty:"packer_force" hcl:"packer_force"`
PackerOnError *string `mapstructure:"packer_on_error" cty:"packer_on_error" hcl:"packer_on_error"`
PackerUserVars map[string]string `mapstructure:"packer_user_variables" cty:"packer_user_variables" hcl:"packer_user_variables"`
PackerSensitiveVars []string `mapstructure:"packer_sensitive_variables" cty:"packer_sensitive_variables" hcl:"packer_sensitive_variables"`
Source *string `mapstructure:"source" required:"true" cty:"source" hcl:"source"`
Sources []string `mapstructure:"sources" required:"false" cty:"sources" hcl:"sources"`
Destination *string `mapstructure:"destination" required:"true" cty:"destination" hcl:"destination"`
Direction *string `mapstructure:"direction" required:"false" cty:"direction" hcl:"direction"`
Generated *bool `mapstructure:"generated" required:"false" cty:"generated" hcl:"generated"`
}
FlatConfig is an auto-generated flat version of Config. Where the contents of a field with a `mapstructure:,squash` tag are bubbled up.
type Provisioner ¶
type Provisioner struct {
// contains filtered or unexported fields
}
func (*Provisioner) ConfigSpec ¶ added in v1.5.0
func (p *Provisioner) ConfigSpec() hcldec.ObjectSpec
func (*Provisioner) Prepare ¶
func (p *Provisioner) Prepare(raws ...interface{}) error
func (*Provisioner) Provision ¶
func (p *Provisioner) Provision(ctx context.Context, ui packersdk.Ui, comm packersdk.Communicator, generatedData map[string]interface{}) error
func (*Provisioner) ProvisionDownload ¶ added in v0.8.0
func (p *Provisioner) ProvisionDownload(ui packersdk.Ui, comm packersdk.Communicator) error
func (*Provisioner) ProvisionUpload ¶ added in v0.8.0
func (p *Provisioner) ProvisionUpload(ui packersdk.Ui, comm packersdk.Communicator) error
Click to show internal directories.
Click to hide internal directories.