revert prettier formatting on generated partials

This commit is contained in:
Jeff Escalante 2020-04-02 11:57:46 -04:00
parent 2999934326
commit 6798b73305
No known key found for this signature in database
GPG Key ID: 32D23C61AB5450DB
183 changed files with 4539 additions and 4446 deletions

View File

@ -1,25 +1,26 @@
<!-- Code generated from the comments of the AlicloudAccessConfig struct in builder/alicloud/ecs/access_config.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the AlicloudAccessConfig struct in builder/alicloud/ecs/access_config.go; DO NOT EDIT MANUALLY -->
- `access_key` (string) - This is the Alicloud access key. It must be provided when profile not exist, but it can also be - `access_key` (string) - This is the Alicloud access key. It must be provided when profile not exist, but it can also be
sourced from the ALICLOUD_ACCESS_KEY environment variable. sourced from the ALICLOUD_ACCESS_KEY environment variable.
- `secret_key` (string) - This is the Alicloud secret key. It must be provided when profile not exist, but it can also be - `secret_key` (string) - This is the Alicloud secret key. It must be provided when profile not exist, but it can also be
sourced from the ALICLOUD_SECRET_KEY environment variable. sourced from the ALICLOUD_SECRET_KEY environment variable.
- `region` (string) - This is the Alicloud region. It must be provided when profile not exist, but it can also be - `region` (string) - This is the Alicloud region. It must be provided when profile not exist, but it can also be
sourced from the ALICLOUD_REGION environment variables. sourced from the ALICLOUD_REGION environment variables.
- `skip_region_validation` (bool) - The region validation can be skipped if this value is true, the default - `skip_region_validation` (bool) - The region validation can be skipped if this value is true, the default
value is false. value is false.
- `skip_image_validation` (bool) - The image validation can be skipped if this value is true, the default - `skip_image_validation` (bool) - The image validation can be skipped if this value is true, the default
value is false. value is false.
- `profile` (string) - This is th Alicloud profile. If access_key not exist, is must be provided, but it can also be - `profile` (string) - This is th Alicloud profile. If access_key not exist, is must be provided, but it can also be
sourced from the ALICLOUD_PROFILE environment variables. sourced from the ALICLOUD_PROFILE environment variables.
- `shared_credentials_file` (string) - This is the Alicloud shared credentials file path. If this file path exist, os will read access key - `shared_credentials_file` (string) - This is the Alicloud shared credentials file path. If this file path exist, os will read access key
and secret key from this file. and secret key from this file.
- `security_token` (string) - STS access token, can be set through template or by exporting as
environment variable such as `export SECURITY_TOKEN=value`.
- `security_token` (string) - STS access token, can be set through template or by exporting as
environment variable such as `export SECURITY_TOKEN=value`.

View File

@ -1,3 +1,2 @@
<!-- Code generated from the comments of the AlicloudAccessConfig struct in builder/alicloud/ecs/access_config.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the AlicloudAccessConfig struct in builder/alicloud/ecs/access_config.go; DO NOT EDIT MANUALLY -->
Config of alicloud Config of alicloud

View File

@ -1,35 +1,39 @@
<!-- Code generated from the comments of the AlicloudDiskDevice struct in builder/alicloud/ecs/image_config.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the AlicloudDiskDevice struct in builder/alicloud/ecs/image_config.go; DO NOT EDIT MANUALLY -->
- `disk_name` (string) - The value of disk name is blank by default. [2, - `disk_name` (string) - The value of disk name is blank by default. [2,
128] English or Chinese characters, must begin with an 128] English or Chinese characters, must begin with an
uppercase/lowercase letter or Chinese character. Can contain numbers, uppercase/lowercase letter or Chinese character. Can contain numbers,
., \_ and -. The disk name will appear on the console. It cannot ., _ and -. The disk name will appear on the console. It cannot
begin with `http://` or `https://`. begin with `http://` or `https://`.
- `disk_category` (string) - Category of the system disk. Optional values - `disk_category` (string) - Category of the system disk. Optional values
are: - cloud - general cloud disk - cloud_efficiency - efficiency cloud disk - cloud_ssd - cloud SSD are:
- cloud - general cloud disk
- cloud_efficiency - efficiency cloud disk
- cloud_ssd - cloud SSD
- `disk_size` (int) - Size of the system disk, measured in GiB. Value - `disk_size` (int) - Size of the system disk, measured in GiB. Value
range: [20, 500]. The specified value must be equal to or greater range: [20, 500]. The specified value must be equal to or greater
than max{20, ImageSize}. Default value: max{40, ImageSize}. than max{20, ImageSize}. Default value: max{40, ImageSize}.
- `disk_snapshot_id` (string) - Snapshots are used to create the data - `disk_snapshot_id` (string) - Snapshots are used to create the data
disk After this parameter is specified, Size is ignored. The actual disk After this parameter is specified, Size is ignored. The actual
size of the created disk is the size of the specified snapshot. size of the created disk is the size of the specified snapshot.
- `disk_description` (string) - The value of disk description is blank by - `disk_description` (string) - The value of disk description is blank by
default. [2, 256] characters. The disk description will appear on the default. [2, 256] characters. The disk description will appear on the
console. It cannot begin with `http://` or `https://`. console. It cannot begin with `http://` or `https://`.
- `disk_delete_with_instance` (bool) - Whether or not the disk is - `disk_delete_with_instance` (bool) - Whether or not the disk is
released along with the instance: released along with the instance:
- `disk_device` (string) - Device information of the related instance: - `disk_device` (string) - Device information of the related instance:
such as /dev/xvdb It is null unless the Status is In_use. such as /dev/xvdb It is null unless the Status is In_use.
- `disk_encrypted` (boolean) - Whether or not to encrypt the data disk.
If this option is set to true, the data disk will be encryped and corresponding snapshot in the target image will also be encrypted. By
default, if this is an extra data disk, Packer will not encrypt the
data disk. Otherwise, Packer will keep the encryption setting to what
it was in the source image. Please refer to Introduction of ECS disk encryption
for more details.
- `disk_encrypted` (boolean) - Whether or not to encrypt the data disk.
If this option is set to true, the data disk will be encryped and corresponding snapshot in the target image will also be encrypted. By
default, if this is an extra data disk, Packer will not encrypt the
data disk. Otherwise, Packer will keep the encryption setting to what
it was in the source image. Please refer to Introduction of ECS disk encryption
for more details.

View File

