Documentation
¶
Index ¶
Constants ¶
View Source
const (
BuilderID string = "packer.post-processor.upcloud-import"
)
View Source
const DefaultTimeout time.Duration = 60 * time.Minute
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Config ¶
type Config struct {
// The username to use when interfacing with the UpCloud API.
Username string `mapstructure:"username"`
// The password to use when interfacing with the UpCloud API.
Password string `mapstructure:"password"`
// The API token to use when interfacing with the UpCloud API. This is mutually exclusive with username and password.
Token string `mapstructure:"token"`
// The list of zones in which the template should be imported
Zones []string `mapstructure:"zones" required:"true"`
// The name of the template. Use `replace_existing` to replace existing template
// with same name or suffix template name with e.g. timestamp to avoid errors during import
TemplateName string `mapstructure:"template_name" required:"true"`
// Replace existing template if one exists with the same name. Defaults to `false`.
ReplaceExisting bool `mapstructure:"replace_existing"`
// The storage tier to use. Available options are `maxiops`, `archive`, and `standard`. Defaults to `maxiops`.
StorageTier string `mapstructure:"storage_tier"`
// The storage size in gigabytes. If not specified, defaults to the image size
// (minimum 10GB). When importing compressed images that expand significantly, specify
// a larger value to ensure adequate space for the uncompressed content.
StorageSize int `mapstructure:"storage_size"`
// The amount of time to wait for resource state changes. Defaults to `60m`.
Timeout time.Duration `mapstructure:"state_timeout_duration"`
common.PackerConfig `mapstructure:",squash"`
// contains filtered or unexported fields
}
type FlatConfig ¶
type FlatConfig struct {
Username *string `mapstructure:"username" cty:"username" hcl:"username"`
Password *string `mapstructure:"password" cty:"password" hcl:"password"`
Token *string `mapstructure:"token" cty:"token" hcl:"token"`
Zones []string `mapstructure:"zones" required:"true" cty:"zones" hcl:"zones"`
TemplateName *string `mapstructure:"template_name" required:"true" cty:"template_name" hcl:"template_name"`
ReplaceExisting *bool `mapstructure:"replace_existing" cty:"replace_existing" hcl:"replace_existing"`
StorageTier *string `mapstructure:"storage_tier" cty:"storage_tier" hcl:"storage_tier"`
StorageSize *int `mapstructure:"storage_size" cty:"storage_size" hcl:"storage_size"`
Timeout *string `mapstructure:"state_timeout_duration" cty:"state_timeout_duration" hcl:"state_timeout_duration"`
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"`
}
FlatConfig is an auto-generated flat version of Config. Where the contents of a field with a `mapstructure:,squash` tag are bubbled up.
type PostProcessor ¶
type PostProcessor struct {
// contains filtered or unexported fields
}
func (*PostProcessor) ConfigSpec ¶
func (p *PostProcessor) ConfigSpec() hcldec.ObjectSpec
func (*PostProcessor) Configure ¶
func (p *PostProcessor) Configure(raws ...interface{}) error
func (*PostProcessor) PostProcess ¶
func (p *PostProcessor) PostProcess(ctx context.Context, ui packer.Ui, a packer.Artifact) (packer.Artifact, bool, bool, error)
PostProcess takes a previously created Artifact and produces another Artifact. If an error occurs, it should return that error. If `keep` is true, then the previous artifact defaults to being kept if user has not given a value to keep_input_artifact. If forceOverride is true, then any user input for keep_input_artifact is ignored and the artifact is either kept or discarded according to the value set in `keep`. PostProcess is cancellable using context.
Click to show internal directories.
Click to hide internal directories.