compadd -Q "$@" bootstrap client configure cookbook "cookbook site" "data bag" exec index node recipe role search ssh status windows $cloudproviders
compadd -Q "$@" bootstrap client configure cookbook "cookbook site" "data bag" exec environment index node recipe role search ssh status windows $cloudproviders
;;
;;
knifesubcmd)
knifesubcmd)
case $words[2] in
case $words[2] in
...
@@ -42,6 +42,9 @@ _knife() {
...
@@ -42,6 +42,9 @@ _knife() {
cookbook)
cookbook)
compadd -Q "$@" test list create download delete "metadata from" show "bulk delete" metadata upload
compadd -Q "$@" test list create download delete "metadata from" show "bulk delete" metadata upload
;;
;;
environment)
compadd -Q "$@" list create delete edit show "from file"
;;
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"
;;
;;
...
@@ -161,6 +164,10 @@ _chef_data_bags_remote() {
...
@@ -161,6 +164,10 @@ _chef_data_bags_remote() {
(knife data bag list | grep \" | awk '{print $1}' | awk -F"," '{print $1}' | awk -F"\"" '{print $2}')
(knife data bag list | grep \" | awk '{print $1}' | awk -F"," '{print $1}' | awk -F"\"" '{print $2}')
}
}
_chef_environments_remote() {
(knife environment 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)