summaryrefslogtreecommitdiff
path: root/plugins/knife_ssh/knife_ssh.plugin.zsh
blob: 7fdd42a1ebb30d2a403aef42081ddae2b6db205d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function knife_ssh() {
  grep -q $1 ~/.knife_comp~ 2> /dev/null || rm -f ~/.knife_comp~;
  ssh $(knife node show $1 | awk '/IP:/{print $2}')
}

_knife_ssh() {
  if hash knife 2>/dev/null; then
    if [[ ! -f ~/.knife_comp~ ]]; then
      echo "\nGenerating ~/.knife_comp~..." >/dev/stderr
      knife node list > ~/.knife_comp~
    fi
    compadd $(<~/.knife_comp~)
  else
    echo "Could not find knife" > /dev/stderr;
  fi
}

compdef _knife_ssh knife_ssh