packer-cn/website/content/docs/templates/index.mdx

32 lines
1.3 KiB
Plaintext
Raw Normal View History

2020-03-18 18:46:47 -04:00
---
description: |
This section describes the configuration language used to create Packer
templates.
2020-03-18 18:46:47 -04:00
page_title: Templates
---
# Packer Templates
2020-03-18 18:46:47 -04:00
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.
2020-03-18 18:46:47 -04:00
The template contains flexible variable injection tools, as well as built-in
functions to help you customize your builds.
2020-03-18 18:46:47 -04:00
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.
2021-01-15 16:50:50 -05:00
This format is more flexible, more modular, and more concise than the original
JSON template format. While the JSON format is still supported, certain
2021-01-15 13:01:51 -05:00
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.
2020-03-18 18:46:47 -04:00
From version **1.7.0**, HCL2 becomes officially the preferred way to write Packer
configuration(s).
2021-01-15 16:50:50 -05:00
If you need help upgrading a JSON template to an HCL template, check
our upgrade guide [here](/guides/hcl/from-json-v1).