From 6798b7330549cc58c4a877f93c99cce7b57add2d Mon Sep 17 00:00:00 2001 From: Jeff Escalante Date: Thu, 2 Apr 2020 11:57:46 -0400 Subject: [PATCH] revert prettier formatting on generated partials --- .../ecs/AlicloudAccessConfig-not-required.mdx | 47 +- .../alicloud/ecs/AlicloudAccessConfig.mdx | 1 - .../ecs/AlicloudDiskDevice-not-required.mdx | 70 +- .../ecs/AlicloudDiskDevices-not-required.mdx | 153 ++--- .../ecs/AlicloudImageConfig-not-required.mdx | 111 ++-- .../ecs/AlicloudImageConfig-required.mdx | 9 +- .../alicloud/ecs/RunConfig-not-required.mdx | 185 +++--- .../alicloud/ecs/RunConfig-required.mdx | 19 +- .../amazon/chroot/Config-not-required.mdx | 263 ++++---- .../builder/amazon/chroot/Config-required.mdx | 9 +- .../partials/builder/amazon/chroot/Config.mdx | 1 - .../amazon/common/AMIConfig-not-required.mdx | 234 +++---- .../amazon/common/AMIConfig-required.mdx | 9 +- .../builder/amazon/common/AMIConfig.mdx | 1 - .../common/AccessConfig-not-required.mdx | 136 ++-- .../amazon/common/AccessConfig-required.mdx | 24 +- .../common/AmiFilterOptions-not-required.mdx | 2 +- .../common/BlockDevice-not-required.mdx | 81 +-- .../builder/amazon/common/BlockDevice.mdx | 13 +- .../amazon/common/RunConfig-not-required.mdx | 621 +++++++++--------- .../amazon/common/RunConfig-required.mdx | 15 +- .../SubnetFilterOptions-not-required.mdx | 4 +- .../VaultAWSEngineOptions-not-required.mdx | 26 +- .../amazon/ebs/Config-not-required.mdx | 63 +- .../ebssurrogate/BlockDevice-not-required.mdx | 11 +- .../ebssurrogate/Config-not-required.mdx | 49 +- .../amazon/ebssurrogate/Config-required.mdx | 15 +- .../RootBlockDevice-not-required.mdx | 47 +- .../ebsvolume/BlockDevice-not-required.mdx | 17 +- .../amazon/ebsvolume/Config-not-required.mdx | 83 +-- .../amazon/instance/Config-not-required.mdx | 73 +- .../amazon/instance/Config-required.mdx | 27 +- .../builder/amazon/instance/Config.mdx | 1 - .../builder/azure/arm/Config-not-required.mdx | 471 ++++++------- .../builder/azure/arm/Config-required.mdx | 71 +- .../arm/PlanInformation-not-required.mdx | 8 +- .../arm/SharedImageGallery-not-required.mdx | 19 +- ...edImageGalleryDestination-not-required.mdx | 10 +- .../azure/chroot/Config-not-required.mdx | 95 +-- .../builder/azure/chroot/Config-required.mdx | 7 +- .../partials/builder/azure/chroot/Config.mdx | 1 - .../common/client/Config-not-required.mdx | 47 +- .../builder/azure/common/client/Config.mdx | 1 - .../cloudstack/Config-not-required.mdx | 212 +++--- .../builder/cloudstack/Config-required.mdx | 61 +- .../partials/builder/cloudstack/Config.mdx | 1 - .../digitalocean/Config-not-required.mdx | 86 +-- .../builder/digitalocean/Config-required.mdx | 37 +- .../docker/AwsAccessConfig-not-required.mdx | 33 +- .../builder/docker/Config-not-required.mdx | 117 ++-- .../builder/docker/Config-required.mdx | 25 +- .../googlecompute/Config-not-required.mdx | 274 ++++---- .../builder/googlecompute/Config-required.mdx | 27 +- .../partials/builder/googlecompute/Config.mdx | 1 - .../builder/hyperone/Config-not-required.mdx | 159 ++--- .../builder/hyperone/Config-required.mdx | 27 +- .../common/CommonConfig-not-required.mdx | 251 ++++--- .../common/OutputConfig-not-required.mdx | 15 +- .../partials/builder/hyperv/iso/Builder.mdx | 1 - .../hyperv/iso/Config-not-required.mdx | 41 +- .../partials/builder/hyperv/vmcx/Builder.mdx | 1 - .../hyperv/vmcx/Config-not-required.mdx | 43 +- .../builder/lxc/Config-not-required.mdx | 77 +-- .../partials/builder/lxc/Config-required.mdx | 13 +- .../builder/lxd/Config-not-required.mdx | 41 +- .../partials/builder/lxd/Config-required.mdx | 7 +- .../builder/ncloud/Config-not-required.mdx | 59 +- .../builder/ncloud/Config-required.mdx | 9 +- .../pages/partials/builder/ncloud/Config.mdx | 1 - .../openstack/AccessConfig-not-required.mdx | 105 +-- .../openstack/AccessConfig-required.mdx | 27 +- .../builder/openstack/AccessConfig.mdx | 1 - .../openstack/ImageConfig-not-required.mdx | 29 +- .../openstack/ImageConfig-required.mdx | 3 +- .../builder/openstack/ImageConfig.mdx | 1 - .../openstack/ImageFilter-not-required.mdx | 13 +- .../ImageFilterOptions-not-required.mdx | 10 +- .../openstack/RunConfig-not-required.mdx | 183 +++--- .../builder/openstack/RunConfig-required.mdx | 95 +-- .../partials/builder/openstack/RunConfig.mdx | 1 - .../common/HWConfig-not-required.mdx | 23 +- .../common/OutputConfig-not-required.mdx | 13 +- .../builder/parallels/common/OutputConfig.mdx | 1 - .../common/PrlctlConfig-not-required.mdx | 21 +- .../builder/parallels/common/PrlctlConfig.mdx | 1 - .../common/PrlctlPostConfig-not-required.mdx | 7 +- .../parallels/common/PrlctlPostConfig.mdx | 1 - .../PrlctlVersionConfig-not-required.mdx | 11 +- .../parallels/common/PrlctlVersionConfig.mdx | 1 - .../common/ToolsConfig-not-required.mdx | 29 +- .../parallels/common/ToolsConfig-required.mdx | 9 +- .../builder/parallels/common/ToolsConfig.mdx | 1 - .../parallels/iso/Config-not-required.mdx | 75 +-- .../parallels/pvm/Config-not-required.mdx | 27 +- .../builder/parallels/pvm/Config-required.mdx | 5 +- .../partials/builder/parallels/pvm/Config.mdx | 1 - .../builder/qemu/Config-not-required.mdx | 469 ++++++------- .../builder/scaleway/Config-not-required.mdx | 32 +- .../builder/scaleway/Config-required.mdx | 53 +- .../TencentCloudAccessConfig-not-required.mdx | 3 +- .../cvm/TencentCloudAccessConfig-required.mdx | 27 +- .../TencentCloudImageConfig-not-required.mdx | 37 +- .../cvm/TencentCloudImageConfig-required.mdx | 7 +- .../TencentCloudRunConfig-not-required.mdx | 123 ++-- .../cvm/TencentCloudRunConfig-required.mdx | 13 +- .../cvm/tencentCloudDataDisk-not-required.mdx | 6 +- .../triton/AccessConfig-not-required.mdx | 35 +- .../builder/triton/AccessConfig-required.mdx | 15 +- .../partials/builder/triton/AccessConfig.mdx | 1 - .../MachineImageFilter-not-required.mdx | 2 +- .../SourceMachineConfig-not-required.mdx | 81 +-- .../triton/SourceMachineConfig-required.mdx | 33 +- .../builder/triton/SourceMachineConfig.mdx | 1 - .../triton/TargetImageConfig-not-required.mdx | 39 +- .../triton/TargetImageConfig-required.mdx | 19 +- .../builder/triton/TargetImageConfig.mdx | 1 - .../partials/builder/vagrant/Builder.mdx | 1 - .../builder/vagrant/Config-not-required.mdx | 142 ++-- .../builder/vagrant/Config-required.mdx | 29 +- .../common/CommConfig-not-required.mdx | 23 +- .../common/ExportConfig-not-required.mdx | 88 ++- .../GuestAdditionsConfig-not-required.mdx | 17 +- .../common/HWConfig-not-required.mdx | 25 +- .../common/OutputConfig-not-required.mdx | 13 +- .../common/RunConfig-not-required.mdx | 31 +- .../common/ShutdownConfig-not-required.mdx | 55 +- .../common/VBoxBundleConfig-not-required.mdx | 9 +- .../common/VBoxManageConfig-not-required.mdx | 29 +- .../common/VBoxVersionConfig-not-required.mdx | 15 +- .../virtualbox/iso/Config-not-required.mdx | 175 ++--- .../virtualbox/ovf/Config-not-required.mdx | 121 ++-- .../virtualbox/ovf/Config-required.mdx | 19 +- .../builder/virtualbox/ovf/Config.mdx | 1 - .../common/DriverConfig-not-required.mdx | 71 +- .../common/ExportConfig-not-required.mdx | 73 +- .../vmware/common/HWConfig-not-required.mdx | 171 ++--- .../common/OutputConfig-not-required.mdx | 13 +- .../builder/vmware/common/ParallelUnion.mdx | 3 +- .../vmware/common/RunConfig-not-required.mdx | 45 +- .../vmware/common/SerialConfigPipe.mdx | 3 +- .../common/ToolsConfig-not-required.mdx | 21 +- .../vmware/common/VMXConfig-not-required.mdx | 41 +- .../vmware/iso/Config-not-required.mdx | 163 ++--- .../vmware/vmx/Config-not-required.mdx | 35 +- .../builder/vmware/vmx/Config-required.mdx | 5 +- .../partials/builder/vmware/vmx/Config.mdx | 1 - .../clone/CloneConfig-not-required.mdx | 19 +- .../vsphere/clone/Config-not-required.mdx | 9 +- .../ConfigParamsConfig-not-required.mdx | 3 +- .../common/ConnectConfig-not-required.mdx | 19 +- .../common/HardwareConfig-not-required.mdx | 45 +- .../common/LocationConfig-not-required.mdx | 33 +- .../vsphere/common/RunConfig-not-required.mdx | 3 +- .../common/ShutdownConfig-not-required.mdx | 11 +- .../common/WaitIpConfig-not-required.mdx | 23 +- .../vsphere/iso/CDRomConfig-not-required.mdx | 9 +- .../vsphere/iso/Config-not-required.mdx | 9 +- .../vsphere/iso/CreateConfig-not-required.mdx | 61 +- .../vsphere/iso/DiskConfig-not-required.mdx | 7 +- .../vsphere/iso/DiskConfig-required.mdx | 3 +- .../vsphere/iso/FloppyConfig-not-required.mdx | 15 +- .../builder/vsphere/iso/NIC-not-required.mdx | 11 +- .../builder/vsphere/iso/NIC-required.mdx | 3 +- .../iso/RemoveCDRomConfig-not-required.mdx | 3 +- .../builder/yandex/Config-not-required.mdx | 155 ++--- .../builder/yandex/Config-required.mdx | 19 +- .../common/FloppyConfig-not-required.mdx | 28 +- .../pages/partials/common/FloppyConfig.mdx | 1 - .../common/HTTPConfig-not-required.mdx | 30 +- website/pages/partials/common/HTTPConfig.mdx | 3 +- .../common/ISOConfig-not-required.mdx | 51 +- .../partials/common/ISOConfig-required.mdx | 21 +- website/pages/partials/common/ISOConfig.mdx | 11 +- .../bootcommand/BootConfig-not-required.mdx | 35 +- .../common/bootcommand/BootConfig.mdx | 74 +-- .../bootcommand/VNCConfig-not-required.mdx | 9 +- .../partials/common/bootcommand/VNCConfig.mdx | 1 - .../ShutdownConfig-not-required.mdx | 27 +- .../communicator/Config-not-required.mdx | 67 +- .../partials/helper/communicator/Config.mdx | 1 - .../helper/communicator/SSH-not-required.mdx | 182 ++--- .../SSHInterface-not-required.mdx | 33 +- .../communicator/WinRM-not-required.mdx | 53 +- 183 files changed, 4539 insertions(+), 4446 deletions(-) diff --git a/website/pages/partials/builder/alicloud/ecs/AlicloudAccessConfig-not-required.mdx b/website/pages/partials/builder/alicloud/ecs/AlicloudAccessConfig-not-required.mdx index 41a9aa722..6127059b2 100644 --- a/website/pages/partials/builder/alicloud/ecs/AlicloudAccessConfig-not-required.mdx +++ b/website/pages/partials/builder/alicloud/ecs/AlicloudAccessConfig-not-required.mdx @@ -1,25 +1,26 @@ -- `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. - -- `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. - -- `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. - -- `skip_region_validation` (bool) - The region validation can be skipped if this value is true, the default - value is false. - -- `skip_image_validation` (bool) - The image validation can be skipped if this value is true, the default - value is false. - -- `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. - -- `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. - -- `security_token` (string) - STS access token, can be set through template or by exporting as - environment variable such as `export SECURITY_TOKEN=value`. +- `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. + +- `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. + +- `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. + +- `skip_region_validation` (bool) - The region validation can be skipped if this value is true, the default + value is false. + +- `skip_image_validation` (bool) - The image validation can be skipped if this value is true, the default + value is false. + +- `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. + +- `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. + +- `security_token` (string) - STS access token, can be set through template or by exporting as + environment variable such as `export SECURITY_TOKEN=value`. + \ No newline at end of file diff --git a/website/pages/partials/builder/alicloud/ecs/AlicloudAccessConfig.mdx b/website/pages/partials/builder/alicloud/ecs/AlicloudAccessConfig.mdx index 687425869..5898c5f0e 100644 --- a/website/pages/partials/builder/alicloud/ecs/AlicloudAccessConfig.mdx +++ b/website/pages/partials/builder/alicloud/ecs/AlicloudAccessConfig.mdx @@ -1,3 +1,2 @@ - Config of alicloud diff --git a/website/pages/partials/builder/alicloud/ecs/AlicloudDiskDevice-not-required.mdx b/website/pages/partials/builder/alicloud/ecs/AlicloudDiskDevice-not-required.mdx index ddebe9349..d3642ec7c 100644 --- a/website/pages/partials/builder/alicloud/ecs/AlicloudDiskDevice-not-required.mdx +++ b/website/pages/partials/builder/alicloud/ecs/AlicloudDiskDevice-not-required.mdx @@ -1,35 +1,39 @@ -- `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_category` (string) - Category of the system disk. Optional values - 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 - range: [20, 500]. The specified value must be equal to or greater - than max{20, ImageSize}. Default value: max{40, ImageSize}. - -- `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. - -- `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_delete_with_instance` (bool) - Whether or not the disk is - released along with the instance: - -- `disk_device` (string) - Device information of the related instance: - 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_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_category` (string) - Category of the system disk. Optional values + 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 + range: [20, 500]. The specified value must be equal to or greater + than max{20, ImageSize}. Default value: max{40, ImageSize}. + +- `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. + +- `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_delete_with_instance` (bool) - Whether or not the disk is + released along with the instance: + +- `disk_device` (string) - Device information of the related instance: + 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. + \ No newline at end of file diff --git a/website/pages/partials/builder/alicloud/ecs/AlicloudDiskDevices-not-required.mdx b/website/pages/partials/builder/alicloud/ecs/AlicloudDiskDevices-not-required.mdx index 5289cba08..6f551478e 100644 --- a/website/pages/partials/builder/alicloud/ecs/AlicloudDiskDevices-not-required.mdx +++ b/website/pages/partials/builder/alicloud/ecs/AlicloudDiskDevices-not-required.mdx @@ -1,79 +1,80 @@ -- `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 +- `system_disk_mapping` (AlicloudDiskDevice) - Image disk mapping for system 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_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. + \ No newline at end of file diff --git a/website/pages/partials/builder/alicloud/ecs/AlicloudImageConfig-not-required.mdx b/website/pages/partials/builder/alicloud/ecs/AlicloudImageConfig-not-required.mdx index 0db265757..4e20d3a0a 100644 --- a/website/pages/partials/builder/alicloud/ecs/AlicloudImageConfig-not-required.mdx +++ b/website/pages/partials/builder/alicloud/ecs/AlicloudImageConfig-not-required.mdx @@ -1,57 +1,58 @@ -- `image_version` (string) - The version number of the image, with a length - limit of 1 to 40 English characters. - -- `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 - default value. It cannot begin with `http://` or `https://`. - -- `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. - If number of accounts is greater than 10, this parameter is ignored. - -- `image_unshare_account` ([]string) - Alicloud Image UN Share Accounts -- `image_copy_regions` ([]string) - Copy to the destination regionIds. - -- `image_copy_names` ([]string) - The name of the destination image, - [2, 128] English or Chinese characters. It must begin with an - uppercase/lowercase letter or a Chinese character, and may contain numbers, - \_ 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 - 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 - same region. By default, Packer will keep the encryption setting to what - it was in the source image. - -- `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 - images and then create the target images, otherwise, the creation will - fail. The default value is false. Check `image_name` and - `image_copy_names` options for names of target images. If - [-force](/docs/commands/build#force) option is - provided in `build` command, this option can be omitted and taken as - true. - -- `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 - [-force](/docs/commands/build#force) option is - provided in `build` command, this option can be omitted and taken as - true. - -- `image_force_delete_instances` (bool) - Alicloud Image Force Delete Instances -- `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 - useful for any circumstance that default data disks with instance types are - not concerned. The default value is false. - -- `skip_region_validation` (bool) - The region validation can be skipped - if this value is true, the default value is false. - -- `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. +- `image_version` (string) - The version number of the image, with a length + limit of 1 to 40 English characters. + +- `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 + default value. It cannot begin with `http://` or `https://`. + +- `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. + If number of accounts is greater than 10, this parameter is ignored. + +- `image_unshare_account` ([]string) - Alicloud Image UN Share Accounts +- `image_copy_regions` ([]string) - Copy to the destination regionIds. + +- `image_copy_names` ([]string) - The name of the destination image, + [2, 128] English or Chinese characters. It must begin with an + uppercase/lowercase letter or a Chinese character, and may contain numbers, + _ 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 + 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 + same region. By default, Packer will keep the encryption setting to what + it was in the source image. + +- `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 + images and then create the target images, otherwise, the creation will + fail. The default value is false. Check `image_name` and + `image_copy_names` options for names of target images. If + [-force](/docs/commands/build#force) option is + provided in `build` command, this option can be omitted and taken as + true. + +- `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 + [-force](/docs/commands/build#force) option is + provided in `build` command, this option can be omitted and taken as + true. + +- `image_force_delete_instances` (bool) - Alicloud Image Force Delete Instances +- `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 + useful for any circumstance that default data disks with instance types are + not concerned. The default value is false. + +- `skip_region_validation` (bool) - The region validation can be skipped + if this value is true, the default value is false. + +- `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. + \ No newline at end of file diff --git a/website/pages/partials/builder/alicloud/ecs/AlicloudImageConfig-required.mdx b/website/pages/partials/builder/alicloud/ecs/AlicloudImageConfig-required.mdx index e153f3da3..15f5e260f 100644 --- a/website/pages/partials/builder/alicloud/ecs/AlicloudImageConfig-required.mdx +++ b/website/pages/partials/builder/alicloud/ecs/AlicloudImageConfig-required.mdx @@ -1,6 +1,7 @@ -- `image_name` (string) - The name of the user-defined image, [2, 128] - English or Chinese characters. It must begin with an uppercase/lowercase - letter or a Chinese character, and may contain numbers, \_ or -. It - cannot begin with `http://` or `https://`. +- `image_name` (string) - The name of the user-defined image, [2, 128] + English or Chinese characters. It must begin with an uppercase/lowercase + letter or a Chinese character, and may contain numbers, _ or -. It + cannot begin with `http://` or `https://`. + \ No newline at end of file diff --git a/website/pages/partials/builder/alicloud/ecs/RunConfig-not-required.mdx b/website/pages/partials/builder/alicloud/ecs/RunConfig-not-required.mdx index 8ad740191..d24bf12d8 100644 --- a/website/pages/partials/builder/alicloud/ecs/RunConfig-not-required.mdx +++ b/website/pages/partials/builder/alicloud/ecs/RunConfig-not-required.mdx @@ -1,95 +1,94 @@ -- `associate_public_ip_address` (bool) - Associate Public Ip Address -- `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 - provided, the value will be determined by product API according to what - `instance_type` is used. - -- `description` (string) - Description -- `force_stop_instance` (bool) - Whether to force shutdown upon device - restart. The default value is `false`. - - 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. - -- `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 be stopped in the final provisioner command. Otherwise, Packer will - 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. - E.g., Sysprep a windows which may shutdown the instance within its command. - The default value is false. - -- `security_group_id` (string) - ID of the security group to which a newly - created instance belongs. Mutual access is allowed between instances in one - security group. If not specified, the newly created instance will be added - to the default security group. If the default group doesn’t exist, or the - number of instances in it has reached the maximum limit, a new security - group will be created automatically. - -- `security_group_name` (string) - The security group name. The default value - is blank. [2, 128] English or Chinese characters, must begin with an - uppercase/lowercase letter or Chinese character. Can contain numbers, ., - \_ or -. It cannot begin with `http://` or `https://`. - -- `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_id` (string) - VPC ID allocated by the system. - -- `vpc_name` (string) - The VPC name. The default value is blank. [2, 128] - English or Chinese characters, must begin with an uppercase/lowercase - letter or Chinese character. Can contain numbers, \_ and -. The disk - description will appear on the console. Cannot begin with `http://` or - `https://`. - -- `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. - -- `vswitch_id` (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 - English characters. It must begin with an uppercase/lowercase letter or - a Chinese character and can contain numerals, `.`, `_`, or `-`. The - instance name is displayed on the Alibaba Cloud console. If this - parameter is not specified, the default value is InstanceId of the - instance. It cannot begin with `http://` or `https://`. - -- `internet_charge_type` (string) - Internet charge type, which can be - `PayByTraffic` or `PayByBandwidth`. Optional values: - - - `PayByBandwidth` - - `PayByTraffic` - - If this parameter is not specified, the default value is `PayByBandwidth`. - For the regions out of China, currently only support `PayByTraffic`, you - must set it manfully. - -- `internet_max_bandwidth_out` (int) - Maximum outgoing bandwidth to the - public network, measured in Mbps (Mega bits per second). - - Value range: - - - `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. - -- `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. +- `associate_public_ip_address` (bool) - Associate Public Ip Address +- `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 + provided, the value will be determined by product API according to what + `instance_type` is used. + +- `description` (string) - Description +- `force_stop_instance` (bool) - Whether to force shutdown upon device + restart. The default value is `false`. + + 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. + +- `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 be stopped in the final provisioner command. Otherwise, Packer will + 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. + E.g., Sysprep a windows which may shutdown the instance within its command. + The default value is false. + +- `security_group_id` (string) - ID of the security group to which a newly + created instance belongs. Mutual access is allowed between instances in one + security group. If not specified, the newly created instance will be added + to the default security group. If the default group doesn’t exist, or the + number of instances in it has reached the maximum limit, a new security + group will be created automatically. + +- `security_group_name` (string) - The security group name. The default value + is blank. [2, 128] English or Chinese characters, must begin with an + uppercase/lowercase letter or Chinese character. Can contain numbers, ., + _ or -. It cannot begin with `http://` or `https://`. + +- `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_id` (string) - VPC ID allocated by the system. + +- `vpc_name` (string) - The VPC name. The default value is blank. [2, 128] + English or Chinese characters, must begin with an uppercase/lowercase + letter or Chinese character. Can contain numbers, _ and -. The disk + description will appear on the console. Cannot begin with `http://` or + `https://`. + +- `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. + +- `vswitch_id` (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 + English characters. It must begin with an uppercase/lowercase letter or + a Chinese character and can contain numerals, `.`, `_`, or `-`. The + instance name is displayed on the Alibaba Cloud console. If this + parameter is not specified, the default value is InstanceId of the + instance. It cannot begin with `http://` or `https://`. + +- `internet_charge_type` (string) - Internet charge type, which can be + `PayByTraffic` or `PayByBandwidth`. Optional values: + - `PayByBandwidth` + - `PayByTraffic` + + If this parameter is not specified, the default value is `PayByBandwidth`. + For the regions out of China, currently only support `PayByTraffic`, you + must set it manfully. + +- `internet_max_bandwidth_out` (int) - Maximum outgoing bandwidth to the + public network, measured in Mbps (Mega bits per second). + + Value range: + - `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. + +- `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. + \ No newline at end of file diff --git a/website/pages/partials/builder/alicloud/ecs/RunConfig-required.mdx b/website/pages/partials/builder/alicloud/ecs/RunConfig-required.mdx index 8ecb59861..e32755b4f 100644 --- a/website/pages/partials/builder/alicloud/ecs/RunConfig-required.mdx +++ b/website/pages/partials/builder/alicloud/ecs/RunConfig-required.mdx @@ -1,11 +1,12 @@ -- `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). - You can also obtain the latest instance type table by invoking the - [Querying Instance Type - Table](https://intl.aliyun.com/help/doc-detail/25620.htm?spm=a3c0i.o25499en.a3.6.Dr1bik) - interface. - -- `source_image` (string) - This is the base image id which you want to - create your customized images. +- `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). + You can also obtain the latest instance type table by invoking the + [Querying Instance Type + Table](https://intl.aliyun.com/help/doc-detail/25620.htm?spm=a3c0i.o25499en.a3.6.Dr1bik) + interface. + +- `source_image` (string) - This is the base image id which you want to + create your customized images. + \ No newline at end of file diff --git a/website/pages/partials/builder/amazon/chroot/Config-not-required.mdx b/website/pages/partials/builder/amazon/chroot/Config-not-required.mdx index 1fe314946..1fa5aa4f1 100644 --- a/website/pages/partials/builder/amazon/chroot/Config-not-required.mdx +++ b/website/pages/partials/builder/amazon/chroot/Config-not-required.mdx @@ -1,134 +1,135 @@ -- `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) - 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 - will be overwritten. This means you must have a block device mapping - entry for your root volume, `root_volume_size` and `root_device_name`. - See the [BlockDevices](#block-devices-configuration) documentation for - fields. - -- `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. Please read that section for more - information on how to use this. - -- `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 - 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}}`. - -- `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 - 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. - -- `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 - find an open device automatically. - -- `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. - When this option is not set, device in that command will be something - like /dev/sdf1, mirroring the attached device name. This assumption - 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 - manually set nvme_device_path and device_path. - -- `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 - longer used and the following options become required: - ami_virtualization_type, pre_mount_commands and root_volume_size. - -- `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, 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, (for example, xvda1) but you can - designate the entire block device by setting "mount_partition": "0" in - your config, which will mount xvda instead. - -- `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 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 extra mount and copy steps. The device and - mount path are provided by `{{.Device}}` and `{{.MountPath}}`. - -- `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 and filesystem - creation commands. The path to the device is provided by `{{.Device}}`. - -- `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 - 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. - -- `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 - 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. - -- `source_ami_filter` (awscommon.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 +- `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) + 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 + will be overwritten. This means you must have a block device mapping + entry for your root volume, `root_volume_size` and `root_device_name`. + See the [BlockDevices](#block-devices-configuration) documentation for + fields. + +- `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. Please read that section for more + information on how to use this. + +- `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 + 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}}`. + +- `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 + 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. + +- `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 + find an open device automatically. + +- `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. + When this option is not set, device in that command will be something + like /dev/sdf1, mirroring the attached device name. This assumption + 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 + manually set nvme_device_path and device_path. + +- `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 + longer used and the following options become required: + ami_virtualization_type, pre_mount_commands and root_volume_size. + +- `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, 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, (for example, xvda1) but you can + designate the entire block device by setting "mount_partition": "0" in + your config, which will mount xvda instead. + +- `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 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 extra mount and copy steps. The device and + mount path are provided by `{{.Device}}` and `{{.MountPath}}`. + +- `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 and filesystem + creation commands. The path to the device is provided by `{{.Device}}`. + +- `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 + 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. + +- `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 + 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. + +- `source_ami_filter` (awscommon.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. - -- `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 - 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 - singular 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. - -- `ami_architecture` (string) - what architecture to use when registering the final AMI; valid options - are "x86_64" or "arm64". Defaults to "x86_64". + ``` + + 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. + +- `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 + 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 + singular 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. + +- `ami_architecture` (string) - what architecture to use when registering the final AMI; valid options + are "x86_64" or "arm64". Defaults to "x86_64". + \ No newline at end of file diff --git a/website/pages/partials/builder/amazon/chroot/Config-required.mdx b/website/pages/partials/builder/amazon/chroot/Config-required.mdx index b0827d61f..68243a7d3 100644 --- a/website/pages/partials/builder/amazon/chroot/Config-required.mdx +++ b/website/pages/partials/builder/amazon/chroot/Config-required.mdx @@ -1,6 +1,7 @@ -- `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. + \ No newline at end of file diff --git a/website/pages/partials/builder/amazon/chroot/Config.mdx b/website/pages/partials/builder/amazon/chroot/Config.mdx index 7de2e8261..3edb22fee 100644 --- a/website/pages/partials/builder/amazon/chroot/Config.mdx +++ b/website/pages/partials/builder/amazon/chroot/Config.mdx @@ -1,4 +1,3 @@ - Config is the configuration that is chained through the steps and settable from the template. diff --git a/website/pages/partials/builder/amazon/common/AMIConfig-not-required.mdx b/website/pages/partials/builder/amazon/common/AMIConfig-not-required.mdx index 65fecae4e..7bd137500 100644 --- a/website/pages/partials/builder/amazon/common/AMIConfig-not-required.mdx +++ b/website/pages/partials/builder/amazon/common/AMIConfig-not-required.mdx @@ -1,118 +1,120 @@ -- `ami_description` (string) - The description to set for the resulting - AMI(s). By default this description is empty. This is a - [template engine](/docs/templates/engine), see [Build template - data](#build-template-data) for more information. - -- `ami_virtualization_type` (string) - The type of virtualization for the AMI - you are building. This option is required to register HVM images. Can be - paravirtual (default) or hvm. - -- `ami_users` ([]string) - A list of account IDs that have access to - launch the resulting AMI(s). By default no additional users other than the - user creating the AMI has permissions to launch it. - -- `ami_groups` ([]string) - A list of groups that have access to - launch the resulting AMI(s). By default no groups have permission to launch - the AMI. all will make the AMI publicly accessible. - -- `ami_product_codes` ([]string) - A list of product codes to - associate with the AMI. By default no product codes are associated with the - AMI. - -- `ami_regions` ([]string) - A list of regions to copy the AMI to. - Tags and attributes are copied along with the AMI. AMI copying takes time - depending on the size of the AMI, but will generally take many minutes. - -- `skip_region_validation` (bool) - Set to true if you want to skip - validation of the ami_regions configuration option. Default false. - -- `tags` (map[string]string) - Tags applied to the AMI. This is a - [template engine](/docs/templates/engine), see [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. - -- `ena_support` (boolean) - Enable enhanced networking (ENA but not SriovNetSupport) on - HVM-compatible AMIs. If set, add `ec2:ModifyInstanceAttribute` to your - AWS IAM policy. - - Note: you must make sure enhanced networking is enabled on your - instance. See [Amazon's documentation on enabling enhanced - networking](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html#enabling_enhanced_networking). - -- `sriov_support` (bool) - Enable enhanced networking (SriovNetSupport but not ENA) on - HVM-compatible AMIs. If true, add `ec2:ModifyInstanceAttribute` to your - AWS IAM policy. Note: you must make sure enhanced networking is enabled - on your instance. See [Amazon's documentation on enabling enhanced - networking](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html#enabling_enhanced_networking). - Default `false`. - -- `force_deregister` (bool) - Force Packer to first deregister an existing - AMI if one with the same name already exists. Default false. - -- `force_delete_snapshot` (bool) - Force Packer to delete snapshots - associated with AMIs, which have been deregistered by force_deregister. - Default false. - -- `encrypt_boot` (boolean) - Whether or not to encrypt the resulting AMI when - copying a provisioned instance to an AMI. By default, Packer will keep the - encryption setting to what it was in the source image. Setting false will - result in an unencrypted image, and true will result in an encrypted one. - If you have used the `launch_block_device_mappings` to set an encryption - key and that key is the same as the one you want the image encrypted with - at the end, then you don't need to set this field; leaving it empty will - prevent an unnecessary extra copy step and save you some time. - -- `kms_key_id` (string) - ID, alias or ARN of the KMS key to use for boot volume encryption. This - only applies to the main `region`, other regions where the AMI will be - copied will be encrypted by the default EBS KMS key. For valid formats - see _KmsKeyId_ in the [AWS API docs - - CopyImage](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CopyImage.html). - This field is validated by Packer, when using an alias, you will have to - prefix `kms_key_id` with `alias/`. - -- `region_kms_key_ids` (map[string]string) - regions to copy the ami to, along with the custom kms key id (alias or - arn) to use for encryption for that region. Keys must match the regions - provided in `ami_regions`. If you just want to encrypt using a default - ID, you can stick with `kms_key_id` and `ami_regions`. If you want a - region to be encrypted with that region's default key ID, you can use an - empty string `""` instead of a key id in this map. (e.g. `"us-east-1": ""`) However, you cannot use default key IDs if you are using this in - conjunction with `snapshot_users` -- in that situation you must use - custom keys. For valid formats see _KmsKeyId_ in the [AWS API docs - - CopyImage](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CopyImage.html). - - This option supercedes the `kms_key_id` option -- if you set both, and - they are different, Packer will respect the value in - `region_kms_key_ids` for your build region and silently disregard the - value provided in `kms_key_id`. - -- `skip_save_build_region` (bool) - If true, Packer will not check whether an AMI with the `ami_name` exists - in the region it is building in. It will use an intermediary AMI name, - which it will not convert to an AMI in the build region. It will copy - the intermediary AMI into any regions provided in `ami_regions`, then - delete the intermediary AMI. Default `false`. - -- `snapshot_tags` (map[string]string) - Tags to apply to snapshot. - They will override AMI tags if already applied to snapshot. This is a - [template engine](/docs/templates/engine), see [Build template - data](#build-template-data) for more information. - -- `snapshot_tag` ([]{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 - [`dynamic_block`](/docs/configuration/from-1.5/expressions#dynamic-blocks) - will allow you to create those programatically. - -- `snapshot_users` ([]string) - A list of account IDs that have - access to create volumes from the snapshot(s). By default no additional - users other than the user creating the AMI has permissions to create - volumes from the backing snapshot(s). - -- `snapshot_groups` ([]string) - A list of groups that have access to - create volumes from the snapshot(s). By default no groups have permission - to create volumes from the snapshot(s). all will make the snapshot - publicly accessible. +- `ami_description` (string) - The description to set for the resulting + AMI(s). By default this description is empty. This is a + [template engine](/docs/templates/engine), see [Build template + data](#build-template-data) for more information. + +- `ami_virtualization_type` (string) - The type of virtualization for the AMI + you are building. This option is required to register HVM images. Can be + paravirtual (default) or hvm. + +- `ami_users` ([]string) - A list of account IDs that have access to + launch the resulting AMI(s). By default no additional users other than the + user creating the AMI has permissions to launch it. + +- `ami_groups` ([]string) - A list of groups that have access to + launch the resulting AMI(s). By default no groups have permission to launch + the AMI. all will make the AMI publicly accessible. + +- `ami_product_codes` ([]string) - A list of product codes to + associate with the AMI. By default no product codes are associated with the + AMI. + +- `ami_regions` ([]string) - A list of regions to copy the AMI to. + Tags and attributes are copied along with the AMI. AMI copying takes time + depending on the size of the AMI, but will generally take many minutes. + +- `skip_region_validation` (bool) - Set to true if you want to skip + validation of the ami_regions configuration option. Default false. + +- `tags` (map[string]string) - Tags applied to the AMI. This is a + [template engine](/docs/templates/engine), see [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. + +- `ena_support` (boolean) - Enable enhanced networking (ENA but not SriovNetSupport) on + HVM-compatible AMIs. If set, add `ec2:ModifyInstanceAttribute` to your + AWS IAM policy. + + Note: you must make sure enhanced networking is enabled on your + instance. See [Amazon's documentation on enabling enhanced + networking](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html#enabling_enhanced_networking). + +- `sriov_support` (bool) - Enable enhanced networking (SriovNetSupport but not ENA) on + HVM-compatible AMIs. If true, add `ec2:ModifyInstanceAttribute` to your + AWS IAM policy. Note: you must make sure enhanced networking is enabled + on your instance. See [Amazon's documentation on enabling enhanced + networking](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html#enabling_enhanced_networking). + Default `false`. + +- `force_deregister` (bool) - Force Packer to first deregister an existing + AMI if one with the same name already exists. Default false. + +- `force_delete_snapshot` (bool) - Force Packer to delete snapshots + associated with AMIs, which have been deregistered by force_deregister. + Default false. + +- `encrypt_boot` (boolean) - Whether or not to encrypt the resulting AMI when + copying a provisioned instance to an AMI. By default, Packer will keep the + encryption setting to what it was in the source image. Setting false will + result in an unencrypted image, and true will result in an encrypted one. + If you have used the `launch_block_device_mappings` to set an encryption + key and that key is the same as the one you want the image encrypted with + at the end, then you don't need to set this field; leaving it empty will + prevent an unnecessary extra copy step and save you some time. + +- `kms_key_id` (string) - ID, alias or ARN of the KMS key to use for boot volume encryption. This + only applies to the main `region`, other regions where the AMI will be + copied will be encrypted by the default EBS KMS key. For valid formats + see *KmsKeyId* in the [AWS API docs - + CopyImage](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CopyImage.html). + This field is validated by Packer, when using an alias, you will have to + prefix `kms_key_id` with `alias/`. + +- `region_kms_key_ids` (map[string]string) - regions to copy the ami to, along with the custom kms key id (alias or + arn) to use for encryption for that region. Keys must match the regions + provided in `ami_regions`. If you just want to encrypt using a default + ID, you can stick with `kms_key_id` and `ami_regions`. If you want a + region to be encrypted with that region's default key ID, you can use an + empty string `""` instead of a key id in this map. (e.g. `"us-east-1": + ""`) However, you cannot use default key IDs if you are using this in + conjunction with `snapshot_users` -- in that situation you must use + custom keys. For valid formats see *KmsKeyId* in the [AWS API docs - + CopyImage](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CopyImage.html). + + This option supercedes the `kms_key_id` option -- if you set both, and + they are different, Packer will respect the value in + `region_kms_key_ids` for your build region and silently disregard the + value provided in `kms_key_id`. + +- `skip_save_build_region` (bool) - If true, Packer will not check whether an AMI with the `ami_name` exists + in the region it is building in. It will use an intermediary AMI name, + which it will not convert to an AMI in the build region. It will copy + the intermediary AMI into any regions provided in `ami_regions`, then + delete the intermediary AMI. Default `false`. + +- `snapshot_tags` (map[string]string) - Tags to apply to snapshot. + They will override AMI tags if already applied to snapshot. This is a + [template engine](/docs/templates/engine), see [Build template + data](#build-template-data) for more information. + +- `snapshot_tag` ([]{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 + [`dynamic_block`](/docs/configuration/from-1.5/expressions#dynamic-blocks) + will allow you to create those programatically. + +- `snapshot_users` ([]string) - A list of account IDs that have + access to create volumes from the snapshot(s). By default no additional + users other than the user creating the AMI has permissions to create + volumes from the backing snapshot(s). + +- `snapshot_groups` ([]string) - A list of groups that have access to + create volumes from the snapshot(s). By default no groups have permission + to create volumes from the snapshot(s). all will make the snapshot + publicly accessible. + \ No newline at end of file diff --git a/website/pages/partials/builder/amazon/common/AMIConfig-required.mdx b/website/pages/partials/builder/amazon/common/AMIConfig-required.mdx index 3701463b5..13ad802ce 100644 --- a/website/pages/partials/builder/amazon/common/AMIConfig-required.mdx +++ b/website/pages/partials/builder/amazon/common/AMIConfig-required.mdx @@ -1,6 +1,7 @@ -- `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, - use a function like timestamp (see [template - engine](/docs/templates/engine) for more info). +- `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, + use a function like timestamp (see [template + engine](/docs/templates/engine) for more info). + \ No newline at end of file diff --git a/website/pages/partials/builder/amazon/common/AMIConfig.mdx b/website/pages/partials/builder/amazon/common/AMIConfig.mdx index 0f65733bb..55af4c4cf 100644 --- a/website/pages/partials/builder/amazon/common/AMIConfig.mdx +++ b/website/pages/partials/builder/amazon/common/AMIConfig.mdx @@ -1,3 +1,2 @@ - AMIConfig is for common configuration related to creating AMIs. diff --git a/website/pages/partials/builder/amazon/common/AccessConfig-not-required.mdx b/website/pages/partials/builder/amazon/common/AccessConfig-not-required.mdx index 166e9fcac..519ffb22e 100644 --- a/website/pages/partials/builder/amazon/common/AccessConfig-not-required.mdx +++ b/website/pages/partials/builder/amazon/common/AccessConfig-not-required.mdx @@ -1,71 +1,71 @@ -- `custom_endpoint_ec2` (string) - This option is useful if you use a cloud - provider whose API is compatible with aws EC2. Specify another endpoint - like this https://ec2.custom.endpoint.com. - -- `decode_authorization_messages` (bool) - Enable automatic decoding of any encoded authorization (error) messages - using the `sts:DecodeAuthorizationMessage` API. Note: requires that the - effective user/role have permissions to `sts:DecodeAuthorizationMessage` - on resource `*`. Default `false`. - -- `insecure_skip_tls_verify` (bool) - This allows skipping TLS - 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 - where requests are being throttled or experiencing transient failures. - The delay between the subsequent API calls increases exponentially. - -- `mfa_code` (string) - The MFA - [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 - time. - -- `profile` (string) - The profile to use in the shared credentials file for - AWS. See Amazon's documentation on [specifying - profiles](https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#specifying-profiles) - for more details. - -- `skip_region_validation` (bool) - Set to true if you want to skip - validation of the ami_regions configuration option. Default false. - -- `skip_metadata_api_check` (bool) - Skip Metadata Api Check -- `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 - probably don't need it. This will also be read from the AWS_SESSION_TOKEN - environmental variable. - -- `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 - generating credentials via the Vault engine, see the [Vault - docs.](https://www.vaultproject.io/api/secret/aws#generate-credentials) - 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. - - ```json - { - "vault_aws_engine": { - "name": "myrole", - "role_arn": "myarn", - "ttl": "3600s" +- `custom_endpoint_ec2` (string) - This option is useful if you use a cloud + provider whose API is compatible with aws EC2. Specify another endpoint + like this https://ec2.custom.endpoint.com. + +- `decode_authorization_messages` (bool) - Enable automatic decoding of any encoded authorization (error) messages + using the `sts:DecodeAuthorizationMessage` API. Note: requires that the + effective user/role have permissions to `sts:DecodeAuthorizationMessage` + on resource `*`. Default `false`. + +- `insecure_skip_tls_verify` (bool) - This allows skipping TLS + 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 + where requests are being throttled or experiencing transient failures. + The delay between the subsequent API calls increases exponentially. + +- `mfa_code` (string) - The MFA + [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 + time. + +- `profile` (string) - The profile to use in the shared credentials file for + AWS. See Amazon's documentation on [specifying + profiles](https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#specifying-profiles) + for more details. + +- `skip_region_validation` (bool) - Set to true if you want to skip + validation of the ami_regions configuration option. Default false. + +- `skip_metadata_api_check` (bool) - Skip Metadata Api Check +- `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 + probably don't need it. This will also be read from the AWS_SESSION_TOKEN + environmental variable. + +- `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 + generating credentials via the Vault engine, see the [Vault + docs.](https://www.vaultproject.io/api/secret/aws#generate-credentials) + 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. + + ```json + { + "vault_aws_engine": { + "name": "myrole", + "role_arn": "myarn", + "ttl": "3600s" + } } - } - ``` + ``` + \ No newline at end of file diff --git a/website/pages/partials/builder/amazon/common/AccessConfig-required.mdx b/website/pages/partials/builder/amazon/common/AccessConfig-required.mdx index 941f21379..1fee823e5 100644 --- a/website/pages/partials/builder/amazon/common/AccessConfig-required.mdx +++ b/website/pages/partials/builder/amazon/common/AccessConfig-required.mdx @@ -1,13 +1,15 @@ -- `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 - 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 - to launch the EC2 instance to create the AMI. - 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. +- `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 + 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 + to launch the EC2 instance to create the AMI. + 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. + \ No newline at end of file diff --git a/website/pages/partials/builder/amazon/common/AmiFilterOptions-not-required.mdx b/website/pages/partials/builder/amazon/common/AmiFilterOptions-not-required.mdx index 15064b6bd..4e1187cc9 100644 --- a/website/pages/partials/builder/amazon/common/AmiFilterOptions-not-required.mdx +++ b/website/pages/partials/builder/amazon/common/AmiFilterOptions-not-required.mdx @@ -1,3 +1,3 @@ -- `most_recent` (bool) - Most Recent +- `most_recent` (bool) - Most Recent \ No newline at end of file diff --git a/website/pages/partials/builder/amazon/common/BlockDevice-not-required.mdx b/website/pages/partials/builder/amazon/common/BlockDevice-not-required.mdx index a81cc9f32..8438070e0 100644 --- a/website/pages/partials/builder/amazon/common/BlockDevice-not-required.mdx +++ b/website/pages/partials/builder/amazon/common/BlockDevice-not-required.mdx @@ -1,42 +1,43 @@ -- `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 - volumes are not cleaned up by an alternative method, additional volumes - will accumulate after every build. - -- `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. - -- `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 - false will result in an unencrypted device, and true will result in an - encrypted one. - -- `iops` (int64) - The number of I/O operations per second (IOPS) that the volume supports. - See the documentation on - [IOPs](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_EbsBlockDevice.html) - for more information - -- `no_device` (bool) - Suppresses the specified device included in the block device mapping of - the AMI. - -- `snapshot_id` (string) - The ID of the snapshot. - -- `virtual_name` (string) - The virtual device name. See the documentation on Block Device Mapping - for more information. - -- `volume_type` (string) - The volume type. gp2 for General Purpose (SSD) volumes, io1 for - Provisioned IOPS (SSD) volumes, st1 for Throughput Optimized HDD, sc1 - for Cold HDD, and standard for Magnetic volumes. - -- `volume_size` (int64) - The size of the volume, in GiB. Required if not specifying a - 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/. +- `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 + volumes are not cleaned up by an alternative method, additional volumes + will accumulate after every build. + +- `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. + +- `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 + false will result in an unencrypted device, and true will result in an + encrypted one. + +- `iops` (int64) - The number of I/O operations per second (IOPS) that the volume supports. + See the documentation on + [IOPs](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_EbsBlockDevice.html) + for more information + +- `no_device` (bool) - Suppresses the specified device included in the block device mapping of + the AMI. + +- `snapshot_id` (string) - The ID of the snapshot. + +- `virtual_name` (string) - The virtual device name. See the documentation on Block Device Mapping + for more information. + +- `volume_type` (string) - The volume type. gp2 for General Purpose (SSD) volumes, io1 for + Provisioned IOPS (SSD) volumes, st1 for Throughput Optimized HDD, sc1 + for Cold HDD, and standard for Magnetic volumes. + +- `volume_size` (int64) - The size of the volume, in GiB. Required if not specifying a + 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/. + \ No newline at end of file diff --git a/website/pages/partials/builder/amazon/common/BlockDevice.mdx b/website/pages/partials/builder/amazon/common/BlockDevice.mdx index bafcfd197..024a0df64 100644 --- a/website/pages/partials/builder/amazon/common/BlockDevice.mdx +++ b/website/pages/partials/builder/amazon/common/BlockDevice.mdx @@ -1,5 +1,4 @@ - 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. @@ -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: ```json -[ - { - "device_name": "/dev/sda1", - "encrypted": true, - "kms_key_id": "1a2b3c4d-5e6f-1a2b-3c4d-5e6f1a2b3c4d" - } -] +[{ + "device_name": "/dev/sda1", + "encrypted": true, + "kms_key_id": "1a2b3c4d-5e6f-1a2b-3c4d-5e6f1a2b3c4d" +}] ``` Documentation for Block Devices Mappings can be found here: diff --git a/website/pages/partials/builder/amazon/common/RunConfig-not-required.mdx b/website/pages/partials/builder/amazon/common/RunConfig-not-required.mdx index 69969ab8c..91d8bb4ae 100644 --- a/website/pages/partials/builder/amazon/common/RunConfig-not-required.mdx +++ b/website/pages/partials/builder/amazon/common/RunConfig-not-required.mdx @@ -1,316 +1,317 @@ -- `associate_public_ip_address` (bool) - If using a non-default VPC, - public IP addresses are not provided by default. If this is true, your - new instance will get a Public IP. default: false - -- `availability_zone` (string) - Destination availability zone to launch - instance in. Leave this empty to allow Amazon to auto-assign. - -- `block_duration_minutes` (int64) - Requires spot_price to be set. The - 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 - specify an Availability Zone group or a launch group if you specify a - duration. - -- `disable_stop_instance` (bool) - Packer normally stops the build instance after all provisioners have - run. For Windows instances, it is sometimes desirable to [run - 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 - _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 - [windows-shell - provisioner](/docs/provisioners/windows-shell). - 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 - `true`, will cause a timeout. - Example of a valid shutdown command: - - ```json - { - "type": "windows-shell", - "inline": [ - "\"c:\\Program Files\\Amazon\\Ec2ConfigService\\ec2config.exe\" -sysprep" - ] - } - ``` - -- `ebs_optimized` (bool) - Mark instance as [EBS - Optimized](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html). - Default `false`. - -- `enable_t2_unlimited` (bool) - Enabling T2 Unlimited allows the source instance to burst additional CPU - beyond its available [CPU - 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 - configuration that only allows an instance to consume up to its - available CPU Credits. See the AWS documentation for [T2 - Unlimited](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/t2-unlimited.html) - and the **T2 Unlimited Pricing** section of the [Amazon EC2 On-Demand - Pricing](https://aws.amazon.com/ec2/pricing/on-demand/) document for - more information. By default this option is disabled and Packer will set - up a [T2 - Standard](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/t2-std.html) - instance instead. - - 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 - Instances, e.g. when the `spot_price` option has been configured. - Attempting to do so will cause an error. - - !> **Warning!** Additional costs may be incurred by enabling T2 - Unlimited - even for instances that would usually qualify for the - [AWS Free Tier](https://aws.amazon.com/free/). - -- `iam_instance_profile` (string) - The name of an [IAM instance - profile](https://docs.aws.amazon.com/IAM/latest/UserGuide/instance-profiles.html) - to launch the EC2 instance with. - -- `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 - If IamInstanceProfile is specified it will be used instead. Example: - - ```json - { - "Version": "2012-10-17", - "Statement": [ +- `associate_public_ip_address` (bool) - If using a non-default VPC, + public IP addresses are not provided by default. If this is true, your + new instance will get a Public IP. default: false + +- `availability_zone` (string) - Destination availability zone to launch + instance in. Leave this empty to allow Amazon to auto-assign. + +- `block_duration_minutes` (int64) - Requires spot_price to be set. The + 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 + specify an Availability Zone group or a launch group if you specify a + duration. + +- `disable_stop_instance` (bool) - Packer normally stops the build instance after all provisioners have + run. For Windows instances, it is sometimes desirable to [run + 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 + *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 + [windows-shell + provisioner](/docs/provisioners/windows-shell). + 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 + `true`, will cause a timeout. + Example of a valid shutdown command: + + ```json + { + "type": "windows-shell", + "inline": ["\"c:\\Program Files\\Amazon\\Ec2ConfigService\\ec2config.exe\" -sysprep"] + } + ``` + +- `ebs_optimized` (bool) - Mark instance as [EBS + Optimized](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html). + Default `false`. + +- `enable_t2_unlimited` (bool) - Enabling T2 Unlimited allows the source instance to burst additional CPU + beyond its available [CPU + 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 + configuration that only allows an instance to consume up to its + available CPU Credits. See the AWS documentation for [T2 + Unlimited](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/t2-unlimited.html) + and the **T2 Unlimited Pricing** section of the [Amazon EC2 On-Demand + Pricing](https://aws.amazon.com/ec2/pricing/on-demand/) document for + more information. By default this option is disabled and Packer will set + up a [T2 + Standard](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/t2-std.html) + instance instead. + + 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 + Instances, e.g. when the `spot_price` option has been configured. + Attempting to do so will cause an error. + + !> **Warning!** Additional costs may be incurred by enabling T2 + Unlimited - even for instances that would usually qualify for the + [AWS Free Tier](https://aws.amazon.com/free/). + +- `iam_instance_profile` (string) - The name of an [IAM instance + profile](https://docs.aws.amazon.com/IAM/latest/UserGuide/instance-profiles.html) + to launch the EC2 instance with. + +- `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 + If IamInstanceProfile is specified it will be used instead. Example: + + ```json + { + "Version": "2012-10-17", + "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:*"], - "Effect": "Allow", - "Resource": "*" + "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 + } } - ] - } - ``` - -- `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 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_`, where <UUID> 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`. - - - `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 - { - "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_`, where <UUID> 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 - `.compute.internal` included in the `NO_PROXY` environment - variable. + ``` + + 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 + `.compute.internal` included in the `NO_PROXY` environment + variable. + \ No newline at end of file diff --git a/website/pages/partials/builder/amazon/common/RunConfig-required.mdx b/website/pages/partials/builder/amazon/common/RunConfig-required.mdx index a45dcb335..af4443aeb 100644 --- a/website/pages/partials/builder/amazon/common/RunConfig-required.mdx +++ b/website/pages/partials/builder/amazon/common/RunConfig-required.mdx @@ -1,9 +1,10 @@ -- `instance_type` (string) - The EC2 instance type to use while building the - 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. +- `instance_type` (string) - The EC2 instance type to use while building the + 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. + \ No newline at end of file diff --git a/website/pages/partials/builder/amazon/common/SubnetFilterOptions-not-required.mdx b/website/pages/partials/builder/amazon/common/SubnetFilterOptions-not-required.mdx index 0c0ec1283..e40a7730d 100644 --- a/website/pages/partials/builder/amazon/common/SubnetFilterOptions-not-required.mdx +++ b/website/pages/partials/builder/amazon/common/SubnetFilterOptions-not-required.mdx @@ -1,4 +1,4 @@ -- `most_free` (bool) - Most Free -- `random` (bool) - Random +- `most_free` (bool) - Most Free +- `random` (bool) - Random \ No newline at end of file diff --git a/website/pages/partials/builder/amazon/common/VaultAWSEngineOptions-not-required.mdx b/website/pages/partials/builder/amazon/common/VaultAWSEngineOptions-not-required.mdx index c445f84e7..c329c73ac 100644 --- a/website/pages/partials/builder/amazon/common/VaultAWSEngineOptions-not-required.mdx +++ b/website/pages/partials/builder/amazon/common/VaultAWSEngineOptions-not-required.mdx @@ -1,15 +1,15 @@ -- `name` (string) - Name -- `role_arn` (string) - Role ARN -- `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. - -- `engine_name` (string) - Engine Name +- `name` (string) - Name +- `role_arn` (string) - Role ARN +- `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. + +- `engine_name` (string) - Engine Name \ No newline at end of file diff --git a/website/pages/partials/builder/amazon/ebs/Config-not-required.mdx b/website/pages/partials/builder/amazon/ebs/Config-not-required.mdx index 0f2d553d0..d57aa3c30 100644 --- a/website/pages/partials/builder/amazon/ebs/Config-not-required.mdx +++ b/website/pages/partials/builder/amazon/ebs/Config-not-required.mdx @@ -1,33 +1,34 @@ -- `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 - the Packer build see `launch_block_device_mappings` below. Your options - here may vary depending on the type of VM you use. See the - [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 - instance store volumes or EBS volumes in addition to the root device - volume, the created AMI will contain block device mapping information - for those volumes. Amazon creates snapshots of the source instance's - root volume and any other EBS volumes described here. When you launch an - instance from this new AMI, the instance automatically launches with - these additional volumes, and will restore them from snapshots taken - from the source instance. See the - [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. - These tags are _not_ applied to the resulting AMI unless they're - duplicated in `tags`. This is a [template - engine](/docs/templates/engine), see [Build template - 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. +- `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 + the Packer build see `launch_block_device_mappings` below. Your options + here may vary depending on the type of VM you use. See the + [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 + instance store volumes or EBS volumes in addition to the root device + volume, the created AMI will contain block device mapping information + for those volumes. Amazon creates snapshots of the source instance's + root volume and any other EBS volumes described here. When you launch an + instance from this new AMI, the instance automatically launches with + these additional volumes, and will restore them from snapshots taken + from the source instance. See the + [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. + These tags are *not* applied to the resulting AMI unless they're + duplicated in `tags`. This is a [template + engine](/docs/templates/engine), see [Build template + 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 newline at end of file diff --git a/website/pages/partials/builder/amazon/ebssurrogate/BlockDevice-not-required.mdx b/website/pages/partials/builder/amazon/ebssurrogate/BlockDevice-not-required.mdx index b4ea7da55..789ac0d6c 100644 --- a/website/pages/partials/builder/amazon/ebssurrogate/BlockDevice-not-required.mdx +++ b/website/pages/partials/builder/amazon/ebssurrogate/BlockDevice-not-required.mdx @@ -1,7 +1,8 @@ -- `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 - 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 - AMI but not in the final 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 + 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 + AMI but not in the final created AMI. + \ No newline at end of file diff --git a/website/pages/partials/builder/amazon/ebssurrogate/Config-not-required.mdx b/website/pages/partials/builder/amazon/ebssurrogate/Config-not-required.mdx index b173bf8b3..ffa5ec78a 100644 --- a/website/pages/partials/builder/amazon/ebssurrogate/Config-not-required.mdx +++ b/website/pages/partials/builder/amazon/ebssurrogate/Config-not-required.mdx @@ -1,26 +1,27 @@ -- `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 - the Packer build see `launch_block_device_mappings` below. Your options - here may vary depending on the type of VM you use. See the - [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 - instance store volumes or EBS volumes in addition to the root device - volume, the created AMI will contain block device mapping information - for those volumes. Amazon creates snapshots of the source instance's - root volume and any other EBS volumes described here. When you launch an - instance from this new AMI, the instance automatically launches with - these additional volumes, and will restore them from snapshots taken - from the source instance. See the - [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. - These tags are _not_ applied to the resulting AMI unless they're - duplicated in `tags`. This is a [template - engine](/docs/templates/engine), see [Build template - 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_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 + the Packer build see `launch_block_device_mappings` below. Your options + here may vary depending on the type of VM you use. See the + [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 + instance store volumes or EBS volumes in addition to the root device + volume, the created AMI will contain block device mapping information + for those volumes. Amazon creates snapshots of the source instance's + root volume and any other EBS volumes described here. When you launch an + instance from this new AMI, the instance automatically launches with + these additional volumes, and will restore them from snapshots taken + from the source instance. See the + [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. + These tags are *not* applied to the resulting AMI unless they're + duplicated in `tags`. This is a [template + engine](/docs/templates/engine), see [Build template + 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". + \ No newline at end of file diff --git a/website/pages/partials/builder/amazon/ebssurrogate/Config-required.mdx b/website/pages/partials/builder/amazon/ebssurrogate/Config-required.mdx index 1567a9aed..371cfbd33 100644 --- a/website/pages/partials/builder/amazon/ebssurrogate/Config-required.mdx +++ b/website/pages/partials/builder/amazon/ebssurrogate/Config-required.mdx @@ -1,9 +1,10 @@ -- `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 - 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`. +- `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 + 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`. + \ No newline at end of file diff --git a/website/pages/partials/builder/amazon/ebssurrogate/RootBlockDevice-not-required.mdx b/website/pages/partials/builder/amazon/ebssurrogate/RootBlockDevice-not-required.mdx index c1e26bba1..17b0d8c3f 100644 --- a/website/pages/partials/builder/amazon/ebssurrogate/RootBlockDevice-not-required.mdx +++ b/website/pages/partials/builder/amazon/ebssurrogate/RootBlockDevice-not-required.mdx @@ -1,25 +1,26 @@ -- `source_device_name` (string) - Source Device Name -- `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. - -- `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 volumes are not cleaned up by - an alternative method, additional volumes will accumulate after every - build. - -- `iops` (int64) - The number of I/O operations per second (IOPS) that - the volume supports. See the documentation on - IOPs - for more information - -- `volume_type` (string) - The volume type. gp2 for General Purpose - (SSD) volumes, io1 for Provisioned IOPS (SSD) volumes, st1 for - Throughput Optimized HDD, sc1 for Cold HDD, and standard for - Magnetic volumes. - -- `volume_size` (int64) - The size of the volume, in GiB. Required if - not specifying a snapshot_id. +- `source_device_name` (string) - Source Device Name +- `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. + +- `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 volumes are not cleaned up by + an alternative method, additional volumes will accumulate after every + build. + +- `iops` (int64) - The number of I/O operations per second (IOPS) that + the volume supports. See the documentation on + IOPs + for more information + +- `volume_type` (string) - The volume type. gp2 for General Purpose + (SSD) volumes, io1 for Provisioned IOPS (SSD) volumes, st1 for + Throughput Optimized HDD, sc1 for Cold HDD, and standard for + Magnetic volumes. + +- `volume_size` (int64) - The size of the volume, in GiB. Required if + not specifying a snapshot_id. + \ No newline at end of file diff --git a/website/pages/partials/builder/amazon/ebsvolume/BlockDevice-not-required.mdx b/website/pages/partials/builder/amazon/ebsvolume/BlockDevice-not-required.mdx index ed44c8756..0f4bfd5bd 100644 --- a/website/pages/partials/builder/amazon/ebsvolume/BlockDevice-not-required.mdx +++ b/website/pages/partials/builder/amazon/ebsvolume/BlockDevice-not-required.mdx @@ -1,10 +1,11 @@ -- `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 - [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. +- `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 + [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. + \ No newline at end of file diff --git a/website/pages/partials/builder/amazon/ebsvolume/Config-not-required.mdx b/website/pages/partials/builder/amazon/ebsvolume/Config-not-required.mdx index 7f0a9c1d1..b0a717845 100644 --- a/website/pages/partials/builder/amazon/ebsvolume/Config-not-required.mdx +++ b/website/pages/partials/builder/amazon/ebsvolume/Config-not-required.mdx @@ -1,43 +1,44 @@ -- `ena_support` (boolean) - Enable enhanced networking (ENA but not SriovNetSupport) on - HVM-compatible AMIs. If set, add `ec2:ModifyInstanceAttribute` to your - AWS IAM policy. Note: you must make sure enhanced networking is enabled - on your instance. See [Amazon's documentation on enabling enhanced - networking](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html#enabling_enhanced_networking). - -- `sriov_support` (bool) - Enable enhanced networking (SriovNetSupport but not ENA) on - HVM-compatible AMIs. If true, add `ec2:ModifyInstanceAttribute` to your - AWS IAM policy. Note: you must make sure enhanced networking is enabled - on your instance. See [Amazon's documentation on enabling enhanced - networking](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html#enabling_enhanced_networking). - Default `false`. - -- `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 - created AMI will contain block device mapping information for those - volumes. Amazon creates snapshots of the source instance's root volume - and any other EBS volumes described here. When you launch an instance - from this new AMI, the instance automatically launches with these - additional volumes, and will restore them from snapshots taken from the - source instance. See the [BlockDevices](#block-devices-configuration) - documentation for fields. - -- `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 - resulting EBS volumes unless they're duplicated under `tags` in the - `ebs_volumes` setting. This is a [template - engine](/docs/templates/engine), see [Build template - data](#build-template-data) for more information. - - Note: The tags specified here will be _temporarily_ applied to volumes - specified in `ebs_volumes` - but only while the instance is being - created. Packer will replace all tags on the volume with the tags - configured in the `ebs_volumes` section as soon as the instance is - 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. +- `ena_support` (boolean) - Enable enhanced networking (ENA but not SriovNetSupport) on + HVM-compatible AMIs. If set, add `ec2:ModifyInstanceAttribute` to your + AWS IAM policy. Note: you must make sure enhanced networking is enabled + on your instance. See [Amazon's documentation on enabling enhanced + networking](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html#enabling_enhanced_networking). + +- `sriov_support` (bool) - Enable enhanced networking (SriovNetSupport but not ENA) on + HVM-compatible AMIs. If true, add `ec2:ModifyInstanceAttribute` to your + AWS IAM policy. Note: you must make sure enhanced networking is enabled + on your instance. See [Amazon's documentation on enabling enhanced + networking](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html#enabling_enhanced_networking). + Default `false`. + +- `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 + created AMI will contain block device mapping information for those + volumes. Amazon creates snapshots of the source instance's root volume + and any other EBS volumes described here. When you launch an instance + from this new AMI, the instance automatically launches with these + additional volumes, and will restore them from snapshots taken from the + source instance. See the [BlockDevices](#block-devices-configuration) + documentation for fields. + +- `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 + resulting EBS volumes unless they're duplicated under `tags` in the + `ebs_volumes` setting. This is a [template + engine](/docs/templates/engine), see [Build template + data](#build-template-data) for more information. + + Note: The tags specified here will be *temporarily* applied to volumes + specified in `ebs_volumes` - but only while the instance is being + created. Packer will replace all tags on the volume with the tags + configured in the `ebs_volumes` section as soon as the instance is + 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. + \ No newline at end of file diff --git a/website/pages/partials/builder/amazon/instance/Config-not-required.mdx b/website/pages/partials/builder/amazon/instance/Config-not-required.mdx index 1cc446aea..57126142b 100644 --- a/website/pages/partials/builder/amazon/instance/Config-not-required.mdx +++ b/website/pages/partials/builder/amazon/instance/Config-not-required.mdx @@ -1,38 +1,39 @@ -- `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 - the Packer build see `launch_block_device_mappings` below. Your options - here may vary depending on the type of VM you use. See the - [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 - instance store volumes or EBS volumes in addition to the root device - volume, the created AMI will contain block device mapping information - for those volumes. Amazon creates snapshots of the source instance's - root volume and any other EBS volumes described here. When you launch an - instance from this new AMI, the instance automatically launches with - these additional volumes, and will restore them from snapshots taken - from the source instance. See the - [BlockDevices](#block-devices-configuration) documentation for fields. - -- `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 - exist and be writable. - -- `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 - make sure this is unique, otherwise it can collide with other created - AMIs by Packer in your account. - -- `bundle_upload_command` (string) - The command to use to upload the bundled volume. See the "custom bundle - commands" section below for more information. - -- `bundle_vol_command` (string) - The command to use to bundle the volume. See the "custom bundle - 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. +- `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 + the Packer build see `launch_block_device_mappings` below. Your options + here may vary depending on the type of VM you use. See the + [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 + instance store volumes or EBS volumes in addition to the root device + volume, the created AMI will contain block device mapping information + for those volumes. Amazon creates snapshots of the source instance's + root volume and any other EBS volumes described here. When you launch an + instance from this new AMI, the instance automatically launches with + these additional volumes, and will restore them from snapshots taken + from the source instance. See the + [BlockDevices](#block-devices-configuration) documentation for fields. + +- `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 + exist and be writable. + +- `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 + make sure this is unique, otherwise it can collide with other created + AMIs by Packer in your account. + +- `bundle_upload_command` (string) - The command to use to upload the bundled volume. See the "custom bundle + commands" section below for more information. + +- `bundle_vol_command` (string) - The command to use to bundle the volume. See the "custom bundle + 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. + \ No newline at end of file diff --git a/website/pages/partials/builder/amazon/instance/Config-required.mdx b/website/pages/partials/builder/amazon/instance/Config-required.mdx index f328d4ff9..f60edb89c 100644 --- a/website/pages/partials/builder/amazon/instance/Config-required.mdx +++ b/website/pages/partials/builder/amazon/instance/Config-required.mdx @@ -1,15 +1,16 @@ -- `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 - credentials page of your AWS account. - -- `s3_bucket` (string) - The name of the S3 bucket to upload the AMI. This bucket will be created - if it doesn't exist. - -- `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 - 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. +- `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 + credentials page of your AWS account. + +- `s3_bucket` (string) - The name of the S3 bucket to upload the AMI. This bucket will be created + if it doesn't exist. + +- `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 + 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. + \ No newline at end of file diff --git a/website/pages/partials/builder/amazon/instance/Config.mdx b/website/pages/partials/builder/amazon/instance/Config.mdx index 384ca642d..92c4a64f0 100644 --- a/website/pages/partials/builder/amazon/instance/Config.mdx +++ b/website/pages/partials/builder/amazon/instance/Config.mdx @@ -1,4 +1,3 @@ - Config is the configuration that is chained through the steps and settable from the template. diff --git a/website/pages/partials/builder/azure/arm/Config-not-required.mdx b/website/pages/partials/builder/azure/arm/Config-not-required.mdx index 1680c50fe..e57e51119 100644 --- a/website/pages/partials/builder/azure/arm/Config-not-required.mdx +++ b/website/pages/partials/builder/azure/arm/Config-not-required.mdx @@ -1,238 +1,241 @@ -- `capture_name_prefix` (string) - Capture - -- `capture_container_name` (string) - Capture Container Name -- `shared_image_gallery` (SharedImageGallery) - Use a [Shared 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 - build type_ - the target must be a _Managed Image_. - - "shared_image_gallery": { - "subscription": "00000000-0000-0000-0000-00000000000", - "resource_group": "ResourceGroup", - "gallery_name": "GalleryName", - "image_name": "ImageName", - "image_version": "1.0.0" +- `capture_name_prefix` (string) - Capture + +- `capture_container_name` (string) - Capture Container Name +- `shared_image_gallery` (SharedImageGallery) - Use a [Shared 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 + build type* - the target must be a *Managed Image*. + + "shared_image_gallery": { + "subscription": "00000000-0000-0000-0000-00000000000", + "resource_group": "ResourceGroup", + "gallery_name": "GalleryName", + "image_name": "ImageName", + "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) - - The plan product, required. `plan_publisher` (string) - The plan publisher, - required. `plan_promotion_code` (string) - Some images accept a promotion - code, optional. - - Images created from the Marketplace with `plan_info` **must** specify - `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 are added. - - 1. PlanName - 2. PlanProduct - 3. PlanPublisher - 4. PlanPromotionCode - -- `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) - 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 - 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 - automatically configure authentication credentials for the provisioned - machine. For Linux this configures an SSH authorized key. For Windows - this configures a WinRM certificate. - -- `os_disk_size_gb` (int32) - Specify the size of the OS disk in GB - (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 - 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 - configuration of your VM. See - [Windows](https://docs.microsoft.com/en-us/azure/virtual-machines/windows/about-disks-and-vhds) - or - [Linux](https://docs.microsoft.com/en-us/azure/virtual-machines/linux/about-disks-and-vhds) - for more information. - - For VHD builds the final artifacts will be named - `PREFIX-dataDisk-.UUID.vhd` and stored in the specified capture - container along side the OS disk. The additional disks are included in - the deployment template `PREFIX-vmTemplate.UUID`. - - 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 - disk, as specified with the `managed_image_storage_account_type` - setting. - -- `disk_caching_type` (string) - Specify the disk caching type. Valid values - 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 access to the VM. If provided, an Azure Network Security - Group will be created with corresponding rules and be bound to - the subnet of the VM. - Providing `allowed_inbound_ip_addresses` in combination with - `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. + ``` + + `plan_name` (string) - The plan name, required. `plan_product` (string) - + The plan product, required. `plan_publisher` (string) - The plan publisher, + required. `plan_promotion_code` (string) - Some images accept a promotion + code, optional. + + Images created from the Marketplace with `plan_info` **must** specify + `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 are added. + + 1. PlanName + 2. PlanProduct + 3. PlanPublisher + 4. PlanPromotionCode + +- `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) + 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 + 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 + automatically configure authentication credentials for the provisioned + machine. For Linux this configures an SSH authorized key. For Windows + this configures a WinRM certificate. + +- `os_disk_size_gb` (int32) - Specify the size of the OS disk in GB + (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 + 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 + configuration of your VM. See + [Windows](https://docs.microsoft.com/en-us/azure/virtual-machines/windows/about-disks-and-vhds) + or + [Linux](https://docs.microsoft.com/en-us/azure/virtual-machines/linux/about-disks-and-vhds) + for more information. + + For VHD builds the final artifacts will be named + `PREFIX-dataDisk-.UUID.vhd` and stored in the specified capture + container along side the OS disk. The additional disks are included in + the deployment template `PREFIX-vmTemplate.UUID`. + + 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 + disk, as specified with the `managed_image_storage_account_type` + setting. + +- `disk_caching_type` (string) - Specify the disk caching type. Valid values + 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 access to the VM. If provided, an Azure Network Security + Group will be created with corresponding rules and be bound to + the subnet of the VM. + Providing `allowed_inbound_ip_addresses` in combination with + `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. + \ No newline at end of file diff --git a/website/pages/partials/builder/azure/arm/Config-required.mdx b/website/pages/partials/builder/azure/arm/Config-required.mdx index 395850f78..fba192a62 100644 --- a/website/pages/partials/builder/azure/arm/Config-required.mdx +++ b/website/pages/partials/builder/azure/arm/Config-required.mdx @@ -1,37 +1,38 @@ -- `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/) - for details. - - 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 - [documentation](https://azure.microsoft.com/en-us/documentation/articles/resource-groups-vm-searching/) - for details. - - CLI example - `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 - [documentation](https://azure.microsoft.com/en-us/documentation/articles/resource-groups-vm-searching/) - for details. - - CLI example - `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 - 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 - not set image_publisher, image_offer, image_sku, or image_version. - If this value is set, the value - `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) - 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. +- `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/) + for details. + + 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 + [documentation](https://azure.microsoft.com/en-us/documentation/articles/resource-groups-vm-searching/) + for details. + + CLI example + `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 + [documentation](https://azure.microsoft.com/en-us/documentation/articles/resource-groups-vm-searching/) + for details. + + CLI example + `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 + 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 + not set image_publisher, image_offer, image_sku, or image_version. + If this value is set, the value + `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) + 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. + \ No newline at end of file diff --git a/website/pages/partials/builder/azure/arm/PlanInformation-not-required.mdx b/website/pages/partials/builder/azure/arm/PlanInformation-not-required.mdx index f02adc25a..603e28349 100644 --- a/website/pages/partials/builder/azure/arm/PlanInformation-not-required.mdx +++ b/website/pages/partials/builder/azure/arm/PlanInformation-not-required.mdx @@ -1,6 +1,6 @@ -- `plan_name` (string) - Plan Name -- `plan_product` (string) - Plan Product -- `plan_publisher` (string) - Plan Publisher -- `plan_promotion_code` (string) - Plan Promotion Code +- `plan_name` (string) - Plan Name +- `plan_product` (string) - Plan Product +- `plan_publisher` (string) - Plan Publisher +- `plan_promotion_code` (string) - Plan Promotion Code \ No newline at end of file diff --git a/website/pages/partials/builder/azure/arm/SharedImageGallery-not-required.mdx b/website/pages/partials/builder/azure/arm/SharedImageGallery-not-required.mdx index 1376ae315..c36a6bc9c 100644 --- a/website/pages/partials/builder/azure/arm/SharedImageGallery-not-required.mdx +++ b/website/pages/partials/builder/azure/arm/SharedImageGallery-not-required.mdx @@ -1,11 +1,12 @@ -- `subscription` (string) - Subscription -- `resource_group` (string) - Resource Group -- `gallery_name` (string) - Gallery Name -- `image_name` (string) - Image Name -- `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. +- `subscription` (string) - Subscription +- `resource_group` (string) - Resource Group +- `gallery_name` (string) - Gallery Name +- `image_name` (string) - Image Name +- `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. + \ No newline at end of file diff --git a/website/pages/partials/builder/azure/arm/SharedImageGalleryDestination-not-required.mdx b/website/pages/partials/builder/azure/arm/SharedImageGalleryDestination-not-required.mdx index d7c7b1402..07793ec80 100644 --- a/website/pages/partials/builder/azure/arm/SharedImageGalleryDestination-not-required.mdx +++ b/website/pages/partials/builder/azure/arm/SharedImageGalleryDestination-not-required.mdx @@ -1,7 +1,7 @@ -- `resource_group` (string) - Sig Destination Resource Group -- `gallery_name` (string) - Sig Destination Gallery Name -- `image_name` (string) - Sig Destination Image Name -- `image_version` (string) - Sig Destination Image Version -- `replication_regions` ([]string) - Sig Destination Replication Regions +- `resource_group` (string) - Sig Destination Resource Group +- `gallery_name` (string) - Sig Destination Gallery Name +- `image_name` (string) - Sig Destination Image Name +- `image_version` (string) - Sig Destination Image Version +- `replication_regions` ([]string) - Sig Destination Replication Regions \ No newline at end of file diff --git a/website/pages/partials/builder/azure/chroot/Config-not-required.mdx b/website/pages/partials/builder/azure/chroot/Config-not-required.mdx index 230e2dae5..91029b5f1 100644 --- a/website/pages/partials/builder/azure/chroot/Config-not-required.mdx +++ b/website/pages/partials/builder/azure/chroot/Config-not-required.mdx @@ -1,49 +1,50 @@ -- `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 - 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}}`. - -- `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 - 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 - `-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. - -- `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 - 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. - -- `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}}`. - -- `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 - 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 - 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. - -- `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. - -- `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` - -- `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`. - -- `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` - -- `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`. +- `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 + 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}}`. + +- `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 + 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 + `-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. + +- `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 + 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. + +- `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}}`. + +- `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 + 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 + 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. + +- `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. + +- `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` + +- `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`. + +- `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` + +- `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`. + \ No newline at end of file diff --git a/website/pages/partials/builder/azure/chroot/Config-required.mdx b/website/pages/partials/builder/azure/chroot/Config-required.mdx index 58e1bc815..8402b8c73 100644 --- a/website/pages/partials/builder/azure/chroot/Config-required.mdx +++ b/website/pages/partials/builder/azure/chroot/Config-required.mdx @@ -1,5 +1,6 @@ -- `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. +- `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. + \ No newline at end of file diff --git a/website/pages/partials/builder/azure/chroot/Config.mdx b/website/pages/partials/builder/azure/chroot/Config.mdx index 49d57bcb2..147c5b9c7 100644 --- a/website/pages/partials/builder/azure/chroot/Config.mdx +++ b/website/pages/partials/builder/azure/chroot/Config.mdx @@ -1,4 +1,3 @@ - Config is the configuration that is chained through the steps and settable from the template. diff --git a/website/pages/partials/builder/azure/common/client/Config-not-required.mdx b/website/pages/partials/builder/azure/common/client/Config-not-required.mdx index c4c6b20eb..a7c7a366b 100644 --- a/website/pages/partials/builder/azure/common/client/Config-not-required.mdx +++ b/website/pages/partials/builder/azure/common/client/Config-not-required.mdx @@ -1,25 +1,26 @@ -- `cloud_environment_name` (string) - One of Public, China, Germany, or - USGovernment. Defaults to Public. Long forms such as - USGovernmentCloud and AzureUSGovernmentCloud are also supported. - -- `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. - -- `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 - as the specified AAD SP. - -- `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 - 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. - -- `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 - looked up using `subscription_id`. - -- `subscription_id` (string) - The subscription to use. +- `cloud_environment_name` (string) - One of Public, China, Germany, or + USGovernment. Defaults to Public. Long forms such as + USGovernmentCloud and AzureUSGovernmentCloud are also supported. + +- `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. + +- `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 + as the specified AAD SP. + +- `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 + 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. + +- `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 + looked up using `subscription_id`. + +- `subscription_id` (string) - The subscription to use. + \ No newline at end of file diff --git a/website/pages/partials/builder/azure/common/client/Config.mdx b/website/pages/partials/builder/azure/common/client/Config.mdx index dc450a840..086f9ceb1 100644 --- a/website/pages/partials/builder/azure/common/client/Config.mdx +++ b/website/pages/partials/builder/azure/common/client/Config.mdx @@ -1,5 +1,4 @@ - Config allows for various ways to authenticate Azure clients. When `client_id` and `subscription_id` are specified, Packer will use the specified Azure Active Directoty (AAD) Service Principal (SP). diff --git a/website/pages/partials/builder/cloudstack/Config-not-required.mdx b/website/pages/partials/builder/cloudstack/Config-not-required.mdx index a3170ebd1..ef65c212a 100644 --- a/website/pages/partials/builder/cloudstack/Config-not-required.mdx +++ b/website/pages/partials/builder/cloudstack/Config-not-required.mdx @@ -1,108 +1,108 @@ -- `async_timeout` (duration string | ex: "1h5m2s") - The time duration to wait for async calls to - finish. Defaults to 30m. - -- `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 - 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. - Defaults to false. - -- `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 - connect to the instance. Defaults to [ "0.0.0.0/0" ]. Only required when - use_local_ip_address is false. - -- `create_security_group` (bool) - If true a temporary security group - will be created which allows traffic towards the instance from the - cidr_list. This option will be ignored if security_groups is also - defined. Requires expunge set to true. Defaults to false. - -- `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 - source_iso. - -- `disk_size` (int64) - The size (in GB) of the root disk of the new - 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 - cache, requesting to check and detach ISO file (if any) currently - attached to a virtual machine. Defaults to `false`. This option is only - available when using `source_iso`. - -- `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` - 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 - destroyed. Defaults to false. - -- `hypervisor` (string) - The target hypervisor (e.g. XenServer, KVM) for - the new template. This option is required when using source_iso. - -- `instance_name` (string) - The name of the instance. Defaults to - "packer-UUID" where UUID is dynamically generated. - -- `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 - to. - -- `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 - address will be associated and released during the Packer run. - -- `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 - public port. - -- `security_groups` ([]string) - A list of security group IDs or - names to associate the instance with. - -- `prevent_firewall_changes` (bool) - Set to true to prevent network - ACLs or firewall rules creation. Defaults to false. - -- `temporary_keypair_name` (string) - The name of the temporary SSH key pair - to generate. By default, Packer generates a name that looks like - `packer_`, where `` is a 36 character unique identifier. - -- `use_local_ip_address` (bool) - Set to true to indicate that the - provisioners should connect to the local IP address of the instance. - -- `user_data` (string) - User data to launch with the instance. This is a - template engine; see "User Data" bellow for - more details. 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. This file will be parsed as a template - engine see User Data bellow for more - details. - -- `template_name` (string) - The name of the new template. Defaults to - `packer-{{timestamp}}` where timestamp will be the current time. - -- `template_display_text` (string) - The display text of the new template. - Defaults to the template_name. - -- `template_featured` (bool) - Set to true to indicate that the template - is featured. Defaults to false. - -- `template_public` (bool) - Set to true to indicate that the template - is available for all accounts. Defaults to false. - -- `template_password_enabled` (bool) - Set to true to indicate the - template should be password enabled. Defaults to false. - -- `template_requires_hvm` (bool) - Set to true to indicate the template - requires hardware-assisted virtualization. Defaults to false. - -- `template_scalable` (bool) - Set to true to indicate that the template - contains tools to support dynamic scaling of VM cpu/memory. Defaults to - false. - -- `template_tag` (string) - -- `tags` (map[string]string) - Tags +- `async_timeout` (duration string | ex: "1h5m2s") - The time duration to wait for async calls to + finish. Defaults to 30m. + +- `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 + 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. + Defaults to false. + +- `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 + connect to the instance. Defaults to [ "0.0.0.0/0" ]. Only required when + use_local_ip_address is false. + +- `create_security_group` (bool) - If true a temporary security group + will be created which allows traffic towards the instance from the + cidr_list. This option will be ignored if security_groups is also + defined. Requires expunge set to true. Defaults to false. + +- `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 + source_iso. + +- `disk_size` (int64) - The size (in GB) of the root disk of the new + 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 + cache, requesting to check and detach ISO file (if any) currently + attached to a virtual machine. Defaults to `false`. This option is only + available when using `source_iso`. + +- `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` + 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 + destroyed. Defaults to false. + +- `hypervisor` (string) - The target hypervisor (e.g. XenServer, KVM) for + the new template. This option is required when using source_iso. + +- `instance_name` (string) - The name of the instance. Defaults to + "packer-UUID" where UUID is dynamically generated. + +- `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 + to. + +- `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 + address will be associated and released during the Packer run. + +- `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 + public port. + +- `security_groups` ([]string) - A list of security group IDs or + names to associate the instance with. + +- `prevent_firewall_changes` (bool) - Set to true to prevent network + ACLs or firewall rules creation. Defaults to false. + +- `temporary_keypair_name` (string) - The name of the temporary SSH key pair + to generate. By default, Packer generates a name that looks like + `packer_`, where `` is a 36 character unique identifier. + +- `use_local_ip_address` (bool) - Set to true to indicate that the + provisioners should connect to the local IP address of the instance. + +- `user_data` (string) - User data to launch with the instance. This is a + template engine; see "User Data" bellow for + more details. 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. This file will be parsed as a template + engine see User Data bellow for more + details. + +- `template_name` (string) - The name of the new template. Defaults to + `packer-{{timestamp}}` where timestamp will be the current time. + +- `template_display_text` (string) - The display text of the new template. + Defaults to the template_name. + +- `template_featured` (bool) - Set to true to indicate that the template + is featured. Defaults to false. + +- `template_public` (bool) - Set to true to indicate that the template + is available for all accounts. Defaults to false. + +- `template_password_enabled` (bool) - Set to true to indicate the + template should be password enabled. Defaults to false. + +- `template_requires_hvm` (bool) - Set to true to indicate the template + requires hardware-assisted virtualization. Defaults to false. + +- `template_scalable` (bool) - Set to true to indicate that the template + contains tools to support dynamic scaling of VM cpu/memory. Defaults to + false. + +- `template_tag` (string) - +- `tags` (map[string]string) - Tags \ No newline at end of file diff --git a/website/pages/partials/builder/cloudstack/Config-required.mdx b/website/pages/partials/builder/cloudstack/Config-required.mdx index 3ad2c53dc..51076ee1e 100644 --- a/website/pages/partials/builder/cloudstack/Config-required.mdx +++ b/website/pages/partials/builder/cloudstack/Config-required.mdx @@ -1,32 +1,33 @@ -- `api_url` (string) - The CloudStack API endpoint we will connect to. It can - 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 - be specified via environment variable CLOUDSTACK_API_KEY, if set. - -- `secret_key` (string) - The secret key used to sign all API requests. It - can also be specified via environment variable CLOUDSTACK_SECRET_KEY, if - set. - -- `network` (string) - The name or ID of the network to connect the instance - to. - -- `service_offering` (string) - The name or ID of the service offering used - for the instance. - -- `source_iso` (string) - The name or ID of an ISO that will be mounted - before booting the instance. This option is mutually exclusive with - source_template. When using source_iso, both disk_offering and - hypervisor are required. - -- `source_template` (string) - The name or ID of the template used as base - template for the instance. This option is mutually exclusive with - source_iso. - -- `zone` (string) - The name or ID of the zone where the instance will be - created. - -- `template_os` (string) - The name or ID of the template OS for the new - template that will be created. +- `api_url` (string) - The CloudStack API endpoint we will connect to. It can + 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 + be specified via environment variable CLOUDSTACK_API_KEY, if set. + +- `secret_key` (string) - The secret key used to sign all API requests. It + can also be specified via environment variable CLOUDSTACK_SECRET_KEY, if + set. + +- `network` (string) - The name or ID of the network to connect the instance + to. + +- `service_offering` (string) - The name or ID of the service offering used + for the instance. + +- `source_iso` (string) - The name or ID of an ISO that will be mounted + before booting the instance. This option is mutually exclusive with + source_template. When using source_iso, both disk_offering and + hypervisor are required. + +- `source_template` (string) - The name or ID of the template used as base + template for the instance. This option is mutually exclusive with + source_iso. + +- `zone` (string) - The name or ID of the zone where the instance will be + created. + +- `template_os` (string) - The name or ID of the template OS for the new + template that will be created. + \ No newline at end of file diff --git a/website/pages/partials/builder/cloudstack/Config.mdx b/website/pages/partials/builder/cloudstack/Config.mdx index 607ce4dc6..0b401cd22 100644 --- a/website/pages/partials/builder/cloudstack/Config.mdx +++ b/website/pages/partials/builder/cloudstack/Config.mdx @@ -1,3 +1,2 @@ - Config holds all the details needed to configure the builder. diff --git a/website/pages/partials/builder/digitalocean/Config-not-required.mdx b/website/pages/partials/builder/digitalocean/Config-not-required.mdx index f26776899..c5329ad96 100644 --- a/website/pages/partials/builder/digitalocean/Config-not-required.mdx +++ b/website/pages/partials/builder/digitalocean/Config-not-required.mdx @@ -1,44 +1,46 @@ -- `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 - environment variable DIGITALOCEAN_API_URL. - -- `private_networking` (bool) - Set to true to enable private networking - for the droplet being created. This defaults to false, or not enabled. - -- `monitoring` (bool) - Set to true to enable monitoring for the droplet - being created. This defaults to false, or not enabled. - -- `ipv6` (bool) - Set to true to enable ipv6 for the droplet being - created. This defaults to false, or not enabled. - -- `snapshot_name` (string) - The name of the resulting snapshot that will - appear in your account. Defaults to `packer-{{timestamp}}` (see - configuration templates for more info). - -- `snapshot_regions` ([]string) - The regions of the resulting - snapshot that will appear in your account. - -- `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 - 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 - 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.) - -- `droplet_name` (string) - The name assigned to the droplet. DigitalOcean - sets the hostname of the machine to this value. - -- `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 - 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 Droplet. - -- `tags` ([]string) - Tags to apply to the droplet when it is created +- `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 + environment variable DIGITALOCEAN_API_URL. + +- `private_networking` (bool) - Set to true to enable private networking + for the droplet being created. This defaults to false, or not enabled. + +- `monitoring` (bool) - Set to true to enable monitoring for the droplet + being created. This defaults to false, or not enabled. + +- `ipv6` (bool) - Set to true to enable ipv6 for the droplet being + created. This defaults to false, or not enabled. + +- `snapshot_name` (string) - The name of the resulting snapshot that will + appear in your account. Defaults to `packer-{{timestamp}}` (see + configuration templates for more info). + +- `snapshot_regions` ([]string) - The regions of the resulting + snapshot that will appear in your account. + +- `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 + 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 + 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.) + +- `droplet_name` (string) - The name assigned to the droplet. DigitalOcean + sets the hostname of the machine to this value. + +- `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 + 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 Droplet. + +- `tags` ([]string) - Tags to apply to the droplet when it is created + \ No newline at end of file diff --git a/website/pages/partials/builder/digitalocean/Config-required.mdx b/website/pages/partials/builder/digitalocean/Config-required.mdx index 79df1f162..88c758b67 100644 --- a/website/pages/partials/builder/digitalocean/Config-required.mdx +++ b/website/pages/partials/builder/digitalocean/Config-required.mdx @@ -1,20 +1,21 @@ -- `api_token` (string) - The client TOKEN to use to access your account. It - can also be specified via environment variable DIGITALOCEAN_API_TOKEN, if - set. - -- `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. - See - https://developers.digitalocean.com/documentation/v2/#list-all-regions - for the accepted region names/slugs. - -- `size` (string) - The name (or slug) of the droplet size to use. See - https://developers.digitalocean.com/documentation/v2/#list-all-sizes - 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. +- `api_token` (string) - The client TOKEN to use to access your account. It + can also be specified via environment variable DIGITALOCEAN_API_TOKEN, if + set. + +- `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. + See + https://developers.digitalocean.com/documentation/v2/#list-all-regions + for the accepted region names/slugs. + +- `size` (string) - The name (or slug) of the droplet size to use. See + https://developers.digitalocean.com/documentation/v2/#list-all-sizes + 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. + \ No newline at end of file diff --git a/website/pages/partials/builder/docker/AwsAccessConfig-not-required.mdx b/website/pages/partials/builder/docker/AwsAccessConfig-not-required.mdx index db9a8bfa3..a07f57845 100644 --- a/website/pages/partials/builder/docker/AwsAccessConfig-not-required.mdx +++ b/website/pages/partials/builder/docker/AwsAccessConfig-not-required.mdx @@ -1,18 +1,19 @@ -- `aws_access_key` (string) - The AWS access key used to communicate with - AWS. Learn how to set - this. - -- `aws_secret_key` (string) - The AWS secret key used to communicate with - AWS. Learn how to set - this. - -- `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 - probably don't need it. This will also be read from the AWS_SESSION_TOKEN - environmental variable. - -- `aws_profile` (string) - The AWS shared credentials profile used to - communicate with AWS. Learn how to set - this. +- `aws_access_key` (string) - The AWS access key used to communicate with + AWS. Learn how to set + this. + +- `aws_secret_key` (string) - The AWS secret key used to communicate with + AWS. Learn how to set + this. + +- `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 + probably don't need it. This will also be read from the AWS_SESSION_TOKEN + environmental variable. + +- `aws_profile` (string) - The AWS shared credentials profile used to + communicate with AWS. Learn how to set + this. + \ No newline at end of file diff --git a/website/pages/partials/builder/docker/Config-not-required.mdx b/website/pages/partials/builder/docker/Config-not-required.mdx index 376a01f38..a22d89e36 100644 --- a/website/pages/partials/builder/docker/Config-not-required.mdx +++ b/website/pages/partials/builder/docker/Config-not-required.mdx @@ -1,59 +1,62 @@ -- `author` (string) - Set the author (e-mail) of a commit. - -- `changes` ([]string) - Dockerfile instructions to add to the commit. Example of instructions - are CMD, ENTRYPOINT, ENV, and EXPOSE. Example: [ "USER ubuntu", "WORKDIR - /app", "EXPOSE 8080" ] - -- `container_dir` (string) - The directory inside container to mount temp directory from host server - for work [file provisioner](/docs/provisioners/file). This defaults - 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 - 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. - -- `privileged` (bool) - If true, run the docker container with the `--privileged` flag. This - defaults to false if not set. - -- `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 - 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 - container. By default this is set to `["-d", "-i", "-t", "--entrypoint=/bin/sh", "--", "{{.Image}}"]` if you are using a linux - container, and `["-d", "-i", "-t", "--entrypoint=powershell", "--", "{{.Image}}"]` if you are running a windows container. `{{.Image}}` is a - template variable that corresponds to the image template option. Passing - the entrypoint option this way will make it the default entrypoint of - the resulting image, so running docker run -it --rm will start the - docker image from the /bin/sh shell interpreter; you could run a script - 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 - 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 - container is running as. If false, the owner will depend on the version - of docker installed in the system. Defaults to true. - -- `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 - 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 - pushing to dockerhub, see the docker post-processors - -- `login_password` (string) - The password to use to authenticate to login. - -- `login_server` (string) - The server address to login to. - -- `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. +- `author` (string) - Set the author (e-mail) of a commit. + +- `changes` ([]string) - Dockerfile instructions to add to the commit. Example of instructions + are CMD, ENTRYPOINT, ENV, and EXPOSE. Example: [ "USER ubuntu", "WORKDIR + /app", "EXPOSE 8080" ] + +- `container_dir` (string) - The directory inside container to mount temp directory from host server + for work [file provisioner](/docs/provisioners/file). This defaults + 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 + 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. + +- `privileged` (bool) - If true, run the docker container with the `--privileged` flag. This + defaults to false if not set. + +- `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 + 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 + container. By default this is set to `["-d", "-i", "-t", + "--entrypoint=/bin/sh", "--", "{{.Image}}"]` if you are using a linux + container, and `["-d", "-i", "-t", "--entrypoint=powershell", "--", + "{{.Image}}"]` if you are running a windows container. `{{.Image}}` is a + template variable that corresponds to the image template option. Passing + the entrypoint option this way will make it the default entrypoint of + the resulting image, so running docker run -it --rm will start the + docker image from the /bin/sh shell interpreter; you could run a script + 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 + 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 + container is running as. If false, the owner will depend on the version + of docker installed in the system. Defaults to true. + +- `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 + 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 + pushing to dockerhub, see the docker post-processors + +- `login_password` (string) - The password to use to authenticate to login. + +- `login_server` (string) - The server address to login to. + +- `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. + \ No newline at end of file diff --git a/website/pages/partials/builder/docker/Config-required.mdx b/website/pages/partials/builder/docker/Config-required.mdx index 0ce9b639a..0bc032777 100644 --- a/website/pages/partials/builder/docker/Config-required.mdx +++ b/website/pages/partials/builder/docker/Config-required.mdx @@ -1,14 +1,15 @@ -- `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 - the [artifice - post-processor](/docs/post-processors/artifice). - -- `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 - will be pulled from the Docker registry if it doesn't already exist. - -- `message` (string) - Set a message for the commit. +- `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 + the [artifice + post-processor](/docs/post-processors/artifice). + +- `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 + will be pulled from the Docker registry if it doesn't already exist. + +- `message` (string) - Set a message for the commit. + \ No newline at end of file diff --git a/website/pages/partials/builder/googlecompute/Config-not-required.mdx b/website/pages/partials/builder/googlecompute/Config-not-required.mdx index 13d843e03..d83332230 100644 --- a/website/pages/partials/builder/googlecompute/Config-not-required.mdx +++ b/website/pages/partials/builder/googlecompute/Config-not-required.mdx @@ -1,139 +1,139 @@ -- `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 - creating the file or using service accounts are above. - -- `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. - Example: - `"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. - -- `address` (string) - The name of a pre-allocated static external IP address. Note, must be - the name and not the actual IP address. - -- `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 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_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. - Defaults to pd-standard. - -- `image_name` (string) - The unique name of the resulting image. Defaults to - `packer-{{timestamp}}`. - -- `image_description` (string) - The description of the resulting image. - -- `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. - - example: - - ```json - { - "kmsKeyName": "projects/${project}/locations/${region}/keyRings/computeEngine/cryptoKeys/computeEngine/cryptoKeyVersions/4" - } - ``` - -- `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 - 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. - -- `instance_name` (string) - A name to give the launched instance. Beware that this must be unique. - 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". - -- `metadata` (map[string]string) - Metadata applied to the launched instance. - -- `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) - -- `network` (string) - The Google Compute network id or URL to use for the launched instance. - Defaults to "default". If the value is not a URL, it will be - 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 - instance. Defaults to project_id. - -- `omit_external_ip` (bool) - If true, the instance will not have an external IP. use_internal_ip must - be true if this property is true. - -- `on_host_maintenance` (string) - Sets Host Maintenance Option. Valid choices are `MIGRATE` and - `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". - -- `region` (string) - The region in which to launch the instance. Defaults to the region - hosting the specified zone. - -- `scopes` ([]string) - The service account scopes for launched - instance. Defaults to: - - ```json - [ - "https://www.googleapis.com/auth/userinfo.email", - "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 - 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. - -- `subnetwork` (string) - The Google Compute subnetwork id or URL to use for the launched - 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. - -- `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",` +- `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 + creating the file or using service accounts are above. + +- `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. + Example: + `"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. + +- `address` (string) - The name of a pre-allocated static external IP address. Note, must be + the name and not the actual IP address. + +- `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 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_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. + Defaults to pd-standard. + +- `image_name` (string) - The unique name of the resulting image. Defaults to + `packer-{{timestamp}}`. + +- `image_description` (string) - The description of the resulting image. + +- `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. + + example: + + ```json + { + "kmsKeyName": "projects/${project}/locations/${region}/keyRings/computeEngine/cryptoKeys/computeEngine/cryptoKeyVersions/4" + } + ``` + +- `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 + 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. + +- `instance_name` (string) - A name to give the launched instance. Beware that this must be unique. + 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". + +- `metadata` (map[string]string) - Metadata applied to the launched instance. + +- `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) + +- `network` (string) - The Google Compute network id or URL to use for the launched instance. + Defaults to "default". If the value is not a URL, it will be + 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 + instance. Defaults to project_id. + +- `omit_external_ip` (bool) - If true, the instance will not have an external IP. use_internal_ip must + be true if this property is true. + +- `on_host_maintenance` (string) - Sets Host Maintenance Option. Valid choices are `MIGRATE` and + `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". + +- `region` (string) - The region in which to launch the instance. Defaults to the region + hosting the specified zone. + +- `scopes` ([]string) - The service account scopes for launched + instance. Defaults to: + + ```json + [ + "https://www.googleapis.com/auth/userinfo.email", + "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 + 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. + +- `subnetwork` (string) - The Google Compute subnetwork id or URL to use for the launched + 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. + +- `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",` + \ No newline at end of file diff --git a/website/pages/partials/builder/googlecompute/Config-required.mdx b/website/pages/partials/builder/googlecompute/Config-required.mdx index ba9e0c308..3f364dd3b 100644 --- a/website/pages/partials/builder/googlecompute/Config-required.mdx +++ b/website/pages/partials/builder/googlecompute/Config-required.mdx @@ -1,15 +1,16 @@ -- `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 - specify source_image_family instead. If both source_image and - source_image_family are specified, source_image takes precedence. - Example: "debian-8-jessie-v20161027" - -- `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: - "debian-8". - -- `zone` (string) - The zone in which to launch the instance used to create the image. - Example: "us-central1-a" +- `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 + specify source_image_family instead. If both source_image and + source_image_family are specified, source_image takes precedence. + Example: "debian-8-jessie-v20161027" + +- `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: + "debian-8". + +- `zone` (string) - The zone in which to launch the instance used to create the image. + Example: "us-central1-a" + \ No newline at end of file diff --git a/website/pages/partials/builder/googlecompute/Config.mdx b/website/pages/partials/builder/googlecompute/Config.mdx index f78d2a727..63b5232d7 100644 --- a/website/pages/partials/builder/googlecompute/Config.mdx +++ b/website/pages/partials/builder/googlecompute/Config.mdx @@ -1,5 +1,4 @@ - Config is the configuration structure for the GCE builder. It stores both the publicly settable state as well as the privately generated state of the config object. diff --git a/website/pages/partials/builder/hyperone/Config-not-required.mdx b/website/pages/partials/builder/hyperone/Config-not-required.mdx index fdf15e95c..68f3208ee 100644 --- a/website/pages/partials/builder/hyperone/Config-not-required.mdx +++ b/website/pages/partials/builder/hyperone/Config-not-required.mdx @@ -1,81 +1,82 @@ -- `api_url` (string) - Custom API endpoint URL, compatible with HyperOne. - It can also be specified via environment variable HYPERONE_API_URL. - -- `token_login` (string) - Login (an e-mail) on HyperOne platform. Set this - if you want to fetch the token by SSH authentication. - -- `state_timeout` (duration string | ex: "1h5m2s") - Timeout for waiting on the API to complete - a request. Defaults to 5m. - -- `image_name` (string) - The name of the resulting image. Defaults to - `packer-{{timestamp}}` - (see configuration templates for more info). - -- `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_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 - [`dynamic_block`](/docs/configuration/from-1.5/expressions#dynamic-blocks) - will allow you to create those programatically. - -- `image_service` (string) - The service of the resulting image. - -- `vm_name` (string) - The name of the created server. - -- `vm_tags` (map[string]string) - Key/value pair tags to - add to the created server. - -- `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 - [`dynamic_block`](/docs/configuration/from-1.5/expressions#dynamic-blocks) - will allow you to create those programatically. - -- `disk_name` (string) - The name of the created disk. - -- `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. - -- `private_ip` (string) - The ID of the private IP within chosen network - that should be assigned to the created server. - -- `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 - with server's private IP. - -- `public_netadp_service` (string) - Custom service of public network adapter. - Can be useful when using custom api_url. Defaults to public. - -- `chroot_disk` (bool) - Chroot Disk -- `chroot_disk_size` (float32) - Chroot Disk Size -- `chroot_disk_type` (string) - Chroot Disk Type -- `chroot_mount_path` (string) - Chroot Mount Path -- `chroot_mounts` ([][]string) - Chroot Mounts -- `chroot_copy_files` ([]string) - Chroot Copy Files -- `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 - 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}}`. - -- `mount_options` ([]string) - Mount Options -- `mount_partition` (string) - Mount Partition -- `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 and filesystem - 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 - root device and before the extra mount and copy steps. The device and - mount path are provided by `{{.Device}}` and `{{.MountPath}}`. - -- `ssh_keys` ([]string) - List of SSH keys by name or id to be added - 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. +- `api_url` (string) - Custom API endpoint URL, compatible with HyperOne. + It can also be specified via environment variable HYPERONE_API_URL. + +- `token_login` (string) - Login (an e-mail) on HyperOne platform. Set this + if you want to fetch the token by SSH authentication. + +- `state_timeout` (duration string | ex: "1h5m2s") - Timeout for waiting on the API to complete + a request. Defaults to 5m. + +- `image_name` (string) - The name of the resulting image. Defaults to + `packer-{{timestamp}}` + (see configuration templates for more info). + +- `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_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 + [`dynamic_block`](/docs/configuration/from-1.5/expressions#dynamic-blocks) + will allow you to create those programatically. + +- `image_service` (string) - The service of the resulting image. + +- `vm_name` (string) - The name of the created server. + +- `vm_tags` (map[string]string) - Key/value pair tags to + add to the created server. + +- `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 + [`dynamic_block`](/docs/configuration/from-1.5/expressions#dynamic-blocks) + will allow you to create those programatically. + +- `disk_name` (string) - The name of the created disk. + +- `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. + +- `private_ip` (string) - The ID of the private IP within chosen network + that should be assigned to the created server. + +- `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 + with server's private IP. + +- `public_netadp_service` (string) - Custom service of public network adapter. + Can be useful when using custom api_url. Defaults to public. + +- `chroot_disk` (bool) - Chroot Disk +- `chroot_disk_size` (float32) - Chroot Disk Size +- `chroot_disk_type` (string) - Chroot Disk Type +- `chroot_mount_path` (string) - Chroot Mount Path +- `chroot_mounts` ([][]string) - Chroot Mounts +- `chroot_copy_files` ([]string) - Chroot Copy Files +- `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 + 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}}`. + +- `mount_options` ([]string) - Mount Options +- `mount_partition` (string) - Mount Partition +- `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 and filesystem + 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 + root device and before the extra mount and copy steps. The device and + mount path are provided by `{{.Device}}` and `{{.MountPath}}`. + +- `ssh_keys` ([]string) - List of SSH keys by name or id to be added + 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. + \ No newline at end of file diff --git a/website/pages/partials/builder/hyperone/Config-required.mdx b/website/pages/partials/builder/hyperone/Config-required.mdx index 8d9846d25..f5c6f4c2d 100644 --- a/website/pages/partials/builder/hyperone/Config-required.mdx +++ b/website/pages/partials/builder/hyperone/Config-required.mdx @@ -1,15 +1,16 @@ -- `token` (string) - The authentication token used to access your account. - 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: - -- `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 - account authentication. - -- `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. - -- `disk_size` (float32) - Size of the created disk, in GiB. +- `token` (string) - The authentication token used to access your account. + 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: + +- `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 + account authentication. + +- `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. + +- `disk_size` (float32) - Size of the created disk, in GiB. + \ No newline at end of file diff --git a/website/pages/partials/builder/hyperv/common/CommonConfig-not-required.mdx b/website/pages/partials/builder/hyperv/common/CommonConfig-not-required.mdx index 17d5bd97d..74f9914c5 100644 --- a/website/pages/partials/builder/hyperv/common/CommonConfig-not-required.mdx +++ b/website/pages/partials/builder/hyperv/common/CommonConfig-not-required.mdx @@ -1,128 +1,127 @@ -- `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 - defaults to "32" MiB. - -- `memory` (uint) - The amount, in megabytes, of RAM to assign to the - VM. By default, this is 1 GB. - -- `secondary_iso_images` ([]string) - A list of ISO paths to - 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 - media. By default, no secondary ISO will be attached. - -- `disk_additional_size` ([]uint) - The size or sizes of any - 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 - will be attached to the SCSI interface only. The builder uses - expandable rather than fixed-size virtual hard disks, so the actual - file representing the disk will not use the full size unless it is - full. - -- `guest_additions_mode` (string) - If set to attach then attach and - mount the ISO image specified in guest_additions_path. If set to - none then guest additions are not attached and mounted; This is the - default. - -- `guest_additions_path` (string) - The path to the ISO image for guest - additions. - -- `vm_name` (string) - This is the name of the new virtual machine, - without the file extension. By default this is "packer-BUILDNAME", - where "BUILDNAME" is the name of the build. - -- `switch_name` (string) - The name of the switch to connect the virtual - 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 - that is up and running. - -- `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 - set on the switch's network card. If this value is set it should match - the VLAN specified in by vlan_id. - -- `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 - no delimiters, for example "0000deadbeef". - -- `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 - then VLANs are not set on the virtual machine's network card. - -- `cpus` (uint) - The number of CPUs the virtual machine should use. If - this isn't specified, the default is 1 CPU. - -- `generation` (uint) - The Hyper-V generation for the virtual machine. By - default, this is 1. Generation 2 Hyper-V virtual machines do not support - floppy drives. In this scenario use secondary_iso_images instead. Hard - drives and DVD drives will also be SCSI and not IDE. - -- `enable_mac_spoofing` (bool) - If true enable MAC address spoofing - for the virtual machine. This defaults to false. - -- `enable_dynamic_memory` (bool) - If true enable dynamic memory for - the virtual machine. This defaults to false. - -- `enable_secure_boot` (bool) - If true enable secure boot for the - virtual machine. This defaults to false. See secure_boot_template - below for additional settings. - -- `secure_boot_template` (string) - The secure boot template to be - configured. Valid values are "MicrosoftWindows" (Windows) or - "MicrosoftUEFICertificateAuthority" (Linux). This only takes effect if - enable_secure_boot is set to "true". This defaults to "MicrosoftWindows". - -- `enable_virtualization_extensions` (bool) - If true enable - virtualization extensions for the virtual machine. This defaults to - false. For nested virtualization you need to enable MAC spoofing, - disable dynamic memory and have at least 4GB of RAM assigned to the - virtual machine. - -- `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 - which, for most systems, will evaluate to - `%USERPROFILE%/AppData/Local/Temp`. - - 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 - automatically generated by Packer to ensure the directory name is - unique. - -- `configuration_version` (string) - This allows you to set the vm version when calling New-VM to generate - the vm. - -- `keep_registered` (bool) - If "true", Packer will not delete the VM from - The Hyper-V manager. - -- `communicator` (string) - Communicator -- `skip_compaction` (bool) - If true skip compacting the hard disk for - the virtual machine when exporting. This defaults to false. - -- `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 - option. The resulting VHD/VHDX file will be output to - /Virtual Hard Disks. By default this option is false - and Packer will export the VM to output_directory. - -- `headless` (bool) - Packer defaults to building Hyper-V virtual - 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 - console. - -- `first_boot_device` (string) - When configured, determines the device or device type that is given preferential - treatment when choosing a boot device. - - For Generation 1: - - - `IDE` - - `CD` _or_ `DVD` - - `Floppy` - - `NET` - - For Generation 2: - - - `IDE:x:y` - - `SCSI:x:y` - - `CD` _or_ `DVD` - - `NET` +- `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 + defaults to "32" MiB. + +- `memory` (uint) - The amount, in megabytes, of RAM to assign to the + VM. By default, this is 1 GB. + +- `secondary_iso_images` ([]string) - A list of ISO paths to + 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 + media. By default, no secondary ISO will be attached. + +- `disk_additional_size` ([]uint) - The size or sizes of any + 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 + will be attached to the SCSI interface only. The builder uses + expandable rather than fixed-size virtual hard disks, so the actual + file representing the disk will not use the full size unless it is + full. + +- `guest_additions_mode` (string) - If set to attach then attach and + mount the ISO image specified in guest_additions_path. If set to + none then guest additions are not attached and mounted; This is the + default. + +- `guest_additions_path` (string) - The path to the ISO image for guest + additions. + +- `vm_name` (string) - This is the name of the new virtual machine, + without the file extension. By default this is "packer-BUILDNAME", + where "BUILDNAME" is the name of the build. + +- `switch_name` (string) - The name of the switch to connect the virtual + 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 + that is up and running. + +- `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 + set on the switch's network card. If this value is set it should match + the VLAN specified in by vlan_id. + +- `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 + no delimiters, for example "0000deadbeef". + +- `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 + then VLANs are not set on the virtual machine's network card. + +- `cpus` (uint) - The number of CPUs the virtual machine should use. If + this isn't specified, the default is 1 CPU. + +- `generation` (uint) - The Hyper-V generation for the virtual machine. By + default, this is 1. Generation 2 Hyper-V virtual machines do not support + floppy drives. In this scenario use secondary_iso_images instead. Hard + drives and DVD drives will also be SCSI and not IDE. + +- `enable_mac_spoofing` (bool) - If true enable MAC address spoofing + for the virtual machine. This defaults to false. + +- `enable_dynamic_memory` (bool) - If true enable dynamic memory for + the virtual machine. This defaults to false. + +- `enable_secure_boot` (bool) - If true enable secure boot for the + virtual machine. This defaults to false. See secure_boot_template + below for additional settings. + +- `secure_boot_template` (string) - The secure boot template to be + configured. Valid values are "MicrosoftWindows" (Windows) or + "MicrosoftUEFICertificateAuthority" (Linux). This only takes effect if + enable_secure_boot is set to "true". This defaults to "MicrosoftWindows". + +- `enable_virtualization_extensions` (bool) - If true enable + virtualization extensions for the virtual machine. This defaults to + false. For nested virtualization you need to enable MAC spoofing, + disable dynamic memory and have at least 4GB of RAM assigned to the + virtual machine. + +- `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 + which, for most systems, will evaluate to + `%USERPROFILE%/AppData/Local/Temp`. + + 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 + automatically generated by Packer to ensure the directory name is + unique. + +- `configuration_version` (string) - This allows you to set the vm version when calling New-VM to generate + the vm. + +- `keep_registered` (bool) - If "true", Packer will not delete the VM from + The Hyper-V manager. + +- `communicator` (string) - Communicator +- `skip_compaction` (bool) - If true skip compacting the hard disk for + the virtual machine when exporting. This defaults to false. + +- `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 + option. The resulting VHD/VHDX file will be output to + /Virtual Hard Disks. By default this option is false + and Packer will export the VM to output_directory. + +- `headless` (bool) - Packer defaults to building Hyper-V virtual + 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 + console. + +- `first_boot_device` (string) - When configured, determines the device or device type that is given preferential + treatment when choosing a boot device. + + For Generation 1: + - `IDE` + - `CD` *or* `DVD` + - `Floppy` + - `NET` + + For Generation 2: + - `IDE:x:y` + - `SCSI:x:y` + - `CD` *or* `DVD` + - `NET` + \ No newline at end of file diff --git a/website/pages/partials/builder/hyperv/common/OutputConfig-not-required.mdx b/website/pages/partials/builder/hyperv/common/OutputConfig-not-required.mdx index 77f3be65d..89654a159 100644 --- a/website/pages/partials/builder/hyperv/common/OutputConfig-not-required.mdx +++ b/website/pages/partials/builder/hyperv/common/OutputConfig-not-required.mdx @@ -1,9 +1,10 @@ -- `output_directory` (string) - This setting specifies the directory that - 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 - absolute. If relative, the path is relative to the working directory - packer is executed from. This directory must not exist or, if - created, must be empty prior to running the builder. By default this is - "output-BUILDNAME" where "BUILDNAME" is the name of the build. +- `output_directory` (string) - This setting specifies the directory that + 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 + absolute. If relative, the path is relative to the working directory + packer is executed from. This directory must not exist or, if + created, must be empty prior to running the builder. By default this is + "output-BUILDNAME" where "BUILDNAME" is the name of the build. + \ No newline at end of file diff --git a/website/pages/partials/builder/hyperv/iso/Builder.mdx b/website/pages/partials/builder/hyperv/iso/Builder.mdx index 882c75759..ffb9a0873 100644 --- a/website/pages/partials/builder/hyperv/iso/Builder.mdx +++ b/website/pages/partials/builder/hyperv/iso/Builder.mdx @@ -1,4 +1,3 @@ - Builder implements packer.Builder and builds the actual Hyperv images. diff --git a/website/pages/partials/builder/hyperv/iso/Config-not-required.mdx b/website/pages/partials/builder/hyperv/iso/Config-not-required.mdx index 163b2b7f5..f9c805c4f 100644 --- a/website/pages/partials/builder/hyperv/iso/Config-not-required.mdx +++ b/website/pages/partials/builder/hyperv/iso/Config-not-required.mdx @@ -1,22 +1,23 @@ -- `disk_size` (uint) - The size, in megabytes, of the hard disk to create - for the VM. By default, this is 40 GB. - -- `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 - supported by various exotic operating systems, but this emulation requires - additional overhead and should only be used if absolutely necessary. - -- `differencing_disk` (bool) - If true enables differencing disks. Only - the changes will be written to the new disk. This is especially useful if - 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. +- `disk_size` (uint) - The size, in megabytes, of the hard disk to create + for the VM. By default, this is 40 GB. + +- `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 + supported by various exotic operating systems, but this emulation requires + additional overhead and should only be used if absolutely necessary. + +- `differencing_disk` (bool) - If true enables differencing disks. Only + the changes will be written to the new disk. This is especially useful if + 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. + \ No newline at end of file diff --git a/website/pages/partials/builder/hyperv/vmcx/Builder.mdx b/website/pages/partials/builder/hyperv/vmcx/Builder.mdx index 339182ec8..5e0c3c265 100644 --- a/website/pages/partials/builder/hyperv/vmcx/Builder.mdx +++ b/website/pages/partials/builder/hyperv/vmcx/Builder.mdx @@ -1,4 +1,3 @@ - Builder implements packer.Builder and builds the actual Hyperv images. diff --git a/website/pages/partials/builder/hyperv/vmcx/Config-not-required.mdx b/website/pages/partials/builder/hyperv/vmcx/Config-not-required.mdx index 4da6bda6e..688686134 100644 --- a/website/pages/partials/builder/hyperv/vmcx/Config-not-required.mdx +++ b/website/pages/partials/builder/hyperv/vmcx/Config-not-required.mdx @@ -1,23 +1,24 @@ -- `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_snapshot_name` (string) - The name of a snapshot in the - 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 - be chosen as the starting point for the new VM. - -- `clone_all_snapshots` (bool) - If set to true all snapshots - present in the source machine will be copied when the machine is - cloned. The final result of the build will be an exported virtual - machine that contains all the snapshots of the parent. - -- `differencing_disk` (bool) - If true enables differencing disks. Only - the changes will be written to the new disk. This is especially useful if - 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: +- `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_snapshot_name` (string) - The name of a snapshot in the + 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 + be chosen as the starting point for the new VM. + +- `clone_all_snapshots` (bool) - If set to true all snapshots + present in the source machine will be copied when the machine is + cloned. The final result of the build will be an exported virtual + machine that contains all the snapshots of the parent. + +- `differencing_disk` (bool) - If true enables differencing disks. Only + the changes will be written to the new disk. This is especially useful if + 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: + \ No newline at end of file diff --git a/website/pages/partials/builder/lxc/Config-not-required.mdx b/website/pages/partials/builder/lxc/Config-not-required.mdx index 753a24554..a3a05a0a4 100644 --- a/website/pages/partials/builder/lxc/Config-not-required.mdx +++ b/website/pages/partials/builder/lxc/Config-not-required.mdx @@ -1,40 +1,41 @@ -- `output_directory` (string) - The directory in which to save the exported - tar.gz. Defaults to `output-` in the current directory. - -- `container_name` (string) - The name of the LXC container. Usually stored - in `/var/lib/lxc/containers/`. Defaults to - `packer-`. - -- `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 - `{{.Command}}`; i.e. no wrapper. - -- `init_timeout` (duration string | ex: "1h5m2s") - The timeout in seconds to wait for the the - container to start. Defaults to 20 seconds. - -- `create_options` ([]string) - Options to pass to lxc-create. For - instance, you can specify a custom LXC container configuration file with - ["-f", "/path/to/lxc.conf"]. Defaults to []. See man 1 lxc-create for - available options. - -- `start_options` ([]string) - Options to pass to lxc-start. For - instance, you can override parameters from the LXC container configuration - file via ["--define", "KEY=VALUE"]. Defaults to []. See - man 1 lxc-start for available options. - -- `attach_options` ([]string) - Options to pass to lxc-attach. For - instance, you can prevent the container from inheriting the host machine's - environment by specifying ["--clear-env"]. Defaults to []. See - man 1 lxc-attach for available options. - -- `template_parameters` ([]string) - Options to pass to the given - lxc-template command, usually located in - `/usr/share/lxc/templates/lxc-`. Note: This gets passed as - ARGV to the template command. Ensure you have an array of strings, as a - 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. +- `output_directory` (string) - The directory in which to save the exported + tar.gz. Defaults to `output-` in the current directory. + +- `container_name` (string) - The name of the LXC container. Usually stored + in `/var/lib/lxc/containers/`. Defaults to + `packer-`. + +- `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 + `{{.Command}}`; i.e. no wrapper. + +- `init_timeout` (duration string | ex: "1h5m2s") - The timeout in seconds to wait for the the + container to start. Defaults to 20 seconds. + +- `create_options` ([]string) - Options to pass to lxc-create. For + instance, you can specify a custom LXC container configuration file with + ["-f", "/path/to/lxc.conf"]. Defaults to []. See man 1 lxc-create for + available options. + +- `start_options` ([]string) - Options to pass to lxc-start. For + instance, you can override parameters from the LXC container configuration + file via ["--define", "KEY=VALUE"]. Defaults to []. See + man 1 lxc-start for available options. + +- `attach_options` ([]string) - Options to pass to lxc-attach. For + instance, you can prevent the container from inheriting the host machine's + environment by specifying ["--clear-env"]. Defaults to []. See + man 1 lxc-attach for available options. + +- `template_parameters` ([]string) - Options to pass to the given + lxc-template command, usually located in + `/usr/share/lxc/templates/lxc-`. Note: This gets passed as + ARGV to the template command. Ensure you have an array of strings, as a + 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. + \ No newline at end of file diff --git a/website/pages/partials/builder/lxc/Config-required.mdx b/website/pages/partials/builder/lxc/Config-required.mdx index 2a7e07dce..46ef7e120 100644 --- a/website/pages/partials/builder/lxc/Config-required.mdx +++ b/website/pages/partials/builder/lxc/Config-required.mdx @@ -1,8 +1,9 @@ -- `config_file` (string) - The path to the lxc configuration file. - -- `template_name` (string) - The LXC template name to use. - -- `template_environment_vars` ([]string) - Environmental variables to - use to build the template with. +- `config_file` (string) - The path to the lxc configuration file. + +- `template_name` (string) - The LXC template name to use. + +- `template_environment_vars` ([]string) - Environmental variables to + use to build the template with. + \ No newline at end of file diff --git a/website/pages/partials/builder/lxd/Config-not-required.mdx b/website/pages/partials/builder/lxd/Config-not-required.mdx index 9f148d888..c804822b9 100644 --- a/website/pages/partials/builder/lxd/Config-not-required.mdx +++ b/website/pages/partials/builder/lxd/Config-not-required.mdx @@ -1,22 +1,23 @@ -- `output_image` (string) - The name of the output artifact. Defaults to - name. - -- `container_name` (string) - Container Name -- `command_wrapper` (string) - Lets you prefix all builder commands, such as - with ssh for a remote build host. Defaults to `{{.Command}}`; i.e. no - wrapper. - -- `profile` (string) - Profile -- `init_sleep` (string) - The number of seconds to sleep between launching - the LXD instance and provisioning it; defaults to 3 seconds. - -- `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 - set the description, but can be used to set anything needed. See - https://stgraber.org/2016/03/30/lxd-2-0-image-management-512/ - 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. +- `output_image` (string) - The name of the output artifact. Defaults to + name. + +- `container_name` (string) - Container Name +- `command_wrapper` (string) - Lets you prefix all builder commands, such as + with ssh for a remote build host. Defaults to `{{.Command}}`; i.e. no + wrapper. + +- `profile` (string) - Profile +- `init_sleep` (string) - The number of seconds to sleep between launching + the LXD instance and provisioning it; defaults to 3 seconds. + +- `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 + set the description, but can be used to set anything needed. See + https://stgraber.org/2016/03/30/lxd-2-0-image-management-512/ + 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. + \ No newline at end of file diff --git a/website/pages/partials/builder/lxd/Config-required.mdx b/website/pages/partials/builder/lxd/Config-required.mdx index 781918447..c99958ad1 100644 --- a/website/pages/partials/builder/lxd/Config-required.mdx +++ b/website/pages/partials/builder/lxd/Config-required.mdx @@ -1,5 +1,6 @@ -- `image` (string) - The source image to use when creating the build - container. This can be a (local or remote) image (name or fingerprint). - E.G. my-base-image, ubuntu-daily:x, 08fababf6f27, ... +- `image` (string) - The source image to use when creating the build + container. This can be a (local or remote) image (name or fingerprint). + E.G. my-base-image, ubuntu-daily:x, 08fababf6f27, ... + \ No newline at end of file diff --git a/website/pages/partials/builder/ncloud/Config-not-required.mdx b/website/pages/partials/builder/ncloud/Config-not-required.mdx index 3f70e492f..b0e934442 100644 --- a/website/pages/partials/builder/ncloud/Config-not-required.mdx +++ b/website/pages/partials/builder/ncloud/Config-not-required.mdx @@ -1,31 +1,32 @@ -- `access_key` (string) - Access Key -- `secret_key` (string) - Secret Key -- `member_server_image_no` (string) - Previous image code. If there is an - image previously created, it can be used to create a new image. - (server_image_product_code is required if not specified) - -- `server_image_name` (string) - Name 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 - 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. - -- `block_storage_size` (int) - You can add block storage ranging from 10 - GB to 2000 GB, in increments of 10 GB. - -- `region` (string) - Name of the region where you want to create an image. - (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_key` (string) - Access Key +- `secret_key` (string) - Secret Key +- `member_server_image_no` (string) - Previous image code. If there is an + image previously created, it can be used to create a new image. + (server_image_product_code is required if not specified) + +- `server_image_name` (string) - Name 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 + 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. + +- `block_storage_size` (int) - You can add block storage ranging from 10 + GB to 2000 GB, in increments of 10 GB. + +- `region` (string) - Name of the region where you want to create an image. + (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. + \ No newline at end of file diff --git a/website/pages/partials/builder/ncloud/Config-required.mdx b/website/pages/partials/builder/ncloud/Config-required.mdx index a8a731a31..a30e0cf7d 100644 --- a/website/pages/partials/builder/ncloud/Config-required.mdx +++ b/website/pages/partials/builder/ncloud/Config-required.mdx @@ -1,6 +1,7 @@ -- `server_image_product_code` (string) - Product code of an image to create. - (member_server_image_no is required if not specified) - -- `server_product_code` (string) - Product (spec) code to create. +- `server_image_product_code` (string) - Product code of an image to create. + (member_server_image_no is required if not specified) + +- `server_product_code` (string) - Product (spec) code to create. + \ No newline at end of file diff --git a/website/pages/partials/builder/ncloud/Config.mdx b/website/pages/partials/builder/ncloud/Config.mdx index c44a8beb1..7a02a6c27 100644 --- a/website/pages/partials/builder/ncloud/Config.mdx +++ b/website/pages/partials/builder/ncloud/Config.mdx @@ -1,3 +1,2 @@ - Config is structure to use packer builder plugin for Naver Cloud Platform diff --git a/website/pages/partials/builder/openstack/AccessConfig-not-required.mdx b/website/pages/partials/builder/openstack/AccessConfig-not-required.mdx index 56c86e3a3..1c713fca0 100644 --- a/website/pages/partials/builder/openstack/AccessConfig-not-required.mdx +++ b/website/pages/partials/builder/openstack/AccessConfig-not-required.mdx @@ -1,54 +1,55 @@ -- `user_id` (string) - Sets username - -- `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 - environment variable OS_TENANT_NAME or OS_TENANT_ID, if set. Tenant is - also called Project in later versions of OpenStack. - -- `tenant_name` (string) - Tenant Name -- `domain_id` (string) - Domain ID -- `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 - 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 - connection. By default this is false. - -- `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 - variable OS_REGION_NAME, if set. - -- `endpoint_type` (string) - The endpoint type to use. Can be any of "internal", "internalURL", - "admin", "adminURL", "public", and "publicURL". By default this is - "public". - -- `cacert` (string) - Custom CA certificate file path. If omitted the OS_CACERT environment - variable can be used. - -- `cert` (string) - Client certificate file path for SSL client authentication. If omitted - the OS_CERT environment variable can be used. - -- `key` (string) - Client private key file path for SSL client authentication. If omitted - the OS_KEY environment variable can be used. - -- `token` (string) - the token (id) to use with token based authorization. Packer will use - the environment variable OS_TOKEN, if set. - -- `application_credential_name` (string) - The application credential name to use with application credential based - authorization. Packer will use the environment variable - OS_APPLICATION_CREDENTIAL_NAME, if set. - -- `application_credential_id` (string) - The application credential id to use with application credential based - authorization. Packer will use the environment variable - OS_APPLICATION_CREDENTIAL_ID, if set. - -- `application_credential_secret` (string) - The application credential secret to use with application credential - based authorization. Packer will use the environment variable - 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. +- `user_id` (string) - Sets username + +- `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 + environment variable OS_TENANT_NAME or OS_TENANT_ID, if set. Tenant is + also called Project in later versions of OpenStack. + +- `tenant_name` (string) - Tenant Name +- `domain_id` (string) - Domain ID +- `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 + 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 + connection. By default this is false. + +- `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 + variable OS_REGION_NAME, if set. + +- `endpoint_type` (string) - The endpoint type to use. Can be any of "internal", "internalURL", + "admin", "adminURL", "public", and "publicURL". By default this is + "public". + +- `cacert` (string) - Custom CA certificate file path. If omitted the OS_CACERT environment + variable can be used. + +- `cert` (string) - Client certificate file path for SSL client authentication. If omitted + the OS_CERT environment variable can be used. + +- `key` (string) - Client private key file path for SSL client authentication. If omitted + the OS_KEY environment variable can be used. + +- `token` (string) - the token (id) to use with token based authorization. Packer will use + the environment variable OS_TOKEN, if set. + +- `application_credential_name` (string) - The application credential name to use with application credential based + authorization. Packer will use the environment variable + OS_APPLICATION_CREDENTIAL_NAME, if set. + +- `application_credential_id` (string) - The application credential id to use with application credential based + authorization. Packer will use the environment variable + OS_APPLICATION_CREDENTIAL_ID, if set. + +- `application_credential_secret` (string) - The application credential secret to use with application credential + based authorization. Packer will use the environment variable + 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. + \ No newline at end of file diff --git a/website/pages/partials/builder/openstack/AccessConfig-required.mdx b/website/pages/partials/builder/openstack/AccessConfig-required.mdx index a1cbb90c3..1cd22c5dd 100644 --- a/website/pages/partials/builder/openstack/AccessConfig-required.mdx +++ b/website/pages/partials/builder/openstack/AccessConfig-required.mdx @@ -1,15 +1,16 @@ -- `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 - OS_USERID, if set. This is not required if using access token or - application credential instead of password, or if using cloud.yaml. - -- `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 - not required if using access token or application credential instead of - 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. +- `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 + OS_USERID, if set. This is not required if using access token or + application credential instead of password, or if using cloud.yaml. + +- `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 + not required if using access token or application credential instead of + 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. + \ No newline at end of file diff --git a/website/pages/partials/builder/openstack/AccessConfig.mdx b/website/pages/partials/builder/openstack/AccessConfig.mdx index 0508fd3b0..f92fbd550 100644 --- a/website/pages/partials/builder/openstack/AccessConfig.mdx +++ b/website/pages/partials/builder/openstack/AccessConfig.mdx @@ -1,3 +1,2 @@ - AccessConfig is for common configuration related to openstack access diff --git a/website/pages/partials/builder/openstack/ImageConfig-not-required.mdx b/website/pages/partials/builder/openstack/ImageConfig-not-required.mdx index a55387916..8c962fa1f 100644 --- a/website/pages/partials/builder/openstack/ImageConfig-not-required.mdx +++ b/website/pages/partials/builder/openstack/ImageConfig-not-required.mdx @@ -1,16 +1,17 @@ -- `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_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 - shared. - -- `image_disk_format` (string) - Disk format of the resulting image. This option works if - use_blockstorage_volume is true. - -- `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. +- `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_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 + shared. + +- `image_disk_format` (string) - Disk format of the resulting image. This option works if + use_blockstorage_volume is true. + +- `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. + \ No newline at end of file diff --git a/website/pages/partials/builder/openstack/ImageConfig-required.mdx b/website/pages/partials/builder/openstack/ImageConfig-required.mdx index ea4cb6e7d..880a58d48 100644 --- a/website/pages/partials/builder/openstack/ImageConfig-required.mdx +++ b/website/pages/partials/builder/openstack/ImageConfig-required.mdx @@ -1,3 +1,4 @@ -- `image_name` (string) - The name of the resulting image. +- `image_name` (string) - The name of the resulting image. + \ No newline at end of file diff --git a/website/pages/partials/builder/openstack/ImageConfig.mdx b/website/pages/partials/builder/openstack/ImageConfig.mdx index ba7828a09..45f731377 100644 --- a/website/pages/partials/builder/openstack/ImageConfig.mdx +++ b/website/pages/partials/builder/openstack/ImageConfig.mdx @@ -1,3 +1,2 @@ - ImageConfig is for common configuration related to creating Images. diff --git a/website/pages/partials/builder/openstack/ImageFilter-not-required.mdx b/website/pages/partials/builder/openstack/ImageFilter-not-required.mdx index 5c001b824..5d1bef3be 100644 --- a/website/pages/partials/builder/openstack/ImageFilter-not-required.mdx +++ b/website/pages/partials/builder/openstack/ImageFilter-not-required.mdx @@ -1,8 +1,9 @@ -- `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 - 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. +- `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 + 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. + \ No newline at end of file diff --git a/website/pages/partials/builder/openstack/ImageFilterOptions-not-required.mdx b/website/pages/partials/builder/openstack/ImageFilterOptions-not-required.mdx index 89efa4a8b..74129b434 100644 --- a/website/pages/partials/builder/openstack/ImageFilterOptions-not-required.mdx +++ b/website/pages/partials/builder/openstack/ImageFilterOptions-not-required.mdx @@ -1,7 +1,7 @@ -- `name` (string) - Name -- `owner` (string) - Owner -- `tags` ([]string) - Tags -- `visibility` (string) - Visibility -- `properties` (map[string]string) - Properties +- `name` (string) - Name +- `owner` (string) - Owner +- `tags` ([]string) - Tags +- `visibility` (string) - Visibility +- `properties` (map[string]string) - Properties \ No newline at end of file diff --git a/website/pages/partials/builder/openstack/RunConfig-not-required.mdx b/website/pages/partials/builder/openstack/RunConfig-not-required.mdx index 3350c1550..b8090676f 100644 --- a/website/pages/partials/builder/openstack/RunConfig-not-required.mdx +++ b/website/pages/partials/builder/openstack/RunConfig-not-required.mdx @@ -1,93 +1,94 @@ -- `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 - 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`. - Useful on dual stacked instances where the default behavior is to - connect via whichever IP address is returned first from the OpenStack - API. - -- `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 - required for some OpenStack clusters. - -- `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. - -- `floating_ip_network` (string) - The ID or name of an external network that can be used for creation of a - new floating IP. - -- `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 - the floating ip association on multi-homed instances. The association - otherwise depends on a first-returned-interface policy which could fail - if the network to which it is connected is unreachable from the floating - IP network. - -- `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 - 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 - builds concurrently, or if other processes are assigning and using - floating IPs in the same openstack project while packer is running, you - should not set this to true. Defaults to false. - -- `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. - -- `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. - 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. - -- `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. - -- `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. - -- `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 - size of 255 bytes each. - -- `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 - default this is false. - -- `config_drive` (bool) - Whether or not nova should use ConfigDrive for cloud-init metadata. - -- `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 - Compute service local volume (default). - -- `volume_name` (string) - Name of the Block Storage service volume. If this isn't specified, - random string will be used. - -- `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. - -- `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 - source image bytes size. Note that in some cases this needs to be - specified, if use_blockstorage_volume is true. - -- `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 - instance and Block Storage volume availability zones aren't specified, - the default enforced by your OpenStack cluster will be used. - -- `openstack_provider` (string) - Not really used, but here for BC - -- `use_floating_ip` (bool) - _Deprecated_ use `floating_ip` or `floating_ip_pool` instead. +- `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 + 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`. + Useful on dual stacked instances where the default behavior is to + connect via whichever IP address is returned first from the OpenStack + API. + +- `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 + required for some OpenStack clusters. + +- `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. + +- `floating_ip_network` (string) - The ID or name of an external network that can be used for creation of a + new floating IP. + +- `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 + the floating ip association on multi-homed instances. The association + otherwise depends on a first-returned-interface policy which could fail + if the network to which it is connected is unreachable from the floating + IP network. + +- `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 + 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 + builds concurrently, or if other processes are assigning and using + floating IPs in the same openstack project while packer is running, you + should not set this to true. Defaults to false. + +- `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. + +- `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. + 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. + +- `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. + +- `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. + +- `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 + size of 255 bytes each. + +- `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 + default this is false. + +- `config_drive` (bool) - Whether or not nova should use ConfigDrive for cloud-init metadata. + +- `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 + Compute service local volume (default). + +- `volume_name` (string) - Name of the Block Storage service volume. If this isn't specified, + random string will be used. + +- `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. + +- `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 + source image bytes size. Note that in some cases this needs to be + specified, if use_blockstorage_volume is true. + +- `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 + instance and Block Storage volume availability zones aren't specified, + the default enforced by your OpenStack cluster will be used. + +- `openstack_provider` (string) - Not really used, but here for BC + +- `use_floating_ip` (bool) - *Deprecated* use `floating_ip` or `floating_ip_pool` instead. + \ No newline at end of file diff --git a/website/pages/partials/builder/openstack/RunConfig-required.mdx b/website/pages/partials/builder/openstack/RunConfig-required.mdx index 7bf5b8209..53b22d8d2 100644 --- a/website/pages/partials/builder/openstack/RunConfig-required.mdx +++ b/website/pages/partials/builder/openstack/RunConfig-required.mdx @@ -1,59 +1,60 @@ -- `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 - completely custom SSH settings, the source image must have cloud-init - 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 - providing source_image and only either of them can be specified. - -- `source_image_filter` (ImageFilter) - Filters used to populate filter options. Example: - - ```json - { - "source_image_filter": { - "filters": { - "name": "ubuntu-16.04", - "visibility": "protected", - "owner": "d1a588cf4b0743344508dc145649372d1", - "tags": ["prod", "ready"], - "properties": { - "os_distro": "ubuntu" +- `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 + completely custom SSH settings, the source image must have cloud-init + 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 + providing source_image and only either of them can be specified. + +- `source_image_filter` (ImageFilter) - Filters used to populate filter options. Example: + + ```json + { + "source_image_filter": { + "filters": { + "name": "ubuntu-16.04", + "visibility": "protected", + "owner": "d1a588cf4b0743344508dc145649372d1", + "tags": ["prod", "ready"], + "properties": { + "os_distro": "ubuntu" + } + }, + "most_recent": true } - }, - "most_recent": true } - } - ``` - - 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 - returned, or `most_recent` is set to true. In the example of multiple - returned images, `most_recent` will cause this to succeed by selecting - the newest image of the returned images. - - - `filters` (map of strings) - filters used to select a + ``` + + 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 + returned, or `most_recent` is set to true. In the example of multiple + returned images, `most_recent` will cause this to succeed by selecting + the newest image of the returned images. + + - `filters` (map of strings) - 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 filters described in - [ImageService](https://developer.openstack.org/api-ref/image/v2/), the - following are valid: - + NOTE: This will fail unless *exactly* one image is returned, or + `most_recent` is set to true. Of the filters described in + [ImageService](https://developer.openstack.org/api-ref/image/v2/), the + following are valid: + - name (string) - owner (string) - tags (array of strings) - visibility (string) - properties (map of strings to strings) (fields that can be set 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. - This is most useful for selecting a daily distro build. - - You may set use this in place of `source_image` If `source_image_filter` - is provided alongside `source_image`, the `source_image` will override - 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. + This is most useful for selecting a daily distro build. + + You may set use this in place of `source_image` If `source_image_filter` + is provided alongside `source_image`, the `source_image` will override + 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. + \ No newline at end of file diff --git a/website/pages/partials/builder/openstack/RunConfig.mdx b/website/pages/partials/builder/openstack/RunConfig.mdx index f8cb860cc..dec3efd54 100644 --- a/website/pages/partials/builder/openstack/RunConfig.mdx +++ b/website/pages/partials/builder/openstack/RunConfig.mdx @@ -1,4 +1,3 @@ - RunConfig contains configuration for running an instance from a source image and details on how to access that launched image. diff --git a/website/pages/partials/builder/parallels/common/HWConfig-not-required.mdx b/website/pages/partials/builder/parallels/common/HWConfig-not-required.mdx index 5dc41772e..4bf3f44c4 100644 --- a/website/pages/partials/builder/parallels/common/HWConfig-not-required.mdx +++ b/website/pages/partials/builder/parallels/common/HWConfig-not-required.mdx @@ -1,13 +1,14 @@ -- `cpus` (int) - The number of cpus to use for building the VM. - Defaults to 1. - -- `memory` (int) - The amount of memory to use for building the VM in - megabytes. Defaults to 512 megabytes. - -- `sound` (bool) - Specifies whether to enable the sound device when - building the VM. Defaults to false. - -- `usb` (bool) - Specifies whether to enable the USB bus when building - the VM. Defaults to false. +- `cpus` (int) - The number of cpus to use for building the VM. + Defaults to 1. + +- `memory` (int) - The amount of memory to use for building the VM in + megabytes. Defaults to 512 megabytes. + +- `sound` (bool) - Specifies whether to enable the sound device when + building the VM. Defaults to false. + +- `usb` (bool) - Specifies whether to enable the USB bus when building + the VM. Defaults to false. + \ No newline at end of file diff --git a/website/pages/partials/builder/parallels/common/OutputConfig-not-required.mdx b/website/pages/partials/builder/parallels/common/OutputConfig-not-required.mdx index 11c918433..6798f4470 100644 --- a/website/pages/partials/builder/parallels/common/OutputConfig-not-required.mdx +++ b/website/pages/partials/builder/parallels/common/OutputConfig-not-required.mdx @@ -1,8 +1,9 @@ -- `output_directory` (string) - This is the path to the directory where the - resulting virtual machine will be created. This may be relative or absolute. - 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 - the builder. By default this is "output-BUILDNAME" where "BUILDNAME" is the - name of the build. +- `output_directory` (string) - This is the path to the directory where the + resulting virtual machine will be created. This may be relative or absolute. + 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 + the builder. By default this is "output-BUILDNAME" where "BUILDNAME" is the + name of the build. + \ No newline at end of file diff --git a/website/pages/partials/builder/parallels/common/OutputConfig.mdx b/website/pages/partials/builder/parallels/common/OutputConfig.mdx index a3f100f31..8fdd9cb7f 100644 --- a/website/pages/partials/builder/parallels/common/OutputConfig.mdx +++ b/website/pages/partials/builder/parallels/common/OutputConfig.mdx @@ -1,3 +1,2 @@ - OutputConfig contains the configuration for builder's output. diff --git a/website/pages/partials/builder/parallels/common/PrlctlConfig-not-required.mdx b/website/pages/partials/builder/parallels/common/PrlctlConfig-not-required.mdx index ccf50199b..176c2b101 100644 --- a/website/pages/partials/builder/parallels/common/PrlctlConfig-not-required.mdx +++ b/website/pages/partials/builder/parallels/common/PrlctlConfig-not-required.mdx @@ -1,12 +1,13 @@ -- `prlctl` ([][]string) - Custom prlctl commands to execute - 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 - order defined in the template. For each command, the command is defined - itself as an array of strings, where each string represents a single - argument on the command-line to prlctl (but excluding prlctl itself). - Each arg is treated as a configuration - template, where the Name - variable is replaced with the VM name. More details on how to use prlctl - are below. +- `prlctl` ([][]string) - Custom prlctl commands to execute + 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 + order defined in the template. For each command, the command is defined + itself as an array of strings, where each string represents a single + argument on the command-line to prlctl (but excluding prlctl itself). + Each arg is treated as a configuration + template, where the Name + variable is replaced with the VM name. More details on how to use prlctl + are below. + \ No newline at end of file diff --git a/website/pages/partials/builder/parallels/common/PrlctlConfig.mdx b/website/pages/partials/builder/parallels/common/PrlctlConfig.mdx index 8a41294e9..518286eab 100644 --- a/website/pages/partials/builder/parallels/common/PrlctlConfig.mdx +++ b/website/pages/partials/builder/parallels/common/PrlctlConfig.mdx @@ -1,4 +1,3 @@ - PrlctlConfig contains the configuration for running "prlctl" commands before the VM start. diff --git a/website/pages/partials/builder/parallels/common/PrlctlPostConfig-not-required.mdx b/website/pages/partials/builder/parallels/common/PrlctlPostConfig-not-required.mdx index 1cf5952ae..2a7420e3b 100644 --- a/website/pages/partials/builder/parallels/common/PrlctlPostConfig-not-required.mdx +++ b/website/pages/partials/builder/parallels/common/PrlctlPostConfig-not-required.mdx @@ -1,5 +1,6 @@ -- `prlctl_post` ([][]string) - Identical to prlctl, except - that it is run after the virtual machine is shutdown, and before the virtual - machine is exported. +- `prlctl_post` ([][]string) - Identical to prlctl, except + that it is run after the virtual machine is shutdown, and before the virtual + machine is exported. + \ No newline at end of file diff --git a/website/pages/partials/builder/parallels/common/PrlctlPostConfig.mdx b/website/pages/partials/builder/parallels/common/PrlctlPostConfig.mdx index 7e3be43d3..35cc46e66 100644 --- a/website/pages/partials/builder/parallels/common/PrlctlPostConfig.mdx +++ b/website/pages/partials/builder/parallels/common/PrlctlPostConfig.mdx @@ -1,4 +1,3 @@ - PrlctlPostConfig contains the configuration for running "prlctl" commands in the end of artifact build. diff --git a/website/pages/partials/builder/parallels/common/PrlctlVersionConfig-not-required.mdx b/website/pages/partials/builder/parallels/common/PrlctlVersionConfig-not-required.mdx index 55f3b9823..9425ede14 100644 --- a/website/pages/partials/builder/parallels/common/PrlctlVersionConfig-not-required.mdx +++ b/website/pages/partials/builder/parallels/common/PrlctlVersionConfig-not-required.mdx @@ -1,7 +1,8 @@ -- `prlctl_version_file` (string) - The path within the virtual machine to - upload a file that contains the prlctl version that was used to create - the machine. This information can be useful for provisioning. By default - this is ".prlctl_version", which will generally upload it into the - home directory. +- `prlctl_version_file` (string) - The path within the virtual machine to + upload a file that contains the prlctl version that was used to create + the machine. This information can be useful for provisioning. By default + this is ".prlctl_version", which will generally upload it into the + home directory. + \ No newline at end of file diff --git a/website/pages/partials/builder/parallels/common/PrlctlVersionConfig.mdx b/website/pages/partials/builder/parallels/common/PrlctlVersionConfig.mdx index f21eccfdf..3dfa090c1 100644 --- a/website/pages/partials/builder/parallels/common/PrlctlVersionConfig.mdx +++ b/website/pages/partials/builder/parallels/common/PrlctlVersionConfig.mdx @@ -1,3 +1,2 @@ - PrlctlVersionConfig contains the configuration for `prlctl` version. diff --git a/website/pages/partials/builder/parallels/common/ToolsConfig-not-required.mdx b/website/pages/partials/builder/parallels/common/ToolsConfig-not-required.mdx index 59b68cadb..0342bee6a 100644 --- a/website/pages/partials/builder/parallels/common/ToolsConfig-not-required.mdx +++ b/website/pages/partials/builder/parallels/common/ToolsConfig-not-required.mdx @@ -1,16 +1,17 @@ -- `parallels_tools_guest_path` (string) - The path in the virtual machine to - upload Parallels Tools. This only takes effect if parallels_tools_mode - is "upload". This is a configuration - template that has a single - valid variable: Flavor, which will be the value of - parallels_tools_flavor. By default this is `prl-tools-{{.Flavor}}.iso` - 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_guest_path` (string) - The path in the virtual machine to + upload Parallels Tools. This only takes effect if parallels_tools_mode + is "upload". This is a configuration + template that has a single + valid variable: Flavor, which will be the value of + parallels_tools_flavor. By default this is `prl-tools-{{.Flavor}}.iso` + 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". + \ No newline at end of file diff --git a/website/pages/partials/builder/parallels/common/ToolsConfig-required.mdx b/website/pages/partials/builder/parallels/common/ToolsConfig-required.mdx index 6edd2e34c..1e65061c2 100644 --- a/website/pages/partials/builder/parallels/common/ToolsConfig-required.mdx +++ b/website/pages/partials/builder/parallels/common/ToolsConfig-required.mdx @@ -1,6 +1,7 @@ -- `parallels_tools_flavor` (string) - The flavor of the Parallels Tools ISO to - install into the VM. Valid values are "win", "lin", "mac", "os2" - and "other". This can be omitted only if parallels_tools_mode - is "disable". +- `parallels_tools_flavor` (string) - The flavor of the Parallels Tools ISO to + install into the VM. Valid values are "win", "lin", "mac", "os2" + and "other". This can be omitted only if parallels_tools_mode + is "disable". + \ No newline at end of file diff --git a/website/pages/partials/builder/parallels/common/ToolsConfig.mdx b/website/pages/partials/builder/parallels/common/ToolsConfig.mdx index 2f77d9fde..76c3773ba 100644 --- a/website/pages/partials/builder/parallels/common/ToolsConfig.mdx +++ b/website/pages/partials/builder/parallels/common/ToolsConfig.mdx @@ -1,3 +1,2 @@ - ToolsConfig contains the builder configuration related to Parallels Tools. diff --git a/website/pages/partials/builder/parallels/iso/Config-not-required.mdx b/website/pages/partials/builder/parallels/iso/Config-not-required.mdx index 9de151840..5f7045cb2 100644 --- a/website/pages/partials/builder/parallels/iso/Config-not-required.mdx +++ b/website/pages/partials/builder/parallels/iso/Config-not-required.mdx @@ -1,39 +1,40 @@ -- `disk_size` (uint) - The size, in megabytes, of the hard disk to create - for the VM. By default, this is 40000 (about 40 GB). - -- `disk_type` (string) - The type for image file based virtual disk drives, - 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 - 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 - perform faster than expanding disks. skip_compaction will be set to true - automatically for plain disks. - -- `guest_os_type` (string) - The guest OS type being installed. By default - 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 - prlctl create x --distribution list. Setting the correct value hints to - Parallels Desktop how to optimize the virtual hardware to work best with - that operating system. - -- `hard_drive_interface` (string) - The type of controller that the hard - drives are attached to, defaults to "sata". Valid options are "sata", "ide", - and "scsi". - -- `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 - of these will be used as `{{ .HTTPIP }}` in the boot_command. Defaults to - ["en0", "en1", "en2", "en3", "en4", "en5", "en6", "en7", "en8", "en9", - "ppp0", "ppp1", "ppp2"]. - -- `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 - 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 - 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. +- `disk_size` (uint) - The size, in megabytes, of the hard disk to create + for the VM. By default, this is 40000 (about 40 GB). + +- `disk_type` (string) - The type for image file based virtual disk drives, + 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 + 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 + perform faster than expanding disks. skip_compaction will be set to true + automatically for plain disks. + +- `guest_os_type` (string) - The guest OS type being installed. By default + 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 + prlctl create x --distribution list. Setting the correct value hints to + Parallels Desktop how to optimize the virtual hardware to work best with + that operating system. + +- `hard_drive_interface` (string) - The type of controller that the hard + drives are attached to, defaults to "sata". Valid options are "sata", "ide", + and "scsi". + +- `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 + of these will be used as `{{ .HTTPIP }}` in the boot_command. Defaults to + ["en0", "en1", "en2", "en3", "en4", "en5", "en6", "en7", "en8", "en9", + "ppp0", "ppp1", "ppp2"]. + +- `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 + 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 + 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. + \ No newline at end of file diff --git a/website/pages/partials/builder/parallels/pvm/Config-not-required.mdx b/website/pages/partials/builder/parallels/pvm/Config-not-required.mdx index 94bd320d5..ff5d3e4d1 100644 --- a/website/pages/partials/builder/parallels/pvm/Config-not-required.mdx +++ b/website/pages/partials/builder/parallels/pvm/Config-not-required.mdx @@ -1,15 +1,16 @@ -- `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 - 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 - 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. - -- `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". +- `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 + 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 + 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. + +- `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". + \ No newline at end of file diff --git a/website/pages/partials/builder/parallels/pvm/Config-required.mdx b/website/pages/partials/builder/parallels/pvm/Config-required.mdx index 59e70325d..58e68b704 100644 --- a/website/pages/partials/builder/parallels/pvm/Config-required.mdx +++ b/website/pages/partials/builder/parallels/pvm/Config-required.mdx @@ -1,4 +1,5 @@ -- `source_path` (string) - The path to a PVM directory that acts as the source - of this build. +- `source_path` (string) - The path to a PVM directory that acts as the source + of this build. + \ No newline at end of file diff --git a/website/pages/partials/builder/parallels/pvm/Config.mdx b/website/pages/partials/builder/parallels/pvm/Config.mdx index 8b1c70294..31b4e2f09 100644 --- a/website/pages/partials/builder/parallels/pvm/Config.mdx +++ b/website/pages/partials/builder/parallels/pvm/Config.mdx @@ -1,3 +1,2 @@ - Config is the configuration structure for the builder. diff --git a/website/pages/partials/builder/qemu/Config-not-required.mdx b/website/pages/partials/builder/qemu/Config-not-required.mdx index 40b693ba0..d88a2be42 100644 --- a/website/pages/partials/builder/qemu/Config-not-required.mdx +++ b/website/pages/partials/builder/qemu/Config-not-required.mdx @@ -1,236 +1,237 @@ -- `iso_skip_cache` (bool) - Use iso from provided url. Qemu must support - curl block device. This defaults to `false`. - -- `accelerator` (string) - The accelerator type to use when running the VM. - 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 - accelerator you specified. When no accelerator is specified, Packer will try - to use `kvm` if it is available but will default to `tcg` otherwise. - - -> The `hax` accelerator has issues attaching CDROM ISOs. This is an - upstream issue which can be tracked - [here](https://github.com/intel/haxm/issues/20). - - -> The `hvf` and `whpx` accelerator are new and experimental as of - [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 - add [ "-global", "virtio-pci.disable-modern=on" ] to `qemuargs` depending on the - guest operating system. - - -> 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 - 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 - 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. - Optional suffixes 'k' or 'K' (kilobyte, 1024), 'M' (megabyte, 1024k), 'G' - (gigabyte, 1024M), 'T' (terabyte, 1024G), 'P' (petabyte, 1024T) and 'E' - (exabyte, 1024P) are supported. 'b' is ignored. Per qemu-img documentation. - Each additional disk uses the same disk parameters as the default disk. - Unset by default. - -- `cpus` (int) - The number of cpus to use when building the VM. - The default is `1` CPU. - -- `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 - or kickstart type scripts must have proper adjustments for resulting - device names. The Qemu builder uses `virtio` by default. - - ^\* Please be aware that use of the `scsi` disk interface has been - disabled by Red Hat due to a bug described - [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 - one of the other listed interfaces. Using the `scsi` interface under - 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 - 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 - 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. - -- `disk_cache` (string) - The cache mode to use for disk. Allowed values include any of - `writethrough`, `writeback`, `none`, `unsafe` or `directsync`. By - default, this is set to `writeback`. - -- `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. - -- `disk_detect_zeroes` (string) - The detect-zeroes mode to use for disk. - 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 - Packer still works with old versions of QEMU that don't have this option. - -- `skip_compaction` (bool) - Packer compacts the QCOW2 image using - qemu-img convert. Set this option to true to disable compacting. - Defaults to false. - -- `disk_compression` (bool) - Apply compression to the QCOW2 disk file - using qemu-img convert. Defaults to false. - -- `format` (string) - Either `qcow2` or `raw`, this specifies the output format of the virtual - machine image. This defaults to `qcow2`. - -- `headless` (bool) - Packer defaults to building QEMU virtual 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 console. - - You can still see the console if you make a note of the VNC display - number chosen, and then connect using `vncviewer -Shared :` - -- `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 - 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 - will resize the image according to `disk_size` and boot it. - -- `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 - 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 - enabling this option can significantly reduce disk usage. - -- `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 - defaults to `pc`. - -- `memory` (int) - The amount of memory to use when building the VM - in megabytes. This defaults to 512 megabytes. - -- `net_device` (string) - The driver to use for the network interface. Allowed values `ne2k_pci`, - `i82551`, `i82557b`, `i82559er`, `rtl8139`, `e1000`, `pcnet`, `virtio`, - `virtio-net`, `virtio-net-pci`, `usb-net`, `i82559a`, `i82559b`, - `i82559c`, `i82550`, `i82562`, `i82557a`, `i82557c`, `i82801`, - `vmxnet3`, `i82558a` or `i82558b`. The Qemu builder uses `virtio-net` by - default. - -- `output_directory` (string) - This is the path to the directory where the - resulting virtual machine will be created. This may be relative or absolute. - 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 - the builder. By default this is output-BUILDNAME where "BUILDNAME" is the - name of the build. - -- `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 - that overrides matching default switch/value pairs. Any value specified - as an empty string is ignored. All values after the switch are - concatenated with no separator. - - ~> **Warning:** The qemu command line allows extreme flexibility, so - beware of conflicting arguments causing failures of your run. For - instance, using --no-acpi could break the ability to send power signal - type commands (e.g., shutdown -P now) to the virtual machine, thus - 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 - printed for review. - - The following shows a sample usage: - - ```json - { - "qemuargs": [ - ["-m", "1024M"], - ["--no-acpi", ""], - [ - "-netdev", - "user,id=mynet0,", - "hostfwd=hostip:hostport-guestip:guestport", - "" - ], - ["-device", "virtio-net,netdev=mynet0"] - ] - } - ``` - - would produce the following (not including other defaults supplied by - the builder and not otherwise conflicting with the qemuargs): - - ```text - qemu-system-x86 -m 1024m --no-acpi -netdev - user,id=mynet0,hostfwd=hostip:hostport-guestip:guestport -device - virtio-net,netdev=mynet0" - ``` - - ~> **Windows Users:** [QEMU for Windows](https://qemu.weilnetz.de/) - builds are available though an environmental variable does need to be - set for QEMU for Windows to redirect stdout to the console instead of - stdout.txt. - - The following shows the environment variable that needs to be set for - Windows QEMU support: - - ```text - setx SDL_STDIO_REDIRECT=0 - ``` - - You can also use the `SSHHostPort` template variable to produce a packer - template that can be invoked by `make` in parallel: - - ```json - { - "qemuargs": [ - ["-netdev", "user,hostfwd=tcp::{{ .SSHHostPort }}-:22,id=forward"], - ["-device", "virtio-net,netdev=forward,id=net0"] - ] - } - ``` - - `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. - 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 - you have the service set to listen on. - - This is a template engine and allows access to the following variables: - `{{ .HTTPIP }}`, `{{ .HTTPPort }}`, `{{ .HTTPDir }}`, - `{{ .OutputDir }}`, `{{ .Name }}`, and `{{ .SSHHostPort }}` - -- `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 - some platforms. For example qemu-kvm, or qemu-system-i386 may be a - better choice for some systems. - -- `qmp_enable` (bool) - Enable QMP socket. Location is specified by `qmp_socket_path`. Defaults - to false. - -- `qmp_socket_path` (string) - QMP Socket Path when `qmp_enable` is true. Defaults to - `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 - 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 - this range to use as the host port. By default this is 2222 to 4444. - -- `ssh_host_port_max` (int) - SSH Host Port Max -- `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 - 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 option allowing QEMU to choose the default. This may be needed when - running under macOS, and getting errors about sdl not being available. - -- `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 - 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 - automatically enables the QMP socket. See `qmp_socket_path`. Defaults to - `false`. - -- `vnc_port_min` (int) - The minimum and maximum port - 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, - 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. - -- `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. +- `iso_skip_cache` (bool) - Use iso from provided url. Qemu must support + curl block device. This defaults to `false`. + +- `accelerator` (string) - The accelerator type to use when running the VM. + 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 + accelerator you specified. When no accelerator is specified, Packer will try + to use `kvm` if it is available but will default to `tcg` otherwise. + + -> The `hax` accelerator has issues attaching CDROM ISOs. This is an + upstream issue which can be tracked + [here](https://github.com/intel/haxm/issues/20). + + -> The `hvf` and `whpx` accelerator are new and experimental as of + [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 + add [ "-global", "virtio-pci.disable-modern=on" ] to `qemuargs` depending on the + guest operating system. + + -> 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 + 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 + 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. + Optional suffixes 'k' or 'K' (kilobyte, 1024), 'M' (megabyte, 1024k), 'G' + (gigabyte, 1024M), 'T' (terabyte, 1024G), 'P' (petabyte, 1024T) and 'E' + (exabyte, 1024P) are supported. 'b' is ignored. Per qemu-img documentation. + Each additional disk uses the same disk parameters as the default disk. + Unset by default. + +- `cpus` (int) - The number of cpus to use when building the VM. + The default is `1` CPU. + +- `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 + or kickstart type scripts must have proper adjustments for resulting + device names. The Qemu builder uses `virtio` by default. + + ^\* Please be aware that use of the `scsi` disk interface has been + disabled by Red Hat due to a bug described + [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 + one of the other listed interfaces. Using the `scsi` interface under + 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 + 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 + 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. + +- `disk_cache` (string) - The cache mode to use for disk. Allowed values include any of + `writethrough`, `writeback`, `none`, `unsafe` or `directsync`. By + default, this is set to `writeback`. + +- `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. + +- `disk_detect_zeroes` (string) - The detect-zeroes mode to use for disk. + 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 + Packer still works with old versions of QEMU that don't have this option. + +- `skip_compaction` (bool) - Packer compacts the QCOW2 image using + qemu-img convert. Set this option to true to disable compacting. + Defaults to false. + +- `disk_compression` (bool) - Apply compression to the QCOW2 disk file + using qemu-img convert. Defaults to false. + +- `format` (string) - Either `qcow2` or `raw`, this specifies the output format of the virtual + machine image. This defaults to `qcow2`. + +- `headless` (bool) - Packer defaults to building QEMU virtual 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 console. + + You can still see the console if you make a note of the VNC display + number chosen, and then connect using `vncviewer -Shared :` + +- `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 + 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 + will resize the image according to `disk_size` and boot it. + +- `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 + 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 + enabling this option can significantly reduce disk usage. + +- `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 + defaults to `pc`. + +- `memory` (int) - The amount of memory to use when building the VM + in megabytes. This defaults to 512 megabytes. + +- `net_device` (string) - The driver to use for the network interface. Allowed values `ne2k_pci`, + `i82551`, `i82557b`, `i82559er`, `rtl8139`, `e1000`, `pcnet`, `virtio`, + `virtio-net`, `virtio-net-pci`, `usb-net`, `i82559a`, `i82559b`, + `i82559c`, `i82550`, `i82562`, `i82557a`, `i82557c`, `i82801`, + `vmxnet3`, `i82558a` or `i82558b`. The Qemu builder uses `virtio-net` by + default. + +- `output_directory` (string) - This is the path to the directory where the + resulting virtual machine will be created. This may be relative or absolute. + 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 + the builder. By default this is output-BUILDNAME where "BUILDNAME" is the + name of the build. + +- `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 + that overrides matching default switch/value pairs. Any value specified + as an empty string is ignored. All values after the switch are + concatenated with no separator. + + ~> **Warning:** The qemu command line allows extreme flexibility, so + beware of conflicting arguments causing failures of your run. For + instance, using --no-acpi could break the ability to send power signal + type commands (e.g., shutdown -P now) to the virtual machine, thus + 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 + printed for review. + + The following shows a sample usage: + + ```json + { + "qemuargs": [ + [ "-m", "1024M" ], + [ "--no-acpi", "" ], + [ + "-netdev", + "user,id=mynet0,", + "hostfwd=hostip:hostport-guestip:guestport", + "" + ], + [ "-device", "virtio-net,netdev=mynet0" ] + ] + } + ``` + + would produce the following (not including other defaults supplied by + the builder and not otherwise conflicting with the qemuargs): + + ```text + qemu-system-x86 -m 1024m --no-acpi -netdev + user,id=mynet0,hostfwd=hostip:hostport-guestip:guestport -device + virtio-net,netdev=mynet0" + ``` + + ~> **Windows Users:** [QEMU for Windows](https://qemu.weilnetz.de/) + builds are available though an environmental variable does need to be + set for QEMU for Windows to redirect stdout to the console instead of + stdout.txt. + + The following shows the environment variable that needs to be set for + Windows QEMU support: + + ```text + setx SDL_STDIO_REDIRECT=0 + ``` + + You can also use the `SSHHostPort` template variable to produce a packer + template that can be invoked by `make` in parallel: + + ```json + { + "qemuargs": [ + [ "-netdev", "user,hostfwd=tcp::{{ .SSHHostPort }}-:22,id=forward"], + [ "-device", "virtio-net,netdev=forward,id=net0"] + ] + } + ``` + + `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. + 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 + you have the service set to listen on. + + This is a template engine and allows access to the following variables: + `{{ .HTTPIP }}`, `{{ .HTTPPort }}`, `{{ .HTTPDir }}`, + `{{ .OutputDir }}`, `{{ .Name }}`, and `{{ .SSHHostPort }}` + +- `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 + some platforms. For example qemu-kvm, or qemu-system-i386 may be a + better choice for some systems. + +- `qmp_enable` (bool) - Enable QMP socket. Location is specified by `qmp_socket_path`. Defaults + to false. + +- `qmp_socket_path` (string) - QMP Socket Path when `qmp_enable` is true. Defaults to + `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 + 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 + this range to use as the host port. By default this is 2222 to 4444. + +- `ssh_host_port_max` (int) - SSH Host Port Max +- `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 + 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 option allowing QEMU to choose the default. This may be needed when + running under macOS, and getting errors about sdl not being available. + +- `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 + 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 + automatically enables the QMP socket. See `qmp_socket_path`. Defaults to + `false`. + +- `vnc_port_min` (int) - The minimum and maximum port + 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, + 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. + +- `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. + \ No newline at end of file diff --git a/website/pages/partials/builder/scaleway/Config-not-required.mdx b/website/pages/partials/builder/scaleway/Config-not-required.mdx index 20a417b83..ae0146e28 100644 --- a/website/pages/partials/builder/scaleway/Config-not-required.mdx +++ b/website/pages/partials/builder/scaleway/Config-not-required.mdx @@ -1,18 +1,18 @@ -- `snapshot_name` (string) - The name of the resulting snapshot that will - appear in your account. Default packer-TIMESTAMP - -- `image_name` (string) - The name of the resulting image that will appear in - your account. Default packer-TIMESTAMP - -- `server_name` (string) - The name assigned to the server. Default - packer-UUID - -- `bootscript` (string) - The id of an existing bootscript to use when - booting the server. - -- `boottype` (string) - The type of boot, can be either local or - bootscript, Default bootscript - -- `remove_volume` (bool) - Remove Volume +- `snapshot_name` (string) - The name of the resulting snapshot that will + appear in your account. Default packer-TIMESTAMP + +- `image_name` (string) - The name of the resulting image that will appear in + your account. Default packer-TIMESTAMP + +- `server_name` (string) - The name assigned to the server. Default + packer-UUID + +- `bootscript` (string) - The id of an existing bootscript to use when + booting the server. + +- `boottype` (string) - The type of boot, can be either local or + bootscript, Default bootscript + +- `remove_volume` (bool) - Remove Volume \ No newline at end of file diff --git a/website/pages/partials/builder/scaleway/Config-required.mdx b/website/pages/partials/builder/scaleway/Config-required.mdx index cafb63def..0650c8529 100644 --- a/website/pages/partials/builder/scaleway/Config-required.mdx +++ b/website/pages/partials/builder/scaleway/Config-required.mdx @@ -1,28 +1,29 @@ -- `api_token` (string) - The token to use to authenticate with your account. - It can also be specified via environment variable SCALEWAY_API_TOKEN. You - can see and generate tokens in the "Credentials" - section of the control panel. - -- `organization_id` (string) - The organization id to use to identify your - organization. It can also be specified via environment variable - SCALEWAY_ORGANIZATION. Your organization id is available in the - "Account" section of the - control panel. - 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 - or ams1). Consequently, this is the region where the snapshot will be - available. - -- `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 - the images list - 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 +- `api_token` (string) - The token to use to authenticate with your account. + It can also be specified via environment variable SCALEWAY_API_TOKEN. You + can see and generate tokens in the "Credentials" + section of the control panel. + +- `organization_id` (string) - The organization id to use to identify your + organization. It can also be specified via environment variable + SCALEWAY_ORGANIZATION. Your organization id is available in the + "Account" section of the + control panel. + 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 + or ams1). Consequently, this is the region where the snapshot will be + available. + +- `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 + the images list + 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 + \ No newline at end of file diff --git a/website/pages/partials/builder/tencentcloud/cvm/TencentCloudAccessConfig-not-required.mdx b/website/pages/partials/builder/tencentcloud/cvm/TencentCloudAccessConfig-not-required.mdx index 4872b402d..e6a643f42 100644 --- a/website/pages/partials/builder/tencentcloud/cvm/TencentCloudAccessConfig-not-required.mdx +++ b/website/pages/partials/builder/tencentcloud/cvm/TencentCloudAccessConfig-not-required.mdx @@ -1,3 +1,4 @@ -- `skip_region_validation` (bool) - Do not check region and zone when validate. +- `skip_region_validation` (bool) - Do not check region and zone when validate. + \ No newline at end of file diff --git a/website/pages/partials/builder/tencentcloud/cvm/TencentCloudAccessConfig-required.mdx b/website/pages/partials/builder/tencentcloud/cvm/TencentCloudAccessConfig-required.mdx index d0bff1675..4f0164c62 100644 --- a/website/pages/partials/builder/tencentcloud/cvm/TencentCloudAccessConfig-required.mdx +++ b/website/pages/partials/builder/tencentcloud/cvm/TencentCloudAccessConfig-required.mdx @@ -1,15 +1,16 @@ -- `secret_id` (string) - Tencentcloud secret id. You should set it directly, - or set the TENCENTCLOUD_ACCESS_KEY environment variable. - -- `secret_key` (string) - Tencentcloud secret key. You should set it directly, - or set the TENCENTCLOUD_SECRET_KEY environment variable. - -- `region` (string) - The region where your cvm will be launch. You should - reference Region and Zone - for parameter taking. - -- `zone` (string) - The zone where your cvm will be launch. You should - reference Region and Zone - for parameter taking. +- `secret_id` (string) - Tencentcloud secret id. You should set it directly, + or set the TENCENTCLOUD_ACCESS_KEY environment variable. + +- `secret_key` (string) - Tencentcloud secret key. You should set it directly, + or set the TENCENTCLOUD_SECRET_KEY environment variable. + +- `region` (string) - The region where your cvm will be launch. You should + reference Region and Zone + for parameter taking. + +- `zone` (string) - The zone where your cvm will be launch. You should + reference Region and Zone + for parameter taking. + \ No newline at end of file diff --git a/website/pages/partials/builder/tencentcloud/cvm/TencentCloudImageConfig-not-required.mdx b/website/pages/partials/builder/tencentcloud/cvm/TencentCloudImageConfig-not-required.mdx index a8c79d11a..f04670148 100644 --- a/website/pages/partials/builder/tencentcloud/cvm/TencentCloudImageConfig-not-required.mdx +++ b/website/pages/partials/builder/tencentcloud/cvm/TencentCloudImageConfig-not-required.mdx @@ -1,20 +1,21 @@ -- `image_description` (string) - Image description. - -- `reboot` (bool) - Whether shutdown cvm to create Image. Default value is - false. - -- `force_poweroff` (bool) - Whether to force power off cvm when create image. - Default value is false. - -- `sysprep` (bool) - Whether enable Sysprep during creating windows image. - -- `image_force_delete` (bool) - Image Force Delete -- `image_copy_regions` ([]string) - regions that will be copied to after - your image created. - -- `image_share_accounts` ([]string) - accounts that will be shared to - after your image created. - -- `skip_region_validation` (bool) - Do not check region and zone when validate. +- `image_description` (string) - Image description. + +- `reboot` (bool) - Whether shutdown cvm to create Image. Default value is + false. + +- `force_poweroff` (bool) - Whether to force power off cvm when create image. + Default value is false. + +- `sysprep` (bool) - Whether enable Sysprep during creating windows image. + +- `image_force_delete` (bool) - Image Force Delete +- `image_copy_regions` ([]string) - regions that will be copied to after + your image created. + +- `image_share_accounts` ([]string) - accounts that will be shared to + after your image created. + +- `skip_region_validation` (bool) - Do not check region and zone when validate. + \ No newline at end of file diff --git a/website/pages/partials/builder/tencentcloud/cvm/TencentCloudImageConfig-required.mdx b/website/pages/partials/builder/tencentcloud/cvm/TencentCloudImageConfig-required.mdx index 1114f7be4..bd1f46aa7 100644 --- a/website/pages/partials/builder/tencentcloud/cvm/TencentCloudImageConfig-required.mdx +++ b/website/pages/partials/builder/tencentcloud/cvm/TencentCloudImageConfig-required.mdx @@ -1,5 +1,6 @@ -- `image_name` (string) - The name you want to create your customize image, - it should be composed of no more than 60 characters, of letters, numbers - or minus sign. +- `image_name` (string) - The name you want to create your customize image, + it should be composed of no more than 60 characters, of letters, numbers + or minus sign. + \ No newline at end of file diff --git a/website/pages/partials/builder/tencentcloud/cvm/TencentCloudRunConfig-not-required.mdx b/website/pages/partials/builder/tencentcloud/cvm/TencentCloudRunConfig-not-required.mdx index 06ca4ff1a..378e9336c 100644 --- a/website/pages/partials/builder/tencentcloud/cvm/TencentCloudRunConfig-not-required.mdx +++ b/website/pages/partials/builder/tencentcloud/cvm/TencentCloudRunConfig-not-required.mdx @@ -1,64 +1,63 @@ -- `associate_public_ip_address` (bool) - Whether allocate public ip to your cvm. - Default value is false. - -- `instance_name` (string) - Instance name. - -- `disk_type` (string) - Root disk type your cvm will be launched by. you could - reference Disk Type - for parameter taking. - -- `disk_size` (int64) - Root disk size your cvm will be launched by. values range(in GB): - -- `data_disks` ([]tencentCloudDataDisk) - Add one or more data disks to the instance before creating the image. - Note that if the source image has data disk snapshots, this argument - will be ignored, and the running instance will use source image data - disk settings, in such case, `disk_type` argument will be used as disk - type for all data disks, and each data disk size will use the origin - value in source image. - The data disks allow for the following argument: - - - `disk_type` - Type of the data disk. Valid choices: `CLOUD_BASIC`, `CLOUD_PREMIUM` and `CLOUD_SSD`. - - `disk_size` - Size of the data disk. - - `disk_snapshot_id` - Id of the snapshot for a data disk. - -- `vpc_id` (string) - Specify vpc your cvm will be launched by. - -- `vpc_name` (string) - Specify vpc name you will create. if vpc_id is not set, packer will - create a vpc for you named this parameter. - -- `vpc_ip` (string) - Vpc Ip -- `subnet_id` (string) - Specify subnet your cvm will be launched by. - -- `subnet_name` (string) - Specify subnet name you will create. if subnet_id is not set, packer will - create a subnet for you named this parameter. - -- `cidr_block` (string) - Specify cider block of the vpc you will create if vpc_id not set - -- `subnect_cidr_block` (string) - Specify cider block of the subnet you will create if - subnet_id not set - -- `internet_charge_type` (string) - Internet Charge Type -- `internet_max_bandwidth_out` (int64) - Max bandwidth out your cvm will be launched by(in MB). - values can be set between 1 ~ 100. - -- `security_group_id` (string) - Specify securitygroup your cvm will be launched by. - -- `security_group_name` (string) - Specify security name you will create if security_group_id not set. - -- `user_data` (string) - userdata. - -- `user_data_file` (string) - userdata file. - -- `host_name` (string) - host name. - -- `run_tags` (map[string]string) - Tags to apply to the instance that is _launched_ to create the image. - These tags are _not_ applied to the resulting image. - -- `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. - -- `ssh_private_ip` (bool) - SSH Private Ip +- `associate_public_ip_address` (bool) - Whether allocate public ip to your cvm. + Default value is false. + +- `instance_name` (string) - Instance name. + +- `disk_type` (string) - Root disk type your cvm will be launched by. you could + reference Disk Type + for parameter taking. + +- `disk_size` (int64) - Root disk size your cvm will be launched by. values range(in GB): + +- `data_disks` ([]tencentCloudDataDisk) - Add one or more data disks to the instance before creating the image. + Note that if the source image has data disk snapshots, this argument + will be ignored, and the running instance will use source image data + disk settings, in such case, `disk_type` argument will be used as disk + type for all data disks, and each data disk size will use the origin + value in source image. + The data disks allow for the following argument: + - `disk_type` - Type of the data disk. Valid choices: `CLOUD_BASIC`, `CLOUD_PREMIUM` and `CLOUD_SSD`. + - `disk_size` - Size of the data disk. + - `disk_snapshot_id` - Id of the snapshot for a data disk. + +- `vpc_id` (string) - Specify vpc your cvm will be launched by. + +- `vpc_name` (string) - Specify vpc name you will create. if vpc_id is not set, packer will + create a vpc for you named this parameter. + +- `vpc_ip` (string) - Vpc Ip +- `subnet_id` (string) - Specify subnet your cvm will be launched by. + +- `subnet_name` (string) - Specify subnet name you will create. if subnet_id is not set, packer will + create a subnet for you named this parameter. + +- `cidr_block` (string) - Specify cider block of the vpc you will create if vpc_id not set + +- `subnect_cidr_block` (string) - Specify cider block of the subnet you will create if + subnet_id not set + +- `internet_charge_type` (string) - Internet Charge Type +- `internet_max_bandwidth_out` (int64) - Max bandwidth out your cvm will be launched by(in MB). + values can be set between 1 ~ 100. + +- `security_group_id` (string) - Specify securitygroup your cvm will be launched by. + +- `security_group_name` (string) - Specify security name you will create if security_group_id not set. + +- `user_data` (string) - userdata. + +- `user_data_file` (string) - userdata file. + +- `host_name` (string) - host name. + +- `run_tags` (map[string]string) - Tags to apply to the instance that is *launched* to create the image. + These tags are *not* applied to the resulting image. + +- `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. + +- `ssh_private_ip` (bool) - SSH Private Ip \ No newline at end of file diff --git a/website/pages/partials/builder/tencentcloud/cvm/TencentCloudRunConfig-required.mdx b/website/pages/partials/builder/tencentcloud/cvm/TencentCloudRunConfig-required.mdx index 4ef8dc7ca..99abbbaef 100644 --- a/website/pages/partials/builder/tencentcloud/cvm/TencentCloudRunConfig-required.mdx +++ b/website/pages/partials/builder/tencentcloud/cvm/TencentCloudRunConfig-required.mdx @@ -1,8 +1,9 @@ -- `source_image_id` (string) - The base image id of Image you want to create - your customized image from. - -- `instance_type` (string) - The instance type your cvm will be launched by. - You should reference Instace Type - for parameter taking. +- `source_image_id` (string) - The base image id of Image you want to create + your customized image from. + +- `instance_type` (string) - The instance type your cvm will be launched by. + You should reference Instace Type + for parameter taking. + \ No newline at end of file diff --git a/website/pages/partials/builder/tencentcloud/cvm/tencentCloudDataDisk-not-required.mdx b/website/pages/partials/builder/tencentcloud/cvm/tencentCloudDataDisk-not-required.mdx index 2f18abefa..d68f0bf2a 100644 --- a/website/pages/partials/builder/tencentcloud/cvm/tencentCloudDataDisk-not-required.mdx +++ b/website/pages/partials/builder/tencentcloud/cvm/tencentCloudDataDisk-not-required.mdx @@ -1,5 +1,5 @@ -- `disk_type` (string) - Disk Type -- `disk_size` (int64) - Disk Size -- `disk_snapshot_id` (string) - Snapshot Id +- `disk_type` (string) - Disk Type +- `disk_size` (int64) - Disk Size +- `disk_snapshot_id` (string) - Snapshot Id \ No newline at end of file diff --git a/website/pages/partials/builder/triton/AccessConfig-not-required.mdx b/website/pages/partials/builder/triton/AccessConfig-not-required.mdx index cd363b29e..dd99fbc01 100644 --- a/website/pages/partials/builder/triton/AccessConfig-not-required.mdx +++ b/website/pages/partials/builder/triton/AccessConfig-not-required.mdx @@ -1,19 +1,20 @@ -- `triton_url` (string) - The URL of the Triton cloud API to use. If omitted - it will default to the us-sw-1 region of the Joyent Public cloud. If you - are using your own private Triton installation you will have to supply the - URL of the cloud API of your own Triton installation. - -- `triton_user` (string) - The username of a user who has access to your - Triton account. - -- `triton_key_material` (string) - Path to the file in which the private key - of triton_key_id is stored. For example /home/soandso/.ssh/id_rsa. If - this is not specified, the SSH agent is used to sign requests with the - triton_key_id specified. - -- `insecure_skip_tls_verify` (bool) - secure_skip_tls_verify - (bool) This allows skipping TLS verification - of the Triton endpoint. It is useful when connecting to a temporary Triton - installation such as Cloud-On-A-Laptop which does not generally use a - certificate signed by a trusted root CA. The default is false. +- `triton_url` (string) - The URL of the Triton cloud API to use. If omitted + it will default to the us-sw-1 region of the Joyent Public cloud. If you + are using your own private Triton installation you will have to supply the + URL of the cloud API of your own Triton installation. + +- `triton_user` (string) - The username of a user who has access to your + Triton account. + +- `triton_key_material` (string) - Path to the file in which the private key + of triton_key_id is stored. For example /home/soandso/.ssh/id_rsa. If + this is not specified, the SSH agent is used to sign requests with the + triton_key_id specified. + +- `insecure_skip_tls_verify` (bool) - secure_skip_tls_verify - (bool) This allows skipping TLS verification + of the Triton endpoint. It is useful when connecting to a temporary Triton + installation such as Cloud-On-A-Laptop which does not generally use a + certificate signed by a trusted root CA. The default is false. + \ No newline at end of file diff --git a/website/pages/partials/builder/triton/AccessConfig-required.mdx b/website/pages/partials/builder/triton/AccessConfig-required.mdx index e4850ba28..403b64ed9 100644 --- a/website/pages/partials/builder/triton/AccessConfig-required.mdx +++ b/website/pages/partials/builder/triton/AccessConfig-required.mdx @@ -1,9 +1,10 @@ -- `triton_account` (string) - The username of the Triton account to use when - using the Triton Cloud API. - -- `triton_key_id` (string) - The fingerprint of the public key of the SSH key - pair to use for authentication with the Triton Cloud API. If - triton_key_material is not set, it is assumed that the SSH agent has the - private key corresponding to this key ID loaded. +- `triton_account` (string) - The username of the Triton account to use when + using the Triton Cloud API. + +- `triton_key_id` (string) - The fingerprint of the public key of the SSH key + pair to use for authentication with the Triton Cloud API. If + triton_key_material is not set, it is assumed that the SSH agent has the + private key corresponding to this key ID loaded. + \ No newline at end of file diff --git a/website/pages/partials/builder/triton/AccessConfig.mdx b/website/pages/partials/builder/triton/AccessConfig.mdx index c4fccb741..2a1f4f9ce 100644 --- a/website/pages/partials/builder/triton/AccessConfig.mdx +++ b/website/pages/partials/builder/triton/AccessConfig.mdx @@ -1,3 +1,2 @@ - AccessConfig is for common configuration related to Triton access diff --git a/website/pages/partials/builder/triton/MachineImageFilter-not-required.mdx b/website/pages/partials/builder/triton/MachineImageFilter-not-required.mdx index 1223e8708..e60e43734 100644 --- a/website/pages/partials/builder/triton/MachineImageFilter-not-required.mdx +++ b/website/pages/partials/builder/triton/MachineImageFilter-not-required.mdx @@ -1,3 +1,3 @@ -- `most_recent` (bool) - Most Recent +- `most_recent` (bool) - Most Recent \ No newline at end of file diff --git a/website/pages/partials/builder/triton/SourceMachineConfig-not-required.mdx b/website/pages/partials/builder/triton/SourceMachineConfig-not-required.mdx index fc57c1cb1..7eaf7a322 100644 --- a/website/pages/partials/builder/triton/SourceMachineConfig-not-required.mdx +++ b/website/pages/partials/builder/triton/SourceMachineConfig-not-required.mdx @@ -1,42 +1,43 @@ -- `source_machine_name` (string) - Name of the VM used for building the - image. Does not affect (and does not have to be the same) as the name for a - VM instance running this image. Maximum 512 characters but should in - practice be much shorter (think between 5 and 20 characters). For example - mysql-64-server-image-builder. When omitted defaults to - packer-builder-[image_name]. - -- `source_machine_networks` ([]string) - The UUID's of Triton - networks added to the source machine used for creating the image. For - example if any of the provisioners which are run need Internet access you - will need to add the UUID's of the appropriate networks here. If this is - not specified, instances will be placed into the default Triton public and - internal networks. - -- `source_machine_metadata` (map[string]string) - Triton metadata - applied to the VM used to create the image. Metadata can be used to pass - configuration information to the VM without the need for networking. See - Using the metadata - API in the - Joyent documentation for more information. This can for example be used to - set the user-script metadata key to have Triton start a user supplied - script after the VM has booted. - -- `source_machine_tags` (map[string]string) - Tags applied to the VM used to create the image. - -- `source_machine_tag` ([]{name string, value string}) - Same as [`source_machine_tags`](#source_machine_tags) but defined as a - singular 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. - -- `source_machine_firewall_enabled` (bool) - Whether or not the firewall - of the VM used to create an image of is enabled. The Triton firewall only - filters inbound traffic to the VM. All outbound traffic is always allowed. - Currently this builder does not provide an interface to add specific - firewall rules. Unless you have a global rule defined in Triton which - allows SSH traffic enabling the firewall will interfere with the SSH - provisioner. The default is false. - -- `source_machine_image_filter` (MachineImageFilter) - Filters used to populate the - source_machine_image field. Example: +- `source_machine_name` (string) - Name of the VM used for building the + image. Does not affect (and does not have to be the same) as the name for a + VM instance running this image. Maximum 512 characters but should in + practice be much shorter (think between 5 and 20 characters). For example + mysql-64-server-image-builder. When omitted defaults to + packer-builder-[image_name]. + +- `source_machine_networks` ([]string) - The UUID's of Triton + networks added to the source machine used for creating the image. For + example if any of the provisioners which are run need Internet access you + will need to add the UUID's of the appropriate networks here. If this is + not specified, instances will be placed into the default Triton public and + internal networks. + +- `source_machine_metadata` (map[string]string) - Triton metadata + applied to the VM used to create the image. Metadata can be used to pass + configuration information to the VM without the need for networking. See + Using the metadata + API in the + Joyent documentation for more information. This can for example be used to + set the user-script metadata key to have Triton start a user supplied + script after the VM has booted. + +- `source_machine_tags` (map[string]string) - Tags applied to the VM used to create the image. + +- `source_machine_tag` ([]{name string, value string}) - Same as [`source_machine_tags`](#source_machine_tags) but defined as a + singular 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. + +- `source_machine_firewall_enabled` (bool) - Whether or not the firewall + of the VM used to create an image of is enabled. The Triton firewall only + filters inbound traffic to the VM. All outbound traffic is always allowed. + Currently this builder does not provide an interface to add specific + firewall rules. Unless you have a global rule defined in Triton which + allows SSH traffic enabling the firewall will interfere with the SSH + provisioner. The default is false. + +- `source_machine_image_filter` (MachineImageFilter) - Filters used to populate the + source_machine_image field. Example: + \ No newline at end of file diff --git a/website/pages/partials/builder/triton/SourceMachineConfig-required.mdx b/website/pages/partials/builder/triton/SourceMachineConfig-required.mdx index e0081fe05..2855845c7 100644 --- a/website/pages/partials/builder/triton/SourceMachineConfig-required.mdx +++ b/website/pages/partials/builder/triton/SourceMachineConfig-required.mdx @@ -1,18 +1,19 @@ -- `source_machine_package` (string) - The Triton package to use while - building the image. Does not affect (and does not have to be the same) as - the package which will be used for a VM instance running this image. On the - Joyent public cloud this could for example be g3-standard-0.5-smartos. - -- `source_machine_image` (string) - The UUID of the image to base the new - image on. Triton supports multiple types of images, called 'brands' in - Triton / Joyent lingo, for contains and VM's. See the chapter Containers - and virtual machines in - the Joyent Triton documentation for detailed information. The following - brands are currently supported by this builder:joyent andkvm. The - choice of base image automatically decides the brand. On the Joyent public - cloud a valid source_machine_image could for example be - 70e3ae72-96b6-11e6-9056-9737fd4d0764 for version 16.3.1 of the 64bit - SmartOS base image (a 'joyent' brand image). source_machine_image_filter - can be used to populate this UUID. +- `source_machine_package` (string) - The Triton package to use while + building the image. Does not affect (and does not have to be the same) as + the package which will be used for a VM instance running this image. On the + Joyent public cloud this could for example be g3-standard-0.5-smartos. + +- `source_machine_image` (string) - The UUID of the image to base the new + image on. Triton supports multiple types of images, called 'brands' in + Triton / Joyent lingo, for contains and VM's. See the chapter Containers + and virtual machines in + the Joyent Triton documentation for detailed information. The following + brands are currently supported by this builder:joyent andkvm. The + choice of base image automatically decides the brand. On the Joyent public + cloud a valid source_machine_image could for example be + 70e3ae72-96b6-11e6-9056-9737fd4d0764 for version 16.3.1 of the 64bit + SmartOS base image (a 'joyent' brand image). source_machine_image_filter + can be used to populate this UUID. + \ No newline at end of file diff --git a/website/pages/partials/builder/triton/SourceMachineConfig.mdx b/website/pages/partials/builder/triton/SourceMachineConfig.mdx index c15cf7066..c74dc9012 100644 --- a/website/pages/partials/builder/triton/SourceMachineConfig.mdx +++ b/website/pages/partials/builder/triton/SourceMachineConfig.mdx @@ -1,4 +1,3 @@ - SourceMachineConfig represents the configuration to run a machine using the SDC API in order for provisioning to take place. diff --git a/website/pages/partials/builder/triton/TargetImageConfig-not-required.mdx b/website/pages/partials/builder/triton/TargetImageConfig-not-required.mdx index fb4cf3801..27fd7cddd 100644 --- a/website/pages/partials/builder/triton/TargetImageConfig-not-required.mdx +++ b/website/pages/partials/builder/triton/TargetImageConfig-not-required.mdx @@ -1,21 +1,22 @@ -- `image_description` (string) - Description of the image. Maximum 512 - characters. - -- `image_homepage` (string) - URL of the homepage where users can find - information about the image. Maximum 128 characters. - -- `image_eula_url` (string) - URL of the End User License Agreement (EULA) - for the image. Maximum 128 characters. - -- `image_acls` ([]string) - The UUID's of the users which will have - access to this image. When omitted only the owner (the Triton user whose - credentials are used) will have access to the image. - -- `image_tags` (map[string]string) - Tag applied to the image. - -- `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 - [`dynamic_block`](/docs/configuration/from-1.5/expressions#dynamic-blocks) - will allow you to create those programatically. +- `image_description` (string) - Description of the image. Maximum 512 + characters. + +- `image_homepage` (string) - URL of the homepage where users can find + information about the image. Maximum 128 characters. + +- `image_eula_url` (string) - URL of the End User License Agreement (EULA) + for the image. Maximum 128 characters. + +- `image_acls` ([]string) - The UUID's of the users which will have + access to this image. When omitted only the owner (the Triton user whose + credentials are used) will have access to the image. + +- `image_tags` (map[string]string) - Tag applied to the image. + +- `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 + [`dynamic_block`](/docs/configuration/from-1.5/expressions#dynamic-blocks) + will allow you to create those programatically. + \ No newline at end of file diff --git a/website/pages/partials/builder/triton/TargetImageConfig-required.mdx b/website/pages/partials/builder/triton/TargetImageConfig-required.mdx index a84f6045e..def119892 100644 --- a/website/pages/partials/builder/triton/TargetImageConfig-required.mdx +++ b/website/pages/partials/builder/triton/TargetImageConfig-required.mdx @@ -1,11 +1,12 @@ -- `image_name` (string) - The name the finished image in Triton will be - assigned. Maximum 512 characters but should in practice be much shorter - (think between 5 and 20 characters). For example postgresql-95-server for - an image used as a PostgreSQL 9.5 server. - -- `image_version` (string) - The version string for this image. Maximum 128 - characters. Any string will do but a format of Major.Minor.Patch is - strongly advised by Joyent. See Semantic Versioning - for more information on the Major.Minor.Patch versioning format. +- `image_name` (string) - The name the finished image in Triton will be + assigned. Maximum 512 characters but should in practice be much shorter + (think between 5 and 20 characters). For example postgresql-95-server for + an image used as a PostgreSQL 9.5 server. + +- `image_version` (string) - The version string for this image. Maximum 128 + characters. Any string will do but a format of Major.Minor.Patch is + strongly advised by Joyent. See Semantic Versioning + for more information on the Major.Minor.Patch versioning format. + \ No newline at end of file diff --git a/website/pages/partials/builder/triton/TargetImageConfig.mdx b/website/pages/partials/builder/triton/TargetImageConfig.mdx index b506ce2a7..d940ce624 100644 --- a/website/pages/partials/builder/triton/TargetImageConfig.mdx +++ b/website/pages/partials/builder/triton/TargetImageConfig.mdx @@ -1,4 +1,3 @@ - TargetImageConfig represents the configuration for the image to be created from the source machine. diff --git a/website/pages/partials/builder/vagrant/Builder.mdx b/website/pages/partials/builder/vagrant/Builder.mdx index e14895d17..9db960859 100644 --- a/website/pages/partials/builder/vagrant/Builder.mdx +++ b/website/pages/partials/builder/vagrant/Builder.mdx @@ -1,4 +1,3 @@ - Builder implements packer.Builder and builds the actual VirtualBox images. diff --git a/website/pages/partials/builder/vagrant/Config-not-required.mdx b/website/pages/partials/builder/vagrant/Config-not-required.mdx index d32239c9a..9b7842cc1 100644 --- a/website/pages/partials/builder/vagrant/Config-not-required.mdx +++ b/website/pages/partials/builder/vagrant/Config-not-required.mdx @@ -1,73 +1,73 @@ -- `output_dir` (string) - The directory to create that will contain your output box. We always - create this directory and run from inside of it to prevent Vagrant init - collisions. If unset, it will be set to packer- plus your buildname. - -- `checksum` (string) - The checksum for the .box file. The type of the checksum is specified - with checksum_type, documented below. - -- `checksum_type` (string) - The type of the checksum specified in checksum. Valid values are none, - md5, sha1, sha256, or sha512. Although the checksum will not be verified - when checksum_type is set to "none", this is not recommended since OVA - files can be very large and corruption does happen from time to time. - -- `box_name` (string) - if your source*box is a boxfile that we need to add to Vagrant, this is - the name to give it. If left blank, will default to "packer*" plus your - buildname. - -- `insert_key` (bool) - If true, Vagrant will automatically insert a keypair to use for SSH, - replacing Vagrant's default insecure key inside the machine if detected. - By default, Packer sets this to false. - -- `provider` (string) - The vagrant provider. - This parameter is required when source_path have more than one provider, - or when using vagrant-cloud post-processor. Defaults to unset. - -- `communicator` (string) - Communicator -- `vagrantfile_template` (string) - What vagrantfile to use - -- `teardown_method` (string) - Whether to halt, suspend, or destroy the box when the build has - completed. Defaults to "halt" - -- `box_version` (string) - What box version to use when initializing Vagrant. - -- `template` (string) - a path to a golang template for a vagrantfile. Our default template can - be found here. The template variables available to you are - `{{ .BoxName }}`, `{{ .SyncedFolder }}`, and `{{.InsertKey}}`, which - correspond to the Packer options box_name, synced_folder, and insert_key. - -- `synced_folder` (string) - Synced Folder -- `skip_add` (bool) - Don't call "vagrant add" to add the box to your local environment; this - is necessary if you want to launch a box that is already added to your - vagrant environment. - -- `add_cacert` (string) - Equivalent to setting the - --cacert - option in vagrant add; defaults to unset. - -- `add_capath` (string) - Equivalent to setting the - --capath option - in vagrant add; defaults to unset. - -- `add_cert` (string) - Equivalent to setting the - --cert option in - vagrant add; defaults to unset. - -- `add_clean` (bool) - Equivalent to setting the - --clean flag in - vagrant add; defaults to unset. - -- `add_force` (bool) - Equivalent to setting the - --force flag in - vagrant add; defaults to unset. - -- `add_insecure` (bool) - Equivalent to setting the - --insecure flag in - vagrant add; defaults to unset. - -- `skip_package` (bool) - if true, Packer will not call vagrant package to - package your base box into its own standalone .box file. - -- `output_vagrantfile` (string) - Output Vagrantfile -- `package_include` ([]string) - Package Include +- `output_dir` (string) - The directory to create that will contain your output box. We always + create this directory and run from inside of it to prevent Vagrant init + collisions. If unset, it will be set to packer- plus your buildname. + +- `checksum` (string) - The checksum for the .box file. The type of the checksum is specified + with checksum_type, documented below. + +- `checksum_type` (string) - The type of the checksum specified in checksum. Valid values are none, + md5, sha1, sha256, or sha512. Although the checksum will not be verified + when checksum_type is set to "none", this is not recommended since OVA + files can be very large and corruption does happen from time to time. + +- `box_name` (string) - if your source_box is a boxfile that we need to add to Vagrant, this is + the name to give it. If left blank, will default to "packer_" plus your + buildname. + +- `insert_key` (bool) - If true, Vagrant will automatically insert a keypair to use for SSH, + replacing Vagrant's default insecure key inside the machine if detected. + By default, Packer sets this to false. + +- `provider` (string) - The vagrant provider. + This parameter is required when source_path have more than one provider, + or when using vagrant-cloud post-processor. Defaults to unset. + +- `communicator` (string) - Communicator +- `vagrantfile_template` (string) - What vagrantfile to use + +- `teardown_method` (string) - Whether to halt, suspend, or destroy the box when the build has + completed. Defaults to "halt" + +- `box_version` (string) - What box version to use when initializing Vagrant. + +- `template` (string) - a path to a golang template for a vagrantfile. Our default template can + be found here. The template variables available to you are + `{{ .BoxName }}`, `{{ .SyncedFolder }}`, and `{{.InsertKey}}`, which + correspond to the Packer options box_name, synced_folder, and insert_key. + +- `synced_folder` (string) - Synced Folder +- `skip_add` (bool) - Don't call "vagrant add" to add the box to your local environment; this + is necessary if you want to launch a box that is already added to your + vagrant environment. + +- `add_cacert` (string) - Equivalent to setting the + --cacert + option in vagrant add; defaults to unset. + +- `add_capath` (string) - Equivalent to setting the + --capath option + in vagrant add; defaults to unset. + +- `add_cert` (string) - Equivalent to setting the + --cert option in + vagrant add; defaults to unset. + +- `add_clean` (bool) - Equivalent to setting the + --clean flag in + vagrant add; defaults to unset. + +- `add_force` (bool) - Equivalent to setting the + --force flag in + vagrant add; defaults to unset. + +- `add_insecure` (bool) - Equivalent to setting the + --insecure flag in + vagrant add; defaults to unset. + +- `skip_package` (bool) - if true, Packer will not call vagrant package to + package your base box into its own standalone .box file. + +- `output_vagrantfile` (string) - Output Vagrantfile +- `package_include` ([]string) - Package Include \ No newline at end of file diff --git a/website/pages/partials/builder/vagrant/Config-required.mdx b/website/pages/partials/builder/vagrant/Config-required.mdx index 6f5648e7f..a811f3ad0 100644 --- a/website/pages/partials/builder/vagrant/Config-required.mdx +++ b/website/pages/partials/builder/vagrant/Config-required.mdx @@ -1,16 +1,17 @@ -- `source_path` (string) - URL of the vagrant box to use, or the name of the vagrant box. - hashicorp/precise64, ./mylocalbox.box and https://example.com/my-box.box - are all valid source boxes. If your source is a .box file, whether - locally or from a URL like the latter example above, you will also need - to provide a box_name. This option is required, unless you set - global_id. You may only set one or the other, not both. - -- `global_id` (string) - the global id of a Vagrant box already added to Vagrant on your system. - You can find the global id of your Vagrant boxes using the command - vagrant global-status; your global_id will be a 7-digit number and - letter comination that you'll find in the leftmost column of the - global-status output. If you choose to use global_id instead of - source_box, Packer will skip the Vagrant initialize and add steps, and - simply launch the box directly using the global id. +- `source_path` (string) - URL of the vagrant box to use, or the name of the vagrant box. + hashicorp/precise64, ./mylocalbox.box and https://example.com/my-box.box + are all valid source boxes. If your source is a .box file, whether + locally or from a URL like the latter example above, you will also need + to provide a box_name. This option is required, unless you set + global_id. You may only set one or the other, not both. + +- `global_id` (string) - the global id of a Vagrant box already added to Vagrant on your system. + You can find the global id of your Vagrant boxes using the command + vagrant global-status; your global_id will be a 7-digit number and + letter comination that you'll find in the leftmost column of the + global-status output. If you choose to use global_id instead of + source_box, Packer will skip the Vagrant initialize and add steps, and + simply launch the box directly using the global id. + \ No newline at end of file diff --git a/website/pages/partials/builder/virtualbox/common/CommConfig-not-required.mdx b/website/pages/partials/builder/virtualbox/common/CommConfig-not-required.mdx index 45e3ec08a..f44ebd297 100644 --- a/website/pages/partials/builder/virtualbox/common/CommConfig-not-required.mdx +++ b/website/pages/partials/builder/virtualbox/common/CommConfig-not-required.mdx @@ -1,13 +1,14 @@ -- `host_port_min` (int) - The minimum port to use for the Communicator port on the host machine which is forwarded - to the SSH or WinRM port on the guest machine. By default this is 2222. - -- `host_port_max` (int) - The maximum port to use for the Communicator port on the host machine which is forwarded - to the SSH or WinRM port on the guest machine. Because Packer often runs in parallel, - Packer will choose a randomly available port in this range to use as the - host port. By default this is 4444. - -- `skip_nat_mapping` (bool) - Defaults to false. When enabled, Packer - does not setup forwarded port mapping for communicator (SSH or WinRM) requests and uses ssh_port or winrm_port - on the host to communicate to the virtual machine. +- `host_port_min` (int) - The minimum port to use for the Communicator port on the host machine which is forwarded + to the SSH or WinRM port on the guest machine. By default this is 2222. + +- `host_port_max` (int) - The maximum port to use for the Communicator port on the host machine which is forwarded + to the SSH or WinRM port on the guest machine. Because Packer often runs in parallel, + Packer will choose a randomly available port in this range to use as the + host port. By default this is 4444. + +- `skip_nat_mapping` (bool) - Defaults to false. When enabled, Packer + does not setup forwarded port mapping for communicator (SSH or WinRM) requests and uses ssh_port or winrm_port + on the host to communicate to the virtual machine. + \ No newline at end of file diff --git a/website/pages/partials/builder/virtualbox/common/ExportConfig-not-required.mdx b/website/pages/partials/builder/virtualbox/common/ExportConfig-not-required.mdx index 8b06cc3b7..6cd039eec 100644 --- a/website/pages/partials/builder/virtualbox/common/ExportConfig-not-required.mdx +++ b/website/pages/partials/builder/virtualbox/common/ExportConfig-not-required.mdx @@ -1,47 +1,45 @@ -- `format` (string) - Either ovf or ova, this specifies the output format - of the exported virtual machine. This defaults to ovf. - -- `export_opts` ([]string) - Additional options to pass to the [VBoxManage - export](https://www.virtualbox.org/manual/ch09.html#vboxmanage-export). - This can be useful for passing product information to include in the - resulting appliance file. Packer JSON configuration file example: - - ```json - { - "type": "virtualbox-iso", - "export_opts": [ - "--manifest", - "--vsys", - "0", - "--description", - "{{user `vm_description`}}", - "--version", - "{{user `vm_version`}}" - ], - "format": "ova" - } - ``` - - A VirtualBox [VM - description](https://www.virtualbox.org/manual/ch09.html#vboxmanage-export-ovf) - may contain arbitrary strings; the GUI interprets HTML formatting. However, - the JSON format does not allow arbitrary newlines within a value. Add a - multi-line description by preparing the string in the shell before the - packer call like this (shell `>` continuation character snipped for easier - copy & paste): - - ```shell - - vm_description='some - multiline - description' - - vm_version='0.2.0' - - packer build \ - -var "vm_description=${vm_description}" \ - -var "vm_version=${vm_version}" \ - "packer_conf.json" - ``` +- `format` (string) - Either ovf or ova, this specifies the output format + of the exported virtual machine. This defaults to ovf. + +- `export_opts` ([]string) - Additional options to pass to the [VBoxManage + export](https://www.virtualbox.org/manual/ch09.html#vboxmanage-export). + This can be useful for passing product information to include in the + resulting appliance file. Packer JSON configuration file example: + + ```json + { + "type": "virtualbox-iso", + "export_opts": + [ + "--manifest", + "--vsys", "0", + "--description", "{{user `vm_description`}}", + "--version", "{{user `vm_version`}}" + ], + "format": "ova", + } + ``` + + A VirtualBox [VM + description](https://www.virtualbox.org/manual/ch09.html#vboxmanage-export-ovf) + may contain arbitrary strings; the GUI interprets HTML formatting. However, + the JSON format does not allow arbitrary newlines within a value. Add a + multi-line description by preparing the string in the shell before the + packer call like this (shell `>` continuation character snipped for easier + copy & paste): + + ``` shell + vm_description='some + multiline + description' + + vm_version='0.2.0' + + packer build \ + -var "vm_description=${vm_description}" \ + -var "vm_version=${vm_version}" \ + "packer_conf.json" + ``` + \ No newline at end of file diff --git a/website/pages/partials/builder/virtualbox/common/GuestAdditionsConfig-not-required.mdx b/website/pages/partials/builder/virtualbox/common/GuestAdditionsConfig-not-required.mdx index 84564df50..8ee1d7a57 100644 --- a/website/pages/partials/builder/virtualbox/common/GuestAdditionsConfig-not-required.mdx +++ b/website/pages/partials/builder/virtualbox/common/GuestAdditionsConfig-not-required.mdx @@ -1,10 +1,11 @@ -- `communicator` (string) - Communicator -- `guest_additions_mode` (string) - The method by which guest additions are - made available to the guest for installation. Valid options are upload, - attach, or disable. If the mode is attach the guest additions ISO will - be attached as a CD device to the virtual machine. If the mode is upload - the guest additions ISO will be uploaded to the path specified by - guest_additions_path. The default value is upload. If disable is used, - guest additions won't be downloaded, either. +- `communicator` (string) - Communicator +- `guest_additions_mode` (string) - The method by which guest additions are + made available to the guest for installation. Valid options are upload, + attach, or disable. If the mode is attach the guest additions ISO will + be attached as a CD device to the virtual machine. If the mode is upload + the guest additions ISO will be uploaded to the path specified by + guest_additions_path. The default value is upload. If disable is used, + guest additions won't be downloaded, either. + \ No newline at end of file diff --git a/website/pages/partials/builder/virtualbox/common/HWConfig-not-required.mdx b/website/pages/partials/builder/virtualbox/common/HWConfig-not-required.mdx index 01620a971..058663be1 100644 --- a/website/pages/partials/builder/virtualbox/common/HWConfig-not-required.mdx +++ b/website/pages/partials/builder/virtualbox/common/HWConfig-not-required.mdx @@ -1,14 +1,15 @@ -- `cpus` (int) - The number of cpus to use for building the VM. - Defaults to 1. - -- `memory` (int) - The amount of memory to use for building the VM - in megabytes. Defaults to 512 megabytes. - -- `sound` (string) - Defaults to none. The type of audio device to use for - sound when building the VM. Some of the options that are available are - dsound, oss, alsa, pulse, coreaudio, null. - -- `usb` (bool) - Specifies whether or not to enable the USB bus when - building the VM. Defaults to false. +- `cpus` (int) - The number of cpus to use for building the VM. + Defaults to 1. + +- `memory` (int) - The amount of memory to use for building the VM + in megabytes. Defaults to 512 megabytes. + +- `sound` (string) - Defaults to none. The type of audio device to use for + sound when building the VM. Some of the options that are available are + dsound, oss, alsa, pulse, coreaudio, null. + +- `usb` (bool) - Specifies whether or not to enable the USB bus when + building the VM. Defaults to false. + \ No newline at end of file diff --git a/website/pages/partials/builder/virtualbox/common/OutputConfig-not-required.mdx b/website/pages/partials/builder/virtualbox/common/OutputConfig-not-required.mdx index d5f98194f..5794e6900 100644 --- a/website/pages/partials/builder/virtualbox/common/OutputConfig-not-required.mdx +++ b/website/pages/partials/builder/virtualbox/common/OutputConfig-not-required.mdx @@ -1,8 +1,9 @@ -- `output_directory` (string) - This is the path to the directory where the - resulting virtual machine will be created. This may be relative or absolute. - 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 - the builder. By default this is output-BUILDNAME where "BUILDNAME" is the - name of the build. +- `output_directory` (string) - This is the path to the directory where the + resulting virtual machine will be created. This may be relative or absolute. + 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 + the builder. By default this is output-BUILDNAME where "BUILDNAME" is the + name of the build. + \ No newline at end of file diff --git a/website/pages/partials/builder/virtualbox/common/RunConfig-not-required.mdx b/website/pages/partials/builder/virtualbox/common/RunConfig-not-required.mdx index 6a85295f1..57715b17d 100644 --- a/website/pages/partials/builder/virtualbox/common/RunConfig-not-required.mdx +++ b/website/pages/partials/builder/virtualbox/common/RunConfig-not-required.mdx @@ -1,18 +1,17 @@ -- `headless` (bool) - Packer defaults to building VirtualBox virtual - 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 console. - -- `vrdp_bind_address` (string) - The IP address that should be - binded to for VRDP. By default packer will use 127.0.0.1 for this. If you - wish to bind to all interfaces use 0.0.0.0. - -- `vrdp_port_min` (int) - The minimum and maximum port - to use for VRDP access to the virtual machine. 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. - -- `vrdp_port_max` (int) - VRDP Port Max +- `headless` (bool) - Packer defaults to building VirtualBox virtual + 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 console. + +- `vrdp_bind_address` (string) - The IP address that should be + binded to for VRDP. By default packer will use 127.0.0.1 for this. If you + wish to bind to all interfaces use 0.0.0.0. + +- `vrdp_port_min` (int) - The minimum and maximum port + to use for VRDP access to the virtual machine. 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. + +- `vrdp_port_max` (int) - VRDP Port Max \ No newline at end of file diff --git a/website/pages/partials/builder/virtualbox/common/ShutdownConfig-not-required.mdx b/website/pages/partials/builder/virtualbox/common/ShutdownConfig-not-required.mdx index 43a2df243..6b44dcafe 100644 --- a/website/pages/partials/builder/virtualbox/common/ShutdownConfig-not-required.mdx +++ b/website/pages/partials/builder/virtualbox/common/ShutdownConfig-not-required.mdx @@ -1,29 +1,30 @@ -- `shutdown_command` (string) - The command to use to gracefully shut down the - machine once all the provisioning is done. By default this is an empty - string, which tells Packer to just forcefully shut down the machine unless a - shutdown command takes place inside script so this may safely be omitted. If - one or more scripts require a reboot it is suggested to leave this blank - since reboots may fail and specify the final shutdown command in your - last script. - -- `shutdown_timeout` (duration string | ex: "1h5m2s") - The amount of time to wait after executing the - shutdown_command for the virtual machine to actually shut down. If it - doesn't shut down in this time, it is an error. By default, the timeout is - 5m or five minutes. - -- `post_shutdown_delay` (duration string | ex: "1h5m2s") - The amount of time to wait after shutting - down the virtual machine. If you get the error - Error removing floppy controller, you might need to set this to 5m - or so. By default, the delay is 0s or disabled. - -- `disable_shutdown` (bool) - Packer normally halts the virtual machine after all provisioners have - run when no `shutdown_command` is defined. If this is set to `true`, Packer - _will not_ halt the virtual machine but will assume that you will send the stop - signal yourself through the preseed.cfg or your final provisioner. - Packer will wait for a default of 5 minutes until the virtual machine is shutdown. - The timeout can be changed using `shutdown_timeout` option. - -- `acpi_shutdown` (bool) - If it's set to true, it will shutdown the VM via power button. It could be a good option - when keeping the machine state is necessary after shutting it down. +- `shutdown_command` (string) - The command to use to gracefully shut down the + machine once all the provisioning is done. By default this is an empty + string, which tells Packer to just forcefully shut down the machine unless a + shutdown command takes place inside script so this may safely be omitted. If + one or more scripts require a reboot it is suggested to leave this blank + since reboots may fail and specify the final shutdown command in your + last script. + +- `shutdown_timeout` (duration string | ex: "1h5m2s") - The amount of time to wait after executing the + shutdown_command for the virtual machine to actually shut down. If it + doesn't shut down in this time, it is an error. By default, the timeout is + 5m or five minutes. + +- `post_shutdown_delay` (duration string | ex: "1h5m2s") - The amount of time to wait after shutting + down the virtual machine. If you get the error + Error removing floppy controller, you might need to set this to 5m + or so. By default, the delay is 0s or disabled. + +- `disable_shutdown` (bool) - Packer normally halts the virtual machine after all provisioners have + run when no `shutdown_command` is defined. If this is set to `true`, Packer + *will not* halt the virtual machine but will assume that you will send the stop + signal yourself through the preseed.cfg or your final provisioner. + Packer will wait for a default of 5 minutes until the virtual machine is shutdown. + The timeout can be changed using `shutdown_timeout` option. + +- `acpi_shutdown` (bool) - If it's set to true, it will shutdown the VM via power button. It could be a good option + when keeping the machine state is necessary after shutting it down. + \ No newline at end of file diff --git a/website/pages/partials/builder/virtualbox/common/VBoxBundleConfig-not-required.mdx b/website/pages/partials/builder/virtualbox/common/VBoxBundleConfig-not-required.mdx index c8d8b5098..8a759809f 100644 --- a/website/pages/partials/builder/virtualbox/common/VBoxBundleConfig-not-required.mdx +++ b/website/pages/partials/builder/virtualbox/common/VBoxBundleConfig-not-required.mdx @@ -1,6 +1,7 @@ -- `bundle_iso` (bool) - Defaults to false. When enabled, Packer includes - any attached ISO disc devices into the final virtual machine. Useful for - some live distributions that require installation media to continue to be - attached after installation. +- `bundle_iso` (bool) - Defaults to false. When enabled, Packer includes + any attached ISO disc devices into the final virtual machine. Useful for + some live distributions that require installation media to continue to be + attached after installation. + \ No newline at end of file diff --git a/website/pages/partials/builder/virtualbox/common/VBoxManageConfig-not-required.mdx b/website/pages/partials/builder/virtualbox/common/VBoxManageConfig-not-required.mdx index a5b3f982e..713e1fe3a 100644 --- a/website/pages/partials/builder/virtualbox/common/VBoxManageConfig-not-required.mdx +++ b/website/pages/partials/builder/virtualbox/common/VBoxManageConfig-not-required.mdx @@ -1,16 +1,17 @@ -- `vboxmanage` ([][]string) - Custom `VBoxManage` commands to execute 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 order defined in - the template. For each command, the command is defined itself as an - array of strings, where each string represents a single argument on the - command-line to `VBoxManage` (but excluding `VBoxManage` itself). Each - arg is treated as a [configuration - template](/docs/templates/engine), where the `Name` variable is - replaced with the VM name. More details on how to use `VBoxManage` are - below. - -- `vboxmanage_post` ([][]string) - Identical to vboxmanage, - except that it is run after the virtual machine is shutdown, and before the - virtual machine is exported. +- `vboxmanage` ([][]string) - Custom `VBoxManage` commands to execute 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 order defined in + the template. For each command, the command is defined itself as an + array of strings, where each string represents a single argument on the + command-line to `VBoxManage` (but excluding `VBoxManage` itself). Each + arg is treated as a [configuration + template](/docs/templates/engine), where the `Name` variable is + replaced with the VM name. More details on how to use `VBoxManage` are + below. + +- `vboxmanage_post` ([][]string) - Identical to vboxmanage, + except that it is run after the virtual machine is shutdown, and before the + virtual machine is exported. + \ No newline at end of file diff --git a/website/pages/partials/builder/virtualbox/common/VBoxVersionConfig-not-required.mdx b/website/pages/partials/builder/virtualbox/common/VBoxVersionConfig-not-required.mdx index c29582ec6..46475fa29 100644 --- a/website/pages/partials/builder/virtualbox/common/VBoxVersionConfig-not-required.mdx +++ b/website/pages/partials/builder/virtualbox/common/VBoxVersionConfig-not-required.mdx @@ -1,9 +1,10 @@ -- `communicator` (string) - Communicator -- `virtualbox_version_file` (\*string) - The path within the virtual machine to - upload a file that contains the VirtualBox version that was used to create - the machine. This information can be useful for provisioning. By default - this is .vbox_version, which will generally be upload it into the - home directory. Set to an empty string to skip uploading this file, which - can be useful when using the none communicator. +- `communicator` (string) - Communicator +- `virtualbox_version_file` (\*string) - The path within the virtual machine to + upload a file that contains the VirtualBox version that was used to create + the machine. This information can be useful for provisioning. By default + this is .vbox_version, which will generally be upload it into the + home directory. Set to an empty string to skip uploading this file, which + can be useful when using the none communicator. + \ No newline at end of file diff --git a/website/pages/partials/builder/virtualbox/iso/Config-not-required.mdx b/website/pages/partials/builder/virtualbox/iso/Config-not-required.mdx index 6f2986369..5470cdeef 100644 --- a/website/pages/partials/builder/virtualbox/iso/Config-not-required.mdx +++ b/website/pages/partials/builder/virtualbox/iso/Config-not-required.mdx @@ -1,89 +1,90 @@ -- `disk_size` (uint) - The size, in megabytes, of the hard disk to create for the VM. By - default, this is 40000 (about 40 GB). - -- `guest_additions_mode` (string) - The method by which guest additions are made available to the guest for - installation. Valid options are upload, attach, or disable. If the mode - is attach the guest additions ISO will be attached as a CD device to the - virtual machine. If the mode is upload the guest additions ISO will be - uploaded to the path specified by guest_additions_path. The default - value is upload. If disable is used, guest additions won't be - downloaded, either. - -- `guest_additions_path` (string) - The path on the guest virtual machine where the VirtualBox guest - additions ISO will be uploaded. By default this is - VBoxGuestAdditions.iso which should upload into the login directory of - the user. This is a configuration template where the `{{ .Version }}` - variable is replaced with the VirtualBox version. - -- `guest_additions_sha256` (string) - The SHA256 checksum of the guest additions ISO that will be uploaded to - the guest VM. By default the checksums will be downloaded from the - VirtualBox website, so this only needs to be set if you want to be - explicit about the checksum. - -- `guest_additions_url` (string) - The URL to the guest additions ISO to upload. This can also be a file - URL if the ISO is at a local path. By default, the VirtualBox builder - will attempt to find the guest additions ISO on the local file system. - If it is not available locally, the builder will download the proper - guest additions ISO from the internet. This is a template engine, and you - have access to the variable `{{ .Version }}`. - -- `guest_additions_interface` (string) - The interface type to use to mount guest additions when - guest_additions_mode is set to attach. Will default to the value set in - iso_interface, if iso_interface is set. Will default to "ide", if - iso_interface is not set. Options are "ide" and "sata". - -- `guest_os_type` (string) - The guest OS type being installed. By default 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 VBoxManage list - ostypes. Setting the correct value hints to VirtualBox how to optimize - the virtual hardware to work best with that operating system. - -- `hard_drive_discard` (bool) - When this value is set to true, a VDI image will be shrunk in response - to the trim command from the guest OS. The size of the cleared area must - be at least 1MB. Also set hard_drive_nonrotational to true to enable - TRIM support. - -- `hard_drive_interface` (string) - The type of controller that the primary hard drive is attached to, - defaults to ide. When set to sata, the drive is attached to an AHCI SATA - controller. When set to scsi, the drive is attached to an LsiLogic SCSI - controller. When set to pcie, the drive is attached to an NVMe - controller. Please note that when you use "pcie", you'll need to have - Virtualbox 6, install an [extension - pack](https://www.virtualbox.org/wiki/Downloads#VirtualBox6.0.14OracleVMVirtualBoxExtensionPack) - and you will need to enable EFI mode for nvme to work, ex: - - ```json - "vboxmanage": [ - [ "modifyvm", "{{.Name}}", "--firmware", "EFI" ], - ] - ``` - -- `sata_port_count` (int) - The number of ports available on any SATA controller created, defaults - to 1. VirtualBox supports up to 30 ports on a maximum of 1 SATA - controller. Increasing this value can be useful if you want to attach - additional drives. - -- `nvme_port_count` (int) - The number of ports available on any NVMe controller created, defaults - to 1. VirtualBox supports up to 255 ports on a maximum of 1 NVMe - controller. Increasing this value can be useful if you want to attach - additional drives. - -- `hard_drive_nonrotational` (bool) - Forces some guests (i.e. Windows 7+) to treat disks as SSDs and stops - them from performing disk fragmentation. Also set hard_drive_discard to - true to enable TRIM support. - -- `iso_interface` (string) - The type of controller that the ISO is attached to, defaults to ide. - When set to sata, the drive is attached to an AHCI SATA controller. - -- `keep_registered` (bool) - Set this to true if you would like to keep the VM registered with - virtualbox. Defaults to false. - -- `skip_export` (bool) - Defaults to false. When enabled, Packer will not export the VM. Useful - if the build output is not the resultant image, but created inside the - VM. - -- `vm_name` (string) - This is the name of the OVF file for the new virtual machine, without - the file extension. By default this is packer-BUILDNAME, where - "BUILDNAME" is the name of the build. +- `disk_size` (uint) - The size, in megabytes, of the hard disk to create for the VM. By + default, this is 40000 (about 40 GB). + +- `guest_additions_mode` (string) - The method by which guest additions are made available to the guest for + installation. Valid options are upload, attach, or disable. If the mode + is attach the guest additions ISO will be attached as a CD device to the + virtual machine. If the mode is upload the guest additions ISO will be + uploaded to the path specified by guest_additions_path. The default + value is upload. If disable is used, guest additions won't be + downloaded, either. + +- `guest_additions_path` (string) - The path on the guest virtual machine where the VirtualBox guest + additions ISO will be uploaded. By default this is + VBoxGuestAdditions.iso which should upload into the login directory of + the user. This is a configuration template where the `{{ .Version }}` + variable is replaced with the VirtualBox version. + +- `guest_additions_sha256` (string) - The SHA256 checksum of the guest additions ISO that will be uploaded to + the guest VM. By default the checksums will be downloaded from the + VirtualBox website, so this only needs to be set if you want to be + explicit about the checksum. + +- `guest_additions_url` (string) - The URL to the guest additions ISO to upload. This can also be a file + URL if the ISO is at a local path. By default, the VirtualBox builder + will attempt to find the guest additions ISO on the local file system. + If it is not available locally, the builder will download the proper + guest additions ISO from the internet. This is a template engine, and you + have access to the variable `{{ .Version }}`. + +- `guest_additions_interface` (string) - The interface type to use to mount guest additions when + guest_additions_mode is set to attach. Will default to the value set in + iso_interface, if iso_interface is set. Will default to "ide", if + iso_interface is not set. Options are "ide" and "sata". + +- `guest_os_type` (string) - The guest OS type being installed. By default 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 VBoxManage list + ostypes. Setting the correct value hints to VirtualBox how to optimize + the virtual hardware to work best with that operating system. + +- `hard_drive_discard` (bool) - When this value is set to true, a VDI image will be shrunk in response + to the trim command from the guest OS. The size of the cleared area must + be at least 1MB. Also set hard_drive_nonrotational to true to enable + TRIM support. + +- `hard_drive_interface` (string) - The type of controller that the primary hard drive is attached to, + defaults to ide. When set to sata, the drive is attached to an AHCI SATA + controller. When set to scsi, the drive is attached to an LsiLogic SCSI + controller. When set to pcie, the drive is attached to an NVMe + controller. Please note that when you use "pcie", you'll need to have + Virtualbox 6, install an [extension + pack](https://www.virtualbox.org/wiki/Downloads#VirtualBox6.0.14OracleVMVirtualBoxExtensionPack) + and you will need to enable EFI mode for nvme to work, ex: + + ```json + "vboxmanage": [ + [ "modifyvm", "{{.Name}}", "--firmware", "EFI" ], + ] + ``` + +- `sata_port_count` (int) - The number of ports available on any SATA controller created, defaults + to 1. VirtualBox supports up to 30 ports on a maximum of 1 SATA + controller. Increasing this value can be useful if you want to attach + additional drives. + +- `nvme_port_count` (int) - The number of ports available on any NVMe controller created, defaults + to 1. VirtualBox supports up to 255 ports on a maximum of 1 NVMe + controller. Increasing this value can be useful if you want to attach + additional drives. + +- `hard_drive_nonrotational` (bool) - Forces some guests (i.e. Windows 7+) to treat disks as SSDs and stops + them from performing disk fragmentation. Also set hard_drive_discard to + true to enable TRIM support. + +- `iso_interface` (string) - The type of controller that the ISO is attached to, defaults to ide. + When set to sata, the drive is attached to an AHCI SATA controller. + +- `keep_registered` (bool) - Set this to true if you would like to keep the VM registered with + virtualbox. Defaults to false. + +- `skip_export` (bool) - Defaults to false. When enabled, Packer will not export the VM. Useful + if the build output is not the resultant image, but created inside the + VM. + +- `vm_name` (string) - This is the name of the OVF file for the new virtual machine, without + the file extension. By default this is packer-BUILDNAME, where + "BUILDNAME" is the name of the build. + \ No newline at end of file diff --git a/website/pages/partials/builder/virtualbox/ovf/Config-not-required.mdx b/website/pages/partials/builder/virtualbox/ovf/Config-not-required.mdx index 931dfc2a0..5f6a98c80 100644 --- a/website/pages/partials/builder/virtualbox/ovf/Config-not-required.mdx +++ b/website/pages/partials/builder/virtualbox/ovf/Config-not-required.mdx @@ -1,62 +1,63 @@ -- `checksum_type` (string) - The type of the checksum specified in checksum. - Valid values are none, md5, sha1, sha256, or sha512. Although the - checksum will not be verified when checksum_type is set to "none", this is - not recommended since OVA files can be very large and corruption does happen - from time to time. - -- `guest_additions_mode` (string) - The method by which guest additions are - made available to the guest for installation. Valid options are upload, - attach, or disable. If the mode is attach the guest additions ISO will - be attached as a CD device to the virtual machine. If the mode is upload - the guest additions ISO will be uploaded to the path specified by - guest_additions_path. The default value is upload. If disable is used, - guest additions won't be downloaded, either. - -- `guest_additions_path` (string) - The path on the guest virtual machine - where the VirtualBox guest additions ISO will be uploaded. By default this - is VBoxGuestAdditions.iso which should upload into the login directory of - the user. This is a configuration - template where the Version - variable is replaced with the VirtualBox version. - -- `guest_additions_interface` (string) - The interface type to use to mount - guest additions when guest_additions_mode is set to attach. Will - default to the value set in iso_interface, if iso_interface is set. - Will default to "ide", if iso_interface is not set. Options are "ide" and - "sata". - -- `guest_additions_sha256` (string) - The SHA256 checksum of the guest - additions ISO that will be uploaded to the guest VM. By default the - checksums will be downloaded from the VirtualBox website, so this only needs - to be set if you want to be explicit about the checksum. - -- `guest_additions_url` (string) - The URL to the guest additions ISO - to upload. This can also be a file URL if the ISO is at a local path. By - default, the VirtualBox builder will attempt to find the guest additions ISO - on the local file system. If it is not available locally, the builder will - download the proper guest additions ISO from the internet. - -- `import_flags` ([]string) - Additional flags to pass to - VBoxManage import. This can be used to add additional command-line flags - such as --eula-accept to accept a EULA in the OVF. - -- `import_opts` (string) - Additional options to pass to the - VBoxManage import. This can be useful for passing keepallmacs or - keepnatmacs options for existing ovf images. - -- `target_path` (string) - The path where the OVA should be saved - after download. By default, it will go in the packer cache, with a hash of - the original filename as its name. - -- `vm_name` (string) - This is the name of the OVF file for the new virtual - machine, without the file extension. By default this is packer-BUILDNAME, - where "BUILDNAME" is the name of the build. - -- `keep_registered` (bool) - Set this to true if you would like to keep - the VM registered with virtualbox. Defaults to false. - -- `skip_export` (bool) - Defaults to false. When enabled, Packer will - not export the VM. Useful if the build output is not the resultant image, - but created inside the VM. +- `checksum_type` (string) - The type of the checksum specified in checksum. + Valid values are none, md5, sha1, sha256, or sha512. Although the + checksum will not be verified when checksum_type is set to "none", this is + not recommended since OVA files can be very large and corruption does happen + from time to time. + +- `guest_additions_mode` (string) - The method by which guest additions are + made available to the guest for installation. Valid options are upload, + attach, or disable. If the mode is attach the guest additions ISO will + be attached as a CD device to the virtual machine. If the mode is upload + the guest additions ISO will be uploaded to the path specified by + guest_additions_path. The default value is upload. If disable is used, + guest additions won't be downloaded, either. + +- `guest_additions_path` (string) - The path on the guest virtual machine + where the VirtualBox guest additions ISO will be uploaded. By default this + is VBoxGuestAdditions.iso which should upload into the login directory of + the user. This is a configuration + template where the Version + variable is replaced with the VirtualBox version. + +- `guest_additions_interface` (string) - The interface type to use to mount + guest additions when guest_additions_mode is set to attach. Will + default to the value set in iso_interface, if iso_interface is set. + Will default to "ide", if iso_interface is not set. Options are "ide" and + "sata". + +- `guest_additions_sha256` (string) - The SHA256 checksum of the guest + additions ISO that will be uploaded to the guest VM. By default the + checksums will be downloaded from the VirtualBox website, so this only needs + to be set if you want to be explicit about the checksum. + +- `guest_additions_url` (string) - The URL to the guest additions ISO + to upload. This can also be a file URL if the ISO is at a local path. By + default, the VirtualBox builder will attempt to find the guest additions ISO + on the local file system. If it is not available locally, the builder will + download the proper guest additions ISO from the internet. + +- `import_flags` ([]string) - Additional flags to pass to + VBoxManage import. This can be used to add additional command-line flags + such as --eula-accept to accept a EULA in the OVF. + +- `import_opts` (string) - Additional options to pass to the + VBoxManage import. This can be useful for passing keepallmacs or + keepnatmacs options for existing ovf images. + +- `target_path` (string) - The path where the OVA should be saved + after download. By default, it will go in the packer cache, with a hash of + the original filename as its name. + +- `vm_name` (string) - This is the name of the OVF file for the new virtual + machine, without the file extension. By default this is packer-BUILDNAME, + where "BUILDNAME" is the name of the build. + +- `keep_registered` (bool) - Set this to true if you would like to keep + the VM registered with virtualbox. Defaults to false. + +- `skip_export` (bool) - Defaults to false. When enabled, Packer will + not export the VM. Useful if the build output is not the resultant image, + but created inside the VM. + \ No newline at end of file diff --git a/website/pages/partials/builder/virtualbox/ovf/Config-required.mdx b/website/pages/partials/builder/virtualbox/ovf/Config-required.mdx index fecf85347..09143e5e4 100644 --- a/website/pages/partials/builder/virtualbox/ovf/Config-required.mdx +++ b/website/pages/partials/builder/virtualbox/ovf/Config-required.mdx @@ -1,11 +1,12 @@ -- `checksum` (string) - The checksum for the source_path file. The - algorithm to use when computing the checksum can be optionally specified - with checksum_type. When checksum_type is not set packer will guess the - checksumming type based on checksum length. checksum can be also be a - file or an URL, in which case checksum_type must be set to file; the - go-getter will download it and use the first hash found. - -- `source_path` (string) - The filepath or URL to an OVF or OVA file that acts as the - source of this build. +- `checksum` (string) - The checksum for the source_path file. The + algorithm to use when computing the checksum can be optionally specified + with checksum_type. When checksum_type is not set packer will guess the + checksumming type based on checksum length. checksum can be also be a + file or an URL, in which case checksum_type must be set to file; the + go-getter will download it and use the first hash found. + +- `source_path` (string) - The filepath or URL to an OVF or OVA file that acts as the + source of this build. + \ No newline at end of file diff --git a/website/pages/partials/builder/virtualbox/ovf/Config.mdx b/website/pages/partials/builder/virtualbox/ovf/Config.mdx index bfa64c4f8..55488ff4b 100644 --- a/website/pages/partials/builder/virtualbox/ovf/Config.mdx +++ b/website/pages/partials/builder/virtualbox/ovf/Config.mdx @@ -1,3 +1,2 @@ - Config is the configuration structure for the builder. diff --git a/website/pages/partials/builder/vmware/common/DriverConfig-not-required.mdx b/website/pages/partials/builder/vmware/common/DriverConfig-not-required.mdx index 944739f6c..65e403370 100644 --- a/website/pages/partials/builder/vmware/common/DriverConfig-not-required.mdx +++ b/website/pages/partials/builder/vmware/common/DriverConfig-not-required.mdx @@ -1,37 +1,38 @@ -- `fusion_app_path` (string) - Path to "VMware Fusion.app". By default this is - /Applications/VMware Fusion.app but this setting allows you to - customize this. - -- `remote_type` (string) - The type of remote machine that will be used to - build this VM rather than a local desktop product. The only value accepted - for this currently is esx5. If this is not set, a desktop product will - be used. By default, this is not set. - -- `remote_datastore` (string) - The path to the datastore where the VM will be stored - on the ESXi machine. - -- `remote_cache_datastore` (string) - The path to the datastore where supporting files - will be stored during the build on the remote machine. - -- `remote_cache_directory` (string) - The path where the ISO and/or floppy files will - be stored during the build on the remote machine. The path is relative to - the remote_cache_datastore on the remote machine. - -- `remote_host` (string) - The host of the remote machine used for access. - This is only required if remote_type is enabled. - -- `remote_port` (int) - The SSH port of the remote machine - -- `remote_username` (string) - The SSH username used to access the remote machine. - -- `remote_password` (string) - The SSH password for access to the remote machine. - -- `remote_private_key_file` (string) - The SSH key for access to the remote machine. - -- `skip_validate_credentials` (bool) - When Packer is preparing to run a - remote esxi build, and export is not disable, by default it runs a no-op - ovftool command to make sure that the remote_username and remote_password - given are valid. If you set this flag to true, Packer will skip this - validation. Default: false. +- `fusion_app_path` (string) - Path to "VMware Fusion.app". By default this is + /Applications/VMware Fusion.app but this setting allows you to + customize this. + +- `remote_type` (string) - The type of remote machine that will be used to + build this VM rather than a local desktop product. The only value accepted + for this currently is esx5. If this is not set, a desktop product will + be used. By default, this is not set. + +- `remote_datastore` (string) - The path to the datastore where the VM will be stored + on the ESXi machine. + +- `remote_cache_datastore` (string) - The path to the datastore where supporting files + will be stored during the build on the remote machine. + +- `remote_cache_directory` (string) - The path where the ISO and/or floppy files will + be stored during the build on the remote machine. The path is relative to + the remote_cache_datastore on the remote machine. + +- `remote_host` (string) - The host of the remote machine used for access. + This is only required if remote_type is enabled. + +- `remote_port` (int) - The SSH port of the remote machine + +- `remote_username` (string) - The SSH username used to access the remote machine. + +- `remote_password` (string) - The SSH password for access to the remote machine. + +- `remote_private_key_file` (string) - The SSH key for access to the remote machine. + +- `skip_validate_credentials` (bool) - When Packer is preparing to run a + remote esxi build, and export is not disable, by default it runs a no-op + ovftool command to make sure that the remote_username and remote_password + given are valid. If you set this flag to true, Packer will skip this + validation. Default: false. + \ No newline at end of file diff --git a/website/pages/partials/builder/vmware/common/ExportConfig-not-required.mdx b/website/pages/partials/builder/vmware/common/ExportConfig-not-required.mdx index 4866f61ed..3fb2f13c5 100644 --- a/website/pages/partials/builder/vmware/common/ExportConfig-not-required.mdx +++ b/website/pages/partials/builder/vmware/common/ExportConfig-not-required.mdx @@ -1,38 +1,39 @@ -- `format` (string) - Either "ovf", "ova" or "vmx", this specifies the output - format of the exported virtual machine. This defaults to "ovf". - Before using this option, you need to install ovftool. This option - currently only works when option remote_type is set to "esx5". - Since ovftool is only capable of password based authentication - remote_password must be set when exporting the VM. - -- `ovftool_options` ([]string) - Extra options to pass to ovftool during export. Each item in the array - is a new argument. The options `--noSSLVerify`, `--skipManifestCheck`, - and `--targetType` are reserved, and should not be passed to this - argument. Currently, exporting the build VM (with ovftool) is only - supported when building on ESXi e.g. when `remote_type` is set to - `esx5`. See the [Building on a Remote vSphere - Hypervisor](/docs/builders/vmware-iso#building-on-a-remote-vsphere-hypervisor) - section below for more info. - -- `skip_export` (bool) - Defaults to `false`. When enabled, Packer will not export the VM. Useful - if the build output is not the resultant image, but created inside the - VM. Currently, exporting the build VM is only supported when building on - ESXi e.g. when `remote_type` is set to `esx5`. See the [Building on a - Remote vSphere - Hypervisor](/docs/builders/vmware-iso#building-on-a-remote-vsphere-hypervisor) - section below for more info. - -- `keep_registered` (bool) - Set this to true if you would like to keep - the VM registered with the remote ESXi server. If you do not need to export - the vm, then also set skip_export: true in order to avoid an unnecessary - step of using ovftool to export the vm. Defaults to false. - -- `skip_compaction` (bool) - VMware-created disks are defragmented and - compacted at the end of the build process using vmware-vdiskmanager or - vmkfstools in ESXi. In certain rare cases, this might actually end up - making the resulting disks slightly larger. If you find this to be the case, - you can disable compaction using this configuration value. Defaults to - false. Default to true for ESXi when disk_type_id is not explicitly - defined and false otherwise. +- `format` (string) - Either "ovf", "ova" or "vmx", this specifies the output + format of the exported virtual machine. This defaults to "ovf". + Before using this option, you need to install ovftool. This option + currently only works when option remote_type is set to "esx5". + Since ovftool is only capable of password based authentication + remote_password must be set when exporting the VM. + +- `ovftool_options` ([]string) - Extra options to pass to ovftool during export. Each item in the array + is a new argument. The options `--noSSLVerify`, `--skipManifestCheck`, + and `--targetType` are reserved, and should not be passed to this + argument. Currently, exporting the build VM (with ovftool) is only + supported when building on ESXi e.g. when `remote_type` is set to + `esx5`. See the [Building on a Remote vSphere + Hypervisor](/docs/builders/vmware-iso#building-on-a-remote-vsphere-hypervisor) + section below for more info. + +- `skip_export` (bool) - Defaults to `false`. When enabled, Packer will not export the VM. Useful + if the build output is not the resultant image, but created inside the + VM. Currently, exporting the build VM is only supported when building on + ESXi e.g. when `remote_type` is set to `esx5`. See the [Building on a + Remote vSphere + Hypervisor](/docs/builders/vmware-iso#building-on-a-remote-vsphere-hypervisor) + section below for more info. + +- `keep_registered` (bool) - Set this to true if you would like to keep + the VM registered with the remote ESXi server. If you do not need to export + the vm, then also set skip_export: true in order to avoid an unnecessary + step of using ovftool to export the vm. Defaults to false. + +- `skip_compaction` (bool) - VMware-created disks are defragmented and + compacted at the end of the build process using vmware-vdiskmanager or + vmkfstools in ESXi. In certain rare cases, this might actually end up + making the resulting disks slightly larger. If you find this to be the case, + you can disable compaction using this configuration value. Defaults to + false. Default to true for ESXi when disk_type_id is not explicitly + defined and false otherwise. + \ No newline at end of file diff --git a/website/pages/partials/builder/vmware/common/HWConfig-not-required.mdx b/website/pages/partials/builder/vmware/common/HWConfig-not-required.mdx index ed05723e6..4a3560313 100644 --- a/website/pages/partials/builder/vmware/common/HWConfig-not-required.mdx +++ b/website/pages/partials/builder/vmware/common/HWConfig-not-required.mdx @@ -1,87 +1,88 @@ -- `cpus` (int) - The number of cpus to use when building the VM. - -- `memory` (int) - The amount of memory to use when building the VM in megabytes. - -- `cores` (int) - The number of cores per socket to use when building the VM. This - corresponds to the cpuid.coresPerSocket option in the .vmx file. - -- `network` (string) - This is the network type that the virtual machine will be created with. - This can be one of the generic values that map to a device such as - hostonly, nat, or bridged. If the network is not one of these values, - then it is assumed to be a VMware network device. (VMnet0..x) - -- `network_adapter_type` (string) - This is the ethernet adapter type the the virtual machine will be - created with. By default the `e1000` network adapter type will be used - by Packer. For more information, please consult [Choosing a network - adapter for your virtual - machine](https://kb.vmware.com/s/article/1001805) for desktop VMware - clients. For ESXi, refer to the proper ESXi documentation. - -- `sound` (bool) - Specify whether to enable VMware's virtual soundcard device when - building the VM. Defaults to false. - -- `usb` (bool) - Enable VMware's USB bus when building the guest VM. Defaults to false. - To enable usage of the XHCI bus for USB 3 (5 Gbit/s), one can use the - vmx_data option to enable it by specifying true for the usb_xhci.present - property. - -- `serial` (string) - This specifies a serial port to add to the VM. It has a format of - `Type:option1,option2,...`. The field `Type` can be one of the following - values: `FILE`, `DEVICE`, `PIPE`, `AUTO`, or `NONE`. - - - `FILE:path(,yield)` - Specifies the path to the local file to be used - as the serial port. - - - `yield` (bool) - This is an optional boolean that specifies - whether the vm should yield the cpu when polling the port. By - default, the builder will assume this as `FALSE`. - - - `DEVICE:path(,yield)` - Specifies the path to the local device to be -   used as the serial port. If `path` is empty, then default to the first - serial port. - - - `yield` (bool) - This is an optional boolean that specifies - whether the vm should yield the cpu when polling the port. By - default, the builder will assume this as `FALSE`. - - - `PIPE:path,endpoint,host(,yield)` - Specifies to use the named-pipe - "path" as a serial port. This has a few options that determine how the - VM should use the named-pipe. - - - `endpoint` (string) - Chooses the type of the VM-end, which can be - either a `client` or `server`. - - - `host` (string) - Chooses the type of the host-end, which can - be either `app` (application) or `vm` (another virtual-machine). - - - `yield` (bool) - This is an optional boolean that specifies - whether the vm should yield the cpu when polling the port. By - default, the builder will assume this as `FALSE`. - - - `AUTO:(yield)` - Specifies to use auto-detection to determine the - serial port to use. This has one option to determine how the VM should - support the serial port. - - - `yield` (bool) - This is an optional boolean that specifies - whether the vm should yield the cpu when polling the port. By - default, the builder will assume this as `FALSE`. - - - `NONE` - Specifies to not use a serial port. (default) - -- `parallel` (string) - This specifies a parallel port to add to the VM. It has the format of - `Type:option1,option2,...`. Type can be one of the following values: - `FILE`, `DEVICE`, `AUTO`, or `NONE`. - - - `FILE:path` - Specifies the path to the local file to be used - for the parallel port. - - - `DEVICE:path` - Specifies the path to the local device to be used - for the parallel port. - - - `AUTO:direction` - Specifies to use auto-detection to determine the - parallel port. Direction can be `BI` to specify bidirectional - communication or `UNI` to specify unidirectional communication. - - - `NONE` - Specifies to not use a parallel port. (default) +- `cpus` (int) - The number of cpus to use when building the VM. + +- `memory` (int) - The amount of memory to use when building the VM in megabytes. + +- `cores` (int) - The number of cores per socket to use when building the VM. This + corresponds to the cpuid.coresPerSocket option in the .vmx file. + +- `network` (string) - This is the network type that the virtual machine will be created with. + This can be one of the generic values that map to a device such as + hostonly, nat, or bridged. If the network is not one of these values, + then it is assumed to be a VMware network device. (VMnet0..x) + +- `network_adapter_type` (string) - This is the ethernet adapter type the the virtual machine will be + created with. By default the `e1000` network adapter type will be used + by Packer. For more information, please consult [Choosing a network + adapter for your virtual + machine](https://kb.vmware.com/s/article/1001805) for desktop VMware + clients. For ESXi, refer to the proper ESXi documentation. + +- `sound` (bool) - Specify whether to enable VMware's virtual soundcard device when + building the VM. Defaults to false. + +- `usb` (bool) - Enable VMware's USB bus when building the guest VM. Defaults to false. + To enable usage of the XHCI bus for USB 3 (5 Gbit/s), one can use the + vmx_data option to enable it by specifying true for the usb_xhci.present + property. + +- `serial` (string) - This specifies a serial port to add to the VM. It has a format of + `Type:option1,option2,...`. The field `Type` can be one of the following + values: `FILE`, `DEVICE`, `PIPE`, `AUTO`, or `NONE`. + + * `FILE:path(,yield)` - Specifies the path to the local file to be used + as the serial port. + + * `yield` (bool) - This is an optional boolean that specifies + whether the vm should yield the cpu when polling the port. By + default, the builder will assume this as `FALSE`. + + * `DEVICE:path(,yield)` - Specifies the path to the local device to be +   used as the serial port. If `path` is empty, then default to the first + serial port. + + * `yield` (bool) - This is an optional boolean that specifies + whether the vm should yield the cpu when polling the port. By + default, the builder will assume this as `FALSE`. + + * `PIPE:path,endpoint,host(,yield)` - Specifies to use the named-pipe + "path" as a serial port. This has a few options that determine how the + VM should use the named-pipe. + + * `endpoint` (string) - Chooses the type of the VM-end, which can be + either a `client` or `server`. + + * `host` (string) - Chooses the type of the host-end, which can + be either `app` (application) or `vm` (another virtual-machine). + + * `yield` (bool) - This is an optional boolean that specifies + whether the vm should yield the cpu when polling the port. By + default, the builder will assume this as `FALSE`. + + * `AUTO:(yield)` - Specifies to use auto-detection to determine the + serial port to use. This has one option to determine how the VM should + support the serial port. + + * `yield` (bool) - This is an optional boolean that specifies + whether the vm should yield the cpu when polling the port. By + default, the builder will assume this as `FALSE`. + + * `NONE` - Specifies to not use a serial port. (default) + +- `parallel` (string) - This specifies a parallel port to add to the VM. It has the format of + `Type:option1,option2,...`. Type can be one of the following values: + `FILE`, `DEVICE`, `AUTO`, or `NONE`. + + * `FILE:path` - Specifies the path to the local file to be used + for the parallel port. + + * `DEVICE:path` - Specifies the path to the local device to be used + for the parallel port. + + * `AUTO:direction` - Specifies to use auto-detection to determine the + parallel port. Direction can be `BI` to specify bidirectional + communication or `UNI` to specify unidirectional communication. + + * `NONE` - Specifies to not use a parallel port. (default) + \ No newline at end of file diff --git a/website/pages/partials/builder/vmware/common/OutputConfig-not-required.mdx b/website/pages/partials/builder/vmware/common/OutputConfig-not-required.mdx index 6487377d5..99deb6e10 100644 --- a/website/pages/partials/builder/vmware/common/OutputConfig-not-required.mdx +++ b/website/pages/partials/builder/vmware/common/OutputConfig-not-required.mdx @@ -1,8 +1,9 @@ -- `output_directory` (string) - This is the path to the directory where the - resulting virtual machine will be created. This may be relative or absolute. - 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 - the builder. By default this is output-BUILDNAME where "BUILDNAME" is the - name of the build. +- `output_directory` (string) - This is the path to the directory where the + resulting virtual machine will be created. This may be relative or absolute. + 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 + the builder. By default this is output-BUILDNAME where "BUILDNAME" is the + name of the build. + \ No newline at end of file diff --git a/website/pages/partials/builder/vmware/common/ParallelUnion.mdx b/website/pages/partials/builder/vmware/common/ParallelUnion.mdx index f988ee08d..fc2e092f6 100644 --- a/website/pages/partials/builder/vmware/common/ParallelUnion.mdx +++ b/website/pages/partials/builder/vmware/common/ParallelUnion.mdx @@ -1,3 +1,2 @@ - -parallel port + parallel port diff --git a/website/pages/partials/builder/vmware/common/RunConfig-not-required.mdx b/website/pages/partials/builder/vmware/common/RunConfig-not-required.mdx index 7ebf63f72..e3226dca6 100644 --- a/website/pages/partials/builder/vmware/common/RunConfig-not-required.mdx +++ b/website/pages/partials/builder/vmware/common/RunConfig-not-required.mdx @@ -1,24 +1,25 @@ -- `headless` (bool) - Packer defaults to building VMware virtual 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 console. For - VMware machines, Packer will output VNC connection information in case you - need to connect to the console to debug the build process. - -- `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 - wish to bind to all interfaces use 0.0.0.0. - -- `vnc_port_min` (int) - The minimum and maximum port - 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, - 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. - -- `vnc_port_max` (int) - VNC Port Max -- `vnc_disable_password` (bool) - Don't auto-generate a VNC password that - is used to secure the VNC communication with the VM. This must be set to - true if building on ESXi 6.5 and 6.7 with VNC enabled. Defaults to - false. +- `headless` (bool) - Packer defaults to building VMware virtual 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 console. For + VMware machines, Packer will output VNC connection information in case you + need to connect to the console to debug the build process. + +- `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 + wish to bind to all interfaces use 0.0.0.0. + +- `vnc_port_min` (int) - The minimum and maximum port + 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, + 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. + +- `vnc_port_max` (int) - VNC Port Max +- `vnc_disable_password` (bool) - Don't auto-generate a VNC password that + is used to secure the VNC communication with the VM. This must be set to + true if building on ESXi 6.5 and 6.7 with VNC enabled. Defaults to + false. + \ No newline at end of file diff --git a/website/pages/partials/builder/vmware/common/SerialConfigPipe.mdx b/website/pages/partials/builder/vmware/common/SerialConfigPipe.mdx index b95b6cfe5..067351033 100644 --- a/website/pages/partials/builder/vmware/common/SerialConfigPipe.mdx +++ b/website/pages/partials/builder/vmware/common/SerialConfigPipe.mdx @@ -1,3 +1,2 @@ - -serial conversions + serial conversions diff --git a/website/pages/partials/builder/vmware/common/ToolsConfig-not-required.mdx b/website/pages/partials/builder/vmware/common/ToolsConfig-not-required.mdx index eda25becc..6059bfc40 100644 --- a/website/pages/partials/builder/vmware/common/ToolsConfig-not-required.mdx +++ b/website/pages/partials/builder/vmware/common/ToolsConfig-not-required.mdx @@ -1,12 +1,13 @@ -- `tools_upload_flavor` (string) - The flavor of the VMware Tools ISO to - upload into the VM. Valid values are darwin, linux, and windows. By - default, this is empty, which means VMware tools won't be uploaded. - -- `tools_upload_path` (string) - The path in the VM to upload the VMware tools. This only takes effect if - `tools_upload_flavor` is non-empty. This is a [configuration - template](/docs/templates/engine) that has a single valid variable: - `Flavor`, which will be the value of `tools_upload_flavor`. By default - the upload path is set to `{{.Flavor}}.iso`. This setting is not used - when `remote_type` is `esx5`. +- `tools_upload_flavor` (string) - The flavor of the VMware Tools ISO to + upload into the VM. Valid values are darwin, linux, and windows. By + default, this is empty, which means VMware tools won't be uploaded. + +- `tools_upload_path` (string) - The path in the VM to upload the VMware tools. This only takes effect if + `tools_upload_flavor` is non-empty. This is a [configuration + template](/docs/templates/engine) that has a single valid variable: + `Flavor`, which will be the value of `tools_upload_flavor`. By default + the upload path is set to `{{.Flavor}}.iso`. This setting is not used + when `remote_type` is `esx5`. + \ No newline at end of file diff --git a/website/pages/partials/builder/vmware/common/VMXConfig-not-required.mdx b/website/pages/partials/builder/vmware/common/VMXConfig-not-required.mdx index 5b8ef9052..5fd4a9142 100644 --- a/website/pages/partials/builder/vmware/common/VMXConfig-not-required.mdx +++ b/website/pages/partials/builder/vmware/common/VMXConfig-not-required.mdx @@ -1,22 +1,23 @@ -- `vmx_data` (map[string]string) - Arbitrary key/values to enter - into the virtual machine VMX file. This is for advanced users who want to - set properties that aren't yet supported by the builder. - -- `vmx_data_post` (map[string]string) - Identical to vmx_data, - except that it is run after the virtual machine is shutdown, and before the - virtual machine is exported. - -- `vmx_remove_ethernet_interfaces` (bool) - Remove all ethernet interfaces - from the VMX file after building. This is for advanced users who understand - the ramifications, but is useful for building Vagrant boxes since Vagrant - will create ethernet interfaces when provisioning a box. Defaults to - false. - -- `display_name` (string) - The name that will appear in your vSphere client, - and will be used for the vmx basename. This will override the "displayname" - value in your vmx file. It will also override the "displayname" if you have - set it in the "vmx_data" Packer option. This option is useful if you are - chaining vmx builds and want to make sure that the display name of each step - in the chain is unique. +- `vmx_data` (map[string]string) - Arbitrary key/values to enter + into the virtual machine VMX file. This is for advanced users who want to + set properties that aren't yet supported by the builder. + +- `vmx_data_post` (map[string]string) - Identical to vmx_data, + except that it is run after the virtual machine is shutdown, and before the + virtual machine is exported. + +- `vmx_remove_ethernet_interfaces` (bool) - Remove all ethernet interfaces + from the VMX file after building. This is for advanced users who understand + the ramifications, but is useful for building Vagrant boxes since Vagrant + will create ethernet interfaces when provisioning a box. Defaults to + false. + +- `display_name` (string) - The name that will appear in your vSphere client, + and will be used for the vmx basename. This will override the "displayname" + value in your vmx file. It will also override the "displayname" if you have + set it in the "vmx_data" Packer option. This option is useful if you are + chaining vmx builds and want to make sure that the display name of each step + in the chain is unique. + \ No newline at end of file diff --git a/website/pages/partials/builder/vmware/iso/Config-not-required.mdx b/website/pages/partials/builder/vmware/iso/Config-not-required.mdx index b64d8d45f..c8918d4b3 100644 --- a/website/pages/partials/builder/vmware/iso/Config-not-required.mdx +++ b/website/pages/partials/builder/vmware/iso/Config-not-required.mdx @@ -1,83 +1,84 @@ -- `disk_additional_size` ([]uint) - The size(s) of any additional - hard disks for the VM in megabytes. If this is not specified then the VM - will only contain a primary hard disk. The builder uses expandable, not - fixed-size virtual hard disks, so the actual file representing the disk will - not use the full size unless it is full. - -- `disk_adapter_type` (string) - The adapter type of the VMware virtual disk to create. This option is - for advanced usage, modify only if you know what you're doing. Some of - the options you can specify are `ide`, `sata`, `nvme` or `scsi` (which - uses the "lsilogic" scsi interface by default). If you specify another - option, Packer will assume that you're specifying a `scsi` interface of - that specified type. For more information, please consult [Virtual Disk - Manager User's Guide](http://www.vmware.com/pdf/VirtualDiskManager.pdf) - for desktop VMware clients. For ESXi, refer to the proper ESXi - documentation. - -- `vmdk_name` (string) - The filename of the virtual disk that'll be created, - without the extension. This defaults to packer. - -- `disk_size` (uint) - The size of the hard disk for the VM in megabytes. - The builder uses expandable, not fixed-size virtual hard disks, so the - actual file representing the disk will not use the full size unless it - is full. By default this is set to 40000 (about 40 GB). - -- `disk_type_id` (string) - The type of VMware virtual disk to create. This - option is for advanced usage. - - For desktop VMware clients: - - | Type ID | Description | - | ------- | ----------------------------------------------------------------------- | - | `0` | Growable virtual disk contained in a single file (monolithic sparse). | - | `1` | Growable virtual disk split into 2GB files (split sparse). | - | `2` | Preallocated virtual disk contained in a single file (monolithic flat). | - | `3` | Preallocated virtual disk split into 2GB files (split flat). | - | `4` | Preallocated virtual disk compatible with ESX server (VMFS flat). | - | `5` | Compressed disk optimized for streaming. | - - The default is `1`. - - For ESXi, this defaults to `zeroedthick`. The available options for ESXi - are: `zeroedthick`, `eagerzeroedthick`, `thin`. `rdm:dev`, `rdmp:dev`, - `2gbsparse` are not supported. Due to default disk compaction, when using - `zeroedthick` or `eagerzeroedthick` set `skip_compaction` to `true`. - - For more information, please consult the [Virtual Disk Manager User's - Guide](https://www.vmware.com/pdf/VirtualDiskManager.pdf) for desktop - VMware clients. For ESXi, refer to the proper ESXi documentation. - -- `cdrom_adapter_type` (string) - The adapter type (or bus) that will be used - by the cdrom device. This is chosen by default based on the disk adapter - type. VMware tends to lean towards ide for the cdrom device unless - sata is chosen for the disk adapter and so Packer attempts to mirror - this logic. This field can be specified as either ide, sata, or scsi. - -- `guest_os_type` (string) - The guest OS type being installed. This will be - set in the VMware VMX. By default this is other. By specifying a more - specific OS type, VMware may perform some optimizations or virtual hardware - changes to better support the operating system running in the - virtual machine. Valid values differ by platform and version numbers, and may - not match other VMware API's representation of the guest OS names. Consult your - platform for valid values. - -- `version` (string) - The [vmx hardware - version](http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1003746) - for the new virtual machine. Only the default value has been tested, any - other value is experimental. Default value is `9`. - -- `vm_name` (string) - This is the name of the VMX file for the new virtual - machine, without the file extension. By default this is packer-BUILDNAME, - where "BUILDNAME" is the name of the build. - -- `vmx_disk_template_path` (string) - VMX Disk Template Path -- `vmx_template_path` (string) - Path to a [configuration template](/docs/templates/engine) that - defines the contents of the virtual machine VMX file for VMware. The - engine has access to the template variables `{{ .DiskNumber }}` and - `{{ .DiskName }}`. - - This is for **advanced users only** as this can render the virtual machine - non-functional. See below for more information. For basic VMX - modifications, try `vmx_data` first. +- `disk_additional_size` ([]uint) - The size(s) of any additional + hard disks for the VM in megabytes. If this is not specified then the VM + will only contain a primary hard disk. The builder uses expandable, not + fixed-size virtual hard disks, so the actual file representing the disk will + not use the full size unless it is full. + +- `disk_adapter_type` (string) - The adapter type of the VMware virtual disk to create. This option is + for advanced usage, modify only if you know what you're doing. Some of + the options you can specify are `ide`, `sata`, `nvme` or `scsi` (which + uses the "lsilogic" scsi interface by default). If you specify another + option, Packer will assume that you're specifying a `scsi` interface of + that specified type. For more information, please consult [Virtual Disk + Manager User's Guide](http://www.vmware.com/pdf/VirtualDiskManager.pdf) + for desktop VMware clients. For ESXi, refer to the proper ESXi + documentation. + +- `vmdk_name` (string) - The filename of the virtual disk that'll be created, + without the extension. This defaults to packer. + +- `disk_size` (uint) - The size of the hard disk for the VM in megabytes. + The builder uses expandable, not fixed-size virtual hard disks, so the + actual file representing the disk will not use the full size unless it + is full. By default this is set to 40000 (about 40 GB). + +- `disk_type_id` (string) - The type of VMware virtual disk to create. This + option is for advanced usage. + + For desktop VMware clients: + + Type ID | Description + ------- | --- + `0` | Growable virtual disk contained in a single file (monolithic sparse). + `1` | Growable virtual disk split into 2GB files (split sparse). + `2` | Preallocated virtual disk contained in a single file (monolithic flat). + `3` | Preallocated virtual disk split into 2GB files (split flat). + `4` | Preallocated virtual disk compatible with ESX server (VMFS flat). + `5` | Compressed disk optimized for streaming. + + The default is `1`. + + For ESXi, this defaults to `zeroedthick`. The available options for ESXi + are: `zeroedthick`, `eagerzeroedthick`, `thin`. `rdm:dev`, `rdmp:dev`, + `2gbsparse` are not supported. Due to default disk compaction, when using + `zeroedthick` or `eagerzeroedthick` set `skip_compaction` to `true`. + + For more information, please consult the [Virtual Disk Manager User's + Guide](https://www.vmware.com/pdf/VirtualDiskManager.pdf) for desktop + VMware clients. For ESXi, refer to the proper ESXi documentation. + +- `cdrom_adapter_type` (string) - The adapter type (or bus) that will be used + by the cdrom device. This is chosen by default based on the disk adapter + type. VMware tends to lean towards ide for the cdrom device unless + sata is chosen for the disk adapter and so Packer attempts to mirror + this logic. This field can be specified as either ide, sata, or scsi. + +- `guest_os_type` (string) - The guest OS type being installed. This will be + set in the VMware VMX. By default this is other. By specifying a more + specific OS type, VMware may perform some optimizations or virtual hardware + changes to better support the operating system running in the + virtual machine. Valid values differ by platform and version numbers, and may + not match other VMware API's representation of the guest OS names. Consult your + platform for valid values. + +- `version` (string) - The [vmx hardware + version](http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1003746) + for the new virtual machine. Only the default value has been tested, any + other value is experimental. Default value is `9`. + +- `vm_name` (string) - This is the name of the VMX file for the new virtual + machine, without the file extension. By default this is packer-BUILDNAME, + where "BUILDNAME" is the name of the build. + +- `vmx_disk_template_path` (string) - VMX Disk Template Path +- `vmx_template_path` (string) - Path to a [configuration template](/docs/templates/engine) that + defines the contents of the virtual machine VMX file for VMware. The + engine has access to the template variables `{{ .DiskNumber }}` and + `{{ .DiskName }}`. + + This is for **advanced users only** as this can render the virtual machine + non-functional. See below for more information. For basic VMX + modifications, try `vmx_data` first. + \ No newline at end of file diff --git a/website/pages/partials/builder/vmware/vmx/Config-not-required.mdx b/website/pages/partials/builder/vmware/vmx/Config-not-required.mdx index 0885d22dc..a4d905a96 100644 --- a/website/pages/partials/builder/vmware/vmx/Config-not-required.mdx +++ b/website/pages/partials/builder/vmware/vmx/Config-not-required.mdx @@ -1,19 +1,20 @@ -- `linked` (bool) - By default Packer creates a 'full' clone of the virtual machine - specified in source_path. The resultant virtual machine is fully - independant from the parent it was cloned from. - - Setting linked to true instead causes Packer to create the virtual - machine as a 'linked' clone. Linked clones use and require ongoing - access to the disks of the parent virtual machine. The benefit of a - linked clone is that the clones virtual disk is typically very much - smaller than would be the case for a full clone. Additionally, the - cloned virtual machine can also be created much faster. Creating a - linked clone will typically only be of benefit in some advanced build - scenarios. Most users will wish to create a full clone instead. Defaults - to false. - -- `vm_name` (string) - This is the name of the VMX file for the new virtual - machine, without the file extension. By default this is packer-BUILDNAME, - where "BUILDNAME" is the name of the build. +- `linked` (bool) - By default Packer creates a 'full' clone of the virtual machine + specified in source_path. The resultant virtual machine is fully + independant from the parent it was cloned from. + + Setting linked to true instead causes Packer to create the virtual + machine as a 'linked' clone. Linked clones use and require ongoing + access to the disks of the parent virtual machine. The benefit of a + linked clone is that the clones virtual disk is typically very much + smaller than would be the case for a full clone. Additionally, the + cloned virtual machine can also be created much faster. Creating a + linked clone will typically only be of benefit in some advanced build + scenarios. Most users will wish to create a full clone instead. Defaults + to false. + +- `vm_name` (string) - This is the name of the VMX file for the new virtual + machine, without the file extension. By default this is packer-BUILDNAME, + where "BUILDNAME" is the name of the build. + \ No newline at end of file diff --git a/website/pages/partials/builder/vmware/vmx/Config-required.mdx b/website/pages/partials/builder/vmware/vmx/Config-required.mdx index acecbd4a0..ddeb7ebbe 100644 --- a/website/pages/partials/builder/vmware/vmx/Config-required.mdx +++ b/website/pages/partials/builder/vmware/vmx/Config-required.mdx @@ -1,4 +1,5 @@ -- `source_path` (string) - Path to the source VMX file to clone. If - remote_type is enabled then this specifies a path on the remote_host. +- `source_path` (string) - Path to the source VMX file to clone. If + remote_type is enabled then this specifies a path on the remote_host. + \ No newline at end of file diff --git a/website/pages/partials/builder/vmware/vmx/Config.mdx b/website/pages/partials/builder/vmware/vmx/Config.mdx index b312f9936..a25ad5386 100644 --- a/website/pages/partials/builder/vmware/vmx/Config.mdx +++ b/website/pages/partials/builder/vmware/vmx/Config.mdx @@ -1,3 +1,2 @@ - Config is the configuration structure for the builder. diff --git a/website/pages/partials/builder/vsphere/clone/CloneConfig-not-required.mdx b/website/pages/partials/builder/vsphere/clone/CloneConfig-not-required.mdx index 778eed051..de4d6c8a7 100644 --- a/website/pages/partials/builder/vsphere/clone/CloneConfig-not-required.mdx +++ b/website/pages/partials/builder/vsphere/clone/CloneConfig-not-required.mdx @@ -1,11 +1,12 @@ -- `template` (string) - Name of source VM. Path is optional. - -- `disk_size` (int64) - The size of the disk in MB. - -- `linked_clone` (bool) - Create VM as a linked clone from latest snapshot. Defaults to `false`. - -- `network` (string) - Set network VM will be connected to. - -- `notes` (string) - VM notes. +- `template` (string) - Name of source VM. Path is optional. + +- `disk_size` (int64) - The size of the disk in MB. + +- `linked_clone` (bool) - Create VM as a linked clone from latest snapshot. Defaults to `false`. + +- `network` (string) - Set network VM will be connected to. + +- `notes` (string) - VM notes. + \ No newline at end of file diff --git a/website/pages/partials/builder/vsphere/clone/Config-not-required.mdx b/website/pages/partials/builder/vsphere/clone/Config-not-required.mdx index 6e0758716..479da57e2 100644 --- a/website/pages/partials/builder/vsphere/clone/Config-not-required.mdx +++ b/website/pages/partials/builder/vsphere/clone/Config-not-required.mdx @@ -1,6 +1,7 @@ -- `create_snapshot` (bool) - Create a snapshot when set to `true`, so the VM can be used as a base - for linked clones. Defaults to `false`. - -- `convert_to_template` (bool) - Convert VM to a template. Defaults to `false`. +- `create_snapshot` (bool) - Create a snapshot when set to `true`, so the VM can be used as a base + for linked clones. Defaults to `false`. + +- `convert_to_template` (bool) - Convert VM to a template. Defaults to `false`. + \ No newline at end of file diff --git a/website/pages/partials/builder/vsphere/common/ConfigParamsConfig-not-required.mdx b/website/pages/partials/builder/vsphere/common/ConfigParamsConfig-not-required.mdx index 026a8d6e8..53cf6de9b 100644 --- a/website/pages/partials/builder/vsphere/common/ConfigParamsConfig-not-required.mdx +++ b/website/pages/partials/builder/vsphere/common/ConfigParamsConfig-not-required.mdx @@ -1,3 +1,4 @@ -- `configuration_parameters` (map[string]string) - Custom parameters. +- `configuration_parameters` (map[string]string) - Custom parameters. + \ No newline at end of file diff --git a/website/pages/partials/builder/vsphere/common/ConnectConfig-not-required.mdx b/website/pages/partials/builder/vsphere/common/ConnectConfig-not-required.mdx index 69185294b..02aed19df 100644 --- a/website/pages/partials/builder/vsphere/common/ConnectConfig-not-required.mdx +++ b/website/pages/partials/builder/vsphere/common/ConnectConfig-not-required.mdx @@ -1,11 +1,12 @@ -- `vcenter_server` (string) - vCenter server hostname. - -- `username` (string) - vSphere username. - -- `password` (string) - vSphere password. - -- `insecure_connection` (bool) - Do not validate vCenter server's TLS certificate. Defaults to `false`. - -- `datacenter` (string) - VMware datacenter name. Required if there is more than one datacenter in vCenter. +- `vcenter_server` (string) - vCenter server hostname. + +- `username` (string) - vSphere username. + +- `password` (string) - vSphere password. + +- `insecure_connection` (bool) - Do not validate vCenter server's TLS certificate. Defaults to `false`. + +- `datacenter` (string) - VMware datacenter name. Required if there is more than one datacenter in vCenter. + \ No newline at end of file diff --git a/website/pages/partials/builder/vsphere/common/HardwareConfig-not-required.mdx b/website/pages/partials/builder/vsphere/common/HardwareConfig-not-required.mdx index 0fa9184aa..7990d5b06 100644 --- a/website/pages/partials/builder/vsphere/common/HardwareConfig-not-required.mdx +++ b/website/pages/partials/builder/vsphere/common/HardwareConfig-not-required.mdx @@ -1,24 +1,25 @@ -- `CPUs` (int32) - Number of CPU sockets. - -- `cpu_cores` (int32) - Number of CPU cores per socket. - -- `CPU_reservation` (int64) - Amount of reserved CPU resources in MHz. - -- `CPU_limit` (int64) - Upper limit of available CPU resources in MHz. - -- `CPU_hot_plug` (bool) - Enable CPU hot plug setting for virtual machine. Defaults to `false`. - -- `RAM` (int64) - Amount of RAM in MB. - -- `RAM_reservation` (int64) - Amount of reserved RAM in MB. - -- `RAM_reserve_all` (bool) - Reserve all available RAM. Defaults to `false`. Cannot be used together - with `RAM_reservation`. - -- `RAM_hot_plug` (bool) - Enable RAM hot plug setting for virtual machine. Defaults to `false`. - -- `video_ram` (int64) - Amount of video memory in MB. - -- `NestedHV` (bool) - Enable nested hardware virtualization for VM. Defaults to `false`. +- `CPUs` (int32) - Number of CPU sockets. + +- `cpu_cores` (int32) - Number of CPU cores per socket. + +- `CPU_reservation` (int64) - Amount of reserved CPU resources in MHz. + +- `CPU_limit` (int64) - Upper limit of available CPU resources in MHz. + +- `CPU_hot_plug` (bool) - Enable CPU hot plug setting for virtual machine. Defaults to `false`. + +- `RAM` (int64) - Amount of RAM in MB. + +- `RAM_reservation` (int64) - Amount of reserved RAM in MB. + +- `RAM_reserve_all` (bool) - Reserve all available RAM. Defaults to `false`. Cannot be used together + with `RAM_reservation`. + +- `RAM_hot_plug` (bool) - Enable RAM hot plug setting for virtual machine. Defaults to `false`. + +- `video_ram` (int64) - Amount of video memory in MB. + +- `NestedHV` (bool) - Enable nested hardware virtualization for VM. Defaults to `false`. + \ No newline at end of file diff --git a/website/pages/partials/builder/vsphere/common/LocationConfig-not-required.mdx b/website/pages/partials/builder/vsphere/common/LocationConfig-not-required.mdx index 2e50819a7..40695b1a6 100644 --- a/website/pages/partials/builder/vsphere/common/LocationConfig-not-required.mdx +++ b/website/pages/partials/builder/vsphere/common/LocationConfig-not-required.mdx @@ -1,18 +1,19 @@ -- `vm_name` (string) - Name of the new VM to create. - -- `folder` (string) - VM folder to create the VM in. - -- `cluster` (string) - ESXi cluster where target VM is created. See - [Working with Clusters](#working-with-clusters). - -- `host` (string) - ESXi host where target VM is created. A full path must be specified if - the host is in a folder. For example `folder/host`. See the - `Specifying Clusters and Hosts` section above for more details. - -- `resource_pool` (string) - VMWare resource pool. Defaults to the root resource pool of the - `host` or `cluster`. - -- `datastore` (string) - VMWare datastore. Required if `host` is a cluster, or if `host` has - multiple datastores. +- `vm_name` (string) - Name of the new VM to create. + +- `folder` (string) - VM folder to create the VM in. + +- `cluster` (string) - ESXi cluster where target VM is created. See + [Working with Clusters](#working-with-clusters). + +- `host` (string) - ESXi host where target VM is created. A full path must be specified if + the host is in a folder. For example `folder/host`. See the + `Specifying Clusters and Hosts` section above for more details. + +- `resource_pool` (string) - VMWare resource pool. Defaults to the root resource pool of the + `host` or `cluster`. + +- `datastore` (string) - VMWare datastore. Required if `host` is a cluster, or if `host` has + multiple datastores. + \ No newline at end of file diff --git a/website/pages/partials/builder/vsphere/common/RunConfig-not-required.mdx b/website/pages/partials/builder/vsphere/common/RunConfig-not-required.mdx index b5dedf69d..a8d2e47c4 100644 --- a/website/pages/partials/builder/vsphere/common/RunConfig-not-required.mdx +++ b/website/pages/partials/builder/vsphere/common/RunConfig-not-required.mdx @@ -1,3 +1,4 @@ -- `boot_order` (string) - Priority of boot devices. Defaults to `disk,cdrom` +- `boot_order` (string) - Priority of boot devices. Defaults to `disk,cdrom` + \ No newline at end of file diff --git a/website/pages/partials/builder/vsphere/common/ShutdownConfig-not-required.mdx b/website/pages/partials/builder/vsphere/common/ShutdownConfig-not-required.mdx index ed9d5a5c9..d88210484 100644 --- a/website/pages/partials/builder/vsphere/common/ShutdownConfig-not-required.mdx +++ b/website/pages/partials/builder/vsphere/common/ShutdownConfig-not-required.mdx @@ -1,7 +1,8 @@ -- `shutdown_command` (string) - Specify a VM guest shutdown command. VMware guest tools are used by - default. - -- `shutdown_timeout` (duration string | ex: "1h5m2s") - Amount of time to wait for graceful VM shutdown. Examples 45s and 10m. - Defaults to 5m(5 minutes). +- `shutdown_command` (string) - Specify a VM guest shutdown command. VMware guest tools are used by + default. + +- `shutdown_timeout` (duration string | ex: "1h5m2s") - Amount of time to wait for graceful VM shutdown. Examples 45s and 10m. + Defaults to 5m(5 minutes). + \ No newline at end of file diff --git a/website/pages/partials/builder/vsphere/common/WaitIpConfig-not-required.mdx b/website/pages/partials/builder/vsphere/common/WaitIpConfig-not-required.mdx index d6c726601..3c6b96739 100644 --- a/website/pages/partials/builder/vsphere/common/WaitIpConfig-not-required.mdx +++ b/website/pages/partials/builder/vsphere/common/WaitIpConfig-not-required.mdx @@ -1,13 +1,14 @@ -- `ip_wait_timeout` (duration string | ex: "1h5m2s") - Amount of time to wait for VM's IP, similar to 'ssh_timeout'. - Defaults to 30m (30 minutes). See the Goang - [ParseDuration](https://golang.org/pkg/time/#ParseDuration) documentation - for full details. - -- `ip_settle_timeout` (duration string | ex: "1h5m2s") - Amount of time to wait for VM's IP to settle down, sometimes VM may - report incorrect IP initially, then its recommended to set that - parameter to apx. 2 minutes. Examples 45s and 10m. Defaults to - 5s(5 seconds). See the Golang - [ParseDuration](https://golang.org/pkg/time/#ParseDuration) documentation - for full details. +- `ip_wait_timeout` (duration string | ex: "1h5m2s") - Amount of time to wait for VM's IP, similar to 'ssh_timeout'. + Defaults to 30m (30 minutes). See the Goang + [ParseDuration](https://golang.org/pkg/time/#ParseDuration) documentation + for full details. + +- `ip_settle_timeout` (duration string | ex: "1h5m2s") - Amount of time to wait for VM's IP to settle down, sometimes VM may + report incorrect IP initially, then its recommended to set that + parameter to apx. 2 minutes. Examples 45s and 10m. Defaults to + 5s(5 seconds). See the Golang + [ParseDuration](https://golang.org/pkg/time/#ParseDuration) documentation + for full details. + \ No newline at end of file diff --git a/website/pages/partials/builder/vsphere/iso/CDRomConfig-not-required.mdx b/website/pages/partials/builder/vsphere/iso/CDRomConfig-not-required.mdx index 4302ce353..e3952b792 100644 --- a/website/pages/partials/builder/vsphere/iso/CDRomConfig-not-required.mdx +++ b/website/pages/partials/builder/vsphere/iso/CDRomConfig-not-required.mdx @@ -1,6 +1,7 @@ -- `cdrom_type` (string) - Which controller to use. Example: `sata`. Defaults to `ide`. - -- `iso_paths` ([]string) - List of datastore paths to ISO files that will be mounted to the VM. - Example: `"[datastore1] ISO/ubuntu.iso"`. +- `cdrom_type` (string) - Which controller to use. Example: `sata`. Defaults to `ide`. + +- `iso_paths` ([]string) - List of datastore paths to ISO files that will be mounted to the VM. + Example: `"[datastore1] ISO/ubuntu.iso"`. + \ No newline at end of file diff --git a/website/pages/partials/builder/vsphere/iso/Config-not-required.mdx b/website/pages/partials/builder/vsphere/iso/Config-not-required.mdx index e85fc59fa..a51e32583 100644 --- a/website/pages/partials/builder/vsphere/iso/Config-not-required.mdx +++ b/website/pages/partials/builder/vsphere/iso/Config-not-required.mdx @@ -1,6 +1,7 @@ -- `create_snapshot` (bool) - Create a snapshot when set to `true`, so the VM can be used as a base - for linked clones. Defaults to `false`. - -- `convert_to_template` (bool) - Convert VM to a template. Defaults to `false`. +- `create_snapshot` (bool) - Create a snapshot when set to `true`, so the VM can be used as a base + for linked clones. Defaults to `false`. + +- `convert_to_template` (bool) - Convert VM to a template. Defaults to `false`. + \ No newline at end of file diff --git a/website/pages/partials/builder/vsphere/iso/CreateConfig-not-required.mdx b/website/pages/partials/builder/vsphere/iso/CreateConfig-not-required.mdx index 5d7c96687..b3524f079 100644 --- a/website/pages/partials/builder/vsphere/iso/CreateConfig-not-required.mdx +++ b/website/pages/partials/builder/vsphere/iso/CreateConfig-not-required.mdx @@ -1,32 +1,33 @@ -- `vm_version` (uint) - Set VM hardware version. Defaults to the most current VM hardware - version supported by vCenter. See - [VMWare article 1003746](https://kb.vmware.com/s/article/1003746) for - the full list of supported VM hardware versions. - -- `guest_os_type` (string) - Set VM OS type. Defaults to `otherGuest`. See [ - here](https://code.vmware.com/apis/358/vsphere/doc/vim.vm.GuestOsDescriptor.GuestOsIdentifier.html) - for a full list of possible values. - -- `firmware` (string) - Set the Firmware at machine creation. Example `efi`. Defaults to `bios`. - -- `disk_controller_type` (string) - Set VM disk controller type. Example `pvscsi`. - -- `disk_size` (int64) - The size of the disk in MB. - -- `disk_thin_provisioned` (bool) - Enable VMDK thin provisioning for VM. Defaults to `false`. - -- `disk_eagerly_scrub` (bool) - Enable VMDK eager scrubbing for VM. Defaults to `false`. - -- `storage` ([]DiskConfig) - A collection of one or more disks to be provisioned along with the VM. - -- `network` (string) - Set network VM will be connected to. - -- `network_card` (string) - Set VM network card type. Example `vmxnet3`. - -- `network_adapters` ([]NIC) - Network adapters - -- `usb_controller` (bool) - Create USB controller for virtual machine. Defaults to `false`. - -- `notes` (string) - VM notes. +- `vm_version` (uint) - Set VM hardware version. Defaults to the most current VM hardware + version supported by vCenter. See + [VMWare article 1003746](https://kb.vmware.com/s/article/1003746) for + the full list of supported VM hardware versions. + +- `guest_os_type` (string) - Set VM OS type. Defaults to `otherGuest`. See [ + here](https://code.vmware.com/apis/358/vsphere/doc/vim.vm.GuestOsDescriptor.GuestOsIdentifier.html) + for a full list of possible values. + +- `firmware` (string) - Set the Firmware at machine creation. Example `efi`. Defaults to `bios`. + +- `disk_controller_type` (string) - Set VM disk controller type. Example `pvscsi`. + +- `disk_size` (int64) - The size of the disk in MB. + +- `disk_thin_provisioned` (bool) - Enable VMDK thin provisioning for VM. Defaults to `false`. + +- `disk_eagerly_scrub` (bool) - Enable VMDK eager scrubbing for VM. Defaults to `false`. + +- `storage` ([]DiskConfig) - A collection of one or more disks to be provisioned along with the VM. + +- `network` (string) - Set network VM will be connected to. + +- `network_card` (string) - Set VM network card type. Example `vmxnet3`. + +- `network_adapters` ([]NIC) - Network adapters + +- `usb_controller` (bool) - Create USB controller for virtual machine. Defaults to `false`. + +- `notes` (string) - VM notes. + \ No newline at end of file diff --git a/website/pages/partials/builder/vsphere/iso/DiskConfig-not-required.mdx b/website/pages/partials/builder/vsphere/iso/DiskConfig-not-required.mdx index 22b0be980..15ca7cc1f 100644 --- a/website/pages/partials/builder/vsphere/iso/DiskConfig-not-required.mdx +++ b/website/pages/partials/builder/vsphere/iso/DiskConfig-not-required.mdx @@ -1,5 +1,6 @@ -- `disk_thin_provisioned` (bool) - Enable VMDK thin provisioning for VM. Defaults to `false`. - -- `disk_eagerly_scrub` (bool) - Enable VMDK eager scrubbing for VM. Defaults to `false`. +- `disk_thin_provisioned` (bool) - Enable VMDK thin provisioning for VM. Defaults to `false`. + +- `disk_eagerly_scrub` (bool) - Enable VMDK eager scrubbing for VM. Defaults to `false`. + \ No newline at end of file diff --git a/website/pages/partials/builder/vsphere/iso/DiskConfig-required.mdx b/website/pages/partials/builder/vsphere/iso/DiskConfig-required.mdx index da00db7e3..4bdf8c3cb 100644 --- a/website/pages/partials/builder/vsphere/iso/DiskConfig-required.mdx +++ b/website/pages/partials/builder/vsphere/iso/DiskConfig-required.mdx @@ -1,3 +1,4 @@ -- `disk_size` (int64) - Set the size of the disk +- `disk_size` (int64) - Set the size of the disk + \ No newline at end of file diff --git a/website/pages/partials/builder/vsphere/iso/FloppyConfig-not-required.mdx b/website/pages/partials/builder/vsphere/iso/FloppyConfig-not-required.mdx index 62e1fea33..090b17f58 100644 --- a/website/pages/partials/builder/vsphere/iso/FloppyConfig-not-required.mdx +++ b/website/pages/partials/builder/vsphere/iso/FloppyConfig-not-required.mdx @@ -1,9 +1,10 @@ -- `floppy_img_path` (string) - Datastore path to a floppy image that will be mounted to the VM. - Example: `[datastore1] ISO/pvscsi-Windows8.flp`. - -- `floppy_files` ([]string) - List of local files to be mounted to the VM floppy drive. Can be used to - make Debian preseed or RHEL kickstart files available to the VM. - -- `floppy_dirs` ([]string) - List of directories to copy files from. +- `floppy_img_path` (string) - Datastore path to a floppy image that will be mounted to the VM. + Example: `[datastore1] ISO/pvscsi-Windows8.flp`. + +- `floppy_files` ([]string) - List of local files to be mounted to the VM floppy drive. Can be used to + make Debian preseed or RHEL kickstart files available to the VM. + +- `floppy_dirs` ([]string) - List of directories to copy files from. + \ No newline at end of file diff --git a/website/pages/partials/builder/vsphere/iso/NIC-not-required.mdx b/website/pages/partials/builder/vsphere/iso/NIC-not-required.mdx index 2227e6f4e..32b56d663 100644 --- a/website/pages/partials/builder/vsphere/iso/NIC-not-required.mdx +++ b/website/pages/partials/builder/vsphere/iso/NIC-not-required.mdx @@ -1,7 +1,8 @@ -- `network` (string) - Set network VM will be connected to. - -- `mac_address` (string) - Set network card MAC address - -- `passthrough` (\*bool) - Enable DirectPath I/O passthrough +- `network` (string) - Set network VM will be connected to. + +- `mac_address` (string) - Set network card MAC address + +- `passthrough` (\*bool) - Enable DirectPath I/O passthrough + \ No newline at end of file diff --git a/website/pages/partials/builder/vsphere/iso/NIC-required.mdx b/website/pages/partials/builder/vsphere/iso/NIC-required.mdx index a73b8a26e..81b78c372 100644 --- a/website/pages/partials/builder/vsphere/iso/NIC-required.mdx +++ b/website/pages/partials/builder/vsphere/iso/NIC-required.mdx @@ -1,3 +1,4 @@ -- `network_card` (string) - Set VM network card type. Example `vmxnet3`. +- `network_card` (string) - Set VM network card type. Example `vmxnet3`. + \ No newline at end of file diff --git a/website/pages/partials/builder/vsphere/iso/RemoveCDRomConfig-not-required.mdx b/website/pages/partials/builder/vsphere/iso/RemoveCDRomConfig-not-required.mdx index 9e3dd3d20..a01290e7e 100644 --- a/website/pages/partials/builder/vsphere/iso/RemoveCDRomConfig-not-required.mdx +++ b/website/pages/partials/builder/vsphere/iso/RemoveCDRomConfig-not-required.mdx @@ -1,3 +1,4 @@ -- `remove_cdrom` (bool) - Remove CD-ROM devices from template. Defaults to `false`. +- `remove_cdrom` (bool) - Remove CD-ROM devices from template. Defaults to `false`. + \ No newline at end of file diff --git a/website/pages/partials/builder/yandex/Config-not-required.mdx b/website/pages/partials/builder/yandex/Config-not-required.mdx index e406757de..36daf5a77 100644 --- a/website/pages/partials/builder/yandex/Config-not-required.mdx +++ b/website/pages/partials/builder/yandex/Config-not-required.mdx @@ -1,79 +1,80 @@ -- `endpoint` (string) - Non standard api endpoint URL. - -- `service_account_key_file` (string) - Path to file with Service Account key in json format. This - is an alternative method to authenticate to Yandex.Cloud. Alternatively you may set environment variable - YC_SERVICE_ACCOUNT_KEY_FILE. - -- `service_account_id` (string) - Service account identifier to assign to instance - -- `disk_name` (string) - The name of the disk, if unset the instance name - will be used. - -- `disk_size_gb` (int) - The size of the disk in GB. This defaults to `10`, which is 10GB. - -- `disk_type` (string) - Specify disk type for the launched instance. Defaults to `network-hdd`. - -- `image_description` (string) - The description of the resulting image. - -- `image_family` (string) - The family name of the resulting image. - -- `image_labels` (map[string]string) - Key/value pair labels to - apply to the created image. - -- `image_name` (string) - The unique name of the resulting image. Defaults to - `packer-{{timestamp}}`. - -- `image_product_ids` ([]string) - License IDs that indicate which licenses are attached to resulting image. - -- `instance_cores` (int) - The number of cores available to the instance. - -- `instance_gpus` (int) - The number of GPU available to the instance. - -- `instance_mem_gb` (int) - The amount of memory available to the instance, specified in gigabytes. - -- `instance_name` (string) - The name assigned to the instance. - -- `labels` (map[string]string) - Key/value pair labels to apply to - the launched instance. - -- `platform_id` (string) - Identifier of the hardware platform configuration for the instance. This defaults to `standard-v1`. - -- `max_retries` (int) - The maximum number of times an API request is being executed - -- `metadata` (map[string]string) - Metadata applied to the launched instance. - -- `metadata_from_file` (map[string]string) - Metadata applied to the launched instance. Value are file paths. - -- `preemptible` (bool) - Launch a preemptible instance. This defaults to `false`. - -- `serial_log_file` (string) - File path to save serial port output of the launched instance. - -- `source_image_folder_id` (string) - The ID of the folder containing the source image. - -- `source_image_id` (string) - The source image ID to use to create the new image - from. - -- `source_image_name` (string) - The source image name to use to create the new image - from. Name will be looked up in `source_image_folder_id`. - -- `subnet_id` (string) - The Yandex VPC subnet id to use for - the launched instance. Note, the zone of the subnet must match the - zone in which the VM is launched. - -- `use_ipv4_nat` (bool) - If set to true, then launched instance will have external internet - access. - -- `use_ipv6` (bool) - Set to true to enable IPv6 for the instance being - created. This defaults to `false`, or not enabled. - - -> **Note**: Usage of IPv6 will be available in the future. - -- `use_internal_ip` (bool) - If true, use the instance's internal IP address - instead of its external IP during building. - -- `zone` (string) - The name of the zone to launch the instance. This defaults to `ru-central1-a`. - -- `state_timeout` (duration string | ex: "1h5m2s") - The time to wait for instance state changes. - Defaults to `5m`. +- `endpoint` (string) - Non standard api endpoint URL. + +- `service_account_key_file` (string) - Path to file with Service Account key in json format. This + is an alternative method to authenticate to Yandex.Cloud. Alternatively you may set environment variable + YC_SERVICE_ACCOUNT_KEY_FILE. + +- `service_account_id` (string) - Service account identifier to assign to instance + +- `disk_name` (string) - The name of the disk, if unset the instance name + will be used. + +- `disk_size_gb` (int) - The size of the disk in GB. This defaults to `10`, which is 10GB. + +- `disk_type` (string) - Specify disk type for the launched instance. Defaults to `network-hdd`. + +- `image_description` (string) - The description of the resulting image. + +- `image_family` (string) - The family name of the resulting image. + +- `image_labels` (map[string]string) - Key/value pair labels to + apply to the created image. + +- `image_name` (string) - The unique name of the resulting image. Defaults to + `packer-{{timestamp}}`. + +- `image_product_ids` ([]string) - License IDs that indicate which licenses are attached to resulting image. + +- `instance_cores` (int) - The number of cores available to the instance. + +- `instance_gpus` (int) - The number of GPU available to the instance. + +- `instance_mem_gb` (int) - The amount of memory available to the instance, specified in gigabytes. + +- `instance_name` (string) - The name assigned to the instance. + +- `labels` (map[string]string) - Key/value pair labels to apply to + the launched instance. + +- `platform_id` (string) - Identifier of the hardware platform configuration for the instance. This defaults to `standard-v1`. + +- `max_retries` (int) - The maximum number of times an API request is being executed + +- `metadata` (map[string]string) - Metadata applied to the launched instance. + +- `metadata_from_file` (map[string]string) - Metadata applied to the launched instance. Value are file paths. + +- `preemptible` (bool) - Launch a preemptible instance. This defaults to `false`. + +- `serial_log_file` (string) - File path to save serial port output of the launched instance. + +- `source_image_folder_id` (string) - The ID of the folder containing the source image. + +- `source_image_id` (string) - The source image ID to use to create the new image + from. + +- `source_image_name` (string) - The source image name to use to create the new image + from. Name will be looked up in `source_image_folder_id`. + +- `subnet_id` (string) - The Yandex VPC subnet id to use for + the launched instance. Note, the zone of the subnet must match the + zone in which the VM is launched. + +- `use_ipv4_nat` (bool) - If set to true, then launched instance will have external internet + access. + +- `use_ipv6` (bool) - Set to true to enable IPv6 for the instance being + created. This defaults to `false`, or not enabled. + + -> **Note**: Usage of IPv6 will be available in the future. + +- `use_internal_ip` (bool) - If true, use the instance's internal IP address + instead of its external IP during building. + +- `zone` (string) - The name of the zone to launch the instance. This defaults to `ru-central1-a`. + +- `state_timeout` (duration string | ex: "1h5m2s") - The time to wait for instance state changes. + Defaults to `5m`. + \ No newline at end of file diff --git a/website/pages/partials/builder/yandex/Config-required.mdx b/website/pages/partials/builder/yandex/Config-required.mdx index 064ecee1b..c9dba971c 100644 --- a/website/pages/partials/builder/yandex/Config-required.mdx +++ b/website/pages/partials/builder/yandex/Config-required.mdx @@ -1,11 +1,12 @@ -- `folder_id` (string) - The folder ID that will be used to launch instances and store images. - Alternatively you may set value by environment variable YC_FOLDER_ID. - -- `token` (string) - OAuth token to use to authenticate to Yandex.Cloud. Alternatively you may set - value by environment variable YC_TOKEN. - -- `source_image_family` (string) - The source image family to create the new image - from. You can also specify source_image_id instead. Just one of a source_image_id or - source_image_family must be specified. Example: `ubuntu-1804-lts` +- `folder_id` (string) - The folder ID that will be used to launch instances and store images. + Alternatively you may set value by environment variable YC_FOLDER_ID. + +- `token` (string) - OAuth token to use to authenticate to Yandex.Cloud. Alternatively you may set + value by environment variable YC_TOKEN. + +- `source_image_family` (string) - The source image family to create the new image + from. You can also specify source_image_id instead. Just one of a source_image_id or + source_image_family must be specified. Example: `ubuntu-1804-lts` + \ No newline at end of file diff --git a/website/pages/partials/common/FloppyConfig-not-required.mdx b/website/pages/partials/common/FloppyConfig-not-required.mdx index 1e388e175..d344c49f3 100644 --- a/website/pages/partials/common/FloppyConfig-not-required.mdx +++ b/website/pages/partials/common/FloppyConfig-not-required.mdx @@ -1,16 +1,16 @@ -- `floppy_files` ([]string) - A list of files to place onto a floppy disk that is attached when the VM - is booted. Currently, no support exists for creating sub-directories on - the floppy. Wildcard characters (\\\*, ?, and \[\]) are allowed. Directory - names are also allowed, which will add all the files found in the - directory to the floppy. - -- `floppy_dirs` ([]string) - A list of directories to place onto the floppy disk recursively. This is - similar to the `floppy_files` option except that the directory structure - is preserved. This is useful for when your floppy disk includes drivers - or if you just want to organize it's contents as a hierarchy. Wildcard - characters (\\\*, ?, and \[\]) are allowed. The maximum summary size of - all files in the listed directories are the same as in `floppy_files`. - -- `floppy_label` (string) - Floppy Label +- `floppy_files` ([]string) - A list of files to place onto a floppy disk that is attached when the VM + is booted. Currently, no support exists for creating sub-directories on + the floppy. Wildcard characters (\\*, ?, and \[\]) are allowed. Directory + names are also allowed, which will add all the files found in the + directory to the floppy. + +- `floppy_dirs` ([]string) - A list of directories to place onto the floppy disk recursively. This is + similar to the `floppy_files` option except that the directory structure + is preserved. This is useful for when your floppy disk includes drivers + or if you just want to organize it's contents as a hierarchy. Wildcard + characters (\\*, ?, and \[\]) are allowed. The maximum summary size of + all files in the listed directories are the same as in `floppy_files`. + +- `floppy_label` (string) - Floppy Label \ No newline at end of file diff --git a/website/pages/partials/common/FloppyConfig.mdx b/website/pages/partials/common/FloppyConfig.mdx index bca819832..2c586c18f 100644 --- a/website/pages/partials/common/FloppyConfig.mdx +++ b/website/pages/partials/common/FloppyConfig.mdx @@ -1,5 +1,4 @@ - A floppy can be made available for your build. This is most useful for unattended Windows installs, which look for an Autounattend.xml file on removable media. By default, no floppy will be attached. All files listed in diff --git a/website/pages/partials/common/HTTPConfig-not-required.mdx b/website/pages/partials/common/HTTPConfig-not-required.mdx index d8a4df1c7..7ad792afe 100644 --- a/website/pages/partials/common/HTTPConfig-not-required.mdx +++ b/website/pages/partials/common/HTTPConfig-not-required.mdx @@ -1,17 +1,17 @@ -- `http_directory` (string) - Path to a directory to serve using an HTTP server. The files in this - directory will be available over HTTP that will be requestable from the - virtual machine. This is useful for hosting kickstart files and so on. - By default this is an empty string, which means no HTTP server will be - started. The address and port of the HTTP server will be available as - variables in `boot_command`. This is covered in more detail below. - -- `http_port_min` (int) - These are the minimum and maximum port to use for the HTTP server - started to serve the `http_directory`. Because Packer often runs in - parallel, Packer will choose a randomly available port in this range to - run the HTTP server. If you want to force the HTTP server to be on one - port, make this minimum and maximum port the same. By default the values - are `8000` and `9000`, respectively. - -- `http_port_max` (int) - HTTP Port Max +- `http_directory` (string) - Path to a directory to serve using an HTTP server. The files in this + directory will be available over HTTP that will be requestable from the + virtual machine. This is useful for hosting kickstart files and so on. + By default this is an empty string, which means no HTTP server will be + started. The address and port of the HTTP server will be available as + variables in `boot_command`. This is covered in more detail below. + +- `http_port_min` (int) - These are the minimum and maximum port to use for the HTTP server + started to serve the `http_directory`. Because Packer often runs in + parallel, Packer will choose a randomly available port in this range to + run the HTTP server. If you want to force the HTTP server to be on one + port, make this minimum and maximum port the same. By default the values + are `8000` and `9000`, respectively. + +- `http_port_max` (int) - HTTP Port Max \ No newline at end of file diff --git a/website/pages/partials/common/HTTPConfig.mdx b/website/pages/partials/common/HTTPConfig.mdx index 8f7a2998d..225422086 100644 --- a/website/pages/partials/common/HTTPConfig.mdx +++ b/website/pages/partials/common/HTTPConfig.mdx @@ -1,9 +1,8 @@ - Packer will create an http server serving `http_directory` when it is set, a random free port will be selected and the architecture of the directory referenced will be available in your builder. Example usage from a builder: -`wget http://{{ .HTTPIP }}:{{ .HTTPPort }}/foo/bar/preseed.cfg` + `wget http://{{ .HTTPIP }}:{{ .HTTPPort }}/foo/bar/preseed.cfg` diff --git a/website/pages/partials/common/ISOConfig-not-required.mdx b/website/pages/partials/common/ISOConfig-not-required.mdx index 955bd57f1..633eef401 100644 --- a/website/pages/partials/common/ISOConfig-not-required.mdx +++ b/website/pages/partials/common/ISOConfig-not-required.mdx @@ -1,27 +1,28 @@ -- `iso_checksum_url` (string) - An URL to a checksum file containing a checksum for the ISO file. At - least one of `iso_checksum` and `iso_checksum_url` must be defined. - `iso_checksum_url` will be ignored if `iso_checksum` is non empty. - -- `iso_checksum_type` (string) - The algorithm to be used when computing the checksum of the file - specified in `iso_checksum`. Currently, valid values are "", "none", - "md5", "sha1", "sha256", "sha512" or "file". Since the validity of ISO - and virtual disk files are typically crucial to a successful build, - Packer performs a check of any supplied media by default. While setting - "none" will cause Packer to skip this check, corruption of large files - such as ISOs and virtual hard drives can occur from time to time. As - such, skipping this check is not recommended. `iso_checksum_type` must - be set to `file` when `iso_checksum` is an url. - -- `iso_urls` ([]string) - Multiple URLs for the ISO to download. Packer will try these in order. - If anything goes wrong attempting to download or while downloading a - single URL, it will move on to the next. All URLs must point to the same - file (same checksum). By default this is empty and `iso_url` is used. - Only one of `iso_url` or `iso_urls` can be specified. - -- `iso_target_path` (string) - The path where the iso should be saved after download. By default will - go in the packer cache, with a hash of the original filename and - checksum as its name. - -- `iso_target_extension` (string) - The extension of the iso file after download. This defaults to `iso`. +- `iso_checksum_url` (string) - An URL to a checksum file containing a checksum for the ISO file. At + least one of `iso_checksum` and `iso_checksum_url` must be defined. + `iso_checksum_url` will be ignored if `iso_checksum` is non empty. + +- `iso_checksum_type` (string) - The algorithm to be used when computing the checksum of the file + specified in `iso_checksum`. Currently, valid values are "", "none", + "md5", "sha1", "sha256", "sha512" or "file". Since the validity of ISO + and virtual disk files are typically crucial to a successful build, + Packer performs a check of any supplied media by default. While setting + "none" will cause Packer to skip this check, corruption of large files + such as ISOs and virtual hard drives can occur from time to time. As + such, skipping this check is not recommended. `iso_checksum_type` must + be set to `file` when `iso_checksum` is an url. + +- `iso_urls` ([]string) - Multiple URLs for the ISO to download. Packer will try these in order. + If anything goes wrong attempting to download or while downloading a + single URL, it will move on to the next. All URLs must point to the same + file (same checksum). By default this is empty and `iso_url` is used. + Only one of `iso_url` or `iso_urls` can be specified. + +- `iso_target_path` (string) - The path where the iso should be saved after download. By default will + go in the packer cache, with a hash of the original filename and + checksum as its name. + +- `iso_target_extension` (string) - The extension of the iso file after download. This defaults to `iso`. + \ No newline at end of file diff --git a/website/pages/partials/common/ISOConfig-required.mdx b/website/pages/partials/common/ISOConfig-required.mdx index 520627cda..1508f6aa0 100644 --- a/website/pages/partials/common/ISOConfig-required.mdx +++ b/website/pages/partials/common/ISOConfig-required.mdx @@ -1,12 +1,13 @@ -- `iso_checksum` (string) - The checksum for the ISO file or virtual hard drive file. The algorithm - to use when computing the checksum can be optionally specified with - `iso_checksum_type`. When `iso_checksum_type` is not set packer will - guess the checksumming type based on `iso_checksum` length. - `iso_checksum` can be also be a file or an URL, in which case - `iso_checksum_type` must be set to `file`; the go-getter will download - it and use the first hash found. - -- `iso_url` (string) - A URL to the ISO containing the installation image or virtual hard drive - (VHD or VHDX) file to clone. +- `iso_checksum` (string) - The checksum for the ISO file or virtual hard drive file. The algorithm + to use when computing the checksum can be optionally specified with + `iso_checksum_type`. When `iso_checksum_type` is not set packer will + guess the checksumming type based on `iso_checksum` length. + `iso_checksum` can be also be a file or an URL, in which case + `iso_checksum_type` must be set to `file`; the go-getter will download + it and use the first hash found. + +- `iso_url` (string) - A URL to the ISO containing the installation image or virtual hard drive + (VHD or VHDX) file to clone. + \ No newline at end of file diff --git a/website/pages/partials/common/ISOConfig.mdx b/website/pages/partials/common/ISOConfig.mdx index c1dd8b6fa..43addc278 100644 --- a/website/pages/partials/common/ISOConfig.mdx +++ b/website/pages/partials/common/ISOConfig.mdx @@ -1,5 +1,4 @@ - By default, Packer will symlink, download or copy image files to the Packer cache into a "`hash($iso_url+$iso_checksum).$iso_target_extension`" file. Packer uses [hashicorp/go-getter](https://github.com/hashicorp/go-getter) in @@ -7,11 +6,11 @@ file mode in order to perform a download. go-getter supports the following protocols: -- Local files -- Git -- Mercurial -- HTTP -- Amazon S3 +* Local files +* Git +* Mercurial +* HTTP +* Amazon S3 Examples: go-getter can guess the checksum type based on `iso_checksum` len. diff --git a/website/pages/partials/common/bootcommand/BootConfig-not-required.mdx b/website/pages/partials/common/bootcommand/BootConfig-not-required.mdx index 20bb1481b..3159ff57d 100644 --- a/website/pages/partials/common/bootcommand/BootConfig-not-required.mdx +++ b/website/pages/partials/common/bootcommand/BootConfig-not-required.mdx @@ -1,19 +1,20 @@ -- `boot_keygroup_interval` (duration string | ex: "1h5m2s") - Time to wait after sending a group of key pressses. The value of this - should be a duration. Examples are `5s` and `1m30s` which will cause - Packer to wait five seconds and one minute 30 seconds, respectively. If - this isn't specified, a sensible default value is picked depending on - the builder type. - -- `boot_wait` (duration string | ex: "1h5m2s") - The time to wait after booting the initial virtual machine before typing - the `boot_command`. The value of this should be a duration. Examples are - `5s` and `1m30s` which will cause Packer to wait five seconds and one - minute 30 seconds, respectively. If this isn't specified, the default is - `10s` or 10 seconds. - -- `boot_command` ([]string) - This is an array of commands to type when the virtual machine is first - booted. The goal of these commands should be to type just enough to - initialize the operating system installer. Special keys can be typed as - well, and are covered in the section below on the boot command. If this - is not specified, it is assumed the installer will start itself. +- `boot_keygroup_interval` (duration string | ex: "1h5m2s") - Time to wait after sending a group of key pressses. The value of this + should be a duration. Examples are `5s` and `1m30s` which will cause + Packer to wait five seconds and one minute 30 seconds, respectively. If + this isn't specified, a sensible default value is picked depending on + the builder type. + +- `boot_wait` (duration string | ex: "1h5m2s") - The time to wait after booting the initial virtual machine before typing + the `boot_command`. The value of this should be a duration. Examples are + `5s` and `1m30s` which will cause Packer to wait five seconds and one + minute 30 seconds, respectively. If this isn't specified, the default is + `10s` or 10 seconds. + +- `boot_command` ([]string) - This is an array of commands to type when the virtual machine is first + booted. The goal of these commands should be to type just enough to + initialize the operating system installer. Special keys can be typed as + well, and are covered in the section below on the boot command. If this + is not specified, it is assumed the installer will start itself. + \ No newline at end of file diff --git a/website/pages/partials/common/bootcommand/BootConfig.mdx b/website/pages/partials/common/bootcommand/BootConfig.mdx index 31447dc4e..b62c6d1b7 100644 --- a/website/pages/partials/common/bootcommand/BootConfig.mdx +++ b/website/pages/partials/common/bootcommand/BootConfig.mdx @@ -1,5 +1,4 @@ - The boot configuration is very important: `boot_command` specifies the keys to type when the virtual machine is first booted in order to start the OS installer. This command is typed after boot_wait, which gives the virtual @@ -11,62 +10,62 @@ sequence. It is an array only to improve readability within the template. There are a set of special keys available. If these are in your boot command, they will be replaced by the proper key: -- `` - Backspace +- `` - Backspace -- `` - Delete +- `` - Delete -- ` ` - Simulates an actual "enter" or "return" keypress. +- ` ` - Simulates an actual "enter" or "return" keypress. -- `` - Simulates pressing the escape key. +- `` - Simulates pressing the escape key. -- `` - Simulates pressing the tab key. +- `` - Simulates pressing the tab key. -- ` - ` - Simulates pressing a function key. +- ` - ` - Simulates pressing a function key. -- ` ` - Simulates pressing an arrow key. +- ` ` - Simulates pressing an arrow key. -- `` - Simulates pressing the spacebar. +- `` - Simulates pressing the spacebar. -- `` - Simulates pressing the insert key. +- `` - Simulates pressing the insert key. -- ` ` - Simulates pressing the home and end keys. +- ` ` - Simulates pressing the home and end keys. -- ` ` - Simulates pressing the page up and page down - keys. +- ` ` - Simulates pressing the page up and page down + keys. -- `` - Simulates pressing the Menu key. +- `` - Simulates pressing the Menu key. -- ` ` - Simulates pressing the alt key. +- ` ` - Simulates pressing the alt key. -- ` ` - Simulates pressing the ctrl key. +- ` ` - Simulates pressing the ctrl key. -- ` ` - Simulates pressing the shift key. +- ` ` - Simulates pressing the shift key. -- ` ` - Simulates pressing the ⌘ or Windows key. +- ` ` - Simulates pressing the ⌘ or Windows key. -- ` ` - Adds a 1, 5 or 10 second pause before - sending any additional keys. This is useful if you have to generally - wait for the UI to update before typing more. +- ` ` - Adds a 1, 5 or 10 second pause before + sending any additional keys. This is useful if you have to generally + wait for the UI to update before typing more. -- `` - Add an arbitrary pause before sending any additional keys. - The format of `XX` is a sequence of positive decimal numbers, each with - optional fraction and a unit suffix, such as `300ms`, `1.5h` or `2h45m`. - Valid time units are `ns`, `us` (or `µs`), `ms`, `s`, `m`, `h`. For - example `` or ``. +- `` - Add an arbitrary pause before sending any additional keys. + The format of `XX` is a sequence of positive decimal numbers, each with + optional fraction and a unit suffix, such as `300ms`, `1.5h` or `2h45m`. + Valid time units are `ns`, `us` (or `µs`), `ms`, `s`, `m`, `h`. For + example `` or ``. -- ` ` - Any printable keyboard character, and of these - "special" expressions, with the exception of the `` types, can - also be toggled on or off. For example, to simulate ctrl+c, use - `c`. Be sure to release them, otherwise they - will be held down until the machine reboots. To hold the `c` key down, - you would use ``. Likewise, `` to release. +- ` ` - Any printable keyboard character, and of these + "special" expressions, with the exception of the `` types, can + also be toggled on or off. For example, to simulate ctrl+c, use + `c`. Be sure to release them, otherwise they + will be held down until the machine reboots. To hold the `c` key down, + you would use ``. Likewise, `` to release. -- `{{ .HTTPIP }} {{ .HTTPPort }}` - The IP and port, respectively of an - HTTP server that is started serving the directory specified by the - `http_directory` configuration parameter. If `http_directory` isn't - specified, these will be blank! +- `{{ .HTTPIP }} {{ .HTTPPort }}` - The IP and port, respectively of an + HTTP server that is started serving the directory specified by the + `http_directory` configuration parameter. If `http_directory` isn't + specified, these will be blank! -- `{{ .Name }}` - The name of the VM. +- `{{ .Name }}` - The name of the VM. Example boot command. This is actually a working boot command used to start an CentOS 6.4 installer: @@ -94,6 +93,5 @@ The example shown below is a working boot command used to start an Ubuntu "initrd=/install/initrd.gz -- " ] ``` - For more examples of various boot commands, see the sample projects from our [community templates page](/community-tools#templates). diff --git a/website/pages/partials/common/bootcommand/VNCConfig-not-required.mdx b/website/pages/partials/common/bootcommand/VNCConfig-not-required.mdx index 6c532fd4f..27cba7b91 100644 --- a/website/pages/partials/common/bootcommand/VNCConfig-not-required.mdx +++ b/website/pages/partials/common/bootcommand/VNCConfig-not-required.mdx @@ -1,6 +1,7 @@ -- `disable_vnc` (bool) - Whether to create a VNC connection or not. A boot_command cannot be used - when this is true. Defaults to false. - -- `boot_key_interval` (duration string | ex: "1h5m2s") - Time in ms to wait between each key press +- `disable_vnc` (bool) - Whether to create a VNC connection or not. A boot_command cannot be used + when this is true. Defaults to false. + +- `boot_key_interval` (duration string | ex: "1h5m2s") - Time in ms to wait between each key press + \ No newline at end of file diff --git a/website/pages/partials/common/bootcommand/VNCConfig.mdx b/website/pages/partials/common/bootcommand/VNCConfig.mdx index 34a6748ac..dcd5e5328 100644 --- a/website/pages/partials/common/bootcommand/VNCConfig.mdx +++ b/website/pages/partials/common/bootcommand/VNCConfig.mdx @@ -1,5 +1,4 @@ - The boot command "typed" character for character over a VNC connection to the machine, simulating a human actually typing the keyboard. diff --git a/website/pages/partials/common/shutdowncommand/ShutdownConfig-not-required.mdx b/website/pages/partials/common/shutdowncommand/ShutdownConfig-not-required.mdx index 2b705dd61..6d65b9e46 100644 --- a/website/pages/partials/common/shutdowncommand/ShutdownConfig-not-required.mdx +++ b/website/pages/partials/common/shutdowncommand/ShutdownConfig-not-required.mdx @@ -1,15 +1,16 @@ -- `shutdown_command` (string) - The command to use to gracefully shut down the machine once all - provisioning is complete. By default this is an empty string, which - tells Packer to just forcefully shut down the machine. This setting can - be safely omitted if for example, a shutdown command to gracefully halt - the machine is configured inside a provisioning script. If one or more - scripts require a reboot it is suggested to leave this blank (since - reboots may fail) and instead specify the final shutdown command in your - last script. - -- `shutdown_timeout` (duration string | ex: "1h5m2s") - The amount of time to wait after executing the shutdown_command for the - virtual machine to actually shut down. If the machine doesn't shut down - in this time it is considered an error. By default, the time out is "5m" - (five minutes). +- `shutdown_command` (string) - The command to use to gracefully shut down the machine once all + provisioning is complete. By default this is an empty string, which + tells Packer to just forcefully shut down the machine. This setting can + be safely omitted if for example, a shutdown command to gracefully halt + the machine is configured inside a provisioning script. If one or more + scripts require a reboot it is suggested to leave this blank (since + reboots may fail) and instead specify the final shutdown command in your + last script. + +- `shutdown_timeout` (duration string | ex: "1h5m2s") - The amount of time to wait after executing the shutdown_command for the + virtual machine to actually shut down. If the machine doesn't shut down + in this time it is considered an error. By default, the time out is "5m" + (five minutes). + \ No newline at end of file diff --git a/website/pages/partials/helper/communicator/Config-not-required.mdx b/website/pages/partials/helper/communicator/Config-not-required.mdx index 11060c3cb..8fe3aa7f3 100644 --- a/website/pages/partials/helper/communicator/Config-not-required.mdx +++ b/website/pages/partials/helper/communicator/Config-not-required.mdx @@ -1,35 +1,36 @@ -- `communicator` (string) - Packer currently supports three kinds of communicators: - - - `none` - No communicator will be used. If this is set, most - provisioners also can't be used. - - - `ssh` - An SSH connection will be established to the machine. This - is usually the default. - - - `winrm` - A WinRM connection will be established. - - In addition to the above, some builders have custom communicators they - can use. For example, the Docker builder has a "docker" communicator - that uses `docker exec` and `docker cp` to execute scripts and copy - files. - -- `pause_before_connecting` (duration string | ex: "1h5m2s") - We recommend that you enable SSH or WinRM as the very last step in your - guest's bootstrap script, but sometimes you may have a race condition where - you need Packer to wait before attempting to connect to your guest. - - If you end up in this situation, you can use the template option - `pause_before_connecting`. By default, there is no pause. For example: - - ```json - { - "communicator": "ssh", - "ssh_username": "myuser", - "pause_before_connecting": "10m" - } - ``` - - In this example, Packer will check whether it can connect, as normal. But once - a connection attempt is successful, it will disconnect and then wait 10 minutes - before connecting to the guest and beginning provisioning. +- `communicator` (string) - Packer currently supports three kinds of communicators: + + - `none` - No communicator will be used. If this is set, most + provisioners also can't be used. + + - `ssh` - An SSH connection will be established to the machine. This + is usually the default. + + - `winrm` - A WinRM connection will be established. + + In addition to the above, some builders have custom communicators they + can use. For example, the Docker builder has a "docker" communicator + that uses `docker exec` and `docker cp` to execute scripts and copy + files. + +- `pause_before_connecting` (duration string | ex: "1h5m2s") - We recommend that you enable SSH or WinRM as the very last step in your + guest's bootstrap script, but sometimes you may have a race condition where + you need Packer to wait before attempting to connect to your guest. + + If you end up in this situation, you can use the template option + `pause_before_connecting`. By default, there is no pause. For example: + + ```json + { + "communicator": "ssh", + "ssh_username": "myuser", + "pause_before_connecting": "10m" + } + ``` + + In this example, Packer will check whether it can connect, as normal. But once + a connection attempt is successful, it will disconnect and then wait 10 minutes + before connecting to the guest and beginning provisioning. + \ No newline at end of file diff --git a/website/pages/partials/helper/communicator/Config.mdx b/website/pages/partials/helper/communicator/Config.mdx index fa251ad0c..2a07eba25 100644 --- a/website/pages/partials/helper/communicator/Config.mdx +++ b/website/pages/partials/helper/communicator/Config.mdx @@ -1,4 +1,3 @@ - Config is the common configuration that communicators allow within a builder. diff --git a/website/pages/partials/helper/communicator/SSH-not-required.mdx b/website/pages/partials/helper/communicator/SSH-not-required.mdx index 87591ce64..5ef37289c 100644 --- a/website/pages/partials/helper/communicator/SSH-not-required.mdx +++ b/website/pages/partials/helper/communicator/SSH-not-required.mdx @@ -1,93 +1,93 @@ -- `ssh_host` (string) - The address to SSH to. This usually is automatically configured by the - builder. - -- `ssh_port` (int) - The port to connect to SSH. This defaults to `22`. - -- `ssh_username` (string) - The username to connect to SSH with. Required if using SSH. - -- `ssh_password` (string) - A plaintext password to use to authenticate with SSH. - -- `ssh_keypair_name` (string) - If specified, this is the key that will be used for SSH with the - machine. The key must match a key pair name loaded up into the remote. - By default, this is blank, and Packer will generate a temporary keypair - unless [`ssh_password`](#ssh_password) is used. - [`ssh_private_key_file`](#ssh_private_key_file) or - [`ssh_agent_auth`](#ssh_agent_auth) must be specified when - [`ssh_keypair_name`](#ssh_keypair_name) is utilized. - -- `temporary_key_pair_name` (string) - The name of the temporary key pair to generate. By default, Packer - generates a name that looks like `packer_`, where <UUID> is - a 36 character unique identifier. - -- `ssh_clear_authorized_keys` (bool) - If true, Packer will attempt to remove its temporary key from - `~/.ssh/authorized_keys` and `/root/.ssh/authorized_keys`. This is a - mostly cosmetic option, since Packer will delete the temporary private - key from the host system regardless of whether this is set to true - (unless the user has set the `-debug` flag). Defaults to "false"; - currently only works on guests with `sed` installed. - -- `ssh_private_key_file` (string) - Path to a PEM encoded private key file to use to authenticate with SSH. - The `~` can be used in path and will be expanded to the home directory - of current user. - -- `ssh_pty` (bool) - If `true`, a PTY will be requested for the SSH connection. This defaults - to `false`. - -- `ssh_timeout` (duration string | ex: "1h5m2s") - The time to wait for SSH to become available. Packer uses this to - determine when the machine has booted so this is usually quite long. - Example value: `10m`. - -- `ssh_agent_auth` (bool) - If true, the local SSH agent will be used to authenticate connections to - the source instance. No temporary keypair will be created, and the - values of [`ssh_password`](#ssh_password) and - [`ssh_private_key_file`](#ssh_private_key_file) will be ignored. The - environment variable `SSH_AUTH_SOCK` must be set for this option to work - properly. - -- `ssh_disable_agent_forwarding` (bool) - If true, SSH agent forwarding will be disabled. Defaults to `false`. - -- `ssh_handshake_attempts` (int) - The number of handshakes to attempt with SSH once it can connect. This - defaults to `10`. - -- `ssh_bastion_host` (string) - A bastion host to use for the actual SSH connection. - -- `ssh_bastion_port` (int) - The port of the bastion host. Defaults to `22`. - -- `ssh_bastion_agent_auth` (bool) - If `true`, the local SSH agent will be used to authenticate with the - bastion host. Defaults to `false`. - -- `ssh_bastion_username` (string) - The username to connect to the bastion host. - -- `ssh_bastion_password` (string) - The password to use to authenticate with the bastion host. - -- `ssh_bastion_interactive` (bool) - If `true`, the keyboard-interactive used to authenticate with bastion host. - -- `ssh_bastion_private_key_file` (string) - Path to a PEM encoded private key file to use to authenticate with the - bastion host. The `~` can be used in path and will be expanded to the - home directory of current user. - -- `ssh_file_transfer_method` (string) - `scp` or `sftp` - How to transfer files, Secure copy (default) or SSH - File Transfer Protocol. - -- `ssh_proxy_host` (string) - A SOCKS proxy host to use for SSH connection - -- `ssh_proxy_port` (int) - A port of the SOCKS proxy. Defaults to `1080`. - -- `ssh_proxy_username` (string) - The optional username to authenticate with the proxy server. - -- `ssh_proxy_password` (string) - The optional password to use to authenticate with the proxy server. - -- `ssh_keep_alive_interval` (duration string | ex: "1h5m2s") - How often to send "keep alive" messages to the server. Set to a negative - value (`-1s`) to disable. Example value: `10s`. Defaults to `5s`. - -- `ssh_read_write_timeout` (duration string | ex: "1h5m2s") - The amount of time to wait for a remote command to end. This might be - useful if, for example, packer hangs on a connection after a reboot. - Example: `5m`. Disabled by default. - -- `ssh_remote_tunnels` ([]string) - -- `ssh_local_tunnels` ([]string) - -- `ssh_public_key` ([]byte) - SSH Internals - -- `ssh_private_key` ([]byte) - SSH Private Key +- `ssh_host` (string) - The address to SSH to. This usually is automatically configured by the + builder. + +- `ssh_port` (int) - The port to connect to SSH. This defaults to `22`. + +- `ssh_username` (string) - The username to connect to SSH with. Required if using SSH. + +- `ssh_password` (string) - A plaintext password to use to authenticate with SSH. + +- `ssh_keypair_name` (string) - If specified, this is the key that will be used for SSH with the + machine. The key must match a key pair name loaded up into the remote. + By default, this is blank, and Packer will generate a temporary keypair + unless [`ssh_password`](#ssh_password) is used. + [`ssh_private_key_file`](#ssh_private_key_file) or + [`ssh_agent_auth`](#ssh_agent_auth) must be specified when + [`ssh_keypair_name`](#ssh_keypair_name) is utilized. + +- `temporary_key_pair_name` (string) - The name of the temporary key pair to generate. By default, Packer + generates a name that looks like `packer_`, where <UUID> is + a 36 character unique identifier. + +- `ssh_clear_authorized_keys` (bool) - If true, Packer will attempt to remove its temporary key from + `~/.ssh/authorized_keys` and `/root/.ssh/authorized_keys`. This is a + mostly cosmetic option, since Packer will delete the temporary private + key from the host system regardless of whether this is set to true + (unless the user has set the `-debug` flag). Defaults to "false"; + currently only works on guests with `sed` installed. + +- `ssh_private_key_file` (string) - Path to a PEM encoded private key file to use to authenticate with SSH. + The `~` can be used in path and will be expanded to the home directory + of current user. + +- `ssh_pty` (bool) - If `true`, a PTY will be requested for the SSH connection. This defaults + to `false`. + +- `ssh_timeout` (duration string | ex: "1h5m2s") - The time to wait for SSH to become available. Packer uses this to + determine when the machine has booted so this is usually quite long. + Example value: `10m`. + +- `ssh_agent_auth` (bool) - If true, the local SSH agent will be used to authenticate connections to + the source instance. No temporary keypair will be created, and the + values of [`ssh_password`](#ssh_password) and + [`ssh_private_key_file`](#ssh_private_key_file) will be ignored. The + environment variable `SSH_AUTH_SOCK` must be set for this option to work + properly. + +- `ssh_disable_agent_forwarding` (bool) - If true, SSH agent forwarding will be disabled. Defaults to `false`. + +- `ssh_handshake_attempts` (int) - The number of handshakes to attempt with SSH once it can connect. This + defaults to `10`. + +- `ssh_bastion_host` (string) - A bastion host to use for the actual SSH connection. + +- `ssh_bastion_port` (int) - The port of the bastion host. Defaults to `22`. + +- `ssh_bastion_agent_auth` (bool) - If `true`, the local SSH agent will be used to authenticate with the + bastion host. Defaults to `false`. + +- `ssh_bastion_username` (string) - The username to connect to the bastion host. + +- `ssh_bastion_password` (string) - The password to use to authenticate with the bastion host. + +- `ssh_bastion_interactive` (bool) - If `true`, the keyboard-interactive used to authenticate with bastion host. + +- `ssh_bastion_private_key_file` (string) - Path to a PEM encoded private key file to use to authenticate with the + bastion host. The `~` can be used in path and will be expanded to the + home directory of current user. + +- `ssh_file_transfer_method` (string) - `scp` or `sftp` - How to transfer files, Secure copy (default) or SSH + File Transfer Protocol. + +- `ssh_proxy_host` (string) - A SOCKS proxy host to use for SSH connection + +- `ssh_proxy_port` (int) - A port of the SOCKS proxy. Defaults to `1080`. + +- `ssh_proxy_username` (string) - The optional username to authenticate with the proxy server. + +- `ssh_proxy_password` (string) - The optional password to use to authenticate with the proxy server. + +- `ssh_keep_alive_interval` (duration string | ex: "1h5m2s") - How often to send "keep alive" messages to the server. Set to a negative + value (`-1s`) to disable. Example value: `10s`. Defaults to `5s`. + +- `ssh_read_write_timeout` (duration string | ex: "1h5m2s") - The amount of time to wait for a remote command to end. This might be + useful if, for example, packer hangs on a connection after a reboot. + Example: `5m`. Disabled by default. + +- `ssh_remote_tunnels` ([]string) - +- `ssh_local_tunnels` ([]string) - +- `ssh_public_key` ([]byte) - SSH Internals + +- `ssh_private_key` ([]byte) - SSH Private Key \ No newline at end of file diff --git a/website/pages/partials/helper/communicator/SSHInterface-not-required.mdx b/website/pages/partials/helper/communicator/SSHInterface-not-required.mdx index be3f168c5..64502023b 100644 --- a/website/pages/partials/helper/communicator/SSHInterface-not-required.mdx +++ b/website/pages/partials/helper/communicator/SSHInterface-not-required.mdx @@ -1,18 +1,19 @@ -- `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 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 - `.compute.internal` included in the `NO_PROXY` environment - variable. - -- `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 - connect via whichever IP address is returned first from the OpenStack - API. +- `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 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 + `.compute.internal` included in the `NO_PROXY` environment + variable. + +- `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 + connect via whichever IP address is returned first from the OpenStack + API. + \ No newline at end of file diff --git a/website/pages/partials/helper/communicator/WinRM-not-required.mdx b/website/pages/partials/helper/communicator/WinRM-not-required.mdx index 94029cb68..d45072c15 100644 --- a/website/pages/partials/helper/communicator/WinRM-not-required.mdx +++ b/website/pages/partials/helper/communicator/WinRM-not-required.mdx @@ -1,28 +1,29 @@ -- `winrm_username` (string) - The username to use to connect to WinRM. - -- `winrm_password` (string) - The password to use to connect to WinRM. - -- `winrm_host` (string) - The address for WinRM to connect to. - - NOTE: If using an Amazon EBS builder, you can specify the interface - WinRM connects to via - [`ssh_interface`](/docs/builders/amazon-ebs#ssh_interface) - -- `winrm_port` (int) - The WinRM port to connect to. This defaults to `5985` for plain - unencrypted connection and `5986` for SSL when `winrm_use_ssl` is set to - true. - -- `winrm_timeout` (duration string | ex: "1h5m2s") - The amount of time to wait for WinRM to become available. This defaults - to `30m` since setting up a Windows machine generally takes a long time. - -- `winrm_use_ssl` (bool) - If `true`, use HTTPS for WinRM. - -- `winrm_insecure` (bool) - If `true`, do not check server certificate chain and host name. - -- `winrm_use_ntlm` (bool) - If `true`, NTLMv2 authentication (with session security) will be used - for WinRM, rather than default (basic authentication), removing the - requirement for basic authentication to be enabled within the target - guest. Further reading for remote connection authentication can be found - [here](). +- `winrm_username` (string) - The username to use to connect to WinRM. + +- `winrm_password` (string) - The password to use to connect to WinRM. + +- `winrm_host` (string) - The address for WinRM to connect to. + + NOTE: If using an Amazon EBS builder, you can specify the interface + WinRM connects to via + [`ssh_interface`](/docs/builders/amazon-ebs#ssh_interface) + +- `winrm_port` (int) - The WinRM port to connect to. This defaults to `5985` for plain + unencrypted connection and `5986` for SSL when `winrm_use_ssl` is set to + true. + +- `winrm_timeout` (duration string | ex: "1h5m2s") - The amount of time to wait for WinRM to become available. This defaults + to `30m` since setting up a Windows machine generally takes a long time. + +- `winrm_use_ssl` (bool) - If `true`, use HTTPS for WinRM. + +- `winrm_insecure` (bool) - If `true`, do not check server certificate chain and host name. + +- `winrm_use_ntlm` (bool) - If `true`, NTLMv2 authentication (with session security) will be used + for WinRM, rather than default (basic authentication), removing the + requirement for basic authentication to be enabled within the target + guest. Further reading for remote connection authentication can be found + [here](https://msdn.microsoft.com/en-us/library/aa384295(v=vs.85).aspx). + \ No newline at end of file