You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
packer/website/content/docs/templates/index.mdx

32 lines
1.3 KiB

---
description: |
This section describes the configuration language used to create Packer
templates.
page_title: Templates
---
# Packer Templates
Packer's behavior is determined by the Packer template, which consists of a
series of declarations and commands for Packer to follow. This template tells
Packer what plugins (builders, provisioners, post-processors) to use, how to
configure each of those plugins, and what order to run them in.
The template contains flexible variable injection tools, as well as built-in
functions to help you customize your builds.
Historically, Packer has used a JSON template for its configuration, but Packer
is transitioning to a new template configuration format that uses HCL2 -- the
same configuration language used by Terraform and HashiCorp's other products.
This format is more flexible, more modular, and more concise than the original
JSON template format. While the JSON format is still supported, certain
new features in the Packer core will only be implemented for the newer HCL
format. Please use the side bar to find documentation for the different
template formats.
From version **1.7.0**, HCL2 becomes officially the preferred way to write Packer
configuration(s).
If you need help upgrading a JSON template to an HCL template, check
our upgrade guide [here](/packer/tutorials/configuration-language/hcl2-upgrade).