2015-09-25 01:29:46 +00:00
---
layout: "docs"
page_title: "Commands: validate"
sidebar_current: "docs-commands-validate"
description: >
The validate command is used to check a job specification for syntax errors and validation problems.
---
# Command: validate
2016-10-28 00:36:26 +00:00
The `validate` command is used to check a [HCL job specification](/docs/job-specification/index.html)
2015-09-25 01:29:46 +00:00
for any syntax errors or validation problems.
## Usage
```
nomad validate <file>
```
The validate command requires a single argument, specifying the path to a file
2016-10-28 00:36:26 +00:00
containing a [HCL job specification](/docs/job-specification/index.html). This file
2016-08-11 13:34:31 +00:00
will be read and the job checked for any problems. If the
2016-10-28 02:50:02 +00:00
supplied path is "-", the job file is read from STDIN. Otherwise it is read
2016-08-11 13:34:31 +00:00
from the file at the supplied path or downloaded and read from URL specified.
2016-10-28 02:50:02 +00:00
Nomad downloads the job file using [`go-getter`](https://github.com/hashicorp/go-getter)
2016-10-11 19:52:50 +00:00
and supports `go-getter` syntax.
2015-09-25 01:29:46 +00:00
On successful validation, exit code 0 will be returned, otherwise an exit code
of 1 indicates an error.
2017-07-25 16:37:09 +00:00
## Examples
Validate a job with invalid syntax:
```
$ nomad validate example.nomad
Job validation errors:
1 error(s) occurred:
* group "cache" -> task "redis" -> config: 1 error(s) occurred:
* field "image" is required
```
Validate a job that has a configuration that causes warnings:
```
$ nomad validate example.nomad
Job Warnings:
1 warning(s):
* Group "cache" has warnings: 1 error(s) occurred:
* Update max parallel count is greater than task group count (6 > 3). A destructive change would result in the simultaneous replacement of all allocations.
Job validation successful
```