Docs: Formatting, fixes, nits, and improvements to the ebsvolume builder doc

* Fix or remove references to AMI creation copied in from other docs
* Remove unsupported `snapshot_users` and `snapshot_groups` options
This commit is contained in:
DanHam 2019-08-29 16:44:36 +01:00
parent a418a22cae
commit 06b049987b
No known key found for this signature in database
GPG Key ID: 58E79AEDD6AA987E
1 changed files with 28 additions and 36 deletions

View File

@ -1,7 +1,7 @@
--- ---
description: | description: |
The amazon-ebsvolume Packer builder is like the EBS builder, but is intended to The amazon-ebsvolume Packer builder is like the EBS builder, but is
create EBS volumes rather than a machine image. intended to create EBS volumes rather than a machine image.
layout: docs layout: docs
page_title: 'Amazon EBS Volume - Builders' page_title: 'Amazon EBS Volume - Builders'
sidebar_current: 'docs-builders-amazon-ebsvolume' sidebar_current: 'docs-builders-amazon-ebsvolume'
@ -14,9 +14,11 @@ Type: `amazon-ebsvolume`
The `amazon-ebsvolume` Packer builder is able to create Amazon Elastic Block The `amazon-ebsvolume` Packer builder is able to create Amazon Elastic Block
Store volumes which are prepopulated with filesystems or data. Store volumes which are prepopulated with filesystems or data.
This builder builds EBS volumes by launching an EC2 instance from a source AMI, This builder creates EBS volumes by launching an EC2 instance from a source
provisioning that running machine, and then destroying the source machine, AMI. One or more EBS volumes are attached to the running instance, allowing
keeping the volumes intact. them to be provisioned into from the running machine. Once provisioning is
complete the source machine is destroyed. The provisioned volumes are kept
intact.
This is all done in your own AWS account. The builder will create temporary key This is all done in your own AWS account. The builder will create temporary key
pairs, security group rules, etc. that provide it temporary access to the pairs, security group rules, etc. that provide it temporary access to the
@ -44,11 +46,11 @@ builder.
- `access_key` (string) - The access key used to communicate with AWS. [Learn - `access_key` (string) - The access key used to communicate with AWS. [Learn
how to set this.](/docs/builders/amazon.html#specifying-amazon-credentials) how to set this.](/docs/builders/amazon.html#specifying-amazon-credentials)
- `instance_type` (string) - The EC2 instance type to use while building the - `instance_type` (string) - The EC2 instance type to use while creating
AMI, such as `m1.small`. the EBS volumes, such as `m1.small`.
- `region` (string) - The name of the region, such as `us-east-1`, in which - `region` (string) - The name of the region, such as `us-east-1`, in which
to launch the EC2 instance to create the AMI. to launch the EC2 instance to create the new EBS volumes.
- `secret_key` (string) - The secret key used to communicate with AWS. [Learn - `secret_key` (string) - The secret key used to communicate with AWS. [Learn
how to set this.](/docs/builders/amazon.html#specifying-amazon-credentials) how to set this.](/docs/builders/amazon.html#specifying-amazon-credentials)
@ -60,7 +62,7 @@ builder.
### Optional: ### Optional:
- `ebs_volumes` (array of block device mappings) - Add the block device - `ebs_volumes` (array of block device mappings) - Add the block device
mappings to the AMI. The block device mappings allow for keys: mappings to the running instance. The block device mappings allow for keys:
- `device_name` (string) - The device name exposed to the instance (for - `device_name` (string) - The device name exposed to the instance (for
example, `/dev/sdh` or `xvdh`). Required for every device in the block example, `/dev/sdh` or `xvdh`). Required for every device in the block
@ -82,24 +84,24 @@ builder.
- `iops` (number) - The number of I/O operations per second (IOPS) that - `iops` (number) - The number of I/O operations per second (IOPS) that
the volume supports. See the documentation on the volume supports. See the documentation on
[IOPs](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_EbsBlockDevice.html) [IOPs](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_EbsBlockDevice.html)
for more information for more information.
- `no_device` (boolean) - Suppresses the specified device included in the - `no_device` (boolean) - Suppresses the specified device included in the
block device mapping of the AMI block device mapping of the AMI.
- `snapshot_id` (string) - The ID of the snapshot - `snapshot_id` (string) - The ID of the snapshot.
- `virtual_name` (string) - The virtual device name. See the - `virtual_name` (string) - The virtual device name. See the
documentation on [Block Device documentation on [Block Device
Mapping](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_BlockDeviceMapping.html) Mapping](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_BlockDeviceMapping.html)
for more information for more information.
- `volume_size` (number) - The size of the volume, in GiB. Required if - `volume_size` (number) - The size of the volume, in GiB. Required if
not specifying a `snapshot_id` not specifying a `snapshot_id`.
- `volume_type` (string) - The volume type. `gp2` for General Purpose - `volume_type` (string) - The volume type. `gp2` for General Purpose
(SSD) volumes, `io1` for Provisioned IOPS (SSD) volumes, and `standard` (SSD) volumes, `io1` for Provisioned IOPS (SSD) volumes, and `standard`
for Magnetic volumes for Magnetic volumes.
- `tags` (map) - Tags to apply to the volume. These are retained after - `tags` (map) - Tags to apply to the volume. These are retained after
the builder completes. This is a [template the builder completes. This is a [template
@ -108,7 +110,7 @@ builder.
- `associate_public_ip_address` (boolean) - If using a non-default VPC, - `associate_public_ip_address` (boolean) - If using a non-default VPC,
public IP addresses are not provided by default. If this is `true`, your public IP addresses are not provided by default. If this is `true`, your
new instance will get a Public IP. default: `false` new instance will get a Public IP. Default: `false`.
- `availability_zone` (string) - Destination availability zone to launch - `availability_zone` (string) - Destination availability zone to launch
instance in. Leave this empty to allow Amazon to auto-assign. instance in. Leave this empty to allow Amazon to auto-assign.
@ -158,11 +160,9 @@ builder.
- `ena_support` (boolean) - Enable enhanced networking (ENA but not - `ena_support` (boolean) - Enable enhanced networking (ENA but not
SriovNetSupport) on HVM-compatible AMIs. If set, add SriovNetSupport) on HVM-compatible AMIs. If set, add
`ec2:ModifyInstanceAttribute` to your AWS IAM policy. If false, this will `ec2:ModifyInstanceAttribute` to your AWS IAM policy. Note: you must
disable enhanced networking in the final AMI as opposed to passing the make sure enhanced networking is enabled on your instance. See
setting through unchanged from the source. Note: you must make sure [Amazon's documentation on enabling enhanced
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). networking](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html#enabling_enhanced_networking).
- `enable_t2_unlimited` (boolean) - Enabling T2 Unlimited allows the source - `enable_t2_unlimited` (boolean) - Enabling T2 Unlimited allows the source
@ -206,8 +206,7 @@ builder.
for more details. for more details.
- `run_tags` (object of key/value strings) - Tags to apply to the instance - `run_tags` (object of key/value strings) - Tags to apply to the instance
that is *launched* to create the AMI. These tags are *not* applied to the that is *launched* to create the EBS volumes. This is a [template
resulting AMI unless they're duplicated in `tags`. This is a [template
engine](/docs/templates/engine.html), see [Build template engine](/docs/templates/engine.html), see [Build template
data](#build-template-data) for more information. data](#build-template-data) for more information.
@ -250,16 +249,6 @@ builder.
- `skip_region_validation` (boolean) - Set to `true` if you want to skip - `skip_region_validation` (boolean) - Set to `true` if you want to skip
validation of the region configuration option. Defaults to `false`. validation of the region configuration option. Defaults to `false`.
- `snapshot_groups` (array of strings) - 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.
- `snapshot_users` (array of strings) - 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).
- `source_ami_filter` (object) - Filters used to populate the `source_ami` - `source_ami_filter` (object) - Filters used to populate the `source_ami`
field. Example: field. Example:
@ -376,9 +365,12 @@ builder.
`packer_<UUID>`, where &lt;UUID&gt; is a 36 character unique identifier. `packer_<UUID>`, where &lt;UUID&gt; is a 36 character unique identifier.
- `temporary_security_group_source_cidrs` (list of string) - A list of IPv4 - `temporary_security_group_source_cidrs` (list of string) - A list of IPv4
CIDR blocks to be authorized access to the instance, when packer is creating a temporary security group. CIDR blocks to be authorized access to the instance, when packer is
creating a temporary security group.
The default is [`0.0.0.0/0`] (i.e., allow any IPv4 source). This is only used when `security_group_id` or `security_group_ids` is not specified. The default is [`0.0.0.0/0`] (i.e., allow any IPv4 source). This is
only used when `security_group_id` or `security_group_ids` is not
specified.
- `token` (string) - The access token to use. This is different from the - `token` (string) - The access token to use. This is different from the
access key and secret key. If you're not sure what this is, then you access key and secret key. If you're not sure what this is, then you
@ -551,4 +543,4 @@ volumes created by this builder, any volumes inn the source AMI which are not
marked for deletion on termination will remain in your account. marked for deletion on termination will remain in your account.
<%= partial "partials/builders/aws-ssh-differentiation-table" %> <%= partial "partials/builders/aws-ssh-differentiation-table" %>