2020-03-18 18:46:47 -04:00
|
|
|
<!-- Code generated from the comments of the AMIConfig struct in builder/amazon/common/ami_config.go; DO NOT EDIT MANUALLY -->
|
|
|
|
|
2020-07-13 06:33:16 -04:00
|
|
|
- `ami_description` (string) - The description to set for the resulting
|
|
|
|
AMI(s). By default this description is empty. This is a
|
|
|
|
[template engine](/docs/templates/engine), see [Build template
|
|
|
|
data](#build-template-data) for more information.
|
|
|
|
|
|
|
|
- `ami_virtualization_type` (string) - The type of virtualization for the AMI
|
|
|
|
you are building. This option is required to register HVM images. Can be
|
|
|
|
paravirtual (default) or hvm.
|
|
|
|
|
|
|
|
- `ami_users` ([]string) - A list of account IDs that have access to
|
|
|
|
launch the resulting AMI(s). By default no additional users other than the
|
|
|
|
user creating the AMI has permissions to launch it.
|
|
|
|
|
|
|
|
- `ami_groups` ([]string) - A list of groups that have access to
|
|
|
|
launch the resulting AMI(s). By default no groups have permission to launch
|
|
|
|
the AMI. all will make the AMI publicly accessible.
|
|
|
|
|
|
|
|
- `ami_product_codes` ([]string) - A list of product codes to
|
|
|
|
associate with the AMI. By default no product codes are associated with the
|
|
|
|
AMI.
|
|
|
|
|
|
|
|
- `ami_regions` ([]string) - A list of regions to copy the AMI to.
|
|
|
|
Tags and attributes are copied along with the AMI. AMI copying takes time
|
|
|
|
depending on the size of the AMI, but will generally take many minutes.
|
|
|
|
|
|
|
|
- `skip_region_validation` (bool) - Set to true if you want to skip
|
|
|
|
validation of the ami_regions configuration option. Default false.
|
|
|
|
|
|
|
|
- `tags` (map[string]string) - Key/value pair tags applied to the AMI. This is a [template
|
|
|
|
engine](/docs/templates/engine), see [Build template
|
|
|
|
data](#build-template-data) for more information.
|
|
|
|
|
|
|
|
- `tag` ([]{key string, value string}) - Same as [`tags`](#tags) but defined as a singular repeatable block
|
|
|
|
containing a `key` and a `value` field. In HCL2 mode the
|
|
|
|
[`dynamic_block`](/docs/configuration/from-1.5/expressions#dynamic-blocks)
|
|
|
|
will allow you to create those programatically.
|
|
|
|
|
|
|
|
- `ena_support` (boolean) - Enable enhanced networking (ENA but not SriovNetSupport) on
|
|
|
|
HVM-compatible AMIs. If set, add `ec2:ModifyInstanceAttribute` to your
|
|
|
|
AWS IAM policy.
|
|
|
|
|
|
|
|
Note: you must make sure enhanced networking is enabled on your
|
|
|
|
instance. See [Amazon's documentation on enabling enhanced
|
|
|
|
networking](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html#enabling_enhanced_networking).
|
|
|
|
|
|
|
|
- `sriov_support` (bool) - Enable enhanced networking (SriovNetSupport but not ENA) on
|
|
|
|
HVM-compatible AMIs. If true, add `ec2:ModifyInstanceAttribute` to your
|
|
|
|
AWS IAM policy. Note: you must make sure enhanced networking is enabled
|
|
|
|
on your instance. See [Amazon's documentation on enabling enhanced
|
|
|
|
networking](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html#enabling_enhanced_networking).
|
|
|
|
Default `false`.
|
|
|
|
|
|
|
|
- `force_deregister` (bool) - Force Packer to first deregister an existing
|
|
|
|
AMI if one with the same name already exists. Default false.
|
|
|
|
|
|
|
|
- `force_delete_snapshot` (bool) - Force Packer to delete snapshots
|
|
|
|
associated with AMIs, which have been deregistered by force_deregister.
|
|
|
|
Default false.
|
|
|
|
|
|
|
|
- `encrypt_boot` (boolean) - Whether or not to encrypt the resulting AMI when
|
|
|
|
copying a provisioned instance to an AMI. By default, Packer will keep the
|
|
|
|
encryption setting to what it was in the source image. Setting false will
|
|
|
|
result in an unencrypted image, and true will result in an encrypted one.
|
|
|
|
If you have used the `launch_block_device_mappings` to set an encryption
|
|
|
|
key and that key is the same as the one you want the image encrypted with
|
|
|
|
at the end, then you don't need to set this field; leaving it empty will
|
|
|
|
prevent an unnecessary extra copy step and save you some time.
|
|
|
|
|
|
|
|
- `kms_key_id` (string) - ID, alias or ARN of the KMS key to use for boot volume encryption. This
|
|
|
|
only applies to the main `region`, other regions where the AMI will be
|
|
|
|
copied will be encrypted by the default EBS KMS key. For valid formats
|
|
|
|
see *KmsKeyId* in the [AWS API docs -
|
|
|
|
CopyImage](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CopyImage.html).
|
|
|
|
This field is validated by Packer, when using an alias, you will have to
|
|
|
|
prefix `kms_key_id` with `alias/`.
|
|
|
|
|
|
|
|
- `region_kms_key_ids` (map[string]string) - regions to copy the ami to, along with the custom kms key id (alias or
|
|
|
|
arn) to use for encryption for that region. Keys must match the regions
|
|
|
|
provided in `ami_regions`. If you just want to encrypt using a default
|
|
|
|
ID, you can stick with `kms_key_id` and `ami_regions`. If you want a
|
|
|
|
region to be encrypted with that region's default key ID, you can use an
|
|
|
|
empty string `""` instead of a key id in this map. (e.g. `"us-east-1":
|
|
|
|
""`) However, you cannot use default key IDs if you are using this in
|
|
|
|
conjunction with `snapshot_users` -- in that situation you must use
|
|
|
|
custom keys. For valid formats see *KmsKeyId* in the [AWS API docs -
|
|
|
|
CopyImage](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CopyImage.html).
|
|
|
|
|
|
|
|
This option supercedes the `kms_key_id` option -- if you set both, and
|
|
|
|
they are different, Packer will respect the value in
|
|
|
|
`region_kms_key_ids` for your build region and silently disregard the
|
|
|
|
value provided in `kms_key_id`.
|
|
|
|
|
|
|
|
- `skip_save_build_region` (bool) - If true, Packer will not check whether an AMI with the `ami_name` exists
|
|
|
|
in the region it is building in. It will use an intermediary AMI name,
|
|
|
|
which it will not convert to an AMI in the build region. It will copy
|
|
|
|
the intermediary AMI into any regions provided in `ami_regions`, then
|
|
|
|
delete the intermediary AMI. Default `false`.
|
|
|
|
|
|
|
|
- `snapshot_tags` (map[string]string) - 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/engine), see [Build template
|
|
|
|
data](#build-template-data) for more information.
|
|
|
|
|
|
|
|
- `snapshot_tag` ([]{key string, value string}) - 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/configuration/from-1.5/expressions#dynamic-blocks)
|
|
|
|
will allow you to create those programatically.
|
|
|
|
|
|
|
|
- `snapshot_users` ([]string) - 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).
|
|
|
|
|
|
|
|
- `snapshot_groups` ([]string) - 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.
|