# 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