From d626cedd45b3a9ec424d66700b3aacae4f8940ae Mon Sep 17 00:00:00 2001 From: Jeff Escalante Date: Tue, 31 Mar 2020 17:40:07 -0400 Subject: [PATCH] remove unnecessary .html extensions --- website/pages/community-tools/index.mdx | 2 +- website/pages/docs/builders/alicloud-ecs.mdx | 2 +- website/pages/docs/builders/amazon/chroot.mdx | 4 ++-- website/pages/docs/builders/amazon/ebs.mdx | 2 +- .../docs/builders/amazon/ebssurrogate.mdx | 2 +- .../pages/docs/builders/amazon/ebsvolume.mdx | 2 +- website/pages/docs/builders/amazon/index.mdx | 12 +++++----- .../pages/docs/builders/amazon/instance.mdx | 6 ++--- website/pages/docs/builders/azure/arm.mdx | 8 +++---- website/pages/docs/builders/azure/chroot.mdx | 4 ++-- website/pages/docs/builders/azure/index.mdx | 6 ++--- website/pages/docs/builders/cloudstack.mdx | 6 ++--- website/pages/docs/builders/custom.mdx | 2 +- website/pages/docs/builders/digitalocean.mdx | 4 ++-- website/pages/docs/builders/docker.mdx | 12 +++++----- website/pages/docs/builders/file.mdx | 2 +- website/pages/docs/builders/googlecompute.mdx | 4 ++-- website/pages/docs/builders/hetzner-cloud.mdx | 4 ++-- website/pages/docs/builders/hyperone.mdx | 4 ++-- website/pages/docs/builders/hyperv/index.mdx | 4 ++-- website/pages/docs/builders/hyperv/iso.mdx | 2 +- website/pages/docs/builders/hyperv/vmcx.mdx | 4 ++-- website/pages/docs/builders/linode.mdx | 4 ++-- website/pages/docs/builders/null.mdx | 2 +- website/pages/docs/builders/oneandone.mdx | 2 +- website/pages/docs/builders/openstack.mdx | 6 ++--- .../pages/docs/builders/oracle/classic.mdx | 2 +- website/pages/docs/builders/oracle/index.mdx | 4 ++-- website/pages/docs/builders/oracle/oci.mdx | 6 ++--- website/pages/docs/builders/outscale/bsu.mdx | 22 +++++++++---------- .../docs/builders/outscale/bsusurrogate.mdx | 22 +++++++++---------- .../docs/builders/outscale/bsuvolume.mdx | 14 ++++++------ .../pages/docs/builders/outscale/chroot.mdx | 16 +++++++------- .../pages/docs/builders/outscale/index.mdx | 10 ++++----- .../pages/docs/builders/parallels/index.mdx | 4 ++-- website/pages/docs/builders/parallels/iso.mdx | 12 +++++----- website/pages/docs/builders/parallels/pvm.mdx | 10 ++++----- website/pages/docs/builders/profitbricks.mdx | 2 +- website/pages/docs/builders/proxmox.mdx | 2 +- website/pages/docs/builders/qemu.mdx | 2 +- website/pages/docs/builders/scaleway.mdx | 2 +- .../pages/docs/builders/tencentcloud-cvm.mdx | 2 +- website/pages/docs/builders/triton.mdx | 2 +- website/pages/docs/builders/ucloud-uhost.mdx | 4 ++-- website/pages/docs/builders/vagrant.mdx | 2 +- .../pages/docs/builders/virtualbox/index.mdx | 6 ++--- .../pages/docs/builders/virtualbox/iso.mdx | 4 ++-- .../pages/docs/builders/virtualbox/ovf.mdx | 4 ++-- website/pages/docs/builders/virtualbox/vm.mdx | 10 ++++----- website/pages/docs/builders/vmware/index.mdx | 8 +++---- website/pages/docs/builders/vmware/iso.mdx | 2 +- website/pages/docs/builders/vmware/vmx.mdx | 6 ++--- .../docs/builders/vmware/vsphere-clone.mdx | 2 +- .../docs/builders/vmware/vsphere-iso.mdx | 2 +- website/pages/docs/builders/yandex.mdx | 2 +- website/pages/docs/communicators/index.mdx | 6 ++--- website/pages/docs/communicators/ssh.mdx | 4 ++-- website/pages/docs/communicators/winrm.mdx | 6 ++--- website/pages/docs/core-configuration.mdx | 2 +- website/pages/docs/environment-variables.mdx | 10 ++++----- .../pages/docs/extending/custom-builders.mdx | 4 ++-- .../docs/extending/custom-post-processors.mdx | 2 +- .../docs/extending/custom-provisioners.mdx | 4 ++-- website/pages/docs/extending/plugins.mdx | 4 ++-- website/pages/docs/from-1.5/expressions.mdx | 12 +++++----- .../functions/collection/coalesce.mdx | 2 +- .../functions/collection/coalescelist.mdx | 2 +- .../from-1.5/functions/collection/flatten.mdx | 6 ++--- .../functions/collection/index-fn.mdx | 2 +- .../from-1.5/functions/collection/keys.mdx | 2 +- .../from-1.5/functions/collection/lookup.mdx | 2 +- .../from-1.5/functions/collection/reverse.mdx | 2 +- .../functions/collection/setintersection.mdx | 6 ++--- .../functions/collection/setproduct.mdx | 12 +++++----- .../functions/collection/setunion.mdx | 6 ++--- .../from-1.5/functions/collection/slice.mdx | 2 +- .../from-1.5/functions/collection/values.mdx | 4 ++-- .../from-1.5/functions/conversion/can.mdx | 6 ++--- .../from-1.5/functions/conversion/try.mdx | 2 +- .../functions/datetime/formatdate.mdx | 4 ++-- .../from-1.5/functions/datetime/timeadd.mdx | 2 +- .../from-1.5/functions/datetime/timestamp.mdx | 4 ++-- .../functions/encoding/base64decode.mdx | 4 ++-- .../functions/encoding/base64encode.mdx | 4 ++-- .../from-1.5/functions/encoding/csvdecode.mdx | 4 ++-- .../functions/encoding/jsondecode.mdx | 4 ++-- .../functions/encoding/jsonencode.mdx | 4 ++-- .../functions/encoding/yamldecode.mdx | 6 ++--- .../functions/encoding/yamlencode.mdx | 12 +++++----- .../docs/from-1.5/functions/file/abspath.mdx | 2 +- .../docs/from-1.5/functions/file/basename.mdx | 4 ++-- .../docs/from-1.5/functions/file/dirname.mdx | 4 ++-- .../docs/from-1.5/functions/file/file.mdx | 4 ++-- .../from-1.5/functions/file/fileexists.mdx | 2 +- .../docs/from-1.5/functions/file/fileset.mdx | 2 +- .../pages/docs/from-1.5/functions/index.mdx | 2 +- .../from-1.5/functions/ipnet/cidrhost.mdx | 4 ++-- .../from-1.5/functions/ipnet/cidrsubnet.mdx | 12 +++++----- .../from-1.5/functions/ipnet/cidrsubnets.mdx | 10 ++++----- .../docs/from-1.5/functions/numeric/ceil.mdx | 2 +- .../docs/from-1.5/functions/numeric/floor.mdx | 2 +- .../docs/from-1.5/functions/numeric/max.mdx | 2 +- .../docs/from-1.5/functions/numeric/min.mdx | 2 +- .../from-1.5/functions/numeric/parseint.mdx | 2 +- .../docs/from-1.5/functions/string/chomp.mdx | 2 +- .../docs/from-1.5/functions/string/format.mdx | 4 ++-- .../from-1.5/functions/string/formatlist.mdx | 4 ++-- .../docs/from-1.5/functions/string/join.mdx | 2 +- .../docs/from-1.5/functions/string/lower.mdx | 4 ++-- .../functions/string/regexreplace.mdx | 2 +- .../from-1.5/functions/string/replace.mdx | 2 +- .../docs/from-1.5/functions/string/split.mdx | 2 +- .../docs/from-1.5/functions/string/strrev.mdx | 2 +- .../docs/from-1.5/functions/string/title.mdx | 4 ++-- .../docs/from-1.5/functions/string/trim.mdx | 6 ++--- .../from-1.5/functions/string/trimprefix.mdx | 6 ++--- .../from-1.5/functions/string/trimspace.mdx | 2 +- .../from-1.5/functions/string/trimsuffix.mdx | 6 ++--- .../docs/from-1.5/functions/string/upper.mdx | 4 ++-- .../docs/from-1.5/functions/uuid/uuidv4.mdx | 2 +- .../docs/from-1.5/functions/uuid/uuidv5.mdx | 4 ++-- website/pages/docs/from-1.5/index.mdx | 6 ++--- website/pages/docs/from-1.5/locals.mdx | 2 +- website/pages/docs/from-1.5/syntax-json.mdx | 10 ++++----- website/pages/docs/from-1.5/syntax.mdx | 4 ++-- website/pages/docs/from-1.5/variables.mdx | 10 ++++----- website/pages/docs/install.mdx | 2 +- .../docs/post-processors/alicloud-import.mdx | 4 ++-- .../docs/post-processors/amazon-import.mdx | 6 ++--- .../pages/docs/post-processors/artifice.mdx | 4 ++-- .../pages/docs/post-processors/checksum.mdx | 8 +++---- .../pages/docs/post-processors/compress.mdx | 2 +- .../post-processors/digitalocean-import.mdx | 2 +- .../docs/post-processors/docker-import.mdx | 6 ++--- .../docs/post-processors/docker-push.mdx | 10 ++++----- .../docs/post-processors/docker-save.mdx | 2 +- .../pages/docs/post-processors/docker-tag.mdx | 8 +++---- .../post-processors/googlecompute-import.mdx | 2 +- .../pages/docs/post-processors/manifest.mdx | 2 +- .../docs/post-processors/shell-local.mdx | 10 ++++----- .../docs/post-processors/ucloud-import.mdx | 2 +- .../docs/post-processors/vagrant-cloud.mdx | 8 +++---- .../pages/docs/post-processors/vagrant.mdx | 6 ++--- .../docs/post-processors/vsphere-template.mdx | 6 ++--- .../pages/docs/provisioners/ansible-local.mdx | 2 +- website/pages/docs/provisioners/ansible.mdx | 2 +- .../pages/docs/provisioners/chef-client.mdx | 16 +++++++------- website/pages/docs/provisioners/chef-solo.mdx | 6 ++--- website/pages/docs/provisioners/converge.mdx | 4 ++-- website/pages/docs/provisioners/custom.mdx | 2 +- website/pages/docs/provisioners/file.mdx | 4 ++-- website/pages/docs/provisioners/index.mdx | 2 +- .../pages/docs/provisioners/powershell.mdx | 12 +++++----- .../docs/provisioners/puppet-masterless.mdx | 10 ++++----- .../pages/docs/provisioners/puppet-server.mdx | 8 +++---- .../pages/docs/provisioners/shell-local.mdx | 4 ++-- website/pages/docs/provisioners/shell.mdx | 10 ++++----- .../pages/docs/provisioners/windows-shell.mdx | 6 ++--- website/pages/docs/templates/builders.mdx | 6 ++--- website/pages/docs/templates/communicator.mdx | 4 ++-- website/pages/docs/templates/engine.mdx | 14 ++++++------ website/pages/docs/templates/index.mdx | 12 +++++----- website/pages/docs/templates/provisioners.mdx | 2 +- .../pages/docs/templates/user-variables.mdx | 4 ++-- .../autounattend_windows.mdx | 6 ++--- .../preseed_ubuntu.mdx | 6 ++--- .../packer-on-cicd/build-image-in-cicd.mdx | 8 +++---- .../packer-on-cicd/build-virtualbox-image.mdx | 8 +++---- .../intro/getting-started/build-image.mdx | 12 +++++----- .../intro/getting-started/parallel-builds.mdx | 2 +- .../pages/intro/getting-started/vagrant.mdx | 2 +- .../ecs/AlicloudImageConfig-not-required.mdx | 6 ++--- .../amazon/chroot/Config-not-required.mdx | 4 ++-- .../amazon/common/AMIConfig-not-required.mdx | 10 ++++----- .../amazon/common/AMIConfig-required.mdx | 2 +- .../amazon/common/AccessConfig-required.mdx | 4 ++-- .../amazon/common/RunConfig-not-required.mdx | 8 +++---- .../amazon/ebs/Config-not-required.mdx | 2 +- .../ebssurrogate/Config-not-required.mdx | 2 +- .../ebsvolume/BlockDevice-not-required.mdx | 4 ++-- .../amazon/ebsvolume/Config-not-required.mdx | 4 ++-- .../builder/azure/arm/Config-not-required.mdx | 2 +- .../builder/docker/Config-not-required.mdx | 2 +- .../builder/docker/Config-required.mdx | 2 +- .../googlecompute/Config-not-required.mdx | 2 +- .../builder/hyperone/Config-not-required.mdx | 4 ++-- .../TencentCloudRunConfig-not-required.mdx | 2 +- .../SourceMachineConfig-not-required.mdx | 2 +- .../triton/TargetImageConfig-not-required.mdx | 2 +- .../common/VBoxManageConfig-not-required.mdx | 2 +- .../common/ExportConfig-not-required.mdx | 4 ++-- .../common/ToolsConfig-not-required.mdx | 2 +- .../vmware/iso/Config-not-required.mdx | 2 +- .../pages/partials/builders/boot-command.mdx | 4 ++-- .../pages/partials/common/FloppyConfig.mdx | 2 +- .../common/bootcommand/BootConfig.mdx | 2 +- .../communicator/WinRM-not-required.mdx | 2 +- 197 files changed, 475 insertions(+), 475 deletions(-) diff --git a/website/pages/community-tools/index.mdx b/website/pages/community-tools/index.mdx index 1892ef75d..f80e00b14 100644 --- a/website/pages/community-tools/index.mdx +++ b/website/pages/community-tools/index.mdx @@ -19,7 +19,7 @@ vendors. These plugins are not officially tested nor officially maintained by HashiCorp, and are listed here in order to help users find them easily. To learn more about how to use community plugins, or how to build your own, -check out the docs on [extending Packer](/docs/extending/plugins.html) +check out the docs on [extending Packer](/docs/extending/plugins) If you have built a plugin and would like to add it to this community list, please make a pull request to the website so that we can document your diff --git a/website/pages/docs/builders/alicloud-ecs.mdx b/website/pages/docs/builders/alicloud-ecs.mdx index c7d8ffca5..7993ec084 100644 --- a/website/pages/docs/builders/alicloud-ecs.mdx +++ b/website/pages/docs/builders/alicloud-ecs.mdx @@ -19,7 +19,7 @@ customized images based on an existing base images. The following configuration options are available for building Alicloud images. In addition to the options listed here, a -[communicator](../templates/communicator.html) can be configured for this +[communicator](../templates/communicator) can be configured for this builder. ### Required: diff --git a/website/pages/docs/builders/amazon/chroot.mdx b/website/pages/docs/builders/amazon/chroot.mdx index ee915a425..b1c3ade0a 100644 --- a/website/pages/docs/builders/amazon/chroot.mdx +++ b/website/pages/docs/builders/amazon/chroot.mdx @@ -31,7 +31,7 @@ the extra fast build. ~> **This is an advanced builder** If you're just getting started with Packer, we recommend starting with the [amazon-ebs -builder](/docs/builders/amazon-ebs.html), which is much easier to use. +builder](/docs/builders/amazon-ebs), which is much easier to use. The builder does _not_ manage AMIs. Once it creates an AMI and stores it in your account, it is up to you to use, delete, etc., the AMI. @@ -299,7 +299,7 @@ variables are available: ## Build function template engine variables -For the build function of [template engine](/docs/templates/engine.html), the following +For the build function of [template engine](/docs/templates/engine), the following variables are available: - `SourceAMIName` - The source AMI Name (for example diff --git a/website/pages/docs/builders/amazon/ebs.mdx b/website/pages/docs/builders/amazon/ebs.mdx index eb24c1a68..44977ad9f 100644 --- a/website/pages/docs/builders/amazon/ebs.mdx +++ b/website/pages/docs/builders/amazon/ebs.mdx @@ -201,7 +201,7 @@ variables are available: ## Build function template engine variables -For the build function of [template engine](/docs/templates/engine.html), the following +For the build function of [template engine](/docs/templates/engine), the following variables are available: - `SourceAMIName` - The source AMI Name (for example diff --git a/website/pages/docs/builders/amazon/ebssurrogate.mdx b/website/pages/docs/builders/amazon/ebssurrogate.mdx index 80503589e..67ed77ef7 100644 --- a/website/pages/docs/builders/amazon/ebssurrogate.mdx +++ b/website/pages/docs/builders/amazon/ebssurrogate.mdx @@ -163,7 +163,7 @@ variables are available: ## Build function template engine variables -For the build function of [template engine](/docs/templates/engine.html), the following +For the build function of [template engine](/docs/templates/engine), the following variables are available: - `SourceAMIName` - The source AMI Name (for example diff --git a/website/pages/docs/builders/amazon/ebsvolume.mdx b/website/pages/docs/builders/amazon/ebsvolume.mdx index ccba0dfa6..3c56dc636 100644 --- a/website/pages/docs/builders/amazon/ebsvolume.mdx +++ b/website/pages/docs/builders/amazon/ebsvolume.mdx @@ -190,7 +190,7 @@ marked for deletion on termination will remain in your account. ## Build function template engine variables -For the build function of [template engine](/docs/templates/engine.html), the following +For the build function of [template engine](/docs/templates/engine), the following variables are available: - `SourceAMIName` - The source AMI Name (for example diff --git a/website/pages/docs/builders/amazon/index.mdx b/website/pages/docs/builders/amazon/index.mdx index 1f6e076db..4e1221b0e 100644 --- a/website/pages/docs/builders/amazon/index.mdx +++ b/website/pages/docs/builders/amazon/index.mdx @@ -14,29 +14,29 @@ Packer is able to create Amazon AMIs. To achieve this, Packer comes with multiple builders depending on the strategy you want to use to build the AMI. Packer supports the following builders at the moment: -- [amazon-ebs](/docs/builders/amazon-ebs.html) - Create EBS-backed AMIs by +- [amazon-ebs](/docs/builders/amazon-ebs) - Create EBS-backed AMIs by launching a source AMI and re-packaging it into a new AMI after provisioning. If in doubt, use this builder, which is the easiest to get started with. -- [amazon-instance](/docs/builders/amazon-instance.html) - Create +- [amazon-instance](/docs/builders/amazon-instance) - Create instance-store AMIs by launching and provisioning a source instance, then rebundling it and uploading it to S3. -- [amazon-chroot](/docs/builders/amazon-chroot.html) - Create EBS-backed AMIs +- [amazon-chroot](/docs/builders/amazon-chroot) - Create EBS-backed AMIs from an existing EC2 instance by mounting the root device and using a [Chroot](https://en.wikipedia.org/wiki/Chroot) environment to provision that device. This is an **advanced builder and should not be used by newcomers**. However, it is also the fastest way to build an EBS-backed AMI since no new EC2 instance needs to be launched. -- [amazon-ebssurrogate](/docs/builders/amazon-ebssurrogate.html) - Create EBS +- [amazon-ebssurrogate](/docs/builders/amazon-ebssurrogate) - Create EBS -backed AMIs from scratch. Works similarly to the `chroot` builder but does not require running in AWS. This is an **advanced builder and should not be used by newcomers**. -> **Don't know which builder to use?** If in doubt, use the [amazon-ebs -builder](/docs/builders/amazon-ebs.html). It is much easier to use and Amazon +builder](/docs/builders/amazon-ebs). It is much easier to use and Amazon generally recommends EBS-backed images nowadays. # Amazon EBS Volume Builder @@ -44,7 +44,7 @@ generally recommends EBS-backed images nowadays. Packer is able to create Amazon EBS Volumes which are preinitialized with a filesystem and data. -- [amazon-ebsvolume](/docs/builders/amazon-ebsvolume.html) - Create EBS +- [amazon-ebsvolume](/docs/builders/amazon-ebsvolume) - Create EBS volumes by launching a source AMI with block devices mapped. Provision the instance, then destroy it, retaining the EBS volumes. diff --git a/website/pages/docs/builders/amazon/instance.mdx b/website/pages/docs/builders/amazon/instance.mdx index 3ec4307ce..a3ad10a9f 100644 --- a/website/pages/docs/builders/amazon/instance.mdx +++ b/website/pages/docs/builders/amazon/instance.mdx @@ -44,7 +44,7 @@ machine. This can be done within a provisioner, but must be done before the builder finishes running. ~> Instance builds are not supported for Windows. Use -[`amazon-ebs`](amazon-ebs.html) instead. +[`amazon-ebs`](amazon-ebs) instead. ## Configuration Reference @@ -169,7 +169,7 @@ variables are available: ## Build function template engine variables -For the build function of [template engine](/docs/templates/engine.html), the following +For the build function of [template engine](/docs/templates/engine), the following variables are available: - `SourceAMIName` - The source AMI Name (for example @@ -190,7 +190,7 @@ upload the AMI. These are configured with `bundle_vol_command` and `bundle_upload_command`. Both of these configurations are [configuration -templates](/docs/templates/engine.html) and have support for their own set of +templates](/docs/templates/engine) and have support for their own set of template variables. ### Bundle Volume Command diff --git a/website/pages/docs/builders/azure/arm.mdx b/website/pages/docs/builders/azure/arm.mdx index 13ce61f03..b96529b2f 100644 --- a/website/pages/docs/builders/azure/arm.mdx +++ b/website/pages/docs/builders/azure/arm.mdx @@ -18,7 +18,7 @@ costs for VMs built and stored using Packer. Azure uses a combination of OAuth and Active Directory to authorize requests to the ARM API. Learn how to [authorize access to -ARM](/docs/builders/azure.html#authentication-for-azure). +ARM](/docs/builders/azure#authentication-for-azure). The documentation below references command output from the [Azure CLI](https://azure.microsoft.com/en-us/documentation/articles/xplat-cli-install/). @@ -27,7 +27,7 @@ CLI](https://azure.microsoft.com/en-us/documentation/articles/xplat-cli-install/ There are many configuration options available for the builder. We'll start with authentication parameters, then go over the Azure ARM builder specific -options. In addition to the options listed here, a [communicator](/docs/templates/communicator.html) can be configured for this builder. +options. In addition to the options listed here, a [communicator](/docs/templates/communicator) can be configured for this builder. ### Authentication options @@ -35,7 +35,7 @@ options. In addition to the options listed here, a [communicator](/docs/template #### Managed Identity -If you're running packer on an Azure VM with a [managed identity](/docs/builders/azure.html#azure-managed-identity) you don't need to specify any additional configuration options. As Packer will attempt to use the Managed Identity and subscription of the VM that Packer is running on. +If you're running packer on an Azure VM with a [managed identity](/docs/builders/azure#azure-managed-identity) you don't need to specify any additional configuration options. As Packer will attempt to use the Managed Identity and subscription of the VM that Packer is running on. #### Interactive User Authentication @@ -44,7 +44,7 @@ Packer will use cached credentials or redirect you to a website to log in. #### Service Principal -To use a [service principal](/docs/builders/azure.html#azure-active-directory-service-principal) +To use a [service principal](/docs/builders/azure#azure-active-directory-service-principal) you should specify `subscription_id`, `client_id` and one of `client_secret`, `client_cert_path` or `client_jwt`. diff --git a/website/pages/docs/builders/azure/chroot.mdx b/website/pages/docs/builders/azure/chroot.mdx index ea3fd1b84..d3fdc4e61 100644 --- a/website/pages/docs/builders/azure/chroot.mdx +++ b/website/pages/docs/builders/azure/chroot.mdx @@ -25,7 +25,7 @@ content and enables some capabilities that are not possible with the `azure-arm` builder. > **This is an advanced builder** If you're just getting started with Packer, -> it is recommend to start with the [azure-arm builder](/docs/builders/azure-arm.html), +> it is recommend to start with the [azure-arm builder](/docs/builders/azure-arm), > which is much easier to use. ## How Does it Work? @@ -58,7 +58,7 @@ options. None of the authentication options are required, but depending on which ones are specified a different authentication method may be used. See the -[shared Azure builders documentation](/docs/builders/azure.html) for more +[shared Azure builders documentation](/docs/builders/azure) for more information. @include 'builder/azure/common/client/Config-not-required.mdx' diff --git a/website/pages/docs/builders/azure/index.mdx b/website/pages/docs/builders/azure/index.mdx index 612ad138f..3cac7592a 100644 --- a/website/pages/docs/builders/azure/index.mdx +++ b/website/pages/docs/builders/azure/index.mdx @@ -16,12 +16,12 @@ Packer can create Azure virtual machine images through variety of ways depending on the strategy that you want to use for building the images. Packer supports the following builders for Azure images at the moment: -- [azure-arm](/docs/builders/azure-arm.html) - Uses Azure Resource +- [azure-arm](/docs/builders/azure-arm) - Uses Azure Resource Manager (ARM) to launch a virtual machine (VM) from which a new image is captured after provisioning. If in doubt, use this builder; it is the easiest builder to get started with. -- [azure-chroot](/docs/builders/azure-chroot.html) - Uses ARM to create +- [azure-chroot](/docs/builders/azure-chroot) - Uses ARM to create a managed disk that is attached to an existing Azure VM that Packer is running on. Provisioning leverages [Chroot](https://en.wikipedia.org/wiki/Chroot) environment. After provisioning, the disk is detached an image is created @@ -30,7 +30,7 @@ Packer supports the following builders for Azure images at the moment: Azure. -> **Don't know which builder to use?** If in doubt, use the [azure-arm -builder](/docs/builders/azure-arm.html). It is much easier to use. +builder](/docs/builders/azure-arm). It is much easier to use. # Authentication for Azure diff --git a/website/pages/docs/builders/cloudstack.mdx b/website/pages/docs/builders/cloudstack.mdx index 40c286a67..ed1fae5c9 100644 --- a/website/pages/docs/builders/cloudstack.mdx +++ b/website/pages/docs/builders/cloudstack.mdx @@ -29,7 +29,7 @@ segmented below into two categories: required and optional parameters. Within each category, the available configuration keys are alphabetized. In addition to the options listed here, a -[communicator](/docs/templates/communicator.html) can be configured for this +[communicator](/docs/templates/communicator) can be configured for this builder. ### Required: @@ -184,14 +184,14 @@ builder. `packer_`, where <UUID> is a 36 character unique identifier. - `user_data` (string) - User data to launch with the instance. This is a - [template engine](/docs/templates/engine.html) see _User Data_ bellow for + [template engine](/docs/templates/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](/docs/templates/engine.html) see _User Data_ bellow for more + engine](/docs/templates/engine) see _User Data_ bellow for more details. - `use_local_ip_address` (boolean) - Set to `true` to indicate that the diff --git a/website/pages/docs/builders/custom.mdx b/website/pages/docs/builders/custom.mdx index 134df2dff..cce9407f4 100644 --- a/website/pages/docs/builders/custom.mdx +++ b/website/pages/docs/builders/custom.mdx @@ -14,5 +14,5 @@ sidebar_current: docs-builders-custom Packer is extensible, allowing you to write new builders without having to modify the core source code of Packer itself. Documentation for creating new builders is covered in the [custom -builders](/docs/extending/custom-builders.html) page of the Packer plugin +builders](/docs/extending/custom-builders) page of the Packer plugin section. diff --git a/website/pages/docs/builders/digitalocean.mdx b/website/pages/docs/builders/digitalocean.mdx index ff12b1263..442a398d5 100644 --- a/website/pages/docs/builders/digitalocean.mdx +++ b/website/pages/docs/builders/digitalocean.mdx @@ -36,7 +36,7 @@ segmented below into two categories: required and optional parameters. Within each category, the available configuration keys are alphabetized. In addition to the options listed here, a -[communicator](/docs/templates/communicator.html) can be configured for this +[communicator](/docs/templates/communicator) can be configured for this builder. ### Required: @@ -79,7 +79,7 @@ builder. - `snapshot_name` (string) - The name of the resulting snapshot that will appear in your account. Defaults to `packer-{{timestamp}}` (see - [configuration templates](/docs/templates/engine.html) for more info). + [configuration templates](/docs/templates/engine) for more info). - `snapshot_regions` (array of strings) - The regions of the resulting snapshot that will appear in your account. diff --git a/website/pages/docs/builders/docker.mdx b/website/pages/docs/builders/docker.mdx index 161da6e77..5dba016b9 100644 --- a/website/pages/docs/builders/docker.mdx +++ b/website/pages/docs/builders/docker.mdx @@ -137,7 +137,7 @@ optional. Within each category, the available options are alphabetized and described. The Docker builder uses a special Docker communicator _and will not use_ the -standard [communicators](/docs/templates/communicator.html). +standard [communicators](/docs/templates/communicator). ### Required: @@ -155,8 +155,8 @@ You must specify (only) one of `commit`, `discard`, or `export_path`. Once the tar artifact has been generated, you will likely want to import, tag, and push it to a container repository. Packer can do this for you automatically -with the [docker-import](/docs/post-processors/docker-import.html) and -[docker-push](/docs/post-processors/docker-push.html) post-processors. +with the [docker-import](/docs/post-processors/docker-import) and +[docker-push](/docs/post-processors/docker-push) post-processors. **Note:** This section is covering how to use an artifact that has been _exported_. More specifically, if you set `export_path` in your configuration. @@ -165,7 +165,7 @@ If you set `commit`, see the next section. The example below shows a full configuration that would import and push the created image. This is accomplished using a sequence definition (a collection of post-processors that are treated as as single pipeline, see -[Post-Processors](/docs/templates/post-processors.html) for more information): +[Post-Processors](/docs/templates/post-processors) for more information): ```json { @@ -204,7 +204,7 @@ If you committed your container to an image, you probably want to tag, save, push, etc. Packer can do this automatically for you. An example is shown below which tags and pushes an image. This is accomplished using a sequence definition (a collection of post-processors that are treated as as single -pipeline, see [Post-Processors](/docs/templates/post-processors.html) for more +pipeline, see [Post-Processors](/docs/templates/post-processors) for more information): ```json @@ -313,7 +313,7 @@ above and example configuration properties are shown below: ``` [Learn how to set Amazon AWS -credentials.](/docs/builders/amazon.html#specifying-amazon-credentials) +credentials.](/docs/builders/amazon#specifying-amazon-credentials) ## Dockerfiles diff --git a/website/pages/docs/builders/file.mdx b/website/pages/docs/builders/file.mdx index 2eb476653..8dfe1e3e4 100644 --- a/website/pages/docs/builders/file.mdx +++ b/website/pages/docs/builders/file.mdx @@ -36,7 +36,7 @@ Configuration options are organized below into two categories: required and optional. Within each category, the available options are alphabetized and described. -Any [communicator](/docs/templates/communicator.html) defined is ignored. +Any [communicator](/docs/templates/communicator) defined is ignored. ### Required: diff --git a/website/pages/docs/builders/googlecompute.mdx b/website/pages/docs/builders/googlecompute.mdx index d162712ff..6e7a8b027 100644 --- a/website/pages/docs/builders/googlecompute.mdx +++ b/website/pages/docs/builders/googlecompute.mdx @@ -21,7 +21,7 @@ It is possible to build images from scratch, but not with the `googlecompute` Packer builder. The process is recommended only for advanced users, please see [Building GCE Images from Scratch](https://cloud.google.com/compute/docs/tutorials/building-images) and the [Google Compute Import -Post-Processor](/docs/post-processors/googlecompute-import.html) for more +Post-Processor](/docs/post-processors/googlecompute-import) for more information. ## Authentication @@ -207,7 +207,7 @@ optional. Within each category, the available options are alphabetized and described. In addition to the options listed here, a -[communicator](/docs/templates/communicator.html) can be configured for this +[communicator](/docs/templates/communicator) can be configured for this builder. ### Required: diff --git a/website/pages/docs/builders/hetzner-cloud.mdx b/website/pages/docs/builders/hetzner-cloud.mdx index b99ac5f7e..9108d5c49 100644 --- a/website/pages/docs/builders/hetzner-cloud.mdx +++ b/website/pages/docs/builders/hetzner-cloud.mdx @@ -31,7 +31,7 @@ segmented below into two categories: required and optional parameters. Within each category, the available configuration keys are alphabetized. In addition to the options listed here, a -[communicator](/docs/templates/communicator.html) can be configured for this +[communicator](/docs/templates/communicator) can be configured for this builder. ### Required: @@ -86,7 +86,7 @@ builder. - `snapshot_name` (string) - The name of the resulting snapshot that will appear in your account. Defaults to `packer-{{timestamp}}` (see - [configuration templates](/docs/templates/engine.html) for more info). + [configuration templates](/docs/templates/engine) for more info). - `snapshot_labels` (map of key/value strings) - Key/value pair labels to apply to the created image. diff --git a/website/pages/docs/builders/hyperone.mdx b/website/pages/docs/builders/hyperone.mdx index 07937d7a5..071a0e98b 100644 --- a/website/pages/docs/builders/hyperone.mdx +++ b/website/pages/docs/builders/hyperone.mdx @@ -88,7 +88,7 @@ segmented below into two categories: required and optional parameters. Within each category, the available configuration keys are alphabetized. In addition to the options listed here, a -[communicator](/docs/templates/communicator.html) can be configured for this +[communicator](/docs/templates/communicator) can be configured for this builder. ### Required: @@ -124,7 +124,7 @@ builder. - `image_name` (string) - The name of the resulting image. Defaults to `packer-{{timestamp}}` - (see [configuration templates](/docs/templates/engine.html) for more info). + (see [configuration templates](/docs/templates/engine) for more info). - `image_service` (string) - The service of the resulting image. diff --git a/website/pages/docs/builders/hyperv/index.mdx b/website/pages/docs/builders/hyperv/index.mdx index 93bbe7b4a..0fc0d2c71 100644 --- a/website/pages/docs/builders/hyperv/index.mdx +++ b/website/pages/docs/builders/hyperv/index.mdx @@ -14,12 +14,12 @@ The HyperV Packer builder is able to create [Hyper-V](https://www.microsoft.com/en-us/server-cloud/solutions/virtualization.aspx) virtual machines and export them. -- [hyperv-iso](/docs/builders/hyperv-iso.html) - Starts from an ISO file, +- [hyperv-iso](/docs/builders/hyperv-iso) - Starts from an ISO file, creates a brand new Hyper-V VM, installs an OS, provisions software within the OS, then exports that machine to create an image. This is best for people who want to start from scratch. -- [hyperv-vmcx](/docs/builders/hyperv-vmcx.html) - Clones an an existing +- [hyperv-vmcx](/docs/builders/hyperv-vmcx) - Clones an an existing virtual machine, provisions software within the OS, then exports that machine to create an image. This is best for people who have existing base images and want to customize them. diff --git a/website/pages/docs/builders/hyperv/iso.mdx b/website/pages/docs/builders/hyperv/iso.mdx index e705905a4..c98f32f4d 100644 --- a/website/pages/docs/builders/hyperv/iso.mdx +++ b/website/pages/docs/builders/hyperv/iso.mdx @@ -68,7 +68,7 @@ are organized below into two categories: required and optional. Within each category, the available options are alphabetized and described. In addition to the options listed here, a -[communicator](/docs/templates/communicator.html) can be configured for this +[communicator](/docs/templates/communicator) can be configured for this builder. ### Optional: diff --git a/website/pages/docs/builders/hyperv/vmcx.mdx b/website/pages/docs/builders/hyperv/vmcx.mdx index 565768693..95a2c237d 100644 --- a/website/pages/docs/builders/hyperv/vmcx.mdx +++ b/website/pages/docs/builders/hyperv/vmcx.mdx @@ -68,7 +68,7 @@ are organized below into two categories: required and optional. Within each category, the available options are alphabetized and described. In addition to the options listed here, a -[communicator](/docs/templates/communicator.html) can be configured for this +[communicator](/docs/templates/communicator) can be configured for this builder. ## ISO Configuration Reference @@ -138,7 +138,7 @@ The example shown below is a working boot command used to start an Ubuntu ``` For more examples of various boot commands, see the sample projects from our -[community templates page](/community-tools.html#templates). +[community templates page](/community-tools#templates). ## Integration Services diff --git a/website/pages/docs/builders/linode.mdx b/website/pages/docs/builders/linode.mdx index f0e7d8e13..527011abc 100644 --- a/website/pages/docs/builders/linode.mdx +++ b/website/pages/docs/builders/linode.mdx @@ -37,7 +37,7 @@ segmented below into two categories: required and optional parameters. Within each category, the available configuration keys are alphabetized. In addition to the options listed here, a -[communicator](/docs/templates/communicator.html) can be configured for this +[communicator](/docs/templates/communicator) can be configured for this builder. ### Required @@ -70,7 +70,7 @@ builder. - `image_label` (string) - The name of the resulting image that will appear in your account. Defaults to `packer-{{timestamp}}` (see [configuration - templates](/docs/templates/engine.html) for more info). + templates](/docs/templates/engine) for more info). - `image_description` (string) - The description of the resulting image that will appear in your account. Defaults to "". diff --git a/website/pages/docs/builders/null.mdx b/website/pages/docs/builders/null.mdx index 97d5e2c4f..3a0f896cd 100644 --- a/website/pages/docs/builders/null.mdx +++ b/website/pages/docs/builders/null.mdx @@ -36,4 +36,4 @@ provisioners are defined, but it will connect to the specified host via ssh. ## Configuration Reference The null builder has no configuration parameters other than the -[communicator](/docs/templates/communicator.html) settings. +[communicator](/docs/templates/communicator) settings. diff --git a/website/pages/docs/builders/oneandone.mdx b/website/pages/docs/builders/oneandone.mdx index a617f213c..0830a4eaa 100644 --- a/website/pages/docs/builders/oneandone.mdx +++ b/website/pages/docs/builders/oneandone.mdx @@ -20,7 +20,7 @@ segmented below into two categories: required and optional parameters. Within each category, the available configuration keys are alphabetized. In addition to the options listed here, a -[communicator](/docs/templates/communicator.html) can be configured for this +[communicator](/docs/templates/communicator) can be configured for this builder. ### Required diff --git a/website/pages/docs/builders/openstack.mdx b/website/pages/docs/builders/openstack.mdx index 1863189d0..bfb840876 100644 --- a/website/pages/docs/builders/openstack.mdx +++ b/website/pages/docs/builders/openstack.mdx @@ -37,8 +37,8 @@ or earlier, we recommend you use Packer v1.1.2 or earlier version. ~> **OpenStack Liberty or later requires OpenSSL!** To use the OpenStack builder with OpenStack Liberty (Oct 2015) or later you need to have OpenSSL installed _if you are using temporary key pairs_, i.e. don't use -[`ssh_keypair_name`](openstack.html#ssh_keypair_name) nor -[`ssh_password`](/docs/templates/communicator.html#ssh_password). All major +[`ssh_keypair_name`](openstack#ssh_keypair_name) nor +[`ssh_password`](/docs/templates/communicator#ssh_password). All major OS'es have OpenSSL installed by default except Windows. This have been resolved in OpenStack Ocata(Feb 2017). @@ -53,7 +53,7 @@ segmented below into two categories: required and optional parameters. Within each category, the available configuration keys are alphabetized. In addition to the options listed here, a -[communicator](/docs/templates/communicator.html) can be configured for this +[communicator](/docs/templates/communicator) can be configured for this builder. ### Required: diff --git a/website/pages/docs/builders/oracle/classic.mdx b/website/pages/docs/builders/oracle/classic.mdx index 3856c31b0..a2017ad6c 100644 --- a/website/pages/docs/builders/oracle/classic.mdx +++ b/website/pages/docs/builders/oracle/classic.mdx @@ -142,7 +142,7 @@ which discusses the strategy used here. If this is set, a few more options become available. - `builder_communicator` (communicator) - This represents an - [`ssh communicator`](/docs/templates/communicator.html#ssh-communicator), + [`ssh communicator`](/docs/templates/communicator#ssh-communicator), and can be configured as such. If you use a different builder image, you may need to change the `ssh_username`, for example. That might look like this: diff --git a/website/pages/docs/builders/oracle/index.mdx b/website/pages/docs/builders/oracle/index.mdx index 488bb258f..4d0a23254 100644 --- a/website/pages/docs/builders/oracle/index.mdx +++ b/website/pages/docs/builders/oracle/index.mdx @@ -12,11 +12,11 @@ Packer is able to create custom images on both Oracle Cloud Infrastructure and Oracle Cloud Infrastructure Classic Compute. Packer comes with builders designed to support both platforms. Please choose the one that's right for you: -- [oracle-classic](/docs/builders/oracle-classic.html) - Create custom images +- [oracle-classic](/docs/builders/oracle-classic) - Create custom images in Oracle Cloud Infrastructure Classic Compute by launching a source instance and creating an image list from a snapshot of it after provisioning. -- [oracle-oci](/docs/builders/oracle-oci.html) - Create custom images in +- [oracle-oci](/docs/builders/oracle-oci) - Create custom images in Oracle Cloud Infrastructure (OCI) by launching a base instance and creating an image from it after provisioning. diff --git a/website/pages/docs/builders/oracle/oci.mdx b/website/pages/docs/builders/oracle/oci.mdx index ef754ebed..6708c136b 100644 --- a/website/pages/docs/builders/oracle/oci.mdx +++ b/website/pages/docs/builders/oracle/oci.mdx @@ -42,7 +42,7 @@ in which case you don't need the above user authorization. There are many configuration options available for the `oracle-oci` builder. In addition to the options listed here, a -[communicator](/docs/templates/communicator.html) can be configured for this +[communicator](/docs/templates/communicator) can be configured for this builder. ### Required @@ -84,8 +84,8 @@ builder. operation available in the Core Services API. Note: the subnet must be configured to allow access via your chosen - [communicator](/docs/templates/communicator.html) (communicator defaults to - [SSH tcp/22](/docs/templates/communicator.html#ssh_port)). + [communicator](/docs/templates/communicator) (communicator defaults to + [SSH tcp/22](/docs/templates/communicator#ssh_port)). ### Optional diff --git a/website/pages/docs/builders/outscale/bsu.mdx b/website/pages/docs/builders/outscale/bsu.mdx index ae70576b1..5fc34aa48 100644 --- a/website/pages/docs/builders/outscale/bsu.mdx +++ b/website/pages/docs/builders/outscale/bsu.mdx @@ -43,20 +43,20 @@ segmented below into two categories: required and optional parameters. Within each category, the available configuration keys are alphabetized. In addition to the options listed here, a -[communicator](../templates/communicator.html) can be configured for this +[communicator](../templates/communicator) can be configured for this builder. ### Required: -- `access_key` (string) - The access key used to communicate with OUTSCALE. [Learn how to set this](outscale.html#authentication) +- `access_key` (string) - The access key used to communicate with OUTSCALE. [Learn how to set this](outscale#authentication) -- `omi_name` (string) - The name of the resulting OMIS that will appear when managing OMIs in the Outscale console or via APIs. This must be unique. To help make this unique, use a function like `timestamp` (see [template engine](../templates/engine.html) for more info). +- `omi_name` (string) - The name of the resulting OMIS that will appear when managing OMIs in the Outscale console or via APIs. This must be unique. To help make this unique, use a function like `timestamp` (see [template engine](../templates/engine) for more info). - `vm_type` (string) - The Outscale VM type to use while building the OMI, such as `t2.small`. - `region` (string) - The name of the region, such as `us-east-1`, in which to launch the Outscale VM to create the OMI. -- `secret_key` (string) - The secret key used to communicate with Outscale. [Learn how to set this](outscale.html#authentication) +- `secret_key` (string) - The secret key used to communicate with Outscale. [Learn how to set this](outscale#authentication) - `source_omi` (string) - The initial OMI used as a base for the newly created machine. `source_omi_filter` may be used instead to populate this automatically. @@ -83,7 +83,7 @@ builder. - `volume_type` (string) - The volume type. `gp2` for General Purpose (SSD) volumes, `io1` for Provisioned IOPS (SSD) volumes, and `standard` for Magnetic volumes -- `omi_description` (string) - The description to set for the resulting OMI(s). By default this description is empty. This is a [template engine](../templates/engine.html), see [Build template +- `omi_description` (string) - The description to set for the resulting OMI(s). By default this description is empty. This is a [template engine](../templates/engine), see [Build template data](#build-template-data) for more information. - `omi_account_ids` (array of strings) - A list of account IDs that have access to launch the resulting OMI(s). By default no additional users other than the user creating the OMIS has permissions to launch it. @@ -103,7 +103,7 @@ builder. sometimes desirable to [run Sysprep]() which will stop the VM for you. If this is set to `true`, Packer _will not_ stop the VM but will assume that you will send the stop signal yourself through your final provisioner. You can do this with a - [windows-shell provisioner](https://www.packer.io/docs/provisioners/windows-shell.html). + [windows-shell provisioner](https://www.packer.io/docs/provisioners/windows-shell). Note that Packer will still wait for the VM to be stopped, and failing to send the stop signal yourself, when you have set this flag to @@ -133,13 +133,13 @@ builder. - `run_tags` (object of key/value strings) - Tags to apply to the VM that is _launched_ to create the OMI. These tags are _not_ applied to the resulting OMIS unless they're duplicated in `tags`. This is a [template - engine](../templates/engine.html), see [Build template + engine](../templates/engine), see [Build template data](#build-template-data) for more information. - `run_volume_tags` (object of key/value strings) - Tags to apply to the volumes that are _launched_ to create the OMI. These tags are _not_ applied to the resulting OMIS unless they're duplicated in `tags`. This is a - [template engine](../templates/engine.html), see [Build template + [template engine](../templates/engine), see [Build template data](#build-template-data) for more information. - `security_group_id` (string) - The ID (_not_ the name) of the security @@ -171,7 +171,7 @@ builder. - `snapshot_tags` (object of key/value strings) - Tags to apply to snapshot. They will override OMIS tags if already applied to snapshot. This is a - [template engine](../templates/engine.html), see [Build template + [template engine](../templates/engine), see [Build template data](#build-template-data) for more information. - `source_omi_filter` (object) - Filters used to populate the `source_omi` field. @@ -198,7 +198,7 @@ builder. This will fail unless _exactly_ one OMIS is returned. In the above example, `most_recent` will cause this to succeed by selecting the newest image. -- `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 Outscale. By default, this is blank, and Packer will generate a temporary keypair unless [`ssh_password`](../templates/communicator.html#ssh_password) is used. [`ssh_private_key_file`](../templates/communicator.html#ssh_private_key_file) or `ssh_agent_auth` must be specified when `ssh_keypair_name` is utilized. +- `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 Outscale. By default, this is blank, and Packer will generate a temporary keypair unless [`ssh_password`](../templates/communicator#ssh_password) is used. [`ssh_private_key_file`](../templates/communicator#ssh_private_key_file) or `ssh_agent_auth` must be specified when `ssh_keypair_name` is utilized. - `ssh_agent_auth` (boolean) - If true, the local SSH agent will be used to authenticate connections to the source VM. No temporary keypair will be created, and the values of `ssh_password` and `ssh_private_key_file` will be ignored. To use this option with a key pair already configured in the source OMI, leave the `ssh_keypair_name` blank. To associate an existing key pair in Outscale with the source VM, set the `ssh_keypair_name` field to the name of the key pair. @@ -208,7 +208,7 @@ builder. - `subnet_id` (string) - If using Net, the ID of the subnet, such as `subnet-12345def`, where Packer will launch the VM. This field is required if you are using an non-default Net. -- `tags` (object of key/value strings) - Tags applied to the OMIS and relevant snapshots. This is a [template engine](../templates/engine.html), see [Build template data](#build-template-data) for more information. +- `tags` (object of key/value strings) - Tags applied to the OMIS and relevant snapshots. This is a [template engine](../templates/engine), see [Build template data](#build-template-data) for more information. - `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. diff --git a/website/pages/docs/builders/outscale/bsusurrogate.mdx b/website/pages/docs/builders/outscale/bsusurrogate.mdx index 90e778658..e9570b797 100644 --- a/website/pages/docs/builders/outscale/bsusurrogate.mdx +++ b/website/pages/docs/builders/outscale/bsusurrogate.mdx @@ -31,20 +31,20 @@ segmented below into two categories: required and optional parameters. Within each category, the available configuration keys are alphabetized. In addition to the options listed here, a -[communicator](/docs/templates/communicator.html) can be configured for this +[communicator](/docs/templates/communicator) can be configured for this builder. ### Required: -- `access_key` (string) - The access key used to communicate with OUTSCALE. [Learn how to set this](outscale.html#authentication) +- `access_key` (string) - The access key used to communicate with OUTSCALE. [Learn how to set this](outscale#authentication) -- `omi_name` (string) - The name of the resulting OMIS that will appear when managing OMIs in the Outscale console or via APIs. This must be unique. To help make this unique, use a function like `timestamp` (see [template engine](../templates/engine.html) for more info). +- `omi_name` (string) - The name of the resulting OMIS that will appear when managing OMIs in the Outscale console or via APIs. This must be unique. To help make this unique, use a function like `timestamp` (see [template engine](../templates/engine) for more info). - `vm_type` (string) - The Outscale VM type to use while building the OMI, such as `t2.small`. - `region` (string) - The name of the region, such as `us-east-1`, in which to launch the Outscale VM to create the OMI. -- `secret_key` (string) - The secret key used to communicate with Outscale. [Learn how to set this](outscale.html#authentication) +- `secret_key` (string) - The secret key used to communicate with Outscale. [Learn how to set this](outscale#authentication) - `source_omi` (string) - The initial OMI used as a base for the newly created machine. `source_omi_filter` may be used instead to populate this automatically. @@ -79,7 +79,7 @@ builder. - `volume_type` (string) - The volume type. `gp2` for General Purpose (SSD) volumes, `io1` for Provisioned IOPS (SSD) volumes, and `standard` for Magnetic volumes -- `omi_description` (string) - The description to set for the resulting OMI(s). By default this description is empty. This is a [template engine](../templates/engine.html), see [Build template +- `omi_description` (string) - The description to set for the resulting OMI(s). By default this description is empty. This is a [template engine](../templates/engine), see [Build template data](#build-template-data) for more information. - `omi_account_ids` (array of strings) - A list of account IDs that have access to launch the resulting OMI(s). By default no additional users other than the user creating the OMIS has permissions to launch it. @@ -99,7 +99,7 @@ builder. sometimes desirable to [run Sysprep]() which will stop the VM for you. If this is set to `true`, Packer _will not_ stop the VM but will assume that you will send the stop signal yourself through your final provisioner. You can do this with a - [windows-shell provisioner](https://www.packer.io/docs/provisioners/windows-shell.html). + [windows-shell provisioner](https://www.packer.io/docs/provisioners/windows-shell). Note that Packer will still wait for the VM to be stopped, and failing to send the stop signal yourself, when you have set this flag to @@ -141,13 +141,13 @@ builder. - `run_tags` (object of key/value strings) - Tags to apply to the VM that is _launched_ to create the OMI. These tags are _not_ applied to the resulting OMIS unless they're duplicated in `tags`. This is a [template - engine](../templates/engine.html), see [Build template + engine](../templates/engine), see [Build template data](#build-template-data) for more information. - `run_volume_tags` (object of key/value strings) - Tags to apply to the volumes that are _launched_ to create the OMI. These tags are _not_ applied to the resulting OMIS unless they're duplicated in `tags`. This is a - [template engine](../templates/engine.html), see [Build template + [template engine](../templates/engine), see [Build template data](#build-template-data) for more information. - `security_group_id` (string) - The ID (_not_ the name) of the security @@ -179,7 +179,7 @@ builder. - `snapshot_tags` (object of key/value strings) - Tags to apply to snapshot. They will override OMIS tags if already applied to snapshot. This is a - [template engine](../templates/engine.html), see [Build template + [template engine](../templates/engine), see [Build template data](#build-template-data) for more information. - `source_omi_filter` (object) - Filters used to populate the `source_omi` field. @@ -206,7 +206,7 @@ builder. This will fail unless _exactly_ one OMIS is returned. In the above example, `most_recent` will cause this to succeed by selecting the newest image. -- `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 Outscale. By default, this is blank, and Packer will generate a temporary keypair unless [`ssh_password`](../templates/communicator.html#ssh_password) is used. [`ssh_private_key_file`](../templates/communicator.html#ssh_private_key_file) or `ssh_agent_auth` must be specified when `ssh_keypair_name` is utilized. +- `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 Outscale. By default, this is blank, and Packer will generate a temporary keypair unless [`ssh_password`](../templates/communicator#ssh_password) is used. [`ssh_private_key_file`](../templates/communicator#ssh_private_key_file) or `ssh_agent_auth` must be specified when `ssh_keypair_name` is utilized. - `ssh_agent_auth` (boolean) - If true, the local SSH agent will be used to authenticate connections to the source VM. No temporary keypair will be created, and the values of `ssh_password` and `ssh_private_key_file` will be ignored. To use this option with a key pair already configured in the source OMI, leave the `ssh_keypair_name` blank. To associate an existing key pair in Outscale with the source VM, set the `ssh_keypair_name` field to the name of the key pair. @@ -216,7 +216,7 @@ builder. - `subnet_id` (string) - If using Net, the ID of the subnet, such as `subnet-12345def`, where Packer will launch the VM. This field is required if you are using an non-default Net. -- `tags` (object of key/value strings) - Tags applied to the OMIS and relevant snapshots. This is a [template engine](../templates/engine.html), see [Build template data](#build-template-data) for more information. +- `tags` (object of key/value strings) - Tags applied to the OMIS and relevant snapshots. This is a [template engine](../templates/engine), see [Build template data](#build-template-data) for more information. - `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. diff --git a/website/pages/docs/builders/outscale/bsuvolume.mdx b/website/pages/docs/builders/outscale/bsuvolume.mdx index 9c578064d..3bea57819 100644 --- a/website/pages/docs/builders/outscale/bsuvolume.mdx +++ b/website/pages/docs/builders/outscale/bsuvolume.mdx @@ -37,18 +37,18 @@ segmented below into two categories: required and optional parameters. Within each category, the available configuration keys are alphabetized. In addition to the options listed here, a -[communicator](/docs/templates/communicator.html) can be configured for this +[communicator](/docs/templates/communicator) can be configured for this builder. ### Required: -- `access_key` (string) - The access key used to communicate with OUTSCALE. [Learn how to set this](outscale.html#authentication) +- `access_key` (string) - The access key used to communicate with OUTSCALE. [Learn how to set this](outscale#authentication) - `vm_type` (string) - The Outscale VM type to use while building the OMI, such as `t2.small`. - `region` (string) - The name of the region, such as `us-east-1`, in which to launch the Outscale VM to create the OMI. -- `secret_key` (string) - The secret key used to communicate with Outscale. [Learn how to set this](outscale.html#authentication) +- `secret_key` (string) - The secret key used to communicate with Outscale. [Learn how to set this](outscale#authentication) - `source_omi` (string) - The initial OMI used as a base for the newly created machine. `source_omi_filter` may be used instead to populate this automatically. @@ -76,7 +76,7 @@ builder. - `tags` (map) - Tags to apply to the volume. These are retained after the builder completes. This is a [template - engine](/docs/templates/engine.html), see [Build template + engine](/docs/templates/engine), see [Build template data](#build-template-data) for more information. - `associate_public_ip_address` (boolean) - If using a non-default Net, public IP addresses are not provided by default. If this is toggled, your new VM will get a Public IP. @@ -92,7 +92,7 @@ builder. sometimes desirable to [run Sysprep]() which will stop the VM for you. If this is set to `true`, Packer _will not_ stop the VM but will assume that you will send the stop signal yourself through your final provisioner. You can do this with a - [windows-shell provisioner](https://www.packer.io/docs/provisioners/windows-shell.html). + [windows-shell provisioner](https://www.packer.io/docs/provisioners/windows-shell). Note that Packer will still wait for the VM to be stopped, and failing to send the stop signal yourself, when you have set this flag to @@ -106,7 +106,7 @@ builder. - `run_tags` (object of key/value strings) - Tags to apply to the instance that is _launched_ to create the OMI. These tags are _not_ applied to the resulting OMI unless they're duplicated in `tags`. This is a [template - engine](/docs/templates/engine.html), see [Build template + engine](/docs/templates/engine), see [Build template data](#build-template-data) for more information. - `security_group_id` (string) - The ID (_not_ the name) of the security @@ -161,7 +161,7 @@ builder. This will fail unless _exactly_ one OMIS is returned. In the above example, `most_recent` will cause this to succeed by selecting the newest image. -- `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 Outscale. By default, this is blank, and Packer will generate a temporary keypair unless [`ssh_password`](../templates/communicator.html#ssh_password) is used. [`ssh_private_key_file`](../templates/communicator.html#ssh_private_key_file) or `ssh_agent_auth` must be specified when `ssh_keypair_name` is utilized. +- `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 Outscale. By default, this is blank, and Packer will generate a temporary keypair unless [`ssh_password`](../templates/communicator#ssh_password) is used. [`ssh_private_key_file`](../templates/communicator#ssh_private_key_file) or `ssh_agent_auth` must be specified when `ssh_keypair_name` is utilized. - `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 Net is to use the public IP address if available, otherwise the private IP address will be used. If not in a Net the public DNS name will be used. Also works for WinRM. diff --git a/website/pages/docs/builders/outscale/chroot.mdx b/website/pages/docs/builders/outscale/chroot.mdx index 676661150..a888c7609 100644 --- a/website/pages/docs/builders/outscale/chroot.mdx +++ b/website/pages/docs/builders/outscale/chroot.mdx @@ -31,7 +31,7 @@ the extra fast build. ~> **This is an advanced builder** If you're just getting started with Packer, we recommend starting with the [osc-bsu -builder](/docs/builders/osc-bsu.html), which is much easier to use. +builder](/docs/builders/osc-bsu), which is much easier to use. The builder does _not_ manage OMIs. Once it creates an OMI and stores it in your account, it is up to you to use, delete, etc., the OMI. @@ -62,18 +62,18 @@ each category, the available configuration keys are alphabetized. ### Required: -- `access_key` (string) - The access key used to communicate with OUTSCALE. [Learn how to set this](outscale.html#authentication) +- `access_key` (string) - The access key used to communicate with OUTSCALE. [Learn how to set this](outscale#authentication) -- `omi_name` (string) - The name of the resulting OMIS that will appear when managing OMIs in the Outscale console or via APIs. This must be unique. To help make this unique, use a function like `timestamp` (see [template engine](../templates/engine.html) for more info). +- `omi_name` (string) - The name of the resulting OMIS that will appear when managing OMIs in the Outscale console or via APIs. This must be unique. To help make this unique, use a function like `timestamp` (see [template engine](../templates/engine) for more info). -- `secret_key` (string) - The secret key used to communicate with Outscale. [Learn how to set this](outscale.html#authentication) +- `secret_key` (string) - The secret key used to communicate with Outscale. [Learn how to set this](outscale#authentication) - `source_omi` (string) - The initial OMI used as a base for the newly created machine. `source_omi_filter` may be used instead to populate this automatically. ### Optional: - `omi_description` (string) - The description to set for the resulting OMI(s). - By default this description is empty. This is a [template engine](../templates/engine.html), + By default this description is empty. This is a [template engine](../templates/engine), see [Build template data](#build-template-data) for more information. - `omi_account_ids` (array of strings) - A list of account IDs that have access to launch the resulting OMI(s). By default no additional users other than the user creating the OMIS has permissions to launch it. @@ -195,7 +195,7 @@ each category, the available configuration keys are alphabetized. - `root_volume_tags` (object of key/value strings) - Tags to apply to the volumes that are _launched_. This is a [template - engine](/docs/templates/engine.html), see [Build template + engine](/docs/templates/engine), see [Build template data](#build-template-data) for more information. - `skip_region_validation` (boolean) - Set to true if you want to skip @@ -203,7 +203,7 @@ each category, the available configuration keys are alphabetized. - `snapshot_tags` (object of key/value strings) - Tags to apply to snapshot. They will override OMI tags if already applied to snapshot. This is a - [template engine](/docs/templates/engine.html), see [Build template + [template engine](/docs/templates/engine), see [Build template data](#build-template-data) for more information. - `snapshot_groups` (array of strings) - A list of groups that have access to @@ -247,7 +247,7 @@ each category, the available configuration keys are alphabetized. filter, but will cause Packer to fail if the `source_omi` does not exist. - `tags` (object of key/value strings) - Tags applied to the OMI. This is a - [template engine](/docs/templates/engine.html), see [Build template + [template engine](/docs/templates/engine), see [Build template data](#build-template-data) for more information. ## Basic Example diff --git a/website/pages/docs/builders/outscale/index.mdx b/website/pages/docs/builders/outscale/index.mdx index e94f35043..ba901b710 100644 --- a/website/pages/docs/builders/outscale/index.mdx +++ b/website/pages/docs/builders/outscale/index.mdx @@ -16,30 +16,30 @@ Packer is able to create Outscale OMIs. To achieve this, Packer comes with multiple builders depending on the strategy you want to use to build the OMI. Packer supports the following builders at the moment: -- [osc-bsu](/docs/builders/osc-bsu.html) - Create BSU-backed OMIs by +- [osc-bsu](/docs/builders/osc-bsu) - Create BSU-backed OMIs by launching a source OMI and re-packaging it into a new OMI after provisioning. If in doubt, use this builder, which is the easiest to get started with. -- [osc-chroot](/docs/builders/osc-chroot.html) - Create EBS-backed OMIs +- [osc-chroot](/docs/builders/osc-chroot) - Create EBS-backed OMIs from an existing OUTSCALE VM by mounting the root device and using a [Chroot](https://en.wikipedia.org/wiki/Chroot) environment to provision that device. This is an **advanced builder and should not be used by newcomers**. However, it is also the fastest way to build an EBS-backed OMI since no new OUTSCALE VM needs to be launched. -- [osc-bsusurrogate](/docs/builders/osc-bsusurrogate.html) - Create BSU-backed OMIs from scratch. Works similarly to the `chroot` builder but does +- [osc-bsusurrogate](/docs/builders/osc-bsusurrogate) - Create BSU-backed OMIs from scratch. Works similarly to the `chroot` builder but does not require running in Outscale VM. This is an **advanced builder and should not be used by newcomers**. -> **Don't know which builder to use?** If in doubt, use the [osc-bsu -builder](/docs/builders/osc-bsu.html). It is much easier to use and Outscale generally recommends BSU-backed images nowadays. +builder](/docs/builders/osc-bsu). It is much easier to use and Outscale generally recommends BSU-backed images nowadays. # Outscale BSU Volume Builder Packer is able to create Outscale BSU Volumes which are preinitialized with a filesystem and data. -- [osc-bsuvolume](/docs/builders/osc-bsuvolume.html) - Create EBS volumes by launching a source OMI with block devices mapped. Provision the VM, then destroy it, retaining the EBS volumes. +- [osc-bsuvolume](/docs/builders/osc-bsuvolume) - Create EBS volumes by launching a source OMI with block devices mapped. Provision the VM, then destroy it, retaining the EBS volumes. ## Authentication diff --git a/website/pages/docs/builders/parallels/index.mdx b/website/pages/docs/builders/parallels/index.mdx index f5861b26f..2eba1ac67 100644 --- a/website/pages/docs/builders/parallels/index.mdx +++ b/website/pages/docs/builders/parallels/index.mdx @@ -18,12 +18,12 @@ Packer actually comes with multiple builders able to create Parallels machines, depending on the strategy you want to use to build the image. Packer supports the following Parallels builders: -- [parallels-iso](/docs/builders/parallels-iso.html) - Starts from an ISO +- [parallels-iso](/docs/builders/parallels-iso) - Starts from an ISO file, creates a brand new Parallels VM, installs an OS, provisions software within the OS, then exports that machine to create an image. This is best for people who want to start from scratch. -- [parallels-pvm](/docs/builders/parallels-pvm.html) - This builder imports +- [parallels-pvm](/docs/builders/parallels-pvm) - This builder imports an existing PVM file, runs provisioners on top of that VM, and exports that machine to create an image. This is best if you have an existing Parallels VM export you want to use as the source. As an additional benefit, you can diff --git a/website/pages/docs/builders/parallels/iso.mdx b/website/pages/docs/builders/parallels/iso.mdx index 84b5e1779..e85aa0599 100644 --- a/website/pages/docs/builders/parallels/iso.mdx +++ b/website/pages/docs/builders/parallels/iso.mdx @@ -55,7 +55,7 @@ are organized below into two categories: required and optional. Within each category, the available options are alphabetized and described. In addition to the options listed here, a -[communicator](/docs/templates/communicator.html) can be configured for this +[communicator](/docs/templates/communicator) can be configured for this builder. ## ISO Configuration Reference @@ -171,7 +171,7 @@ builder. - `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](/docs/templates/engine.html) that has a single + template](/docs/templates/engine) 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. @@ -190,7 +190,7 @@ builder. 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](/docs/templates/engine.html), where the `Name` + template](/docs/templates/engine), where the `Name` variable is replaced with the VM name. More details on how to use `prlctl` are below. @@ -241,7 +241,7 @@ all typed in sequence. It is an array only to improve readability within the template. The boot command is "typed" character for character (using the Parallels -Virtualization SDK, see [Parallels Builder](/docs/builders/parallels.html)) +Virtualization SDK, see [Parallels Builder](/docs/builders/parallels)) simulating a human actually typing the keyboard. @include 'builders/boot-command.mdx' @@ -264,7 +264,7 @@ Ubuntu 12.04 installer: ``` For more examples of various boot commands, see the sample projects from our -[community templates page](/community-tools.html#templates). +[community templates page](/community-tools#templates). ## prlctl Commands @@ -292,6 +292,6 @@ executed in the order defined. So in the above example, 3d acceleration will be first, followed by the command which enables the adaptive hypervisor. Each command itself is an array of strings, where each string is an argument to -`prlctl`. Each argument is treated as a [template engine](/docs/templates/engine.html). The only available +`prlctl`. Each argument is treated as a [template engine](/docs/templates/engine). The only available variable is `Name` which is replaced with the unique name of the VM, which is required for many `prlctl` calls. diff --git a/website/pages/docs/builders/parallels/pvm.mdx b/website/pages/docs/builders/parallels/pvm.mdx index 6fd4c50c8..3c183ea65 100644 --- a/website/pages/docs/builders/parallels/pvm.mdx +++ b/website/pages/docs/builders/parallels/pvm.mdx @@ -52,7 +52,7 @@ are organized below into two categories: required and optional. Within each category, the available options are alphabetized and described. In addition to the options listed here, a -[communicator](/docs/templates/communicator.html) can be configured for this +[communicator](/docs/templates/communicator) can be configured for this builder. ### Required: @@ -111,7 +111,7 @@ builder. - `parallels_tools_guest_path` (string) - The path in the VM to upload Parallels Tools. This only takes effect if `parallels_tools_mode` is "upload". This is a [configuration - template](/docs/templates/engine.html) that has a single + template](/docs/templates/engine) 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. @@ -130,7 +130,7 @@ builder. 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](/docs/templates/engine.html), where the `Name` + template](/docs/templates/engine), where the `Name` variable is replaced with the VM name. More details on how to use `prlctl` are below. @@ -186,7 +186,7 @@ all typed in sequence. It is an array only to improve readability within the template. The boot command is "typed" character for character (using the Parallels -Virtualization SDK, see [Parallels Builder](/docs/builders/parallels.html)) +Virtualization SDK, see [Parallels Builder](/docs/builders/parallels)) simulating a human actually typing the keyboard. @include 'builders/boot-command.mdx' @@ -218,6 +218,6 @@ followed by the CPUs. Each command itself is an array of strings, where each string is an argument to `prlctl`. Each argument is treated as a [configuration -template](/docs/templates/engine.html). The only available +template](/docs/templates/engine). The only available variable is `Name` which is replaced with the unique name of the VM, which is required for many `prlctl` calls. diff --git a/website/pages/docs/builders/profitbricks.mdx b/website/pages/docs/builders/profitbricks.mdx index 22a2aabf3..7594435f0 100644 --- a/website/pages/docs/builders/profitbricks.mdx +++ b/website/pages/docs/builders/profitbricks.mdx @@ -20,7 +20,7 @@ segmented below into two categories: required and optional parameters. Within each category, the available configuration keys are alphabetized. In addition to the options listed here, a -[communicator](/docs/templates/communicator.html) can be configured for this +[communicator](/docs/templates/communicator) can be configured for this builder. ### Required diff --git a/website/pages/docs/builders/proxmox.mdx b/website/pages/docs/builders/proxmox.mdx index 7173f51f3..e4bae68ef 100644 --- a/website/pages/docs/builders/proxmox.mdx +++ b/website/pages/docs/builders/proxmox.mdx @@ -30,7 +30,7 @@ segmented below into two categories: required and optional parameters. Within each category, the available configuration keys are alphabetized. In addition to the options listed here, a -[communicator](/docs/templates/communicator.html) can be configured for this +[communicator](/docs/templates/communicator) can be configured for this builder. ### Required: diff --git a/website/pages/docs/builders/qemu.mdx b/website/pages/docs/builders/qemu.mdx index 9fd08bd01..407dd3406 100644 --- a/website/pages/docs/builders/qemu.mdx +++ b/website/pages/docs/builders/qemu.mdx @@ -60,7 +60,7 @@ This is an example only, and will time out waiting for SSH because we have not provided a kickstart file. You must add a valid kickstart file to the "http_directory" and then provide the file in the "boot_command" in order for this build to run. We recommend you check out the -[Community Templates](https://www.packer.io/community-tools.html#templates) +[Community Templates](/community-tools#templates) for a practical usage example. Note that you will need to set `"headless": true` if you are running Packer diff --git a/website/pages/docs/builders/scaleway.mdx b/website/pages/docs/builders/scaleway.mdx index 8b9fe7852..26edab80c 100644 --- a/website/pages/docs/builders/scaleway.mdx +++ b/website/pages/docs/builders/scaleway.mdx @@ -36,7 +36,7 @@ segmented below into two categories: required and optional parameters. Within each category, the available configuration keys are alphabetized. In addition to the options listed here, a -[communicator](/docs/templates/communicator.html) can be configured for this +[communicator](/docs/templates/communicator) can be configured for this builder. ### Required: diff --git a/website/pages/docs/builders/tencentcloud-cvm.mdx b/website/pages/docs/builders/tencentcloud-cvm.mdx index fb94a73ea..b9e09da8e 100644 --- a/website/pages/docs/builders/tencentcloud-cvm.mdx +++ b/website/pages/docs/builders/tencentcloud-cvm.mdx @@ -19,7 +19,7 @@ customized images based on an existing base images. The following configuration options are available for building Tencentcloud images. In addition to the options listed here, -a [communicator](/docs/templates/communicator.html) can be configured for this builder. +a [communicator](/docs/templates/communicator) can be configured for this builder. ### Required: diff --git a/website/pages/docs/builders/triton.mdx b/website/pages/docs/builders/triton.mdx index 0280e9d48..cb6732107 100644 --- a/website/pages/docs/builders/triton.mdx +++ b/website/pages/docs/builders/triton.mdx @@ -49,7 +49,7 @@ There are many configuration options available for the builder. They are segmented below into two categories: required and optional parameters. In addition to the options listed here, a -[communicator](/docs/templates/communicator.html) can be configured for this +[communicator](/docs/templates/communicator) can be configured for this builder. ### Required: diff --git a/website/pages/docs/builders/ucloud-uhost.mdx b/website/pages/docs/builders/ucloud-uhost.mdx index 4c1d7ed2a..f0a46ec3f 100644 --- a/website/pages/docs/builders/ucloud-uhost.mdx +++ b/website/pages/docs/builders/ucloud-uhost.mdx @@ -24,7 +24,7 @@ The following configuration options are available for building UCloud images. Th segmented below into two categories: required and optional parameters. In addition to the options listed here, a -[communicator](../templates/communicator.html) can be configured for this +[communicator](../templates/communicator) can be configured for this builder. ~> **Note:** The builder doesn't support Windows images for now and only supports CentOS and Ubuntu images via SSH authentication with `ssh_username` (Required) and `ssh_password` (Optional). The `ssh_username` must be `root` for CentOS images and `ubuntu` for Ubuntu images. The `ssh_password` may contain 8-30 characters, and must consist of at least 2 items out of the capital letters, lower case letters, numbers and special characters. The special characters include `()~!@#\$%^&\*-+=\_|{}\[]:;'<>,.?/`. @@ -61,7 +61,7 @@ builder. - `security_group_id` - (string) The ID of the fire wall associated to UHost instance. If `security_group_id` is not defined, the instance will use the non-recommended web fire wall, and open port include 22, 3389 by default. It is supported by ICMP fire wall protocols. - You may refer to [security group_id](https://docs.ucloud.cn/network/firewall/firewall.html). + You may refer to [security group_id](https://docs.ucloud.cn/network/firewall/firewall). - `image_description` (string) - The description of the image. diff --git a/website/pages/docs/builders/vagrant.mdx b/website/pages/docs/builders/vagrant.mdx index 10b384074..b87e14b70 100644 --- a/website/pages/docs/builders/vagrant.mdx +++ b/website/pages/docs/builders/vagrant.mdx @@ -69,7 +69,7 @@ the Compress post-processor will not work with this builder. to Vagrant, this is the name to give it. If left blank, will default to "packer\_" plus your buildname. -- `provider` (string) - The vagrant [provider](docs/post-processors/vagrant.html). +- `provider` (string) - The vagrant [provider](docs/post-processors/vagrant). This parameter is required when `source_path` have more than one provider, or when using `vagrant-cloud` post-processor. Defaults to unset. diff --git a/website/pages/docs/builders/virtualbox/index.mdx b/website/pages/docs/builders/virtualbox/index.mdx index eab40a1bb..40a8ff973 100644 --- a/website/pages/docs/builders/virtualbox/index.mdx +++ b/website/pages/docs/builders/virtualbox/index.mdx @@ -20,19 +20,19 @@ Packer actually comes with multiple builders able to create VirtualBox machines, depending on the strategy you want to use to build the image. Packer supports the following VirtualBox builders: -- [virtualbox-iso](/docs/builders/virtualbox-iso.html) - Starts from an ISO +- [virtualbox-iso](/docs/builders/virtualbox-iso) - Starts from an ISO file, creates a brand new VirtualBox VM, installs an OS, provisions software within the OS, then exports that machine to create an image. This is best for people who want to start from scratch. -- [virtualbox-ovf](/docs/builders/virtualbox-ovf.html) - This builder imports +- [virtualbox-ovf](/docs/builders/virtualbox-ovf) - This builder imports an existing OVF/OVA file, runs provisioners on top of that VM, and exports that machine to create an image. This is best if you have an existing VirtualBox VM export you want to use as the source. As an additional benefit, you can feed the artifact of this builder back into itself to iterate on a machine. -- [virtualbox-vm](/docs/builders/virtualbox-vm.html) - This builder uses an +- [virtualbox-vm](/docs/builders/virtualbox-vm) - This builder uses an existing VM to run defined provisioners on top of that VM, and optionally creates a snapshot to save the changes applied from the provisioners. In addition the builder is able to export that machine to create an image. The diff --git a/website/pages/docs/builders/virtualbox/iso.mdx b/website/pages/docs/builders/virtualbox/iso.mdx index 4dfdc88ff..00a87acc1 100644 --- a/website/pages/docs/builders/virtualbox/iso.mdx +++ b/website/pages/docs/builders/virtualbox/iso.mdx @@ -204,7 +204,7 @@ above (`{{ .HTTPIP }}`) is hardcoded to 10.0.2.2. If you change the network of your VM you must guarantee that you can still access this HTTP server. For more examples of various boot commands, see the sample projects from our -[community templates page](/community-tools.html#templates). +[community templates page](/community-tools#templates). ## Guest Additions @@ -244,7 +244,7 @@ followed by the CPUs. Each command itself is an array of strings, where each string is an argument to `VBoxManage`. Each argument is treated as a [configuration -template](/docs/templates/engine.html). The only available +template](/docs/templates/engine). The only available variable is `Name` which is replaced with the unique name of the VM, which is required for many VBoxManage calls. diff --git a/website/pages/docs/builders/virtualbox/ovf.mdx b/website/pages/docs/builders/virtualbox/ovf.mdx index 0d902a264..9938985c0 100644 --- a/website/pages/docs/builders/virtualbox/ovf.mdx +++ b/website/pages/docs/builders/virtualbox/ovf.mdx @@ -190,7 +190,7 @@ Ubuntu 12.04 installer: ``` For more examples of various boot commands, see the sample projects from our -[community templates page](/community-tools.html#templates). +[community templates page](/community-tools#templates). ## Guest Additions @@ -234,6 +234,6 @@ followed by the CPUs. Each command itself is an array of strings, where each string is an argument to `VBoxManage`. Each argument is treated as a [configuration -template](/docs/templates/engine.html). The only available +template](/docs/templates/engine). The only available variable is `Name` which is replaced with the unique name of the VM, which is required for many VBoxManage calls. diff --git a/website/pages/docs/builders/virtualbox/vm.mdx b/website/pages/docs/builders/virtualbox/vm.mdx index c89d3810e..7f553cbb8 100644 --- a/website/pages/docs/builders/virtualbox/vm.mdx +++ b/website/pages/docs/builders/virtualbox/vm.mdx @@ -61,7 +61,7 @@ are organized below into two categories: required and optional. Within each category, the available options are alphabetized and described. In addition to the options listed here, a -[communicator](/docs/templates/communicator.html) can be configured for this +[communicator](/docs/templates/communicator) can be configured for this builder. ### Required: @@ -174,7 +174,7 @@ builder. 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](/docs/templates/engine.html) where the `Version` + template](/docs/templates/engine) where the `Version` variable is replaced with the VirtualBox version. - `guest_additions_sha256` (string) - The SHA256 checksum of the guest @@ -247,7 +247,7 @@ builder. 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.html), where the `Name` + template](/docs/templates/engine), where the `Name` variable is replaced with the VM name. More details on how to use `VBoxManage` are below. @@ -333,7 +333,7 @@ above (`{{ .HTTPIP }}`) is hardcoded to 10.0.2.2. If you change the network of your VM you must guarantee that you can still access this HTTP server. For more examples of various boot commands, see the sample projects from our -[community templates page](/community-tools.html#templates). +[community templates page](/community-tools#templates). ## Guest Additions @@ -373,6 +373,6 @@ followed by the CPUs. Each command itself is an array of strings, where each string is an argument to `VBoxManage`. Each argument is treated as a [configuration -template](/docs/templates/engine.html). The only available +template](/docs/templates/engine). The only available variable is `Name` which is replaced with the unique name of the VM, which is required for many VBoxManage calls. diff --git a/website/pages/docs/builders/vmware/index.mdx b/website/pages/docs/builders/vmware/index.mdx index 09e1e75a3..105c8d03e 100644 --- a/website/pages/docs/builders/vmware/index.mdx +++ b/website/pages/docs/builders/vmware/index.mdx @@ -17,24 +17,24 @@ Packer actually comes with multiple builders able to create VMware machines, depending on the strategy you want to use to build the image. Packer supports the following VMware builders: -- [vmware-iso](/docs/builders/vmware-iso.html) - Starts from an ISO file, +- [vmware-iso](/docs/builders/vmware-iso) - Starts from an ISO file, creates a brand new VMware VM, installs an OS, provisions software within the OS, then exports that machine to create an image. This is best for people who want to start from scratch. -- [vmware-vmx](/docs/builders/vmware-vmx.html) - This builder imports an +- [vmware-vmx](/docs/builders/vmware-vmx) - This builder imports an existing VMware machine (from a VMX file), runs provisioners on top of that VM, and exports that machine to create an image. This is best if you have an existing VMware VM you want to use as the source. As an additional benefit, you can feed the artifact of this builder back into Packer to iterate on a machine. -- [vsphere-iso](/docs/builders/vsphere-iso.html) - This builder starts from an +- [vsphere-iso](/docs/builders/vsphere-iso) - This builder starts from an ISO file, but utilizes the vSphere API rather than the esxcli to build on a remote esx instance. This allows you to build vms even if you do not have SSH access to your vSphere cluster. -- [vsphere-clone](/docs/builders/vsphere-clone.html) - This builder clones a +- [vsphere-clone](/docs/builders/vsphere-clone) - This builder clones a vm from an existing template, then modifies it and saves it as a new template. It uses the vSphere API rather than the esxcli to build on a remote esx instance. This allows you to build vms even if you do not have diff --git a/website/pages/docs/builders/vmware/iso.mdx b/website/pages/docs/builders/vmware/iso.mdx index 93b6dc674..e7884fcb2 100644 --- a/website/pages/docs/builders/vmware/iso.mdx +++ b/website/pages/docs/builders/vmware/iso.mdx @@ -183,7 +183,7 @@ to modify the network configuration after the VM is done building. @include 'common/bootcommand/BootConfig-not-required.mdx' For more examples of various boot commands, see the sample projects from our -[community templates page](/community-tools.html#templates). +[community templates page](/community-tools#templates). ## VMX Template diff --git a/website/pages/docs/builders/vmware/vmx.mdx b/website/pages/docs/builders/vmware/vmx.mdx index 625c099aa..5dab71160 100644 --- a/website/pages/docs/builders/vmware/vmx.mdx +++ b/website/pages/docs/builders/vmware/vmx.mdx @@ -52,7 +52,7 @@ organized below into two categories: required and optional. Within each category, the available options are alphabetized and described. In addition to the options listed here, a -[communicator](/docs/templates/communicator.html) can be configured for this +[communicator](/docs/templates/communicator) can be configured for this builder. ## Configuration Reference @@ -170,7 +170,7 @@ to modify the network configuration after the VM is done building. @include 'common/bootcommand/BootConfig-not-required.mdx' For more examples of various boot commands, see the sample projects from our -[community templates page](/community-tools.html#templates). +[community templates page](/community-tools#templates). ``` { @@ -202,6 +202,6 @@ Ubuntu 12.04 installer: ``` For more examples of various boot commands, see the sample projects from our -[community templates page](/community-tools.html#templates). +[community templates page](/community-tools#templates). @include 'builders/building_on_remote_vsphere_hypervisor.mdx' diff --git a/website/pages/docs/builders/vmware/vsphere-clone.mdx b/website/pages/docs/builders/vmware/vsphere-clone.mdx index 7b8b71088..3d90fbbe6 100644 --- a/website/pages/docs/builders/vmware/vsphere-clone.mdx +++ b/website/pages/docs/builders/vmware/vsphere-clone.mdx @@ -16,7 +16,7 @@ Type: `vsphere-clone` This builder clones VMs from existing templates. - VMware Player is not required. -- It uses the official vCenter API, and does not require ESXi host [modification](https://www.packer.io/docs/builders/vmware-iso.html#building-on-a-remote-vsphere-hypervisor) +- It uses the official vCenter API, and does not require ESXi host [modification](/docs/builders/vmware-iso#building-on-a-remote-vsphere-hypervisor) ## Examples diff --git a/website/pages/docs/builders/vmware/vsphere-iso.mdx b/website/pages/docs/builders/vmware/vsphere-iso.mdx index 7ae68ad4e..d549fb29c 100644 --- a/website/pages/docs/builders/vmware/vsphere-iso.mdx +++ b/website/pages/docs/builders/vmware/vsphere-iso.mdx @@ -18,7 +18,7 @@ This builder uses the vSphere API, and creates virtual machines remotely. It starts from an ISO file and creates new VMs from scratch. - VMware Player is not required. -- It uses the official vCenter API, and does not require ESXi host [modification](https://www.packer.io/docs/builders/vmware-iso.html#building-on-a-remote-vsphere-hypervisor) +- It uses the official vCenter API, and does not require ESXi host [modification](/docs/builders/vmware-iso#building-on-a-remote-vsphere-hypervisor) ## Examples diff --git a/website/pages/docs/builders/yandex.mdx b/website/pages/docs/builders/yandex.mdx index ef01eb6da..eb6213770 100644 --- a/website/pages/docs/builders/yandex.mdx +++ b/website/pages/docs/builders/yandex.mdx @@ -53,7 +53,7 @@ Configuration options are organized below into two categories: required and optional. Within each category, the available options are alphabetized and described. -In addition to the options listed here, a [communicator](/docs/templates/communicator.html) +In addition to the options listed here, a [communicator](/docs/templates/communicator) can be configured for this builder. ### Required: diff --git a/website/pages/docs/communicators/index.mdx b/website/pages/docs/communicators/index.mdx index 9a5e9fac7..70b0e3c51 100644 --- a/website/pages/docs/communicators/index.mdx +++ b/website/pages/docs/communicators/index.mdx @@ -14,16 +14,16 @@ Communicators are the mechanism Packer uses to upload files, execute scripts, etc. with the machine being created. Communicators are configured within the -[builder](/docs/templates/builders.html) section. Packer currently supports +[builder](/docs/templates/builders) section. 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](/docs/communicators/ssh.html) - An SSH connection will be established to the machine. This is +- [ssh](/docs/communicators/ssh) - An SSH connection will be established to the machine. This is usually the default. -- [winrm](/docs/communicators/winrm.html) - A WinRM connection will be established. +- [winrm](/docs/communicators/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 diff --git a/website/pages/docs/communicators/ssh.mdx b/website/pages/docs/communicators/ssh.mdx index 8718f57b4..4d8b366cd 100644 --- a/website/pages/docs/communicators/ssh.mdx +++ b/website/pages/docs/communicators/ssh.mdx @@ -12,7 +12,7 @@ sidebar_current: 'docs-communicators-ssh' Communicators are the mechanism Packer uses to upload files, execute scripts, etc. on the machine being created, and ar configured within the -[builder](/docs/templates/builders.html) section. +[builder](/docs/templates/builders) section. The SSH communicator does this by using the SSH protocol. It is the default communicator for a majority of builders. @@ -34,7 +34,7 @@ the Packer template. However, if you are building from a brand-new and unconfigured operating system image, you will almost always have to perform some extra work to configure SSH on the guest machine. For most operating system distributions, this work will -be performed by a [boot command](/docs/builders/vmware-iso.html#boot-configuration) +be performed by a [boot command](/docs/builders/vmware-iso#boot-configuration) that references a file which provides answers to the normally-interactive questions you get asked when installing an operating system. The name of this file varies by operating system; some common examples are the "preseed" file diff --git a/website/pages/docs/communicators/winrm.mdx b/website/pages/docs/communicators/winrm.mdx index 7c6384ac9..63cdf2c57 100644 --- a/website/pages/docs/communicators/winrm.mdx +++ b/website/pages/docs/communicators/winrm.mdx @@ -185,10 +185,10 @@ provisioning step to make sure your image is secure. Most clouds allow you to provide a configuration script that runs when the instance is launched. In AWS, this is the -[user_data_file](/docs/builders/amazon-ebs.html#user_data_file). In Google +[user_data_file](/docs/builders/amazon-ebs#user_data_file). In Google Cloud, this is provided using the `windows-startup-script-cmd` -[metadata](/docs/builders/googlecompute.html#metadata) tag. -[Example](/docs/builders/googlecompute.html#windows-example) +[metadata](/docs/builders/googlecompute#metadata) tag. +[Example](/docs/builders/googlecompute#windows-example) Essentially, these files are powershell or cmd scripts that configure winrm, without having to be wrapped in an Autounattend. Provide the script in the diff --git a/website/pages/docs/core-configuration.mdx b/website/pages/docs/core-configuration.mdx index caf9243ef..10d5a740e 100644 --- a/website/pages/docs/core-configuration.mdx +++ b/website/pages/docs/core-configuration.mdx @@ -46,4 +46,4 @@ configuration file. None of these are required, since all have sane defaults. - `builders`, `commands`, `post-processors`, and `provisioners` are objects that are used to install plugins. The details of how exactly these are set is covered in more detail in the [installing plugins documentation - page](/docs/extending/plugins.html). + page](/docs/extending/plugins). diff --git a/website/pages/docs/environment-variables.mdx b/website/pages/docs/environment-variables.mdx index 1e25baed6..b1b35547e 100644 --- a/website/pages/docs/environment-variables.mdx +++ b/website/pages/docs/environment-variables.mdx @@ -15,17 +15,17 @@ each can be found below: - `PACKER_CONFIG` - The location of the core configuration file. The format of the configuration file is basic JSON. See the [core configuration - page](/docs/other/core-configuration.html). + page](/docs/other/core-configuration). - `PACKER_CONFIG_DIR` - The location of the `.packer.d` config directory - `PACKER_LOG` - Setting this to any value other than "" (empty string) or "0" will enable the logger. See the [debugging - page](/docs/other/debugging.html). + page](/docs/other/debugging). - `PACKER_LOG_PATH` - The location of the log file. Note: `PACKER_LOG` must be set for any logging to occur. See the [debugging - page](/docs/other/debugging.html). + page](/docs/other/debugging). - `PACKER_NO_COLOR` - Setting this to any value will disable color in the terminal. @@ -33,12 +33,12 @@ each can be found below: - `PACKER_PLUGIN_MAX_PORT` - The maximum port that Packer uses for communication with plugins, since plugin communication happens over TCP connections on your local host. The default is 25,000. See the [core - configuration page](/docs/other/core-configuration.html). + configuration page](/docs/other/core-configuration). - `PACKER_PLUGIN_MIN_PORT` - The minimum port that Packer uses for communication with plugins, since plugin communication happens over TCP connections on your local host. The default is 10,000. See the [core - configuration page](/docs/other/core-configuration.html). + configuration page](/docs/other/core-configuration). - `PACKER_PLUGIN_PATH` - a PATH variable for finding third-party packer plugins. For example: `~/custom-dir-1:~/custom-dir-2`. diff --git a/website/pages/docs/extending/custom-builders.mdx b/website/pages/docs/extending/custom-builders.mdx index a8a3e7478..d654fc978 100644 --- a/website/pages/docs/extending/custom-builders.mdx +++ b/website/pages/docs/extending/custom-builders.mdx @@ -18,7 +18,7 @@ builder, etc. However, it is possible to write custom builders using the Packer plugin interface, and this page documents how to do that. Prior to reading this page, it is assumed you have read the page on [plugin -development basics](/docs/extending/plugins.html). +development basics](/docs/extending/plugins). ~> **Warning!** This is an advanced topic. If you're new to Packer, we recommend getting a bit more comfortable before you dive into writing plugins. @@ -256,4 +256,4 @@ func (p *PostProcessor) PostProcess(ctx context.Context, ui packer.Ui, source pa } ``` -To know more about the template engine build function, please refer to the [template engine docs](/docs/templates/engine.html). +To know more about the template engine build function, please refer to the [template engine docs](/docs/templates/engine). diff --git a/website/pages/docs/extending/custom-post-processors.mdx b/website/pages/docs/extending/custom-post-processors.mdx index 51ed8ff0c..8627dcf99 100644 --- a/website/pages/docs/extending/custom-post-processors.mdx +++ b/website/pages/docs/extending/custom-post-processors.mdx @@ -22,7 +22,7 @@ transformation would be taking an artifact with some set of files, uploading those files, and returning an artifact with a single ID: the URL of the upload. Prior to reading this page, it is assumed you have read the page on [plugin -development basics](/docs/extending/plugins.html). +development basics](/docs/extending/plugins). Post-processor plugins implement the `packer.PostProcessor` interface and are served using the `plugin.ServePostProcessor` function. diff --git a/website/pages/docs/extending/custom-provisioners.mdx b/website/pages/docs/extending/custom-provisioners.mdx index 1ad207c85..0b491ada4 100644 --- a/website/pages/docs/extending/custom-provisioners.mdx +++ b/website/pages/docs/extending/custom-provisioners.mdx @@ -19,11 +19,11 @@ sidebar_current: docs-extending-custom-provisioners Packer Provisioners are the components of Packer that install and configure software into a running machine prior to turning that machine into an image. An example of a provisioner is the [shell -provisioner](/docs/provisioners/shell.html), which runs shell scripts within +provisioner](/docs/provisioners/shell), which runs shell scripts within the machines. Prior to reading this page, it is assumed you have read the page on [plugin -development basics](/docs/extending/plugins.html). +development basics](/docs/extending/plugins). Provisioner plugins implement the `packer.Provisioner` interface and are served using the `plugin.ServeProvisioner` function. diff --git a/website/pages/docs/extending/plugins.mdx b/website/pages/docs/extending/plugins.mdx index aa44030d7..f363dddfe 100644 --- a/website/pages/docs/extending/plugins.mdx +++ b/website/pages/docs/extending/plugins.mdx @@ -23,7 +23,7 @@ developing plugins, the documentation for that is available below, in the [developing plugins](#developing-plugins) section. The current official listing of available Packer plugins can be found -[here](/community-tools.html#third-party-plugins). This is an incomplete list, +[here](/community-tools#third-party-plugins). This is an incomplete list, and more plugins can be found by searching. Typically, searching "packer plugin _x_" will find what you're looking for if it exists. We hope to create an offical registry for third party plugins in the future. @@ -86,7 +86,7 @@ The valid types for plugins are: This page will document how you can develop your own Packer plugins. Prior to reading this, it is assumed that you're comfortable with Packer and also know -the [basics of how Plugins work](/docs/extending/plugins.html), from a user +the [basics of how Plugins work](/docs/extending/plugins), from a user standpoint. Packer plugins must be written in [Go](https://golang.org/), so it is also diff --git a/website/pages/docs/from-1.5/expressions.mdx b/website/pages/docs/from-1.5/expressions.mdx index 2e50e056a..bd1e1ed3a 100644 --- a/website/pages/docs/from-1.5/expressions.mdx +++ b/website/pages/docs/from-1.5/expressions.mdx @@ -125,7 +125,7 @@ types described above: Key/value pairs can be separated by either a comma or a line break. Values can be arbitrary expressions. Keys are strings; they can be left unquoted if - they are a valid [identifier](./syntax.html#identifiers), but must be quoted + they are a valid [identifier](./syntax#identifiers), but must be quoted otherwise. You can use a non-literal expression as a key by wrapping it in parentheses, like `(var.business_unit_tag_name) = "SRE"`. @@ -136,13 +136,13 @@ Packer makes one named values available. The following named values are available: - `source..` is an object representing a - [source](./sources.html) of the given type + [source](./sources) of the given type and name. ### Available Functions For a full list of available functions, see [the function -reference](/docs/configuration/from-1.5/functions.html). +reference](/docs/configuration/from-1.5/functions). ## `for` Expressions @@ -235,7 +235,7 @@ The above expression is equivalent to the following `for` expression: Splat expressions are for lists only (and thus cannot be used [to reference resources created with -`for_each`](/docs/configuration/resources.html#referring-to-instances-1), which +`for_each`](/docs/configuration/resources#referring-to-instances-1), which are represented as maps). However, if a splat expression is applied to a value that is _not_ a list or tuple then the value is automatically wrapped in a single-element list before processing. @@ -338,8 +338,8 @@ block. If you need to declare resource instances based on a nested data structure or combinations of elements from multiple data structures you can use expressions and functions to derive a suitable value. For some common examples of such situations, see the -[`flatten`](/docs/configuration/from-1.5/functions/collection/flatten.html) and -[`setproduct`](/docs/configuration/from-1.5/functions/collection/setproduct.html) +[`flatten`](/docs/configuration/from-1.5/functions/collection/flatten) and +[`setproduct`](/docs/configuration/from-1.5/functions/collection/setproduct) functions. ### Best Practices for `dynamic` Blocks diff --git a/website/pages/docs/from-1.5/functions/collection/coalesce.mdx b/website/pages/docs/from-1.5/functions/collection/coalesce.mdx index 7ad9fcc08..48c8f72ed 100644 --- a/website/pages/docs/from-1.5/functions/collection/coalesce.mdx +++ b/website/pages/docs/from-1.5/functions/collection/coalesce.mdx @@ -34,5 +34,5 @@ b ## Related Functions -- [`coalescelist`](./coalescelist.html) performs a similar operation with +- [`coalescelist`](./coalescelist) performs a similar operation with list arguments rather than individual arguments. diff --git a/website/pages/docs/from-1.5/functions/collection/coalescelist.mdx b/website/pages/docs/from-1.5/functions/collection/coalescelist.mdx index 76f2a0225..da874b299 100644 --- a/website/pages/docs/from-1.5/functions/collection/coalescelist.mdx +++ b/website/pages/docs/from-1.5/functions/collection/coalescelist.mdx @@ -41,5 +41,5 @@ symbol to expand the outer list as arguments: ## Related Functions -- [`coalesce`](./coalesce.html) performs a similar operation with string +- [`coalesce`](./coalesce) performs a similar operation with string arguments rather than list arguments. diff --git a/website/pages/docs/from-1.5/functions/collection/flatten.mdx b/website/pages/docs/from-1.5/functions/collection/flatten.mdx index 61781eb0e..d76941dca 100644 --- a/website/pages/docs/from-1.5/functions/collection/flatten.mdx +++ b/website/pages/docs/from-1.5/functions/collection/flatten.mdx @@ -31,9 +31,9 @@ Indirectly-nested lists, such as those in maps, are _not_ flattened. ## Flattening nested structures for `for_each` The -[resource `for_each`](/docs/configuration/resources.html#for_each-multiple-resource-instances-defined-by-a-map-or-set-of-strings) +[resource `for_each`](/docs/configuration/resources#for_each-multiple-resource-instances-defined-by-a-map-or-set-of-strings) and -[`dynamic` block](/docs/configuration/expressions.html#dynamic-blocks) +[`dynamic` block](/docs/configuration/expressions#dynamic-blocks) language features both require a collection value that has one element for each repetition. @@ -106,6 +106,6 @@ the associations between the subnets and their containing networks. ## Related Functions -- [`setproduct`](./setproduct.html) finds all of the combinations of multiple +- [`setproduct`](./setproduct) finds all of the combinations of multiple lists or sets of values, which can also be useful when preparing collections for use with `for_each` constructs. diff --git a/website/pages/docs/from-1.5/functions/collection/index-fn.mdx b/website/pages/docs/from-1.5/functions/collection/index-fn.mdx index 5bf4c3854..35a2cafa3 100644 --- a/website/pages/docs/from-1.5/functions/collection/index-fn.mdx +++ b/website/pages/docs/from-1.5/functions/collection/index-fn.mdx @@ -26,5 +26,5 @@ value is not present in the list. ## Related Functions -- [`element`](./element.html) retrieves a particular element from a list given +- [`element`](./element) retrieves a particular element from a list given its index. diff --git a/website/pages/docs/from-1.5/functions/collection/keys.mdx b/website/pages/docs/from-1.5/functions/collection/keys.mdx index c9b7f695e..8ecf8f387 100644 --- a/website/pages/docs/from-1.5/functions/collection/keys.mdx +++ b/website/pages/docs/from-1.5/functions/collection/keys.mdx @@ -26,4 +26,4 @@ be identical as long as the keys in the map don't change. ## Related Functions -- [`values`](./values.html) returns a list of the _values_ from a map. +- [`values`](./values) returns a list of the _values_ from a map. diff --git a/website/pages/docs/from-1.5/functions/collection/lookup.mdx b/website/pages/docs/from-1.5/functions/collection/lookup.mdx index 22e6ff7d3..37d350674 100644 --- a/website/pages/docs/from-1.5/functions/collection/lookup.mdx +++ b/website/pages/docs/from-1.5/functions/collection/lookup.mdx @@ -30,4 +30,4 @@ what? ## Related Functions -- [`element`](./element.html) retrieves a value from a _list_ given its _index_. +- [`element`](./element) retrieves a value from a _list_ given its _index_. diff --git a/website/pages/docs/from-1.5/functions/collection/reverse.mdx b/website/pages/docs/from-1.5/functions/collection/reverse.mdx index 22505b421..a1e6566c9 100644 --- a/website/pages/docs/from-1.5/functions/collection/reverse.mdx +++ b/website/pages/docs/from-1.5/functions/collection/reverse.mdx @@ -24,4 +24,4 @@ with all of the same elements as the given sequence but in reverse order. ## Related Functions -- [`strrev`](../string/strrev.html) reverses a string. +- [`strrev`](../string/strrev) reverses a string. diff --git a/website/pages/docs/from-1.5/functions/collection/setintersection.mdx b/website/pages/docs/from-1.5/functions/collection/setintersection.mdx index 411c945b3..5755de699 100644 --- a/website/pages/docs/from-1.5/functions/collection/setintersection.mdx +++ b/website/pages/docs/from-1.5/functions/collection/setintersection.mdx @@ -33,9 +33,9 @@ the ordering of the given elements is not preserved. ## Related Functions -- [`contains`](./contains.html) tests whether a given list or set contains +- [`contains`](./contains) tests whether a given list or set contains a given element value. -- [`setproduct`](./setproduct.html) computes the _Cartesian product_ of multiple +- [`setproduct`](./setproduct) computes the _Cartesian product_ of multiple sets. -- [`setunion`](./setunion.html) computes the _union_ of +- [`setunion`](./setunion) computes the _union_ of multiple sets. diff --git a/website/pages/docs/from-1.5/functions/collection/setproduct.mdx b/website/pages/docs/from-1.5/functions/collection/setproduct.mdx index 239b894b9..dd8eaa53c 100644 --- a/website/pages/docs/from-1.5/functions/collection/setproduct.mdx +++ b/website/pages/docs/from-1.5/functions/collection/setproduct.mdx @@ -118,9 +118,9 @@ elements all have a consistent type: ## Finding combinations for `for_each` The -[resource `for_each`](/docs/configuration/resources.html#for_each-multiple-resource-instances-defined-by-a-map-or-set-of-strings) +[resource `for_each`](/docs/configuration/resources#for_each-multiple-resource-instances-defined-by-a-map-or-set-of-strings) and -[`dynamic` block](/docs/configuration/expressions.html#dynamic-blocks) +[`dynamic` block](/docs/configuration/expressions#dynamic-blocks) language features both require a collection value that has one element for each repetition. @@ -214,12 +214,12 @@ elements in the input variables. ## Related Functions -- [`contains`](./contains.html) tests whether a given list or set contains +- [`contains`](./contains) tests whether a given list or set contains a given element value. -- [`flatten`](./flatten.html) is useful for flattening heirarchical data +- [`flatten`](./flatten) is useful for flattening heirarchical data into a single list, for situations where the relationships between two object types are defined explicitly. -- [`setintersection`](./setintersection.html) computes the _intersection_ of +- [`setintersection`](./setintersection) computes the _intersection_ of multiple sets. -- [`setunion`](./setunion.html) computes the _union_ of multiple +- [`setunion`](./setunion) computes the _union_ of multiple sets. diff --git a/website/pages/docs/from-1.5/functions/collection/setunion.mdx b/website/pages/docs/from-1.5/functions/collection/setunion.mdx index 1ca6ee7c4..7a5867448 100644 --- a/website/pages/docs/from-1.5/functions/collection/setunion.mdx +++ b/website/pages/docs/from-1.5/functions/collection/setunion.mdx @@ -36,9 +36,9 @@ the ordering of the given elements is not preserved. ## Related Functions -- [`contains`](./contains.html) tests whether a given list or set contains +- [`contains`](./contains) tests whether a given list or set contains a given element value. -- [`setintersection`](./setintersection.html) computes the _intersection_ of +- [`setintersection`](./setintersection) computes the _intersection_ of multiple sets. -- [`setproduct`](./setproduct.html) computes the _Cartesian product_ of multiple +- [`setproduct`](./setproduct) computes the _Cartesian product_ of multiple sets. diff --git a/website/pages/docs/from-1.5/functions/collection/slice.mdx b/website/pages/docs/from-1.5/functions/collection/slice.mdx index c4dae2b49..669faf094 100644 --- a/website/pages/docs/from-1.5/functions/collection/slice.mdx +++ b/website/pages/docs/from-1.5/functions/collection/slice.mdx @@ -30,5 +30,5 @@ list. ## Related Functions -- [`substr`](../string/substr.html) performs a similar function for characters in a +- [`substr`](../string/substr) performs a similar function for characters in a string, although it uses a length instead of an end index. diff --git a/website/pages/docs/from-1.5/functions/collection/values.mdx b/website/pages/docs/from-1.5/functions/collection/values.mdx index d6a0e526d..1a6218311 100644 --- a/website/pages/docs/from-1.5/functions/collection/values.mdx +++ b/website/pages/docs/from-1.5/functions/collection/values.mdx @@ -13,7 +13,7 @@ in that map. The values are returned in lexicographical order by their corresponding _keys_, so the values will be returned in the same order as their keys would be -returned from [`keys`](./keys.html). +returned from [`keys`](./keys). ## Examples @@ -28,4 +28,4 @@ returned from [`keys`](./keys.html). ## Related Functions -- [`keys`](./keys.html) returns a list of the _keys_ from a map. +- [`keys`](./keys) returns a list of the _keys_ from a map. diff --git a/website/pages/docs/from-1.5/functions/conversion/can.mdx b/website/pages/docs/from-1.5/functions/conversion/can.mdx index 9525b3df7..6bd4c9264 100644 --- a/website/pages/docs/from-1.5/functions/conversion/can.mdx +++ b/website/pages/docs/from-1.5/functions/conversion/can.mdx @@ -15,7 +15,7 @@ whether the expression produced a result without any errors. This is a special function that is able to catch errors produced when evaluating its argument. For most situations where you could use `can` it's better to use -[`try`](./try.html) instead, because it allows for more concise definition of +[`try`](./try) instead, because it allows for more concise definition of fallback values for failing expressions. The `can` function can only catch and handle _dynamic_ errors resulting from @@ -27,7 +27,7 @@ as a malformed resource reference. variable validation rules. Although it can technically accept any sort of expression and be used elsewhere in the configuration, we recommend against using it in other contexts. For error handling elsewhere in the configuration, -prefer to use [`try`](./try.html). +prefer to use [`try`](./try). ## Examples @@ -56,5 +56,5 @@ A local value with the name "nonexist" has not been declared. ## Related Functions -- [`try`](./try.html), which tries evaluating a sequence of expressions and +- [`try`](./try), which tries evaluating a sequence of expressions and returns the result of the first one that succeeds. diff --git a/website/pages/docs/from-1.5/functions/conversion/try.mdx b/website/pages/docs/from-1.5/functions/conversion/try.mdx index 589ff6787..eec9a7917 100644 --- a/website/pages/docs/from-1.5/functions/conversion/try.mdx +++ b/website/pages/docs/from-1.5/functions/conversion/try.mdx @@ -110,5 +110,5 @@ A local value with the name "nonexist" has not been declared. ## Related Functions -- [`can`](./can.html), which tries evaluating an expression and returns a +- [`can`](./can), which tries evaluating an expression and returns a boolean value indicating whether it succeeded. diff --git a/website/pages/docs/from-1.5/functions/datetime/formatdate.mdx b/website/pages/docs/from-1.5/functions/datetime/formatdate.mdx index 1401a0339..c320868de 100644 --- a/website/pages/docs/from-1.5/functions/datetime/formatdate.mdx +++ b/website/pages/docs/from-1.5/functions/datetime/formatdate.mdx @@ -102,7 +102,7 @@ configuration as needed: ## Related Functions -- [`format`](../string/format.html) is a more general formatting function for arbitrary +- [`format`](../string/format) is a more general formatting function for arbitrary data. -- [`timestamp`](./timestamp.html) returns the current date and time in a format +- [`timestamp`](./timestamp) returns the current date and time in a format suitable for input to `formatdate`. diff --git a/website/pages/docs/from-1.5/functions/datetime/timeadd.mdx b/website/pages/docs/from-1.5/functions/datetime/timeadd.mdx index 4aa72a530..d67c2b78d 100644 --- a/website/pages/docs/from-1.5/functions/datetime/timeadd.mdx +++ b/website/pages/docs/from-1.5/functions/datetime/timeadd.mdx @@ -32,7 +32,7 @@ of adding the given direction to the given timestamp. -> **Breaking change note:** Packer previously let you decide your own "Date and Time format" syntax. With HCL2 and for parity with Terraform, Packer will be using the [RFC 3339](https://tools.ietf.org/html/rfc3339) "Date and Time -format" syntax. As a string. [`formatdate`](./formatdate.html) still allows you +format" syntax. As a string. [`formatdate`](./formatdate) still allows you to format a date. ## Examples diff --git a/website/pages/docs/from-1.5/functions/datetime/timestamp.mdx b/website/pages/docs/from-1.5/functions/datetime/timestamp.mdx index 2f2196c51..5a6fbc1c1 100644 --- a/website/pages/docs/from-1.5/functions/datetime/timestamp.mdx +++ b/website/pages/docs/from-1.5/functions/datetime/timestamp.mdx @@ -24,7 +24,7 @@ Packer run. -> **Breaking change note:** Packer previously let you decide your own "Date and Time format" syntax. With HCL2 and for parity with Terraform, Packer will be using the [RFC 3339](https://tools.ietf.org/html/rfc3339) "Date and Time -format" syntax. As a string. [`formatdate`](./formatdate.html) still allows you +format" syntax. As a string. [`formatdate`](./formatdate) still allows you to format a date. ## Examples @@ -36,5 +36,5 @@ to format a date. ## Related Functions -- [`formatdate`](./formatdate.html) can convert the resulting timestamp to +- [`formatdate`](./formatdate) can convert the resulting timestamp to other date and time formats. diff --git a/website/pages/docs/from-1.5/functions/encoding/base64decode.mdx b/website/pages/docs/from-1.5/functions/encoding/base64decode.mdx index 016785c41..44d1ee866 100644 --- a/website/pages/docs/from-1.5/functions/encoding/base64decode.mdx +++ b/website/pages/docs/from-1.5/functions/encoding/base64decode.mdx @@ -35,7 +35,7 @@ Hello World ## Related Functions -- [`base64encode`](./base64encode.html) performs the opposite operation, +- [`base64encode`](./base64encode) performs the opposite operation, encoding the UTF-8 bytes for a string as Base64. -- [`base64gzip`](./base64gzip.html) applies gzip compression to a string +- [`base64gzip`](./base64gzip) applies gzip compression to a string and returns the result with Base64 encoding. diff --git a/website/pages/docs/from-1.5/functions/encoding/base64encode.mdx b/website/pages/docs/from-1.5/functions/encoding/base64encode.mdx index 013cea5ff..c53af7487 100644 --- a/website/pages/docs/from-1.5/functions/encoding/base64encode.mdx +++ b/website/pages/docs/from-1.5/functions/encoding/base64encode.mdx @@ -36,7 +36,7 @@ SGVsbG8gV29ybGQ= ## Related Functions -- [`base64decode`](./base64decode.html) performs the opposite operation, +- [`base64decode`](./base64decode) performs the opposite operation, decoding Base64 data and interpreting it as a UTF-8 string. -- [`base64gzip`](./base64gzip.html) applies gzip compression to a string +- [`base64gzip`](./base64gzip) applies gzip compression to a string and returns the result with Base64 encoding all in one operation. diff --git a/website/pages/docs/from-1.5/functions/encoding/csvdecode.mdx b/website/pages/docs/from-1.5/functions/encoding/csvdecode.mdx index 12b475f45..ec1c5be85 100644 --- a/website/pages/docs/from-1.5/functions/encoding/csvdecode.mdx +++ b/website/pages/docs/from-1.5/functions/encoding/csvdecode.mdx @@ -42,7 +42,7 @@ number of fields, or this function will produce an error. ## Use with the `for_each` meta-argument You can use the result of `csvdecode` with -[the `for_each` meta-argument](/docs/configuration/resources.html#for_each-multiple-resource-instances-defined-by-a-map-or-set-of-strings) +[the `for_each` meta-argument](/docs/configuration/resources#for_each-multiple-resource-instances-defined-by-a-map-or-set-of-strings) to describe a collection of similar objects whose differences are described by the rows in the given CSV file. @@ -90,7 +90,7 @@ create or destroy associated instances as appropriate. If there is no reasonable value you can use as a unique identifier in your CSV then you could instead use -[the `count` meta-argument](/docs/configuration/resources.html#count-multiple-resource-instances-by-count) +[the `count` meta-argument](/docs/configuration/resources#count-multiple-resource-instances-by-count) to define an object for each CSV row, with each one identified by its index into the list returned by `csvdecode`. However, in that case any future updates to the CSV may be disruptive if they change the positions of particular objects in diff --git a/website/pages/docs/from-1.5/functions/encoding/jsondecode.mdx b/website/pages/docs/from-1.5/functions/encoding/jsondecode.mdx index ccb6d492c..127c09a95 100644 --- a/website/pages/docs/from-1.5/functions/encoding/jsondecode.mdx +++ b/website/pages/docs/from-1.5/functions/encoding/jsondecode.mdx @@ -16,7 +16,7 @@ of the result of decoding that string. The JSON encoding is defined in [RFC 7159](https://tools.ietf.org/html/rfc7159). This function maps JSON values to -[Packer language values](../expressions.html#types-and-values) +[Packer language values](../expressions#types-and-values) in the following way: | JSON type | Packer type | @@ -45,5 +45,5 @@ true ## Related Functions -- [`jsonencode`](./jsonencode.html) performs the opposite operation, _encoding_ +- [`jsonencode`](./jsonencode) performs the opposite operation, _encoding_ a value as JSON. diff --git a/website/pages/docs/from-1.5/functions/encoding/jsonencode.mdx b/website/pages/docs/from-1.5/functions/encoding/jsonencode.mdx index b5b94dcc0..c63ef05d7 100644 --- a/website/pages/docs/from-1.5/functions/encoding/jsonencode.mdx +++ b/website/pages/docs/from-1.5/functions/encoding/jsonencode.mdx @@ -13,7 +13,7 @@ description: The jsonencode function encodes a given value as a JSON string. The JSON encoding is defined in [RFC 7159](https://tools.ietf.org/html/rfc7159). This function maps -[Packer language values](../expressions.html#types-and-values) +[Packer language values](../expressions#types-and-values) to JSON values in the following way: | Packer type | JSON type | @@ -42,5 +42,5 @@ rarely a problem in practice. ## Related Functions -- [`jsondecode`](./jsondecode.html) performs the opposite operation, _decoding_ +- [`jsondecode`](./jsondecode) performs the opposite operation, _decoding_ a JSON string to obtain its represented value. diff --git a/website/pages/docs/from-1.5/functions/encoding/yamldecode.mdx b/website/pages/docs/from-1.5/functions/encoding/yamldecode.mdx index b8d2a5d1a..75bef525b 100644 --- a/website/pages/docs/from-1.5/functions/encoding/yamldecode.mdx +++ b/website/pages/docs/from-1.5/functions/encoding/yamldecode.mdx @@ -17,7 +17,7 @@ This function supports a subset of [YAML 1.2](https://yaml.org/spec/1.2/spec.htm as described below. This function maps YAML values to -[Packer language values](../expressions.html#types-and-values) +[Packer language values](../expressions#types-and-values) in the following way: | YAML type | Packer type | @@ -96,7 +96,7 @@ Call to function "yamldecode" failed: unsupported tag "!not-supported". ## Related Functions -- [`jsondecode`](./jsondecode.html) is a similar operation using JSON instead +- [`jsondecode`](./jsondecode) is a similar operation using JSON instead of YAML. -- [`yamlencode`](./yamlencode.html) performs the opposite operation, _encoding_ +- [`yamlencode`](./yamlencode) performs the opposite operation, _encoding_ a value as YAML. diff --git a/website/pages/docs/from-1.5/functions/encoding/yamlencode.mdx b/website/pages/docs/from-1.5/functions/encoding/yamlencode.mdx index e6e60a1d9..1773e0294 100644 --- a/website/pages/docs/from-1.5/functions/encoding/yamlencode.mdx +++ b/website/pages/docs/from-1.5/functions/encoding/yamlencode.mdx @@ -9,13 +9,13 @@ description: The yamlencode function encodes a given value as a YAML string. # `yamlencode` Function `yamlencode` encodes a given value to a string using -[YAML 1.2](https://yaml.org/spec/1.2/spec.html) block syntax. +[YAML 1.2](https://yaml.org/spec/1.2/spec) block syntax. ~> **Warning:** This function is currently **experimental** and its exact result format may change in future versions of Packer, based on feedback. Do not use `yamldecode` to construct a value for any resource argument where changes to the result would be disruptive. To get a consistent string -representation of a value use [`jsonencode`](./jsonencode.html) instead; its +representation of a value use [`jsonencode`](./jsonencode) instead; its results are also valid YAML because YAML is a JSON superset. This function maps -[Packer language values](../expressions.html#types-and-values) +[Packer language values](../expressions#types-and-values) to YAML tags in the following way: | Packer type | YAML type | @@ -77,12 +77,12 @@ mean that this is rarely a problem in practice. `yamlencode` always uses YAML's "block style" for mappings and sequences, unless the mapping or sequence is empty. To generate flow-style YAML, use -[`jsonencode`](./jsonencode.html) instead: YAML flow-style is a superset +[`jsonencode`](./jsonencode) instead: YAML flow-style is a superset of JSON syntax. ## Related Functions -- [`jsonencode`](./jsonencode.html) is a similar operation using JSON instead +- [`jsonencode`](./jsonencode) is a similar operation using JSON instead of YAML. -- [`yamldecode`](./yamldecode.html) performs the opposite operation, _decoding_ +- [`yamldecode`](./yamldecode) performs the opposite operation, _decoding_ a YAML string to obtain its represented value. diff --git a/website/pages/docs/from-1.5/functions/file/abspath.mdx b/website/pages/docs/from-1.5/functions/file/abspath.mdx index edf5c72ff..006222b9e 100644 --- a/website/pages/docs/from-1.5/functions/file/abspath.mdx +++ b/website/pages/docs/from-1.5/functions/file/abspath.mdx @@ -15,7 +15,7 @@ with the current working directory. Referring directly to filesystem paths in resource arguments may cause spurious diffs if the same configuration is applied from multiple systems or on different host operating systems. We recommend using filesystem paths only -for transient values, such as the argument to [`file`](./file.html) (where +for transient values, such as the argument to [`file`](./file) (where only the contents are then stored) or in `connection` and `provisioner` blocks. ## Examples diff --git a/website/pages/docs/from-1.5/functions/file/basename.mdx b/website/pages/docs/from-1.5/functions/file/basename.mdx index 030e36a05..b007ce59d 100644 --- a/website/pages/docs/from-1.5/functions/file/basename.mdx +++ b/website/pages/docs/from-1.5/functions/file/basename.mdx @@ -27,7 +27,7 @@ it uses backslash `\` as the path segment separator. On Unix systems, the slash Referring directly to filesystem paths in resource arguments may cause spurious diffs if the same configuration is applied from multiple systems or on different host operating systems. We recommend using filesystem paths only -for transient values, such as the argument to [`file`](./file.html) (where +for transient values, such as the argument to [`file`](./file) (where only the contents are then stored) or in `connection` and `provisioner` blocks. ## Examples @@ -39,6 +39,6 @@ baz.txt ## Related Functions -- [`dirname`](./dirname.html) returns all of the segments of a filesystem path +- [`dirname`](./dirname) returns all of the segments of a filesystem path _except_ the last, discarding the portion that would be returned by `basename`. diff --git a/website/pages/docs/from-1.5/functions/file/dirname.mdx b/website/pages/docs/from-1.5/functions/file/dirname.mdx index 6f241c144..447cf0128 100644 --- a/website/pages/docs/from-1.5/functions/file/dirname.mdx +++ b/website/pages/docs/from-1.5/functions/file/dirname.mdx @@ -26,7 +26,7 @@ any slashes in the given path will be replaced by backslashes before returning. Referring directly to filesystem paths in resource arguments may cause spurious diffs if the same configuration is applied from multiple systems or on different host operating systems. We recommend using filesystem paths only -for transient values, such as the argument to [`file`](./file.html) (where +for transient values, such as the argument to [`file`](./file) (where only the contents are then stored) or in `connection` and `provisioner` blocks. ## Examples @@ -38,5 +38,5 @@ foo/bar ## Related Functions -- [`basename`](./basename.html) returns _only_ the last portion of a filesystem +- [`basename`](./basename) returns _only_ the last portion of a filesystem path, discarding the portion that would be returned by `dirname`. diff --git a/website/pages/docs/from-1.5/functions/file/file.mdx b/website/pages/docs/from-1.5/functions/file/file.mdx index dbc09c3c1..840f7c948 100644 --- a/website/pages/docs/from-1.5/functions/file/file.mdx +++ b/website/pages/docs/from-1.5/functions/file/file.mdx @@ -28,7 +28,7 @@ dependency graph, so this function cannot be used with files that are generated dynamically during a Packer operation. We do not recommend using dynamic local files in Packer configurations, but in rare situations where this is necessary you can use -[the `local_file` data source](/docs/providers/local/d/file.html) +[the `local_file` data source](/docs/providers/local/d/file) to read files while respecting resource dependencies. ## Examples @@ -40,5 +40,5 @@ Hello World ## Related Functions -- [`fileexists`](./fileexists.html) determines whether a file exists +- [`fileexists`](./fileexists) determines whether a file exists at a given path. diff --git a/website/pages/docs/from-1.5/functions/file/fileexists.mdx b/website/pages/docs/from-1.5/functions/file/fileexists.mdx index 61990cafd..93bb49b92 100644 --- a/website/pages/docs/from-1.5/functions/file/fileexists.mdx +++ b/website/pages/docs/from-1.5/functions/file/fileexists.mdx @@ -34,4 +34,4 @@ fileexists("custom-section.sh") ? file("custom-section.sh") : local.default_cont ## Related Functions -- [`file`](./file.html) reads the contents of a file at a given path +- [`file`](./file) reads the contents of a file at a given path diff --git a/website/pages/docs/from-1.5/functions/file/fileset.mdx b/website/pages/docs/from-1.5/functions/file/fileset.mdx index 1f6f5a74c..2a6289bd6 100644 --- a/website/pages/docs/from-1.5/functions/file/fileset.mdx +++ b/website/pages/docs/from-1.5/functions/file/fileset.mdx @@ -65,7 +65,7 @@ before Packer takes any actions. ``` A common use of `fileset` is to create one resource instance per matched file, using -[the `for_each` meta-argument](/docs/configuration/resources.html#for_each-multiple-resource-instances-defined-by-a-map-or-set-of-strings): +[the `for_each` meta-argument](/docs/configuration/resources#for_each-multiple-resource-instances-defined-by-a-map-or-set-of-strings): ```hcl resource "example_thing" "example" { diff --git a/website/pages/docs/from-1.5/functions/index.mdx b/website/pages/docs/from-1.5/functions/index.mdx index 1e42309da..c05893b1a 100644 --- a/website/pages/docs/from-1.5/functions/index.mdx +++ b/website/pages/docs/from-1.5/functions/index.mdx @@ -20,7 +20,7 @@ max(5, 12, 9) ``` For more details on syntax, see -[_Function Calls_](./expressions.html#function-calls) +[_Function Calls_](./expressions#function-calls) on the Expressions page. The HCL language does not support user-defined functions, and so only diff --git a/website/pages/docs/from-1.5/functions/ipnet/cidrhost.mdx b/website/pages/docs/from-1.5/functions/ipnet/cidrhost.mdx index 2c3c6ecae..7c2804af4 100644 --- a/website/pages/docs/from-1.5/functions/ipnet/cidrhost.mdx +++ b/website/pages/docs/from-1.5/functions/ipnet/cidrhost.mdx @@ -24,7 +24,7 @@ cidrhost(prefix, hostnum) no more than the number of digits remaining in the address after the given prefix. For more details on how this function interprets CIDR prefixes and populates host numbers, see the worked example for -[`cidrsubnet`](./cidrsubnet.html). +[`cidrsubnet`](./cidrsubnet). Conventionally host number zero is used to represent the address of the network itself and the host number that would fill all the host bits with @@ -48,5 +48,5 @@ fd00:fd12:3456:7890::22 ## Related Functions -- [`cidrsubnet`](./cidrsubnet.html) calculates a subnet address under a given +- [`cidrsubnet`](./cidrsubnet) calculates a subnet address under a given network address prefix. diff --git a/website/pages/docs/from-1.5/functions/ipnet/cidrsubnet.mdx b/website/pages/docs/from-1.5/functions/ipnet/cidrsubnet.mdx index 66362d3ed..f4fb05c3f 100644 --- a/website/pages/docs/from-1.5/functions/ipnet/cidrsubnet.mdx +++ b/website/pages/docs/from-1.5/functions/ipnet/cidrsubnet.mdx @@ -30,7 +30,7 @@ additional bits added to the prefix. This function accepts both IPv6 and IPv4 prefixes, and the result always uses the same addressing scheme as the given prefix. -Unlike the related function [`cidrsubnets`](./cidrsubnets.html), `cidrsubnet` +Unlike the related function [`cidrsubnets`](./cidrsubnets), `cidrsubnet` allows you to give a specific network number to use. `cidrsubnets` can allocate multiple network addresses at once, but numbers them automatically starting with zero. @@ -91,7 +91,7 @@ This gives us some additional information but also confirms (using a slightly different notation) the conversion from decimal to binary and shows the range of possible host addresses in this network. -While [`cidrhost`](./cidrhost.html) allows calculating single host IP addresses, +While [`cidrhost`](./cidrhost) allows calculating single host IP addresses, `cidrsubnet` on the other hand creates a new network prefix _within_ the given network prefix. In other words, it creates a subnet. @@ -146,7 +146,7 @@ Hosts/Net: 14 Class A, Private Internet The new subnet has four bits available for host numbering, which means that there are 14 host addresses available for assignment once we subtract the network's own address and the broadcast address. You can thus use -[`cidrhost`](./cidrhost.html) function to calculate those host addresses by +[`cidrhost`](./cidrhost) function to calculate those host addresses by providing it a value between 1 and 14: ```shell @@ -161,9 +161,9 @@ For more information on CIDR notation and subnetting, see ## Related Functions -- [`cidrhost`](./cidrhost.html) calculates the IP address for a single host +- [`cidrhost`](./cidrhost) calculates the IP address for a single host within a given network address prefix. -- [`cidrnetmask`](./cidrnetmask.html) converts an IPv4 network prefix in CIDR +- [`cidrnetmask`](./cidrnetmask) converts an IPv4 network prefix in CIDR notation into netmask notation. -- [`cidrsubnets`](./cidrsubnets.html) can allocate multiple consecutive +- [`cidrsubnets`](./cidrsubnets) can allocate multiple consecutive addresses under a prefix at once, numbering them automatically. diff --git a/website/pages/docs/from-1.5/functions/ipnet/cidrsubnets.mdx b/website/pages/docs/from-1.5/functions/ipnet/cidrsubnets.mdx index 63e75e355..a3d0f9e82 100644 --- a/website/pages/docs/from-1.5/functions/ipnet/cidrsubnets.mdx +++ b/website/pages/docs/from-1.5/functions/ipnet/cidrsubnets.mdx @@ -25,7 +25,7 @@ value is therefore a list with one element per `newbits` argument, each a string containing an address range in CIDR notation. For more information on IP addressing concepts, see the documentation for the -related function [`cidrsubnet`](./cidrsubnet.html). `cidrsubnet` calculates +related function [`cidrsubnet`](./cidrsubnet). `cidrsubnet` calculates a single subnet address within a prefix while allowing you to specify its subnet number, while `cidrsubnets` can calculate many at once, potentially of different sizes, and assigns subnet numbers automatically. @@ -60,7 +60,7 @@ the same addressing scheme as the given prefix. ``` You can use nested `cidrsubnets` calls with -[`for` expressions](/docs/configuration/expressions.html#for-expressions) +[`for` expressions](/docs/configuration/expressions#for-expressions) to concisely allocate groups of network address blocks: ``` @@ -87,9 +87,9 @@ to concisely allocate groups of network address blocks: ## Related Functions -- [`cidrhost`](./cidrhost.html) calculates the IP address for a single host +- [`cidrhost`](./cidrhost) calculates the IP address for a single host within a given network address prefix. -- [`cidrnetmask`](./cidrnetmask.html) converts an IPv4 network prefix in CIDR +- [`cidrnetmask`](./cidrnetmask) converts an IPv4 network prefix in CIDR notation into netmask notation. -- [`cidrsubnet`](./cidrsubnet.html) calculates a single subnet address, allowing +- [`cidrsubnet`](./cidrsubnet) calculates a single subnet address, allowing you to specify its network number. diff --git a/website/pages/docs/from-1.5/functions/numeric/ceil.mdx b/website/pages/docs/from-1.5/functions/numeric/ceil.mdx index 2be3db4c9..fc0ff3ff3 100644 --- a/website/pages/docs/from-1.5/functions/numeric/ceil.mdx +++ b/website/pages/docs/from-1.5/functions/numeric/ceil.mdx @@ -24,5 +24,5 @@ given value, which may be a fraction. ## Related Functions -- [`floor`](./floor.html), which rounds to the nearest whole number _less than_ +- [`floor`](./floor), which rounds to the nearest whole number _less than_ or equal. diff --git a/website/pages/docs/from-1.5/functions/numeric/floor.mdx b/website/pages/docs/from-1.5/functions/numeric/floor.mdx index 64a3580bf..fc9f2fd96 100644 --- a/website/pages/docs/from-1.5/functions/numeric/floor.mdx +++ b/website/pages/docs/from-1.5/functions/numeric/floor.mdx @@ -24,5 +24,5 @@ given value, which may be a fraction. ## Related Functions -- [`ceil`](./ceil.html), which rounds to the nearest whole number _greater than_ +- [`ceil`](./ceil), which rounds to the nearest whole number _greater than_ or equal. diff --git a/website/pages/docs/from-1.5/functions/numeric/max.mdx b/website/pages/docs/from-1.5/functions/numeric/max.mdx index 1b878c52a..71aa9b13f 100644 --- a/website/pages/docs/from-1.5/functions/numeric/max.mdx +++ b/website/pages/docs/from-1.5/functions/numeric/max.mdx @@ -27,4 +27,4 @@ to individual arguments: ## Related Functions -- [`min`](./min.html), which returns the _smallest_ number from a set. +- [`min`](./min), which returns the _smallest_ number from a set. diff --git a/website/pages/docs/from-1.5/functions/numeric/min.mdx b/website/pages/docs/from-1.5/functions/numeric/min.mdx index 3c3e90570..b44f1258e 100644 --- a/website/pages/docs/from-1.5/functions/numeric/min.mdx +++ b/website/pages/docs/from-1.5/functions/numeric/min.mdx @@ -27,4 +27,4 @@ to individual arguments: ## Related Functions -- [`max`](./max.html), which returns the _greatest_ number from a set. +- [`max`](./max), which returns the _greatest_ number from a set. diff --git a/website/pages/docs/from-1.5/functions/numeric/parseint.mdx b/website/pages/docs/from-1.5/functions/numeric/parseint.mdx index bc8ece575..79b634ec4 100644 --- a/website/pages/docs/from-1.5/functions/numeric/parseint.mdx +++ b/website/pages/docs/from-1.5/functions/numeric/parseint.mdx @@ -49,5 +49,5 @@ Invalid value for "number" parameter: cannot parse "12" as a base 2 integer. ## Related Functions -- [`format`](../string/format.html) can format numbers and other values into strings, +- [`format`](../string/format) can format numbers and other values into strings, with optional zero padding, alignment, etc. diff --git a/website/pages/docs/from-1.5/functions/string/chomp.mdx b/website/pages/docs/from-1.5/functions/string/chomp.mdx index 57ad00cd1..ee11da141 100644 --- a/website/pages/docs/from-1.5/functions/string/chomp.mdx +++ b/website/pages/docs/from-1.5/functions/string/chomp.mdx @@ -26,5 +26,5 @@ hello ## Related Functions -- [`trimspace`](./trimspace.html), which removes all types of whitespace from +- [`trimspace`](./trimspace), which removes all types of whitespace from both the start and the end of a string. diff --git a/website/pages/docs/from-1.5/functions/string/format.mdx b/website/pages/docs/from-1.5/functions/string/format.mdx index d229cc578..3c931c045 100644 --- a/website/pages/docs/from-1.5/functions/string/format.mdx +++ b/website/pages/docs/from-1.5/functions/string/format.mdx @@ -116,7 +116,7 @@ for an unsupported format verb. ## Related Functions -- [`formatdate`](../datetime/formatdate.html) is a specialized formatting function for +- [`formatdate`](../datetime/formatdate) is a specialized formatting function for human-readable timestamps. -- [`formatlist`](./formatlist.html) uses the same specification syntax to +- [`formatlist`](./formatlist) uses the same specification syntax to produce a list of strings. diff --git a/website/pages/docs/from-1.5/functions/string/formatlist.mdx b/website/pages/docs/from-1.5/functions/string/formatlist.mdx index 583a15d70..2f051d409 100644 --- a/website/pages/docs/from-1.5/functions/string/formatlist.mdx +++ b/website/pages/docs/from-1.5/functions/string/formatlist.mdx @@ -18,7 +18,7 @@ formatlist(spec, values...) ``` The specification string uses -[the same syntax as `format`](./format.html#specification-syntax). +[the same syntax as `format`](./format#specification-syntax). The given values can be a mixture of list and non-list arguments. Any given lists must be the same length, which decides the length of the resulting list. @@ -48,5 +48,5 @@ once per element of the list arguments. ## Related Functions -- [`format`](./format.html) defines the specification syntax used by this +- [`format`](./format) defines the specification syntax used by this function and produces a single string as its result. diff --git a/website/pages/docs/from-1.5/functions/string/join.mdx b/website/pages/docs/from-1.5/functions/string/join.mdx index 027df2afe..728cece6b 100644 --- a/website/pages/docs/from-1.5/functions/string/join.mdx +++ b/website/pages/docs/from-1.5/functions/string/join.mdx @@ -28,5 +28,5 @@ foo ## Related Functions -- [`split`](./split.html) performs the opposite operation: producing a list +- [`split`](./split) performs the opposite operation: producing a list by separating a single string using a given delimiter. diff --git a/website/pages/docs/from-1.5/functions/string/lower.mdx b/website/pages/docs/from-1.5/functions/string/lower.mdx index 7e4366584..80e3e4ad1 100644 --- a/website/pages/docs/from-1.5/functions/string/lower.mdx +++ b/website/pages/docs/from-1.5/functions/string/lower.mdx @@ -25,5 +25,5 @@ This function uses Unicode's definition of letters and of upper- and lowercase. ## Related Functions -- [`upper`](./upper.html) converts letters in a string to _uppercase_. -- [`title`](./title.html) converts the first letter of each word in a string to uppercase. +- [`upper`](./upper) converts letters in a string to _uppercase_. +- [`title`](./title) converts the first letter of each word in a string to uppercase. diff --git a/website/pages/docs/from-1.5/functions/string/regexreplace.mdx b/website/pages/docs/from-1.5/functions/string/regexreplace.mdx index 4b23e978b..13fc50094 100644 --- a/website/pages/docs/from-1.5/functions/string/regexreplace.mdx +++ b/website/pages/docs/from-1.5/functions/string/regexreplace.mdx @@ -43,5 +43,5 @@ hello everybody ## Related Functions -- [`replace`](./replace.html) searches a given string for another given +- [`replace`](./replace) searches a given string for another given substring, and replaces all occurrences with a given replacement string. diff --git a/website/pages/docs/from-1.5/functions/string/replace.mdx b/website/pages/docs/from-1.5/functions/string/replace.mdx index cac650704..59fcde0d9 100644 --- a/website/pages/docs/from-1.5/functions/string/replace.mdx +++ b/website/pages/docs/from-1.5/functions/string/replace.mdx @@ -29,5 +29,5 @@ hello everybody ## Related Functions -- [`regexreplace`](./regexreplace.html) searches a given string for another given substring, +- [`regexreplace`](./regexreplace) searches a given string for another given substring, and replaces each occurrence with a given replacement string. diff --git a/website/pages/docs/from-1.5/functions/string/split.mdx b/website/pages/docs/from-1.5/functions/string/split.mdx index 88b319bc1..75d736d2d 100644 --- a/website/pages/docs/from-1.5/functions/string/split.mdx +++ b/website/pages/docs/from-1.5/functions/string/split.mdx @@ -38,5 +38,5 @@ split(separator, string) ## Related Functions -- [`join`](./join.html) performs the opposite operation: producing a string +- [`join`](./join) performs the opposite operation: producing a string joining together a list of strings with a given separator. diff --git a/website/pages/docs/from-1.5/functions/string/strrev.mdx b/website/pages/docs/from-1.5/functions/string/strrev.mdx index 20820ae06..4d3cae970 100644 --- a/website/pages/docs/from-1.5/functions/string/strrev.mdx +++ b/website/pages/docs/from-1.5/functions/string/strrev.mdx @@ -26,4 +26,4 @@ olleh ## Related Functions -- [`reverse`](../collection/reverse.html) reverses a sequence. +- [`reverse`](../collection/reverse) reverses a sequence. diff --git a/website/pages/docs/from-1.5/functions/string/title.mdx b/website/pages/docs/from-1.5/functions/string/title.mdx index a62ab6902..f84205538 100644 --- a/website/pages/docs/from-1.5/functions/string/title.mdx +++ b/website/pages/docs/from-1.5/functions/string/title.mdx @@ -23,5 +23,5 @@ This function uses Unicode's definition of letters and of upper- and lowercase. ## Related Functions -- [`upper`](./upper.html) converts _all_ letters in a string to uppercase. -- [`lower`](./lower.html) converts all letters in a string to lowercase. +- [`upper`](./upper) converts _all_ letters in a string to uppercase. +- [`lower`](./lower) converts all letters in a string to lowercase. diff --git a/website/pages/docs/from-1.5/functions/string/trim.mdx b/website/pages/docs/from-1.5/functions/string/trim.mdx index a768d5be3..74ce7eb36 100644 --- a/website/pages/docs/from-1.5/functions/string/trim.mdx +++ b/website/pages/docs/from-1.5/functions/string/trim.mdx @@ -22,7 +22,7 @@ hello ## Related Functions -- [`trimprefix`](./trimprefix.html) removes a word from the start of a string. -- [`trimsuffix`](./trimsuffix.html) removes a word from the end of a string. -- [`trimspace`](./trimspace.html) removes all types of whitespace from +- [`trimprefix`](./trimprefix) removes a word from the start of a string. +- [`trimsuffix`](./trimsuffix) removes a word from the end of a string. +- [`trimspace`](./trimspace) removes all types of whitespace from both the start and the end of a string. diff --git a/website/pages/docs/from-1.5/functions/string/trimprefix.mdx b/website/pages/docs/from-1.5/functions/string/trimprefix.mdx index f27618d12..432173748 100644 --- a/website/pages/docs/from-1.5/functions/string/trimprefix.mdx +++ b/website/pages/docs/from-1.5/functions/string/trimprefix.mdx @@ -21,7 +21,7 @@ world ## Related Functions -- [`trim`](./trim.html) removes characters at the start and end of a string. -- [`trimsuffix`](./trimsuffix.html) removes a word from the end of a string. -- [`trimspace`](./trimspace.html) removes all types of whitespace from +- [`trim`](./trim) removes characters at the start and end of a string. +- [`trimsuffix`](./trimsuffix) removes a word from the end of a string. +- [`trimspace`](./trimspace) removes all types of whitespace from both the start and the end of a string. diff --git a/website/pages/docs/from-1.5/functions/string/trimspace.mdx b/website/pages/docs/from-1.5/functions/string/trimspace.mdx index a208734f3..be3e64009 100644 --- a/website/pages/docs/from-1.5/functions/string/trimspace.mdx +++ b/website/pages/docs/from-1.5/functions/string/trimspace.mdx @@ -26,5 +26,5 @@ hello ## Related Functions -- [`chomp`](./chomp.html) removes just line ending characters from the _end_ of +- [`chomp`](./chomp) removes just line ending characters from the _end_ of a string. diff --git a/website/pages/docs/from-1.5/functions/string/trimsuffix.mdx b/website/pages/docs/from-1.5/functions/string/trimsuffix.mdx index b769ae455..5ea005019 100644 --- a/website/pages/docs/from-1.5/functions/string/trimsuffix.mdx +++ b/website/pages/docs/from-1.5/functions/string/trimsuffix.mdx @@ -21,7 +21,7 @@ hello ## Related Functions -- [`trim`](./trim.html) removes characters at the start and end of a string. -- [`trimprefix`](./trimprefix.html) removes a word from the start of a string. -- [`trimspace`](./trimspace.html) removes all types of whitespace from +- [`trim`](./trim) removes characters at the start and end of a string. +- [`trimprefix`](./trimprefix) removes a word from the start of a string. +- [`trimspace`](./trimspace) removes all types of whitespace from both the start and the end of a string. diff --git a/website/pages/docs/from-1.5/functions/string/upper.mdx b/website/pages/docs/from-1.5/functions/string/upper.mdx index f371c4890..a9612ee4c 100644 --- a/website/pages/docs/from-1.5/functions/string/upper.mdx +++ b/website/pages/docs/from-1.5/functions/string/upper.mdx @@ -25,5 +25,5 @@ This function uses Unicode's definition of letters and of upper- and lowercase. ## Related Functions -- [`lower`](./lower.html) converts letters in a string to _lowercase_. -- [`title`](./title.html) converts the first letter of each word in a string to uppercase. +- [`lower`](./lower) converts letters in a string to _lowercase_. +- [`title`](./title) converts the first letter of each word in a string to uppercase. diff --git a/website/pages/docs/from-1.5/functions/uuid/uuidv4.mdx b/website/pages/docs/from-1.5/functions/uuid/uuidv4.mdx index 846255791..ca8f066f9 100644 --- a/website/pages/docs/from-1.5/functions/uuid/uuidv4.mdx +++ b/website/pages/docs/from-1.5/functions/uuid/uuidv4.mdx @@ -27,4 +27,4 @@ b5ee72a3-54dd-c4b8-551c-4bdc0204cedb ## Related Functions -- [`uuidv5`](./uuidv5.html), which generates name-based UUIDs. +- [`uuidv5`](./uuidv5), which generates name-based UUIDs. diff --git a/website/pages/docs/from-1.5/functions/uuid/uuidv5.mdx b/website/pages/docs/from-1.5/functions/uuid/uuidv5.mdx index cdb18971d..4d00861fd 100644 --- a/website/pages/docs/from-1.5/functions/uuid/uuidv5.mdx +++ b/website/pages/docs/from-1.5/functions/uuid/uuidv5.mdx @@ -18,7 +18,7 @@ description: |- uuidv5(namespace, name) ``` -Unlike the pseudo-random UUIDs generated by [`uuidv4`](./uuidv4.html), +Unlike the pseudo-random UUIDs generated by [`uuidv4`](./uuidv4), name-based UUIDs derive from namespace and an name, producing the same UUID value every time if the namespace and name are unchanged. @@ -78,4 +78,4 @@ human-significant manner, such as by reference to the standard that defined it. ## Related Functions -- [`uuidv4`](./uuid.html), which generates pseudorandom UUIDs. +- [`uuidv4`](./uuid), which generates pseudorandom UUIDs. diff --git a/website/pages/docs/from-1.5/index.mdx b/website/pages/docs/from-1.5/index.mdx index 4101c29bf..5b062e360 100644 --- a/website/pages/docs/from-1.5/index.mdx +++ b/website/pages/docs/from-1.5/index.mdx @@ -56,14 +56,14 @@ source "amazon-ebs" "main" { For full details about Packer's syntax, see: -- [Configuration Syntax](./syntax.html) -- [Expressions](./expressions.html) +- [Configuration Syntax](./syntax) +- [Expressions](./expressions) ## Code Organization The HCL language uses configuration files that are named with the `.pkr.hcl` file extension. There is also [a JSON-based variant of the -language](./syntax-json.html) that is named with the `.pkr.json` file +language](./syntax-json) that is named with the `.pkr.json` file extension. Configuration files must always use UTF-8 encoding, and by convention are diff --git a/website/pages/docs/from-1.5/locals.mdx b/website/pages/docs/from-1.5/locals.mdx index 71682b44a..35874aee5 100644 --- a/website/pages/docs/from-1.5/locals.mdx +++ b/website/pages/docs/from-1.5/locals.mdx @@ -13,7 +13,7 @@ description: >- Local values assign a name to an expression, that can then be used multiple times within a folder. -If [variables](./variables.html) are analogous to function arguments then +If [variables](./variables) are analogous to function arguments then _local values_ are comparable to a function's local variables. Input variable and local variable usage are introduced in the [_Variables diff --git a/website/pages/docs/from-1.5/syntax-json.mdx b/website/pages/docs/from-1.5/syntax-json.mdx index d66a905c4..592697e03 100644 --- a/website/pages/docs/from-1.5/syntax-json.mdx +++ b/website/pages/docs/from-1.5/syntax-json.mdx @@ -11,7 +11,7 @@ description: |- # JSON Configuration Syntax Most Packer configurations are written in [the native HCL -syntax](./syntax.html), which is designed to be easy for humans to read and +syntax](./syntax), which is designed to be easy for humans to read and update. Packer also supports an alternative syntax that is JSON-compatible. This @@ -94,7 +94,7 @@ rules apply in most cases: correspond either to argument names or to nested block type names. - Where a property corresponds to an argument that accepts - [arbitrary expressions](./expressions.html) in the native syntax, the + [arbitrary expressions](./expressions) in the native syntax, the property value is mapped to an expression as described under [_Expression Mapping_](#expression-mapping) below. For arguments that do _not_ accept arbitrary expressions, the interpretation of the property @@ -111,20 +111,20 @@ rules apply in most cases: ## Expression Mapping Since JSON grammar is not able to represent all of the Packer language -[expression syntax](./expressions.html), JSON values interpreted as expressions +[expression syntax](./expressions), JSON values interpreted as expressions are mapped as follows: | JSON | Packer Language Interpretation | | ------- | ------------------------------------------------------------------------------------------------------------- | | Boolean | A literal `bool` value. | | Number | A literal `number` value. | -| String | Parsed as a [string template](./expressions.html#string-templates) and then evaluated as described below. | +| String | Parsed as a [string template](./expressions#string-templates) and then evaluated as described below. | | Object | Each property value is mapped per this table, producing an `object(...)` value with suitable attribute types. | | Array | Each element is mapped per this table, producing a `tuple(...)` value with suitable element types. | | Null | A literal `null`. | When a JSON string is encountered in a location where arbitrary expressions are -expected, its value is first parsed as a [string template](./expressions.html#string-templates) +expected, its value is first parsed as a [string template](./expressions#string-templates) and then it is evaluated to produce the final result. If the given template consists _only_ of a single interpolation sequence, diff --git a/website/pages/docs/from-1.5/syntax.mdx b/website/pages/docs/from-1.5/syntax.mdx index fdb9920e8..73eda5f18 100644 --- a/website/pages/docs/from-1.5/syntax.mdx +++ b/website/pages/docs/from-1.5/syntax.mdx @@ -18,7 +18,7 @@ are built from. This page describes the _native syntax_ of HCL, which is a rich language designed to be easy for humans to read and write. The constructs in HCL can -also be expressed in [JSON syntax](./syntax-json.html), which is harder for +also be expressed in [JSON syntax](./syntax-json), which is harder for humans to read and edit but easier to generate and parse programmatically. This low-level syntax of HCL is defined in terms of a syntax called _HCL_, @@ -48,7 +48,7 @@ after the equals sign is the argument's value. The context where the argument appears determines what value types are valid (for example, each source type has a schema that defines the types of its arguments), but many arguments accept arbitrary -[expressions](./expressions.html), which allow the value to +[expressions](./expressions), which allow the value to either be specified literally or generated from other values programmatically. ### Blocks diff --git a/website/pages/docs/from-1.5/variables.mdx b/website/pages/docs/from-1.5/variables.mdx index 6c99ad52f..6b7168e6f 100644 --- a/website/pages/docs/from-1.5/variables.mdx +++ b/website/pages/docs/from-1.5/variables.mdx @@ -24,7 +24,7 @@ Guide_](/guides/hcl/variables). variable is being discussed. Other kinds of variables in Packer include _environment variables_ (set by the shell where Packer runs) and _expression variables_ (used to indirectly represent a value in an -[expression](./expressions.html)). +[expression](./expressions)). ## Declaring an Input Variable @@ -84,7 +84,7 @@ configuration. ## Using Input Variable Values Within the build that declared a variable, its value can be accessed from -within [expressions](./expressions.html) as `var.`, where `` +within [expressions](./expressions) as `var.`, where `` matches the label given in the declaration block: ```hcl @@ -100,7 +100,7 @@ the folder where it was declared. ## Type Constraints The `type` argument in a `variable` block allows you to restrict the [type of -value](./expressions.html#types-and-values) that will be accepted as the value +value](./expressions#types-and-values) that will be accepted as the value for a variable. If no type constraint is set then a value of any type is accepted. @@ -126,7 +126,7 @@ The type constructors allow you to specify complex types such as collections: The keyword `any` may be used to indicate that any type is acceptable. For more information on the meaning and behavior of these different types, as well as detailed information about automatic conversion of complex types, see [Type -Constraints](./types.html). +Constraints](./types). If both the `type` and `default` arguments are specified, the given default value must be convertible to the specified type. @@ -236,7 +236,7 @@ case letters as in the above example. ### Complex-typed Values When variable values are provided in a variable definitions file, Packer's -[usual syntax](./expressions.html#structural-types) can be used to assign +[usual syntax](./expressions#structural-types) can be used to assign complex-typed values, like lists and maps. Some special rules apply to the `-var` command line option and to environment diff --git a/website/pages/docs/install.mdx b/website/pages/docs/install.mdx index ff682e735..ccabf368a 100644 --- a/website/pages/docs/install.mdx +++ b/website/pages/docs/install.mdx @@ -11,4 +11,4 @@ sidebar_current: docs-install # Install Packer For detailed instructions on how to install Packer, see [this -page](/intro/getting-started/install.html) in our getting-started guide. +page](/intro/getting-started/install) in our getting-started guide. diff --git a/website/pages/docs/post-processors/alicloud-import.mdx b/website/pages/docs/post-processors/alicloud-import.mdx index 90b96f113..40627bbcc 100644 --- a/website/pages/docs/post-processors/alicloud-import.mdx +++ b/website/pages/docs/post-processors/alicloud-import.mdx @@ -66,9 +66,9 @@ are two categories: required and optional parameters. - `oss_key_name` (string) - The name of the object key in `oss_bucket_name` where the RAW or VHD file will be copied to for import. This is treated as - a [template engine](/docs/templates/engine.html), and you may access any of + a [template engine](/docs/templates/engine), and you may access any of the variables stored in the generated data using the - [build](/docs/templates/engine.html) template function. + [build](/docs/templates/engine) template function. - `skip_clean` (boolean) - Whether we should skip removing the RAW or VHD file uploaded to OSS after the import process has completed. `true` means diff --git a/website/pages/docs/post-processors/amazon-import.mdx b/website/pages/docs/post-processors/amazon-import.mdx index 777bd2bc5..6a8631d51 100644 --- a/website/pages/docs/post-processors/amazon-import.mdx +++ b/website/pages/docs/post-processors/amazon-import.mdx @@ -48,7 +48,7 @@ each category, the available configuration keys are alphabetized. Required: - `access_key` (string) - The access key used to communicate with AWS. [Learn - how to set this.](/docs/builders/amazon.html#specifying-amazon-credentials) + how to set this.](/docs/builders/amazon#specifying-amazon-credentials) - `region` (string) - The name of the region, such as `us-east-1` in which to upload the OVA file to S3 and create the AMI. A list of valid regions can @@ -59,7 +59,7 @@ Required: post-processor is run. - `secret_key` (string) - The secret key used to communicate with AWS. [Learn - how to set this.](/docs/builders/amazon.html#specifying-amazon-credentials) + how to set this.](/docs/builders/amazon#specifying-amazon-credentials) Optional: @@ -139,7 +139,7 @@ Optional: OVA file will be copied to for import. If not specified, this will default to "packer-import-{{timestamp}}.ova". This key (i.e., the uploaded OVA) will be removed after import, unless `skip_clean` is `true`. This is - treated as a [template engine](/docs/templates/engine.html). Therefore, you + treated as a [template engine](/docs/templates/engine). Therefore, you may use user variables and template functions in this field. - `skip_clean` (boolean) - Whether we should skip removing the OVA file diff --git a/website/pages/docs/post-processors/artifice.mdx b/website/pages/docs/post-processors/artifice.mdx index 55aeb8117..9d7431199 100644 --- a/website/pages/docs/post-processors/artifice.mdx +++ b/website/pages/docs/post-processors/artifice.mdx @@ -31,8 +31,8 @@ instance. After overriding the artifact with artifice, you can use it with other post-processors like -[compress](https://www.packer.io/docs/post-processors/compress.html), -[docker-push](https://www.packer.io/docs/post-processors/docker-push.html), or +[compress](https://www.packer.io/docs/post-processors/compress), +[docker-push](https://www.packer.io/docs/post-processors/docker-push), or a third-party post-processor. Artifice allows you to use the familiar packer workflow to create a fresh, diff --git a/website/pages/docs/post-processors/checksum.mdx b/website/pages/docs/post-processors/checksum.mdx index cdc61723e..208e5ca53 100644 --- a/website/pages/docs/post-processors/checksum.mdx +++ b/website/pages/docs/post-processors/checksum.mdx @@ -30,9 +30,9 @@ verify it later. After computes checksum for artifacts, you can use new artifacts with other post-processors like -[artifice](https://www.packer.io/docs/post-processors/artifice.html), -[compress](https://www.packer.io/docs/post-processors/compress.html), -[docker-push](https://www.packer.io/docs/post-processors/docker-push.html), or +[artifice](/docs/post-processors/artifice), +[compress](/docs/post-processors/compress), +[docker-push](/docs/post-processors/docker-push), or a third-party post-processor. ## Basic example @@ -60,7 +60,7 @@ Optional parameters: `packer_{{.BuildName}}_{{.BuilderType}}_{{.ChecksumType}}.checksum`. For example, if you had a builder named `database`, you might see the file written as `packer_database_docker_md5.checksum`. This is treated as a - [template engine](/docs/templates/engine.html). Therefore, you + [template engine](/docs/templates/engine). Therefore, you may use user variables and template functions in this field. The following special variables are also available to use in the output template: diff --git a/website/pages/docs/post-processors/compress.mdx b/website/pages/docs/post-processors/compress.mdx index b7afeebd9..5ab325cb7 100644 --- a/website/pages/docs/post-processors/compress.mdx +++ b/website/pages/docs/post-processors/compress.mdx @@ -29,7 +29,7 @@ you will need to specify the `output` option. packer defaults to `.tar.gz` behavior but will not change the filename. This is treated as a - [template engine](/docs/templates/engine.html). Therefore, you + [template engine](/docs/templates/engine). Therefore, you may use user variables and template functions in this field. The following special variables are also available to use in the output template: diff --git a/website/pages/docs/post-processors/digitalocean-import.mdx b/website/pages/docs/post-processors/digitalocean-import.mdx index 142da6cfa..cae8b4f57 100644 --- a/website/pages/docs/post-processors/digitalocean-import.mdx +++ b/website/pages/docs/post-processors/digitalocean-import.mdx @@ -78,7 +78,7 @@ Optional: - `space_object_name` (string) - The name of the key used in the Space where the image file will be copied to for import. This is treated as a - [template engine](/docs/templates/engine.html). Therefore, you + [template engine](/docs/templates/engine). Therefore, you may use user variables and template functions in this field. If not specified, this will default to `packer-import-{{timestamp}}`. diff --git a/website/pages/docs/post-processors/docker-import.mdx b/website/pages/docs/post-processors/docker-import.mdx index 1565fbc3b..f36329880 100644 --- a/website/pages/docs/post-processors/docker-import.mdx +++ b/website/pages/docs/post-processors/docker-import.mdx @@ -15,10 +15,10 @@ sidebar_current: docs-post-processors-docker-import Type: `docker-import` The Packer Docker import post-processor takes an artifact from the [docker -builder](/docs/builders/docker.html) and imports it with Docker locally. This +builder](/docs/builders/docker) and imports it with Docker locally. This allows you to apply a repository and tag to the image and lets you use the other Docker post-processors such as -[docker-push](/docs/post-processors/docker-push.html) to push the image to a +[docker-push](/docs/post-processors/docker-push) to push the image to a registry. ## Configuration @@ -58,7 +58,7 @@ This example would take the image created by the Docker builder and import it into the local Docker process with a name of `hashicorp/packer:0.7`. Following this, you can use the -[docker-push](/docs/post-processors/docker-push.html) post-processor to push it +[docker-push](/docs/post-processors/docker-push) post-processor to push it to a registry, if you want. ## Changing Metadata diff --git a/website/pages/docs/post-processors/docker-push.mdx b/website/pages/docs/post-processors/docker-push.mdx index c1c669c97..f4e03c52b 100644 --- a/website/pages/docs/post-processors/docker-push.mdx +++ b/website/pages/docs/post-processors/docker-push.mdx @@ -13,7 +13,7 @@ sidebar_current: docs-post-processors-docker-push Type: `docker-push` The Packer Docker push post-processor takes an artifact from the -[docker-import](/docs/post-processors/docker-import.html) post-processor and +[docker-import](/docs/post-processors/docker-import) post-processor and pushes it to a Docker registry. ## Configuration @@ -22,11 +22,11 @@ This post-processor has only optional configuration: - `aws_access_key` (string) - The AWS access key used to communicate with AWS. [Learn how to set - this.](/docs/builders/amazon.html#specifying-amazon-credentials) + this.](/docs/builders/amazon#specifying-amazon-credentials) - `aws_secret_key` (string) - The AWS secret key used to communicate with AWS. [Learn how to set - this.](/docs/builders/amazon.html#specifying-amazon-credentials) + this.](/docs/builders/amazon#specifying-amazon-credentials) - `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 @@ -35,7 +35,7 @@ This post-processor has only optional configuration: - `aws_profile` (string) - The AWS shared credentials profile used to communicate with AWS. [Learn how to set - this.](/docs/builders/amazon.html#specifying-amazon-credentials) + this.](/docs/builders/amazon#specifying-amazon-credentials) - `ecr_login` (boolean) - Defaults to false. If true, the post-processor will login in order to push the image to [Amazon EC2 Container Registry @@ -67,4 +67,4 @@ will automatically log you out afterwards (just the server specified). ## Example For an example of using docker-push, see the section on using generated -artifacts from the [docker builder](/docs/builders/docker.html). +artifacts from the [docker builder](/docs/builders/docker). diff --git a/website/pages/docs/post-processors/docker-save.mdx b/website/pages/docs/post-processors/docker-save.mdx index eaf25db1e..cf22bb8d5 100644 --- a/website/pages/docs/post-processors/docker-save.mdx +++ b/website/pages/docs/post-processors/docker-save.mdx @@ -19,7 +19,7 @@ sidebar_current: docs-post-processors-docker-save Type: `docker-save` The Packer Docker Save post-processor takes an artifact from the [docker -builder](/docs/builders/docker.html) that was committed and saves it to a file. +builder](/docs/builders/docker) that was committed and saves it to a file. This is similar to exporting the Docker image directly from the builder, except that it preserves the hierarchy of images and metadata. diff --git a/website/pages/docs/post-processors/docker-tag.mdx b/website/pages/docs/post-processors/docker-tag.mdx index f06da2310..db3ba35c3 100644 --- a/website/pages/docs/post-processors/docker-tag.mdx +++ b/website/pages/docs/post-processors/docker-tag.mdx @@ -15,13 +15,13 @@ sidebar_current: docs-post-processors-docker-tag Type: `docker-tag` The Packer Docker Tag post-processor takes an artifact from the [docker -builder](/docs/builders/docker.html) that was committed and tags it into a +builder](/docs/builders/docker) that was committed and tags it into a repository. This allows you to use the other Docker post-processors such as -[docker-push](/docs/post-processors/docker-push.html) to push the image to a +[docker-push](/docs/post-processors/docker-push) to push the image to a registry. This is very similar to the -[docker-import](/docs/post-processors/docker-import.html) post-processor except +[docker-import](/docs/post-processors/docker-import) post-processor except that this works with committed resources, rather than exported. ## Configuration @@ -62,5 +62,5 @@ This example would take the image created by the Docker builder and tag it into the local Docker process with a name of `hashicorp/packer:0.7`. Following this, you can use the -[docker-push](/docs/post-processors/docker-push.html) post-processor to push it +[docker-push](/docs/post-processors/docker-push) post-processor to push it to a registry, if you want. diff --git a/website/pages/docs/post-processors/googlecompute-import.mdx b/website/pages/docs/post-processors/googlecompute-import.mdx index a1d7cd876..c1522f5f9 100644 --- a/website/pages/docs/post-processors/googlecompute-import.mdx +++ b/website/pages/docs/post-processors/googlecompute-import.mdx @@ -49,7 +49,7 @@ for details. - `gcs_object_name` (string) - The name of the GCS object in `bucket` where the RAW disk image will be copied for import. This is treated as a - [template engine](/docs/templates/engine.html). Therefore, you + [template engine](/docs/templates/engine). Therefore, you may use user variables and template functions in this field. Defaults to `packer-import-{{timestamp}}.tar.gz`. diff --git a/website/pages/docs/post-processors/manifest.mdx b/website/pages/docs/post-processors/manifest.mdx index bc1d01ab1..d3ce0a59e 100644 --- a/website/pages/docs/post-processors/manifest.mdx +++ b/website/pages/docs/post-processors/manifest.mdx @@ -42,7 +42,7 @@ post-processors such as Docker and Artifice. - `strip_path` (boolean) Write only filename without the path to the manifest file. This defaults to false. - `custom_data` (map of strings) Arbitrary data to add to the manifest. - This is a [template engine](/docs/templates/engine.html). Therefore, you + This is a [template engine](/docs/templates/engine). Therefore, you may use user variables and template functions in this field. - `keep_input_artifact` (boolean) - Unlike most other post-processors, the keep_input_artifact option will have no effect for the manifest diff --git a/website/pages/docs/post-processors/shell-local.mdx b/website/pages/docs/post-processors/shell-local.mdx index d9ab0e033..49ffbcaa0 100644 --- a/website/pages/docs/post-processors/shell-local.mdx +++ b/website/pages/docs/post-processors/shell-local.mdx @@ -81,11 +81,11 @@ Optional parameters: ["cmd", "/V", "/C", "{{.Vars}}", "call", "{{.Script}}"] ``` - This is treated as a [template engine](/docs/templates/engine.html). + This is treated as a [template engine](/docs/templates/engine). There are several available variables: `Script`, which is the path to the script to run, and `Vars`, which is the list of `environment_vars`, if configured. In addition, you may access any of the variables stored in the - generated data using the [build](/docs/templates/engine.html) template + generated data using the [build](/docs/templates/engine) template function. If you choose to set this option, make sure that the first element in the array is the shell program you want to use (for example, "sh" or "/usr/local/bin/zsh" or even "powershell.exe" although anything @@ -121,7 +121,7 @@ Optional parameters: shell-local, since the shell-local post-processor merely passes forward the artifact it receives. If your shell-local post-processor produces a file or files which you would like to have replace the input artifact, you may - overwrite the input artifact using the [artifice](./artifice.html) + overwrite the input artifact using the [artifice](./artifice) post-processor after your shell-local processor has run. - `only_on` (array of strings) - This is an array of [runtime operating @@ -208,7 +208,7 @@ In addition to being able to specify custom environmental variables using the commonly useful environmental variables: - `PACKER_BUILD_NAME` is set to the [name of the - build](/docs/templates/builders.html#named-builds) that Packer is running. + build](/docs/templates/builders#named-builds) that Packer is running. This is most useful when Packer is making multiple builds and you want to distinguish them slightly from a common provisioning script. @@ -233,7 +233,7 @@ run twice. If you have 3 builders, it will run 3 times, once for each builder. ### Interacting with Build Artifacts In order to interact with build artifacts, you may want to use the [manifest -post-processor](/docs/post-processors/manifest.html). This will write the list +post-processor](/docs/post-processors/manifest). This will write the list of files produced by a `builder` to a json file after each `builder` is run. For example, if you wanted to package a file from the file builder into a diff --git a/website/pages/docs/post-processors/ucloud-import.mdx b/website/pages/docs/post-processors/ucloud-import.mdx index 35115dcf9..cf263f757 100644 --- a/website/pages/docs/post-processors/ucloud-import.mdx +++ b/website/pages/docs/post-processors/ucloud-import.mdx @@ -52,7 +52,7 @@ are two categories: required and optional parameters. - `ufile_key_name` (string) - The name of the object key in `ufile_bucket_name` where the RAW, VHD, VMDK, or qcow2 file will be copied - to import. This is a [template engine](/docs/templates/engine.html). + to import. This is a [template engine](/docs/templates/engine). Therefore, you may use user variables and template functions in this field. - `skip_clean` (boolean) - Whether we should skip removing the RAW, VHD, VMDK, or qcow2 file uploaded to UFile after the import process has completed. Possible values are: `true` to leave it in the UFile bucket, `false` to remove it. (Default: `false`). diff --git a/website/pages/docs/post-processors/vagrant-cloud.mdx b/website/pages/docs/post-processors/vagrant-cloud.mdx index 9a962e111..6dfa0d53d 100644 --- a/website/pages/docs/post-processors/vagrant-cloud.mdx +++ b/website/pages/docs/post-processors/vagrant-cloud.mdx @@ -18,9 +18,9 @@ simple way. The Vagrant Cloud post-processor enables the upload of Vagrant boxes to Vagrant Cloud. Currently, the Vagrant Cloud post-processor will accept and upload boxes -supplied to it from the [Vagrant](/docs/post-processors/vagrant.html) or -[Artifice](/docs/post-processors/artifice.html) post-processors and the -[Vagrant](/docs/builders/vagrant.html) builder. +supplied to it from the [Vagrant](/docs/post-processors/vagrant) or +[Artifice](/docs/post-processors/artifice) post-processors and the +[Vagrant](/docs/builders/vagrant) builder. You'll need to be familiar with Vagrant Cloud, have an upgraded account to enable box hosting, and be distributing your box via the [shorthand @@ -102,7 +102,7 @@ on Vagrant Cloud, as well as authentication and version information. - `box_download_url` (string) - Optional URL for a self-hosted box. If this is set the box will not be uploaded to the Vagrant Cloud. - This is a [template engine](/docs/templates/engine.html). Therefore, you + This is a [template engine](/docs/templates/engine). Therefore, you may use user variables and template functions in this field. The following extra variables are also avilable in this engine: - `Provider`: The Vagrant provider the box is for diff --git a/website/pages/docs/post-processors/vagrant.mdx b/website/pages/docs/post-processors/vagrant.mdx index 4f124828d..254f4e3a2 100644 --- a/website/pages/docs/post-processors/vagrant.mdx +++ b/website/pages/docs/post-processors/vagrant.mdx @@ -24,7 +24,7 @@ Packer to automatically create arbitrarily complex Vagrant boxes, and is in fact how the official boxes distributed by Vagrant are created. If you've never used a post-processor before, please read the documentation on -[using post-processors](/docs/templates/post-processors.html) in templates. +[using post-processors](/docs/templates/post-processors) in templates. This knowledge will be expected for the remainder of this document. Because Vagrant boxes are @@ -84,7 +84,7 @@ more details about certain options in following sections. - `output` (string) - The full path to the box file that will be created by this post-processor. This is a - [template engine](/docs/templates/engine.html). Therefore, you may use user + [template engine](/docs/templates/engine). Therefore, you may use user variables and template functions in this field. The following extra variables are also avilable in this engine: @@ -155,7 +155,7 @@ artifact (the raw virtual machine, for example), then you must configure Packer to keep it. Please see the [documentation on input -artifacts](/docs/templates/post-processors.html#toc_2) for more information. +artifacts](/docs/templates/post-processors#toc_2) for more information. ### Docker diff --git a/website/pages/docs/post-processors/vsphere-template.mdx b/website/pages/docs/post-processors/vsphere-template.mdx index 5316eed1d..89b8321ce 100644 --- a/website/pages/docs/post-processors/vsphere-template.mdx +++ b/website/pages/docs/post-processors/vsphere-template.mdx @@ -20,7 +20,7 @@ Type: `vsphere-template` The Packer vSphere Template post-processor takes an artifact from the VMware-iso builder, built on ESXi (i.e. remote) or an artifact from the -[vSphere](/docs/post-processors/vsphere.html) post-processor and allows to mark +[vSphere](/docs/post-processors/vsphere) post-processor and allows to mark a VM as a template and leaving it in a path of choice. ## Example @@ -89,11 +89,11 @@ Optional: ## Using the vSphere Template with local builders -Once the [vSphere](/docs/post-processors/vsphere.html) takes an artifact from +Once the [vSphere](/docs/post-processors/vsphere) takes an artifact from the VMware builder and uploads it to a vSphere endpoint, you will likely want to mark that VM as template. Packer can do this for you automatically using a sequence definition (a collection of post-processors that are treated as as -single pipeline, see [Post-Processors](/docs/templates/post-processors.html) +single pipeline, see [Post-Processors](/docs/templates/post-processors) for more information): ```json diff --git a/website/pages/docs/provisioners/ansible-local.mdx b/website/pages/docs/provisioners/ansible-local.mdx index cbc5390a9..eb302585c 100644 --- a/website/pages/docs/provisioners/ansible-local.mdx +++ b/website/pages/docs/provisioners/ansible-local.mdx @@ -22,7 +22,7 @@ via the `ansible-playbook` command. -> **Note:** Ansible will _not_ be installed automatically by this provisioner. This provisioner expects that Ansible is already installed on the guest/remote machine. It is common practice to use the [shell -provisioner](/docs/provisioners/shell.html) before the Ansible provisioner to +provisioner](/docs/provisioners/shell) before the Ansible provisioner to do this. ## Basic Example diff --git a/website/pages/docs/provisioners/ansible.mdx b/website/pages/docs/provisioners/ansible.mdx index 597ee126f..4835c5cb4 100644 --- a/website/pages/docs/provisioners/ansible.mdx +++ b/website/pages/docs/provisioners/ansible.mdx @@ -80,7 +80,7 @@ Optional Parameters: "ansible_env_vars": [ "ANSIBLE_HOST_KEY_CHECKING=False", "ANSIBLE_SSH_ARGS='-o ForwardAgent=yes -o ControlMaster=auto -o ControlPersist=60s'", "ANSIBLE_NOCOLOR=True" ] ``` - This is a [template engine](/docs/templates/engine.html). Therefore, you + This is a [template engine](/docs/templates/engine). Therefore, you may use user variables and template functions in this field. For example, if you are running a Windows build on AWS, Azure, diff --git a/website/pages/docs/provisioners/chef-client.mdx b/website/pages/docs/provisioners/chef-client.mdx index 0d76a4d24..7b3330505 100644 --- a/website/pages/docs/provisioners/chef-client.mdx +++ b/website/pages/docs/provisioners/chef-client.mdx @@ -67,7 +67,7 @@ configuration is actually required. - `elevated_user` and `elevated_password` (string) - If specified, Chef will be run with elevated privileges using the given Windows user. See the - [powershell](/docs/provisionders/powershell.html) provisioner for the full + [powershell](/docs/provisionders/powershell) provisioner for the full details. - `encrypted_data_bag_secret_path` (string) - The path to the file containing @@ -75,7 +75,7 @@ configuration is actually required. will be available. - `execute_command` (string) - The command used to execute Chef. This has - various [configuration template variables](/docs/templates/engine.html) + various [configuration template variables](/docs/templates/engine) available. See below for more information. - `guest_os_type` (string) - The target guest OS type, either "unix" or @@ -83,7 +83,7 @@ configuration is actually required. Windows friendly paths and commands. By default, this is "unix". - `install_command` (string) - The command used to install Chef. This has - various [configuration template variables](/docs/templates/engine.html) + various [configuration template variables](/docs/templates/engine) available. See below for more information. - `json` (object) - An arbitrary mapping of JSON that will be available as @@ -91,7 +91,7 @@ configuration is actually required. - `knife_command` (string) - The command used to run Knife during node clean-up. This has various [configuration template - variables](/docs/templates/engine.html) available. See below for more + variables](/docs/templates/engine) available. See below for more information. - `node_name` (string) - The name of the node to register with the Chef @@ -109,7 +109,7 @@ configuration is actually required. windows. - `run_list` (array of strings) - The [run - list](http://docs.chef.io/essentials_node_object_run_lists.html) for Chef. + list](http://docs.chef.io/essentials_node_object_run_lists) for Chef. By default this is empty, and will use the run list sent down by the Chef Server. @@ -206,7 +206,7 @@ trusted_certs_dir :{{.TrustedCertsDir}} {{end}} ``` -This template is a [configuration template](/docs/templates/engine.html) and +This template is a [configuration template](/docs/templates/engine) and has a set of variables available to use: - `ChefEnvironment` - The Chef environment name. @@ -321,7 +321,7 @@ mode. **Packer variables** Set the necessary Packer variables using environment variables or provide a -[var file](/docs/templates/user-variables.html). +[var file](/docs/templates/user-variables). ```json "variables": { @@ -386,7 +386,7 @@ mode, while passing a `run_list` using a variable. **Packer variables** Set the necessary Packer variables using environment variables or provide a -[var file](/docs/templates/user-variables.html). +[var file](/docs/templates/user-variables). ```json "variables": { diff --git a/website/pages/docs/provisioners/chef-solo.mdx b/website/pages/docs/provisioners/chef-solo.mdx index a96cac254..a6fc93183 100644 --- a/website/pages/docs/provisioners/chef-solo.mdx +++ b/website/pages/docs/provisioners/chef-solo.mdx @@ -72,7 +72,7 @@ configuration is actually required, but at least `run_list` is recommended. directory specified by the `staging_directory`. By default, this is empty. - `execute_command` (string) - The command used to execute Chef. This has - various [configuration template variables](/docs/templates/engine.html) + various [configuration template variables](/docs/templates/engine) available. See below for more information. - `guest_os_type` (string) - The target guest OS type, either "unix" or @@ -80,7 +80,7 @@ configuration is actually required, but at least `run_list` is recommended. Windows friendly paths and commands. By default, this is "unix". - `install_command` (string) - The command used to install Chef. This has - various [configuration template variables](/docs/templates/engine.html) + various [configuration template variables](/docs/templates/engine) available. See below for more information. - `json` (object) - An arbitrary mapping of JSON that will be available as @@ -133,7 +133,7 @@ The default value for the configuration template is: cookbook_path [{{.CookbookPaths}}] ``` -This template is a [configuration template](/docs/templates/engine.html) and +This template is a [configuration template](/docs/templates/engine) and has a set of variables available to use: - `ChefEnvironment` - The current enabled environment. Only non-empty if the diff --git a/website/pages/docs/provisioners/converge.mdx b/website/pages/docs/provisioners/converge.mdx index e6d2d0081..07fbe53bf 100644 --- a/website/pages/docs/provisioners/converge.mdx +++ b/website/pages/docs/provisioners/converge.mdx @@ -60,14 +60,14 @@ Optional parameters: module. - `execute_command` (string) - the command used to execute Converge. This is a - [configuration template variables](/docs/templates/engine.html). + [configuration template variables](/docs/templates/engine). See below for detailed usage instructions. - `prevent_sudo` (boolean) - stop Converge from running with administrator privileges via sudo - `bootstrap_command` (string) - the command used to bootstrap Converge. This - is a [template engine](/docs/templates/engine.html). Therefore, you may use + is a [template engine](/docs/templates/engine). Therefore, you may use user variables and template functions in this field. The following extra variables are also avilable in this engine: diff --git a/website/pages/docs/provisioners/custom.mdx b/website/pages/docs/provisioners/custom.mdx index 78e663540..fb1d1f118 100644 --- a/website/pages/docs/provisioners/custom.mdx +++ b/website/pages/docs/provisioners/custom.mdx @@ -15,5 +15,5 @@ sidebar_current: docs-provisioners-custom Packer is extensible, allowing you to write new provisioners without having to modify the core source code of Packer itself. Documentation for creating new provisioners is covered in the [custom -provisioners](/docs/extending/custom-provisioners.html) page of the Packer +provisioners](/docs/extending/custom-provisioners) page of the Packer plugin section. diff --git a/website/pages/docs/provisioners/file.mdx b/website/pages/docs/provisioners/file.mdx index 9d5139546..b2ab829b6 100644 --- a/website/pages/docs/provisioners/file.mdx +++ b/website/pages/docs/provisioners/file.mdx @@ -16,7 +16,7 @@ Type: `file` The file Packer provisioner uploads files to machines built by Packer. The recommended usage of the file provisioner is to use it to upload files, and -then use [shell provisioner](/docs/provisioners/shell.html) to move them to the +then use [shell provisioner](/docs/provisioners/shell) to move them to the proper place, set permissions, etc. Warning: You can only upload files to locations that the provisioning user @@ -161,7 +161,7 @@ Because of the way our WinRM transfers works, it can take a very long time to upload and download even moderately sized files. If you're experiencing slowness using the file provisioner on Windows, it's suggested that you set up an SSH server and use the [ssh -communicator](/docs/templates/communicator.html#ssh-communicator). If you only +communicator](/docs/templates/communicator#ssh-communicator). If you only want to transfer files to your guest, and if your builder supports it, you may also use the `http_directory` directive. This will cause that directory to be available to the guest over http, and set the environment variable diff --git a/website/pages/docs/provisioners/index.mdx b/website/pages/docs/provisioners/index.mdx index 14e6f1c48..99d85662d 100644 --- a/website/pages/docs/provisioners/index.mdx +++ b/website/pages/docs/provisioners/index.mdx @@ -19,6 +19,6 @@ use cases for provisioners include: - creating users - downloading application code -See [Template Provisioners](/docs/templates/provisioners.html) to learn more +See [Template Provisioners](/docs/templates/provisioners) to learn more about working with provisioners. For information on an individual provisioner, choose it from the sidebar. diff --git a/website/pages/docs/provisioners/powershell.mdx b/website/pages/docs/provisioners/powershell.mdx index 953988252..fe8e8cd29 100644 --- a/website/pages/docs/provisioners/powershell.mdx +++ b/website/pages/docs/provisioners/powershell.mdx @@ -16,7 +16,7 @@ The PowerShell Packer provisioner runs PowerShell scripts on Windows machines. It assumes that the communicator in use is WinRM. However, the provisioner can work equally well (with a few caveats) when combined with the SSH communicator. See the [section -below](/docs/provisioners/powershell.html#combining-the-powershell-provisioner-with-the-ssh-communicator) +below](/docs/provisioners/powershell#combining-the-powershell-provisioner-with-the-ssh-communicator) for details. ## Basic Example @@ -41,7 +41,7 @@ The example below is fully functional. powershell -executionpolicy bypass "& { if (Test-Path variable:global:ProgressPreference){$ProgressPreference='SilentlyContinue'};. {{.Vars}}; &'{{.Path}}'; exit $LastExitCode }" ``` - This is a [template engine](/docs/templates/engine.html). Therefore, you + This is a [template engine](/docs/templates/engine). Therefore, you may use user variables and template functions in this field. In addition, you may use two extra variables: @@ -54,7 +54,7 @@ The example below is fully functional. Packer injects some environmental variables by default into the environment, as well, which are covered in the section below. - This is a [template engine](/docs/templates/engine.html). Therefore, you + This is a [template engine](/docs/templates/engine). Therefore, you may use user variables and template functions in this field. If you are running on AWS, Azure, Google Compute, or OpenStack and would like to access the generated password that Packer uses to connect to the instance via WinRM, @@ -76,7 +76,7 @@ The example below is fully functional. powershell -executionpolicy bypass "& { if (Test-Path variable:global:ProgressPreference){$ProgressPreference='SilentlyContinue'};. {{.Vars}}; &'{{.Path}}'; exit $LastExitCode }" ``` - This is a [template engine](/docs/templates/engine.html). Therefore, you + This is a [template engine](/docs/templates/engine). Therefore, you may use user variables and template functions in this field. In addition, you may use two extra variables: @@ -95,7 +95,7 @@ The example below is fully functional. PowerShell script will be run with elevated privileges using the given Windows user. - This is a [template engine](/docs/templates/engine.html). Therefore, you + This is a [template engine](/docs/templates/engine). Therefore, you may use user variables and template functions in this field. If you are running a build on AWS, Azure, Google Compute, or OpenStack and would like to run using the generated password that Packer @@ -157,7 +157,7 @@ In addition to being able to specify custom environmental variables using the commonly useful environmental variables: - `PACKER_BUILD_NAME` is set to the [name of the - build](/docs/templates/builders.html#named-builds) that Packer is running. + build](/docs/templates/builders#named-builds) that Packer is running. This is most useful when Packer is making multiple builds and you want to distinguish them slightly from a common provisioning script. diff --git a/website/pages/docs/provisioners/puppet-masterless.mdx b/website/pages/docs/provisioners/puppet-masterless.mdx index 31e2f7c9c..47f59bf4e 100644 --- a/website/pages/docs/provisioners/puppet-masterless.mdx +++ b/website/pages/docs/provisioners/puppet-masterless.mdx @@ -31,7 +31,7 @@ master. -> **Note:** Puppet will _not_ be installed automatically by this provisioner. This provisioner expects that Puppet is already installed on the machine. It is common practice to use the [shell -provisioner](/docs/provisioners/shell.html) before the Puppet provisioner to do +provisioner](/docs/provisioners/shell) before the Puppet provisioner to do this. ## Basic Example @@ -55,14 +55,14 @@ Required parameters: - `manifest_file` (string) - This is either a path to a puppet manifest (`.pp` file) _or_ a directory containing multiple manifests that puppet will apply (the ["main - manifest"](https://docs.puppetlabs.com/puppet/latest/reference/dirs_manifest.html)). + manifest"](https://docs.puppetlabs.com/puppet/latest/reference/dirs_manifest)). These file(s) must exist on your local system and will be uploaded to the remote machine. Optional parameters: - `execute_command` (string) - The command-line to execute Puppet. This is a - [template engine](/docs/templates/engine.html). Therefore, you + [template engine](/docs/templates/engine). Therefore, you may use user variables and template functions in this field. In addition, you may use the following extra variables: - FacterVars: Additional facts to set when executing Puppet, joined for @@ -141,8 +141,8 @@ multiple manifests you should use `manifest_file` instead. - `elevated_user` and `elevated_password` (string) - If specified, Puppet will be run with elevated privileges using the given Windows user. See the - [powershell](/docs/provisioners/powershell.html) provisioner for the full - details. This is a [template engine](/docs/templates/engine.html). + [powershell](/docs/provisioners/powershell) provisioner for the full + details. This is a [template engine](/docs/templates/engine). Therefore, you may use user variables and template functions in this field, including `` {{ build `Password`}} `` to use the password being used by the communicator to connect to your instance. diff --git a/website/pages/docs/provisioners/puppet-server.mdx b/website/pages/docs/provisioners/puppet-server.mdx index 9660809ba..65dee9a2b 100644 --- a/website/pages/docs/provisioners/puppet-server.mdx +++ b/website/pages/docs/provisioners/puppet-server.mdx @@ -18,7 +18,7 @@ by connecting to a Puppet master. -> **Note:** Puppet will _not_ be installed automatically by this provisioner. This provisioner expects that Puppet is already installed on the machine. It is common practice to use the [shell -provisioner](/docs/provisioners/shell.html) before the Puppet provisioner to do +provisioner](/docs/provisioners/shell) before the Puppet provisioner to do this. ## Basic Example @@ -52,7 +52,7 @@ listed below: nothing, in which case a client private key won't be uploaded. - `execute_command` (string) - The command-line to execute Puppet. This is a - [template engine](/docs/templates/engine.html). Therefore, you + [template engine](/docs/templates/engine). Therefore, you may use user variables and template functions in this field. In addition, you may use the following extra variables: - ClientCertPath: The value set in the template option @@ -119,8 +119,8 @@ listed below: * `elevated_user` and `elevated_password` (string) - If specified, Puppet will be run with elevated privileges using the given Windows user. See the - [powershell](/docs/provisioners/powershell.html) provisioner for the full - details. This is a [template engine](/docs/templates/engine.html). + [powershell](/docs/provisioners/powershell) provisioner for the full + details. This is a [template engine](/docs/templates/engine). Therefore, you may use user variables and template functions in this field, including `` {{ build `Password`}} `` to use the password being used by the communicator to connect to your instance. diff --git a/website/pages/docs/provisioners/shell-local.mdx b/website/pages/docs/provisioners/shell-local.mdx index 81a4a071e..e35d745d5 100644 --- a/website/pages/docs/provisioners/shell-local.mdx +++ b/website/pages/docs/provisioners/shell-local.mdx @@ -19,7 +19,7 @@ Packer is being run - in other words, shell-local will run the shell script on your build server, or your desktop, etc., rather than the remote/guest machine being provisioned by Packer. -The [remote shell](/docs/provisioners/shell.html) provisioner executes shell +The [remote shell](/docs/provisioners/shell) provisioner executes shell scripts on a remote machine. ## Basic Example @@ -85,7 +85,7 @@ Optional parameters: - `execute_command` (array of strings) - The command used to execute the script. By default this is `["/bin/sh", "-c", "{{.Vars}}", "{{.Script}}"]` on unix and `["cmd", "/c", "{{.Vars}}", "{{.Script}}"]` on windows. This is - treated as a [template engine](/docs/templates/engine.html). There are two + treated as a [template engine](/docs/templates/engine). There are two available variables: `Script`, which is the path to the script to run, and `Vars`, which is the list of `environment_vars`, if configured. diff --git a/website/pages/docs/provisioners/shell.mdx b/website/pages/docs/provisioners/shell.mdx index c8eded839..0742e19c2 100644 --- a/website/pages/docs/provisioners/shell.mdx +++ b/website/pages/docs/provisioners/shell.mdx @@ -18,8 +18,8 @@ scripts. Shell provisioning is the easiest way to get software installed and configured on a machine. -> **Building Windows images?** You probably want to use the -[PowerShell](/docs/provisioners/powershell.html) or [Windows -Shell](/docs/provisioners/windows-shell.html) provisioners. +[PowerShell](/docs/provisioners/powershell) or [Windows +Shell](/docs/provisioners/windows-shell) provisioners. ## Basic Example @@ -59,7 +59,7 @@ The example below is fully functional. default this is `chmod +x {{ .Path }}; {{ .Vars }} {{ .Path }}`, unless the user has set `"use_env_var_file": true` -- in that case, the default `execute_command` is `chmod +x {{.Path}}; . {{.EnvVarFile}} && {{.Path}}`. - This is a [template engine](/docs/templates/engine.html). Therefore, you may + This is a [template engine](/docs/templates/engine). Therefore, you may use user variables and template functions in this field. In addition, there are three available extra variables: @@ -153,7 +153,7 @@ In addition to being able to specify custom environmental variables using the commonly useful environmental variables: - `PACKER_BUILD_NAME` is set to the [name of the - build](/docs/templates/builders.html#named-builds) that Packer is running. + build](/docs/templates/builders#named-builds) that Packer is running. This is most useful when Packer is making multiple builds and you want to distinguish them slightly from a common provisioning script. @@ -214,7 +214,7 @@ the agent will forward the request back to your `ssh-agent`. Note: when provisioning via git you should add the git server keys into the `~/.ssh/known_hosts` file otherwise the git command could hang awaiting input. This can be done by copying the file in via the [file -provisioner](/docs/provisioners/file.html) (more secure) or using `ssh-keyscan` +provisioner](/docs/provisioners/file) (more secure) or using `ssh-keyscan` to populate the file (less secure). An example of the latter accessing github would be: diff --git a/website/pages/docs/provisioners/windows-shell.mdx b/website/pages/docs/provisioners/windows-shell.mdx index 02e74c956..5d7b8bd02 100644 --- a/website/pages/docs/provisioners/windows-shell.mdx +++ b/website/pages/docs/provisioners/windows-shell.mdx @@ -37,8 +37,8 @@ The example below is fully functional. - `execute_command` (string) - The command to use to execute the script. By default this is `{{ .Vars }}"{{ .Path }}"`. The value of this is treated as - [template engine](/docs/templates/engine.html). This is a - [template engine](/docs/templates/engine.html). Therefore, you may + [template engine](/docs/templates/engine). This is a + [template engine](/docs/templates/engine). Therefore, you may use user variables and template functions in this field. In addition, there are two available extra variables: @@ -63,7 +63,7 @@ In addition to being able to specify custom environmental variables using the commonly useful environmental variables: - `PACKER_BUILD_NAME` is set to the [name of the - build](/docs/templates/builders.html#named-builds) that Packer is running. + build](/docs/templates/builders#named-builds) that Packer is running. This is most useful when Packer is making multiple builds and you want to distinguish them slightly from a common provisioning script. diff --git a/website/pages/docs/templates/builders.mdx b/website/pages/docs/templates/builders.mdx index 646de2d40..910e94dda 100644 --- a/website/pages/docs/templates/builders.mdx +++ b/website/pages/docs/templates/builders.mdx @@ -37,7 +37,7 @@ Within a template, a section of builder definitions looks like this: ## Builder Definition A single builder definition maps to exactly one -[build](/docs/basics/terminology.html#term-build). A builder definition is a +[build](/docs/basics/terminology#term-build). A builder definition is a JSON object that requires at least a `type` key. The `type` is the name of the builder that will be used to create a machine image for the build. @@ -70,10 +70,10 @@ of them since the names must be unique. ## Communicators Every build is associated with a single -[communicator](/docs/templates/communicator.html). Communicators are used to +[communicator](/docs/templates/communicator). Communicators are used to establish a connection for provisioning a remote machine (such as an AWS instance or local virtual machine). All the examples for the various builders show some communicator (usually SSH), but the communicators are highly customizable so we recommend reading the -[communicator documentation](/docs/templates/communicator.html). +[communicator documentation](/docs/templates/communicator). diff --git a/website/pages/docs/templates/communicator.mdx b/website/pages/docs/templates/communicator.mdx index 538e638a6..a1fc95c50 100644 --- a/website/pages/docs/templates/communicator.mdx +++ b/website/pages/docs/templates/communicator.mdx @@ -14,7 +14,7 @@ Communicators are the mechanism Packer uses to upload files, execute scripts, etc. with the machine being created. Communicators are configured within the -[builder](/docs/templates/builders.html) section. +[builder](/docs/templates/builders) section. All communicators have the following options: @@ -33,7 +33,7 @@ the Packer template. However, if you are building from a brand-new and unconfigured operating system image, you will almost always have to perform some extra work to configure SSH on the guest machine. For most operating system distributions, this work will -be performed by a [boot_command](/docs/builders/vmware-iso.html#boot-command) that references a file which +be performed by a [boot_command](/docs/builders/vmware-iso#boot-command) that references a file which provides answers to the normally-interactive questions you get asked when installing an operating system. The name of this file varies by operating system; some common examples are the "preseed" file required by Debian, the diff --git a/website/pages/docs/templates/engine.mdx b/website/pages/docs/templates/engine.mdx index 218becf4b..6aeb4d894 100644 --- a/website/pages/docs/templates/engine.mdx +++ b/website/pages/docs/templates/engine.mdx @@ -60,7 +60,7 @@ Here is a full list of the available functions for reference. each function will behave. - `env` - Returns environment variables. See example in [using home - variable](/docs/templates/user-variables.html#using-home-variable) + variable](/docs/templates/user-variables#using-home-variable) - `build` - This engine will allow you to access, from provisioners and post-processors, special variables that provide connection information and basic instance state information. Usage example: @@ -116,7 +116,7 @@ Here is a full list of the available functions for reference. - `isotime [FORMAT]` - UTC time, which can be [formatted](https://golang.org/pkg/time/#example_Time_Format). See more examples below in [the `isotime` format - reference](/docs/templates/engine.html#isotime-function-format-reference). + reference](/docs/templates/engine#isotime-function-format-reference). `strftime FORMAT` - UTC time, formated using the ISO C standard format `FORMAT`. See [jehiah/go-strftime](https://github.com/jehiah/go-strftime) for a list @@ -203,9 +203,9 @@ Template variables are special variables automatically set by Packer at build time. Some builders, provisioners and other components have template variables that are available only for that component. Template variables are recognizable because they're prefixed by a period, such as `{{ .Name }}`. For example, when -using the [`shell`](/docs/builders/vmware-iso.html) builder template variables +using the [`shell`](/docs/builders/vmware-iso) builder template variables are available to customize the -[`execute_command`](/docs/provisioners/shell.html#execute_command) parameter +[`execute_command`](/docs/provisioners/shell#execute_command) parameter used to determine how Packer will run the shell command. ```json @@ -225,7 +225,7 @@ the list of the environment variables and the path to the script to be executed respectively. -> **Note:** In addition to template variables, you can specify your own -user variables. See the [user variable](/docs/templates/user-variables.html) +user variables. See the [user variable](/docs/templates/user-variables) documentation for more information on user variables. # isotime Function Format Reference @@ -274,7 +274,7 @@ Formatting for the function `isotime` uses the magic reference date **Mon Jan 2 _The values in parentheses are the abbreviated, or 24-hour clock values_ For those unfamiliar with GO date/time formatting, here is a link to the -documentation: [go date/time formatting](https://programming.guide/go/format-parse-string-time-date-example.html) +documentation: [go date/time formatting](https://programming.guide/go/format-parse-string-time-date-example) Note that "-0700" is always formatted into "+0000" because `isotime` is always UTC time. @@ -310,7 +310,7 @@ this case, on the `ami_name` value): } ``` --> **Note:** See the [Amazon builder](/docs/builders/amazon.html) +-> **Note:** See the [Amazon builder](/docs/builders/amazon) documentation for more information on how to correctly configure the Amazon builder in this example. diff --git a/website/pages/docs/templates/index.mdx b/website/pages/docs/templates/index.mdx index ff7618f3f..d9ad01bd7 100644 --- a/website/pages/docs/templates/index.mdx +++ b/website/pages/docs/templates/index.mdx @@ -38,11 +38,11 @@ Along with each key, it is noted whether it is required or not. builders that will be used to create machine images for this template, and configures each of those builders. For more information on how to define and configure a builder, read the sub-section on [configuring builders in - templates](/docs/templates/builders.html). + templates](/docs/templates/builders). - `description` (optional) is a string providing a description of what the template does. This output is used only in the [inspect - command](/docs/commands/inspect.html). + command](/docs/commands/inspect). - `min_packer_version` (optional) is a string that has a minimum Packer version that is required to parse the template. This can be used to ensure @@ -55,20 +55,20 @@ Along with each key, it is noted whether it is required or not. not specified, then no post-processing will be done. For more information on what post-processors do and how they're defined, read the sub-section on [configuring post-processors in - templates](/docs/templates/post-processors.html). + templates](/docs/templates/post-processors). - `provisioners` (optional) is an array of one or more objects that defines the provisioners that will be used to install and configure software for the machines created by each of the builders. If it is not specified, then no provisioners will be run. For more information on how to define and configure a provisioner, read the sub-section on [configuring provisioners - in templates](/docs/templates/provisioners.html). + in templates](/docs/templates/provisioners). - `variables` (optional) is an object of one or more key/value strings that defines user variables contained in the template. If it is not specified, then no variables are defined. For more information on how to define and use user variables, read the sub-section on [user variables in - templates](/docs/templates/user-variables.html). + templates](/docs/templates/user-variables). ## Comments @@ -94,7 +94,7 @@ script to it and run that script using SSH. -> **Note:** This example requires an account with Amazon Web Services. There are a number of parameters which need to be provided for a functional -build to take place. See the [Amazon builder](/docs/builders/amazon.html) +build to take place. See the [Amazon builder](/docs/builders/amazon) documentation for more information. ```json diff --git a/website/pages/docs/templates/provisioners.mdx b/website/pages/docs/templates/provisioners.mdx index 74dcf2e94..d02896cb7 100644 --- a/website/pages/docs/templates/provisioners.mdx +++ b/website/pages/docs/templates/provisioners.mdx @@ -151,7 +151,7 @@ This example is shown below: As you can see, the `override` key is used. The value of this key is another JSON object where the key is the name of a [builder -definition](/docs/templates/builders.html). The value of this is in turn +definition](/docs/templates/builders). The value of this is in turn another JSON object. This JSON object simply contains the provisioner configuration as normal. This configuration is merged into the default provisioner configuration. diff --git a/website/pages/docs/templates/user-variables.mdx b/website/pages/docs/templates/user-variables.mdx index 8071b86cf..68bc796db 100644 --- a/website/pages/docs/templates/user-variables.mdx +++ b/website/pages/docs/templates/user-variables.mdx @@ -20,7 +20,7 @@ environment-specific data, and other types of information out of your templates. This maximizes the portability of the template. Using user variables expects you to know how [configuration -templates](/docs/templates/engine.html) work. If you don't know how +templates](/docs/templates/engine) work. If you don't know how configuration templates work yet, please read that page first. ## Usage @@ -118,7 +118,7 @@ This will default `soft_versions` to the value of the key The configuration for consul (address, tokens, ...) must be specified as environment variables, as specified in the -[Documentation](https://www.consul.io/docs/commands/index.html#environment-variables). +[Documentation](https://www.consul.io/docs/commands/index#environment-variables). ## Vault Variables diff --git a/website/pages/guides/automatic-operating-system-installs/autounattend_windows.mdx b/website/pages/guides/automatic-operating-system-installs/autounattend_windows.mdx index 3314087e7..b7dc7aef0 100644 --- a/website/pages/guides/automatic-operating-system-installs/autounattend_windows.mdx +++ b/website/pages/guides/automatic-operating-system-installs/autounattend_windows.mdx @@ -25,9 +25,9 @@ for the official documentation. If you are installing the Windows Operating System from a mounted iso as part of your Packer build, you will need to use an Answer file. For example, you're -building an image from scratch using the [vmware-iso](/docs/builders/vmware-iso.html), -[virtualbox-iso](/docs/builders/virtualbox-iso.html), or -[hyperv-iso](/docs/builders/hyperv-iso.html) builders. +building an image from scratch using the [vmware-iso](/docs/builders/vmware-iso), +[virtualbox-iso](/docs/builders/virtualbox-iso), or +[hyperv-iso](/docs/builders/hyperv-iso) builders. If you are not installing the operating system, you won't need to provide an answer file. If you are using a pre-built image diff --git a/website/pages/guides/automatic-operating-system-installs/preseed_ubuntu.mdx b/website/pages/guides/automatic-operating-system-installs/preseed_ubuntu.mdx index d3ce741c7..11cb6d2fe 100644 --- a/website/pages/guides/automatic-operating-system-installs/preseed_ubuntu.mdx +++ b/website/pages/guides/automatic-operating-system-installs/preseed_ubuntu.mdx @@ -25,9 +25,9 @@ for the official documentation. If you are installing the operating system from a mounted iso as part of your Packer build, you will need to use a preseed file. For example, you're -building an image from scratch using the [vmware-iso](/docs/builders/vmware-iso.html), -[virtualbox-iso](/docs/builders/virtualbox-iso.html), or -[hyperv-iso](/docs/builders/hyperv-iso.html) builders. +building an image from scratch using the [vmware-iso](/docs/builders/vmware-iso), +[virtualbox-iso](/docs/builders/virtualbox-iso), or +[hyperv-iso](/docs/builders/hyperv-iso) builders. If you are not installing the operating system, you won't need to provide a preseed file. If you are using a pre-built image in a cloud, you don't need to diff --git a/website/pages/guides/packer-on-cicd/build-image-in-cicd.mdx b/website/pages/guides/packer-on-cicd/build-image-in-cicd.mdx index de2a5222e..478cfc647 100644 --- a/website/pages/guides/packer-on-cicd/build-image-in-cicd.mdx +++ b/website/pages/guides/packer-on-cicd/build-image-in-cicd.mdx @@ -14,14 +14,14 @@ images with Packer. The majority of the [Packer Builders](/docs/builders) can run in a container or VM, a common model used by most CI/CD services. However, the -[QEMU builder](/docs/builders/qemu.html) for +[QEMU builder](/docs/builders/qemu) for [KVM](https://www.linux-kvm.org/page/Main_Page) and [Xen](https://www.xenproject.org/) virtual machine images, [VirtualBox -builder](/docs/builders/virtualbox.html) for OVA or OVF virtual machines and -[VMware builder](/docs/builders/vmware.html) for use with VMware products +builder](/docs/builders/virtualbox) for OVA or OVF virtual machines and +[VMware builder](/docs/builders/vmware) for use with VMware products require running on a bare-metal machine. The [Building a VirtualBox Image with Packer in -TeamCity](/guides/packer-on-cicd/build-virtualbox-image.html) guide shows +TeamCity](/guides/packer-on-cicd/build-virtualbox-image) guide shows how to create a VirtualBox image using TeamCity's support for running scripts on bare-metal machines. diff --git a/website/pages/guides/packer-on-cicd/build-virtualbox-image.mdx b/website/pages/guides/packer-on-cicd/build-virtualbox-image.mdx index 79fe19a21..313094ba9 100644 --- a/website/pages/guides/packer-on-cicd/build-virtualbox-image.mdx +++ b/website/pages/guides/packer-on-cicd/build-virtualbox-image.mdx @@ -14,7 +14,7 @@ The Packer VirtualBox builder requires access to VirtualBox. Virtualization is not universally supported on cloud instances, so we recommend you run these builds on either a bare metal server, or cloud instances which support nested virtualization, such as Azure or GCP. This is also true for the -[VMWare](/docs/builders/vmware.html) and the [QEMU](/docs/builders/qemu.html) +[VMWare](/docs/builders/vmware) and the [QEMU](/docs/builders/qemu) Packer builders. We will use Chef's [Bento boxes](https://github.com/chef/bento) to provision an @@ -81,7 +81,7 @@ provisioning the new instance. The TeamCity Agent machine will also need Packer Installed. You can find the latest download link from the [Packer -Download](https://www.packer.io/downloads.html) page. +Download](/downloads) page. ```shell curl -OL "https://releases.hashicorp.com/packer/1.1.2/packer_1.1.2_linux_amd64.zip" @@ -129,10 +129,10 @@ This will use the `build` command in Packer to build the image defined in using is a fork of [Chef/Bento](https://github.com/chef/bento). Packer defaults to building VirtualBox machines by launching a GUI that shows the console. Since this will run in CI/CD, use the [`headless` -variable](/docs/builders/virtualbox-iso.html#headless) to instruct Packer to +variable](/docs/builders/virtualbox-iso#headless) to instruct Packer to start the machine without the console. Packer can build multiple image types, so the [`-only=virtualbox-iso` -option](/docs/commands/build.html#only-foo-bar-baz) instructs Packer to only +option](/docs/commands/build#only-foo-bar-baz) instructs Packer to only build the builds with the name `virtualbox-iso`. ## 6. Run a build in TeamCity diff --git a/website/pages/intro/getting-started/build-image.mdx b/website/pages/intro/getting-started/build-image.mdx index ba6901667..9419069cc 100644 --- a/website/pages/intro/getting-started/build-image.mdx +++ b/website/pages/intro/getting-started/build-image.mdx @@ -73,11 +73,11 @@ briefly. Create a file `example.json` and fill it with the following contents: ``` When building, you'll pass in `aws_access_key` and `aws_secret_key` as -[user variables](/docs/templates/user-variables.html), keeping your secret keys +[user variables](/docs/templates/user-variables), keeping your secret keys out of the template. You can create security credentials on [this page](https://console.aws.amazon.com/iam/home?#security_credential). An example IAM policy document can be found in the [Amazon EC2 builder -docs](/docs/builders/amazon.html). +docs](/docs/builders/amazon). This is a basic template that is ready-to-go. It should be immediately recognizable as a normal, basic JSON object. Within the object, the `builders` @@ -116,7 +116,7 @@ similar to below. Note that this process typically takes a few minutes. -> **Note:** For the tutorial it is convenient to use the credentials in the command line. However, it is potentially insecure. See our documentation for -other ways to [specify Amazon credentials](/docs/builders/amazon.html#specifying-amazon-credentials). +other ways to [specify Amazon credentials](/docs/builders/amazon#specifying-amazon-credentials). -> **Note:** When using packer on Windows, replace the single-quotes in the command below with double-quotes. @@ -315,7 +315,7 @@ usage, you should not be charged for actually building the AMI. However, please note that you will be charged for storage of the snapshot associated with any AMI that you create. If you wish to avoid further charges, follow the steps in the [Managing the -Image](/intro/getting-started/build-image.html#managing-the-image) section +Image](/intro/getting-started/build-image#managing-the-image) section above to deregister the created AMI and delete the associated snapshot once you're done. @@ -328,7 +328,7 @@ customized package up into a brand new AMI that will be available from the [AWS AMI management page](https://console.aws.amazon.com/ec2/home?region=us-east-1#s=Images). Any instances we subsequently create from this AMI will have all of our customizations baked in. This is the core benefit we are looking to -achieve from using the [Amazon EBS builder](/docs/builders/amazon-ebs.html) +achieve from using the [Amazon EBS builder](/docs/builders/amazon-ebs) in this example. Now, all this sounds simple enough right? Well, actually it turns out we @@ -430,7 +430,7 @@ which is actually configuring and customizing the instance. Again, we do this with [Provisioners](/docs/provisioners). The example config below shows the two different ways of using the [PowerShell -provisioner](/docs/provisioners/powershell.html): `inline` and `script`. +provisioner](/docs/provisioners/powershell): `inline` and `script`. The first example, `inline`, allows you to provide short snippets of code, and will create the script file for you. The second example allows you to run more complex code by providing the path to a script to run on the guest VM. diff --git a/website/pages/intro/getting-started/parallel-builds.mdx b/website/pages/intro/getting-started/parallel-builds.mdx index 50e22c992..dbf699dc4 100644 --- a/website/pages/intro/getting-started/parallel-builds.mdx +++ b/website/pages/intro/getting-started/parallel-builds.mdx @@ -131,7 +131,7 @@ Validate the template with `packer validate`. This is always a good practice. -> **Note:** If you're looking for more **DigitalOcean configuration options**, you can find them on the [DigitalOcean Builder -page](/docs/builders/digitalocean.html) in the documentation. The documentation +page](/docs/builders/digitalocean) in the documentation. The documentation is more of a reference manual that contains a listing of all the available configuration options. diff --git a/website/pages/intro/getting-started/vagrant.mdx b/website/pages/intro/getting-started/vagrant.mdx index ca891736a..11a7c04ee 100644 --- a/website/pages/intro/getting-started/vagrant.mdx +++ b/website/pages/intro/getting-started/vagrant.mdx @@ -69,7 +69,7 @@ But where did the Amazon EBS builder artifact go? When using post-processors, Vagrant removes intermediary artifacts since they're usually not wanted. Only the final artifact is preserved. This behavior can be changed, of course. Changing this behavior is covered [in the -documentation](/docs/templates/post-processors.html). +documentation](/docs/templates/post-processors). Typically when removing intermediary artifacts, the actual underlying files or resources of the artifact are also removed. For example, when building a VMware 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 7e2fed1dc..71f84fcdb 100644 --- a/website/pages/partials/builder/alicloud/ecs/AlicloudImageConfig-not-required.mdx +++ b/website/pages/partials/builder/alicloud/ecs/AlicloudImageConfig-not-required.mdx @@ -30,13 +30,13 @@ 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](https://packer.io/docs/commands/build.html#force) option is + [-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](https://packer.io/docs/commands/build.html#force) option is + [-force](/docs/commands/build#force) option is provided in `build` command, this option can be omitted and taken as true. @@ -53,5 +53,5 @@ - `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`](https://packer.io/docs/configuration/from-1.5/expressions.html#dynamic-blocks) + [`dynamic_block`](/docs/configuration/from-1.5/expressions#dynamic-blocks) will allow you to create those programatically. 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 d3fd6a2dd..1fe314946 100644 --- a/website/pages/partials/builder/amazon/chroot/Config-not-required.mdx +++ b/website/pages/partials/builder/amazon/chroot/Config-not-required.mdx @@ -122,12 +122,12 @@ 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.html), see [Build 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`](https://packer.io/docs/configuration/from-1.5/expressions.html#dynamic-blocks) + [`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 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 cde190831..2f597a010 100644 --- a/website/pages/partials/builder/amazon/common/AMIConfig-not-required.mdx +++ b/website/pages/partials/builder/amazon/common/AMIConfig-not-required.mdx @@ -2,7 +2,7 @@ - `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.html), see [Build template + [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 @@ -29,12 +29,12 @@ 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.html), see [Build template + [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`](https://packer.io/docs/configuration/from-1.5/expressions.html#dynamic-blocks) + [`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 @@ -99,12 +99,12 @@ - `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](../templates/engine.html), see [Build template + [template engine](../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`](https://packer.io/docs/configuration/from-1.5/expressions.html#dynamic-blocks) + [`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 diff --git a/website/pages/partials/builder/amazon/common/AMIConfig-required.mdx b/website/pages/partials/builder/amazon/common/AMIConfig-required.mdx index 93a7bf3ec..0342db63c 100644 --- a/website/pages/partials/builder/amazon/common/AMIConfig-required.mdx +++ b/website/pages/partials/builder/amazon/common/AMIConfig-required.mdx @@ -3,4 +3,4 @@ - `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](../templates/engine.html) for more info). + engine](../templates/engine) for more info). diff --git a/website/pages/partials/builder/amazon/common/AccessConfig-required.mdx b/website/pages/partials/builder/amazon/common/AccessConfig-required.mdx index d342044e6..55930543f 100644 --- a/website/pages/partials/builder/amazon/common/AccessConfig-required.mdx +++ b/website/pages/partials/builder/amazon/common/AccessConfig-required.mdx @@ -1,6 +1,6 @@ -- `access_key` (string) - The access key used to communicate with AWS. [Learn how to set this](/docs/builders/amazon.html#specifying-amazon-credentials). On EBS, this +- `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. @@ -9,5 +9,5 @@ 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](amazon.html#specifying-amazon-credentials). This is not required + this](amazon#specifying-amazon-credentials). This is not required if you are using `use_vault_aws_engine` for authentication instead. 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 66c4d93ea..61dd1506f 100644 --- a/website/pages/partials/builder/amazon/common/RunConfig-not-required.mdx +++ b/website/pages/partials/builder/amazon/common/RunConfig-not-required.mdx @@ -20,7 +20,7 @@ _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](https://www.packer.io/docs/provisioners/windows-shell.html). + 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. @@ -110,12 +110,12 @@ `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.html), + 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`](https://packer.io/docs/configuration/from-1.5/expressions.html#dynamic-blocks) + [`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 @@ -207,7 +207,7 @@ - `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`](https://packer.io/docs/configuration/from-1.5/expressions.html#dynamic-blocks) + [`dynamic_block`](https://packer.io/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. 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 5fa30ca0d..0f2d553d0 100644 --- a/website/pages/partials/builder/amazon/ebs/Config-not-required.mdx +++ b/website/pages/partials/builder/amazon/ebs/Config-not-required.mdx @@ -19,7 +19,7 @@ - `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.html), see [Build 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 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 bc650da87..b173bf8b3 100644 --- a/website/pages/partials/builder/amazon/ebssurrogate/Config-not-required.mdx +++ b/website/pages/partials/builder/amazon/ebssurrogate/Config-not-required.mdx @@ -19,7 +19,7 @@ - `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.html), see [Build 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 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 8c4acbb39..ed44c8756 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,10 @@ - `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.html), see + 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`](https://packer.io/docs/configuration/from-1.5/expressions.html#dynamic-blocks) + [`dynamic_block`](/docs/configuration/from-1.5/expressions#dynamic-blocks) will allow you to create those programatically. 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 c22054e8d..7f0a9c1d1 100644 --- a/website/pages/partials/builder/amazon/ebsvolume/Config-not-required.mdx +++ b/website/pages/partials/builder/amazon/ebsvolume/Config-not-required.mdx @@ -27,7 +27,7 @@ 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.html), see [Build 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 @@ -39,5 +39,5 @@ - `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`](https://packer.io/docs/configuration/from-1.5/expressions.html#dynamic-blocks) + [`dynamic_block`](/docs/configuration/from-1.5/expressions#dynamic-blocks) will allow you to create those programatically. 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 231754aaa..1680c50fe 100644 --- a/website/pages/partials/builder/azure/arm/Config-not-required.mdx +++ b/website/pages/partials/builder/azure/arm/Config-not-required.mdx @@ -101,7 +101,7 @@ - `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`](https://packer.io/docs/configuration/from-1.5/expressions.html#dynamic-blocks) + [`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. diff --git a/website/pages/partials/builder/docker/Config-not-required.mdx b/website/pages/partials/builder/docker/Config-not-required.mdx index 58ad60d4d..376a01f38 100644 --- a/website/pages/partials/builder/docker/Config-not-required.mdx +++ b/website/pages/partials/builder/docker/Config-not-required.mdx @@ -7,7 +7,7 @@ /app", "EXPOSE 8080" ] - `container_dir` (string) - The directory inside container to mount temp directory from host server - for work [file provisioner](/docs/provisioners/file.html). This defaults + 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 diff --git a/website/pages/partials/builder/docker/Config-required.mdx b/website/pages/partials/builder/docker/Config-required.mdx index fd9f2e10d..0ce9b639a 100644 --- a/website/pages/partials/builder/docker/Config-required.mdx +++ b/website/pages/partials/builder/docker/Config-required.mdx @@ -4,7 +4,7 @@ - `discard` (bool) - Throw away the container when the build is complete. This is useful for the [artifice - post-processor](https://www.packer.io/docs/post-processors/artifice.html). + post-processor](/docs/post-processors/artifice). - `export_path` (string) - The path where the final container will be exported as a tar file. diff --git a/website/pages/partials/builder/googlecompute/Config-not-required.mdx b/website/pages/partials/builder/googlecompute/Config-not-required.mdx index 07097c79e..13d843e03 100644 --- a/website/pages/partials/builder/googlecompute/Config-not-required.mdx +++ b/website/pages/partials/builder/googlecompute/Config-not-required.mdx @@ -131,7 +131,7 @@ 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.html + 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: diff --git a/website/pages/partials/builder/hyperone/Config-not-required.mdx b/website/pages/partials/builder/hyperone/Config-not-required.mdx index 3d26633b7..46a04feb1 100644 --- a/website/pages/partials/builder/hyperone/Config-not-required.mdx +++ b/website/pages/partials/builder/hyperone/Config-not-required.mdx @@ -19,7 +19,7 @@ - `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`](https://packer.io/docs/configuration/from-1.5/expressions.html#dynamic-blocks) + [`dynamic_block`](https://packer.io/docs/configuration/from-1.5/expressions#dynamic-blocks) will allow you to create those programatically. - `image_service` (string) - The service of the resulting image. @@ -31,7 +31,7 @@ - `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`](https://packer.io/docs/configuration/from-1.5/expressions.html#dynamic-blocks) + [`dynamic_block`](https://packer.io/docs/configuration/from-1.5/expressions#dynamic-blocks) will allow you to create those programatically. - `disk_name` (string) - The name of the created disk. 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 1ab974fcb..98ff731da 100644 --- a/website/pages/partials/builder/tencentcloud/cvm/TencentCloudRunConfig-not-required.mdx +++ b/website/pages/partials/builder/tencentcloud/cvm/TencentCloudRunConfig-not-required.mdx @@ -58,7 +58,7 @@ - `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`](https://packer.io/docs/configuration/from-1.5/expressions.html#dynamic-blocks) + [`dynamic_block`](https://packer.io/docs/configuration/from-1.5/expressions#dynamic-blocks) will allow you to create those programatically. - `ssh_private_ip` (bool) - SSH Private Ip diff --git a/website/pages/partials/builder/triton/SourceMachineConfig-not-required.mdx b/website/pages/partials/builder/triton/SourceMachineConfig-not-required.mdx index 9ee80da66..52770650d 100644 --- a/website/pages/partials/builder/triton/SourceMachineConfig-not-required.mdx +++ b/website/pages/partials/builder/triton/SourceMachineConfig-not-required.mdx @@ -27,7 +27,7 @@ - `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`](https://packer.io/docs/configuration/from-1.5/expressions.html#dynamic-blocks) + [`dynamic_block`](https://packer.io/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 diff --git a/website/pages/partials/builder/triton/TargetImageConfig-not-required.mdx b/website/pages/partials/builder/triton/TargetImageConfig-not-required.mdx index 3aa7f31f1..1d8dee4d9 100644 --- a/website/pages/partials/builder/triton/TargetImageConfig-not-required.mdx +++ b/website/pages/partials/builder/triton/TargetImageConfig-not-required.mdx @@ -17,5 +17,5 @@ - `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`](https://packer.io/docs/configuration/from-1.5/expressions.html#dynamic-blocks) + [`dynamic_block`](https://packer.io/docs/configuration/from-1.5/expressions#dynamic-blocks) will allow you to create those programatically. 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 b5be2f978..a5b3f982e 100644 --- a/website/pages/partials/builder/virtualbox/common/VBoxManageConfig-not-required.mdx +++ b/website/pages/partials/builder/virtualbox/common/VBoxManageConfig-not-required.mdx @@ -7,7 +7,7 @@ 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.html), where the `Name` variable is + template](/docs/templates/engine), where the `Name` variable is replaced with the VM name. More details on how to use `VBoxManage` are below. 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 d48d10a1b..4866f61ed 100644 --- a/website/pages/partials/builder/vmware/common/ExportConfig-not-required.mdx +++ b/website/pages/partials/builder/vmware/common/ExportConfig-not-required.mdx @@ -13,7 +13,7 @@ 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.html#building-on-a-remote-vsphere-hypervisor) + 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 @@ -21,7 +21,7 @@ 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.html#building-on-a-remote-vsphere-hypervisor) + 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 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 c2c972acd..eda25becc 100644 --- a/website/pages/partials/builder/vmware/common/ToolsConfig-not-required.mdx +++ b/website/pages/partials/builder/vmware/common/ToolsConfig-not-required.mdx @@ -6,7 +6,7 @@ - `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.html) that has a single valid variable: + 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`. 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 04e155a57..b64d8d45f 100644 --- a/website/pages/partials/builder/vmware/iso/Config-not-required.mdx +++ b/website/pages/partials/builder/vmware/iso/Config-not-required.mdx @@ -73,7 +73,7 @@ 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.html) that +- `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 }}`. diff --git a/website/pages/partials/builders/boot-command.mdx b/website/pages/partials/builders/boot-command.mdx index fe419a4e3..a7ca68d1c 100644 --- a/website/pages/partials/builders/boot-command.mdx +++ b/website/pages/partials/builders/boot-command.mdx @@ -55,7 +55,7 @@ To hold the `c` key down, you would use ``. Likewise, `` to release. ### Templates inside boot command In addition to the special keys, each command to type is treated as a -[template engine](/docs/templates/engine.html). The +[template engine](/docs/templates/engine). The available variables are: - `HTTPIP` and `HTTPPort` - The IP and port, respectively of an HTTP server @@ -65,4 +65,4 @@ available variables are: - `Name` - The name of the VM. For more examples of various boot commands, see the sample projects from our -[community templates page](/community-tools.html#templates). +[community templates page](/community-tools#templates). diff --git a/website/pages/partials/common/FloppyConfig.mdx b/website/pages/partials/common/FloppyConfig.mdx index 898ccf38d..165bedbcc 100644 --- a/website/pages/partials/common/FloppyConfig.mdx +++ b/website/pages/partials/common/FloppyConfig.mdx @@ -7,4 +7,4 @@ this setting get placed into the root directory of the floppy and the floppy is attached as the first floppy device. The summary size of the listed files must not exceed 1.44 MB. The supported ways to move large files into the OS are using `http_directory` or [the file -provisioner](https://www.packer.io/docs/provisioners/file.html). +provisioner](https://www.packer.io/docs/provisioners/file). diff --git a/website/pages/partials/common/bootcommand/BootConfig.mdx b/website/pages/partials/common/bootcommand/BootConfig.mdx index ace6582da..31447dc4e 100644 --- a/website/pages/partials/common/bootcommand/BootConfig.mdx +++ b/website/pages/partials/common/bootcommand/BootConfig.mdx @@ -96,4 +96,4 @@ The example shown below is a working boot command used to start an Ubuntu ``` For more examples of various boot commands, see the sample projects from our -[community templates page](/community-tools.html#templates). +[community templates page](/community-tools#templates). diff --git a/website/pages/partials/helper/communicator/WinRM-not-required.mdx b/website/pages/partials/helper/communicator/WinRM-not-required.mdx index 721c96692..778820f0f 100644 --- a/website/pages/partials/helper/communicator/WinRM-not-required.mdx +++ b/website/pages/partials/helper/communicator/WinRM-not-required.mdx @@ -8,7 +8,7 @@ NOTE: If using an Amazon EBS builder, you can specify the interface WinRM connects to via - [`ssh_interface`](https://www.packer.io/docs/builders/amazon-ebs.html#ssh_interface) + [`ssh_interface`](https://www.packer.io/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