@ -1,79 +1,80 @@
<!-- Code generated from the comments of the AlicloudDiskDevices struct in builder/alicloud/ecs/image_config.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the AlicloudDiskDevices struct in builder/alicloud/ecs/image_config.go; DO NOT EDIT MANUALLY -->
- `system_disk_mapping` (AlicloudDiskDevice) - Image disk mapping for system - `system_disk_mapping` (AlicloudDiskDevice) - Image disk mapping for system
disk.
- `disk_category` (string) - Category of the system disk. Optional values
are: - `cloud` - general cloud disk - `cloud_efficiency` - efficiency cloud disk - `cloud_ssd` - cloud SSD
For phased-out instance types and non-I/O optimized instances, the
default value is cloud. Otherwise, the default value is
cloud_efficiency.
- `disk_description` (string) - The value of disk description is blank by
default. \[2, 256\] characters. The disk description will appear on the
console. It cannot begin with `http://` or `https://`.
- `disk_name` (string) - The value of disk name is blank by default. \[2,
128\] English or Chinese characters, must begin with an
uppercase/lowercase letter or Chinese character. Can contain numbers,
`.`, `_` and `-`. The disk name will appear on the console. It cannot
begin with `http://` or `https://`.
- `disk_size` (number) - Size of the system disk, measured in GiB. Value
range: \[20, 500\]. The specified value must be equal to or greater
than max{20, ImageSize}. Default value: max{40, ImageSize}.
- `image_disk_mappings` ([]AlicloudDiskDevice) - Add one or more data
disks to the image.
- `disk_category` (string) - Category of the data disk. Optional values
are:
- `cloud` - general cloud disk
- `cloud_efficiency` - efficiency cloud disk
- `cloud_ssd` - cloud SSD
Default value: cloud.
- `disk_delete_with_instance` (boolean) - Whether or not the disk is
released along with the instance:
- True indicates that when the instance is released, this disk will
be released with it
- False indicates that when the instance is released, this disk will
be retained.
- `disk_description` (string) - The value of disk description is blank by
default. \[2, 256\] characters. The disk description will appear on the
console. It cannot begin with `http://` or `https://`.
- `disk_device` (string) - Device information of the related instance:
such as `/dev/xvdb` It is null unless the Status is In_use.
- `disk_name` (string) - The value of disk name is blank by default. \[2,
128\] English or Chinese characters, must begin with an
uppercase/lowercase letter or Chinese character. Can contain numbers,
`.`, `_` and `-`. The disk name will appear on the console. It cannot
begin with `http://` or `https://`.
- `disk_size` (number) - Size of the data disk, in GB, values range:
- `cloud` - 5 \~ 2000
- `cloud_efficiency` - 20 \~ 2048
- `cloud_ssd` - 20 \~ 2048
The value should be equal to or greater than the size of the specific
SnapshotId.
- `disk_snapshot_id` (string) - Snapshots are used to create the data
disk After this parameter is specified, Size is ignored. The actual
size of the created disk is the size of the specified snapshot.
Snapshots from on or before July 15, 2013 cannot be used to create a
disk. disk.
- `disk_category` (string) - Category of the system disk. Optional values
are:
- `cloud` - general cloud disk
- `cloud_efficiency` - efficiency cloud disk
- `cloud_ssd` - cloud SSD
For phased-out instance types and non-I/O optimized instances, the
default value is cloud. Otherwise, the default value is
cloud\_efficiency.
- `disk_description` (string) - The value of disk description is blank by
default. \[2, 256\] characters. The disk description will appear on the
console. It cannot begin with `http://` or `https://`.
- `disk_name` (string) - The value of disk name is blank by default. \[2,
128\] English or Chinese characters, must begin with an
uppercase/lowercase letter or Chinese character. Can contain numbers,
`.`, `_` and `-`. The disk name will appear on the console. It cannot
begin with `http://` or `https://`.
- `disk_size` (number) - Size of the system disk, measured in GiB. Value
range: \[20, 500\]. The specified value must be equal to or greater
than max{20, ImageSize}. Default value: max{40, ImageSize}.
- `image_disk_mappings` ([]AlicloudDiskDevice) - Add one or more data
disks to the image.
- `disk_category` (string) - Category of the data disk. Optional values
are:
- `cloud` - general cloud disk
- `cloud_efficiency` - efficiency cloud disk
- `cloud_ssd` - cloud SSD
Default value: cloud.
- `disk_delete_with_instance` (boolean) - Whether or not the disk is
released along with the instance:
- True indicates that when the instance is released, this disk will
be released with it
- False indicates that when the instance is released, this disk will
be retained.
- `disk_description` (string) - The value of disk description is blank by
default. \[2, 256\] characters. The disk description will appear on the
console. It cannot begin with `http://` or `https://`.
- `disk_device` (string) - Device information of the related instance:
such as `/dev/xvdb` It is null unless the Status is In\_use.
- `disk_name` (string) - The value of disk name is blank by default. \[2,
128\] English or Chinese characters, must begin with an
uppercase/lowercase letter or Chinese character. Can contain numbers,
`.`, `_` and `-`. The disk name will appear on the console. It cannot
begin with `http://` or `https://`.
- `disk_size` (number) - Size of the data disk, in GB, values range:
- `cloud` - 5 \~ 2000
- `cloud_efficiency` - 20 \~ 2048
- `cloud_ssd` - 20 \~ 2048
The value should be equal to or greater than the size of the specific
SnapshotId.
- `disk_snapshot_id` (string) - Snapshots are used to create the data
disk After this parameter is specified, Size is ignored. The actual
size of the created disk is the size of the specified snapshot.
Snapshots from on or before July 15, 2013 cannot be used to create a
disk.
- `disk_encrypted` (boolean) - Whether or not to encrypt the data disk.
If this option is set to true, the data disk will be encryped and corresponding snapshot in the target image will also be encrypted. By
default, if this is an extra data disk, Packer will not encrypt the
data disk. Otherwise, Packer will keep the encryption setting to what
it was in the source image. Please refer to Introduction of [ECS disk encryption](https://www.alibabacloud.com/help/doc-detail/59643.htm)
for more details.
- `disk_encrypted` (boolean) - Whether or not to encrypt the data disk.
If this option is set to true, the data disk will be encryped and corresponding snapshot in the target image will also be encrypted. By
default, if this is an extra data disk, Packer will not encrypt the
data disk. Otherwise, Packer will keep the encryption setting to what
it was in the source image. Please refer to Introduction of [ECS disk encryption](https://www.alibabacloud.com/help/doc-detail/59643.htm)
for more details.

View File

@ -1,57 +1,58 @@
<!-- Code generated from the comments of the AlicloudImageConfig struct in builder/alicloud/ecs/image_config.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the AlicloudImageConfig struct in builder/alicloud/ecs/image_config.go; DO NOT EDIT MANUALLY -->
- `image_version` (string) - The version number of the image, with a length - `image_version` (string) - The version number of the image, with a length
limit of 1 to 40 English characters. limit of 1 to 40 English characters.
- `image_description` (string) - The description of the image, with a length - `image_description` (string) - The description of the image, with a length
limit of 0 to 256 characters. Leaving it blank means null, which is the limit of 0 to 256 characters. Leaving it blank means null, which is the
default value. It cannot begin with `http://` or `https://`. default value. It cannot begin with `http://` or `https://`.
- `image_share_account` ([]string) - The IDs of to-be-added Aliyun - `image_share_account` ([]string) - The IDs of to-be-added Aliyun
accounts to which the image is shared. The number of accounts is 1 to 10. accounts to which the image is shared. The number of accounts is 1 to 10.
If number of accounts is greater than 10, this parameter is ignored. If number of accounts is greater than 10, this parameter is ignored.
- `image_unshare_account` ([]string) - Alicloud Image UN Share Accounts - `image_unshare_account` ([]string) - Alicloud Image UN Share Accounts
- `image_copy_regions` ([]string) - Copy to the destination regionIds. - `image_copy_regions` ([]string) - Copy to the destination regionIds.
- `image_copy_names` ([]string) - The name of the destination image, - `image_copy_names` ([]string) - The name of the destination image,
[2, 128] English or Chinese characters. It must begin with an [2, 128] English or Chinese characters. It must begin with an
uppercase/lowercase letter or a Chinese character, and may contain numbers, uppercase/lowercase letter or a Chinese character, and may contain numbers,
\_ or -. It cannot begin with `http://` or `https://`. _ or -. It cannot begin with `http://` or `https://`.
- `image_encrypted` (boolean) - Whether or not to encrypt the target images, including those copied if image_copy_regions is specified. If this option - `image_encrypted` (boolean) - Whether or not to encrypt the target images, including those copied if image_copy_regions is specified. If this option
is set to true, a temporary image will be created from the provisioned is set to true, a temporary image will be created from the provisioned
instance in the main region and an encrypted copy will be generated in the instance in the main region and an encrypted copy will be generated in the
same region. By default, Packer will keep the encryption setting to what same region. By default, Packer will keep the encryption setting to what
it was in the source image. it was in the source image.
- `image_force_delete` (bool) - If this value is true, when the target image names including those - `image_force_delete` (bool) - If this value is true, when the target image names including those
copied are duplicated with existing images, it will delete the existing copied are duplicated with existing images, it will delete the existing
images and then create the target images, otherwise, the creation will images and then create the target images, otherwise, the creation will
fail. The default value is false. Check `image_name` and fail. The default value is false. Check `image_name` and
`image_copy_names` options for names of target images. If `image_copy_names` options for names of target images. If
[-force](/docs/commands/build#force) option is [-force](/docs/commands/build#force) option is
provided in `build` command, this option can be omitted and taken as provided in `build` command, this option can be omitted and taken as
true. true.
- `image_force_delete_snapshots` (bool) - If this value is true, when delete the duplicated existing images, the - `image_force_delete_snapshots` (bool) - If this value is true, when delete the duplicated existing images, the
source snapshots of those images will be delete either. If source snapshots of those images will be delete either. If
[-force](/docs/commands/build#force) option is [-force](/docs/commands/build#force) option is
provided in `build` command, this option can be omitted and taken as provided in `build` command, this option can be omitted and taken as
true. true.
- `image_force_delete_instances` (bool) - Alicloud Image Force Delete Instances - `image_force_delete_instances` (bool) - Alicloud Image Force Delete Instances
- `image_ignore_data_disks` (bool) - If this value is true, the image - `image_ignore_data_disks` (bool) - If this value is true, the image
created will not include any snapshot of data disks. This option would be created will not include any snapshot of data disks. This option would be
useful for any circumstance that default data disks with instance types are useful for any circumstance that default data disks with instance types are
not concerned. The default value is false. not concerned. The default value is false.
- `skip_region_validation` (bool) - The region validation can be skipped - `skip_region_validation` (bool) - The region validation can be skipped
if this value is true, the default value is false. if this value is true, the default value is false.
- `tags` (map[string]string) - Tags applied to the destination image and relevant snapshots. - `tags` (map[string]string) - Tags applied to the destination image and relevant snapshots.
- `tag` ([]{name string, value string}) - Same as [`tags`](#tags) but defined as a singular repeatable block
containing a `name` 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.
- `tag` ([]{name string, value string}) - Same as [`tags`](#tags) but defined as a singular repeatable block
containing a `name` 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.

View File

@ -1,6 +1,7 @@
<!-- Code generated from the comments of the AlicloudImageConfig struct in builder/alicloud/ecs/image_config.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the AlicloudImageConfig struct in builder/alicloud/ecs/image_config.go; DO NOT EDIT MANUALLY -->
- `image_name` (string) - The name of the user-defined image, [2, 128] - `image_name` (string) - The name of the user-defined image, [2, 128]
English or Chinese characters. It must begin with an uppercase/lowercase English or Chinese characters. It must begin with an uppercase/lowercase
letter or a Chinese character, and may contain numbers, \_ or -. It letter or a Chinese character, and may contain numbers, _ or -. It
cannot begin with `http://` or `https://`. cannot begin with `http://` or `https://`.

View File

@ -1,95 +1,94 @@
<!-- Code generated from the comments of the RunConfig struct in builder/alicloud/ecs/run_config.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the RunConfig struct in builder/alicloud/ecs/run_config.go; DO NOT EDIT MANUALLY -->
- `associate_public_ip_address` (bool) - Associate Public Ip Address - `associate_public_ip_address` (bool) - Associate Public Ip Address
- `zone_id` (string) - ID of the zone to which the disk belongs. - `zone_id` (string) - ID of the zone to which the disk belongs.
- `io_optimized` (boolean) - Whether an ECS instance is I/O optimized or not. If this option is not - `io_optimized` (boolean) - Whether an ECS instance is I/O optimized or not. If this option is not
provided, the value will be determined by product API according to what provided, the value will be determined by product API according to what
`instance_type` is used. `instance_type` is used.
- `description` (string) - Description - `description` (string) - Description
- `force_stop_instance` (bool) - Whether to force shutdown upon device - `force_stop_instance` (bool) - Whether to force shutdown upon device
restart. The default value is `false`. restart. The default value is `false`.
If it is set to `false`, the system is shut down normally; if it is set to If it is set to `false`, the system is shut down normally; if it is set to
`true`, the system is forced to shut down. `true`, the system is forced to shut down.
- `disable_stop_instance` (bool) - If this option is set to true, Packer - `disable_stop_instance` (bool) - If this option is set to true, Packer
will not stop the instance for you, and you need to make sure the instance will not stop the instance for you, and you need to make sure the instance
will be stopped in the final provisioner command. Otherwise, Packer will will be stopped in the final provisioner command. Otherwise, Packer will
timeout while waiting the instance to be stopped. This option is provided timeout while waiting the instance to be stopped. This option is provided
for some specific scenarios that you want to stop the instance by yourself. for some specific scenarios that you want to stop the instance by yourself.
E.g., Sysprep a windows which may shutdown the instance within its command. E.g., Sysprep a windows which may shutdown the instance within its command.
The default value is false. The default value is false.
- `security_group_id` (string) - ID of the security group to which a newly - `security_group_id` (string) - ID of the security group to which a newly
created instance belongs. Mutual access is allowed between instances in one created instance belongs. Mutual access is allowed between instances in one
security group. If not specified, the newly created instance will be added security group. If not specified, the newly created instance will be added
to the default security group. If the default group doesnt exist, or the to the default security group. If the default group doesnt exist, or the
number of instances in it has reached the maximum limit, a new security number of instances in it has reached the maximum limit, a new security
group will be created automatically. group will be created automatically.
- `security_group_name` (string) - The security group name. The default value - `security_group_name` (string) - The security group name. The default value
is blank. [2, 128] English or Chinese characters, must begin with an is blank. [2, 128] English or Chinese characters, must begin with an
uppercase/lowercase letter or Chinese character. Can contain numbers, ., uppercase/lowercase letter or Chinese character. Can contain numbers, .,
\_ or -. It cannot begin with `http://` or `https://`. _ or -. It cannot begin with `http://` or `https://`.
- `user_data` (string) - User data to apply when launching the instance. Note - `user_data` (string) - User data to apply when launching the instance. Note
that you need to be careful about escaping characters due to the templates that you need to be careful about escaping characters due to the templates
being JSON. It is often more convenient to use user_data_file, instead. being JSON. It is often more convenient to use user_data_file, instead.
Packer will not automatically wait for a user script to finish before Packer will not automatically wait for a user script to finish before
shutting down the instance this must be handled in a provisioner. shutting down the instance this must be handled in a provisioner.
- `user_data_file` (string) - Path to a file that will be used for the user - `user_data_file` (string) - Path to a file that will be used for the user
data when launching the instance. data when launching the instance.
- `vpc_id` (string) - VPC ID allocated by the system. - `vpc_id` (string) - VPC ID allocated by the system.
- `vpc_name` (string) - The VPC name. The default value is blank. [2, 128] - `vpc_name` (string) - The VPC name. The default value is blank. [2, 128]
English or Chinese characters, must begin with an uppercase/lowercase English or Chinese characters, must begin with an uppercase/lowercase
letter or Chinese character. Can contain numbers, \_ and -. The disk letter or Chinese character. Can contain numbers, _ and -. The disk
description will appear on the console. Cannot begin with `http://` or description will appear on the console. Cannot begin with `http://` or
`https://`. `https://`.
- `vpc_cidr_block` (string) - Value options: 192.168.0.0/16 and - `vpc_cidr_block` (string) - Value options: 192.168.0.0/16 and
172.16.0.0/16. When not specified, the default value is 172.16.0.0/16. 172.16.0.0/16. When not specified, the default value is 172.16.0.0/16.
- `vswitch_id` (string) - The ID of the VSwitch to be used. - `vswitch_id` (string) - The ID of the VSwitch to be used.
- `vswitch_name` (string) - The ID of the VSwitch to be used. - `vswitch_name` (string) - The ID of the VSwitch to be used.
- `instance_name` (string) - Display name of the instance, which is a string of 2 to 128 Chinese or - `instance_name` (string) - Display name of the instance, which is a string of 2 to 128 Chinese or
English characters. It must begin with an uppercase/lowercase letter or English characters. It must begin with an uppercase/lowercase letter or
a Chinese character and can contain numerals, `.`, `_`, or `-`. The a Chinese character and can contain numerals, `.`, `_`, or `-`. The
instance name is displayed on the Alibaba Cloud console. If this instance name is displayed on the Alibaba Cloud console. If this
parameter is not specified, the default value is InstanceId of the parameter is not specified, the default value is InstanceId of the
instance. It cannot begin with `http://` or `https://`. instance. It cannot begin with `http://` or `https://`.
- `internet_charge_type` (string) - Internet charge type, which can be - `internet_charge_type` (string) - Internet charge type, which can be
`PayByTraffic` or `PayByBandwidth`. Optional values: `PayByTraffic` or `PayByBandwidth`. Optional values:
- `PayByBandwidth`
- `PayByTraffic`
- `PayByBandwidth` If this parameter is not specified, the default value is `PayByBandwidth`.
- `PayByTraffic` For the regions out of China, currently only support `PayByTraffic`, you
must set it manfully.
If this parameter is not specified, the default value is `PayByBandwidth`. - `internet_max_bandwidth_out` (int) - Maximum outgoing bandwidth to the
For the regions out of China, currently only support `PayByTraffic`, you public network, measured in Mbps (Mega bits per second).
must set it manfully.
- `internet_max_bandwidth_out` (int) - Maximum outgoing bandwidth to the Value range:
public network, measured in Mbps (Mega bits per second). - `PayByBandwidth`: \[0, 100\]. If this parameter is not specified, API
automatically sets it to 0 Mbps.
- `PayByTraffic`: \[1, 100\]. If this parameter is not specified, an
error is returned.
Value range: - `wait_snapshot_ready_timeout` (int) - Timeout of creating snapshot(s).
The default timeout is 3600 seconds if this option is not set or is set
to 0. For those disks containing lots of data, it may require a higher
timeout value.
- `PayByBandwidth`: \[0, 100\]. If this parameter is not specified, API - `ssh_private_ip` (bool) - If this value is true, packer will connect to
automatically sets it to 0 Mbps. the ECS created through private ip instead of allocating a public ip or an
- `PayByTraffic`: \[1, 100\]. If this parameter is not specified, an EIP. The default value is false.
error is returned.
- `wait_snapshot_ready_timeout` (int) - Timeout of creating snapshot(s).
The default timeout is 3600 seconds if this option is not set or is set
to 0. For those disks containing lots of data, it may require a higher
timeout value.
- `ssh_private_ip` (bool) - If this value is true, packer will connect to
the ECS created through private ip instead of allocating a public ip or an
EIP. The default value is false.

View File

@ -1,11 +1,12 @@
<!-- Code generated from the comments of the RunConfig struct in builder/alicloud/ecs/run_config.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the RunConfig struct in builder/alicloud/ecs/run_config.go; DO NOT EDIT MANUALLY -->
- `instance_type` (string) - Type of the instance. For values, see [Instance Type - `instance_type` (string) - Type of the instance. For values, see [Instance Type
Table](https://www.alibabacloud.com/help/doc-detail/25378.htm?spm=a3c0i.o25499en.a3.9.14a36ac8iYqKRA). Table](https://www.alibabacloud.com/help/doc-detail/25378.htm?spm=a3c0i.o25499en.a3.9.14a36ac8iYqKRA).
You can also obtain the latest instance type table by invoking the You can also obtain the latest instance type table by invoking the
[Querying Instance Type [Querying Instance Type
Table](https://intl.aliyun.com/help/doc-detail/25620.htm?spm=a3c0i.o25499en.a3.6.Dr1bik) Table](https://intl.aliyun.com/help/doc-detail/25620.htm?spm=a3c0i.o25499en.a3.6.Dr1bik)
interface. interface.
- `source_image` (string) - This is the base image id which you want to
create your customized images.
- `source_image` (string) - This is the base image id which you want to
create your customized images.

View File

@ -1,134 +1,135 @@
<!-- Code generated from the comments of the Config struct in builder/amazon/chroot/builder.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the Config struct in builder/amazon/chroot/builder.go; DO NOT EDIT MANUALLY -->
- `ami_block_device_mappings` (awscommon.BlockDevices) - Add one or more [block device - `ami_block_device_mappings` (awscommon.BlockDevices) - Add one or more [block device
mappings](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html) mappings](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html)
to the AMI. If this field is populated, and you are building from an to the AMI. If this field is populated, and you are building from an
existing source image, the block device mappings in the source image existing source image, the block device mappings in the source image
will be overwritten. This means you must have a block device mapping will be overwritten. This means you must have a block device mapping
entry for your root volume, `root_volume_size` and `root_device_name`. entry for your root volume, `root_volume_size` and `root_device_name`.
See the [BlockDevices](#block-devices-configuration) documentation for See the [BlockDevices](#block-devices-configuration) documentation for
fields. fields.
- `chroot_mounts` ([][]string) - This is a list of devices to mount into the chroot environment. This - `chroot_mounts` ([][]string) - This is a list of devices to mount into the chroot environment. This
configuration parameter requires some additional documentation which is configuration parameter requires some additional documentation which is
in the Chroot Mounts section. Please read that section for more in the Chroot Mounts section. Please read that section for more
information on how to use this. information on how to use this.
- `command_wrapper` (string) - How to run shell commands. This defaults to `{{.Command}}`. This may be - `command_wrapper` (string) - How to run shell commands. This defaults to `{{.Command}}`. This may be
useful to set if you want to set environmental variables or perhaps run useful to set if you want to set environmental variables or perhaps run
it with sudo or so on. This is a configuration template where the it with sudo or so on. This is a configuration template where the
.Command variable is replaced with the command to be run. Defaults to .Command variable is replaced with the command to be run. Defaults to
`{{.Command}}`. `{{.Command}}`.
- `copy_files` ([]string) - Paths to files on the running EC2 instance that will be copied into the - `copy_files` ([]string) - Paths to files on the running EC2 instance that will be copied into the
chroot environment prior to provisioning. Defaults to /etc/resolv.conf chroot environment prior to provisioning. Defaults to /etc/resolv.conf
so that DNS lookups work. Pass an empty list to skip copying so that DNS lookups work. Pass an empty list to skip copying
/etc/resolv.conf. You may need to do this if you're building an image /etc/resolv.conf. You may need to do this if you're building an image
that uses systemd. that uses systemd.
- `device_path` (string) - The path to the device where the root volume of the source AMI will be - `device_path` (string) - The path to the device where the root volume of the source AMI will be
attached. This defaults to "" (empty string), which forces Packer to attached. This defaults to "" (empty string), which forces Packer to
find an open device automatically. find an open device automatically.
- `nvme_device_path` (string) - When we call the mount command (by default mount -o device dir), the - `nvme_device_path` (string) - When we call the mount command (by default mount -o device dir), the
string provided in nvme_mount_path will replace device in that command. string provided in nvme_mount_path will replace device in that command.
When this option is not set, device in that command will be something When this option is not set, device in that command will be something
like /dev/sdf1, mirroring the attached device name. This assumption like /dev/sdf1, mirroring the attached device name. This assumption
works for most instances but will fail with c5 and m5 instances. In works for most instances but will fail with c5 and m5 instances. In
order to use the chroot builder with c5 and m5 instances, you must order to use the chroot builder with c5 and m5 instances, you must
manually set nvme_device_path and device_path. manually set nvme_device_path and device_path.
- `from_scratch` (bool) - Build a new volume instead of starting from an existing AMI root volume - `from_scratch` (bool) - Build a new volume instead of starting from an existing AMI root volume
snapshot. Default false. If true, source_ami/source_ami_filter are no snapshot. Default false. If true, source_ami/source_ami_filter are no
longer used and the following options become required: longer used and the following options become required:
ami_virtualization_type, pre_mount_commands and root_volume_size. ami_virtualization_type, pre_mount_commands and root_volume_size.
- `mount_options` ([]string) - Options to supply the mount command when mounting devices. Each option - `mount_options` ([]string) - Options to supply the mount command when mounting devices. Each option
will be prefixed with -o and supplied to the mount command ran by will be prefixed with -o and supplied to the mount command ran by
Packer. Because this command is ran in a shell, user discretion is Packer. Because this command is ran in a shell, user discretion is
advised. See this manual page for the mount command for valid file advised. See this manual page for the mount command for valid file
system specific options. system specific options.
- `mount_partition` (string) - The partition number containing the / partition. By default this is the - `mount_partition` (string) - The partition number containing the / partition. By default this is the
first partition of the volume, (for example, xvda1) but you can first partition of the volume, (for example, xvda1) but you can
designate the entire block device by setting "mount_partition": "0" in designate the entire block device by setting "mount_partition": "0" in
your config, which will mount xvda instead. your config, which will mount xvda instead.
- `mount_path` (string) - The path where the volume will be mounted. This is where the chroot - `mount_path` (string) - The path where the volume will be mounted. This is where the chroot
environment will be. This defaults to environment will be. This defaults to
`/mnt/packer-amazon-chroot-volumes/{{.Device}}`. This is a configuration `/mnt/packer-amazon-chroot-volumes/{{.Device}}`. This is a configuration
template where the .Device variable is replaced with the name of the template where the .Device variable is replaced with the name of the
device where the volume is attached. device where the volume is attached.
- `post_mount_commands` ([]string) - As pre_mount_commands, but the commands are executed after mounting the - `post_mount_commands` ([]string) - As pre_mount_commands, but the commands are executed after mounting the
root device and before the extra mount and copy steps. The device and root device and before the extra mount and copy steps. The device and
mount path are provided by `{{.Device}}` and `{{.MountPath}}`. mount path are provided by `{{.Device}}` and `{{.MountPath}}`.
- `pre_mount_commands` ([]string) - A series of commands to execute after attaching the root volume and - `pre_mount_commands` ([]string) - A series of commands to execute after attaching the root volume and
before mounting the chroot. This is not required unless using before mounting the chroot. This is not required unless using
from_scratch. If so, this should include any partitioning and filesystem from_scratch. If so, this should include any partitioning and filesystem
creation commands. The path to the device is provided by `{{.Device}}`. creation commands. The path to the device is provided by `{{.Device}}`.
- `root_device_name` (string) - The root device name. For example, xvda. - `root_device_name` (string) - The root device name. For example, xvda.
- `root_volume_size` (int64) - The size of the root volume in GB for the chroot environment and the - `root_volume_size` (int64) - The size of the root volume in GB for the chroot environment and the
resulting AMI. Default size is the snapshot size of the source_ami resulting AMI. Default size is the snapshot size of the source_ami
unless from_scratch is true, in which case this field must be defined. unless from_scratch is true, in which case this field must be defined.
- `root_volume_type` (string) - The type of EBS volume for the chroot environment and resulting AMI. The - `root_volume_type` (string) - The type of EBS volume for the chroot environment and resulting AMI. The
default value is the type of the source_ami, unless from_scratch is default value is the type of the source_ami, unless from_scratch is
true, in which case the default value is gp2. You can only specify io1 true, in which case the default value is gp2. You can only specify io1
if building based on top of a source_ami which is also io1. if building based on top of a source_ami which is also io1.
- `source_ami_filter` (awscommon.AmiFilterOptions) - Filters used to populate the source_ami field. Example: - `source_ami_filter` (awscommon.AmiFilterOptions) - Filters used to populate the source_ami field. Example:
```json ```json
{ {
"source_ami_filter": { "source_ami_filter": {
"filters": { "filters": {
"virtualization-type": "hvm", "virtualization-type": "hvm",
"name": "ubuntu/images/*ubuntu-xenial-16.04-amd64-server-*", "name": "ubuntu/images/*ubuntu-xenial-16.04-amd64-server-*",
"root-device-type": "ebs" "root-device-type": "ebs"
}, },
"owners": ["099720109477"], "owners": ["099720109477"],
"most_recent": true "most_recent": true
}
} }
} ```
```
This selects the most recent Ubuntu 16.04 HVM EBS AMI from Canonical. NOTE: This selects the most recent Ubuntu 16.04 HVM EBS AMI from Canonical. NOTE:
This will fail unless _exactly_ one AMI is returned. In the above example, This will fail unless *exactly* one AMI is returned. In the above example,
`most_recent` will cause this to succeed by selecting the newest image. `most_recent` will cause this to succeed by selecting the newest image.
- `filters` (map of strings) - filters used to select a `source_ami`. - `filters` (map of strings) - filters used to select a `source_ami`.
NOTE: This will fail unless _exactly_ one AMI is returned. Any filter NOTE: This will fail unless *exactly* one AMI is returned. Any filter
described in the docs for described in the docs for
[DescribeImages](http://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeImages.html) [DescribeImages](http://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeImages.html)
is valid. is valid.
- `owners` (array of strings) - Filters the images by their owner. You - `owners` (array of strings) - Filters the images by their owner. You
may specify one or more AWS account IDs, "self" (which will use the may specify one or more AWS account IDs, "self" (which will use the
account whose credentials you are using to run Packer), or an AWS owner account whose credentials you are using to run Packer), or an AWS owner
alias: for example, "amazon", "aws-marketplace", or "microsoft". This alias: for example, "amazon", "aws-marketplace", or "microsoft". This
option is required for security reasons. option is required for security reasons.
- `most_recent` (boolean) - Selects the newest created image when true. - `most_recent` (boolean) - Selects the newest created image when true.
This is most useful for selecting a daily distro build. This is most useful for selecting a daily distro build.
You may set this in place of `source_ami` or in conjunction with it. If you You may set this in place of `source_ami` or in conjunction with it. If you
set this in conjunction with `source_ami`, the `source_ami` will be added set this in conjunction with `source_ami`, the `source_ami` will be added
to the filter. The provided `source_ami` must meet all of the filtering to the filter. The provided `source_ami` must meet all of the filtering
criteria provided in `source_ami_filter`; this pins the AMI returned by the criteria provided in `source_ami_filter`; this pins the AMI returned by the
filter, but will cause Packer to fail if the `source_ami` does not exist. filter, but will cause Packer to fail if the `source_ami` does not exist.
- `root_volume_tags` (map[string]string) - Tags to apply to the volumes that are _launched_. This is a [template - `root_volume_tags` (map[string]string) - Tags to apply to the volumes that are *launched*. This is a [template
engine](/docs/templates/engine), see [Build template engine](/docs/templates/engine), see [Build template
data](#build-template-data) for more information. data](#build-template-data) for more information.
- `root_volume_tag` ([]{name string, value string}) - Same as [`root_volume_tags`](#root_volume_tags) but defined as a - `root_volume_tag` ([]{name string, value string}) - Same as [`root_volume_tags`](#root_volume_tags) but defined as a
singular block containing a `name` and a `value` field. In HCL2 mode the singular block containing a `name` and a `value` field. In HCL2 mode the
[`dynamic_block`](/docs/configuration/from-1.5/expressions#dynamic-blocks) [`dynamic_block`](/docs/configuration/from-1.5/expressions#dynamic-blocks)
will allow you to create those programatically. will allow you to create those programatically.
- `ami_architecture` (string) - what architecture to use when registering the final AMI; valid options
are "x86_64" or "arm64". Defaults to "x86_64".
- `ami_architecture` (string) - what architecture to use when registering the final AMI; valid options
are "x86_64" or "arm64". Defaults to "x86_64".

View File

@ -1,6 +1,7 @@
<!-- Code generated from the comments of the Config struct in builder/amazon/chroot/builder.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the Config struct in builder/amazon/chroot/builder.go; DO NOT EDIT MANUALLY -->
- `source_ami` (string) - The source AMI whose root volume will be copied and provisioned on the - `source_ami` (string) - The source AMI whose root volume will be copied and provisioned on the
currently running instance. This must be an EBS-backed AMI with a root currently running instance. This must be an EBS-backed AMI with a root
volume snapshot that you have access to. Note: this is not used when volume snapshot that you have access to. Note: this is not used when
from_scratch is set to true. from_scratch is set to true.

View File

@ -1,4 +1,3 @@
<!-- Code generated from the comments of the Config struct in builder/amazon/chroot/builder.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the Config struct in builder/amazon/chroot/builder.go; DO NOT EDIT MANUALLY -->
Config is the configuration that is chained through the steps and settable Config is the configuration that is chained through the steps and settable
from the template. from the template.

View File

@ -1,118 +1,120 @@
<!-- Code generated from the comments of the AMIConfig struct in builder/amazon/common/ami_config.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the AMIConfig struct in builder/amazon/common/ami_config.go; DO NOT EDIT MANUALLY -->
- `ami_description` (string) - The description to set for the resulting - `ami_description` (string) - The description to set for the resulting
AMI(s). By default this description is empty. This is a AMI(s). By default this description is empty. This is a
[template engine](/docs/templates/engine), see [Build template [template engine](/docs/templates/engine), see [Build template
data](#build-template-data) for more information. data](#build-template-data) for more information.
- `ami_virtualization_type` (string) - The type of virtualization for the AMI - `ami_virtualization_type` (string) - The type of virtualization for the AMI
you are building. This option is required to register HVM images. Can be you are building. This option is required to register HVM images. Can be
paravirtual (default) or hvm. paravirtual (default) or hvm.
- `ami_users` ([]string) - A list of account IDs that have access to - `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 launch the resulting AMI(s). By default no additional users other than the
user creating the AMI has permissions to launch it. user creating the AMI has permissions to launch it.
- `ami_groups` ([]string) - A list of groups that have access to - `ami_groups` ([]string) - A list of groups that have access to
launch the resulting AMI(s). By default no groups have permission to launch launch the resulting AMI(s). By default no groups have permission to launch
the AMI. all will make the AMI publicly accessible. the AMI. all will make the AMI publicly accessible.
- `ami_product_codes` ([]string) - A list of product codes to - `ami_product_codes` ([]string) - A list of product codes to
associate with the AMI. By default no product codes are associated with the associate with the AMI. By default no product codes are associated with the
AMI. AMI.
- `ami_regions` ([]string) - A list of regions to copy the AMI to. - `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 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. 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 - `skip_region_validation` (bool) - Set to true if you want to skip
validation of the ami_regions configuration option. Default false. validation of the ami_regions configuration option. Default false.
- `tags` (map[string]string) - Tags applied to the AMI. This is a - `tags` (map[string]string) - Tags applied to the AMI. This is a
[template engine](/docs/templates/engine), see [Build template [template engine](/docs/templates/engine), see [Build template
data](#build-template-data) for more information. data](#build-template-data) for more information.
- `tag` ([]{name string, value string}) - Same as [`tags`](#tags) but defined as a singular repeatable block - `tag` ([]{name string, value string}) - Same as [`tags`](#tags) but defined as a singular repeatable block
containing a `name` and a `value` field. In HCL2 mode the containing a `name` and a `value` field. In HCL2 mode the
[`dynamic_block`](/docs/configuration/from-1.5/expressions#dynamic-blocks) [`dynamic_block`](/docs/configuration/from-1.5/expressions#dynamic-blocks)
will allow you to create those programatically. will allow you to create those programatically.
- `ena_support` (boolean) - Enable enhanced networking (ENA but not SriovNetSupport) on - `ena_support` (boolean) - Enable enhanced networking (ENA but not SriovNetSupport) on
HVM-compatible AMIs. If set, add `ec2:ModifyInstanceAttribute` to your HVM-compatible AMIs. If set, add `ec2:ModifyInstanceAttribute` to your
AWS IAM policy. AWS IAM policy.
Note: you must make sure enhanced networking is enabled on your Note: you must make sure enhanced networking is enabled on your
instance. See [Amazon's documentation on enabling enhanced 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).
- `sriov_support` (bool) - Enable enhanced networking (SriovNetSupport but not ENA) on - `sriov_support` (bool) - Enable enhanced networking (SriovNetSupport but not ENA) on
HVM-compatible AMIs. If true, add `ec2:ModifyInstanceAttribute` to your HVM-compatible AMIs. If true, add `ec2:ModifyInstanceAttribute` to your
AWS IAM policy. Note: you must make sure enhanced networking is enabled AWS IAM policy. Note: you must make sure enhanced networking is enabled
on your instance. See [Amazon's documentation on enabling enhanced 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).
Default `false`. Default `false`.
- `force_deregister` (bool) - Force Packer to first deregister an existing - `force_deregister` (bool) - Force Packer to first deregister an existing
AMI if one with the same name already exists. Default false. AMI if one with the same name already exists. Default false.
- `force_delete_snapshot` (bool) - Force Packer to delete snapshots - `force_delete_snapshot` (bool) - Force Packer to delete snapshots
associated with AMIs, which have been deregistered by force_deregister. associated with AMIs, which have been deregistered by force_deregister.
Default false. Default false.
- `encrypt_boot` (boolean) - Whether or not to encrypt the resulting AMI when - `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 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 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. 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 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 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 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. 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 - `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 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 copied will be encrypted by the default EBS KMS key. For valid formats
see _KmsKeyId_ in the [AWS API docs - see *KmsKeyId* in the [AWS API docs -
CopyImage](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CopyImage.html). 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 This field is validated by Packer, when using an alias, you will have to
prefix `kms_key_id` with `alias/`. 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 - `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 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 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 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 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 empty string `""` instead of a key id in this map. (e.g. `"us-east-1":
conjunction with `snapshot_users` -- in that situation you must use ""`) However, you cannot use default key IDs if you are using this in
custom keys. For valid formats see _KmsKeyId_ in the [AWS API docs - conjunction with `snapshot_users` -- in that situation you must use
CopyImage](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CopyImage.html). 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 This option supercedes the `kms_key_id` option -- if you set both, and
they are different, Packer will respect the value in they are different, Packer will respect the value in
`region_kms_key_ids` for your build region and silently disregard the `region_kms_key_ids` for your build region and silently disregard the
value provided in `kms_key_id`. 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 - `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, 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 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 the intermediary AMI into any regions provided in `ami_regions`, then
delete the intermediary AMI. Default `false`. delete the intermediary AMI. Default `false`.
- `snapshot_tags` (map[string]string) - Tags to apply to snapshot. - `snapshot_tags` (map[string]string) - Tags to apply to snapshot.
They will override AMI tags if already applied to snapshot. This is a They will override AMI tags if already applied to snapshot. This is a
[template engine](/docs/templates/engine), see [Build template [template engine](/docs/templates/engine), see [Build template
data](#build-template-data) for more information. data](#build-template-data) for more information.
- `snapshot_tag` ([]{name string, value string}) - Same as [`snapshot_tags`](#snapshot_tags) but defined as a singular - `snapshot_tag` ([]{name string, value string}) - Same as [`snapshot_tags`](#snapshot_tags) but defined as a singular
repeatable block containing a `name` and a `value` field. In HCL2 mode the repeatable block containing a `name` and a `value` field. In HCL2 mode the
[`dynamic_block`](/docs/configuration/from-1.5/expressions#dynamic-blocks) [`dynamic_block`](/docs/configuration/from-1.5/expressions#dynamic-blocks)
will allow you to create those programatically. will allow you to create those programatically.
- `snapshot_users` ([]string) - A list of account IDs that have - `snapshot_users` ([]string) - A list of account IDs that have
access to create volumes from the snapshot(s). By default no additional access to create volumes from the snapshot(s). By default no additional
users other than the user creating the AMI has permissions to create users other than the user creating the AMI has permissions to create
volumes from the backing snapshot(s). 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.
- `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.

View File

@ -1,6 +1,7 @@
<!-- Code generated from the comments of the AMIConfig struct in builder/amazon/common/ami_config.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the AMIConfig struct in builder/amazon/common/ami_config.go; DO NOT EDIT MANUALLY -->
- `ami_name` (string) - The name of the resulting AMI that will appear when managing AMIs in the - `ami_name` (string) - The name of the resulting AMI that will appear when managing AMIs in the
AWS console or via APIs. This must be unique. To help make this unique, AWS console or via APIs. This must be unique. To help make this unique,
use a function like timestamp (see [template use a function like timestamp (see [template
engine](/docs/templates/engine) for more info). engine](/docs/templates/engine) for more info).

View File

@ -1,3 +1,2 @@
<!-- Code generated from the comments of the AMIConfig struct in builder/amazon/common/ami_config.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the AMIConfig struct in builder/amazon/common/ami_config.go; DO NOT EDIT MANUALLY -->
AMIConfig is for common configuration related to creating AMIs. AMIConfig is for common configuration related to creating AMIs.

View File

@ -1,71 +1,71 @@
<!-- Code generated from the comments of the AccessConfig struct in builder/amazon/common/access_config.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the AccessConfig struct in builder/amazon/common/access_config.go; DO NOT EDIT MANUALLY -->
- `custom_endpoint_ec2` (string) - This option is useful if you use a cloud - `custom_endpoint_ec2` (string) - This option is useful if you use a cloud
provider whose API is compatible with aws EC2. Specify another endpoint provider whose API is compatible with aws EC2. Specify another endpoint
like this https://ec2.custom.endpoint.com. like this https://ec2.custom.endpoint.com.
- `decode_authorization_messages` (bool) - Enable automatic decoding of any encoded authorization (error) messages - `decode_authorization_messages` (bool) - Enable automatic decoding of any encoded authorization (error) messages
using the `sts:DecodeAuthorizationMessage` API. Note: requires that the using the `sts:DecodeAuthorizationMessage` API. Note: requires that the
effective user/role have permissions to `sts:DecodeAuthorizationMessage` effective user/role have permissions to `sts:DecodeAuthorizationMessage`
on resource `*`. Default `false`. on resource `*`. Default `false`.
- `insecure_skip_tls_verify` (bool) - This allows skipping TLS - `insecure_skip_tls_verify` (bool) - This allows skipping TLS
verification of the AWS EC2 endpoint. The default is false. verification of the AWS EC2 endpoint. The default is false.
- `max_retries` (int) - This is the maximum number of times an API call is retried, in the case - `max_retries` (int) - This is the maximum number of times an API call is retried, in the case
where requests are being throttled or experiencing transient failures. where requests are being throttled or experiencing transient failures.
The delay between the subsequent API calls increases exponentially. The delay between the subsequent API calls increases exponentially.
- `mfa_code` (string) - The MFA - `mfa_code` (string) - The MFA
[TOTP](https://en.wikipedia.org/wiki/Time-based_One-time_Password_Algorithm) [TOTP](https://en.wikipedia.org/wiki/Time-based_One-time_Password_Algorithm)
code. This should probably be a user variable since it changes all the code. This should probably be a user variable since it changes all the
time. time.
- `profile` (string) - The profile to use in the shared credentials file for - `profile` (string) - The profile to use in the shared credentials file for
AWS. See Amazon's documentation on [specifying AWS. See Amazon's documentation on [specifying
profiles](https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#specifying-profiles) profiles](https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#specifying-profiles)
for more details. for more details.
- `skip_region_validation` (bool) - Set to true if you want to skip - `skip_region_validation` (bool) - Set to true if you want to skip
validation of the ami_regions configuration option. Default false. validation of the ami_regions configuration option. Default false.
- `skip_metadata_api_check` (bool) - Skip Metadata Api Check - `skip_metadata_api_check` (bool) - Skip Metadata Api Check
- `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
probably don't need it. This will also be read from the AWS_SESSION_TOKEN probably don't need it. This will also be read from the AWS_SESSION_TOKEN
environmental variable. environmental variable.
- `vault_aws_engine` (VaultAWSEngineOptions) - Get credentials from Hashicorp Vault's aws secrets engine. You must - `vault_aws_engine` (VaultAWSEngineOptions) - Get credentials from Hashicorp Vault's aws secrets engine. You must
already have created a role to use. For more information about already have created a role to use. For more information about
generating credentials via the Vault engine, see the [Vault generating credentials via the Vault engine, see the [Vault
docs.](https://www.vaultproject.io/api/secret/aws#generate-credentials) docs.](https://www.vaultproject.io/api/secret/aws#generate-credentials)
If you set this flag, you must also set the below options: If you set this flag, you must also set the below options:
- `name` (string) - Required. Specifies the name of the role to generate
credentials against. This is part of the request URL.
- `engine_name` (string) - The name of the aws secrets engine. In the
Vault docs, this is normally referred to as "aws", and Packer will
default to "aws" if `engine_name` is not set.
- `role_arn` (string)- The ARN of the role to assume if credential\_type
on the Vault role is assumed\_role. Must match one of the allowed role
ARNs in the Vault role. Optional if the Vault role only allows a single
AWS role ARN; required otherwise.
- `ttl` (string) - Specifies the TTL for the use of the STS token. This
is specified as a string with a duration suffix. Valid only when
credential\_type is assumed\_role or federation\_token. When not
specified, the default\_sts\_ttl set for the role will be used. If that
is also not set, then the default value of 3600s will be used. AWS
places limits on the maximum TTL allowed. See the AWS documentation on
the DurationSeconds parameter for AssumeRole (for assumed\_role
credential types) and GetFederationToken (for federation\_token
credential types) for more details.
- `name` (string) - Required. Specifies the name of the role to generate ```json
credentials against. This is part of the request URL. {
- `engine_name` (string) - The name of the aws secrets engine. In the "vault_aws_engine": {
Vault docs, this is normally referred to as "aws", and Packer will "name": "myrole",
default to "aws" if `engine_name` is not set. "role_arn": "myarn",
- `role_arn` (string)- The ARN of the role to assume if credential_type "ttl": "3600s"
on the Vault role is assumed_role. Must match one of the allowed role }
ARNs in the Vault role. Optional if the Vault role only allows a single
AWS role ARN; required otherwise.
- `ttl` (string) - Specifies the TTL for the use of the STS token. This
is specified as a string with a duration suffix. Valid only when
credential_type is assumed_role or federation_token. When not
specified, the default_sts_ttl set for the role will be used. If that
is also not set, then the default value of 3600s will be used. AWS
places limits on the maximum TTL allowed. See the AWS documentation on
the DurationSeconds parameter for AssumeRole (for assumed_role
credential types) and GetFederationToken (for federation_token
credential types) for more details.
```json
{
"vault_aws_engine": {
"name": "myrole",
"role_arn": "myarn",
"ttl": "3600s"
} }
} ```
```

View File

@ -1,13 +1,15 @@
<!-- Code generated from the comments of the AccessConfig struct in builder/amazon/common/access_config.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the AccessConfig struct in builder/amazon/common/access_config.go; DO NOT EDIT MANUALLY -->
- `access_key` (string) - The access key used to communicate with AWS. [Learn how to set this](/docs/builders/amazon#specifying-amazon-credentials). On EBS, this - `access_key` (string) - The access key used to communicate with AWS. [Learn how to set this]
is not required if you are using `use_vault_aws_engine` for (/docs/builders/amazon#specifying-amazon-credentials). On EBS, this
authentication instead. is not required if you are using `use_vault_aws_engine` for
authentication instead.
- `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 AMI.
When chroot building, this value is guessed from environment. When chroot building, this value is guessed from environment.
- `secret_key` (string) - The secret key used to communicate with AWS. [Learn how to set
this](/docs/builders/amazon#specifying-amazon-credentials). This is not required
if you are using `use_vault_aws_engine` for authentication instead.
- `secret_key` (string) - The secret key used to communicate with AWS. [Learn how to set
this](/docs/builders/amazon#specifying-amazon-credentials). This is not required
if you are using `use_vault_aws_engine` for authentication instead.

View File

@ -1,3 +1,3 @@
<!-- Code generated from the comments of the AmiFilterOptions struct in builder/amazon/common/run_config.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the AmiFilterOptions struct in builder/amazon/common/run_config.go; DO NOT EDIT MANUALLY -->
- `most_recent` (bool) - Most Recent - `most_recent` (bool) - Most Recent

View File

@ -1,42 +1,43 @@
<!-- Code generated from the comments of the BlockDevice struct in builder/amazon/common/block_device.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the BlockDevice struct in builder/amazon/common/block_device.go; DO NOT EDIT MANUALLY -->
- `delete_on_termination` (bool) - Indicates whether the EBS volume is deleted on instance termination. - `delete_on_termination` (bool) - Indicates whether the EBS volume is deleted on instance termination.
Default false. NOTE: If this value is not explicitly set to true and Default false. NOTE: If this value is not explicitly set to true and
volumes are not cleaned up by an alternative method, additional volumes volumes are not cleaned up by an alternative method, additional volumes
will accumulate after every build. will accumulate after every build.
- `device_name` (string) - The device name exposed to the instance (for example, /dev/sdh or xvdh). - `device_name` (string) - The device name exposed to the instance (for example, /dev/sdh or xvdh).
Required for every device in the block device mapping. Required for every device in the block device mapping.
- `encrypted` (boolean) - Indicates whether or not to encrypt the volume. By default, Packer will - `encrypted` (boolean) - Indicates whether or not to encrypt the volume. By default, Packer will
keep the encryption setting to what it was in the source image. Setting keep the encryption setting to what it was in the source image. Setting
false will result in an unencrypted device, and true will result in an false will result in an unencrypted device, and true will result in an
encrypted one. encrypted one.
- `iops` (int64) - The number of I/O operations per second (IOPS) that the volume supports. - `iops` (int64) - The number of I/O operations per second (IOPS) that the volume supports.
See the documentation on 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` (bool) - Suppresses the specified device included in the block device mapping of - `no_device` (bool) - Suppresses the specified device included in the block device mapping of
the AMI. 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 documentation on Block Device Mapping - `virtual_name` (string) - The virtual device name. See the documentation on Block Device Mapping
for more information. for more information.
- `volume_type` (string) - The volume type. gp2 for General Purpose (SSD) volumes, io1 for - `volume_type` (string) - The volume type. gp2 for General Purpose (SSD) volumes, io1 for
Provisioned IOPS (SSD) volumes, st1 for Throughput Optimized HDD, sc1 Provisioned IOPS (SSD) volumes, st1 for Throughput Optimized HDD, sc1
for Cold HDD, and standard for Magnetic volumes. for Cold HDD, and standard for Magnetic volumes.
- `volume_size` (int64) - The size of the volume, in GiB. Required if not specifying a - `volume_size` (int64) - The size of the volume, in GiB. Required if not specifying a
snapshot_id. snapshot_id.
- `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/.
- `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/.

View File

@ -1,5 +1,4 @@
<!-- Code generated from the comments of the BlockDevice struct in builder/amazon/common/block_device.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the BlockDevice struct in builder/amazon/common/block_device.go; DO NOT EDIT MANUALLY -->
These will be attached when booting a new instance from your AMI. Your These will be attached when booting a new instance from your AMI. Your
options here may vary depending on the type of VM you use. options here may vary depending on the type of VM you use.
@ -9,13 +8,11 @@ The following mapping will tell Packer to encrypt the root volume of the
build instance at launch using a specific non-default kms key: build instance at launch using a specific non-default kms key:
```json ```json
[ [{
{ "device_name": "/dev/sda1",
"device_name": "/dev/sda1", "encrypted": true,
"encrypted": true, "kms_key_id": "1a2b3c4d-5e6f-1a2b-3c4d-5e6f1a2b3c4d"
"kms_key_id": "1a2b3c4d-5e6f-1a2b-3c4d-5e6f1a2b3c4d" }]
}
]
``` ```
Documentation for Block Devices Mappings can be found here: Documentation for Block Devices Mappings can be found here:

View File

@ -1,316 +1,317 @@
<!-- Code generated from the comments of the RunConfig struct in builder/amazon/common/run_config.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the RunConfig struct in builder/amazon/common/run_config.go; DO NOT EDIT MANUALLY -->
- `associate_public_ip_address` (bool) - If using a non-default VPC, - `associate_public_ip_address` (bool) - 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.
- `block_duration_minutes` (int64) - Requires spot_price to be set. The - `block_duration_minutes` (int64) - Requires spot_price to be set. The
required duration for the Spot Instances (also known as Spot blocks). This required duration for the Spot Instances (also known as Spot blocks). This
value must be a multiple of 60 (60, 120, 180, 240, 300, or 360). You can't value must be a multiple of 60 (60, 120, 180, 240, 300, or 360). You can't
specify an Availability Zone group or a launch group if you specify a specify an Availability Zone group or a launch group if you specify a
duration. duration.
- `disable_stop_instance` (bool) - Packer normally stops the build instance after all provisioners have - `disable_stop_instance` (bool) - Packer normally stops the build instance after all provisioners have
run. For Windows instances, it is sometimes desirable to [run run. For Windows instances, it is sometimes desirable to [run
Sysprep](http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ami-create-standard.html) Sysprep](http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ami-create-standard.html)
which will stop the instance for you. If this is set to `true`, Packer which will stop the instance for you. If this is set to `true`, Packer
_will not_ stop the instance but will assume that you will send the stop *will not* stop the instance but will assume that you will send the stop
signal yourself through your final provisioner. You can do this with a signal yourself through your final provisioner. You can do this with a
[windows-shell [windows-shell
provisioner](/docs/provisioners/windows-shell). provisioner](/docs/provisioners/windows-shell).
Note that Packer will still wait for the instance to be stopped, and Note that Packer will still wait for the instance to be stopped, and
failing to send the stop signal yourself, when you have set this flag to failing to send the stop signal yourself, when you have set this flag to
`true`, will cause a timeout. `true`, will cause a timeout.
Example of a valid shutdown command: Example of a valid shutdown command:
```json ```json
{ {
"type": "windows-shell", "type": "windows-shell",
"inline": [ "inline": ["\"c:\\Program Files\\Amazon\\Ec2ConfigService\\ec2config.exe\" -sysprep"]
"\"c:\\Program Files\\Amazon\\Ec2ConfigService\\ec2config.exe\" -sysprep" }
] ```
}
```
- `ebs_optimized` (bool) - Mark instance as [EBS - `ebs_optimized` (bool) - Mark instance as [EBS
Optimized](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html). Optimized](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html).
Default `false`. Default `false`.
- `enable_t2_unlimited` (bool) - Enabling T2 Unlimited allows the source instance to burst additional CPU - `enable_t2_unlimited` (bool) - Enabling T2 Unlimited allows the source instance to burst additional CPU
beyond its available [CPU beyond its available [CPU
Credits](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/t2-credits-baseline-concepts.html) Credits](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/t2-credits-baseline-concepts.html)
for as long as the demand exists. This is in contrast to the standard for as long as the demand exists. This is in contrast to the standard
configuration that only allows an instance to consume up to its configuration that only allows an instance to consume up to its
available CPU Credits. See the AWS documentation for [T2 available CPU Credits. See the AWS documentation for [T2
Unlimited](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/t2-unlimited.html) Unlimited](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/t2-unlimited.html)
and the **T2 Unlimited Pricing** section of the [Amazon EC2 On-Demand and the **T2 Unlimited Pricing** section of the [Amazon EC2 On-Demand
Pricing](https://aws.amazon.com/ec2/pricing/on-demand/) document for Pricing](https://aws.amazon.com/ec2/pricing/on-demand/) document for
more information. By default this option is disabled and Packer will set more information. By default this option is disabled and Packer will set
up a [T2 up a [T2
Standard](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/t2-std.html) Standard](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/t2-std.html)
instance instead. instance instead.
To use T2 Unlimited you must use a T2 instance type, e.g. `t2.micro`. To use T2 Unlimited you must use a T2 instance type, e.g. `t2.micro`.
Additionally, T2 Unlimited cannot be used in conjunction with Spot Additionally, T2 Unlimited cannot be used in conjunction with Spot
Instances, e.g. when the `spot_price` option has been configured. Instances, e.g. when the `spot_price` option has been configured.
Attempting to do so will cause an error. Attempting to do so will cause an error.
!&gt; **Warning!** Additional costs may be incurred by enabling T2 !&gt; **Warning!** Additional costs may be incurred by enabling T2
Unlimited - even for instances that would usually qualify for the Unlimited - even for instances that would usually qualify for the
[AWS Free Tier](https://aws.amazon.com/free/). [AWS Free Tier](https://aws.amazon.com/free/).
- `iam_instance_profile` (string) - The name of an [IAM instance - `iam_instance_profile` (string) - The name of an [IAM instance
profile](https://docs.aws.amazon.com/IAM/latest/UserGuide/instance-profiles.html) profile](https://docs.aws.amazon.com/IAM/latest/UserGuide/instance-profiles.html)
to launch the EC2 instance with. to launch the EC2 instance with.
- `skip_profile_validation` (bool) - Whether or not to check if the IAM instance profile exists. Defaults to false - `skip_profile_validation` (bool) - Whether or not to check if the IAM instance profile exists. Defaults to false
- `temporary_iam_instance_profile_policy_document` (\*PolicyDocument) - Temporary IAM instance profile policy document - `temporary_iam_instance_profile_policy_document` (\*PolicyDocument) - Temporary IAM instance profile policy document
If IamInstanceProfile is specified it will be used instead. Example: If IamInstanceProfile is specified it will be used instead. Example:
```json ```json
{ {
"Version": "2012-10-17", "Version": "2012-10-17",
"Statement": [ "Statement": [
{
"Action": [
"logs:*"
],
"Effect": "Allow",
"Resource": "*"
}
]
}
```
- `shutdown_behavior` (string) - Automatically terminate instances on
shutdown in case Packer exits ungracefully. Possible values are stop and
terminate. Defaults to stop.
- `security_group_filter` (SecurityGroupFilterOptions) - Filters used to populate the `security_group_ids` field. Example:
```json
{
"security_group_filter": {
"filters": {
"tag:Class": "packer"
}
}
}
```
This selects the SG's with tag `Class` with the value `packer`.
- `filters` (map of strings) - filters used to select a
`security_group_ids`. Any filter described in the docs for
[DescribeSecurityGroups](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeSecurityGroups.html)
is valid.
`security_group_ids` take precedence over this.
- `run_tags` (map[string]string) - Tags to apply to the instance that is that is *launched* to create the
EBS volumes. This is a [template engine](/docs/templates/engine),
see [Build template data](#build-template-data) for more information.
- `run_tag` ([]{name string, value string}) - Same as [`run_tags`](#run_tags) but defined as a singular repeatable
block containing a `name` 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.
- `security_group_id` (string) - The ID (not the name) of the security
group to assign to the instance. By default this is not set and Packer will
automatically create a new temporary security group to allow SSH access.
Note that if this is specified, you must be sure the security group allows
access to the ssh_port given below.
- `security_group_ids` ([]string) - A list of security groups as
described above. Note that if this is specified, you must omit the
security_group_id.
- `source_ami_filter` (AmiFilterOptions) - Filters used to populate the `source_ami`
field. Example:
```json
{ {
"Action": ["logs:*"], "source_ami_filter": {
"Effect": "Allow", "filters": {
"Resource": "*" "virtualization-type": "hvm",
"name": "ubuntu/images/\*ubuntu-xenial-16.04-amd64-server-\*",
"root-device-type": "ebs"
},
"owners": ["099720109477"],
"most_recent": true
}
} }
] ```
}
```
- `shutdown_behavior` (string) - Automatically terminate instances on This selects the most recent Ubuntu 16.04 HVM EBS AMI from Canonical. NOTE:
shutdown in case Packer exits ungracefully. Possible values are stop and This will fail unless *exactly* one AMI is returned. In the above example,
terminate. Defaults to stop. `most_recent` will cause this to succeed by selecting the newest image.
- `security_group_filter` (SecurityGroupFilterOptions) - Filters used to populate the `security_group_ids` field. Example: - `filters` (map of strings) - filters used to select a `source_ami`.
NOTE: This will fail unless *exactly* one AMI is returned. Any filter
described in the docs for
[DescribeImages](http://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeImages.html)
is valid.
```json - `owners` (array of strings) - Filters the images by their owner. You
{ may specify one or more AWS account IDs, "self" (which will use the
"security_group_filter": { account whose credentials you are using to run Packer), or an AWS owner
"filters": { alias: for example, `amazon`, `aws-marketplace`, or `microsoft`. This
"tag:Class": "packer" option is required for security reasons.
- `most_recent` (boolean) - Selects the newest created image when true.
This is most useful for selecting a daily distro build.
You may set this in place of `source_ami` or in conjunction with it. If you
set this in conjunction with `source_ami`, the `source_ami` will be added
to the filter. The provided `source_ami` must meet all of the filtering
criteria provided in `source_ami_filter`; this pins the AMI returned by the
filter, but will cause Packer to fail if the `source_ami` does not exist.
- `spot_instance_types` ([]string) - a list of acceptable instance
types to run your build on. We will request a spot instance using the max
price of spot_price and the allocation strategy of "lowest price".
Your instance will be launched on an instance type of the lowest available
price that you have in your list. This is used in place of instance_type.
You may only set either spot_instance_types or instance_type, not both.
This feature exists to help prevent situations where a Packer build fails
because a particular availability zone does not have capacity for the
specific instance_type requested in instance_type.
- `spot_price` (string) - With Spot Instances, you pay the Spot price that's in effect for the
time period your instances are running. Spot Instance prices are set by
Amazon EC2 and adjust gradually based on long-term trends in supply and
demand for Spot Instance capacity.
When this field is set, it represents the maximum hourly price you are
willing to pay for a spot instance. If you do not set this value, it
defaults to a maximum price equal to the on demand price of the
instance. In the situation where the current Amazon-set spot price
exceeds the value set in this field, Packer will not launch an instance
and the build will error. In the situation where the Amazon-set spot
price is less than the value set in this field, Packer will launch and
you will pay the Amazon-set spot price, not this maximum value.
For more information, see the Amazon docs on
[spot pricing](https://aws.amazon.com/ec2/spot/pricing/).
- `spot_price_auto_product` (string) - Required if spot_price is set to
auto. This tells Packer what sort of AMI you're launching to find the
best spot price. This must be one of: Linux/UNIX, SUSE Linux,
Windows, Linux/UNIX (Amazon VPC), SUSE Linux (Amazon VPC),
Windows (Amazon VPC)
- `spot_tags` (map[string]string) - Requires spot_price to be set. This tells Packer to apply tags to the
spot request that is issued.
- `spot_tag` ([]{name string, value string}) - Same as [`spot_tags`](#spot_tags) but defined as a singular repeatable block
containing a `name` 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.
- `subnet_filter` (SubnetFilterOptions) - Filters used to populate the `subnet_id` field.
Example:
```json
{
"subnet_filter": {
"filters": {
"tag:Class": "build"
},
"most_free": true,
"random": false
}
}
```
This selects the Subnet with tag `Class` with the value `build`, which has
the most free IP addresses. NOTE: This will fail unless *exactly* one
Subnet is returned. By using `most_free` or `random` one will be selected
from those matching the filter.
- `filters` (map of strings) - filters used to select a `subnet_id`.
NOTE: This will fail unless *exactly* one Subnet is returned. Any
filter described in the docs for
[DescribeSubnets](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeSubnets.html)
is valid.
- `most_free` (boolean) - The Subnet with the most free IPv4 addresses
will be used if multiple Subnets matches the filter.
- `random` (boolean) - A random Subnet will be used if multiple Subnets
matches the filter. `most_free` have precendence over this.
`subnet_id` take precedence over this.
- `subnet_id` (string) - If using VPC, the ID of the subnet, such as
subnet-12345def, where Packer will launch the EC2 instance. This field is
required if you are using an non-default VPC.
- `temporary_key_pair_name` (string) - The name of the temporary key pair to
generate. By default, Packer generates a name that looks like
`packer_<UUID>`, where &lt;UUID&gt; is a 36 character unique identifier.
- `temporary_security_group_source_cidrs` ([]string) - A list of IPv4 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.
- `user_data` (string) - User data to apply when launching the instance. Note
that you need to be careful about escaping characters due to the templates
being JSON. It is often more convenient to use user_data_file, instead.
Packer will not automatically wait for a user script to finish before
shutting down the instance this must be handled in a provisioner.
- `user_data_file` (string) - Path to a file that will be used for the user
data when launching the instance.
- `vpc_filter` (VpcFilterOptions) - Filters used to populate the `vpc_id` field.
Example:
```json
{
"vpc_filter": {
"filters": {
"tag:Class": "build",
"isDefault": "false",
"cidr": "/24"
}
} }
} }
} ```
```
This selects the SG's with tag `Class` with the value `packer`. This selects the VPC with tag `Class` with the value `build`, which is not
the default VPC, and have a IPv4 CIDR block of `/24`. NOTE: This will fail
unless *exactly* one VPC is returned.
- `filters` (map of strings) - filters used to select a - `filters` (map of strings) - filters used to select a `vpc_id`. NOTE:
`security_group_ids`. Any filter described in the docs for This will fail unless *exactly* one VPC is returned. Any filter
[DescribeSecurityGroups](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeSecurityGroups.html) described in the docs for
is valid. [DescribeVpcs](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeVpcs.html)
is valid.
`security_group_ids` take precedence over this. `vpc_id` take precedence over this.
- `run_tags` (map[string]string) - Tags to apply to the instance that is that is _launched_ to create the - `vpc_id` (string) - If launching into a VPC subnet, Packer needs the VPC ID
EBS volumes. This is a [template engine](/docs/templates/engine), in order to create a temporary security group within the VPC. Requires
see [Build template data](#build-template-data) for more information. subnet_id to be set. If this field is left blank, Packer will try to get
the VPC ID from the subnet_id.
- `run_tag` ([]{name string, value string}) - Same as [`run_tags`](#run_tags) but defined as a singular repeatable - `windows_password_timeout` (duration string | ex: "1h5m2s") - The timeout for waiting for a Windows
block containing a `name` and a `value` field. In HCL2 mode the password for Windows instances. Defaults to 20 minutes. Example value:
[`dynamic_block`](/docs/configuration/from-1.5/expressions#dynamic-blocks) 10m
will allow you to create those programatically.
- `security_group_id` (string) - The ID (not the name) of the security - `ssh_interface` (string) - One of `public_ip`, `private_ip`, `public_dns`, or `private_dns`. If
group to assign to the instance. By default this is not set and Packer will set, either the public IP address, private IP address, public DNS name
automatically create a new temporary security group to allow SSH access. or private DNS name will be used as the host for SSH. The default behaviour
Note that if this is specified, you must be sure the security group allows if inside a VPC is to use the public IP address if available, otherwise
access to the ssh_port given below. the private IP address will be used. If not in a VPC the public DNS name
will be used. Also works for WinRM.
- `security_group_ids` ([]string) - A list of security groups as Where Packer is configured for an outbound proxy but WinRM traffic
described above. Note that if this is specified, you must omit the should be direct, `ssh_interface` must be set to `private_dns` and
security_group_id. `<region>.compute.internal` included in the `NO_PROXY` environment
variable.
- `source_ami_filter` (AmiFilterOptions) - Filters used to populate the `source_ami`
field. Example:
```json
{
"source_ami_filter": {
"filters": {
"virtualization-type": "hvm",
"name": "ubuntu/images/*ubuntu-xenial-16.04-amd64-server-*",
"root-device-type": "ebs"
},
"owners": ["099720109477"],
"most_recent": true
}
}
```
This selects the most recent Ubuntu 16.04 HVM EBS AMI from Canonical. NOTE:
This will fail unless _exactly_ one AMI is returned. In the above example,
`most_recent` will cause this to succeed by selecting the newest image.
- `filters` (map of strings) - filters used to select a `source_ami`.
NOTE: This will fail unless _exactly_ one AMI is returned. Any filter
described in the docs for
[DescribeImages](http://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeImages.html)
is valid.
- `owners` (array of strings) - Filters the images by their owner. You
may specify one or more AWS account IDs, "self" (which will use the
account whose credentials you are using to run Packer), or an AWS owner
alias: for example, `amazon`, `aws-marketplace`, or `microsoft`. This
option is required for security reasons.
- `most_recent` (boolean) - Selects the newest created image when true.
This is most useful for selecting a daily distro build.
You may set this in place of `source_ami` or in conjunction with it. If you
set this in conjunction with `source_ami`, the `source_ami` will be added
to the filter. The provided `source_ami` must meet all of the filtering
criteria provided in `source_ami_filter`; this pins the AMI returned by the
filter, but will cause Packer to fail if the `source_ami` does not exist.
- `spot_instance_types` ([]string) - a list of acceptable instance
types to run your build on. We will request a spot instance using the max
price of spot_price and the allocation strategy of "lowest price".
Your instance will be launched on an instance type of the lowest available
price that you have in your list. This is used in place of instance_type.
You may only set either spot_instance_types or instance_type, not both.
This feature exists to help prevent situations where a Packer build fails
because a particular availability zone does not have capacity for the
specific instance_type requested in instance_type.
- `spot_price` (string) - With Spot Instances, you pay the Spot price that's in effect for the
time period your instances are running. Spot Instance prices are set by
Amazon EC2 and adjust gradually based on long-term trends in supply and
demand for Spot Instance capacity.
When this field is set, it represents the maximum hourly price you are
willing to pay for a spot instance. If you do not set this value, it
defaults to a maximum price equal to the on demand price of the
instance. In the situation where the current Amazon-set spot price
exceeds the value set in this field, Packer will not launch an instance
and the build will error. In the situation where the Amazon-set spot
price is less than the value set in this field, Packer will launch and
you will pay the Amazon-set spot price, not this maximum value.
For more information, see the Amazon docs on
[spot pricing](https://aws.amazon.com/ec2/spot/pricing/).
- `spot_price_auto_product` (string) - Required if spot_price is set to
auto. This tells Packer what sort of AMI you're launching to find the
best spot price. This must be one of: Linux/UNIX, SUSE Linux,
Windows, Linux/UNIX (Amazon VPC), SUSE Linux (Amazon VPC),
Windows (Amazon VPC)
- `spot_tags` (map[string]string) - Requires spot_price to be set. This tells Packer to apply tags to the
spot request that is issued.
- `spot_tag` ([]{name string, value string}) - Same as [`spot_tags`](#spot_tags) but defined as a singular repeatable block
containing a `name` 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.
- `subnet_filter` (SubnetFilterOptions) - Filters used to populate the `subnet_id` field.
Example:
```json
{
"subnet_filter": {
"filters": {
"tag:Class": "build"
},
"most_free": true,
"random": false
}
}
```
This selects the Subnet with tag `Class` with the value `build`, which has
the most free IP addresses. NOTE: This will fail unless _exactly_ one
Subnet is returned. By using `most_free` or `random` one will be selected
from those matching the filter.
- `filters` (map of strings) - filters used to select a `subnet_id`.
NOTE: This will fail unless _exactly_ one Subnet is returned. Any
filter described in the docs for
[DescribeSubnets](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeSubnets.html)
is valid.
- `most_free` (boolean) - The Subnet with the most free IPv4 addresses
will be used if multiple Subnets matches the filter.
- `random` (boolean) - A random Subnet will be used if multiple Subnets
matches the filter. `most_free` have precendence over this.
`subnet_id` take precedence over this.
- `subnet_id` (string) - If using VPC, the ID of the subnet, such as
subnet-12345def, where Packer will launch the EC2 instance. This field is
required if you are using an non-default VPC.
- `temporary_key_pair_name` (string) - The name of the temporary key pair to
generate. By default, Packer generates a name that looks like
`packer_<UUID>`, where &lt;UUID&gt; is a 36 character unique identifier.
- `temporary_security_group_source_cidrs` ([]string) - A list of IPv4 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.
- `user_data` (string) - User data to apply when launching the instance. Note
that you need to be careful about escaping characters due to the templates
being JSON. It is often more convenient to use user_data_file, instead.
Packer will not automatically wait for a user script to finish before
shutting down the instance this must be handled in a provisioner.
- `user_data_file` (string) - Path to a file that will be used for the user
data when launching the instance.
- `vpc_filter` (VpcFilterOptions) - Filters used to populate the `vpc_id` field.
Example:
```json
{
"vpc_filter": {
"filters": {
"tag:Class": "build",
"isDefault": "false",
"cidr": "/24"
}
}
}
```
This selects the VPC with tag `Class` with the value `build`, which is not
the default VPC, and have a IPv4 CIDR block of `/24`. NOTE: This will fail
unless _exactly_ one VPC is returned.
- `filters` (map of strings) - filters used to select a `vpc_id`. NOTE:
This will fail unless _exactly_ one VPC is returned. Any filter
described in the docs for
[DescribeVpcs](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeVpcs.html)
is valid.
`vpc_id` take precedence over this.
- `vpc_id` (string) - If launching into a VPC subnet, Packer needs the VPC ID
in order to create a temporary security group within the VPC. Requires
subnet_id to be set. If this field is left blank, Packer will try to get
the VPC ID from the subnet_id.
- `windows_password_timeout` (duration string | ex: "1h5m2s") - The timeout for waiting for a Windows
password for Windows instances. Defaults to 20 minutes. Example value:
10m
- `ssh_interface` (string) - One of `public_ip`, `private_ip`, `public_dns`, or `private_dns`. If
set, either the public IP address, private IP address, public DNS name
or private DNS name will be used as the host for SSH. The default behaviour
if inside a VPC is to use the public IP address if available, otherwise
the private IP address will be used. If not in a VPC the public DNS name
will be used. Also works for WinRM.
Where Packer is configured for an outbound proxy but WinRM traffic
should be direct, `ssh_interface` must be set to `private_dns` and
`<region>.compute.internal` included in the `NO_PROXY` environment
variable.

View File

@ -1,9 +1,10 @@
<!-- Code generated from the comments of the RunConfig struct in builder/amazon/common/run_config.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the RunConfig struct in builder/amazon/common/run_config.go; DO NOT EDIT MANUALLY -->
- `instance_type` (string) - The EC2 instance type to use while building the - `instance_type` (string) - The EC2 instance type to use while building the
AMI, such as t2.small. AMI, such as t2.small.
- `source_ami` (string) - The source AMI whose root volume will be copied and
provisioned on the currently running instance. This must be an EBS-backed
AMI with a root volume snapshot that you have access to. Note: this is not
used when from_scratch is set to true.
- `source_ami` (string) - The source AMI whose root volume will be copied and
provisioned on the currently running instance. This must be an EBS-backed
AMI with a root volume snapshot that you have access to. Note: this is not
used when from_scratch is set to true.

View File

@ -1,4 +1,4 @@
<!-- Code generated from the comments of the SubnetFilterOptions struct in builder/amazon/common/run_config.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the SubnetFilterOptions struct in builder/amazon/common/run_config.go; DO NOT EDIT MANUALLY -->
- `most_free` (bool) - Most Free - `most_free` (bool) - Most Free
- `random` (bool) - Random - `random` (bool) - Random

View File

@ -1,15 +1,15 @@
<!-- Code generated from the comments of the VaultAWSEngineOptions struct in builder/amazon/common/access_config.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the VaultAWSEngineOptions struct in builder/amazon/common/access_config.go; DO NOT EDIT MANUALLY -->
- `name` (string) - Name - `name` (string) - Name
- `role_arn` (string) - Role ARN - `role_arn` (string) - Role ARN
- `ttl` (string) - Specifies the TTL for the use of the STS token. This - `ttl` (string) - Specifies the TTL for the use of the STS token. This
is specified as a string with a duration suffix. Valid only when is specified as a string with a duration suffix. Valid only when
credential_type is assumed_role or federation_token. When not credential_type is assumed_role or federation_token. When not
specified, the default_sts_ttl set for the role will be used. If that specified, the default_sts_ttl set for the role will be used. If that
is also not set, then the default value of 3600s will be used. AWS is also not set, then the default value of 3600s will be used. AWS
places limits on the maximum TTL allowed. See the AWS documentation on places limits on the maximum TTL allowed. See the AWS documentation on
the DurationSeconds parameter for AssumeRole (for assumed_role the DurationSeconds parameter for AssumeRole (for assumed_role
credential types) and GetFederationToken (for federation_token credential types) and GetFederationToken (for federation_token
credential types) for more details. credential types) for more details.
- `engine_name` (string) - Engine Name - `engine_name` (string) - Engine Name

View File

@ -1,33 +1,34 @@
<!-- Code generated from the comments of the Config struct in builder/amazon/ebs/builder.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the Config struct in builder/amazon/ebs/builder.go; DO NOT EDIT MANUALLY -->
- `ami_block_device_mappings` (awscommon.BlockDevices) - Add one or more block device mappings to the AMI. These will be attached - `ami_block_device_mappings` (awscommon.BlockDevices) - Add one or more block device mappings to the AMI. These will be attached
when booting a new instance from your AMI. To add a block device during when booting a new instance from your AMI. To add a block device during
the Packer build see `launch_block_device_mappings` below. Your options the Packer build see `launch_block_device_mappings` below. Your options
here may vary depending on the type of VM you use. See the here may vary depending on the type of VM you use. See the
[BlockDevices](#block-devices-configuration) documentation for fields. [BlockDevices](#block-devices-configuration) documentation for fields.
- `launch_block_device_mappings` (awscommon.BlockDevices) - Add one or more block devices before the Packer build starts. If you add - `launch_block_device_mappings` (awscommon.BlockDevices) - Add one or more block devices before the Packer build starts. If you add
instance store volumes or EBS volumes in addition to the root device instance store volumes or EBS volumes in addition to the root device
volume, the created AMI will contain block device mapping information volume, the created AMI will contain block device mapping information
for those volumes. Amazon creates snapshots of the source instance's for those volumes. Amazon creates snapshots of the source instance's
root volume and any other EBS volumes described here. When you launch an root volume and any other EBS volumes described here. When you launch an
instance from this new AMI, the instance automatically launches with instance from this new AMI, the instance automatically launches with
these additional volumes, and will restore them from snapshots taken these additional volumes, and will restore them from snapshots taken
from the source instance. See the from the source instance. See the
[BlockDevices](#block-devices-configuration) documentation for fields. [BlockDevices](#block-devices-configuration) documentation for fields.
- `run_volume_tags` (awscommon.TagMap) - Tags to apply to the volumes that are _launched_ to create the AMI. - `run_volume_tags` (awscommon.TagMap) - Tags to apply to the volumes that are *launched* to create the AMI.
These tags are _not_ applied to the resulting AMI unless they're These tags are *not* applied to the resulting AMI unless they're
duplicated in `tags`. This is a [template duplicated in `tags`. This is a [template
engine](/docs/templates/engine), see [Build template engine](/docs/templates/engine), see [Build template
data](#build-template-data) for more information. data](#build-template-data) for more information.
- `no_ephemeral` (bool) - Relevant only to Windows guests: If you set this flag, we'll add clauses
to the launch_block_device_mappings that make sure ephemeral drives
don't show up in the EC2 console. If you launched from the EC2 console,
you'd get this automatically, but the SDK does not provide this service.
For more information, see
https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/InstanceStorage.html.
Because we don't validate the OS type of your guest, it is up to you to
make sure you don't set this for *nix guests; behavior may be
unpredictable.
- `no_ephemeral` (bool) - Relevant only to Windows guests: If you set this flag, we'll add clauses
to the launch_block_device_mappings that make sure ephemeral drives
don't show up in the EC2 console. If you launched from the EC2 console,
you'd get this automatically, but the SDK does not provide this service.
For more information, see
https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/InstanceStorage.html.
Because we don't validate the OS type of your guest, it is up to you to
make sure you don't set this for \*nix guests; behavior may be
unpredictable.

View File

@ -1,7 +1,8 @@
<!-- Code generated from the comments of the BlockDevice struct in builder/amazon/ebssurrogate/block_device.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the BlockDevice struct in builder/amazon/ebssurrogate/block_device.go; DO NOT EDIT MANUALLY -->
- `omit_from_artifact` (bool) - If true, this block device will not be snapshotted and the created AMI - `omit_from_artifact` (bool) - If true, this block device will not be snapshotted and the created AMI
will not contain block device mapping information for this volume. If will not contain block device mapping information for this volume. If
false, the block device will be mapped into the final created AMI. Set false, the block device will be mapped into the final created AMI. Set
this option to true if you need a block device mounted in the surrogate this option to true if you need a block device mounted in the surrogate
AMI but not in the final created AMI. AMI but not in the final created AMI.

View File

@ -1,26 +1,27 @@
<!-- Code generated from the comments of the Config struct in builder/amazon/ebssurrogate/builder.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the Config struct in builder/amazon/ebssurrogate/builder.go; DO NOT EDIT MANUALLY -->
- `ami_block_device_mappings` (awscommon.BlockDevices) - Add one or more block device mappings to the AMI. These will be attached - `ami_block_device_mappings` (awscommon.BlockDevices) - Add one or more block device mappings to the AMI. These will be attached
when booting a new instance from your AMI. To add a block device during when booting a new instance from your AMI. To add a block device during
the Packer build see `launch_block_device_mappings` below. Your options the Packer build see `launch_block_device_mappings` below. Your options
here may vary depending on the type of VM you use. See the here may vary depending on the type of VM you use. See the
[BlockDevices](#block-devices-configuration) documentation for fields. [BlockDevices](#block-devices-configuration) documentation for fields.
- `launch_block_device_mappings` (BlockDevices) - Add one or more block devices before the Packer build starts. If you add - `launch_block_device_mappings` (BlockDevices) - Add one or more block devices before the Packer build starts. If you add
instance store volumes or EBS volumes in addition to the root device instance store volumes or EBS volumes in addition to the root device
volume, the created AMI will contain block device mapping information volume, the created AMI will contain block device mapping information
for those volumes. Amazon creates snapshots of the source instance's for those volumes. Amazon creates snapshots of the source instance's
root volume and any other EBS volumes described here. When you launch an root volume and any other EBS volumes described here. When you launch an
instance from this new AMI, the instance automatically launches with instance from this new AMI, the instance automatically launches with
these additional volumes, and will restore them from snapshots taken these additional volumes, and will restore them from snapshots taken
from the source instance. See the from the source instance. See the
[BlockDevices](#block-devices-configuration) documentation for fields. [BlockDevices](#block-devices-configuration) documentation for fields.
- `run_volume_tags` (awscommon.TagMap) - Tags to apply to the volumes that are _launched_ to create the AMI. - `run_volume_tags` (awscommon.TagMap) - Tags to apply to the volumes that are *launched* to create the AMI.
These tags are _not_ applied to the resulting AMI unless they're These tags are *not* applied to the resulting AMI unless they're
duplicated in `tags`. This is a [template duplicated in `tags`. This is a [template
engine](/docs/templates/engine), see [Build template engine](/docs/templates/engine), see [Build template
data](#build-template-data) for more information. data](#build-template-data) for more information.
- `ami_architecture` (string) - what architecture to use when registering the
final AMI; valid options are "x86_64" or "arm64". Defaults to "x86_64".
- `ami_architecture` (string) - what architecture to use when registering the
final AMI; valid options are "x86_64" or "arm64". Defaults to "x86_64".

View File

@ -1,9 +1,10 @@
<!-- Code generated from the comments of the Config struct in builder/amazon/ebssurrogate/builder.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the Config struct in builder/amazon/ebssurrogate/builder.go; DO NOT EDIT MANUALLY -->
- `ami_root_device` (RootBlockDevice) - A block device mapping describing the root device of the AMI. This looks - `ami_root_device` (RootBlockDevice) - A block device mapping describing the root device of the AMI. This looks
like the mappings in `ami_block_device_mapping`, except with an like the mappings in `ami_block_device_mapping`, except with an
additional field: additional field:
- `source_device_name` (string) - The device name of the block device on
the source instance to be used as the root device for the AMI. This
must correspond to a block device in `launch_block_device_mapping`.
- `source_device_name` (string) - The device name of the block device on
the source instance to be used as the root device for the AMI. This
must correspond to a block device in `launch_block_device_mapping`.

View File

@ -1,25 +1,26 @@
<!-- Code generated from the comments of the RootBlockDevice struct in builder/amazon/ebssurrogate/root_block_device.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the RootBlockDevice struct in builder/amazon/ebssurrogate/root_block_device.go; DO NOT EDIT MANUALLY -->
- `source_device_name` (string) - Source Device Name - `source_device_name` (string) - Source Device Name
- `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
device mapping. device mapping.
- `delete_on_termination` (bool) - Indicates whether the EBS volume is - `delete_on_termination` (bool) - Indicates whether the EBS volume is
deleted on instance termination. Default false. NOTE: If this deleted on instance termination. Default false. NOTE: If this
value is not explicitly set to true and volumes are not cleaned up by value is not explicitly set to true and volumes are not cleaned up by
an alternative method, additional volumes will accumulate after every an alternative method, additional volumes will accumulate after every
build. build.
- `iops` (int64) - The number of I/O operations per second (IOPS) that - `iops` (int64) - 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 IOPs
for more information for more information
- `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, st1 for (SSD) volumes, io1 for Provisioned IOPS (SSD) volumes, st1 for
Throughput Optimized HDD, sc1 for Cold HDD, and standard for Throughput Optimized HDD, sc1 for Cold HDD, and standard for
Magnetic volumes. Magnetic volumes.
- `volume_size` (int64) - The size of the volume, in GiB. Required if
not specifying a snapshot_id.
- `volume_size` (int64) - The size of the volume, in GiB. Required if
not specifying a snapshot_id.

View File

@ -1,10 +1,11 @@
<!-- Code generated from the comments of the BlockDevice struct in builder/amazon/ebsvolume/block_device.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the BlockDevice struct in builder/amazon/ebsvolume/block_device.go; DO NOT EDIT MANUALLY -->
- `tags` (map[string]string) - Tags to apply to the volume. These are retained after the builder - `tags` (map[string]string) - Tags to apply to the volume. These are retained after the builder
completes. This is a [template engine](/docs/templates/engine), see completes. This is a [template engine](/docs/templates/engine), see
[Build template data](#build-template-data) for more information. [Build template data](#build-template-data) for more information.
- `tag` ([]{name string, value string}) - Same as [`tags`](#tags) but defined as a singular repeatable block
containing a `name` 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.
- `tag` ([]{name string, value string}) - Same as [`tags`](#tags) but defined as a singular repeatable block
containing a `name` 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.

View File

@ -1,43 +1,44 @@
<!-- Code generated from the comments of the Config struct in builder/amazon/ebsvolume/builder.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the Config struct in builder/amazon/ebsvolume/builder.go; DO NOT EDIT MANUALLY -->
- `ena_support` (boolean) - Enable enhanced networking (ENA but not SriovNetSupport) on - `ena_support` (boolean) - Enable enhanced networking (ENA but not SriovNetSupport) on
HVM-compatible AMIs. If set, add `ec2:ModifyInstanceAttribute` to your HVM-compatible AMIs. If set, add `ec2:ModifyInstanceAttribute` to your
AWS IAM policy. Note: you must make sure enhanced networking is enabled AWS IAM policy. Note: you must make sure enhanced networking is enabled
on your instance. See [Amazon's documentation on enabling enhanced 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).
- `sriov_support` (bool) - Enable enhanced networking (SriovNetSupport but not ENA) on - `sriov_support` (bool) - Enable enhanced networking (SriovNetSupport but not ENA) on
HVM-compatible AMIs. If true, add `ec2:ModifyInstanceAttribute` to your HVM-compatible AMIs. If true, add `ec2:ModifyInstanceAttribute` to your
AWS IAM policy. Note: you must make sure enhanced networking is enabled AWS IAM policy. Note: you must make sure enhanced networking is enabled
on your instance. See [Amazon's documentation on enabling enhanced 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).
Default `false`. Default `false`.
- `ebs_volumes` (BlockDevices) - Add the block device mappings to the AMI. If you add instance store - `ebs_volumes` (BlockDevices) - Add the block device mappings to the AMI. If you add instance store
volumes or EBS volumes in addition to the root device volume, the volumes or EBS volumes in addition to the root device volume, the
created AMI will contain block device mapping information for those created AMI will contain block device mapping information for those
volumes. Amazon creates snapshots of the source instance's root volume volumes. Amazon creates snapshots of the source instance's root volume
and any other EBS volumes described here. When you launch an instance and any other EBS volumes described here. When you launch an instance
from this new AMI, the instance automatically launches with these from this new AMI, the instance automatically launches with these
additional volumes, and will restore them from snapshots taken from the additional volumes, and will restore them from snapshots taken from the
source instance. See the [BlockDevices](#block-devices-configuration) source instance. See the [BlockDevices](#block-devices-configuration)
documentation for fields. documentation for fields.
- `run_volume_tags` (map[string]string) - Tags to apply to the volumes of the instance that is _launched_ to - `run_volume_tags` (map[string]string) - Tags to apply to the volumes of the instance that is *launched* to
create EBS Volumes. These tags will _not_ appear in the tags of the create EBS Volumes. These tags will *not* appear in the tags of the
resulting EBS volumes unless they're duplicated under `tags` in the resulting EBS volumes unless they're duplicated under `tags` in the
`ebs_volumes` setting. This is a [template `ebs_volumes` setting. This is a [template
engine](/docs/templates/engine), see [Build template engine](/docs/templates/engine), see [Build template
data](#build-template-data) for more information. data](#build-template-data) for more information.
Note: The tags specified here will be _temporarily_ applied to volumes Note: The tags specified here will be *temporarily* applied to volumes
specified in `ebs_volumes` - but only while the instance is being specified in `ebs_volumes` - but only while the instance is being
created. Packer will replace all tags on the volume with the tags created. Packer will replace all tags on the volume with the tags
configured in the `ebs_volumes` section as soon as the instance is configured in the `ebs_volumes` section as soon as the instance is
reported as 'ready'. reported as 'ready'.
- `run_volume_tag` ([]{name string, value string}) - Same as [`run_volume_tags`](#run_volume_tags) but defined as a singular
repeatable block containing a `name` 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.
- `run_volume_tag` ([]{name string, value string}) - Same as [`run_volume_tags`](#run_volume_tags) but defined as a singular
repeatable block containing a `name` 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.

View File

@ -1,38 +1,39 @@
<!-- Code generated from the comments of the Config struct in builder/amazon/instance/builder.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the Config struct in builder/amazon/instance/builder.go; DO NOT EDIT MANUALLY -->
- `ami_block_device_mappings` (awscommon.BlockDevices) - Add one or more block device mappings to the AMI. These will be attached - `ami_block_device_mappings` (awscommon.BlockDevices) - Add one or more block device mappings to the AMI. These will be attached
when booting a new instance from your AMI. To add a block device during when booting a new instance from your AMI. To add a block device during
the Packer build see `launch_block_device_mappings` below. Your options the Packer build see `launch_block_device_mappings` below. Your options
here may vary depending on the type of VM you use. See the here may vary depending on the type of VM you use. See the
[BlockDevices](#block-devices-configuration) documentation for fields. [BlockDevices](#block-devices-configuration) documentation for fields.
- `launch_block_device_mappings` (awscommon.BlockDevices) - Add one or more block devices before the Packer build starts. If you add - `launch_block_device_mappings` (awscommon.BlockDevices) - Add one or more block devices before the Packer build starts. If you add
instance store volumes or EBS volumes in addition to the root device instance store volumes or EBS volumes in addition to the root device
volume, the created AMI will contain block device mapping information volume, the created AMI will contain block device mapping information
for those volumes. Amazon creates snapshots of the source instance's for those volumes. Amazon creates snapshots of the source instance's
root volume and any other EBS volumes described here. When you launch an root volume and any other EBS volumes described here. When you launch an
instance from this new AMI, the instance automatically launches with instance from this new AMI, the instance automatically launches with
these additional volumes, and will restore them from snapshots taken these additional volumes, and will restore them from snapshots taken
from the source instance. See the from the source instance. See the
[BlockDevices](#block-devices-configuration) documentation for fields. [BlockDevices](#block-devices-configuration) documentation for fields.
- `bundle_destination` (string) - The directory on the running instance where the bundled AMI will be - `bundle_destination` (string) - The directory on the running instance where the bundled AMI will be
saved prior to uploading. By default this is /tmp. This directory must saved prior to uploading. By default this is /tmp. This directory must
exist and be writable. exist and be writable.
- `bundle_prefix` (string) - The prefix for files created from bundling the root volume. By default - `bundle_prefix` (string) - The prefix for files created from bundling the root volume. By default
this is `image-{{timestamp}}`. The timestamp variable should be used to this is `image-{{timestamp}}`. The timestamp variable should be used to
make sure this is unique, otherwise it can collide with other created make sure this is unique, otherwise it can collide with other created
AMIs by Packer in your account. AMIs by Packer in your account.
- `bundle_upload_command` (string) - The command to use to upload the bundled volume. See the "custom bundle - `bundle_upload_command` (string) - The command to use to upload the bundled volume. See the "custom bundle
commands" section below for more information. commands" section below for more information.
- `bundle_vol_command` (string) - The command to use to bundle the volume. See the "custom bundle - `bundle_vol_command` (string) - The command to use to bundle the volume. See the "custom bundle
commands" section below for more information. commands" section below for more information.
- `x509_upload_path` (string) - The path on the remote machine where the X509 certificate will be
uploaded. This path must already exist and be writable. X509
certificates are uploaded after provisioning is run, so it is perfectly
okay to create this directory as part of the provisioning process.
Defaults to /tmp.
- `x509_upload_path` (string) - The path on the remote machine where the X509 certificate will be
uploaded. This path must already exist and be writable. X509
certificates are uploaded after provisioning is run, so it is perfectly
okay to create this directory as part of the provisioning process.
Defaults to /tmp.

View File

@ -1,15 +1,16 @@
<!-- Code generated from the comments of the Config struct in builder/amazon/instance/builder.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the Config struct in builder/amazon/instance/builder.go; DO NOT EDIT MANUALLY -->
- `account_id` (string) - Your AWS account ID. This is required for bundling the AMI. This is not - `account_id` (string) - Your AWS account ID. This is required for bundling the AMI. This is not
the same as the access key. You can find your account ID in the security the same as the access key. You can find your account ID in the security
credentials page of your AWS account. credentials page of your AWS account.
- `s3_bucket` (string) - The name of the S3 bucket to upload the AMI. This bucket will be created - `s3_bucket` (string) - The name of the S3 bucket to upload the AMI. This bucket will be created
if it doesn't exist. if it doesn't exist.
- `x509_cert_path` (string) - The local path to a valid X509 certificate for your AWS account. This is - `x509_cert_path` (string) - The local path to a valid X509 certificate for your AWS account. This is
used for bundling the AMI. This X509 certificate must be registered with used for bundling the AMI. This X509 certificate must be registered with
your account from the security credentials page in the AWS console. your account from the security credentials page in the AWS console.
- `x509_key_path` (string) - The local path to the private key for the X509 certificate specified by
x509_cert_path. This is used for bundling the AMI.
- `x509_key_path` (string) - The local path to the private key for the X509 certificate specified by
x509_cert_path. This is used for bundling the AMI.

View File

@ -1,4 +1,3 @@
<!-- Code generated from the comments of the Config struct in builder/amazon/instance/builder.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the Config struct in builder/amazon/instance/builder.go; DO NOT EDIT MANUALLY -->
Config is the configuration that is chained through the steps and settable Config is the configuration that is chained through the steps and settable
from the template. from the template.

View File

@ -1,238 +1,241 @@
<!-- Code generated from the comments of the Config struct in builder/azure/arm/config.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the Config struct in builder/azure/arm/config.go; DO NOT EDIT MANUALLY -->
- `capture_name_prefix` (string) - Capture - `capture_name_prefix` (string) - Capture
- `capture_container_name` (string) - Capture Container Name - `capture_container_name` (string) - Capture Container Name
- `shared_image_gallery` (SharedImageGallery) - Use a [Shared Gallery - `shared_image_gallery` (SharedImageGallery) - Use a [Shared Gallery
image](https://azure.microsoft.com/en-us/blog/announcing-the-public-preview-of-shared-image-gallery/) image](https://azure.microsoft.com/en-us/blog/announcing-the-public-preview-of-shared-image-gallery/)
as the source for this build. _VHD targets are incompatible with this as the source for this build. *VHD targets are incompatible with this
build type_ - the target must be a _Managed Image_. build type* - the target must be a *Managed Image*.
"shared_image_gallery": { "shared_image_gallery": {
"subscription": "00000000-0000-0000-0000-00000000000", "subscription": "00000000-0000-0000-0000-00000000000",
"resource_group": "ResourceGroup", "resource_group": "ResourceGroup",
"gallery_name": "GalleryName", "gallery_name": "GalleryName",
"image_name": "ImageName", "image_name": "ImageName",
"image_version": "1.0.0" "image_version": "1.0.0"
}
"managed_image_name": "TargetImageName",
"managed_image_resource_group_name": "TargetResourceGroup"
- `shared_image_gallery_destination` (SharedImageGalleryDestination) - The name of the Shared Image Gallery under which the managed image will be published as Shared Gallery Image version.
Following is an example.
"shared_image_gallery_destination": {
"resource_group": "ResourceGroup",
"gallery_name": "GalleryName",
"image_name": "ImageName",
"image_version": "1.0.0",
"replication_regions": ["regionA", "regionB", "regionC"]
}
"managed_image_name": "TargetImageName",
"managed_image_resource_group_name": "TargetResourceGroup"
- `shared_image_gallery_timeout` (duration string | ex: "1h5m2s") - How long to wait for an image to be published to the shared image
gallery before timing out. If your Packer build is failing on the
Publishing to Shared Image Gallery step with the error `Original Error:
context deadline exceeded`, but the image is present when you check your
Azure dashboard, then you probably need to increase this timeout from
its default of "60m" (valid time units include `s` for seconds, `m` for
minutes, and `h` for hours.)
- `shared_gallery_image_version_end_of_life_date` (string) - The end of life date (2006-01-02T15:04:05.99Z) of the gallery Image Version. This property
can be used for decommissioning purposes.
- `shared_image_gallery_replica_count` (int32) - The number of replicas of the Image Version to be created per region. This
property would take effect for a region when regionalReplicaCount is not specified.
Replica count must be between 1 and 10.
- `shared_gallery_image_version_exclude_from_latest` (bool) - If set to true, Virtual Machines deployed from the latest version of the
Image Definition won't use this Image Version.
- `image_version` (string) - Specify a specific version of an OS to boot from.
Defaults to `latest`. There may be a difference in versions available
across regions due to image synchronization latency. To ensure a consistent
version across regions set this value to one that is available in all
regions where you are deploying.
CLI example
`az vm image list --location westus --publisher Canonical --offer UbuntuServer --sku 16.04.0-LTS --all`
- `location` (string) - Location
- `vm_size` (string) - Size of the VM used for building. This can be changed when you deploy a
VM from your VHD. See
[pricing](https://azure.microsoft.com/en-us/pricing/details/virtual-machines/)
information. Defaults to `Standard_A1`.
CLI example `az vm list-sizes --location westus`
- `managed_image_resource_group_name` (string) - Specify the managed image resource group name where the result of the
Packer build will be saved. The resource group must already exist. If
this value is set, the value managed_image_name must also be set. See
documentation to learn more about managed images.
- `managed_image_name` (string) - Specify the managed image name where the result of the Packer build will
be saved. The image name must not exist ahead of time, and will not be
overwritten. If this value is set, the value
managed_image_resource_group_name must also be set. See documentation to
learn more about managed images.
- `managed_image_storage_account_type` (string) - Specify the storage account
type for a managed image. Valid values are Standard_LRS and Premium_LRS.
The default is Standard_LRS.
- `managed_image_os_disk_snapshot_name` (string) - If
managed_image_os_disk_snapshot_name is set, a snapshot of the OS disk
is created with the same name as this value before the VM is captured.
- `managed_image_data_disk_snapshot_prefix` (string) - If
managed_image_data_disk_snapshot_prefix is set, snapshot of the data
disk(s) is created with the same prefix as this value before the VM is
captured.
- `managed_image_zone_resilient` (bool) - Store the image in zone-resilient storage. You need to create it in a
region that supports [availability
zones](https://docs.microsoft.com/en-us/azure/availability-zones/az-overview).
- `azure_tags` (map[string]\*string) - the user can define up to 15
tags. Tag names cannot exceed 512 characters, and tag values cannot exceed
256 characters. Tags are applied to every resource deployed by a Packer
build, i.e. Resource Group, VM, NIC, VNET, Public IP, KeyVault, etc.
- `azure_tag` ([]{name string, value string}) - Same as [`azure_tags`](#azure_tags) but defined as a singular repeatable block
containing a `name` 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.
- `resource_group_name` (string) - Resource group under which the final artifact will be stored.
- `storage_account` (string) - Storage account under which the final artifact will be stored.
- `temp_compute_name` (string) - temporary name assigned to the VM. If this
value is not set, a random value will be assigned. Knowing the resource
group and VM name allows one to execute commands to update the VM during a
Packer build, e.g. attach a resource disk to the VM.
- `temp_resource_group_name` (string) - name assigned to the temporary resource group created during the build.
If this value is not set, a random value will be assigned. This resource
group is deleted at the end of the build.
- `build_resource_group_name` (string) - Specify an existing resource group to run the build in.
- `build_key_vault_name` (string) - Specify an existing key vault to use for uploading certificates to the
instance to connect.
- `build_key_vault_sku` (string) - Specify the KeyVault SKU to create during the build. Valid values are
standard or premium. The default value is standard.
- `private_virtual_network_with_public_ip` (bool) - This value allows you to
set a virtual_network_name and obtain a public IP. If this value is not
set and virtual_network_name is defined Packer is only allowed to be
executed from a host on the same subnet / virtual network.
- `virtual_network_name` (string) - Use a pre-existing virtual network for the
VM. This option enables private communication with the VM, no public IP
address is used or provisioned (unless you set
private_virtual_network_with_public_ip).
- `virtual_network_subnet_name` (string) - If virtual_network_name is set,
this value may also be set. If virtual_network_name is set, and this
value is not set the builder attempts to determine the subnet to use with
the virtual network. If the subnet cannot be found, or it cannot be
disambiguated, this value should be set.
- `virtual_network_resource_group_name` (string) - If virtual_network_name is
set, this value may also be set. If virtual_network_name is set, and
this value is not set the builder attempts to determine the resource group
containing the virtual network. If the resource group cannot be found, or
it cannot be disambiguated, this value should be set.
- `custom_data_file` (string) - Specify a file containing custom data to inject into the cloud-init
process. The contents of the file are read and injected into the ARM
template. The custom data will be passed to cloud-init for processing at
the time of provisioning. See
[documentation](http://cloudinit.readthedocs.io/en/latest/topics/examples.html)
to learn more about custom data, and how it can be used to influence the
provisioning process.
- `plan_info` (PlanInformation) - Used for creating images from Marketplace images. Please refer to
[Deploy an image with Marketplace
terms](https://aka.ms/azuremarketplaceapideployment) for more details.
Not all Marketplace images support programmatic deployment, and support
is controlled by the image publisher.
An example plan\_info object is defined below.
```json
{
"plan_info": {
"plan_name": "rabbitmq",
"plan_product": "rabbitmq",
"plan_publisher": "bitnami"
} }
"managed_image_name": "TargetImageName",
"managed_image_resource_group_name": "TargetResourceGroup"
- `shared_image_gallery_destination` (SharedImageGalleryDestination) - The name of the Shared Image Gallery under which the managed image will be published as Shared Gallery Image version.
Following is an example.
"shared_image_gallery_destination": {
"resource_group": "ResourceGroup",
"gallery_name": "GalleryName",
"image_name": "ImageName",
"image_version": "1.0.0",
"replication_regions": ["regionA", "regionB", "regionC"]
}
"managed_image_name": "TargetImageName",
"managed_image_resource_group_name": "TargetResourceGroup"
- `shared_image_gallery_timeout` (duration string | ex: "1h5m2s") - How long to wait for an image to be published to the shared image
gallery before timing out. If your Packer build is failing on the
Publishing to Shared Image Gallery step with the error `Original Error: context deadline exceeded`, but the image is present when you check your
Azure dashboard, then you probably need to increase this timeout from
its default of "60m" (valid time units include `s` for seconds, `m` for
minutes, and `h` for hours.)
- `shared_gallery_image_version_end_of_life_date` (string) - The end of life date (2006-01-02T15:04:05.99Z) of the gallery Image Version. This property
can be used for decommissioning purposes.
- `shared_image_gallery_replica_count` (int32) - The number of replicas of the Image Version to be created per region. This
property would take effect for a region when regionalReplicaCount is not specified.
Replica count must be between 1 and 10.
- `shared_gallery_image_version_exclude_from_latest` (bool) - If set to true, Virtual Machines deployed from the latest version of the
Image Definition won't use this Image Version.
- `image_version` (string) - Specify a specific version of an OS to boot from.
Defaults to `latest`. There may be a difference in versions available
across regions due to image synchronization latency. To ensure a consistent
version across regions set this value to one that is available in all
regions where you are deploying.
CLI example
`az vm image list --location westus --publisher Canonical --offer UbuntuServer --sku 16.04.0-LTS --all`
- `location` (string) - Location
- `vm_size` (string) - Size of the VM used for building. This can be changed when you deploy a
VM from your VHD. See
[pricing](https://azure.microsoft.com/en-us/pricing/details/virtual-machines/)
information. Defaults to `Standard_A1`.
CLI example `az vm list-sizes --location westus`
- `managed_image_resource_group_name` (string) - Specify the managed image resource group name where the result of the
Packer build will be saved. The resource group must already exist. If
this value is set, the value managed_image_name must also be set. See
documentation to learn more about managed images.
- `managed_image_name` (string) - Specify the managed image name where the result of the Packer build will
be saved. The image name must not exist ahead of time, and will not be
overwritten. If this value is set, the value
managed_image_resource_group_name must also be set. See documentation to
learn more about managed images.
- `managed_image_storage_account_type` (string) - Specify the storage account
type for a managed image. Valid values are Standard_LRS and Premium_LRS.
The default is Standard_LRS.
- `managed_image_os_disk_snapshot_name` (string) - If
managed_image_os_disk_snapshot_name is set, a snapshot of the OS disk
is created with the same name as this value before the VM is captured.
- `managed_image_data_disk_snapshot_prefix` (string) - If
managed_image_data_disk_snapshot_prefix is set, snapshot of the data
disk(s) is created with the same prefix as this value before the VM is
captured.
- `managed_image_zone_resilient` (bool) - Store the image in zone-resilient storage. You need to create it in a
region that supports [availability
zones](https://docs.microsoft.com/en-us/azure/availability-zones/az-overview).
- `azure_tags` (map[string]\*string) - the user can define up to 15
tags. Tag names cannot exceed 512 characters, and tag values cannot exceed
256 characters. Tags are applied to every resource deployed by a Packer
build, i.e. Resource Group, VM, NIC, VNET, Public IP, KeyVault, etc.
- `azure_tag` ([]{name string, value string}) - Same as [`azure_tags`](#azure_tags) but defined as a singular repeatable block
containing a `name` 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.
- `resource_group_name` (string) - Resource group under which the final artifact will be stored.
- `storage_account` (string) - Storage account under which the final artifact will be stored.
- `temp_compute_name` (string) - temporary name assigned to the VM. If this
value is not set, a random value will be assigned. Knowing the resource
group and VM name allows one to execute commands to update the VM during a
Packer build, e.g. attach a resource disk to the VM.
- `temp_resource_group_name` (string) - name assigned to the temporary resource group created during the build.
If this value is not set, a random value will be assigned. This resource
group is deleted at the end of the build.
- `build_resource_group_name` (string) - Specify an existing resource group to run the build in.
- `build_key_vault_name` (string) - Specify an existing key vault to use for uploading certificates to the
instance to connect.
- `build_key_vault_sku` (string) - Specify the KeyVault SKU to create during the build. Valid values are
standard or premium. The default value is standard.
- `private_virtual_network_with_public_ip` (bool) - This value allows you to
set a virtual_network_name and obtain a public IP. If this value is not
set and virtual_network_name is defined Packer is only allowed to be
executed from a host on the same subnet / virtual network.
- `virtual_network_name` (string) - Use a pre-existing virtual network for the
VM. This option enables private communication with the VM, no public IP
address is used or provisioned (unless you set
private_virtual_network_with_public_ip).
- `virtual_network_subnet_name` (string) - If virtual_network_name is set,
this value may also be set. If virtual_network_name is set, and this
value is not set the builder attempts to determine the subnet to use with
the virtual network. If the subnet cannot be found, or it cannot be
disambiguated, this value should be set.
- `virtual_network_resource_group_name` (string) - If virtual_network_name is
set, this value may also be set. If virtual_network_name is set, and
this value is not set the builder attempts to determine the resource group
containing the virtual network. If the resource group cannot be found, or
it cannot be disambiguated, this value should be set.
- `custom_data_file` (string) - Specify a file containing custom data to inject into the cloud-init
process. The contents of the file are read and injected into the ARM
template. The custom data will be passed to cloud-init for processing at
the time of provisioning. See
[documentation](http://cloudinit.readthedocs.io/en/latest/topics/examples.html)
to learn more about custom data, and how it can be used to influence the
provisioning process.
- `plan_info` (PlanInformation) - Used for creating images from Marketplace images. Please refer to
[Deploy an image with Marketplace
terms](https://aka.ms/azuremarketplaceapideployment) for more details.
Not all Marketplace images support programmatic deployment, and support
is controlled by the image publisher.
An example plan_info object is defined below.
```json
{
"plan_info": {
"plan_name": "rabbitmq",
"plan_product": "rabbitmq",
"plan_publisher": "bitnami"
} }
} ```
```
`plan_name` (string) - The plan name, required. `plan_product` (string) - `plan_name` (string) - The plan name, required. `plan_product` (string) -
The plan product, required. `plan_publisher` (string) - The plan publisher, The plan product, required. `plan_publisher` (string) - The plan publisher,
required. `plan_promotion_code` (string) - Some images accept a promotion required. `plan_promotion_code` (string) - Some images accept a promotion
code, optional. code, optional.
Images created from the Marketplace with `plan_info` **must** specify Images created from the Marketplace with `plan_info` **must** specify
`plan_info` whenever the image is deployed. The builder automatically adds `plan_info` whenever the image is deployed. The builder automatically adds
tags to the image to ensure this information is not lost. The following tags to the image to ensure this information is not lost. The following
tags are added. tags are added.
1. PlanName 1. PlanName
2. PlanProduct 2. PlanProduct
3. PlanPublisher 3. PlanPublisher
4. PlanPromotionCode 4. PlanPromotionCode
- `polling_duration_timeout` (duration string | ex: "1h5m2s") - The default PollingDuration for azure is 15mins, this property will override - `polling_duration_timeout` (duration string | ex: "1h5m2s") - The default PollingDuration for azure is 15mins, this property will override
that value. See [Azure DefaultPollingDuration](https://godoc.org/github.com/Azure/go-autorest/autorest#pkg-constants) that value. See [Azure DefaultPollingDuration](https://godoc.org/github.com/Azure/go-autorest/autorest#pkg-constants)
If your Packer build is failing on the If your Packer build is failing on the
ARM deployment step with the error `Original Error: context deadline exceeded`, then you probably need to increase this timeout from ARM deployment step with the error `Original Error:
its default of "15m" (valid time units include `s` for seconds, `m` for context deadline exceeded`, then you probably need to increase this timeout from
minutes, and `h` for hours.) its default of "15m" (valid time units include `s` for seconds, `m` for
minutes, and `h` for hours.)
- `os_type` (string) - If either Linux or Windows is specified Packer will - `os_type` (string) - If either Linux or Windows is specified Packer will
automatically configure authentication credentials for the provisioned automatically configure authentication credentials for the provisioned
machine. For Linux this configures an SSH authorized key. For Windows machine. For Linux this configures an SSH authorized key. For Windows
this configures a WinRM certificate. this configures a WinRM certificate.
- `os_disk_size_gb` (int32) - Specify the size of the OS disk in GB - `os_disk_size_gb` (int32) - Specify the size of the OS disk in GB
(gigabytes). Values of zero or less than zero are ignored. (gigabytes). Values of zero or less than zero are ignored.
- `disk_additional_size` ([]int32) - The size(s) of any additional hard disks for the VM in gigabytes. If - `disk_additional_size` ([]int32) - The size(s) of any additional hard disks for the VM in gigabytes. If
this is not specified then the VM will only contain an OS disk. The this is not specified then the VM will only contain an OS disk. The
number of additional disks and maximum size of a disk depends on the number of additional disks and maximum size of a disk depends on the
configuration of your VM. See configuration of your VM. See
[Windows](https://docs.microsoft.com/en-us/azure/virtual-machines/windows/about-disks-and-vhds) [Windows](https://docs.microsoft.com/en-us/azure/virtual-machines/windows/about-disks-and-vhds)
or or
[Linux](https://docs.microsoft.com/en-us/azure/virtual-machines/linux/about-disks-and-vhds) [Linux](https://docs.microsoft.com/en-us/azure/virtual-machines/linux/about-disks-and-vhds)
for more information. for more information.
For VHD builds the final artifacts will be named For VHD builds the final artifacts will be named
`PREFIX-dataDisk-<n>.UUID.vhd` and stored in the specified capture `PREFIX-dataDisk-<n>.UUID.vhd` and stored in the specified capture
container along side the OS disk. The additional disks are included in container along side the OS disk. The additional disks are included in
the deployment template `PREFIX-vmTemplate.UUID`. the deployment template `PREFIX-vmTemplate.UUID`.
For Managed build the final artifacts are included in the managed image. For Managed build the final artifacts are included in the managed image.
The additional disk will have the same storage account type as the OS The additional disk will have the same storage account type as the OS
disk, as specified with the `managed_image_storage_account_type` disk, as specified with the `managed_image_storage_account_type`
setting. setting.
- `disk_caching_type` (string) - Specify the disk caching type. Valid values - `disk_caching_type` (string) - Specify the disk caching type. Valid values
are None, ReadOnly, and ReadWrite. The default value is ReadWrite. are None, ReadOnly, and ReadWrite. The default value is ReadWrite.
- `allowed_inbound_ip_addresses` ([]string) - Specify the list of IP addresses and CIDR blocks that should be - `allowed_inbound_ip_addresses` ([]string) - Specify the list of IP addresses and CIDR blocks that should be
allowed access to the VM. If provided, an Azure Network Security allowed access to the VM. If provided, an Azure Network Security
Group will be created with corresponding rules and be bound to Group will be created with corresponding rules and be bound to
the subnet of the VM. the subnet of the VM.
Providing `allowed_inbound_ip_addresses` in combination with Providing `allowed_inbound_ip_addresses` in combination with
`virtual_network_name` is not allowed. `virtual_network_name` is not allowed.
- `async_resourcegroup_delete` (bool) - If you want packer to delete the
temporary resource group asynchronously set this value. It's a boolean
value and defaults to false. Important Setting this true means that
your builds are faster, however any failed deletes are not reported.
- `async_resourcegroup_delete` (bool) - If you want packer to delete the
temporary resource group asynchronously set this value. It's a boolean
value and defaults to false. Important Setting this true means that
your builds are faster, however any failed deletes are not reported.

View File

@ -1,37 +1,38 @@
<!-- Code generated from the comments of the Config struct in builder/azure/arm/config.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the Config struct in builder/azure/arm/config.go; DO NOT EDIT MANUALLY -->
- `image_publisher` (string) - Name of the publisher to use for your base image (Azure Marketplace Images only). See - `image_publisher` (string) - Name of the publisher to use for your base image (Azure Marketplace Images only). See
[documentation](https://azure.microsoft.com/en-us/documentation/articles/resource-groups-vm-searching/) [documentation](https://azure.microsoft.com/en-us/documentation/articles/resource-groups-vm-searching/)
for details. for details.
CLI example `az vm image list-publishers --location westus` CLI example `az vm image list-publishers --location westus`
- `image_offer` (string) - Name of the publisher's offer to use for your base image (Azure Marketplace Images only). See - `image_offer` (string) - Name of the publisher's offer to use for your base image (Azure Marketplace Images only). See
[documentation](https://azure.microsoft.com/en-us/documentation/articles/resource-groups-vm-searching/) [documentation](https://azure.microsoft.com/en-us/documentation/articles/resource-groups-vm-searching/)
for details. for details.
CLI example CLI example
`az vm image list-offers --location westus --publisher Canonical` `az vm image list-offers --location westus --publisher Canonical`
- `image_sku` (string) - SKU of the image offer to use for your base image (Azure Marketplace Images only). See - `image_sku` (string) - SKU of the image offer to use for your base image (Azure Marketplace Images only). See
[documentation](https://azure.microsoft.com/en-us/documentation/articles/resource-groups-vm-searching/) [documentation](https://azure.microsoft.com/en-us/documentation/articles/resource-groups-vm-searching/)
for details. for details.
CLI example CLI example
`az vm image list-skus --location westus --publisher Canonical --offer UbuntuServer` `az vm image list-skus --location westus --publisher Canonical --offer UbuntuServer`
- `image_url` (string) - URL to a custom VHD to use for your base image. If this value is set, do - `image_url` (string) - URL to a custom VHD to use for your base image. If this value is set, do
not set image_publisher, image_offer, image_sku, or image_version. not set image_publisher, image_offer, image_sku, or image_version.
- `custom_managed_image_name` (string) - Name of a custom managed image to use for your base image. If this value is set, do - `custom_managed_image_name` (string) - Name of a custom managed image to use for your base image. If this value is set, do
not set image_publisher, image_offer, image_sku, or image_version. not set image_publisher, image_offer, image_sku, or image_version.
If this value is set, the value If this value is set, the value
`custom_managed_image_resource_group_name` must also be set. See `custom_managed_image_resource_group_name` must also be set. See
[documentation](https://docs.microsoft.com/en-us/azure/storage/storage-managed-disks-overview#images) [documentation](https://docs.microsoft.com/en-us/azure/storage/storage-managed-disks-overview#images)
to learn more about managed images. to learn more about managed images.
- `custom_managed_image_resource_group_name` (string) - Name of a custom managed image's resource group to use for your base image. If this
value is set, image_publisher, image_offer, image_sku, or image_version.
`custom_managed_image_name` must also be set. See
[documentation](https://docs.microsoft.com/en-us/azure/storage/storage-managed-disks-overview#images)
to learn more about managed images.
- `custom_managed_image_resource_group_name` (string) - Name of a custom managed image's resource group to use for your base image. If this
value is set, image_publisher, image_offer, image_sku, or image_version.
`custom_managed_image_name` must also be set. See
[documentation](https://docs.microsoft.com/en-us/azure/storage/storage-managed-disks-overview#images)
to learn more about managed images.

View File

@ -1,6 +1,6 @@
<!-- Code generated from the comments of the PlanInformation struct in builder/azure/arm/config.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the PlanInformation struct in builder/azure/arm/config.go; DO NOT EDIT MANUALLY -->
- `plan_name` (string) - Plan Name - `plan_name` (string) - Plan Name
- `plan_product` (string) - Plan Product - `plan_product` (string) - Plan Product
- `plan_publisher` (string) - Plan Publisher - `plan_publisher` (string) - Plan Publisher
- `plan_promotion_code` (string) - Plan Promotion Code - `plan_promotion_code` (string) - Plan Promotion Code

View File

@ -1,11 +1,12 @@
<!-- Code generated from the comments of the SharedImageGallery struct in builder/azure/arm/config.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the SharedImageGallery struct in builder/azure/arm/config.go; DO NOT EDIT MANUALLY -->
- `subscription` (string) - Subscription - `subscription` (string) - Subscription
- `resource_group` (string) - Resource Group - `resource_group` (string) - Resource Group
- `gallery_name` (string) - Gallery Name - `gallery_name` (string) - Gallery Name
- `image_name` (string) - Image Name - `image_name` (string) - Image Name
- `image_version` (string) - Specify a specific version of an OS to boot from. - `image_version` (string) - Specify a specific version of an OS to boot from.
Defaults to latest. There may be a difference in versions available Defaults to latest. There may be a difference in versions available
across regions due to image synchronization latency. To ensure a consistent across regions due to image synchronization latency. To ensure a consistent
version across regions set this value to one that is available in all version across regions set this value to one that is available in all
regions where you are deploying. regions where you are deploying.

View File

@ -1,7 +1,7 @@
<!-- Code generated from the comments of the SharedImageGalleryDestination struct in builder/azure/arm/config.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the SharedImageGalleryDestination struct in builder/azure/arm/config.go; DO NOT EDIT MANUALLY -->
- `resource_group` (string) - Sig Destination Resource Group - `resource_group` (string) - Sig Destination Resource Group
- `gallery_name` (string) - Sig Destination Gallery Name - `gallery_name` (string) - Sig Destination Gallery Name
- `image_name` (string) - Sig Destination Image Name - `image_name` (string) - Sig Destination Image Name
- `image_version` (string) - Sig Destination Image Version - `image_version` (string) - Sig Destination Image Version
- `replication_regions` ([]string) - Sig Destination Replication Regions - `replication_regions` ([]string) - Sig Destination Replication Regions

View File

@ -1,49 +1,50 @@
<!-- Code generated from the comments of the Config struct in builder/azure/chroot/builder.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the Config struct in builder/azure/chroot/builder.go; DO NOT EDIT MANUALLY -->
- `from_scratch` (bool) - When set to `true`, starts with an empty, unpartitioned disk. Defaults to `false`. - `from_scratch` (bool) - When set to `true`, starts with an empty, unpartitioned disk. Defaults to `false`.
- `command_wrapper` (string) - How to run shell commands. This may be useful to set environment variables or perhaps run - `command_wrapper` (string) - How to run shell commands. This may be useful to set environment variables or perhaps run
a command with sudo or so on. This is a configuration template where the `.Command` variable a command with sudo or so on. This is a configuration template where the `.Command` variable
is replaced with the command to be run. Defaults to `{{.Command}}`. is replaced with the command to be run. Defaults to `{{.Command}}`.
- `pre_mount_commands` ([]string) - A series of commands to execute after attaching the root volume and before mounting the chroot. - `pre_mount_commands` ([]string) - A series of commands to execute after attaching the root volume and before mounting the chroot.
This is not required unless using `from_scratch`. If so, this should include any partitioning This is not required unless using `from_scratch`. If so, this should include any partitioning
and filesystem creation commands. The path to the device is provided by `{{.Device}}`. and filesystem creation commands. The path to the device is provided by `{{.Device}}`.
- `mount_options` ([]string) - Options to supply the `mount` command when mounting devices. Each option will be prefixed with - `mount_options` ([]string) - Options to supply the `mount` command when mounting devices. Each option will be prefixed with
`-o` and supplied to the `mount` command ran by Packer. Because this command is ran in a shell, `-o` and supplied to the `mount` command ran by Packer. Because this command is ran in a shell,
user discretion is advised. See this manual page for the `mount` command for valid file system specific options. user discretion is advised. See this manual page for the `mount` command for valid file system specific options.
- `mount_partition` (string) - The partition number containing the / partition. By default this is the first partition of the volume. - `mount_partition` (string) - The partition number containing the / partition. By default this is the first partition of the volume.
- `mount_path` (string) - The path where the volume will be mounted. This is where the chroot environment will be. This defaults - `mount_path` (string) - The path where the volume will be mounted. This is where the chroot environment will be. This defaults
to `/mnt/packer-amazon-chroot-volumes/{{.Device}}`. This is a configuration template where the `.Device` to `/mnt/packer-amazon-chroot-volumes/{{.Device}}`. This is a configuration template where the `.Device`
variable is replaced with the name of the device where the volume is attached. variable is replaced with the name of the device where the volume is attached.
- `post_mount_commands` ([]string) - As `pre_mount_commands`, but the commands are executed after mounting the root device and before the - `post_mount_commands` ([]string) - As `pre_mount_commands`, but the commands are executed after mounting the root device and before the
extra mount and copy steps. The device and mount path are provided by `{{.Device}}` and `{{.MountPath}}`. extra mount and copy steps. The device and mount path are provided by `{{.Device}}` and `{{.MountPath}}`.
- `chroot_mounts` ([][]string) - This is a list of devices to mount into the chroot environment. This configuration parameter requires - `chroot_mounts` ([][]string) - This is a list of devices to mount into the chroot environment. This configuration parameter requires
some additional documentation which is in the "Chroot Mounts" section below. Please read that section some additional documentation which is in the "Chroot Mounts" section below. Please read that section
for more information on how to use this. for more information on how to use this.
- `copy_files` ([]string) - Paths to files on the running Azure instance that will be copied into the chroot environment prior to - `copy_files` ([]string) - Paths to files on the running Azure instance that will be copied into the chroot environment prior to
provisioning. Defaults to `/etc/resolv.conf` so that DNS lookups work. Pass an empty list to skip copying provisioning. Defaults to `/etc/resolv.conf` so that DNS lookups work. Pass an empty list to skip copying
`/etc/resolv.conf`. You may need to do this if you're building an image that uses systemd. `/etc/resolv.conf`. You may need to do this if you're building an image that uses systemd.
- `temporary_os_disk_name` (string) - The name of the temporary disk that will be created in the resource group of the VM that Packer is - `temporary_os_disk_name` (string) - The name of the temporary disk that will be created in the resource group of the VM that Packer is
running on. Will be generated if not set. running on. Will be generated if not set.
- `os_disk_size_gb` (int32) - Try to resize the OS disk to this size on the first copy. Disks can only be englarged. If not specified, - `os_disk_size_gb` (int32) - Try to resize the OS disk to this size on the first copy. Disks can only be englarged. If not specified,
the disk will keep its original size. Required when using `from_scratch` the disk will keep its original size. Required when using `from_scratch`
- `os_disk_storage_account_type` (string) - The [storage SKU](https://docs.microsoft.com/en-us/rest/api/compute/disks/createorupdate#diskstorageaccounttypes) - `os_disk_storage_account_type` (string) - The [storage SKU](https://docs.microsoft.com/en-us/rest/api/compute/disks/createorupdate#diskstorageaccounttypes)
to use for the OS Disk. Defaults to `Standard_LRS`. to use for the OS Disk. Defaults to `Standard_LRS`.
- `os_disk_cache_type` (string) - The [cache type](https://docs.microsoft.com/en-us/rest/api/compute/images/createorupdate#cachingtypes) - `os_disk_cache_type` (string) - The [cache type](https://docs.microsoft.com/en-us/rest/api/compute/images/createorupdate#cachingtypes)
specified in the resulting image and for attaching it to the Packer VM. Defaults to `ReadOnly` specified in the resulting image and for attaching it to the Packer VM. Defaults to `ReadOnly`
- `os_disk_skip_cleanup` (bool) - If set to `true`, leaves the temporary disk behind in the Packer VM resource group. Defaults to `false` - `os_disk_skip_cleanup` (bool) - If set to `true`, leaves the temporary disk behind in the Packer VM resource group. Defaults to `false`
- `image_hyperv_generation` (string) - The [Hyper-V generation type](https://docs.microsoft.com/en-us/rest/api/compute/images/createorupdate#hypervgenerationtypes).
Defaults to `V1`.
- `image_hyperv_generation` (string) - The [Hyper-V generation type](https://docs.microsoft.com/en-us/rest/api/compute/images/createorupdate#hypervgenerationtypes).
Defaults to `V1`.

View File

@ -1,5 +1,6 @@
<!-- Code generated from the comments of the Config struct in builder/azure/chroot/builder.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the Config struct in builder/azure/chroot/builder.go; DO NOT EDIT MANUALLY -->
- `source` (string) - Either a managed disk resource ID or a publisher:offer:sku:version specifier for plaform image sources. - `source` (string) - Either a managed disk resource ID or a publisher:offer:sku:version specifier for plaform image sources.
- `image_resource_id` (string) - The image to create using this build.
- `image_resource_id` (string) - The image to create using this build.

View File

@ -1,4 +1,3 @@
<!-- Code generated from the comments of the Config struct in builder/azure/chroot/builder.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the Config struct in builder/azure/chroot/builder.go; DO NOT EDIT MANUALLY -->
Config is the configuration that is chained through the steps and settable Config is the configuration that is chained through the steps and settable
from the template. from the template.

View File

@ -1,25 +1,26 @@
<!-- Code generated from the comments of the Config struct in builder/azure/common/client/config.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the Config struct in builder/azure/common/client/config.go; DO NOT EDIT MANUALLY -->
- `cloud_environment_name` (string) - One of Public, China, Germany, or - `cloud_environment_name` (string) - One of Public, China, Germany, or
USGovernment. Defaults to Public. Long forms such as USGovernment. Defaults to Public. Long forms such as
USGovernmentCloud and AzureUSGovernmentCloud are also supported. USGovernmentCloud and AzureUSGovernmentCloud are also supported.
- `client_id` (string) - The application ID of the AAD Service Principal. - `client_id` (string) - The application ID of the AAD Service Principal.
Requires either `client_secret`, `client_cert_path` or `client_jwt` to be set as well. Requires either `client_secret`, `client_cert_path` or `client_jwt` to be set as well.
- `client_secret` (string) - A password/secret registered for the AAD SP. - `client_secret` (string) - A password/secret registered for the AAD SP.
- `client_cert_path` (string) - The path to a pem-encoded certificate that will be used to authenticate - `client_cert_path` (string) - The path to a pem-encoded certificate that will be used to authenticate
as the specified AAD SP. as the specified AAD SP.
- `client_jwt` (string) - A JWT bearer token for client auth (RFC 7523, Sec. 2.2) that will be used - `client_jwt` (string) - A JWT bearer token for client auth (RFC 7523, Sec. 2.2) that will be used
to authenticate the AAD SP. Provides more control over token the expiration to authenticate the AAD SP. Provides more control over token the expiration
when using certificate authentication than when using `client_cert_path`. when using certificate authentication than when using `client_cert_path`.
- `object_id` (string) - The object ID for the AAD SP. Optional, will be derived from the oAuth token if left empty. - `object_id` (string) - The object ID for the AAD SP. Optional, will be derived from the oAuth token if left empty.
- `tenant_id` (string) - The Active Directory tenant identifier with which your `client_id` and - `tenant_id` (string) - The Active Directory tenant identifier with which your `client_id` and
`subscription_id` are associated. If not specified, `tenant_id` will be `subscription_id` are associated. If not specified, `tenant_id` will be
looked up using `subscription_id`. looked up using `subscription_id`.
- `subscription_id` (string) - The subscription to use.
- `subscription_id` (string) - The subscription to use.

View File

@ -1,5 +1,4 @@
<!-- Code generated from the comments of the Config struct in builder/azure/common/client/config.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the Config struct in builder/azure/common/client/config.go; DO NOT EDIT MANUALLY -->
Config allows for various ways to authenticate Azure clients. Config allows for various ways to authenticate Azure clients.
When `client_id` and `subscription_id` are specified, Packer will use the When `client_id` and `subscription_id` are specified, Packer will use the
specified Azure Active Directoty (AAD) Service Principal (SP). specified Azure Active Directoty (AAD) Service Principal (SP).

View File

@ -1,108 +1,108 @@
<!-- Code generated from the comments of the Config struct in builder/cloudstack/config.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the Config struct in builder/cloudstack/config.go; DO NOT EDIT MANUALLY -->
- `async_timeout` (duration string | ex: "1h5m2s") - The time duration to wait for async calls to - `async_timeout` (duration string | ex: "1h5m2s") - The time duration to wait for async calls to
finish. Defaults to 30m. finish. Defaults to 30m.
- `http_get_only` (bool) - Some cloud providers only allow HTTP GET calls - `http_get_only` (bool) - Some cloud providers only allow HTTP GET calls
to their CloudStack API. If using such a provider, you need to set this to to their CloudStack API. If using such a provider, you need to set this to
true in order for the provider to only make GET calls and no POST calls. true in order for the provider to only make GET calls and no POST calls.
- `ssl_no_verify` (bool) - Set to true to skip SSL verification. - `ssl_no_verify` (bool) - Set to true to skip SSL verification.
Defaults to false. Defaults to false.
- `cidr_list` ([]string) - List of CIDR's that will have access to the new - `cidr_list` ([]string) - List of CIDR's that will have access to the new
instance. This is needed in order for any provisioners to be able to instance. This is needed in order for any provisioners to be able to
connect to the instance. Defaults to [ "0.0.0.0/0" ]. Only required when connect to the instance. Defaults to [ "0.0.0.0/0" ]. Only required when
use_local_ip_address is false. use_local_ip_address is false.
- `create_security_group` (bool) - If true a temporary security group - `create_security_group` (bool) - If true a temporary security group
will be created which allows traffic towards the instance from the will be created which allows traffic towards the instance from the
cidr_list. This option will be ignored if security_groups is also cidr_list. This option will be ignored if security_groups is also
defined. Requires expunge set to true. Defaults to false. defined. Requires expunge set to true. Defaults to false.
- `disk_offering` (string) - The name or ID of the disk offering used for the - `disk_offering` (string) - The name or ID of the disk offering used for the
instance. This option is only available (and also required) when using instance. This option is only available (and also required) when using
source_iso. source_iso.
- `disk_size` (int64) - The size (in GB) of the root disk of the new - `disk_size` (int64) - The size (in GB) of the root disk of the new
instance. This option is only available when using source_template. instance. This option is only available when using source_template.
- `eject_iso` (bool) - If `true` make a call to the CloudStack API, after loading image to - `eject_iso` (bool) - If `true` make a call to the CloudStack API, after loading image to
cache, requesting to check and detach ISO file (if any) currently cache, requesting to check and detach ISO file (if any) currently
attached to a virtual machine. Defaults to `false`. This option is only attached to a virtual machine. Defaults to `false`. This option is only
available when using `source_iso`. available when using `source_iso`.
- `eject_iso_delay` (duration string | ex: "1h5m2s") - Configure the duration time to wait, making sure virtual machine is able - `eject_iso_delay` (duration string | ex: "1h5m2s") - Configure the duration time to wait, making sure virtual machine is able
to finish installing OS before it ejects safely. Requires `eject_iso` to finish installing OS before it ejects safely. Requires `eject_iso`
set to `true` and this option is only available when using `source_iso`. set to `true` and this option is only available when using `source_iso`.
- `expunge` (bool) - Set to true to expunge the instance when it is - `expunge` (bool) - Set to true to expunge the instance when it is
destroyed. Defaults to false. destroyed. Defaults to false.
- `hypervisor` (string) - The target hypervisor (e.g. XenServer, KVM) for - `hypervisor` (string) - The target hypervisor (e.g. XenServer, KVM) for
the new template. This option is required when using source_iso. the new template. This option is required when using source_iso.
- `instance_name` (string) - The name of the instance. Defaults to - `instance_name` (string) - The name of the instance. Defaults to
"packer-UUID" where UUID is dynamically generated. "packer-UUID" where UUID is dynamically generated.
- `instance_display_name` (string) - The display name of the instance. Defaults to "Created by Packer". - `instance_display_name` (string) - The display name of the instance. Defaults to "Created by Packer".
- `project` (string) - The name or ID of the project to deploy the instance - `project` (string) - The name or ID of the project to deploy the instance
to. to.
- `public_ip_address` (string) - The public IP address or it's ID used for - `public_ip_address` (string) - The public IP address or it's ID used for
connecting any provisioners to. If not provided, a temporary public IP connecting any provisioners to. If not provided, a temporary public IP
address will be associated and released during the Packer run. address will be associated and released during the Packer run.
- `public_port` (int) - The fixed port you want to configure in the port - `public_port` (int) - The fixed port you want to configure in the port
forwarding rule. Set this attribute if you do not want to use the a random forwarding rule. Set this attribute if you do not want to use the a random
public port. public port.
- `security_groups` ([]string) - A list of security group IDs or - `security_groups` ([]string) - A list of security group IDs or
names to associate the instance with. names to associate the instance with.
- `prevent_firewall_changes` (bool) - Set to true to prevent network - `prevent_firewall_changes` (bool) - Set to true to prevent network
ACLs or firewall rules creation. Defaults to false. ACLs or firewall rules creation. Defaults to false.
- `temporary_keypair_name` (string) - The name of the temporary SSH key pair - `temporary_keypair_name` (string) - The name of the temporary SSH key pair
to generate. By default, Packer generates a name that looks like to generate. By default, Packer generates a name that looks like
`packer_<UUID>`, where `<UUID>` is a 36 character unique identifier. `packer_<UUID>`, where `<UUID>` is a 36 character unique identifier.
- `use_local_ip_address` (bool) - Set to true to indicate that the - `use_local_ip_address` (bool) - Set to true to indicate that the
provisioners should connect to the local IP address of the instance. provisioners should connect to the local IP address of the instance.
- `user_data` (string) - User data to launch with the instance. This is a - `user_data` (string) - User data to launch with the instance. This is a
template engine; see "User Data" bellow for template engine; see "User Data" bellow for
more details. Packer will not automatically wait for a user script to more details. Packer will not automatically wait for a user script to
finish before shutting down the instance this must be handled in a finish before shutting down the instance this must be handled in a
provisioner. provisioner.
- `user_data_file` (string) - Path to a file that will be used for the user - `user_data_file` (string) - Path to a file that will be used for the user
data when launching the instance. This file will be parsed as a template data when launching the instance. This file will be parsed as a template
engine see User Data bellow for more engine see User Data bellow for more
details. details.
- `template_name` (string) - The name of the new template. Defaults to - `template_name` (string) - The name of the new template. Defaults to
`packer-{{timestamp}}` where timestamp will be the current time. `packer-{{timestamp}}` where timestamp will be the current time.
- `template_display_text` (string) - The display text of the new template. - `template_display_text` (string) - The display text of the new template.
Defaults to the template_name. Defaults to the template_name.
- `template_featured` (bool) - Set to true to indicate that the template - `template_featured` (bool) - Set to true to indicate that the template
is featured. Defaults to false. is featured. Defaults to false.
- `template_public` (bool) - Set to true to indicate that the template - `template_public` (bool) - Set to true to indicate that the template
is available for all accounts. Defaults to false. is available for all accounts. Defaults to false.
- `template_password_enabled` (bool) - Set to true to indicate the - `template_password_enabled` (bool) - Set to true to indicate the
template should be password enabled. Defaults to false. template should be password enabled. Defaults to false.
- `template_requires_hvm` (bool) - Set to true to indicate the template - `template_requires_hvm` (bool) - Set to true to indicate the template
requires hardware-assisted virtualization. Defaults to false. requires hardware-assisted virtualization. Defaults to false.
- `template_scalable` (bool) - Set to true to indicate that the template - `template_scalable` (bool) - Set to true to indicate that the template
contains tools to support dynamic scaling of VM cpu/memory. Defaults to contains tools to support dynamic scaling of VM cpu/memory. Defaults to
false. false.
- `template_tag` (string) - - `template_tag` (string) -
- `tags` (map[string]string) - Tags - `tags` (map[string]string) - Tags

View File

@ -1,32 +1,33 @@
<!-- Code generated from the comments of the Config struct in builder/cloudstack/config.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the Config struct in builder/cloudstack/config.go; DO NOT EDIT MANUALLY -->
- `api_url` (string) - The CloudStack API endpoint we will connect to. It can - `api_url` (string) - The CloudStack API endpoint we will connect to. It can
also be specified via environment variable CLOUDSTACK_API_URL, if set. also be specified via environment variable CLOUDSTACK_API_URL, if set.
- `api_key` (string) - The API key used to sign all API requests. It can also - `api_key` (string) - The API key used to sign all API requests. It can also
be specified via environment variable CLOUDSTACK_API_KEY, if set. be specified via environment variable CLOUDSTACK_API_KEY, if set.
- `secret_key` (string) - The secret key used to sign all API requests. It - `secret_key` (string) - The secret key used to sign all API requests. It
can also be specified via environment variable CLOUDSTACK_SECRET_KEY, if can also be specified via environment variable CLOUDSTACK_SECRET_KEY, if
set. set.
- `network` (string) - The name or ID of the network to connect the instance - `network` (string) - The name or ID of the network to connect the instance
to. to.
- `service_offering` (string) - The name or ID of the service offering used - `service_offering` (string) - The name or ID of the service offering used
for the instance. for the instance.
- `source_iso` (string) - The name or ID of an ISO that will be mounted - `source_iso` (string) - The name or ID of an ISO that will be mounted
before booting the instance. This option is mutually exclusive with before booting the instance. This option is mutually exclusive with
source_template. When using source_iso, both disk_offering and source_template. When using source_iso, both disk_offering and
hypervisor are required. hypervisor are required.
- `source_template` (string) - The name or ID of the template used as base - `source_template` (string) - The name or ID of the template used as base
template for the instance. This option is mutually exclusive with template for the instance. This option is mutually exclusive with
source_iso. source_iso.
- `zone` (string) - The name or ID of the zone where the instance will be - `zone` (string) - The name or ID of the zone where the instance will be
created. created.
- `template_os` (string) - The name or ID of the template OS for the new
template that will be created.
- `template_os` (string) - The name or ID of the template OS for the new
template that will be created.

View File

@ -1,3 +1,2 @@
<!-- Code generated from the comments of the Config struct in builder/cloudstack/config.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the Config struct in builder/cloudstack/config.go; DO NOT EDIT MANUALLY -->
Config holds all the details needed to configure the builder. Config holds all the details needed to configure the builder.

View File

@ -1,44 +1,46 @@
<!-- Code generated from the comments of the Config struct in builder/digitalocean/config.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the Config struct in builder/digitalocean/config.go; DO NOT EDIT MANUALLY -->
- `api_url` (string) - Non standard api endpoint URL. Set this if you are - `api_url` (string) - Non standard api endpoint URL. Set this if you are
using a DigitalOcean API compatible service. It can also be specified via using a DigitalOcean API compatible service. It can also be specified via
environment variable DIGITALOCEAN_API_URL. environment variable DIGITALOCEAN_API_URL.
- `private_networking` (bool) - Set to true to enable private networking - `private_networking` (bool) - Set to true to enable private networking
for the droplet being created. This defaults to false, or not enabled. for the droplet being created. This defaults to false, or not enabled.
- `monitoring` (bool) - Set to true to enable monitoring for the droplet - `monitoring` (bool) - Set to true to enable monitoring for the droplet
being created. This defaults to false, or not enabled. being created. This defaults to false, or not enabled.
- `ipv6` (bool) - Set to true to enable ipv6 for the droplet being - `ipv6` (bool) - Set to true to enable ipv6 for the droplet being
created. This defaults to false, or not enabled. created. This defaults to false, or not enabled.
- `snapshot_name` (string) - The name of the resulting snapshot that will - `snapshot_name` (string) - The name of the resulting snapshot that will
appear in your account. Defaults to `packer-{{timestamp}}` (see appear in your account. Defaults to `packer-{{timestamp}}` (see
configuration templates for more info). configuration templates for more info).
- `snapshot_regions` ([]string) - The regions of the resulting - `snapshot_regions` ([]string) - The regions of the resulting
snapshot that will appear in your account. snapshot that will appear in your account.
- `state_timeout` (duration string | ex: "1h5m2s") - The time to wait, as a duration string, for a - `state_timeout` (duration string | ex: "1h5m2s") - The time to wait, as a duration string, for a
droplet to enter a desired state (such as "active") before timing out. The droplet to enter a desired state (such as "active") before timing out. The
default state timeout is "6m". default state timeout is "6m".
- `snapshot_timeout` (duration string | ex: "1h5m2s") - How long to wait for an image to be published to the shared image - `snapshot_timeout` (duration string | ex: "1h5m2s") - How long to wait for an image to be published to the shared image
gallery before timing out. If your Packer build is failing on the gallery before timing out. If your Packer build is failing on the
Publishing to Shared Image Gallery step with the error `Original Error: context deadline exceeded`, but the image is present when you check your Publishing to Shared Image Gallery step with the error `Original Error:
Azure dashboard, then you probably need to increase this timeout from context deadline exceeded`, but the image is present when you check your
its default of "60m" (valid time units include `s` for seconds, `m` for Azure dashboard, then you probably need to increase this timeout from
minutes, and `h` for hours.) its default of "60m" (valid time units include `s` for seconds, `m` for
minutes, and `h` for hours.)
- `droplet_name` (string) - The name assigned to the droplet. DigitalOcean - `droplet_name` (string) - The name assigned to the droplet. DigitalOcean
sets the hostname of the machine to this value. sets the hostname of the machine to this value.
- `user_data` (string) - User data to launch with the Droplet. Packer will - `user_data` (string) - User data to launch with the Droplet. Packer will
not automatically wait for a user script to finish before shutting down the not automatically wait for a user script to finish before shutting down the
instance this must be handled in a provisioner. instance this must be handled in a provisioner.
- `user_data_file` (string) - Path to a file that will be used for the user - `user_data_file` (string) - Path to a file that will be used for the user
data when launching the Droplet. data when launching the Droplet.
- `tags` ([]string) - Tags to apply to the droplet when it is created
- `tags` ([]string) - Tags to apply to the droplet when it is created

View File

@ -1,20 +1,21 @@
<!-- Code generated from the comments of the Config struct in builder/digitalocean/config.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the Config struct in builder/digitalocean/config.go; DO NOT EDIT MANUALLY -->
- `api_token` (string) - The client TOKEN to use to access your account. It - `api_token` (string) - The client TOKEN to use to access your account. It
can also be specified via environment variable DIGITALOCEAN_API_TOKEN, if can also be specified via environment variable DIGITALOCEAN_API_TOKEN, if
set. set.
- `region` (string) - The name (or slug) of the region to launch the droplet - `region` (string) - The name (or slug) of the region to launch the droplet
in. Consequently, this is the region where the snapshot will be available. in. Consequently, this is the region where the snapshot will be available.
See See
https://developers.digitalocean.com/documentation/v2/#list-all-regions https://developers.digitalocean.com/documentation/v2/#list-all-regions
for the accepted region names/slugs. for the accepted region names/slugs.
- `size` (string) - The name (or slug) of the droplet size to use. See - `size` (string) - The name (or slug) of the droplet size to use. See
https://developers.digitalocean.com/documentation/v2/#list-all-sizes https://developers.digitalocean.com/documentation/v2/#list-all-sizes
for the accepted size names/slugs. for the accepted size names/slugs.
- `image` (string) - The name (or slug) of the base image to use. This is the
image that will be used to launch a new droplet and provision it. See
https://developers.digitalocean.com/documentation/v2/#list-all-images
for details on how to get a list of the accepted image names/slugs.
- `image` (string) - The name (or slug) of the base image to use. This is the
image that will be used to launch a new droplet and provision it. See
https://developers.digitalocean.com/documentation/v2/#list-all-images
for details on how to get a list of the accepted image names/slugs.

View File

@ -1,18 +1,19 @@
<!-- Code generated from the comments of the AwsAccessConfig struct in builder/docker/ecr_login.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the AwsAccessConfig struct in builder/docker/ecr_login.go; DO NOT EDIT MANUALLY -->
- `aws_access_key` (string) - The AWS access key used to communicate with - `aws_access_key` (string) - The AWS access key used to communicate with
AWS. Learn how to set AWS. Learn how to set
this. this.
- `aws_secret_key` (string) - The AWS secret key used to communicate with - `aws_secret_key` (string) - The AWS secret key used to communicate with
AWS. Learn how to set AWS. Learn how to set
this. this.
- `aws_token` (string) - The AWS access token to use. This is different from - `aws_token` (string) - The AWS access token to use. This is different from
the access key and secret key. If you're not sure what this is, then you the access key and secret key. If you're not sure what this is, then you
probably don't need it. This will also be read from the AWS_SESSION_TOKEN probably don't need it. This will also be read from the AWS_SESSION_TOKEN
environmental variable. environmental variable.
- `aws_profile` (string) - The AWS shared credentials profile used to
communicate with AWS. Learn how to set
this.
- `aws_profile` (string) - The AWS shared credentials profile used to
communicate with AWS. Learn how to set
this.

View File

@ -1,59 +1,62 @@
<!-- Code generated from the comments of the Config struct in builder/docker/config.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the Config struct in builder/docker/config.go; DO NOT EDIT MANUALLY -->
- `author` (string) - Set the author (e-mail) of a commit. - `author` (string) - Set the author (e-mail) of a commit.
- `changes` ([]string) - Dockerfile instructions to add to the commit. Example of instructions - `changes` ([]string) - Dockerfile instructions to add to the commit. Example of instructions
are CMD, ENTRYPOINT, ENV, and EXPOSE. Example: [ "USER ubuntu", "WORKDIR are CMD, ENTRYPOINT, ENV, and EXPOSE. Example: [ "USER ubuntu", "WORKDIR
/app", "EXPOSE 8080" ] /app", "EXPOSE 8080" ]
- `container_dir` (string) - The directory inside container to mount temp directory from host server - `container_dir` (string) - The directory inside container to mount temp directory from host server
for work [file provisioner](/docs/provisioners/file). This defaults for work [file provisioner](/docs/provisioners/file). This defaults
to c:/packer-files on windows and /packer-files on other systems. to c:/packer-files on windows and /packer-files on other systems.
- `exec_user` (string) - Username (UID) to run remote commands with. You can also set the group - `exec_user` (string) - Username (UID) to run remote commands with. You can also set the group
name/ID if you want: (UID or UID:GID). You may need this if you get name/ID if you want: (UID or UID:GID). You may need this if you get
permission errors trying to run the shell or other provisioners. permission errors trying to run the shell or other provisioners.
- `privileged` (bool) - If true, run the docker container with the `--privileged` flag. This - `privileged` (bool) - If true, run the docker container with the `--privileged` flag. This
defaults to false if not set. defaults to false if not set.
- `pull` (bool) - If true, the configured image will be pulled using `docker pull` prior - `pull` (bool) - If true, the configured image will be pulled using `docker pull` prior
to use. Otherwise, it is assumed the image already exists and can be to use. Otherwise, it is assumed the image already exists and can be
used. This defaults to true if not set. used. This defaults to true if not set.
- `run_command` ([]string) - An array of arguments to pass to docker run in order to run the - `run_command` ([]string) - An array of arguments to pass to docker run in order to run the
container. By default this is set to `["-d", "-i", "-t", "--entrypoint=/bin/sh", "--", "{{.Image}}"]` if you are using a linux container. By default this is set to `["-d", "-i", "-t",
container, and `["-d", "-i", "-t", "--entrypoint=powershell", "--", "{{.Image}}"]` if you are running a windows container. `{{.Image}}` is a "--entrypoint=/bin/sh", "--", "{{.Image}}"]` if you are using a linux
template variable that corresponds to the image template option. Passing container, and `["-d", "-i", "-t", "--entrypoint=powershell", "--",
the entrypoint option this way will make it the default entrypoint of "{{.Image}}"]` if you are running a windows container. `{{.Image}}` is a
the resulting image, so running docker run -it --rm will start the template variable that corresponds to the image template option. Passing
docker image from the /bin/sh shell interpreter; you could run a script the entrypoint option this way will make it the default entrypoint of
or another shell by running docker run -it --rm -c /bin/bash. If your the resulting image, so running docker run -it --rm will start the
docker image embeds a binary intended to be run often, you should docker image from the /bin/sh shell interpreter; you could run a script
consider changing the default entrypoint to point to it. or another shell by running docker run -it --rm -c /bin/bash. If your
docker image embeds a binary intended to be run often, you should
consider changing the default entrypoint to point to it.
- `volumes` (map[string]string) - A mapping of additional volumes to mount into this container. The key of - `volumes` (map[string]string) - A mapping of additional volumes to mount into this container. The key of
the object is the host path, the value is the container path. the object is the host path, the value is the container path.
- `fix_upload_owner` (bool) - If true, files uploaded to the container will be owned by the user the - `fix_upload_owner` (bool) - If true, files uploaded to the container will be owned by the user the
container is running as. If false, the owner will depend on the version container is running as. If false, the owner will depend on the version
of docker installed in the system. Defaults to true. of docker installed in the system. Defaults to true.
- `windows_container` (bool) - If "true", tells Packer that you are building a Windows container - `windows_container` (bool) - If "true", tells Packer that you are building a Windows container
running on a windows host. This is necessary for building Windows running on a windows host. This is necessary for building Windows
containers, because our normal docker bindings do not work for them. containers, because our normal docker bindings do not work for them.
- `login` (bool) - This is used to login to dockerhub to pull a private base container. For - `login` (bool) - This is used to login to dockerhub to pull a private base container. For
pushing to dockerhub, see the docker post-processors pushing to dockerhub, see the docker post-processors
- `login_password` (string) - The password to use to authenticate to login. - `login_password` (string) - The password to use to authenticate to login.
- `login_server` (string) - The server address to login to. - `login_server` (string) - The server address to login to.
- `login_username` (string) - The username to use to authenticate to login. - `login_username` (string) - The username to use to authenticate to login.
- `ecr_login` (bool) - Defaults to false. If true, the builder will login in order to pull the
image from Amazon EC2 Container Registry (ECR). The builder only logs in
for the duration of the pull. If true login_server is required and
login, login_username, and login_password will be ignored. For more
information see the section on ECR.
- `ecr_login` (bool) - Defaults to false. If true, the builder will login in order to pull the
image from Amazon EC2 Container Registry (ECR). The builder only logs in
for the duration of the pull. If true login_server is required and
login, login_username, and login_password will be ignored. For more
information see the section on ECR.

View File

@ -1,14 +1,15 @@
<!-- Code generated from the comments of the Config struct in builder/docker/config.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the Config struct in builder/docker/config.go; DO NOT EDIT MANUALLY -->
- `commit` (bool) - If true, the container will be committed to an image rather than exported. - `commit` (bool) - If true, the container will be committed to an image rather than exported.
- `discard` (bool) - Throw away the container when the build is complete. This is useful for - `discard` (bool) - Throw away the container when the build is complete. This is useful for
the [artifice the [artifice
post-processor](/docs/post-processors/artifice). post-processor](/docs/post-processors/artifice).
- `export_path` (string) - The path where the final container will be exported as a tar file. - `export_path` (string) - The path where the final container will be exported as a tar file.
- `image` (string) - The base image for the Docker container that will be started. This image - `image` (string) - The base image for the Docker container that will be started. This image
will be pulled from the Docker registry if it doesn't already exist. will be pulled from the Docker registry if it doesn't already exist.
- `message` (string) - Set a message for the commit.
- `message` (string) - Set a message for the commit.

View File

@ -1,139 +1,139 @@
<!-- Code generated from the comments of the Config struct in builder/googlecompute/config.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the Config struct in builder/googlecompute/config.go; DO NOT EDIT MANUALLY -->
- `account_file` (string) - The JSON file containing your account credentials. Not required if you - `account_file` (string) - The JSON file containing your account credentials. Not required if you
run Packer on a GCE instance with a service account. Instructions for run Packer on a GCE instance with a service account. Instructions for
creating the file or using service accounts are above. creating the file or using service accounts are above.
- `accelerator_type` (string) - Full or partial URL of the guest accelerator type. GPU accelerators can - `accelerator_type` (string) - Full or partial URL of the guest accelerator type. GPU accelerators can
only be used with `"on_host_maintenance": "TERMINATE"` option set. only be used with `"on_host_maintenance": "TERMINATE"` option set.
Example: Example:
`"projects/project_id/zones/europe-west1-b/acceleratorTypes/nvidia-tesla-k80"` `"projects/project_id/zones/europe-west1-b/acceleratorTypes/nvidia-tesla-k80"`
- `accelerator_count` (int64) - Number of guest accelerator cards to add to the launched instance. - `accelerator_count` (int64) - Number of guest accelerator cards to add to the launched instance.
- `address` (string) - The name of a pre-allocated static external IP address. Note, must be - `address` (string) - The name of a pre-allocated static external IP address. Note, must be
the name and not the actual IP address. the name and not the actual IP address.
- `disable_default_service_account` (bool) - If true, the default service account will not be used if - `disable_default_service_account` (bool) - If true, the default service account will not be used if
service_account_email is not specified. Set this value to true and omit service_account_email is not specified. Set this value to true and omit
service_account_email to provision a VM with no service account. service_account_email to provision a VM with no service account.
- `disk_name` (string) - The name of the disk, if unset the instance name will be used. - `disk_name` (string) - The name of the disk, if unset the instance name will be used.
- `disk_size` (int64) - The size of the disk in GB. This defaults to 10, which is 10GB. - `disk_size` (int64) - The size of the disk in GB. This defaults to 10, which is 10GB.
- `disk_type` (string) - Type of disk used to back your instance, like pd-ssd or pd-standard. - `disk_type` (string) - Type of disk used to back your instance, like pd-ssd or pd-standard.
Defaults to pd-standard. Defaults to pd-standard.
- `image_name` (string) - The unique name of the resulting image. Defaults to - `image_name` (string) - The unique name of the resulting image. Defaults to
`packer-{{timestamp}}`. `packer-{{timestamp}}`.
- `image_description` (string) - The description of the resulting image. - `image_description` (string) - The description of the resulting image.
- `image_encryption_key` (\*CustomerEncryptionKey) - Image encryption key to apply to the created image. Possible values: - `image_encryption_key` (\*CustomerEncryptionKey) - Image encryption key to apply to the created image. Possible values:
* kmsKeyName - The name of the encryption key that is stored in Google Cloud KMS.
* RawKey: - A 256-bit customer-supplied encryption key, encodes in RFC 4648 base64.
- kmsKeyName - The name of the encryption key that is stored in Google Cloud KMS. example:
- RawKey: - A 256-bit customer-supplied encryption key, encodes in RFC 4648 base64.
example: ```json
{
"kmsKeyName": "projects/${project}/locations/${region}/keyRings/computeEngine/cryptoKeys/computeEngine/cryptoKeyVersions/4"
}
```
```json - `image_family` (string) - The name of the image family to which the resulting image belongs. You
{ can create disks by specifying an image family instead of a specific
"kmsKeyName": "projects/${project}/locations/${region}/keyRings/computeEngine/cryptoKeys/computeEngine/cryptoKeyVersions/4" image name. The image family always returns its latest image that is not
} deprecated.
```
- `image_family` (string) - The name of the image family to which the resulting image belongs. You - `image_labels` (map[string]string) - Key/value pair labels to apply to the created image.
can create disks by specifying an image family instead of a specific
image name. The image family always returns its latest image that is not
deprecated.
- `image_labels` (map[string]string) - Key/value pair labels to apply to the created image. - `image_licenses` ([]string) - Licenses to apply to the created image.
- `image_licenses` ([]string) - Licenses to apply to the created image. - `instance_name` (string) - A name to give the launched instance. Beware that this must be unique.
Defaults to `packer-{{uuid}}`.
- `instance_name` (string) - A name to give the launched instance. Beware that this must be unique. - `labels` (map[string]string) - Key/value pair labels to apply to the launched instance.
Defaults to `packer-{{uuid}}`.
- `labels` (map[string]string) - Key/value pair labels to apply to the launched instance. - `machine_type` (string) - The machine type. Defaults to "n1-standard-1".
- `machine_type` (string) - The machine type. Defaults to "n1-standard-1". - `metadata` (map[string]string) - Metadata applied to the launched instance.
- `metadata` (map[string]string) - Metadata applied to the launched instance. - `metadata_files` (map[string]string) - Metadata applied to the launched instance. Values are files.
- `metadata_files` (map[string]string) - Metadata applied to the launched instance. Values are files. - `min_cpu_platform` (string) - A Minimum CPU Platform for VM Instance. Availability and default CPU
platforms vary across zones, based on the hardware available in each GCP
zone.
[Details](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
- `min_cpu_platform` (string) - A Minimum CPU Platform for VM Instance. Availability and default CPU - `network` (string) - The Google Compute network id or URL to use for the launched instance.
platforms vary across zones, based on the hardware available in each GCP Defaults to "default". If the value is not a URL, it will be
zone. interpolated to
[Details](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform) projects/((network_project_id))/global/networks/((network)). This value
is not required if a subnet is specified.
- `network` (string) - The Google Compute network id or URL to use for the launched instance. - `network_project_id` (string) - The project ID for the network and subnetwork to use for launched
Defaults to "default". If the value is not a URL, it will be instance. Defaults to project_id.
interpolated to
projects/((network_project_id))/global/networks/((network)). This value
is not required if a subnet is specified.
- `network_project_id` (string) - The project ID for the network and subnetwork to use for launched - `omit_external_ip` (bool) - If true, the instance will not have an external IP. use_internal_ip must
instance. Defaults to project_id. be true if this property is true.
- `omit_external_ip` (bool) - If true, the instance will not have an external IP. use_internal_ip must - `on_host_maintenance` (string) - Sets Host Maintenance Option. Valid choices are `MIGRATE` and
be true if this property is true. `TERMINATE`. Please see [GCE Instance Scheduling
Options](https://cloud.google.com/compute/docs/instances/setting-instance-scheduling-options),
as not all machine\_types support `MIGRATE` (i.e. machines with GPUs).
If preemptible is true this can only be `TERMINATE`. If preemptible is
false, it defaults to `MIGRATE`
- `on_host_maintenance` (string) - Sets Host Maintenance Option. Valid choices are `MIGRATE` and - `preemptible` (bool) - If true, launch a preemptible instance.
`TERMINATE`. Please see [GCE Instance Scheduling
Options](https://cloud.google.com/compute/docs/instances/setting-instance-scheduling-options),
as not all machine_types support `MIGRATE` (i.e. machines with GPUs).
If preemptible is true this can only be `TERMINATE`. If preemptible is
false, it defaults to `MIGRATE`
- `preemptible` (bool) - If true, launch a preemptible instance. - `state_timeout` (duration string | ex: "1h5m2s") - The time to wait for instance state changes. Defaults to "5m".
- `state_timeout` (duration string | ex: "1h5m2s") - The time to wait for instance state changes. Defaults to "5m". - `region` (string) - The region in which to launch the instance. Defaults to the region
hosting the specified zone.
- `region` (string) - The region in which to launch the instance. Defaults to the region - `scopes` ([]string) - The service account scopes for launched
hosting the specified zone. instance. Defaults to:
- `scopes` ([]string) - The service account scopes for launched ```json
instance. Defaults to: [
"https://www.googleapis.com/auth/userinfo.email",
"https://www.googleapis.com/auth/compute",
"https://www.googleapis.com/auth/devstorage.full_control"
]
```
```json - `service_account_email` (string) - The service account to be used for launched instance. Defaults to the
[ project's default service account unless disable_default_service_account
"https://www.googleapis.com/auth/userinfo.email", is true.
"https://www.googleapis.com/auth/compute",
"https://www.googleapis.com/auth/devstorage.full_control"
]
```
- `service_account_email` (string) - The service account to be used for launched instance. Defaults to the - `source_image_project_id` (string) - The project ID of the project containing the source image.
project's default service account unless disable_default_service_account
is true.
- `source_image_project_id` (string) - The project ID of the project containing the source image. - `startup_script_file` (string) - The path to a startup script to run on the VM from which the image will
be made.
- `startup_script_file` (string) - The path to a startup script to run on the VM from which the image will - `subnetwork` (string) - The Google Compute subnetwork id or URL to use for the launched
be made. instance. Only required if the network has been created with custom
subnetting. Note, the region of the subnetwork must match the region or
zone in which the VM is launched. If the value is not a URL, it will be
interpolated to
projects/((network_project_id))/regions/((region))/subnetworks/((subnetwork))
- `subnetwork` (string) - The Google Compute subnetwork id or URL to use for the launched - `tags` ([]string) - Assign network tags to apply firewall rules to VM instance.
instance. Only required if the network has been created with custom
subnetting. Note, the region of the subnetwork must match the region or
zone in which the VM is launched. If the value is not a URL, it will be
interpolated to
projects/((network_project_id))/regions/((region))/subnetworks/((subnetwork))
- `tags` ([]string) - Assign network tags to apply firewall rules to VM instance. - `use_internal_ip` (bool) - If true, use the instance's internal IP instead of its external IP
during building.
- `use_internal_ip` (bool) - If true, use the instance's internal IP instead of its external IP - `vault_gcp_oauth_engine` (string) - Can be set instead of account_file. If set, this builder will use
during building. HashiCorp Vault to generate an Oauth token for authenticating against
Google's cloud. The value should be the path of the token generator
within vault.
For information on how to configure your Vault + GCP engine to produce
Oauth tokens, see https://www.vaultproject.io/docs/auth/gcp
You must have the environment variables VAULT_ADDR and VAULT_TOKEN set,
along with any other relevant variables for accessing your vault
instance. For more information, see the Vault docs:
https://www.vaultproject.io/docs/commands/#environment-variables
Example:`"vault_gcp_oauth_engine": "gcp/token/my-project-editor",`
- `vault_gcp_oauth_engine` (string) - Can be set instead of account_file. If set, this builder will use
HashiCorp Vault to generate an Oauth token for authenticating against
Google's cloud. The value should be the path of the token generator
within vault.
For information on how to configure your Vault + GCP engine to produce
Oauth tokens, see https://www.vaultproject.io/docs/auth/gcp
You must have the environment variables VAULT_ADDR and VAULT_TOKEN set,
along with any other relevant variables for accessing your vault
instance. For more information, see the Vault docs:
https://www.vaultproject.io/docs/commands/#environment-variables
Example:`"vault_gcp_oauth_engine": "gcp/token/my-project-editor",`

View File

@ -1,15 +1,16 @@
<!-- Code generated from the comments of the Config struct in builder/googlecompute/config.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the Config struct in builder/googlecompute/config.go; DO NOT EDIT MANUALLY -->
- `project_id` (string) - The project ID that will be used to launch instances and store images. - `project_id` (string) - The project ID that will be used to launch instances and store images.
- `source_image` (string) - The source image to use to create the new image from. You can also - `source_image` (string) - The source image to use to create the new image from. You can also
specify source_image_family instead. If both source_image and specify source_image_family instead. If both source_image and
source_image_family are specified, source_image takes precedence. source_image_family are specified, source_image takes precedence.
Example: "debian-8-jessie-v20161027" Example: "debian-8-jessie-v20161027"
- `source_image_family` (string) - The source image family to use to create the new image from. The image - `source_image_family` (string) - The source image family to use to create the new image from. The image
family always returns its latest image that is not deprecated. Example: family always returns its latest image that is not deprecated. Example:
"debian-8". "debian-8".
- `zone` (string) - The zone in which to launch the instance used to create the image.
Example: "us-central1-a"
- `zone` (string) - The zone in which to launch the instance used to create the image.
Example: "us-central1-a"

View File

@ -1,5 +1,4 @@
<!-- Code generated from the comments of the Config struct in builder/googlecompute/config.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the Config struct in builder/googlecompute/config.go; DO NOT EDIT MANUALLY -->
Config is the configuration structure for the GCE builder. It stores Config is the configuration structure for the GCE builder. It stores
both the publicly settable state as well as the privately generated both the publicly settable state as well as the privately generated
state of the config object. state of the config object.

View File

@ -1,81 +1,82 @@
<!-- Code generated from the comments of the Config struct in builder/hyperone/config.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the Config struct in builder/hyperone/config.go; DO NOT EDIT MANUALLY -->
- `api_url` (string) - Custom API endpoint URL, compatible with HyperOne. - `api_url` (string) - Custom API endpoint URL, compatible with HyperOne.
It can also be specified via environment variable HYPERONE_API_URL. It can also be specified via environment variable HYPERONE_API_URL.
- `token_login` (string) - Login (an e-mail) on HyperOne platform. Set this - `token_login` (string) - Login (an e-mail) on HyperOne platform. Set this
if you want to fetch the token by SSH authentication. if you want to fetch the token by SSH authentication.
- `state_timeout` (duration string | ex: "1h5m2s") - Timeout for waiting on the API to complete - `state_timeout` (duration string | ex: "1h5m2s") - Timeout for waiting on the API to complete
a request. Defaults to 5m. a request. Defaults to 5m.
- `image_name` (string) - The name of the resulting image. Defaults to - `image_name` (string) - The name of the resulting image. Defaults to
`packer-{{timestamp}}` `packer-{{timestamp}}`
(see configuration templates for more info). (see configuration templates for more info).
- `image_description` (string) - The description of the resulting image. - `image_description` (string) - The description of the resulting image.
- `image_tags` (map[string]string) - Key/value pair tags to add to the created image. - `image_tags` (map[string]string) - Key/value pair tags to add to the created image.
- `image_tag` ([]{name string, value string}) - Same as [`image_tags`](#image_tags) but defined as a singular repeatable - `image_tag` ([]{name string, value string}) - Same as [`image_tags`](#image_tags) but defined as a singular repeatable
block containing a `name` and a `value` field. In HCL2 mode the block containing a `name` and a `value` field. In HCL2 mode the
[`dynamic_block`](/docs/configuration/from-1.5/expressions#dynamic-blocks) [`dynamic_block`](/docs/configuration/from-1.5/expressions#dynamic-blocks)
will allow you to create those programatically. will allow you to create those programatically.
- `image_service` (string) - The service of the resulting image. - `image_service` (string) - The service of the resulting image.
- `vm_name` (string) - The name of the created server. - `vm_name` (string) - The name of the created server.
- `vm_tags` (map[string]string) - Key/value pair tags to - `vm_tags` (map[string]string) - Key/value pair tags to
add to the created server. add to the created server.
- `vm_tag` ([]{name string, value string}) - Same as [`vm_tags`](#vm_tags) but defined as a singular repeatable block - `vm_tag` ([]{name string, value string}) - Same as [`vm_tags`](#vm_tags) but defined as a singular repeatable block
containing a `name` and a `value` field. In HCL2 mode the containing a `name` and a `value` field. In HCL2 mode the
[`dynamic_block`](/docs/configuration/from-1.5/expressions#dynamic-blocks) [`dynamic_block`](/docs/configuration/from-1.5/expressions#dynamic-blocks)
will allow you to create those programatically. will allow you to create those programatically.
- `disk_name` (string) - The name of the created disk. - `disk_name` (string) - The name of the created disk.
- `disk_type` (string) - The type of the created disk. Defaults to ssd. - `disk_type` (string) - The type of the created disk. Defaults to ssd.
- `network` (string) - The ID of the network to attach to the created server. - `network` (string) - The ID of the network to attach to the created server.
- `private_ip` (string) - The ID of the private IP within chosen network - `private_ip` (string) - The ID of the private IP within chosen network
that should be assigned to the created server. that should be assigned to the created server.
- `public_ip` (string) - The ID of the public IP that should be assigned to - `public_ip` (string) - The ID of the public IP that should be assigned to
the created server. If network is chosen, the public IP will be associated the created server. If network is chosen, the public IP will be associated
with server's private IP. with server's private IP.
- `public_netadp_service` (string) - Custom service of public network adapter. - `public_netadp_service` (string) - Custom service of public network adapter.
Can be useful when using custom api_url. Defaults to public. Can be useful when using custom api_url. Defaults to public.
- `chroot_disk` (bool) - Chroot Disk - `chroot_disk` (bool) - Chroot Disk
- `chroot_disk_size` (float32) - Chroot Disk Size - `chroot_disk_size` (float32) - Chroot Disk Size
- `chroot_disk_type` (string) - Chroot Disk Type - `chroot_disk_type` (string) - Chroot Disk Type
- `chroot_mount_path` (string) - Chroot Mount Path - `chroot_mount_path` (string) - Chroot Mount Path
- `chroot_mounts` ([][]string) - Chroot Mounts - `chroot_mounts` ([][]string) - Chroot Mounts
- `chroot_copy_files` ([]string) - Chroot Copy Files - `chroot_copy_files` ([]string) - Chroot Copy Files
- `chroot_command_wrapper` (string) - How to run shell commands. This defaults to `{{.Command}}`. This may be - `chroot_command_wrapper` (string) - How to run shell commands. This defaults to `{{.Command}}`. This may be
useful to set if you want to set environmental variables or perhaps run useful to set if you want to set environmental variables or perhaps run
it with sudo or so on. This is a configuration template where the it with sudo or so on. This is a configuration template where the
.Command variable is replaced with the command to be run. Defaults to .Command variable is replaced with the command to be run. Defaults to
`{{.Command}}`. `{{.Command}}`.
- `mount_options` ([]string) - Mount Options - `mount_options` ([]string) - Mount Options
- `mount_partition` (string) - Mount Partition - `mount_partition` (string) - Mount Partition
- `pre_mount_commands` ([]string) - A series of commands to execute after attaching the root volume and - `pre_mount_commands` ([]string) - A series of commands to execute after attaching the root volume and
before mounting the chroot. This is not required unless using before mounting the chroot. This is not required unless using
from_scratch. If so, this should include any partitioning and filesystem from_scratch. If so, this should include any partitioning and filesystem
creation commands. The path to the device is provided by `{{.Device}}`. creation commands. The path to the device is provided by `{{.Device}}`.
- `post_mount_commands` ([]string) - As pre_mount_commands, but the commands are executed after mounting the - `post_mount_commands` ([]string) - As pre_mount_commands, but the commands are executed after mounting the
root device and before the extra mount and copy steps. The device and root device and before the extra mount and copy steps. The device and
mount path are provided by `{{.Device}}` and `{{.MountPath}}`. mount path are provided by `{{.Device}}` and `{{.MountPath}}`.
- `ssh_keys` ([]string) - List of SSH keys by name or id to be added - `ssh_keys` ([]string) - List of SSH keys by name or id to be added
to the server on launch. to the server on launch.
- `user_data` (string) - User data to launch with the server. Packer will not
automatically wait for a user script to finish before shutting down the
instance, this must be handled in a provisioner.
- `user_data` (string) - User data to launch with the server. Packer will not
automatically wait for a user script to finish before shutting down the
instance, this must be handled in a provisioner.

View File

@ -1,15 +1,16 @@
<!-- Code generated from the comments of the Config struct in builder/hyperone/config.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the Config struct in builder/hyperone/config.go; DO NOT EDIT MANUALLY -->
- `token` (string) - The authentication token used to access your account. - `token` (string) - The authentication token used to access your account.
This can be either a session token or a service account token. This can be either a session token or a service account token.
If not defined, the builder will attempt to find it in the following order: If not defined, the builder will attempt to find it in the following order:
- `project` (string) - The id or name of the project. This field is required - `project` (string) - The id or name of the project. This field is required
only if using session tokens. It should be skipped when using service only if using session tokens. It should be skipped when using service
account authentication. account authentication.
- `source_image` (string) - ID or name of the image to launch server from. - `source_image` (string) - ID or name of the image to launch server from.
- `vm_type` (string) - ID or name of the type this server should be created with. - `vm_type` (string) - ID or name of the type this server should be created with.
- `disk_size` (float32) - Size of the created disk, in GiB.
- `disk_size` (float32) - Size of the created disk, in GiB.

View File

@ -1,128 +1,127 @@
<!-- Code generated from the comments of the CommonConfig struct in builder/hyperv/common/config.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the CommonConfig struct in builder/hyperv/common/config.go; DO NOT EDIT MANUALLY -->
- `disk_block_size` (uint) - The block size of the VHD to be created. - `disk_block_size` (uint) - The block size of the VHD to be created.
Recommended disk block size for Linux hyper-v guests is 1 MiB. This Recommended disk block size for Linux hyper-v guests is 1 MiB. This
defaults to "32" MiB. defaults to "32" MiB.
- `memory` (uint) - The amount, in megabytes, of RAM to assign to the - `memory` (uint) - The amount, in megabytes, of RAM to assign to the
VM. By default, this is 1 GB. VM. By default, this is 1 GB.
- `secondary_iso_images` ([]string) - A list of ISO paths to - `secondary_iso_images` ([]string) - A list of ISO paths to
attach to a VM when it is booted. This is most useful for unattended attach to a VM when it is booted. This is most useful for unattended
Windows installs, which look for an Autounattend.xml file on removable Windows installs, which look for an Autounattend.xml file on removable
media. By default, no secondary ISO will be attached. media. By default, no secondary ISO will be attached.
- `disk_additional_size` ([]uint) - The size or sizes of any - `disk_additional_size` ([]uint) - The size or sizes of any
additional hard disks for the VM in megabytes. If this is not specified additional hard disks for the VM in megabytes. If this is not specified
then the VM will only contain a primary hard disk. Additional drives then the VM will only contain a primary hard disk. Additional drives
will be attached to the SCSI interface only. The builder uses will be attached to the SCSI interface only. The builder uses
expandable rather than fixed-size virtual hard disks, so the actual expandable rather than fixed-size virtual hard disks, so the actual
file representing the disk will not use the full size unless it is file representing the disk will not use the full size unless it is
full. full.
- `guest_additions_mode` (string) - If set to attach then attach and - `guest_additions_mode` (string) - If set to attach then attach and
mount the ISO image specified in guest_additions_path. If set to mount the ISO image specified in guest_additions_path. If set to
none then guest additions are not attached and mounted; This is the none then guest additions are not attached and mounted; This is the
default. default.
- `guest_additions_path` (string) - The path to the ISO image for guest - `guest_additions_path` (string) - The path to the ISO image for guest
additions. additions.
- `vm_name` (string) - This is the name of the new virtual machine, - `vm_name` (string) - This is the name of the new virtual machine,
without the file extension. By default this is "packer-BUILDNAME", without the file extension. By default this is "packer-BUILDNAME",
where "BUILDNAME" is the name of the build. where "BUILDNAME" is the name of the build.
- `switch_name` (string) - The name of the switch to connect the virtual - `switch_name` (string) - The name of the switch to connect the virtual
machine to. By default, leaving this value unset will cause Packer to machine to. By default, leaving this value unset will cause Packer to
try and determine the switch to use by looking for an external switch try and determine the switch to use by looking for an external switch
that is up and running. that is up and running.
- `switch_vlan_id` (string) - This is the VLAN of the virtual switch's - `switch_vlan_id` (string) - This is the VLAN of the virtual switch's
network card. By default none is set. If none is set then a VLAN is not network card. By default none is set. If none is set then a VLAN is not
set on the switch's network card. If this value is set it should match set on the switch's network card. If this value is set it should match
the VLAN specified in by vlan_id. the VLAN specified in by vlan_id.
- `mac_address` (string) - This allows a specific MAC address to be used on - `mac_address` (string) - This allows a specific MAC address to be used on
the default virtual network card. The MAC address must be a string with the default virtual network card. The MAC address must be a string with
no delimiters, for example "0000deadbeef". no delimiters, for example "0000deadbeef".
- `vlan_id` (string) - This is the VLAN of the virtual machine's network - `vlan_id` (string) - This is the VLAN of the virtual machine's network
card for the new virtual machine. By default none is set. If none is set card for the new virtual machine. By default none is set. If none is set
then VLANs are not set on the virtual machine's network card. then VLANs are not set on the virtual machine's network card.
- `cpus` (uint) - The number of CPUs the virtual machine should use. If - `cpus` (uint) - The number of CPUs the virtual machine should use. If
this isn't specified, the default is 1 CPU. this isn't specified, the default is 1 CPU.
- `generation` (uint) - The Hyper-V generation for the virtual machine. By - `generation` (uint) - The Hyper-V generation for the virtual machine. By
default, this is 1. Generation 2 Hyper-V virtual machines do not support default, this is 1. Generation 2 Hyper-V virtual machines do not support
floppy drives. In this scenario use secondary_iso_images instead. Hard floppy drives. In this scenario use secondary_iso_images instead. Hard
drives and DVD drives will also be SCSI and not IDE. drives and DVD drives will also be SCSI and not IDE.
- `enable_mac_spoofing` (bool) - If true enable MAC address spoofing - `enable_mac_spoofing` (bool) - If true enable MAC address spoofing
for the virtual machine. This defaults to false. for the virtual machine. This defaults to false.
- `enable_dynamic_memory` (bool) - If true enable dynamic memory for - `enable_dynamic_memory` (bool) - If true enable dynamic memory for
the virtual machine. This defaults to false. the virtual machine. This defaults to false.
- `enable_secure_boot` (bool) - If true enable secure boot for the - `enable_secure_boot` (bool) - If true enable secure boot for the
virtual machine. This defaults to false. See secure_boot_template virtual machine. This defaults to false. See secure_boot_template
below for additional settings. below for additional settings.
- `secure_boot_template` (string) - The secure boot template to be - `secure_boot_template` (string) - The secure boot template to be
configured. Valid values are "MicrosoftWindows" (Windows) or configured. Valid values are "MicrosoftWindows" (Windows) or
"MicrosoftUEFICertificateAuthority" (Linux). This only takes effect if "MicrosoftUEFICertificateAuthority" (Linux). This only takes effect if
enable_secure_boot is set to "true". This defaults to "MicrosoftWindows". enable_secure_boot is set to "true". This defaults to "MicrosoftWindows".
- `enable_virtualization_extensions` (bool) - If true enable - `enable_virtualization_extensions` (bool) - If true enable
virtualization extensions for the virtual machine. This defaults to virtualization extensions for the virtual machine. This defaults to
false. For nested virtualization you need to enable MAC spoofing, false. For nested virtualization you need to enable MAC spoofing,
disable dynamic memory and have at least 4GB of RAM assigned to the disable dynamic memory and have at least 4GB of RAM assigned to the
virtual machine. virtual machine.
- `temp_path` (string) - The location under which Packer will create a directory to house all the - `temp_path` (string) - The location under which Packer will create a directory to house all the
VM files and folders during the build. By default `%TEMP%` is used VM files and folders during the build. By default `%TEMP%` is used
which, for most systems, will evaluate to which, for most systems, will evaluate to
`%USERPROFILE%/AppData/Local/Temp`. `%USERPROFILE%/AppData/Local/Temp`.
The build directory housed under `temp_path` will have a name similar to The build directory housed under `temp_path` will have a name similar to
`packerhv1234567`. The seven digit number at the end of the name is `packerhv1234567`. The seven digit number at the end of the name is
automatically generated by Packer to ensure the directory name is automatically generated by Packer to ensure the directory name is
unique. unique.
- `configuration_version` (string) - This allows you to set the vm version when calling New-VM to generate - `configuration_version` (string) - This allows you to set the vm version when calling New-VM to generate
the vm. the vm.
- `keep_registered` (bool) - If "true", Packer will not delete the VM from - `keep_registered` (bool) - If "true", Packer will not delete the VM from
The Hyper-V manager. The Hyper-V manager.
- `communicator` (string) - Communicator - `communicator` (string) - Communicator
- `skip_compaction` (bool) - If true skip compacting the hard disk for - `skip_compaction` (bool) - If true skip compacting the hard disk for
the virtual machine when exporting. This defaults to false. the virtual machine when exporting. This defaults to false.
- `skip_export` (bool) - If true Packer will skip the export of the VM. - `skip_export` (bool) - If true Packer will skip the export of the VM.
If you are interested only in the VHD/VHDX files, you can enable this If you are interested only in the VHD/VHDX files, you can enable this
option. The resulting VHD/VHDX file will be output to option. The resulting VHD/VHDX file will be output to
<output_directory>/Virtual Hard Disks. By default this option is false <output_directory>/Virtual Hard Disks. By default this option is false
and Packer will export the VM to output_directory. and Packer will export the VM to output_directory.
- `headless` (bool) - Packer defaults to building Hyper-V virtual - `headless` (bool) - Packer defaults to building Hyper-V virtual
machines by launching a GUI that shows the console of the machine being machines by launching a GUI that shows the console of the machine being
built. When this value is set to true, the machine will start without a built. When this value is set to true, the machine will start without a
console. console.
- `first_boot_device` (string) - When configured, determines the device or device type that is given preferential - `first_boot_device` (string) - When configured, determines the device or device type that is given preferential
treatment when choosing a boot device. treatment when choosing a boot device.
For Generation 1: For Generation 1:
- `IDE`
- `CD` *or* `DVD`
- `Floppy`
- `NET`
- `IDE` For Generation 2:
- `CD` _or_ `DVD` - `IDE:x:y`
- `Floppy` - `SCSI:x:y`
- `NET` - `CD` *or* `DVD`
- `NET`
For Generation 2:
- `IDE:x:y`
- `SCSI:x:y`
- `CD` _or_ `DVD`
- `NET`

View File

@ -1,9 +1,10 @@
<!-- Code generated from the comments of the OutputConfig struct in builder/hyperv/common/output_config.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the OutputConfig struct in builder/hyperv/common/output_config.go; DO NOT EDIT MANUALLY -->
- `output_directory` (string) - This setting specifies the directory that - `output_directory` (string) - This setting specifies the directory that
artifacts from the build, such as the virtual machine files and disks, artifacts from the build, such as the virtual machine files and disks,
will be output to. The path to the directory may be relative or will be output to. The path to the directory may be relative or
absolute. If relative, the path is relative to the working directory absolute. If relative, the path is relative to the working directory
packer is executed from. This directory must not exist or, if packer is executed from. This directory must not exist or, if
created, must be empty prior to running the builder. By default this is created, must be empty prior to running the builder. By default this is
"output-BUILDNAME" where "BUILDNAME" is the name of the build. "output-BUILDNAME" where "BUILDNAME" is the name of the build.

View File

@ -1,4 +1,3 @@
<!-- Code generated from the comments of the Builder struct in builder/hyperv/iso/builder.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the Builder struct in builder/hyperv/iso/builder.go; DO NOT EDIT MANUALLY -->
Builder implements packer.Builder and builds the actual Hyperv Builder implements packer.Builder and builds the actual Hyperv
images. images.

View File

@ -1,22 +1,23 @@
<!-- Code generated from the comments of the Config struct in builder/hyperv/iso/builder.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the Config struct in builder/hyperv/iso/builder.go; DO NOT EDIT MANUALLY -->
- `disk_size` (uint) - The size, in megabytes, of the hard disk to create - `disk_size` (uint) - The size, in megabytes, of the hard disk to create
for the VM. By default, this is 40 GB. for the VM. By default, this is 40 GB.
- `use_legacy_network_adapter` (bool) - If true use a legacy network adapter as the NIC. - `use_legacy_network_adapter` (bool) - If true use a legacy network adapter as the NIC.
This defaults to false. A legacy network adapter is fully emulated NIC, and is thus This defaults to false. A legacy network adapter is fully emulated NIC, and is thus
supported by various exotic operating systems, but this emulation requires supported by various exotic operating systems, but this emulation requires
additional overhead and should only be used if absolutely necessary. additional overhead and should only be used if absolutely necessary.
- `differencing_disk` (bool) - If true enables differencing disks. Only - `differencing_disk` (bool) - If true enables differencing disks. Only
the changes will be written to the new disk. This is especially useful if the changes will be written to the new disk. This is especially useful if
your source is a VHD/VHDX. This defaults to false. your source is a VHD/VHDX. This defaults to false.
- `use_fixed_vhd_format` (bool) - If true, creates the boot disk on the
virtual machine as a fixed VHD format disk. The default is false, which
creates a dynamic VHDX format disk. This option requires setting
generation to 1, skip_compaction to true, and
differencing_disk to false. Additionally, any value entered for
disk_block_size will be ignored. The most likely use case for this
option is outputing a disk that is in the format required for upload to
Azure.
- `use_fixed_vhd_format` (bool) - If true, creates the boot disk on the
virtual machine as a fixed VHD format disk. The default is false, which
creates a dynamic VHDX format disk. This option requires setting
generation to 1, skip_compaction to true, and
differencing_disk to false. Additionally, any value entered for
disk_block_size will be ignored. The most likely use case for this
option is outputing a disk that is in the format required for upload to
Azure.

View File

@ -1,4 +1,3 @@
<!-- Code generated from the comments of the Builder struct in builder/hyperv/vmcx/builder.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the Builder struct in builder/hyperv/vmcx/builder.go; DO NOT EDIT MANUALLY -->
Builder implements packer.Builder and builds the actual Hyperv Builder implements packer.Builder and builds the actual Hyperv
images. images.

View File

@ -1,23 +1,24 @@
<!-- Code generated from the comments of the Config struct in builder/hyperv/vmcx/builder.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the Config struct in builder/hyperv/vmcx/builder.go; DO NOT EDIT MANUALLY -->
- `clone_from_vmcx_path` (string) - This is the path to a directory containing an exported virtual machine. - `clone_from_vmcx_path` (string) - This is the path to a directory containing an exported virtual machine.
- `clone_from_vm_name` (string) - This is the name of the virtual machine to clone from. - `clone_from_vm_name` (string) - This is the name of the virtual machine to clone from.
- `clone_from_snapshot_name` (string) - The name of a snapshot in the - `clone_from_snapshot_name` (string) - The name of a snapshot in the
source machine to use as a starting point for the clone. If the value source machine to use as a starting point for the clone. If the value
given is an empty string, the last snapshot present in the source will given is an empty string, the last snapshot present in the source will
be chosen as the starting point for the new VM. be chosen as the starting point for the new VM.
- `clone_all_snapshots` (bool) - If set to true all snapshots - `clone_all_snapshots` (bool) - If set to true all snapshots
present in the source machine will be copied when the machine is present in the source machine will be copied when the machine is
cloned. The final result of the build will be an exported virtual cloned. The final result of the build will be an exported virtual
machine that contains all the snapshots of the parent. machine that contains all the snapshots of the parent.
- `differencing_disk` (bool) - If true enables differencing disks. Only - `differencing_disk` (bool) - If true enables differencing disks. Only
the changes will be written to the new disk. This is especially useful if the changes will be written to the new disk. This is especially useful if
your source is a VHD/VHDX. This defaults to false. your source is a VHD/VHDX. This defaults to false.
- `copy_in_compare` (bool) - When cloning a vm to build from, we run a powershell
Compare-VM command, which, depending on your version of Windows, may need
the "Copy" flag to be set to true or false. Defaults to "false". Command:
- `copy_in_compare` (bool) - When cloning a vm to build from, we run a powershell
Compare-VM command, which, depending on your version of Windows, may need
the "Copy" flag to be set to true or false. Defaults to "false". Command:

View File

@ -1,40 +1,41 @@
<!-- Code generated from the comments of the Config struct in builder/lxc/config.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the Config struct in builder/lxc/config.go; DO NOT EDIT MANUALLY -->
- `output_directory` (string) - The directory in which to save the exported - `output_directory` (string) - The directory in which to save the exported
tar.gz. Defaults to `output-<BuildName>` in the current directory. tar.gz. Defaults to `output-<BuildName>` in the current directory.
- `container_name` (string) - The name of the LXC container. Usually stored - `container_name` (string) - The name of the LXC container. Usually stored
in `/var/lib/lxc/containers/<container_name>`. Defaults to in `/var/lib/lxc/containers/<container_name>`. Defaults to
`packer-<BuildName>`. `packer-<BuildName>`.
- `command_wrapper` (string) - Allows you to specify a wrapper command, such - `command_wrapper` (string) - Allows you to specify a wrapper command, such
as ssh so you can execute packer builds on a remote host. Defaults to as ssh so you can execute packer builds on a remote host. Defaults to
`{{.Command}}`; i.e. no wrapper. `{{.Command}}`; i.e. no wrapper.
- `init_timeout` (duration string | ex: "1h5m2s") - The timeout in seconds to wait for the the - `init_timeout` (duration string | ex: "1h5m2s") - The timeout in seconds to wait for the the
container to start. Defaults to 20 seconds. container to start. Defaults to 20 seconds.
- `create_options` ([]string) - Options to pass to lxc-create. For - `create_options` ([]string) - Options to pass to lxc-create. For
instance, you can specify a custom LXC container configuration file with instance, you can specify a custom LXC container configuration file with
["-f", "/path/to/lxc.conf"]. Defaults to []. See man 1 lxc-create for ["-f", "/path/to/lxc.conf"]. Defaults to []. See man 1 lxc-create for
available options. available options.
- `start_options` ([]string) - Options to pass to lxc-start. For - `start_options` ([]string) - Options to pass to lxc-start. For
instance, you can override parameters from the LXC container configuration instance, you can override parameters from the LXC container configuration
file via ["--define", "KEY=VALUE"]. Defaults to []. See file via ["--define", "KEY=VALUE"]. Defaults to []. See
man 1 lxc-start for available options. man 1 lxc-start for available options.
- `attach_options` ([]string) - Options to pass to lxc-attach. For - `attach_options` ([]string) - Options to pass to lxc-attach. For
instance, you can prevent the container from inheriting the host machine's instance, you can prevent the container from inheriting the host machine's
environment by specifying ["--clear-env"]. Defaults to []. See environment by specifying ["--clear-env"]. Defaults to []. See
man 1 lxc-attach for available options. man 1 lxc-attach for available options.
- `template_parameters` ([]string) - Options to pass to the given - `template_parameters` ([]string) - Options to pass to the given
lxc-template command, usually located in lxc-template command, usually located in
`/usr/share/lxc/templates/lxc-<template_name>`. Note: This gets passed as `/usr/share/lxc/templates/lxc-<template_name>`. Note: This gets passed as
ARGV to the template command. Ensure you have an array of strings, as a ARGV to the template command. Ensure you have an array of strings, as a
single string with spaces probably won't work. Defaults to []. single string with spaces probably won't work. Defaults to [].
- `target_runlevel` (int) - The minimum run level to wait for the
container to reach. Note some distributions (Ubuntu) simulate run levels
and may report 5 rather than 3.
- `target_runlevel` (int) - The minimum run level to wait for the
container to reach. Note some distributions (Ubuntu) simulate run levels
and may report 5 rather than 3.

View File

@ -1,8 +1,9 @@
<!-- Code generated from the comments of the Config struct in builder/lxc/config.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the Config struct in builder/lxc/config.go; DO NOT EDIT MANUALLY -->
- `config_file` (string) - The path to the lxc configuration file. - `config_file` (string) - The path to the lxc configuration file.
- `template_name` (string) - The LXC template name to use. - `template_name` (string) - The LXC template name to use.
- `template_environment_vars` ([]string) - Environmental variables to
use to build the template with.
- `template_environment_vars` ([]string) - Environmental variables to
use to build the template with.

View File

@ -1,22 +1,23 @@
<!-- Code generated from the comments of the Config struct in builder/lxd/config.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the Config struct in builder/lxd/config.go; DO NOT EDIT MANUALLY -->
- `output_image` (string) - The name of the output artifact. Defaults to - `output_image` (string) - The name of the output artifact. Defaults to
name. name.
- `container_name` (string) - Container Name - `container_name` (string) - Container Name
- `command_wrapper` (string) - Lets you prefix all builder commands, such as - `command_wrapper` (string) - Lets you prefix all builder commands, such as
with ssh for a remote build host. Defaults to `{{.Command}}`; i.e. no with ssh for a remote build host. Defaults to `{{.Command}}`; i.e. no
wrapper. wrapper.
- `profile` (string) - Profile - `profile` (string) - Profile
- `init_sleep` (string) - The number of seconds to sleep between launching - `init_sleep` (string) - The number of seconds to sleep between launching
the LXD instance and provisioning it; defaults to 3 seconds. the LXD instance and provisioning it; defaults to 3 seconds.
- `publish_properties` (map[string]string) - Pass key values to the publish - `publish_properties` (map[string]string) - Pass key values to the publish
step to be set as properties on the output image. This is most helpful to step to be set as properties on the output image. This is most helpful to
set the description, but can be used to set anything needed. See set the description, but can be used to set anything needed. See
https://stgraber.org/2016/03/30/lxd-2-0-image-management-512/ https://stgraber.org/2016/03/30/lxd-2-0-image-management-512/
for more properties. for more properties.
- `launch_config` (map[string]string) - List of key/value pairs you wish to
pass to lxc launch via --config. Defaults to empty.
- `launch_config` (map[string]string) - List of key/value pairs you wish to
pass to lxc launch via --config. Defaults to empty.

View File

@ -1,5 +1,6 @@
<!-- Code generated from the comments of the Config struct in builder/lxd/config.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the Config struct in builder/lxd/config.go; DO NOT EDIT MANUALLY -->
- `image` (string) - The source image to use when creating the build - `image` (string) - The source image to use when creating the build
container. This can be a (local or remote) image (name or fingerprint). container. This can be a (local or remote) image (name or fingerprint).
E.G. my-base-image, ubuntu-daily:x, 08fababf6f27, ... E.G. my-base-image, ubuntu-daily:x, 08fababf6f27, ...

View File

@ -1,31 +1,32 @@
<!-- Code generated from the comments of the Config struct in builder/ncloud/config.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the Config struct in builder/ncloud/config.go; DO NOT EDIT MANUALLY -->
- `access_key` (string) - Access Key - `access_key` (string) - Access Key
- `secret_key` (string) - Secret Key - `secret_key` (string) - Secret Key
- `member_server_image_no` (string) - Previous image code. If there is an - `member_server_image_no` (string) - Previous image code. If there is an
image previously created, it can be used to create a new image. image previously created, it can be used to create a new image.
(server_image_product_code is required if not specified) (server_image_product_code is required if not specified)
- `server_image_name` (string) - Name of an image to create. - `server_image_name` (string) - Name of an image to create.
- `server_image_description` (string) - Description of an image to create. - `server_image_description` (string) - Description of an image to create.
- `user_data` (string) - User data to apply when launching the instance. Note - `user_data` (string) - User data to apply when launching the instance. Note
that you need to be careful about escaping characters due to the templates that you need to be careful about escaping characters due to the templates
being JSON. It is often more convenient to use user_data_file, instead. being JSON. It is often more convenient to use user_data_file, instead.
Packer will not automatically wait for a user script to finish before Packer will not automatically wait for a user script to finish before
shutting down the instance this must be handled in a provisioner. shutting down the instance this must be handled in a provisioner.
- `user_data_file` (string) - Path to a file that will be used for the user - `user_data_file` (string) - Path to a file that will be used for the user
data when launching the instance. data when launching the instance.
- `block_storage_size` (int) - You can add block storage ranging from 10 - `block_storage_size` (int) - You can add block storage ranging from 10
GB to 2000 GB, in increments of 10 GB. GB to 2000 GB, in increments of 10 GB.
- `region` (string) - Name of the region where you want to create an image. - `region` (string) - Name of the region where you want to create an image.
(default: Korea) (default: Korea)
- `access_control_group_configuration_no` (string) - This is used to allow
winrm access when you create a Windows server. An ACG that specifies an
access source (0.0.0.0/0) and allowed port (5985) must be created in
advance.
- `access_control_group_configuration_no` (string) - This is used to allow
winrm access when you create a Windows server. An ACG that specifies an
access source (0.0.0.0/0) and allowed port (5985) must be created in
advance.

View File

@ -1,6 +1,7 @@
<!-- Code generated from the comments of the Config struct in builder/ncloud/config.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the Config struct in builder/ncloud/config.go; DO NOT EDIT MANUALLY -->
- `server_image_product_code` (string) - Product code of an image to create. - `server_image_product_code` (string) - Product code of an image to create.
(member_server_image_no is required if not specified) (member_server_image_no is required if not specified)
- `server_product_code` (string) - Product (spec) code to create.
- `server_product_code` (string) - Product (spec) code to create.

View File

@ -1,3 +1,2 @@
<!-- Code generated from the comments of the Config struct in builder/ncloud/config.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the Config struct in builder/ncloud/config.go; DO NOT EDIT MANUALLY -->
Config is structure to use packer builder plugin for Naver Cloud Platform Config is structure to use packer builder plugin for Naver Cloud Platform

View File

@ -1,54 +1,55 @@
<!-- Code generated from the comments of the AccessConfig struct in builder/openstack/access_config.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the AccessConfig struct in builder/openstack/access_config.go; DO NOT EDIT MANUALLY -->
- `user_id` (string) - Sets username - `user_id` (string) - Sets username
- `tenant_id` (string) - The tenant ID or name to boot the instance into. Some OpenStack - `tenant_id` (string) - The tenant ID or name to boot the instance into. Some OpenStack
installations require this. If not specified, Packer will use the installations require this. If not specified, Packer will use the
environment variable OS_TENANT_NAME or OS_TENANT_ID, if set. Tenant is environment variable OS_TENANT_NAME or OS_TENANT_ID, if set. Tenant is
also called Project in later versions of OpenStack. also called Project in later versions of OpenStack.
- `tenant_name` (string) - Tenant Name - `tenant_name` (string) - Tenant Name
- `domain_id` (string) - Domain ID - `domain_id` (string) - Domain ID
- `domain_name` (string) - The Domain name or ID you are authenticating with. OpenStack - `domain_name` (string) - The Domain name or ID you are authenticating with. OpenStack
installations require this if identity v3 is used. Packer will use the installations require this if identity v3 is used. Packer will use the
environment variable OS_DOMAIN_NAME or OS_DOMAIN_ID, if set. environment variable OS_DOMAIN_NAME or OS_DOMAIN_ID, if set.
- `insecure` (bool) - Whether or not the connection to OpenStack can be done over an insecure - `insecure` (bool) - Whether or not the connection to OpenStack can be done over an insecure
connection. By default this is false. connection. By default this is false.
- `region` (string) - The name of the region, such as "DFW", in which to launch the server to - `region` (string) - The name of the region, such as "DFW", in which to launch the server to
create the image. If not specified, Packer will use the environment create the image. If not specified, Packer will use the environment
variable OS_REGION_NAME, if set. variable OS_REGION_NAME, if set.
- `endpoint_type` (string) - The endpoint type to use. Can be any of "internal", "internalURL", - `endpoint_type` (string) - The endpoint type to use. Can be any of "internal", "internalURL",
"admin", "adminURL", "public", and "publicURL". By default this is "admin", "adminURL", "public", and "publicURL". By default this is
"public". "public".
- `cacert` (string) - Custom CA certificate file path. If omitted the OS_CACERT environment - `cacert` (string) - Custom CA certificate file path. If omitted the OS_CACERT environment
variable can be used. variable can be used.
- `cert` (string) - Client certificate file path for SSL client authentication. If omitted - `cert` (string) - Client certificate file path for SSL client authentication. If omitted
the OS_CERT environment variable can be used. the OS_CERT environment variable can be used.
- `key` (string) - Client private key file path for SSL client authentication. If omitted - `key` (string) - Client private key file path for SSL client authentication. If omitted
the OS_KEY environment variable can be used. the OS_KEY environment variable can be used.
- `token` (string) - the token (id) to use with token based authorization. Packer will use - `token` (string) - the token (id) to use with token based authorization. Packer will use
the environment variable OS_TOKEN, if set. the environment variable OS_TOKEN, if set.
- `application_credential_name` (string) - The application credential name to use with application credential based - `application_credential_name` (string) - The application credential name to use with application credential based
authorization. Packer will use the environment variable authorization. Packer will use the environment variable
OS_APPLICATION_CREDENTIAL_NAME, if set. OS_APPLICATION_CREDENTIAL_NAME, if set.
- `application_credential_id` (string) - The application credential id to use with application credential based - `application_credential_id` (string) - The application credential id to use with application credential based
authorization. Packer will use the environment variable authorization. Packer will use the environment variable
OS_APPLICATION_CREDENTIAL_ID, if set. OS_APPLICATION_CREDENTIAL_ID, if set.
- `application_credential_secret` (string) - The application credential secret to use with application credential - `application_credential_secret` (string) - The application credential secret to use with application credential
based authorization. Packer will use the environment variable based authorization. Packer will use the environment variable
OS_APPLICATION_CREDENTIAL_SECRET, if set. OS_APPLICATION_CREDENTIAL_SECRET, if set.
- `cloud` (string) - An entry in a `clouds.yaml` file. See the OpenStack os-client-config
[documentation](https://docs.openstack.org/os-client-config/latest/user/configuration.html)
for more information about `clouds.yaml` files. If omitted, the
`OS_CLOUD` environment variable is used.
- `cloud` (string) - An entry in a `clouds.yaml` file. See the OpenStack os-client-config
[documentation](https://docs.openstack.org/os-client-config/latest/user/configuration.html)
for more information about `clouds.yaml` files. If omitted, the
`OS_CLOUD` environment variable is used.

View File

@ -1,15 +1,16 @@
<!-- Code generated from the comments of the AccessConfig struct in builder/openstack/access_config.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the AccessConfig struct in builder/openstack/access_config.go; DO NOT EDIT MANUALLY -->
- `username` (string) - The username or id used to connect to the OpenStack service. If not - `username` (string) - The username or id used to connect to the OpenStack service. If not
specified, Packer will use the environment variable OS_USERNAME or specified, Packer will use the environment variable OS_USERNAME or
OS_USERID, if set. This is not required if using access token or OS_USERID, if set. This is not required if using access token or
application credential instead of password, or if using cloud.yaml. application credential instead of password, or if using cloud.yaml.
- `password` (string) - The password used to connect to the OpenStack service. If not specified, - `password` (string) - The password used to connect to the OpenStack service. If not specified,
Packer will use the environment variables OS_PASSWORD, if set. This is Packer will use the environment variables OS_PASSWORD, if set. This is
not required if using access token or application credential instead of not required if using access token or application credential instead of
password, or if using cloud.yaml. password, or if using cloud.yaml.
- `identity_endpoint` (string) - The URL to the OpenStack Identity service. If not specified, Packer will
use the environment variables OS_AUTH_URL, if set. This is not required
if using cloud.yaml.
- `identity_endpoint` (string) - The URL to the OpenStack Identity service. If not specified, Packer will
use the environment variables OS_AUTH_URL, if set. This is not required
if using cloud.yaml.

View File

@ -1,3 +1,2 @@
<!-- Code generated from the comments of the AccessConfig struct in builder/openstack/access_config.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the AccessConfig struct in builder/openstack/access_config.go; DO NOT EDIT MANUALLY -->
AccessConfig is for common configuration related to openstack access AccessConfig is for common configuration related to openstack access

View File

@ -1,16 +1,17 @@
<!-- Code generated from the comments of the ImageConfig struct in builder/openstack/image_config.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the ImageConfig struct in builder/openstack/image_config.go; DO NOT EDIT MANUALLY -->
- `metadata` (map[string]string) - Glance metadata that will be applied to the image. - `metadata` (map[string]string) - Glance metadata that will be applied to the image.
- `image_visibility` (imageservice.ImageVisibility) - One of "public", "private", "shared", or "community". - `image_visibility` (imageservice.ImageVisibility) - One of "public", "private", "shared", or "community".
- `image_members` ([]string) - List of members to add to the image after creation. An image member is - `image_members` ([]string) - List of members to add to the image after creation. An image member is
usually a project (also called the "tenant") with whom the image is usually a project (also called the "tenant") with whom the image is
shared. shared.
- `image_disk_format` (string) - Disk format of the resulting image. This option works if - `image_disk_format` (string) - Disk format of the resulting image. This option works if
use_blockstorage_volume is true. use_blockstorage_volume is true.
- `image_tags` ([]string) - List of tags to add to the image after creation. - `image_tags` ([]string) - List of tags to add to the image after creation.
- `image_min_disk` (int) - Minimum disk size needed to boot image, in gigabytes.
- `image_min_disk` (int) - Minimum disk size needed to boot image, in gigabytes.

View File

@ -1,3 +1,4 @@
<!-- Code generated from the comments of the ImageConfig struct in builder/openstack/image_config.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the ImageConfig struct in builder/openstack/image_config.go; DO NOT EDIT MANUALLY -->
- `image_name` (string) - The name of the resulting image. - `image_name` (string) - The name of the resulting image.

View File

@ -1,3 +1,2 @@
<!-- Code generated from the comments of the ImageConfig struct in builder/openstack/image_config.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the ImageConfig struct in builder/openstack/image_config.go; DO NOT EDIT MANUALLY -->
ImageConfig is for common configuration related to creating Images. ImageConfig is for common configuration related to creating Images.

View File

@ -1,8 +1,9 @@
<!-- Code generated from the comments of the ImageFilter struct in builder/openstack/run_config.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the ImageFilter struct in builder/openstack/run_config.go; DO NOT EDIT MANUALLY -->
- `filters` (ImageFilterOptions) - filters used to select a source_image. NOTE: This will fail unless - `filters` (ImageFilterOptions) - filters used to select a source_image. NOTE: This will fail unless
exactly one image is returned, or most_recent is set to true. Of the exactly one image is returned, or most_recent is set to true. Of the
filters described in ImageService, the following are valid: filters described in ImageService, the following are valid:
- `most_recent` (bool) - Selects the newest created image when true. This is most useful for
selecting a daily distro build.
- `most_recent` (bool) - Selects the newest created image when true. This is most useful for
selecting a daily distro build.

View File

@ -1,7 +1,7 @@
<!-- Code generated from the comments of the ImageFilterOptions struct in builder/openstack/run_config.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the ImageFilterOptions struct in builder/openstack/run_config.go; DO NOT EDIT MANUALLY -->
- `name` (string) - Name - `name` (string) - Name
- `owner` (string) - Owner - `owner` (string) - Owner
- `tags` ([]string) - Tags - `tags` ([]string) - Tags
- `visibility` (string) - Visibility - `visibility` (string) - Visibility
- `properties` (map[string]string) - Properties - `properties` (map[string]string) - Properties

View File

@ -1,93 +1,94 @@
<!-- Code generated from the comments of the RunConfig struct in builder/openstack/run_config.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the RunConfig struct in builder/openstack/run_config.go; DO NOT EDIT MANUALLY -->
- `ssh_interface` (string) - The type of interface to connect via SSH. Values useful for Rackspace - `ssh_interface` (string) - The type of interface to connect via SSH. Values useful for Rackspace
are "public" or "private", and the default behavior is to connect via are "public" or "private", and the default behavior is to connect via
whichever is returned first from the OpenStack API. whichever is returned first from the OpenStack API.
- `ssh_ip_version` (string) - The IP version to use for SSH connections, valid values are `4` and `6`. - `ssh_ip_version` (string) - The IP version to use for SSH connections, valid values are `4` and `6`.
Useful on dual stacked instances where the default behavior is to Useful on dual stacked instances where the default behavior is to
connect via whichever IP address is returned first from the OpenStack connect via whichever IP address is returned first from the OpenStack
API. API.
- `availability_zone` (string) - The availability zone to launch the server in. If this isn't specified, - `availability_zone` (string) - The availability zone to launch the server in. If this isn't specified,
the default enforced by your OpenStack cluster will be used. This may be the default enforced by your OpenStack cluster will be used. This may be
required for some OpenStack clusters. required for some OpenStack clusters.
- `rackconnect_wait` (bool) - For rackspace, whether or not to wait for Rackconnect to assign the - `rackconnect_wait` (bool) - For rackspace, whether or not to wait for Rackconnect to assign the
machine an IP address before connecting via SSH. Defaults to false. machine an IP address before connecting via SSH. Defaults to false.
- `floating_ip_network` (string) - The ID or name of an external network that can be used for creation of a - `floating_ip_network` (string) - The ID or name of an external network that can be used for creation of a
new floating IP. new floating IP.
- `instance_floating_ip_net` (string) - The ID of the network to which the instance is attached and which should - `instance_floating_ip_net` (string) - The ID of the network to which the instance is attached and which should
be used to associate with the floating IP. This provides control over be used to associate with the floating IP. This provides control over
the floating ip association on multi-homed instances. The association the floating ip association on multi-homed instances. The association
otherwise depends on a first-returned-interface policy which could fail otherwise depends on a first-returned-interface policy which could fail
if the network to which it is connected is unreachable from the floating if the network to which it is connected is unreachable from the floating
IP network. IP network.
- `floating_ip` (string) - A specific floating IP to assign to this instance. - `floating_ip` (string) - A specific floating IP to assign to this instance.
- `reuse_ips` (bool) - Whether or not to attempt to reuse existing unassigned floating ips in - `reuse_ips` (bool) - Whether or not to attempt to reuse existing unassigned floating ips in
the project before allocating a new one. Note that it is not possible to the project before allocating a new one. Note that it is not possible to
safely do this concurrently, so if you are running multiple openstack safely do this concurrently, so if you are running multiple openstack
builds concurrently, or if other processes are assigning and using builds concurrently, or if other processes are assigning and using
floating IPs in the same openstack project while packer is running, you floating IPs in the same openstack project while packer is running, you
should not set this to true. Defaults to false. should not set this to true. Defaults to false.
- `security_groups` ([]string) - A list of security groups by name to add to this instance. - `security_groups` ([]string) - A list of security groups by name to add to this instance.
- `networks` ([]string) - A list of networks by UUID to attach to this instance. - `networks` ([]string) - A list of networks by UUID to attach to this instance.
- `ports` ([]string) - A list of ports by UUID to attach to this instance. - `ports` ([]string) - A list of ports by UUID to attach to this instance.
- `network_discovery_cidrs` ([]string) - A list of network CIDRs to discover the network to attach to this instance. - `network_discovery_cidrs` ([]string) - A list of network CIDRs to discover the network to attach to this instance.
The first network whose subnet is contained within any of the given CIDRs The first network whose subnet is contained within any of the given CIDRs
is used. Ignored if either of the above two options are provided. is used. Ignored if either of the above two options are provided.
- `user_data` (string) - User data to apply when launching the instance. Note that you need to be - `user_data` (string) - User data to apply when launching the instance. Note that you need to be
careful about escaping characters due to the templates being JSON. It is careful about escaping characters due to the templates being JSON. It is
often more convenient to use user_data_file, instead. Packer will not often more convenient to use user_data_file, instead. Packer will not
automatically wait for a user script to finish before shutting down the automatically wait for a user script to finish before shutting down the
instance this must be handled in a provisioner. instance this must be handled in a provisioner.
- `user_data_file` (string) - Path to a file that will be used for the user data when launching the - `user_data_file` (string) - Path to a file that will be used for the user data when launching the
instance. instance.
- `instance_name` (string) - Name that is applied to the server instance created by Packer. If this - `instance_name` (string) - Name that is applied to the server instance created by Packer. If this
isn't specified, the default is same as image_name. isn't specified, the default is same as image_name.
- `instance_metadata` (map[string]string) - Metadata that is applied to the server instance created by Packer. Also - `instance_metadata` (map[string]string) - Metadata that is applied to the server instance created by Packer. Also
called server properties in some documentation. The strings have a max called server properties in some documentation. The strings have a max
size of 255 bytes each. size of 255 bytes each.
- `force_delete` (bool) - Whether to force the OpenStack instance to be forcefully deleted. This - `force_delete` (bool) - Whether to force the OpenStack instance to be forcefully deleted. This
is useful for environments that have reclaim / soft deletion enabled. By is useful for environments that have reclaim / soft deletion enabled. By
default this is false. default this is false.
- `config_drive` (bool) - Whether or not nova should use ConfigDrive for cloud-init metadata. - `config_drive` (bool) - Whether or not nova should use ConfigDrive for cloud-init metadata.
- `floating_ip_pool` (string) - Deprecated use floating_ip_network instead. - `floating_ip_pool` (string) - Deprecated use floating_ip_network instead.
- `use_blockstorage_volume` (bool) - Use Block Storage service volume for the instance root volume instead of - `use_blockstorage_volume` (bool) - Use Block Storage service volume for the instance root volume instead of
Compute service local volume (default). Compute service local volume (default).
- `volume_name` (string) - Name of the Block Storage service volume. If this isn't specified, - `volume_name` (string) - Name of the Block Storage service volume. If this isn't specified,
random string will be used. random string will be used.
- `volume_type` (string) - Type of the Block Storage service volume. If this isn't specified, the - `volume_type` (string) - Type of the Block Storage service volume. If this isn't specified, the
default enforced by your OpenStack cluster will be used. default enforced by your OpenStack cluster will be used.
- `volume_size` (int) - Size of the Block Storage service volume in GB. If this isn't specified, - `volume_size` (int) - Size of the Block Storage service volume in GB. If this isn't specified,
it is set to source image min disk value (if set) or calculated from the it is set to source image min disk value (if set) or calculated from the
source image bytes size. Note that in some cases this needs to be source image bytes size. Note that in some cases this needs to be
specified, if use_blockstorage_volume is true. specified, if use_blockstorage_volume is true.
- `volume_availability_zone` (string) - Availability zone of the Block Storage service volume. If omitted, - `volume_availability_zone` (string) - Availability zone of the Block Storage service volume. If omitted,
Compute instance availability zone will be used. If both of Compute Compute instance availability zone will be used. If both of Compute
instance and Block Storage volume availability zones aren't specified, instance and Block Storage volume availability zones aren't specified,
the default enforced by your OpenStack cluster will be used. the default enforced by your OpenStack cluster will be used.
- `openstack_provider` (string) - Not really used, but here for BC - `openstack_provider` (string) - Not really used, but here for BC
- `use_floating_ip` (bool) - *Deprecated* use `floating_ip` or `floating_ip_pool` instead.
- `use_floating_ip` (bool) - _Deprecated_ use `floating_ip` or `floating_ip_pool` instead.

View File

@ -1,44 +1,44 @@
<!-- Code generated from the comments of the RunConfig struct in builder/openstack/run_config.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the RunConfig struct in builder/openstack/run_config.go; DO NOT EDIT MANUALLY -->
- `source_image` (string) - The ID or full URL to the base image to use. This is the image that will - `source_image` (string) - The ID or full URL to the base image to use. This is the image that will
be used to launch a new server and provision it. Unless you specify be used to launch a new server and provision it. Unless you specify
completely custom SSH settings, the source image must have cloud-init completely custom SSH settings, the source image must have cloud-init
installed so that the keypair gets assigned properly. installed so that the keypair gets assigned properly.
- `source_image_name` (string) - The name of the base image to use. This is an alternative way of - `source_image_name` (string) - The name of the base image to use. This is an alternative way of
providing source_image and only either of them can be specified. providing source_image and only either of them can be specified.
- `source_image_filter` (ImageFilter) - Filters used to populate filter options. Example: - `source_image_filter` (ImageFilter) - Filters used to populate filter options. Example:
```json ```json
{ {
"source_image_filter": { "source_image_filter": {
"filters": { "filters": {
"name": "ubuntu-16.04", "name": "ubuntu-16.04",
"visibility": "protected", "visibility": "protected",
"owner": "d1a588cf4b0743344508dc145649372d1", "owner": "d1a588cf4b0743344508dc145649372d1",
"tags": ["prod", "ready"], "tags": ["prod", "ready"],
"properties": { "properties": {
"os_distro": "ubuntu" "os_distro": "ubuntu"
}
},
"most_recent": true
} }
},
"most_recent": true
} }
} ```
```
This selects the most recent production Ubuntu 16.04 shared to you by This selects the most recent production Ubuntu 16.04 shared to you by
the given owner. NOTE: This will fail unless _exactly_ one image is the given owner. NOTE: This will fail unless *exactly* one image is
returned, or `most_recent` is set to true. In the example of multiple returned, or `most_recent` is set to true. In the example of multiple
returned images, `most_recent` will cause this to succeed by selecting returned images, `most_recent` will cause this to succeed by selecting
the newest image of the returned images. the newest image of the returned images.
- `filters` (map of strings) - filters used to select a - `filters` (map of strings) - filters used to select a
`source_image`. `source_image`.
NOTE: This will fail unless _exactly_ one image is returned, or NOTE: This will fail unless *exactly* one image is returned, or
`most_recent` is set to true. Of the filters described in `most_recent` is set to true. Of the filters described in
[ImageService](https://developer.openstack.org/api-ref/image/v2/), the [ImageService](https://developer.openstack.org/api-ref/image/v2/), the
following are valid: following are valid:
- name (string) - name (string)
- owner (string) - owner (string)
@ -47,13 +47,14 @@
- properties (map of strings to strings) (fields that can be set - properties (map of strings to strings) (fields that can be set
with `openstack image set --property key=value`) with `openstack image set --property key=value`)
- `most_recent` (boolean) - Selects the newest created image when - `most_recent` (boolean) - Selects the newest created image when
true. true.
This is most useful for selecting a daily distro build. This is most useful for selecting a daily distro build.
You may set use this in place of `source_image` If `source_image_filter` You may set use this in place of `source_image` If `source_image_filter`
is provided alongside `source_image`, the `source_image` will override is provided alongside `source_image`, the `source_image` will override
the filter. The filter will not be used in this case. the filter. The filter will not be used in this case.
- `flavor` (string) - The ID, name, or full URL for the desired flavor for the server to be
created.
- `flavor` (string) - The ID, name, or full URL for the desired flavor for the server to be
created.

View File

@ -1,4 +1,3 @@
<!-- Code generated from the comments of the RunConfig struct in builder/openstack/run_config.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the RunConfig struct in builder/openstack/run_config.go; DO NOT EDIT MANUALLY -->
RunConfig contains configuration for running an instance from a source image RunConfig contains configuration for running an instance from a source image
and details on how to access that launched image. and details on how to access that launched image.

View File

@ -1,13 +1,14 @@
<!-- Code generated from the comments of the HWConfig struct in builder/parallels/common/hw_config.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the HWConfig struct in builder/parallels/common/hw_config.go; DO NOT EDIT MANUALLY -->
- `cpus` (int) - The number of cpus to use for building the VM. - `cpus` (int) - The number of cpus to use for building the VM.
Defaults to 1. Defaults to 1.
- `memory` (int) - The amount of memory to use for building the VM in - `memory` (int) - The amount of memory to use for building the VM in
megabytes. Defaults to 512 megabytes. megabytes. Defaults to 512 megabytes.
- `sound` (bool) - Specifies whether to enable the sound device when - `sound` (bool) - Specifies whether to enable the sound device when
building the VM. Defaults to false. building the VM. Defaults to false.
- `usb` (bool) - Specifies whether to enable the USB bus when building
the VM. Defaults to false.
- `usb` (bool) - Specifies whether to enable the USB bus when building
the VM. Defaults to false.

View File

@ -1,8 +1,9 @@
<!-- Code generated from the comments of the OutputConfig struct in builder/parallels/common/output_config.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the OutputConfig struct in builder/parallels/common/output_config.go; DO NOT EDIT MANUALLY -->
- `output_directory` (string) - This is the path to the directory where the - `output_directory` (string) - This is the path to the directory where the
resulting virtual machine will be created. This may be relative or absolute. resulting virtual machine will be created. This may be relative or absolute.
If relative, the path is relative to the working directory when packer If relative, the path is relative to the working directory when packer
is executed. This directory must not exist or be empty prior to running is executed. This directory must not exist or be empty prior to running
the builder. By default this is "output-BUILDNAME" where "BUILDNAME" is the the builder. By default this is "output-BUILDNAME" where "BUILDNAME" is the
name of the build. name of the build.

View File

@ -1,3 +1,2 @@
<!-- Code generated from the comments of the OutputConfig struct in builder/parallels/common/output_config.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the OutputConfig struct in builder/parallels/common/output_config.go; DO NOT EDIT MANUALLY -->
OutputConfig contains the configuration for builder's output. OutputConfig contains the configuration for builder's output.

View File

@ -1,12 +1,13 @@
<!-- Code generated from the comments of the PrlctlConfig struct in builder/parallels/common/prlctl_config.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the PrlctlConfig struct in builder/parallels/common/prlctl_config.go; DO NOT EDIT MANUALLY -->
- `prlctl` ([][]string) - Custom prlctl commands to execute - `prlctl` ([][]string) - Custom prlctl commands to execute
in order to further customize the virtual machine being created. The value in order to further customize the virtual machine being created. The value
of this is an array of commands to execute. The commands are executed in the of this is an array of commands to execute. The commands are executed in the
order defined in the template. For each command, the command is defined order defined in the template. For each command, the command is defined
itself as an array of strings, where each string represents a single itself as an array of strings, where each string represents a single
argument on the command-line to prlctl (but excluding prlctl itself). argument on the command-line to prlctl (but excluding prlctl itself).
Each arg is treated as a configuration Each arg is treated as a configuration
template, where the Name template, where the Name
variable is replaced with the VM name. More details on how to use prlctl variable is replaced with the VM name. More details on how to use prlctl
are below. are below.

View File

@ -1,4 +1,3 @@
<!-- Code generated from the comments of the PrlctlConfig struct in builder/parallels/common/prlctl_config.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the PrlctlConfig struct in builder/parallels/common/prlctl_config.go; DO NOT EDIT MANUALLY -->
PrlctlConfig contains the configuration for running "prlctl" commands PrlctlConfig contains the configuration for running "prlctl" commands
before the VM start. before the VM start.

View File

@ -1,5 +1,6 @@
<!-- Code generated from the comments of the PrlctlPostConfig struct in builder/parallels/common/prlctl_post_config.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the PrlctlPostConfig struct in builder/parallels/common/prlctl_post_config.go; DO NOT EDIT MANUALLY -->
- `prlctl_post` ([][]string) - Identical to prlctl, except - `prlctl_post` ([][]string) - Identical to prlctl, except
that it is run after the virtual machine is shutdown, and before the virtual that it is run after the virtual machine is shutdown, and before the virtual
machine is exported. machine is exported.

View File

@ -1,4 +1,3 @@
<!-- Code generated from the comments of the PrlctlPostConfig struct in builder/parallels/common/prlctl_post_config.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the PrlctlPostConfig struct in builder/parallels/common/prlctl_post_config.go; DO NOT EDIT MANUALLY -->
PrlctlPostConfig contains the configuration for running "prlctl" commands PrlctlPostConfig contains the configuration for running "prlctl" commands
in the end of artifact build. in the end of artifact build.

View File

@ -1,7 +1,8 @@
<!-- Code generated from the comments of the PrlctlVersionConfig struct in builder/parallels/common/prlctl_version_config.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the PrlctlVersionConfig struct in builder/parallels/common/prlctl_version_config.go; DO NOT EDIT MANUALLY -->
- `prlctl_version_file` (string) - The path within the virtual machine to - `prlctl_version_file` (string) - The path within the virtual machine to
upload a file that contains the prlctl version that was used to create upload a file that contains the prlctl version that was used to create
the machine. This information can be useful for provisioning. By default the machine. This information can be useful for provisioning. By default
this is ".prlctl_version", which will generally upload it into the this is ".prlctl_version", which will generally upload it into the
home directory. home directory.

View File

@ -1,3 +1,2 @@
<!-- Code generated from the comments of the PrlctlVersionConfig struct in builder/parallels/common/prlctl_version_config.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the PrlctlVersionConfig struct in builder/parallels/common/prlctl_version_config.go; DO NOT EDIT MANUALLY -->
PrlctlVersionConfig contains the configuration for `prlctl` version. PrlctlVersionConfig contains the configuration for `prlctl` version.

View File

@ -1,16 +1,17 @@
<!-- Code generated from the comments of the ToolsConfig struct in builder/parallels/common/tools_config.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the ToolsConfig struct in builder/parallels/common/tools_config.go; DO NOT EDIT MANUALLY -->
- `parallels_tools_guest_path` (string) - The path in the virtual machine to - `parallels_tools_guest_path` (string) - The path in the virtual machine to
upload Parallels Tools. This only takes effect if parallels_tools_mode upload Parallels Tools. This only takes effect if parallels_tools_mode
is "upload". This is a configuration is "upload". This is a configuration
template that has a single template that has a single
valid variable: Flavor, which will be the value of valid variable: Flavor, which will be the value of
parallels_tools_flavor. By default this is `prl-tools-{{.Flavor}}.iso` parallels_tools_flavor. By default this is `prl-tools-{{.Flavor}}.iso`
which should upload into the login directory of the user. which should upload into the login directory of the user.
- `parallels_tools_mode` (string) - The method by which Parallels Tools are
made available to the guest for installation. Valid options are "upload",
"attach", or "disable". If the mode is "attach" the Parallels Tools ISO will
be attached as a CD device to the virtual machine. If the mode is "upload"
the Parallels Tools ISO will be uploaded to the path specified by
parallels_tools_guest_path. The default value is "upload".
- `parallels_tools_mode` (string) - The method by which Parallels Tools are
made available to the guest for installation. Valid options are "upload",
"attach", or "disable". If the mode is "attach" the Parallels Tools ISO will
be attached as a CD device to the virtual machine. If the mode is "upload"
the Parallels Tools ISO will be uploaded to the path specified by
parallels_tools_guest_path. The default value is "upload".

View File

@ -1,6 +1,7 @@
<!-- Code generated from the comments of the ToolsConfig struct in builder/parallels/common/tools_config.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the ToolsConfig struct in builder/parallels/common/tools_config.go; DO NOT EDIT MANUALLY -->
- `parallels_tools_flavor` (string) - The flavor of the Parallels Tools ISO to - `parallels_tools_flavor` (string) - The flavor of the Parallels Tools ISO to
install into the VM. Valid values are "win", "lin", "mac", "os2" install into the VM. Valid values are "win", "lin", "mac", "os2"
and "other". This can be omitted only if parallels_tools_mode and "other". This can be omitted only if parallels_tools_mode
is "disable". is "disable".

View File

@ -1,3 +1,2 @@
<!-- Code generated from the comments of the ToolsConfig struct in builder/parallels/common/tools_config.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the ToolsConfig struct in builder/parallels/common/tools_config.go; DO NOT EDIT MANUALLY -->
ToolsConfig contains the builder configuration related to Parallels Tools. ToolsConfig contains the builder configuration related to Parallels Tools.

View File

@ -1,39 +1,40 @@
<!-- Code generated from the comments of the Config struct in builder/parallels/iso/builder.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the Config struct in builder/parallels/iso/builder.go; DO NOT EDIT MANUALLY -->
- `disk_size` (uint) - The size, in megabytes, of the hard disk to create - `disk_size` (uint) - The size, in megabytes, of the hard disk to create
for the VM. By default, this is 40000 (about 40 GB). for the VM. By default, this is 40000 (about 40 GB).
- `disk_type` (string) - The type for image file based virtual disk drives, - `disk_type` (string) - The type for image file based virtual disk drives,
defaults to expand. Valid options are expand (expanding disk) that the defaults to expand. Valid options are expand (expanding disk) that the
image file is small initially and grows in size as you add data to it, and image file is small initially and grows in size as you add data to it, and
plain (plain disk) that the image file has a fixed size from the moment it plain (plain disk) that the image file has a fixed size from the moment it
is created (i.e the space is allocated for the full drive). Plain disks is created (i.e the space is allocated for the full drive). Plain disks
perform faster than expanding disks. skip_compaction will be set to true perform faster than expanding disks. skip_compaction will be set to true
automatically for plain disks. automatically for plain disks.
- `guest_os_type` (string) - The guest OS type being installed. By default - `guest_os_type` (string) - The guest OS type being installed. By default
this is "other", but you can get dramatic performance improvements by this is "other", but you can get dramatic performance improvements by
setting this to the proper value. To view all available values for this run setting this to the proper value. To view all available values for this run
prlctl create x --distribution list. Setting the correct value hints to prlctl create x --distribution list. Setting the correct value hints to
Parallels Desktop how to optimize the virtual hardware to work best with Parallels Desktop how to optimize the virtual hardware to work best with
that operating system. that operating system.
- `hard_drive_interface` (string) - The type of controller that the hard - `hard_drive_interface` (string) - The type of controller that the hard
drives are attached to, defaults to "sata". Valid options are "sata", "ide", drives are attached to, defaults to "sata". Valid options are "sata", "ide",
and "scsi". and "scsi".
- `host_interfaces` ([]string) - A list of which interfaces on the - `host_interfaces` ([]string) - A list of which interfaces on the
host should be searched for a IP address. The first IP address found on one host should be searched for a IP address. The first IP address found on one
of these will be used as `{{ .HTTPIP }}` in the boot_command. Defaults to of these will be used as `{{ .HTTPIP }}` in the boot_command. Defaults to
["en0", "en1", "en2", "en3", "en4", "en5", "en6", "en7", "en8", "en9", ["en0", "en1", "en2", "en3", "en4", "en5", "en6", "en7", "en8", "en9",
"ppp0", "ppp1", "ppp2"]. "ppp0", "ppp1", "ppp2"].
- `skip_compaction` (bool) - Virtual disk image is compacted at the end of - `skip_compaction` (bool) - Virtual disk image is compacted at the end of
the build process using prl_disk_tool utility (except for the case that the build process using prl_disk_tool utility (except for the case that
disk_type is set to plain). In certain rare cases, this might corrupt disk_type is set to plain). In certain rare cases, this might corrupt
the resulting disk image. If you find this to be the case, you can disable the resulting disk image. If you find this to be the case, you can disable
compaction using this configuration value. compaction using this configuration value.
- `vm_name` (string) - This is the name of the PVM directory for the new
virtual machine, without the file extension. By default this is
"packer-BUILDNAME", where "BUILDNAME" is the name of the build.
- `vm_name` (string) - This is the name of the PVM directory for the new
virtual machine, without the file extension. By default this is
"packer-BUILDNAME", where "BUILDNAME" is the name of the build.

View File

@ -1,15 +1,16 @@
<!-- Code generated from the comments of the Config struct in builder/parallels/pvm/config.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the Config struct in builder/parallels/pvm/config.go; DO NOT EDIT MANUALLY -->
- `skip_compaction` (bool) - Virtual disk image is compacted at the end of - `skip_compaction` (bool) - Virtual disk image is compacted at the end of
the build process using prl_disk_tool utility (except for the case that the build process using prl_disk_tool utility (except for the case that
disk_type is set to plain). In certain rare cases, this might corrupt disk_type is set to plain). In certain rare cases, this might corrupt
the resulting disk image. If you find this to be the case, you can disable the resulting disk image. If you find this to be the case, you can disable
compaction using this configuration value. compaction using this configuration value.
- `vm_name` (string) - This is the name of the PVM directory for the new - `vm_name` (string) - This is the name of the PVM directory for the new
virtual machine, without the file extension. By default this is virtual machine, without the file extension. By default this is
"packer-BUILDNAME", where "BUILDNAME" is the name of the build. "packer-BUILDNAME", where "BUILDNAME" is the name of the build.
- `reassign_mac` (bool) - If this is "false" the MAC address of the first
NIC will reused when imported else a new MAC address will be generated
by Parallels. Defaults to "false".
- `reassign_mac` (bool) - If this is "false" the MAC address of the first
NIC will reused when imported else a new MAC address will be generated
by Parallels. Defaults to "false".

View File

@ -1,4 +1,5 @@
<!-- Code generated from the comments of the Config struct in builder/parallels/pvm/config.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the Config struct in builder/parallels/pvm/config.go; DO NOT EDIT MANUALLY -->
- `source_path` (string) - The path to a PVM directory that acts as the source - `source_path` (string) - The path to a PVM directory that acts as the source
of this build. of this build.

View File

@ -1,3 +1,2 @@
<!-- Code generated from the comments of the Config struct in builder/parallels/pvm/config.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the Config struct in builder/parallels/pvm/config.go; DO NOT EDIT MANUALLY -->
Config is the configuration structure for the builder. Config is the configuration structure for the builder.

View File

@ -1,236 +1,237 @@
<!-- Code generated from the comments of the Config struct in builder/qemu/builder.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the Config struct in builder/qemu/builder.go; DO NOT EDIT MANUALLY -->
- `iso_skip_cache` (bool) - Use iso from provided url. Qemu must support - `iso_skip_cache` (bool) - Use iso from provided url. Qemu must support
curl block device. This defaults to `false`. curl block device. This defaults to `false`.
- `accelerator` (string) - The accelerator type to use when running the VM. - `accelerator` (string) - The accelerator type to use when running the VM.
This may be `none`, `kvm`, `tcg`, `hax`, `hvf`, `whpx`, or `xen`. The appropriate This may be `none`, `kvm`, `tcg`, `hax`, `hvf`, `whpx`, or `xen`. The appropriate
software must have already been installed on your build machine to use the software must have already been installed on your build machine to use the
accelerator you specified. When no accelerator is specified, Packer will try accelerator you specified. When no accelerator is specified, Packer will try
to use `kvm` if it is available but will default to `tcg` otherwise. to use `kvm` if it is available but will default to `tcg` otherwise.
-&gt; The `hax` accelerator has issues attaching CDROM ISOs. This is an -&gt; The `hax` accelerator has issues attaching CDROM ISOs. This is an
upstream issue which can be tracked upstream issue which can be tracked
[here](https://github.com/intel/haxm/issues/20). [here](https://github.com/intel/haxm/issues/20).
-&gt; The `hvf` and `whpx` accelerator are new and experimental as of -&gt; The `hvf` and `whpx` accelerator are new and experimental as of
[QEMU 2.12.0](https://wiki.qemu.org/ChangeLog/2.12#Host_support). [QEMU 2.12.0](https://wiki.qemu.org/ChangeLog/2.12#Host_support).
You may encounter issues unrelated to Packer when using these. You may need to You may encounter issues unrelated to Packer when using these. You may need to
add [ "-global", "virtio-pci.disable-modern=on" ] to `qemuargs` depending on the add [ "-global", "virtio-pci.disable-modern=on" ] to `qemuargs` depending on the
guest operating system. guest operating system.
-&gt; For `whpx`, note that [Stefan Weil's QEMU for Windows distribution](https://qemu.weilnetz.de/w64/) -&gt; For `whpx`, note that [Stefan Weil's QEMU for Windows distribution](https://qemu.weilnetz.de/w64/)
does not include WHPX support and users may need to compile or source a does not include WHPX support and users may need to compile or source a
build of QEMU for Windows themselves with WHPX support. build of QEMU for Windows themselves with WHPX support.
- `disk_additional_size` ([]string) - Additional disks to create. Uses `vm_name` as the disk name template and - `disk_additional_size` ([]string) - Additional disks to create. Uses `vm_name` as the disk name template and
appends `-#` where `#` is the position in the array. `#` starts at 1 since 0 appends `-#` where `#` is the position in the array. `#` starts at 1 since 0
is the default disk. Each string represents the disk image size in bytes. is the default disk. Each string represents the disk image size in bytes.
Optional suffixes 'k' or 'K' (kilobyte, 1024), 'M' (megabyte, 1024k), 'G' Optional suffixes 'k' or 'K' (kilobyte, 1024), 'M' (megabyte, 1024k), 'G'
(gigabyte, 1024M), 'T' (terabyte, 1024G), 'P' (petabyte, 1024T) and 'E' (gigabyte, 1024M), 'T' (terabyte, 1024G), 'P' (petabyte, 1024T) and 'E'
(exabyte, 1024P) are supported. 'b' is ignored. Per qemu-img documentation. (exabyte, 1024P) are supported. 'b' is ignored. Per qemu-img documentation.
Each additional disk uses the same disk parameters as the default disk. Each additional disk uses the same disk parameters as the default disk.
Unset by default. Unset by default.
- `cpus` (int) - The number of cpus to use when building the VM. - `cpus` (int) - The number of cpus to use when building the VM.
The default is `1` CPU. The default is `1` CPU.
- `disk_interface` (string) - The interface to use for the disk. Allowed values include any of `ide`, - `disk_interface` (string) - The interface to use for the disk. Allowed values include any of `ide`,
`scsi`, `virtio` or `virtio-scsi`^\*. Note also that any boot commands `scsi`, `virtio` or `virtio-scsi`^\*. Note also that any boot commands
or kickstart type scripts must have proper adjustments for resulting or kickstart type scripts must have proper adjustments for resulting
device names. The Qemu builder uses `virtio` by default. device names. The Qemu builder uses `virtio` by default.
^\* Please be aware that use of the `scsi` disk interface has been ^\* Please be aware that use of the `scsi` disk interface has been
disabled by Red Hat due to a bug described disabled by Red Hat due to a bug described
[here](https://bugzilla.redhat.com/show_bug.cgi?id=1019220). If you are [here](https://bugzilla.redhat.com/show_bug.cgi?id=1019220). If you are
running Qemu on RHEL or a RHEL variant such as CentOS, you _must_ choose running Qemu on RHEL or a RHEL variant such as CentOS, you *must* choose
one of the other listed interfaces. Using the `scsi` interface under one of the other listed interfaces. Using the `scsi` interface under
these circumstances will cause the build to fail. these circumstances will cause the build to fail.
- `disk_size` (string) - The size in bytes of the hard disk of the VM. Suffix with the first - `disk_size` (string) - The size in bytes of the hard disk of the VM. Suffix with the first
letter of common byte types. Use "k" or "K" for kilobytes, "M" for letter of common byte types. Use "k" or "K" for kilobytes, "M" for
megabytes, G for gigabytes, and T for terabytes. If no value is provided megabytes, G for gigabytes, and T for terabytes. If no value is provided
for disk_size, Packer uses a default of `40960M` (40 GB). If a disk_size for disk_size, Packer uses a default of `40960M` (40 GB). If a disk_size
number is provided with no units, Packer will default to Megabytes. number is provided with no units, Packer will default to Megabytes.
- `disk_cache` (string) - The cache mode to use for disk. Allowed values include any of - `disk_cache` (string) - The cache mode to use for disk. Allowed values include any of
`writethrough`, `writeback`, `none`, `unsafe` or `directsync`. By `writethrough`, `writeback`, `none`, `unsafe` or `directsync`. By
default, this is set to `writeback`. default, this is set to `writeback`.
- `disk_discard` (string) - The discard mode to use for disk. Allowed values - `disk_discard` (string) - The discard mode to use for disk. Allowed values
include any of unmap or ignore. By default, this is set to ignore. include any of unmap or ignore. By default, this is set to ignore.
- `disk_detect_zeroes` (string) - The detect-zeroes mode to use for disk. - `disk_detect_zeroes` (string) - The detect-zeroes mode to use for disk.
Allowed values include any of unmap, on or off. Defaults to off. Allowed values include any of unmap, on or off. Defaults to off.
When the value is "off" we don't set the flag in the qemu command, so that When the value is "off" we don't set the flag in the qemu command, so that
Packer still works with old versions of QEMU that don't have this option. Packer still works with old versions of QEMU that don't have this option.
- `skip_compaction` (bool) - Packer compacts the QCOW2 image using - `skip_compaction` (bool) - Packer compacts the QCOW2 image using
qemu-img convert. Set this option to true to disable compacting. qemu-img convert. Set this option to true to disable compacting.
Defaults to false. Defaults to false.
- `disk_compression` (bool) - Apply compression to the QCOW2 disk file - `disk_compression` (bool) - Apply compression to the QCOW2 disk file
using qemu-img convert. Defaults to false. using qemu-img convert. Defaults to false.
- `format` (string) - Either `qcow2` or `raw`, this specifies the output format of the virtual - `format` (string) - Either `qcow2` or `raw`, this specifies the output format of the virtual
machine image. This defaults to `qcow2`. machine image. This defaults to `qcow2`.
- `headless` (bool) - Packer defaults to building QEMU virtual machines by - `headless` (bool) - Packer defaults to building QEMU virtual machines by
launching a GUI that shows the console of the machine being built. When this launching a GUI that shows the console of the machine being built. When this
value is set to `true`, the machine will start without a console. value is set to `true`, the machine will start without a console.
You can still see the console if you make a note of the VNC display You can still see the console if you make a note of the VNC display
number chosen, and then connect using `vncviewer -Shared <host>:<display>` number chosen, and then connect using `vncviewer -Shared <host>:<display>`
- `disk_image` (bool) - Packer defaults to building from an ISO file, this parameter controls - `disk_image` (bool) - Packer defaults to building from an ISO file, this parameter controls
whether the ISO URL supplied is actually a bootable QEMU image. When whether the ISO URL supplied is actually a bootable QEMU image. When
this value is set to `true`, the machine will either clone the source or this value is set to `true`, the machine will either clone the source or
use it as a backing file (if `use_backing_file` is `true`); then, it use it as a backing file (if `use_backing_file` is `true`); then, it
will resize the image according to `disk_size` and boot it. will resize the image according to `disk_size` and boot it.
- `use_backing_file` (bool) - Only applicable when disk_image is true - `use_backing_file` (bool) - Only applicable when disk_image is true
and format is qcow2, set this option to true to create a new QCOW2 and format is qcow2, set this option to true to create a new QCOW2
file that uses the file located at iso_url as a backing file. The new file file that uses the file located at iso_url as a backing file. The new file
will only contain blocks that have changed compared to the backing file, so will only contain blocks that have changed compared to the backing file, so
enabling this option can significantly reduce disk usage. enabling this option can significantly reduce disk usage.
- `machine_type` (string) - The type of machine emulation to use. Run your qemu binary with the - `machine_type` (string) - The type of machine emulation to use. Run your qemu binary with the
flags `-machine help` to list available types for your system. This flags `-machine help` to list available types for your system. This
defaults to `pc`. defaults to `pc`.
- `memory` (int) - The amount of memory to use when building the VM - `memory` (int) - The amount of memory to use when building the VM
in megabytes. This defaults to 512 megabytes. in megabytes. This defaults to 512 megabytes.
- `net_device` (string) - The driver to use for the network interface. Allowed values `ne2k_pci`, - `net_device` (string) - The driver to use for the network interface. Allowed values `ne2k_pci`,
`i82551`, `i82557b`, `i82559er`, `rtl8139`, `e1000`, `pcnet`, `virtio`, `i82551`, `i82557b`, `i82559er`, `rtl8139`, `e1000`, `pcnet`, `virtio`,
`virtio-net`, `virtio-net-pci`, `usb-net`, `i82559a`, `i82559b`, `virtio-net`, `virtio-net-pci`, `usb-net`, `i82559a`, `i82559b`,
`i82559c`, `i82550`, `i82562`, `i82557a`, `i82557c`, `i82801`, `i82559c`, `i82550`, `i82562`, `i82557a`, `i82557c`, `i82801`,
`vmxnet3`, `i82558a` or `i82558b`. The Qemu builder uses `virtio-net` by `vmxnet3`, `i82558a` or `i82558b`. The Qemu builder uses `virtio-net` by
default. default.
- `output_directory` (string) - This is the path to the directory where the - `output_directory` (string) - This is the path to the directory where the
resulting virtual machine will be created. This may be relative or absolute. resulting virtual machine will be created. This may be relative or absolute.
If relative, the path is relative to the working directory when packer If relative, the path is relative to the working directory when packer
is executed. This directory must not exist or be empty prior to running is executed. This directory must not exist or be empty prior to running
the builder. By default this is output-BUILDNAME where "BUILDNAME" is the the builder. By default this is output-BUILDNAME where "BUILDNAME" is the
name of the build. name of the build.
- `qemuargs` ([][]string) - Allows complete control over the qemu command line (though not, at this - `qemuargs` ([][]string) - Allows complete control over the qemu command line (though not, at this
time, qemu-img). Each array of strings makes up a command line switch time, qemu-img). Each array of strings makes up a command line switch
that overrides matching default switch/value pairs. Any value specified that overrides matching default switch/value pairs. Any value specified
as an empty string is ignored. All values after the switch are as an empty string is ignored. All values after the switch are
concatenated with no separator. concatenated with no separator.
~&gt; **Warning:** The qemu command line allows extreme flexibility, so ~&gt; **Warning:** The qemu command line allows extreme flexibility, so
beware of conflicting arguments causing failures of your run. For beware of conflicting arguments causing failures of your run. For
instance, using --no-acpi could break the ability to send power signal instance, using --no-acpi could break the ability to send power signal
type commands (e.g., shutdown -P now) to the virtual machine, thus type commands (e.g., shutdown -P now) to the virtual machine, thus
preventing proper shutdown. To see the defaults, look in the packer.log preventing proper shutdown. To see the defaults, look in the packer.log
file and search for the qemu-system-x86 command. The arguments are all file and search for the qemu-system-x86 command. The arguments are all
printed for review. printed for review.
The following shows a sample usage: The following shows a sample usage:
```json ```json
{ {
"qemuargs": [ "qemuargs": [
["-m", "1024M"], [ "-m", "1024M" ],
["--no-acpi", ""], [ "--no-acpi", "" ],
[ [
"-netdev", "-netdev",
"user,id=mynet0,", "user,id=mynet0,",
"hostfwd=hostip:hostport-guestip:guestport", "hostfwd=hostip:hostport-guestip:guestport",
"" ""
], ],
["-device", "virtio-net,netdev=mynet0"] [ "-device", "virtio-net,netdev=mynet0" ]
] ]
} }
``` ```
would produce the following (not including other defaults supplied by would produce the following (not including other defaults supplied by
the builder and not otherwise conflicting with the qemuargs): the builder and not otherwise conflicting with the qemuargs):
```text ```text
qemu-system-x86 -m 1024m --no-acpi -netdev qemu-system-x86 -m 1024m --no-acpi -netdev
user,id=mynet0,hostfwd=hostip:hostport-guestip:guestport -device user,id=mynet0,hostfwd=hostip:hostport-guestip:guestport -device
virtio-net,netdev=mynet0" virtio-net,netdev=mynet0"
``` ```
~&gt; **Windows Users:** [QEMU for Windows](https://qemu.weilnetz.de/) ~&gt; **Windows Users:** [QEMU for Windows](https://qemu.weilnetz.de/)
builds are available though an environmental variable does need to be builds are available though an environmental variable does need to be
set for QEMU for Windows to redirect stdout to the console instead of set for QEMU for Windows to redirect stdout to the console instead of
stdout.txt. stdout.txt.
The following shows the environment variable that needs to be set for The following shows the environment variable that needs to be set for
Windows QEMU support: Windows QEMU support:
```text ```text
setx SDL_STDIO_REDIRECT=0 setx SDL_STDIO_REDIRECT=0
``` ```
You can also use the `SSHHostPort` template variable to produce a packer You can also use the `SSHHostPort` template variable to produce a packer
template that can be invoked by `make` in parallel: template that can be invoked by `make` in parallel:
```json ```json
{ {
"qemuargs": [ "qemuargs": [
["-netdev", "user,hostfwd=tcp::{{ .SSHHostPort }}-:22,id=forward"], [ "-netdev", "user,hostfwd=tcp::{{ .SSHHostPort }}-:22,id=forward"],
["-device", "virtio-net,netdev=forward,id=net0"] [ "-device", "virtio-net,netdev=forward,id=net0"]
] ]
} }
``` ```
`make -j 3 my-awesome-packer-templates` spawns 3 packer processes, each `make -j 3 my-awesome-packer-templates` spawns 3 packer processes, each
of which will bind to their own SSH port as determined by each process. of which will bind to their own SSH port as determined by each process.
This will also work with WinRM, just change the port forward in This will also work with WinRM, just change the port forward in
`qemuargs` to map to WinRM's default port of `5985` or whatever value `qemuargs` to map to WinRM's default port of `5985` or whatever value
you have the service set to listen on. you have the service set to listen on.
This is a template engine and allows access to the following variables: This is a template engine and allows access to the following variables:
`{{ .HTTPIP }}`, `{{ .HTTPPort }}`, `{{ .HTTPDir }}`, `{{ .HTTPIP }}`, `{{ .HTTPPort }}`, `{{ .HTTPDir }}`,
`{{ .OutputDir }}`, `{{ .Name }}`, and `{{ .SSHHostPort }}` `{{ .OutputDir }}`, `{{ .Name }}`, and `{{ .SSHHostPort }}`
- `qemu_binary` (string) - The name of the Qemu binary to look for. This - `qemu_binary` (string) - The name of the Qemu binary to look for. This
defaults to qemu-system-x86_64, but may need to be changed for defaults to qemu-system-x86_64, but may need to be changed for
some platforms. For example qemu-kvm, or qemu-system-i386 may be a some platforms. For example qemu-kvm, or qemu-system-i386 may be a
better choice for some systems. better choice for some systems.
- `qmp_enable` (bool) - Enable QMP socket. Location is specified by `qmp_socket_path`. Defaults - `qmp_enable` (bool) - Enable QMP socket. Location is specified by `qmp_socket_path`. Defaults
to false. to false.
- `qmp_socket_path` (string) - QMP Socket Path when `qmp_enable` is true. Defaults to - `qmp_socket_path` (string) - QMP Socket Path when `qmp_enable` is true. Defaults to
`output_directory`/`vm_name`.monitor. `output_directory`/`vm_name`.monitor.
- `ssh_host_port_min` (int) - The minimum and maximum port to use for the SSH port on the host machine - `ssh_host_port_min` (int) - The minimum and maximum port to use for the SSH port on the host machine
which is forwarded to the SSH port on the guest machine. Because Packer which is forwarded to the SSH port on the guest machine. Because Packer
often runs in parallel, Packer will choose a randomly available port in often runs in parallel, Packer will choose a randomly available port in
this range to use as the host port. By default this is 2222 to 4444. this range to use as the host port. By default this is 2222 to 4444.
- `ssh_host_port_max` (int) - SSH Host Port Max - `ssh_host_port_max` (int) - SSH Host Port Max
- `use_default_display` (bool) - If true, do not pass a -display option - `use_default_display` (bool) - If true, do not pass a -display option
to qemu, allowing it to choose the default. This may be needed when running to qemu, allowing it to choose the default. This may be needed when running
under macOS, and getting errors about sdl not being available. under macOS, and getting errors about sdl not being available.
- `display` (string) - What QEMU -display option to use. Defaults to gtk, use none to not pass the - `display` (string) - What QEMU -display option to use. Defaults to gtk, use none to not pass the
-display option allowing QEMU to choose the default. This may be needed when -display option allowing QEMU to choose the default. This may be needed when
running under macOS, and getting errors about sdl not being available. running under macOS, and getting errors about sdl not being available.
- `vnc_bind_address` (string) - The IP address that should be - `vnc_bind_address` (string) - The IP address that should be
binded to for VNC. By default packer will use 127.0.0.1 for this. If you binded to for VNC. By default packer will use 127.0.0.1 for this. If you
wish to bind to all interfaces use 0.0.0.0. wish to bind to all interfaces use 0.0.0.0.
- `vnc_use_password` (bool) - Whether or not to set a password on the VNC server. This option - `vnc_use_password` (bool) - Whether or not to set a password on the VNC server. This option
automatically enables the QMP socket. See `qmp_socket_path`. Defaults to automatically enables the QMP socket. See `qmp_socket_path`. Defaults to
`false`. `false`.
- `vnc_port_min` (int) - The minimum and maximum port - `vnc_port_min` (int) - The minimum and maximum port
to use for VNC access to the virtual machine. The builder uses VNC to type to use for VNC access to the virtual machine. The builder uses VNC to type
the initial boot_command. Because Packer generally runs in parallel, the initial boot_command. Because Packer generally runs in parallel,
Packer uses a randomly chosen port in this range that appears available. By Packer uses a randomly chosen port in this range that appears available. By
default this is 5900 to 6000. The minimum and maximum ports are inclusive. default this is 5900 to 6000. The minimum and maximum ports are inclusive.
- `vnc_port_max` (int) - VNC Port Max
- `vm_name` (string) - This is the name of the image (QCOW2 or IMG) file for
the new virtual machine. By default this is packer-BUILDNAME, where
"BUILDNAME" is the name of the build. Currently, no file extension will be
used unless it is specified in this option.
- `vnc_port_max` (int) - VNC Port Max
- `vm_name` (string) - This is the name of the image (QCOW2 or IMG) file for
the new virtual machine. By default this is packer-BUILDNAME, where
"BUILDNAME" is the name of the build. Currently, no file extension will be
used unless it is specified in this option.

View File

@ -1,18 +1,18 @@
<!-- Code generated from the comments of the Config struct in builder/scaleway/config.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the Config struct in builder/scaleway/config.go; DO NOT EDIT MANUALLY -->
- `snapshot_name` (string) - The name of the resulting snapshot that will - `snapshot_name` (string) - The name of the resulting snapshot that will
appear in your account. Default packer-TIMESTAMP appear in your account. Default packer-TIMESTAMP
- `image_name` (string) - The name of the resulting image that will appear in - `image_name` (string) - The name of the resulting image that will appear in
your account. Default packer-TIMESTAMP your account. Default packer-TIMESTAMP
- `server_name` (string) - The name assigned to the server. Default - `server_name` (string) - The name assigned to the server. Default
packer-UUID packer-UUID
- `bootscript` (string) - The id of an existing bootscript to use when - `bootscript` (string) - The id of an existing bootscript to use when
booting the server. booting the server.
- `boottype` (string) - The type of boot, can be either local or - `boottype` (string) - The type of boot, can be either local or
bootscript, Default bootscript bootscript, Default bootscript
- `remove_volume` (bool) - Remove Volume - `remove_volume` (bool) - Remove Volume

View File

@ -1,28 +1,29 @@
<!-- Code generated from the comments of the Config struct in builder/scaleway/config.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the Config struct in builder/scaleway/config.go; DO NOT EDIT MANUALLY -->
- `api_token` (string) - The token to use to authenticate with your account. - `api_token` (string) - The token to use to authenticate with your account.
It can also be specified via environment variable SCALEWAY_API_TOKEN. You It can also be specified via environment variable SCALEWAY_API_TOKEN. You
can see and generate tokens in the "Credentials" can see and generate tokens in the "Credentials"
section of the control panel. section of the control panel.
- `organization_id` (string) - The organization id to use to identify your - `organization_id` (string) - The organization id to use to identify your
organization. It can also be specified via environment variable organization. It can also be specified via environment variable
SCALEWAY_ORGANIZATION. Your organization id is available in the SCALEWAY_ORGANIZATION. Your organization id is available in the
"Account" section of the "Account" section of the
control panel. control panel.
Previously named: api_access_key with environment variable: SCALEWAY_API_ACCESS_KEY Previously named: api_access_key with environment variable: SCALEWAY_API_ACCESS_KEY
- `region` (string) - The name of the region to launch the server in (par1 - `region` (string) - The name of the region to launch the server in (par1
or ams1). Consequently, this is the region where the snapshot will be or ams1). Consequently, this is the region where the snapshot will be
available. available.
- `image` (string) - The UUID of the base image to use. This is the image - `image` (string) - The UUID of the base image to use. This is the image
that will be used to launch a new server and provision it. See that will be used to launch a new server and provision it. See
the images list the images list
get the complete list of the accepted image UUID. get the complete list of the accepted image UUID.
- `commercial_type` (string) - The name of the server commercial type:
ARM64-128GB, ARM64-16GB, ARM64-2GB, ARM64-32GB, ARM64-4GB,
ARM64-64GB, ARM64-8GB, C1, C2L, C2M, C2S, START1-L,
START1-M, START1-S, START1-XS, X64-120GB, X64-15GB, X64-30GB,
X64-60GB
- `commercial_type` (string) - The name of the server commercial type:
ARM64-128GB, ARM64-16GB, ARM64-2GB, ARM64-32GB, ARM64-4GB,
ARM64-64GB, ARM64-8GB, C1, C2L, C2M, C2S, START1-L,
START1-M, START1-S, START1-XS, X64-120GB, X64-15GB, X64-30GB,
X64-60GB

View File

@ -1,3 +1,4 @@
<!-- Code generated from the comments of the TencentCloudAccessConfig struct in builder/tencentcloud/cvm/access_config.go; DO NOT EDIT MANUALLY --> <!-- Code generated from the comments of the TencentCloudAccessConfig struct in builder/tencentcloud/cvm/access_config.go; DO NOT EDIT MANUALLY -->
- `skip_region_validation` (bool) - Do not check region and zone when validate. - `skip_region_validation` (bool) - Do not check region and zone when validate.

Some files were not shown because too many files have changed in this diff Show More