diff options
Diffstat (limited to 'plugins/nomad/_nomad')
| -rw-r--r-- | plugins/nomad/_nomad | 153 | 
1 files changed, 153 insertions, 0 deletions
diff --git a/plugins/nomad/_nomad b/plugins/nomad/_nomad new file mode 100644 index 000000000..1c935a02e --- /dev/null +++ b/plugins/nomad/_nomad @@ -0,0 +1,153 @@ +#compdef nomad + +local -a _nomad_cmds +_nomad_cmds=( +  'agent:Runs a Nomad agent' +  'agent-info:Display status information about the local agent' +  'alloc-status:Display allocation status information and metadata' +  'client-config:View or modify client configuration details' +  'eval-status:Display evaluation status and placement failure reasons' +  'fs:Inspect the contents of an allocation directory' +  'init:Create an example job file' +  'inspect:Inspect a submitted job' +  'logs:Streams the logs of a task.' +  'node-drain:Toggle drain mode on a given node' +  'node-status:Display status information about nodes' +  'plan:Dry-run a job update to determine its effects' +  'run:Run a new job or update an existing' +  'server-force-leave:Force a server into the left state' +  'server-join:Join server nodes together' +  'server-members:Display a list of known servers and their' +  'status:Display status information about jobs' +  'stop:Stop a running job' +  'validate:Checks if a given job specification is valid' +  'version:Prints the Nomad version' +) + +__allocstatus() { +  _arguments \ +    '-address=[(addr) The address of the Nomad server. Overrides the NOMAD_ADDR environment variable if set. Default = http://127.0.0.1:4646]' \ +    '-region=[(region) The region of the Nomad servers to forward commands to. Overrides the NOMAD_REGION environment variable if set. Defaults to the Agent s local region.]' \ +    '-no-color[Disables colored command output.]' \ +    '-short[Display short output. Shows only the most recent task event.]' \ +    '-stats[Display detailed resource usage statistics.]' \ +    '-verbose[Show full information.]' \ +    '-json[Output the allocation in its JSON format.]' \ +    '-t[Format and display allocation using a Go template.]' +} + +__evalstatus() { +  _arguments \ +    '-address=[(addr) The address of the Nomad server. Overrides the NOMAD_ADDR environment variable if set. Default = http://127.0.0.1:4646]' \ +    '-region=[(region) The region of the Nomad servers to forward commands to. Overrides the NOMAD_REGION environment variable if set. Defaults to the Agent s local region.]' \ +    '-no-color[Disables colored command output.]' \ +    '-monitor[Monitor an outstanding evaluation.]' \ +    '-verbose[Show full information.]' \ +    '-json[Output the allocation in its JSON format.]' \ +    '-t[Format and display allocation using a Go template.]' +} + +__inspect() { +  _arguments \ +    '-address=[(addr) The address of the Nomad server. Overrides the NOMAD_ADDR environment variable if set. Default = http://127.0.0.1:4646]' \ +    '-region=[(region) The region of the Nomad servers to forward commands to. Overrides the NOMAD_REGION environment variable if set. Defaults to the Agent s local region.]' \ +    '-no-color[Disables colored command output.]' \ +    '-json[Output the allocation in its JSON format.]' \ +    '-t[Format and display allocation using a Go template.]' +} + +__logs() { +  _arguments \ +    '-address=[(addr) The address of the Nomad server. Overrides the NOMAD_ADDR environment variable if set. Default = http://127.0.0.1:4646]' \ +    '-region=[(region) The region of the Nomad servers to forward commands to. Overrides the NOMAD_REGION environment variable if set. Defaults to the Agent s local region.]' \ +    '-no-color[Disables colored command output.]' \ +    '-stderr[ Display stderr logs.]' \ +    '-job[<job-id> Use a random allocation from the specified job ID.]' \ +    '-verbose[Show full information.]' \ +    '-f[Causes the output to not stop when the end of the logs are reached, but rather to wait for additional output.]' \ +    '-tail[Show the logs contents with offsets relative to the end of the logs. If no offset is given, -n is defaulted to 10.]' \ +    '-n[Sets the tail location in best-efforted number of lines relative to the end of the logs.]' \ +    '-c[Sets the tail location in number of bytes relative to the end of the logs.]' +} + +__nodestatus() { +  _arguments \ +    '-address=[(addr) The address of the Nomad server. Overrides the NOMAD_ADDR environment variable if set. Default = http://127.0.0.1:4646]' \ +    '-region=[(region) The region of the Nomad servers to forward commands to. Overrides the NOMAD_REGION environment variable if set. Defaults to the Agent s local region.]' \ +    '-no-color[Disables colored command output.]' \ +    '-self[Query the status of the local node.]' \ +    '-allocs[ Display a count of running allocations for each node.]' \ +    '-short[Display short output. Shows only the most recent task event.]' \ +    '-stats[Display detailed resource usage statistics.]' \ +    '-verbose[Show full information.]' \ +    '-json[Output the allocation in its JSON format.]' \ +    '-t[Format and display allocation using a Go template.]' +} + +__plan() { +  _arguments \ +    '-address=[(addr) The address of the Nomad server. Overrides the NOMAD_ADDR environment variable if set. Default = http://127.0.0.1:4646]' \ +    '-region=[(region) The region of the Nomad servers to forward commands to. Overrides the NOMAD_REGION environment variable if set. Defaults to the Agent s local region.]' \ +    '-no-color[Disables colored command output.]' \ +    '-diff[Determines whether the diff between the remote job and planned job is shown. Defaults to true.]'  +} + +__run() { +  _arguments \ +    '-address=[(addr) The address of the Nomad server. Overrides the NOMAD_ADDR environment variable if set. Default = http://127.0.0.1:4646]' \ +    '-region=[(region) The region of the Nomad servers to forward commands to. Overrides the NOMAD_REGION environment variable if set. Defaults to the Agent s local region.]' \ +    '-no-color[Disables colored command output.]' \ +    '-check-index[If set, the job is only registered or updated if the the passed job modify index matches the server side version. If a check-index value of zero is passed, the job is only registered if it does not yet exist. If a non-zero value is passed, it ensures that the job is being updated from a known state. The use of this flag is most common in conjunction with plan command.]' \ +    '-detach[Return immediately instead of entering monitor mode. After job submission, the evaluation ID will be printed to the screen, which can be used to examine the evaluation using the eval-status command.]' \ +    '-output[Output the JSON that would be submitted to the HTTP API without submitting the job.]' \ +    '-verbose[Show full information.]' +} + +__status() { +  _arguments \ +    '-address=[(addr) The address of the Nomad server. Overrides the NOMAD_ADDR environment variable if set. Default = http://127.0.0.1:4646]' \ +    '-region=[(region) The region of the Nomad servers to forward commands to. Overrides the NOMAD_REGION environment variable if set. Defaults to the Agent s local region.]' \ +    '-no-color[Disables colored command output.]' \ +    '-short[Display short output. Shows only the most recent task event.]' \ +    '-evals[Display the evaluations associated with the job.]' \ +    '-verbose[Show full information.]' +} + +__stop() { +  _arguments \ +    '-address=[(addr) The address of the Nomad server. Overrides the NOMAD_ADDR environment variable if set. Default = http://127.0.0.1:4646]' \ +    '-region=[(region) The region of the Nomad servers to forward commands to. Overrides the NOMAD_REGION environment variable if set. Defaults to the Agent s local region.]' \ +    '-no-color[Disables colored command output.]' \ +    '-detach[Return immediately instead of entering monitor mode. After the deregister command is submitted, a new evaluation ID is printed to the screen, which can be used to examine the evaluation using the eval-status command.]' \ +    '-yes[Automatic yes to prompts.]' \ +    '-verbose[Show full information.]' +} + +_arguments '*:: :->command' + +if (( CURRENT == 1 )); then +  _describe -t commands "nomad command" _nomad_cmds +  return +fi + +local -a _command_args +case "$words[1]" in +  alloc-status) +    __allocstatus ;; +  eval-status) +    __evalstatus ;; +  inspect) +    __inspect ;; +  logs) +    __logs ;; +  node-status) +    __nodestatus ;; +  plan) +    __plan ;; +  run) +    __run ;; +  status) +    __status ;; +  stop) +    __stop ;; +esac  | 
