30 lines
1.5 KiB
Go
30 lines
1.5 KiB
Go
//go:generate struct-markdown
|
|
|
|
package common
|
|
|
|
import "github.com/hashicorp/packer-plugin-sdk/template/config"
|
|
|
|
// SnapshotConfig is for common configuration related to creating AMIs.
|
|
type SnapshotConfig struct {
|
|
// Key/value pair tags to apply to snapshot. They will override AMI tags if
|
|
// already applied to snapshot. This is a [template
|
|
// engine](/docs/templates/legacy_json_templates/engine), see [Build template
|
|
// data](#build-template-data) for more information.
|
|
SnapshotTags map[string]string `mapstructure:"snapshot_tags" required:"false"`
|
|
// Same as [`snapshot_tags`](#snapshot_tags) but defined as a singular
|
|
// repeatable block containing a `key` and a `value` field. In HCL2 mode the
|
|
// [`dynamic_block`](/docs/templates/hcl_templates/expressions#dynamic-blocks)
|
|
// will allow you to create those programatically.
|
|
SnapshotTag config.KeyValues `mapstructure:"snapshot_tag" required:"false"`
|
|
// A list of account IDs that have
|
|
// access to create volumes from the snapshot(s). By default no additional
|
|
// users other than the user creating the AMI has permissions to create
|
|
// volumes from the backing snapshot(s).
|
|
SnapshotUsers []string `mapstructure:"snapshot_users" required:"false"`
|
|
// A list of groups that have access to
|
|
// create volumes from the snapshot(s). By default no groups have permission
|
|
// to create volumes from the snapshot(s). all will make the snapshot
|
|
// publicly accessible.
|
|
SnapshotGroups []string `mapstructure:"snapshot_groups" required:"false"`
|
|
}
|