mirror of https://github.com/hashicorp/consul
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.
264 lines
3.9 KiB
264 lines
3.9 KiB
# This completion file has been inspired by the completion files of the Git and |
|
# the Docker projects. |
|
|
|
__consulcomp() { |
|
local all c s=$'\n' IFS=' '$'\t'$'\n' |
|
local cur="${COMP_WORDS[COMP_CWORD]}" |
|
|
|
for c in $1; do |
|
case "$c$4" in |
|
--*=*) all="$all$c$4$s" ;; |
|
*) all="$all$c$4 $s" ;; |
|
esac |
|
done |
|
IFS=$s |
|
COMPREPLY=($(compgen -P "$2" -W "$all" -- "$cur")) |
|
return |
|
} |
|
|
|
__consul_agent() { |
|
local subcommands=" |
|
-advertise |
|
-advertise-wan |
|
-atlas |
|
-atlas-join |
|
-atlas-token |
|
-atlas-endpoint |
|
-bootstrap |
|
-bind |
|
-http-port |
|
-bootstrap-expect |
|
-client |
|
-config-file |
|
-config-dir |
|
-data-dir |
|
-recursor |
|
-dc |
|
-encrypt |
|
-join |
|
-join-wan |
|
-retry-join |
|
-retry-interval |
|
-retry-max-wan |
|
-log-level |
|
-node |
|
-protocol |
|
-rejoin |
|
-server |
|
-syslog |
|
-ui |
|
-ui-dir |
|
-pid-file |
|
" |
|
__consulcomp "-help $subcommands" |
|
} |
|
|
|
__consul_configtest() { |
|
local subcommands=" |
|
-config-file |
|
-config-dir |
|
" |
|
__consulcomp "-help $subcommands" |
|
} |
|
|
|
__consul_event() { |
|
local subcommands=" |
|
-http-addr |
|
-datacenter |
|
-name |
|
-node |
|
-service |
|
-tag |
|
-token |
|
" |
|
__consulcomp "-help $subcommands" |
|
} |
|
|
|
__consul_exec() { |
|
local subcommands=" |
|
-http-addr |
|
-datacenter |
|
-prefix |
|
-node |
|
-service |
|
-tag |
|
-wait |
|
-wait-repl |
|
-token |
|
" |
|
|
|
__consulcomp "-help $subcommands" |
|
} |
|
|
|
__consul_force_leave() { |
|
__consulcomp "-help -rpc-addr" |
|
} |
|
|
|
__consul_info() { |
|
__consulcomp "-help -rpc-addr" |
|
} |
|
|
|
__consul_join() { |
|
local subcommands=" |
|
-rpc-addr |
|
-wan |
|
" |
|
|
|
__consulcomp "-help $subcommands" |
|
} |
|
|
|
__consul_keygen() { |
|
# NOTE: left empty on purpose. |
|
return |
|
} |
|
|
|
__consul_keyring() { |
|
local subcommands=" |
|
-install |
|
-list |
|
-remove |
|
-token |
|
-use |
|
-rpc-addr |
|
" |
|
|
|
__consulcomp "-help $subcommands" |
|
} |
|
|
|
__consul_leave() { |
|
__consulcomp "-help -rpc-addr" |
|
} |
|
|
|
__consul_lock() { |
|
local subcommands=" |
|
-http-addr |
|
-n |
|
-name |
|
-token |
|
-pass-stdin |
|
-try |
|
-monitor-retry |
|
-verbose |
|
" |
|
|
|
__consulcomp "-help $subcommands" |
|
} |
|
|
|
__consul_maint() { |
|
local subcommands=" |
|
-enable |
|
-disable |
|
-reason |
|
-service |
|
-token |
|
-http-addr |
|
" |
|
|
|
__consulcomp "-help $subcommands" |
|
} |
|
|
|
__consul_members() { |
|
local subcommands=" |
|
-detailed |
|
-rpc-addr |
|
-status |
|
-wan |
|
" |
|
|
|
__consulcomp "-help $subcommands" |
|
} |
|
|
|
__consul_monitor() { |
|
local subcommands=" |
|
-log-level |
|
-rpc-addr |
|
" |
|
|
|
__consulcomp "-help $subcommands" |
|
} |
|
|
|
__consul_reload() { |
|
__consulcomp "-help -rpc-addr" |
|
} |
|
|
|
__consul_rtt() { |
|
local subcommands=" |
|
-wan |
|
-http-addr |
|
" |
|
|
|
__consulcomp "-help $subcommands" |
|
} |
|
|
|
__consul_version() { |
|
# NOTE: left empty on purpose. |
|
return |
|
} |
|
|
|
__consul_watch() { |
|
local subcommands=" |
|
-http-addr |
|
-datacenter |
|
-token |
|
-key |
|
-name |
|
-passingonly |
|
-prefix |
|
-service |
|
-state |
|
-tag |
|
-type |
|
" |
|
|
|
__consulcomp "-help $subcommands" |
|
} |
|
|
|
__consul() { |
|
local c=1 command |
|
while [ $c -lt $COMP_CWORD ]; do |
|
cmd="${COMP_WORDS[c]}" |
|
case "$cmd" in |
|
-*) ;; |
|
*) command="$cmd" |
|
esac |
|
c=$((++c)) |
|
done |
|
|
|
local cmds=" |
|
agent |
|
configtest |
|
event |
|
exec |
|
force-leave |
|
info |
|
join |
|
keygen |
|
keyring |
|
leave |
|
lock |
|
maint |
|
members |
|
monitor |
|
reload |
|
rtt |
|
version |
|
watch |
|
" |
|
|
|
local globalflags="--help --version" |
|
|
|
# Complete a command. |
|
if [ $c -eq $COMP_CWORD -a -z "$command" ]; then |
|
case "${COMP_WORDS[COMP_CWORD]}" in |
|
-*|--*) __consulcomp "$globalflags" ;; |
|
*) __consulcomp "$cmds" ;; |
|
esac |
|
return |
|
fi |
|
|
|
# Command options. |
|
local completion_func="__consul_${command//-/_}" |
|
declare -f $completion_func >/dev/null && $completion_func && return |
|
} |
|
|
|
complete -o default -o nospace -F __consul consul
|
|
|