From 3a55b92733bf45641bd031da0000be272985907f Mon Sep 17 00:00:00 2001 From: Jeff Escalante Date: Fri, 29 May 2020 17:33:35 -0400 Subject: [PATCH] regenerate partials --- .../builder/azure/arm/Config-not-required.mdx | 509 +++++++++--------- .../common/ExportConfig-not-required.mdx | 87 ++- 2 files changed, 299 insertions(+), 297 deletions(-) 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 924bcd193..472f76445 100644 --- a/website/pages/partials/builder/azure/arm/Config-not-required.mdx +++ b/website/pages/partials/builder/azure/arm/Config-not-required.mdx @@ -1,257 +1,260 @@ -- `user_assigned_managed_identities` ([]string) - If set with one or more resource ids of user assigned managed identities, they will be configured on the VM. - See [documentation](https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/how-to-use-vm-token) - for how to acquire tokens within the VM. - To assign a user assigned managed identity to a VM, the provided account or service principal must have [Managed Identity Operator](https://docs.microsoft.com/en-us/azure/role-based-access-control/built-in-roles#managed-identity-operator) - and [Virtual Machine Contributor](https://docs.microsoft.com/en-us/azure/role-based-access-control/built-in-roles#virtual-machine-contributor) role assignments. - -- `capture_name_prefix` (string) - VHD prefix. - -- `capture_container_name` (string) - Destination 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" +- `user_assigned_managed_identities` ([]string) - If set with one or more resource ids of user assigned managed identities, they will be configured on the VM. + See [documentation](https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/how-to-use-vm-token) + for how to acquire tokens within the VM. + To assign a user assigned managed identity to a VM, the provided account or service principal must have [Managed Identity Operator](https://docs.microsoft.com/en-us/azure/role-based-access-control/built-in-roles#managed-identity-operator) + and [Virtual Machine Contributor](https://docs.microsoft.com/en-us/azure/role-based-access-control/built-in-roles#virtual-machine-contributor) role assignments. + +- `capture_name_prefix` (string) - VHD prefix. + +- `capture_container_name` (string) - Destination 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) - Azure datacenter in which your VM will build. + +- `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) - Name/value pair tags to apply to every resource deployed i.e. Resource + Group, VM, NIC, VNET, Public IP, KeyVault, etc. The user can define up + to 15 tags. Tag names cannot exceed 512 characters, and tag values + cannot exceed 256 characters. + +- `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) - Azure datacenter in which your VM will build. - -- `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) - Name/value pair tags to apply to every resource deployed i.e. Resource - Group, VM, NIC, VNET, Public IP, KeyVault, etc. The user can define up - to 15 tags. Tag names cannot exceed 512 characters, and tag values - cannot exceed 256 characters. - -- `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. - - ```text - 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. - -- `boot_diag_storage_account` (string) - Specify storage to store Boot Diagnostics -- Enabling this option - will create 2 Files in the specified storage account. (serial console log & screehshot file) - once the build is completed, it has to be removed manually. - see [here](https://docs.microsoft.com/en-us/azure/virtual-machines/troubleshooting/boot-diagnostics) for more info - -- `custom_resource_build_prefix` (string) - specify custom azure resource names during build limited to max 10 characters - this will set the prefix for the resources. The actuall resource names will be - `custom_resource_build_prefix` + resourcetype + 5 character random alphanumeric string - -- `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. + + ```text + 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. + +- `boot_diag_storage_account` (string) - Specify storage to store Boot Diagnostics -- Enabling this option + will create 2 Files in the specified storage account. (serial console log & screehshot file) + once the build is completed, it has to be removed manually. + see [here](https://docs.microsoft.com/en-us/azure/virtual-machines/troubleshooting/boot-diagnostics) for more info + +- `custom_resource_build_prefix` (string) - specify custom azure resource names during build limited to max 10 characters + this will set the prefix for the resources. The actuall resource names will be + `custom_resource_build_prefix` + resourcetype + 5 character random alphanumeric string + +- `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/virtualbox/common/ExportConfig-not-required.mdx b/website/pages/partials/builder/virtualbox/common/ExportConfig-not-required.mdx index 3a0b101c5..9ef10b133 100644 --- a/website/pages/partials/builder/virtualbox/common/ExportConfig-not-required.mdx +++ b/website/pages/partials/builder/virtualbox/common/ExportConfig-not-required.mdx @@ -1,46 +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