»validate Command

The 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.

»Options

  • -syntax-only - Only the syntax of the template is checked. The configuration is not validated.

  • -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.

  • -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.