86 lines
3.2 KiB
Plaintext
86 lines
3.2 KiB
Plaintext
# Copyright (C) 2018 Canonical Ltd.
|
|
#
|
|
# This file is part of cloud-init. See LICENSE file for license information.
|
|
|
|
# bash completion for cloud-init cli
|
|
_cloudinit_complete()
|
|
{
|
|
|
|
local cur_word prev_word
|
|
cur_word="${COMP_WORDS[COMP_CWORD]}"
|
|
prev_word="${COMP_WORDS[COMP_CWORD-1]}"
|
|
|
|
subcmds="analyze clean collect-logs devel features init modules query schema single status"
|
|
base_params="--help --version --debug --force"
|
|
case ${COMP_CWORD} in
|
|
1)
|
|
COMPREPLY=($(compgen -W "$base_params $subcmds" -- $cur_word))
|
|
;;
|
|
2)
|
|
case ${prev_word} in
|
|
analyze)
|
|
COMPREPLY=($(compgen -W "--help blame dump show" -- $cur_word))
|
|
;;
|
|
clean)
|
|
COMPREPLY=($(compgen -W "--help --logs --reboot --seed" -- $cur_word))
|
|
;;
|
|
collect-logs)
|
|
COMPREPLY=($(compgen -W "--help --tarfile --include-userdata" -- $cur_word))
|
|
;;
|
|
devel)
|
|
COMPREPLY=($(compgen -W "--help hotplug-hook net-convert" -- $cur_word))
|
|
;;
|
|
features)
|
|
COMPREPLY=($(compgen -W "--help" -- $cur_word))
|
|
;;
|
|
init)
|
|
COMPREPLY=($(compgen -W "--help --local --file" -- $cur_word))
|
|
;;
|
|
modules)
|
|
COMPREPLY=($(compgen -W "--help --mode --file" -- $cur_word))
|
|
;;
|
|
|
|
query)
|
|
COMPREPLY=($(compgen -W "--all --help --instance-data --list-keys --user-data --vendor-data --debug" -- $cur_word));;
|
|
schema)
|
|
COMPREPLY=($(compgen -W "--help --config-file --docs --annotate --system" -- $cur_word))
|
|
;;
|
|
single)
|
|
COMPREPLY=($(compgen -W "--help --name --frequency --report --file" -- $cur_word))
|
|
;;
|
|
status)
|
|
COMPREPLY=($(compgen -W "--help --long --wait" -- $cur_word))
|
|
;;
|
|
esac
|
|
;;
|
|
3)
|
|
case ${prev_word} in
|
|
blame|dump)
|
|
COMPREPLY=($(compgen -W "--help --infile --outfile" -- $cur_word))
|
|
;;
|
|
--mode)
|
|
COMPREPLY=($(compgen -W "--help init config final" -- $cur_word))
|
|
;;
|
|
--frequency)
|
|
COMPREPLY=($(compgen -W "--help instance always once" -- $cur_word))
|
|
;;
|
|
hotplug-hook)
|
|
COMPREPLY=($(compgen -W "--help" -- $cur_word))
|
|
;;
|
|
net-convert)
|
|
COMPREPLY=($(compgen -W "--help --network-data --kind --directory --output-kind" -- $cur_word))
|
|
;;
|
|
render)
|
|
COMPREPLY=($(compgen -W "--help --instance-data --debug" -- $cur_word));;
|
|
show)
|
|
COMPREPLY=($(compgen -W "--help --format --infile --outfile" -- $cur_word))
|
|
;;
|
|
esac
|
|
;;
|
|
*)
|
|
COMPREPLY=()
|
|
;;
|
|
esac
|
|
}
|
|
complete -F _cloudinit_complete cloud-init
|