From 71c0c0c6d3dd2b3360604b118b496107b0f76d37 Mon Sep 17 00:00:00 2001
From: Matt Woodson <mwoodson@redhat.com>
Date: Fri, 13 Feb 2015 09:50:35 -0500
Subject: added initial tower configs

---
 bin/zsh_functions/_ossh | 49 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 49 insertions(+)
 create mode 100644 bin/zsh_functions/_ossh

(limited to 'bin/zsh_functions')

diff --git a/bin/zsh_functions/_ossh b/bin/zsh_functions/_ossh
new file mode 100644
index 000000000..7c6cb7b0b
--- /dev/null
+++ b/bin/zsh_functions/_ossh
@@ -0,0 +1,49 @@
+#compdef ossh oscp
+
+_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
+
+  common_arguments=(
+    '(- *)'{-h,--help}'[show help]' \
+    {-v,--verbose}'[enable verbose]' \
+    {-d,--debug}'[debug mode]' \
+    {-l,--login_name}+'[login name]:login_name' \
+    {-c,--command}+'[command to run on remote host]:command' \
+    {-o,--ssh_opts}+'[SSH Options to pass to SSH]:ssh options' \
+    {-e,--env}+'[environtment to use]:environment:->env' \
+    '--list[list out hosts]' \
+    ':OP Hosts:->oo_hosts'
+  )
+
+  case "$service" in
+    ossh)
+      _arguments -C -s  \
+        "$common_arguments[@]" \
+      ;;
+
+    oscp)
+      _arguments -C -s  \
+        "$common_arguments[@]" \
+        {-r,--recurse}'[Recursive copy]' \
+        ':file:_files'
+      ;;
+  esac
+
+  case "$state" in
+      oo_hosts)
+        _values 'oo_hosts' $(_ossh_known_hosts)
+        ;;
+      env)
+        _values 'environment' ops int stg prod
+        ;;
+  esac
+}
+
+_ossh "$@"
-- 
cgit v1.2.3