Add completion for knife user commands

These commands were added in Chef 11.0.0.
This commit is contained in:
Mark Cornick 2013-03-23 10:20:43 -04:00 committed by Aljaž "g5pw" Srebrnič
parent f2cff3dbf3
commit ef8d5806c4
1 changed files with 8 additions and 1 deletions

View File

@ -44,7 +44,7 @@ _knife() {
case $state in case $state in
knifecmd) knifecmd)
compadd -Q "$@" bootstrap client configure cookbook "cookbook site" "data bag" environment exec index node recipe role search ssh status windows $cloudproviders compadd -Q "$@" bootstrap client configure cookbook "cookbook site" "data bag" environment user exec index node recipe role search ssh status windows $cloudproviders
;; ;;
knifesubcmd) knifesubcmd)
case $words[2] in case $words[2] in
@ -63,6 +63,9 @@ _knife() {
environment) environment)
compadd -Q "$@" create delete edit "from file" list show compadd -Q "$@" create delete edit "from file" list show
;; ;;
user)
compadd -Q "$@" create delete edit list reregister show
;;
node) node)
compadd -Q "$@" "from file" create show edit delete list run_list "bulk delete" compadd -Q "$@" "from file" create show edit delete list run_list "bulk delete"
;; ;;
@ -186,6 +189,10 @@ _chef_environments_remote() {
(knife environment list | awk '{print $1}') (knife environment list | awk '{print $1}')
} }
_chef_users_remote() {
(knife user list | awk '{print $1}')
}
# The chef_x_local functions use the knife config to find the paths of relevant objects x to be uploaded to the server # The chef_x_local functions use the knife config to find the paths of relevant objects x to be uploaded to the server
_chef_cookbooks_local() { _chef_cookbooks_local() {
(for i in $( grep cookbook_path $HOME/.chef/knife.rb | awk 'BEGIN {FS = "[" }; {print $2}' | sed 's/\,//g' | sed "s/'//g" | sed 's/\(.*\)]/\1/' ); do ls $i; done) (for i in $( grep cookbook_path $HOME/.chef/knife.rb | awk 'BEGIN {FS = "[" }; {print $2}' | sed 's/\,//g' | sed "s/'//g" | sed 's/\(.*\)]/\1/' ); do ls $i; done)