website/content/docs/commands/validate.mdx
⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️
[!IMPORTANT]
Documentation Update: Product documentation previously located in/websitehas moved to thehashicorp/web-unified-docsrepository, where all product documentation is now centralized. Please make contributions directly toweb-unified-docs, since changes to/websitein this repository will not appear on developer.hashicorp.com. ⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️
packer validate command referenceThe packer validate Packer command is used to validate the syntax and
configuration of a template. The command will
return a zero exit status on success, and a non-zero exit status on failure.
Additionally, if a template doesn't validate, any error messages will be
outputted.
Example usage:
$ packer validate my-template.pkr.hcl
Template validation failed. Errors are shown below.
Errors validating build 'vmware'. 1 error(s) occurred:
* Either a path or inline script must be specified.
-syntax-only - Only the syntax of the template is checked. The
configuration is not validated.
-evaluate-datasources - Evaluate all data sources when validating a template.
This is only valid on HCL2 templates, since JSON templates do not feature
datasources, this option will be ignored.
~> Warning: Data sources may rely on external services for fetching data, which can incur some costs at validation if the services being contacted are billing per operation.
-except=foo,bar,baz - Validates all the builds except those with the
comma-separated names. In legacy JSON templates, build names default to the
types of their builders (e.g. docker or
amazon-ebs or virtualbox-iso), unless a specific name attribute is
specified within the configuration. In HCL2 templates, the "name" is the
source block's "name" label, unless an in-build source definition adds the
"name" configuration option.
-no-warn-undeclared-var - Silence warnings when the variable definition
file contains variable assignments for undeclared variables. This can occur
when using a var-file that contains a large amount of unused variables for a
given HCL2 template. For HCL2 template defining a value for a variable in a
var-file is not enough on its own for Packer to function, as there also needs
to be a variable block definition in the template files pkr.hcl for the
variable. By default packer validate will warn when a var-file contains one
or more undeclared variables.
-only=foo,bar,baz - Only validate the builds with the given comma-separated
names. In legacy JSON templates, build names default to the
types of their builders (e.g. docker or
amazon-ebs or virtualbox-iso), unless a specific name attribute is
specified within the configuration. In HCL2 templates, the "name" is the
source block's "name" label, unless an in-build source definition adds the
"name" configuration option.
-machine-readable Sets all output to become machine-readable on stdout.
Logging, if enabled, continues to appear on stderr.
-var - Set a variable in your Packer template. This option can be used
multiple times. This is useful for setting version numbers for your build.
-var-file - Set template variables from a file.