summaryrefslogtreecommitdiffstats
path: root/bin/ossh_zsh_completion
diff options
context:
space:
mode:
authorKenny Woodson <kwoodson@redhat.com>2015-02-05 17:06:56 -0500
committerKenny Woodson <kwoodson@redhat.com>2015-02-05 17:06:56 -0500
commitaafbcce3605b7f992ba4b73d67286dbb40461baa (patch)
treec902148de7e314a51771d94df1331b9fb28e1d99 /bin/ossh_zsh_completion
parent04343e7588118359d178fa63554909efb222648a (diff)
parent04582ead281239524df87f1dabc53125038ff9a5 (diff)
downloadopenshift-aafbcce3605b7f992ba4b73d67286dbb40461baa.tar.gz
openshift-aafbcce3605b7f992ba4b73d67286dbb40461baa.tar.bz2
openshift-aafbcce3605b7f992ba4b73d67286dbb40461baa.tar.xz
openshift-aafbcce3605b7f992ba4b73d67286dbb40461baa.zip
Merge pull request #54 from kwoodson/ossh
Adding ssh dynamic hosts capabilities
Diffstat (limited to 'bin/ossh_zsh_completion')
-rw-r--r--bin/ossh_zsh_completion24
1 files changed, 24 insertions, 0 deletions
diff --git a/bin/ossh_zsh_completion b/bin/ossh_zsh_completion
new file mode 100644
index 000000000..f057ca8ce
--- /dev/null
+++ b/bin/ossh_zsh_completion
@@ -0,0 +1,24 @@
+#compdef ossh
+
+_ossh_known_hosts(){
+ if [[ -f ~/.ansible/tmp/multi_ec2_inventory.cache ]]; then
+ print $(/usr/bin/python -c 'import json,os; z = json.loads(open("%s"%os.path.expanduser("~/.ansible/tmp/multi_ec2_inventory.cache")).read()); print "\n".join(["%s.%s" % (host["ec2_tag_Name"],host["ec2_tag_environment"]) for dns, host in z["_meta"]["hostvars"].items()])')
+ fi
+
+}
+_ossh(){
+ local curcontext="$curcontext" state line
+ typeset -A opt_args
+
+#_arguments "*:Hosts:_ossh_known_hosts"
+ _arguments -s : \
+ "*:hosts:->hosts"
+
+ case "$state" in
+ hosts)
+ _values 'hosts' $(_ossh_known_hosts)
+ ;;
+ esac
+
+}
+_ossh "$@"