Documentation ¶
Index ¶
Constants ¶
View Source
const BuilderId = "packer.post-processor.digitalocean-import"
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct { common.PackerConfig `mapstructure:",squash"` // A personal access token used to communicate with the DigitalOcean v2 API. // This may also be set using the `DIGITALOCEAN_TOKEN` or // `DIGITALOCEAN_ACCESS_TOKEN` environmental variables. APIToken string `mapstructure:"api_token" required:"true"` // The access key used to communicate with Spaces. This may also be set using // the `DIGITALOCEAN_SPACES_ACCESS_KEY` environmental variable. SpacesKey string `mapstructure:"spaces_key" required:"true"` // The secret key used to communicate with Spaces. This may also be set using // the `DIGITALOCEAN_SPACES_SECRET_KEY` environmental variable. SpacesSecret string `mapstructure:"spaces_secret" required:"true"` // The maximum number of retries for requests that fail with a 429 or 500-level error. // The default value is 5. Set to 0 to disable reties. HTTPRetryMax *int `mapstructure:"http_retry_max" required:"false"` // The maximum wait time (in seconds) between failed API requests. Default: 30.0 HTTPRetryWaitMax *float64 `mapstructure:"http_retry_wait_max" required:"false"` // The minimum wait time (in seconds) between failed API requests. Default: 1.0 HTTPRetryWaitMin *float64 `mapstructure:"http_retry_wait_min" required:"false"` // The name of the region, such as `nyc3`, in which to upload the image to Spaces. SpacesRegion string `mapstructure:"spaces_region" required:"true"` // The name of the specific Space where the image file will be copied to for // import. This Space must exist when the post-processor is run. SpaceName string `mapstructure:"space_name" required:"true"` // The name of the key used in the Space where the image file will be copied // to for import. This is treated as a [template engine](/docs/templates/legacy_json_templates/engine). // Therefore, you may use user variables and template functions in this field. // If not specified, this will default to `packer-import-{{timestamp}}`. ObjectName string `mapstructure:"space_object_name"` // Whether we should skip removing the image file uploaded to Spaces after // the import process has completed. "true" means that we should leave it in // the Space, "false" means to clean it out. Defaults to `false`. SkipClean bool `mapstructure:"skip_clean"` // A list of tags to apply to the resulting imported image. Tags []string `mapstructure:"image_tags"` // The name to be used for the resulting DigitalOcean custom image. Name string `mapstructure:"image_name" required:"true"` // The description to set for the resulting imported image. Description string `mapstructure:"image_description"` // The name of the distribution to set for the resulting imported image. Distribution string `mapstructure:"image_distribution"` // A list of DigitalOcean regions, such as `nyc3`, where the resulting image // will be available for use in creating Droplets. ImageRegions []string `mapstructure:"image_regions" required:"true"` // The length of time in minutes to wait for individual steps in the process // to successfully complete. This includes both importing the image from Spaces // as well as distributing the resulting image to additional regions. If not // specified, this will default to 20. Timeout time.Duration `mapstructure:"timeout"` // contains filtered or unexported fields }
type FlatConfig ¶
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"` APIToken *string `mapstructure:"api_token" required:"true" cty:"api_token" hcl:"api_token"` SpacesKey *string `mapstructure:"spaces_key" required:"true" cty:"spaces_key" hcl:"spaces_key"` SpacesSecret *string `mapstructure:"spaces_secret" required:"true" cty:"spaces_secret" hcl:"spaces_secret"` HTTPRetryMax *int `mapstructure:"http_retry_max" required:"false" cty:"http_retry_max" hcl:"http_retry_max"` HTTPRetryWaitMax *float64 `mapstructure:"http_retry_wait_max" required:"false" cty:"http_retry_wait_max" hcl:"http_retry_wait_max"` HTTPRetryWaitMin *float64 `mapstructure:"http_retry_wait_min" required:"false" cty:"http_retry_wait_min" hcl:"http_retry_wait_min"` SpacesRegion *string `mapstructure:"spaces_region" required:"true" cty:"spaces_region" hcl:"spaces_region"` SpaceName *string `mapstructure:"space_name" required:"true" cty:"space_name" hcl:"space_name"` ObjectName *string `mapstructure:"space_object_name" cty:"space_object_name" hcl:"space_object_name"` SkipClean *bool `mapstructure:"skip_clean" cty:"skip_clean" hcl:"skip_clean"` Tags []string `mapstructure:"image_tags" cty:"image_tags" hcl:"image_tags"` Name *string `mapstructure:"image_name" required:"true" cty:"image_name" hcl:"image_name"` Description *string `mapstructure:"image_description" cty:"image_description" hcl:"image_description"` Distribution *string `mapstructure:"image_distribution" cty:"image_distribution" hcl:"image_distribution"` ImageRegions []string `mapstructure:"image_regions" required:"true" cty:"image_regions" hcl:"image_regions"` Timeout *string `mapstructure:"timeout" cty:"timeout" hcl:"timeout"` }
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
Click to show internal directories.
Click to hide internal directories.