diff options
author | Matt Woodson <mwoodson@redhat.com> | 2015-02-13 09:50:35 -0500 |
---|---|---|
committer | Matt Woodson <mwoodson@redhat.com> | 2015-02-13 09:50:35 -0500 |
commit | 71c0c0c6d3dd2b3360604b118b496107b0f76d37 (patch) | |
tree | a59f17f686b03f2f614552ed0de28708f68f7793 /bin/zsh_functions | |
parent | aafbcce3605b7f992ba4b73d67286dbb40461baa (diff) | |
download | openshift-71c0c0c6d3dd2b3360604b118b496107b0f76d37.tar.gz openshift-71c0c0c6d3dd2b3360604b118b496107b0f76d37.tar.bz2 openshift-71c0c0c6d3dd2b3360604b118b496107b0f76d37.tar.xz openshift-71c0c0c6d3dd2b3360604b118b496107b0f76d37.zip |
added initial tower configs
Diffstat (limited to 'bin/zsh_functions')
-rw-r--r-- | bin/zsh_functions/_ossh | 49 |
1 files changed, 49 insertions, 0 deletions
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 "$@" |