You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							153 lines
						
					
					
						
							7.9 KiB
						
					
					
				
			
		
		
	
	
							153 lines
						
					
					
						
							7.9 KiB
						
					
					
				| #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
 | |
| 
 |