1aceff7806
Most job subcommands allow for job ID prefix match as a convenience functionality so users don't have to type the full job ID. But this introduces a hard ACL requirement that the token used to run these commands have the `list-jobs` permission, even if the token has enough permission to execute the basic command action and the user passed an exact job ID. This change softens this requirement by not failing the prefix match in case the request results in a permission denied error and instead using the information passed by the user directly.
160 lines
5 KiB
Plaintext
160 lines
5 KiB
Plaintext
---
|
|
layout: docs
|
|
page_title: 'Commands: job inspect'
|
|
description: |
|
|
The job inspect command is used to inspect a submitted job.
|
|
---
|
|
|
|
# Command: job inspect
|
|
|
|
**Alias: `nomad inspect`**
|
|
|
|
The `job inspect` command is used to inspect the content of a submitted job.
|
|
|
|
## Usage
|
|
|
|
```plaintext
|
|
nomad job inspect [options] <job>
|
|
```
|
|
|
|
The `job inspect` command requires a single argument, a submitted job's name, and
|
|
will retrieve the JSON version of the job. This JSON is valid to be submitted to
|
|
the [Job HTTP API]. This command is useful to inspect what version of a job
|
|
Nomad is running.
|
|
|
|
When ACLs are enabled, this command requires a token with the `read-job`
|
|
capability for the job's namespace. The `list-jobs` capability is required to
|
|
run the command with a job prefix instead of the exact job ID.
|
|
|
|
## General Options
|
|
|
|
@include 'general_options.mdx'
|
|
|
|
## Inspect Options
|
|
|
|
- `-version`: Display only the job at the given job version.
|
|
- `-json` : Output the job in its JSON format.
|
|
- `-t` : Format and display the job using a Go template.
|
|
|
|
## Examples
|
|
|
|
Inspect a submitted job:
|
|
|
|
```shell-session
|
|
$ nomad job inspect redis
|
|
{
|
|
"Job": {
|
|
"Region": "global",
|
|
"ID": "redis
|
|
"Name": "redis
|
|
"Type": "service",
|
|
"Priority": 50,
|
|
"AllAtOnce": false,
|
|
"Datacenters": [
|
|
"dc1"
|
|
],
|
|
"Constraints": [
|
|
{
|
|
"LTarget": "${attr.kernel.name}",
|
|
"RTarget": "linux",
|
|
"Operand": "="
|
|
}
|
|
],
|
|
"TaskGroups": [
|
|
{
|
|
"Name": "cache",
|
|
"Count": 1,
|
|
"Constraints": null,
|
|
"Tasks": [
|
|
{
|
|
"Name": "redis",
|
|
"Driver": "docker",
|
|
"User": "",
|
|
"Config": {
|
|
"image": "redis:latest",
|
|
"port_map": [
|
|
{
|
|
"db": 6379
|
|
}
|
|
]
|
|
},
|
|
"Constraints": null,
|
|
"Env": null,
|
|
"Services": [
|
|
{
|
|
"Id": "",
|
|
"Name": "cache-redis",
|
|
"Tags": [
|
|
"global",
|
|
"cache"
|
|
],
|
|
"PortLabel": "db",
|
|
"Checks": [
|
|
{
|
|
"Id": "",
|
|
"Name": "alive",
|
|
"Type": "tcp",
|
|
"Command": "",
|
|
"Args": null,
|
|
"Path": "",
|
|
"Protocol": "",
|
|
"Interval": 10000000000,
|
|
"Timeout": 2000000000
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"Resources": {
|
|
"CPU": 500,
|
|
"MemoryMB": 256,
|
|
"DiskMB": 300,
|
|
"Networks": [
|
|
{
|
|
"Public": false,
|
|
"CIDR": "",
|
|
"ReservedPorts": null,
|
|
"DynamicPorts": [
|
|
{
|
|
"Label": "db",
|
|
"Value": 0
|
|
}
|
|
],
|
|
"IP": "",
|
|
"MBits": 10
|
|
}
|
|
]
|
|
},
|
|
"Meta": null,
|
|
"KillTimeout": 5000000000,
|
|
"LogConfig": {
|
|
"MaxFiles": 10,
|
|
"MaxFileSizeMB": 10
|
|
},
|
|
"Artifacts": null
|
|
}
|
|
],
|
|
"RestartPolicy": {
|
|
"Interval": 300000000000,
|
|
"Attempts": 10,
|
|
"Delay": 25000000000,
|
|
"Mode": "delay"
|
|
},
|
|
"Meta": null
|
|
}
|
|
],
|
|
"Update": {
|
|
"Stagger": 10000000000,
|
|
"MaxParallel": 1
|
|
},
|
|
"Periodic": null,
|
|
"Meta": null,
|
|
"Status": "running",
|
|
"StatusDescription": "",
|
|
"CreateIndex": 5,
|
|
"ModifyIndex": 7
|
|
}
|
|
}
|
|
```
|
|
|
|
[job http api]: /nomad/api-docs/jobs
|