knife_ssh.plugin.zsh 437 Bytes
Newer Older
1
function knife_ssh() {
Marc Cornellà's avatar
Marc Cornellà committed
2
  grep -q $1 ~/.knife_comp~ 2> /dev/null || rm -f ~/.knife_comp~
3
4
5
6
7
8
  ssh $(knife node show $1 | awk '/IP:/{print $2}')
}

_knife_ssh() {
  if hash knife 2>/dev/null; then
    if [[ ! -f ~/.knife_comp~ ]]; then
Marc Cornellà's avatar
Marc Cornellà committed
9
      echo "\nGenerating ~/.knife_comp~..." >&2
10
11
      knife node list > ~/.knife_comp~
    fi
Marc Cornellà's avatar
Marc Cornellà committed
12
    compadd $(< ~/.knife_comp~)
13
  else
Marc Cornellà's avatar
Marc Cornellà committed
14
    echo "Could not find knife" >&2
15
16
17
18
  fi
}

compdef _knife_ssh knife_ssh