_ansible in zsh replaces all our _ansible* compdefs
This commit is contained in:
parent
9edc47d5a3
commit
f8cede57f0
|
@ -1,183 +0,0 @@
|
||||||
#compdef ansible-galaxy
|
|
||||||
# ------------------------------------------------------------------------------
|
|
||||||
# Copyright (c) 2011 Github zsh-users - http://github.com/zsh-users
|
|
||||||
# All rights reserved.
|
|
||||||
#
|
|
||||||
# Redistribution and use in source and binary forms, with or without
|
|
||||||
# modification, are permitted provided that the following conditions are met:
|
|
||||||
# * Redistributions of source code must retain the above copyright
|
|
||||||
# notice, this list of conditions and the following disclaimer.
|
|
||||||
# * Redistributions in binary form must reproduce the above copyright
|
|
||||||
# notice, this list of conditions and the following disclaimer in the
|
|
||||||
# documentation and/or other materials provided with the distribution.
|
|
||||||
# * Neither the name of the zsh-users nor the
|
|
||||||
# names of its contributors may be used to endorse or promote products
|
|
||||||
# derived from this software without specific prior written permission.
|
|
||||||
#
|
|
||||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
||||||
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
||||||
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
# DISCLAIMED. IN NO EVENT SHALL ZSH-USERS BE LIABLE FOR ANY
|
|
||||||
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
||||||
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
||||||
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
|
||||||
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
||||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
||||||
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
# ------------------------------------------------------------------------------
|
|
||||||
# Description
|
|
||||||
# -----------
|
|
||||||
#
|
|
||||||
# Completion script for ansible-galaxy v2.0.0.2 (http://ansible.org)
|
|
||||||
#
|
|
||||||
# ------------------------------------------------------------------------------
|
|
||||||
# Authors
|
|
||||||
# -------
|
|
||||||
#
|
|
||||||
# * Romain Bossart (https://github.com/bosr)
|
|
||||||
# * Adam Stevko (https://github.com/xen0l)
|
|
||||||
#
|
|
||||||
# ------------------------------------------------------------------------------
|
|
||||||
#
|
|
||||||
# Note: I tried to use `_arguments --`, but the output of `ansible --help`
|
|
||||||
# is not parsed entirely correctly, and anyway no modules or host would available.
|
|
||||||
#
|
|
||||||
|
|
||||||
# ansible-galaxy zsh completion
|
|
||||||
#
|
|
||||||
_ansible-galaxy ()
|
|
||||||
{
|
|
||||||
local context curcontext="$curcontext" state line
|
|
||||||
typeset -A opt_args
|
|
||||||
|
|
||||||
_arguments -C \
|
|
||||||
"1:command:(delete import info init install list login remove search setup)" \
|
|
||||||
"*::option:->option"
|
|
||||||
|
|
||||||
case $state in
|
|
||||||
option)
|
|
||||||
case $line[1] in
|
|
||||||
delete)
|
|
||||||
_arguments \
|
|
||||||
"(-h --help)"{-h,--help}"[help message]" \
|
|
||||||
"(-c --ignore-certs)"{-c,--ignore-certs}"[Ignore SSL certificate validation errors.]" \
|
|
||||||
"(-s --server)"{-s,--server}"[API_SERVER The API server destination]:api server:(http://apiserver)" \
|
|
||||||
"(-v --verbose)"{-v,--verbose}"[verbose mode (-vvv for more, -vvvv to enable connection debugging)]" \
|
|
||||||
"--version[show program's version number and exit]" \
|
|
||||||
":github_user:(GITHUB_USER)" \
|
|
||||||
":github_repo:(GITHUB_REPO)"
|
|
||||||
;;
|
|
||||||
import)
|
|
||||||
_arguments \
|
|
||||||
"--branch[REFERENCE The name of a branch to import.]:reference:(master)" \
|
|
||||||
"(-h --help)"{-h,--help}"[help message]" \
|
|
||||||
"(-c --ignore-certs)"{-c,--ignore-certs}"[Ignore SSL certificate validation errors.]" \
|
|
||||||
"--no-wait[Don't wait for import results.]" \
|
|
||||||
"(-s --server)"{-s,--server}"[API_SERVER The API server destination]:api server:(http://apiserver)" \
|
|
||||||
"--status[Check the status of the most recent import request forgiven github_user/github_repo.]" \
|
|
||||||
"(-v --verbose)"{-v,--verbose}"[verbose mode (-vvv for more, -vvvv to enable connection debugging)]" \
|
|
||||||
"--version[show program's version number and exit]" \
|
|
||||||
":github_user:(GITHUB_USER)" \
|
|
||||||
":github_repo:(GITHUB_REPO)"
|
|
||||||
;;
|
|
||||||
info)
|
|
||||||
_arguments \
|
|
||||||
"(-h --help)"{-h,--help}"[help message]" \
|
|
||||||
"(-c --ignore-certs)"{-c,--ignore-certs}"[Ignore SSL certificate validation errors.]" \
|
|
||||||
"*"{-p,--roles-path}"[ROLES_PATH The path to the directory containing your roles (default: from ansible.cfg)]:roles path:_files -/" \
|
|
||||||
"(-s --server)"{-s,--server}"[API_SERVER The API server destination]:api server:(http://apiserver)" \
|
|
||||||
"(-v --verbose)"{-v,--verbose}"[verbose mode (-vvv for more, -vvvv to enable connection debugging)]" \
|
|
||||||
"--version[show program's version number and exit]" \
|
|
||||||
":role name:(ROLE,version)"
|
|
||||||
;;
|
|
||||||
init)
|
|
||||||
_arguments \
|
|
||||||
"(-f --force)"{-f,--force}"[ Force overwriting an existing role]" \
|
|
||||||
"(-h --help)"{-h,--help}"[help message]" \
|
|
||||||
"(-c --ignore-certs)"{-c,--ignore-certs}"[Ignore SSL certificate validation errors.]" \
|
|
||||||
"(-p --init-path)"{-p,--init-path}"[INIT_PATH path in which the skeleton role will be created (default=./)]:init path:(./)" \
|
|
||||||
"(--offline)--offline[Don't query the galaxy API when creating roles]" \
|
|
||||||
"(-s --server)"{-s,--server}"[API_SERVER The API server destination]:api server:(http://apiserver)" \
|
|
||||||
"(-v --verbose)"{-v,--verbose}"[verbose mode (-vvv for more, -vvvv to enable connection debugging)]" \
|
|
||||||
"--version[show program's version number and exit]" \
|
|
||||||
":role name:(ROLE)"
|
|
||||||
;;
|
|
||||||
install)
|
|
||||||
_arguments \
|
|
||||||
"(-f --force)"{-f,--force}"[Force overwriting an existing role]" \
|
|
||||||
"(-h --help)"{-h,--help}"[help message]" \
|
|
||||||
"(-c --ignore-certs)"{-c,--ignore-certs}"[Ignore SSL certificate validation errors.]" \
|
|
||||||
"(-i --ignore-errors)"{-i,--ignore-errors}"[Ignore errors and continue with the next specified role]" \
|
|
||||||
"(-n --no-deps)"{-n,--no-deps}"[Don't download roles listed as dependencies]" \
|
|
||||||
"(-r --role-file)"{-r,--role-file}"[ROLE_FILE A file containing a list of roles to be imported]:role file:_files" \
|
|
||||||
"(-p --roles-path)"{-p,--roles-path}"[ROLES_PATH The path to the directory containing your roles (default: from ansible.cfg)]:roles path:_files -/" \
|
|
||||||
"(-s --server)"{-s,--server}"[API_SERVER The API server destination]:api server:(http://apiserver)" \
|
|
||||||
"(-v --verbose)"{-v,--verbose}"[verbose mode (-vvv for more, -vvvv to enable connection debugging)]" \
|
|
||||||
"--version[show program's version number and exit]" \
|
|
||||||
":role name:(ROLE)"
|
|
||||||
;;
|
|
||||||
list)
|
|
||||||
_arguments \
|
|
||||||
"(-h --help)"{-h,--help}"[help message]" \
|
|
||||||
"(-p --roles-path)"{-p,--roles-path}"[ROLES_PATH The path to the directory containing your roles (default: from ansible.cfg)]:roles path:_files -/" \
|
|
||||||
"(-v --verbose)"{-v,--verbose}"[verbose mode (-vvv for more, -vvvv to enable connection debugging)]" \
|
|
||||||
"--version[show program's version number and exit]" \
|
|
||||||
":role name:(ROLE)"
|
|
||||||
;;
|
|
||||||
login)
|
|
||||||
_arguments \
|
|
||||||
"--github_token[TOKEN Identify with github token rather than username and password.]:token:(TOKEN)" \
|
|
||||||
"(-h --help)"{-h,--help}"[help message]" \
|
|
||||||
"(-c --ignore-certs)"{-c,--ignore-certs}"[Ignore SSL certificate validation errors.]" \
|
|
||||||
"(-s --server)"{-s,--server}"[API_SERVER The API server destination]:api server:(http://apiserver)" \
|
|
||||||
"(-v --verbose)"{-v,--verbose}"[verbose mode (-vvv for more, -vvvv to enable connection debugging)]" \
|
|
||||||
"--version[show program's version number and exit]"
|
|
||||||
;;
|
|
||||||
remove)
|
|
||||||
_arguments \
|
|
||||||
"(-h --help)"{-h,--help}"[help message]" \
|
|
||||||
"(-p --roles-path)"{-p,--roles-path}"[ROLES_PATH The path to the directory containing your roles (default: from ansible.cfg)]:roles path:_files -/" \
|
|
||||||
"(-v --verbose)"{-v,--verbose}"[verbose mode (-vvv for more, -vvvv to enable connection debugging)]" \
|
|
||||||
"--version[show program's version number and exit]" \
|
|
||||||
"*:role name:(ROLE)"
|
|
||||||
;;
|
|
||||||
search)
|
|
||||||
_arguments \
|
|
||||||
"--author[AUTHOR GitHub username]:author:(AUTHOR)" \
|
|
||||||
"--galaxy-tags[TAGS list of galaxy tags to filter by]:tags:(TAGS)" \
|
|
||||||
"(-h --help)"{-h,--help}"[help message]" \
|
|
||||||
"(-c --ignore-certs)"{-c,--ignore-certs}"[Ignore SSL certificate validation errors.]" \
|
|
||||||
"--platforms[PLATFORMS list of OS platforms to filter by" \
|
|
||||||
"(-p --roles-path)"{-p,--roles-path}"[ROLES_PATH The path to the directory containing your roles (default: from ansible.cfg)]:roles path:_files -/" \
|
|
||||||
"(-s --server)"{-s,--server}"[API_SERVER The API server destination]:api server:(http://apiserver)" \
|
|
||||||
"(-v --verbose)"{-v,--verbose}"[verbose mode (-vvv for more, -vvvv to enable connection debugging)]" \
|
|
||||||
"--version[show program's version number and exit]"
|
|
||||||
;;
|
|
||||||
setup)
|
|
||||||
_arguments \
|
|
||||||
"(-h --help)"{-h,--help}"[help message]" \
|
|
||||||
"(-c --ignore-certs)"{-c,--ignore-certs}"[Ignore SSL certificate validation errors.]" \
|
|
||||||
"--list[List all of your integrations.]" \
|
|
||||||
"--remove[REMOVE_ID Remove the integration matching the provided ID value.]:id:(REMOVE_ID)" \
|
|
||||||
"(-s --server)"{-s,--server}"[API_SERVER The API server destination]:api server:(http://apiserver)" \
|
|
||||||
"(-v --verbose)"{-v,--verbose}"[verbose mode (-vvv for more, -vvvv to enable connection debugging)]" \
|
|
||||||
"--version[show program's version number and exit]" \
|
|
||||||
":source:(travis)" \
|
|
||||||
":github_user:(GITHUB_USER)" \
|
|
||||||
":github_repo:(GITHUB_REPO)" \
|
|
||||||
":secret:(SECRET)"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
}
|
|
||||||
|
|
||||||
_ansible-galaxy "$@"
|
|
||||||
|
|
||||||
# Local Variables:
|
|
||||||
# mode: Shell-Script
|
|
||||||
# sh-indentation: 2
|
|
||||||
# indent-tabs-mode: nil
|
|
||||||
# sh-basic-offset: 2
|
|
||||||
# End:
|
|
||||||
# vim: ft=zsh sw=2 ts=2 et
|
|
|
@ -1,191 +0,0 @@
|
||||||
#compdef ansible-playbook
|
|
||||||
# ------------------------------------------------------------------------------
|
|
||||||
# Copyright (c) 2011 Github zsh-users - http://github.com/zsh-users
|
|
||||||
# All rights reserved.
|
|
||||||
#
|
|
||||||
# Redistribution and use in source and binary forms, with or without
|
|
||||||
# modification, are permitted provided that the following conditions are met:
|
|
||||||
# * Redistributions of source code must retain the above copyright
|
|
||||||
# notice, this list of conditions and the following disclaimer.
|
|
||||||
# * Redistributions in binary form must reproduce the above copyright
|
|
||||||
# notice, this list of conditions and the following disclaimer in the
|
|
||||||
# documentation and/or other materials provided with the distribution.
|
|
||||||
# * Neither the name of the zsh-users nor the
|
|
||||||
# names of its contributors may be used to endorse or promote products
|
|
||||||
# derived from this software without specific prior written permission.
|
|
||||||
#
|
|
||||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
||||||
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
||||||
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
# DISCLAIMED. IN NO EVENT SHALL ZSH-USERS BE LIABLE FOR ANY
|
|
||||||
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
||||||
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
||||||
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
|
||||||
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
||||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
||||||
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
# ------------------------------------------------------------------------------
|
|
||||||
# Description
|
|
||||||
# -----------
|
|
||||||
#
|
|
||||||
# Completion script for ansible-playbook v2.0.0.2 (http://ansible.org)
|
|
||||||
#
|
|
||||||
# ------------------------------------------------------------------------------
|
|
||||||
# Authors
|
|
||||||
# -------
|
|
||||||
#
|
|
||||||
# * Romain Bossart (https://github.com/bosr)
|
|
||||||
# * Adam Stevko (https://github.com/xen0l)
|
|
||||||
#
|
|
||||||
# ------------------------------------------------------------------------------
|
|
||||||
#
|
|
||||||
# Needs either ANSIBLE_HOSTS or /etc/ansible/hosts on linux
|
|
||||||
# (or /usr/local/etc/ansible/hosts on macOS)
|
|
||||||
#
|
|
||||||
# Note 1: the following gist (https://gist.github.com/15ed54a438a36d67fd99.git)
|
|
||||||
# has some files to help improve the hostfile shell parsing
|
|
||||||
#
|
|
||||||
# Note 2: I tried to use `_arguments --`, but the output of `ansible --help`
|
|
||||||
# is not parsed entirely correctly, and anyway no modules or host would available.
|
|
||||||
#
|
|
||||||
|
|
||||||
# ansible-playbook zsh completion
|
|
||||||
#
|
|
||||||
__host_file_location () {
|
|
||||||
# find the location of the host file:
|
|
||||||
# 1. check $ANSIBLE_HOSTS
|
|
||||||
# 2. else check /etc/ansible/hosts or /usr/local/etc/...
|
|
||||||
# (depending on platform)
|
|
||||||
#
|
|
||||||
|
|
||||||
[[ "$OSTYPE" == darwin* ]] && FALLBACK="/usr/local/etc/ansible/hosts"
|
|
||||||
[[ "$OSTYPE" == linux* ]] && FALLBACK="/etc/ansible/hosts"
|
|
||||||
HOST_FILE=${ANSIBLE_HOSTS:=${FALLBACK}}
|
|
||||||
[[ -f ${HOST_FILE} ]] || HOST_FILE="$PWD/ansible/inventory/hosts"
|
|
||||||
[[ -f ${HOST_FILE} ]] || HOST_FILE=/dev/null
|
|
||||||
|
|
||||||
echo ${HOST_FILE}
|
|
||||||
}
|
|
||||||
|
|
||||||
__ll_group_list () {
|
|
||||||
# parses the ini hostfile for groups only: [...]
|
|
||||||
HOST_FILE=$(__host_file_location)
|
|
||||||
|
|
||||||
local -a group_list
|
|
||||||
group_list=$(command \
|
|
||||||
cat ${HOST_FILE} \
|
|
||||||
| awk '$1 ~ /^\[.*\]$/ && !/=/ && !/:vars/ \
|
|
||||||
{ gsub(/[\[\]]/, "", $1); gsub(/:children/, "", $1) ; print $1 }' \
|
|
||||||
| uniq )
|
|
||||||
|
|
||||||
echo ${group_list}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
__host_list ()
|
|
||||||
{
|
|
||||||
# parses the ini hostfile for hosts only
|
|
||||||
# but then has to remove all group occurrences
|
|
||||||
HOST_FILE=$(__host_file_location)
|
|
||||||
|
|
||||||
# this will also contain groups if they are referenced in other groups
|
|
||||||
local -a mixed_host_list
|
|
||||||
mixed_host_list=$(command \
|
|
||||||
cat ${HOST_FILE} \
|
|
||||||
| awk 'NF && $1 !~ /[\[:=]/ { print $1 }' \
|
|
||||||
| sort | uniq)
|
|
||||||
|
|
||||||
# compute set difference h1 - h2
|
|
||||||
local -a h1 h2 host_list
|
|
||||||
h1=${mixed_host_list}
|
|
||||||
h2=$(__ll_group_list)
|
|
||||||
host_list=($(command \
|
|
||||||
sort <(echo $h1) <(echo $h2) <(echo $h2) \
|
|
||||||
| uniq -u \
|
|
||||||
| paste -s -d ' ' - )
|
|
||||||
)
|
|
||||||
|
|
||||||
_wanted application expl 'hosts' compadd ${host_list}
|
|
||||||
|
|
||||||
# method that delegates to ansible (slow)
|
|
||||||
# _wanted application expl 'hosts' compadd $(command ansible \
|
|
||||||
# all --list-hosts\
|
|
||||||
# 2>/dev/null)
|
|
||||||
}
|
|
||||||
|
|
||||||
__group_list ()
|
|
||||||
{
|
|
||||||
gl=($(command echo $(__ll_group_list) | paste -s -d ' ' - )) # 'a\nb\nc' -> (a b c)
|
|
||||||
_wanted application2 expl 'groups' compadd $gl
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
_ansible-playbook ()
|
|
||||||
{
|
|
||||||
local curcontext="$curcontext" state line
|
|
||||||
typeset -A opt_args
|
|
||||||
|
|
||||||
_arguments -s -C -W \
|
|
||||||
"*:playbook yml file:_files -g '*.yml|*.yaml'"\
|
|
||||||
'--ask-become-pass[ask for privilege escalation password]'\
|
|
||||||
"(-k --ask-pass)"{-k,--ask-pass}"[ask for connection password]"\
|
|
||||||
'--ask-su-pass[ask for su password (deprecated, use become)]'\
|
|
||||||
"(-K --ask-sudo-pass)"{-K,--ask-sudo-pass}"[ask for sudo password (deprecated, use become)]"\
|
|
||||||
'--ask-vault-pass[ask for vault password]'\
|
|
||||||
"(-b --become)"{-b,--become}"[run operations with become (nopasswd implied)]"\
|
|
||||||
'--become-method[privilege escalation method to use (default=sudo)]:method:(sudo su pbrun pfexec runas doas)'\
|
|
||||||
'--become-user[run operations as this user (default=root)]:user:(USER)'\
|
|
||||||
"(-C --check)"{-C,--check}"[don't make any changes]"\
|
|
||||||
"(-c --connection)"{-c,--connection}"[CONNECTION connection type to use (default=smart)]:connection type:(smart ssh local chroot)"\
|
|
||||||
"(-D --diff)"{-D,--diff}"[when changing (small files and templates, show the diff in those. Works great with --check)]"\
|
|
||||||
"*"{-e,--extra-vars}"[EXTRA_VARS set additional variables as key=value or YAML/JSON]:extra vars:(EXTRA_VARS)"\
|
|
||||||
'--flush-cache[clear the fact cache]'\
|
|
||||||
'--force-handlers[run handlers even if a task fails]'\
|
|
||||||
"(-f --forks)"{-f,--forks}"[FORKS number of parallel processes to use (default=5)]:forks:(5)"\
|
|
||||||
"(-h --help)"{-h,--help}"[help message]"\
|
|
||||||
"*"{-i,--inventory,--inventory-file}"[INVENTORY specify inventory host file]:inventory file:_files"\
|
|
||||||
"(-l --limit)"{-l,--limit}"[SUBSET further limit selected hosts to an additional pattern]:subset pattern:->pattern"\
|
|
||||||
'--list-hosts[outputs a list of matching hosts. Does not execute anything else]'\
|
|
||||||
'--list-tags[list all available tags]'\
|
|
||||||
'--list-tasks[list all tasks that would be executed]'\
|
|
||||||
"*"{-M,--module-path}"[MODULE_PATH specify path to module library (default=None)]:module path:_files -/"\
|
|
||||||
'--new-vault-password-file[new vault password file for rekey]:new vault password file:_files'\
|
|
||||||
'--output[output file name for encrypt or decrypt; use - for stdout]:output file:_files'\
|
|
||||||
'--private-key[PRIVATE_KEY_FILE use this file to authenticate the connection]:private key file:_files'\
|
|
||||||
'--scp-extra-args[specify extra arguments to pass to scp only]'\
|
|
||||||
'--sftp-extra-args[specify extra arguments to pass to sftp only]'\
|
|
||||||
"*--skip-tags[SKIP_TAGS only run plays and tasks whose tags do not match these values]:skip tags:(SKIP_TAGS)"\
|
|
||||||
'--ssh-common-args[specify common arguments to pass to sftp/scp/ssh]'\
|
|
||||||
'--ssh-extra-args[specify extra arguments to pass to ssh only]'\
|
|
||||||
"--start-at-task[START_AT start the playbook at the task matching this name]:name:(TASK_NAME)"\
|
|
||||||
'--step[one-step-at-a-time: confirm each task before running]'\
|
|
||||||
"(-S --su)"{-S,--su}"[run operations with su (deprecated, use become)]"\
|
|
||||||
"(-R --su-user)"{-R,--su-user}"[SU_USER run operations with su as this user (default=root) (deprecated, use become)]:su user:(root)"\
|
|
||||||
"(-s --sudo)"{-s,--sudo}"[run operations with sudo (nopasswd) (deprecated, use become)]"\
|
|
||||||
"(-U --sudo-user)"{-U,--sudo-user}"[SUDO_USER desired sudo user (default=root) (deprecated, use become)]:su user:(root)"\
|
|
||||||
'--syntax-check[perform a syntax check on the playbook, but do not execute it]'\
|
|
||||||
"*"{-t,--tags}"[TAGS only run plays and tasks gagged with these values]:task tags:(TAGS)"\
|
|
||||||
"(-T --timeout)"{-T,--timeout}"[TIMEOUT override the SSH timeout (s) (default=10)]:ssh timeout:(10)"\
|
|
||||||
"(-u --user)"{-u,--user}"[REMOTE_USER connect as this user (default=${USER})]:connect as user:(${USER})"\
|
|
||||||
"*--vault-password-file[VAULT_PASSWORD_FILE vault password file]:vault password file:_files"\
|
|
||||||
"*"{-v,--verbose}"[verbose mode (-vvv for more, -vvvv to enable connection debugging)]"\
|
|
||||||
"--version[show program's version number and exit]"\
|
|
||||||
|
|
||||||
case $state in
|
|
||||||
pattern)
|
|
||||||
_arguments '*:feature:__host_list'
|
|
||||||
_arguments '*:feature:__group_list'
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
}
|
|
||||||
|
|
||||||
_ansible-playbook "$@"
|
|
||||||
|
|
||||||
# Local Variables:
|
|
||||||
# mode: Shell-Script
|
|
||||||
# sh-indentation: 2
|
|
||||||
# indent-tabs-mode: nil
|
|
||||||
# sh-basic-offset: 2
|
|
||||||
# End:
|
|
||||||
# vim: ft=zsh sw=2 ts=2 et
|
|
|
@ -1,94 +0,0 @@
|
||||||
#compdef ansible-vault
|
|
||||||
# ------------------------------------------------------------------------------
|
|
||||||
# Copyright (c) 2016 Github zsh-users - http://github.com/zsh-users
|
|
||||||
# All rights reserved.
|
|
||||||
#
|
|
||||||
# Redistribution and use in source and binary forms, with or without
|
|
||||||
# modification, are permitted provided that the following conditions are met:
|
|
||||||
# * Redistributions of source code must retain the above copyright
|
|
||||||
# notice, this list of conditions and the following disclaimer.
|
|
||||||
# * Redistributions in binary form must reproduce the above copyright
|
|
||||||
# notice, this list of conditions and the following disclaimer in the
|
|
||||||
# documentation and/or other materials provided with the distribution.
|
|
||||||
# * Neither the name of the zsh-users nor the
|
|
||||||
# names of its contributors may be used to endorse or promote products
|
|
||||||
# derived from this software without specific prior written permission.
|
|
||||||
#
|
|
||||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
||||||
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
||||||
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
# DISCLAIMED. IN NO EVENT SHALL ZSH-USERS BE LIABLE FOR ANY
|
|
||||||
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
||||||
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
||||||
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
|
||||||
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
||||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
||||||
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
# ------------------------------------------------------------------------------
|
|
||||||
# Description
|
|
||||||
# -----------
|
|
||||||
#
|
|
||||||
# Completion script for ansible v1.9.2 (http://ansible.org)
|
|
||||||
#
|
|
||||||
# ------------------------------------------------------------------------------
|
|
||||||
# Authors
|
|
||||||
# -------
|
|
||||||
#
|
|
||||||
# * Rick van Hattem (https://github.com/wolph)
|
|
||||||
#
|
|
||||||
# ------------------------------------------------------------------------------
|
|
||||||
#
|
|
||||||
|
|
||||||
_ansible-vault-commands() {
|
|
||||||
local -a commands
|
|
||||||
|
|
||||||
commands=(
|
|
||||||
'create:Create new encrypted file'
|
|
||||||
'decrypt:Decrypt encrypted file'
|
|
||||||
'edit:Edit encrypted file'
|
|
||||||
'encrypt:Encrypt unencrypted file'
|
|
||||||
'rekey:Change password for encrypted file'
|
|
||||||
'view:View encrypted file'
|
|
||||||
)
|
|
||||||
|
|
||||||
_arguments -s : $nul_args && ret=0
|
|
||||||
_describe -t commands 'ansible-vault command' commands && ret=0
|
|
||||||
}
|
|
||||||
|
|
||||||
_ansible-vault-command(){
|
|
||||||
args=(
|
|
||||||
'--debug[enable debugging]' \
|
|
||||||
'--vault-password-file[vault password file]:password_file:_files'
|
|
||||||
$nul_args
|
|
||||||
"1::file_name:_files"
|
|
||||||
)
|
|
||||||
_arguments -s : $args && ret=0
|
|
||||||
}
|
|
||||||
|
|
||||||
_ansible-vault() {
|
|
||||||
local -a nul_args
|
|
||||||
nul_args=(
|
|
||||||
'(-h --help)'{-h,--help}'[show help message and exit.]'
|
|
||||||
)
|
|
||||||
|
|
||||||
local curcontext=$curcontext ret=1
|
|
||||||
|
|
||||||
if ((CURRENT == 2)); then
|
|
||||||
_ansible-vault-commands
|
|
||||||
else
|
|
||||||
shift words
|
|
||||||
(( CURRENT -- ))
|
|
||||||
curcontext="${curcontext%:*:*}:ansible-vault-$words[1]:"
|
|
||||||
_call_function ret _ansible-vault-command
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
_ansible-vault "$@"
|
|
||||||
|
|
||||||
# Local Variables:
|
|
||||||
# mode: Shell-Script
|
|
||||||
# sh-indentation: 2
|
|
||||||
# indent-tabs-mode: nil
|
|
||||||
# sh-basic-offset: 2
|
|
||||||
# End:
|
|
||||||
# vim: ft=zsh sw=2 ts=2 et
|
|
Loading…
Reference in New Issue