From 54c9d57e421950aa58b9826611553a9baccbbaa2 Mon Sep 17 00:00:00 2001 From: Benoit Hamon Date: Tue, 6 Feb 2018 17:53:23 +0100 Subject: [PATCH] Ansible completions (#4697) * :rocket: * prepare to merge into fish-shell * split into different files * remove deprecated option * captitalize descriptions * make shorter description for ansible * update ansible-playbook (and ansible for consistency) * update version on vault and galaxy --- share/completions/ansible-galaxy.fish | 4 +++ share/completions/ansible-playbook.fish | 37 +++++++++++++++++++++++++ share/completions/ansible-vault.fish | 7 +++++ share/completions/ansible.fish | 36 ++++++++++++++++++++++++ 4 files changed, 84 insertions(+) create mode 100644 share/completions/ansible-galaxy.fish create mode 100644 share/completions/ansible-playbook.fish create mode 100644 share/completions/ansible-vault.fish create mode 100644 share/completions/ansible.fish diff --git a/share/completions/ansible-galaxy.fish b/share/completions/ansible-galaxy.fish new file mode 100644 index 000000000..d21ac2971 --- /dev/null +++ b/share/completions/ansible-galaxy.fish @@ -0,0 +1,4 @@ +complete -c ansible-galaxy -a "delete import info init install list login remove search setup" +complete -c ansible-galaxy -s h -l help -d "Show this help message and exit" +complete -c ansible-galaxy -s v -l verbose -d "Verbose mode (-vvv for more, -vvvv to enable connection debugging)" +complete -c ansible-galaxy -l version -d "Display version and exit" diff --git a/share/completions/ansible-playbook.fish b/share/completions/ansible-playbook.fish new file mode 100644 index 000000000..a77ecc5d0 --- /dev/null +++ b/share/completions/ansible-playbook.fish @@ -0,0 +1,37 @@ +complete -c ansible-playbook -l ask-vault-pass -f -d "Ask for vault password" +complete -c ansible-playbook -s C -l check -f -d "Just check, don't make any changes" +complete -c ansible-playbook -s D -l diff -f -d "Show the differences in files and templates; works great with --check" +complete -c ansible-playbook -s e -l extra-vars -r -d "Set additional variables as key=value or YAML/JSON" +complete -c ansible-playbook -l flush-cache -d "Clear the fact cache" +complete -c ansible-playbook -l force-handlers -d "Run handlers even if a task fails" +complete -c ansible-playbook -s f -l forks -a "(seq 0 100)" -d "Number of parallel processes to use (default=5)" +complete -c ansible-playbook -s h -l help -d "Shows a help message" +complete -c ansible-playbook -s i -l inventory -r -d "Specify inventory host path (default=/etc/ansible/hosts) or comma separated host list." +complete -c ansible-playbook -s l -l limit -r -d "Further limit selected hosts to an additional pattern" +complete -c ansible-playbook -l list-hosts -d "List all matching hosts" +complete -c ansible-playbook -l list-tags -d "List all available tags" +complete -c ansible-playbook -l list-tasks -d "List all tasks that would be executed" +complete -c ansible-playbook -s M -l module-path -r -d "Specify path(s) to module library (default=None)" +complete -c ansible-playbook -l new-vault-password-file -f -d "New vault password file for rekey" +complete -c ansible-playbook -l output -f -d "Output file name for encrypt or decrypt; use - for stdout" +complete -c ansible-playbook -l skip-tags -r -d "Only run plays and tasks whose tags do not match these values" +complete -c ansible-playbook -l start-at-task -r -d "Start the playbook at the task matching this name" +complete -c ansible-playbook -l step -d "Confirm each task before running" +complete -c ansible-playbook -l syntax-check -f -d "Perform a syntax check on the playbook" +complete -c ansible-playbook -s t -l tags -r -f -d "Only run plays and tasks tagged with these values" +complete -c ansible-playbook -l vault-password-file -d "Vault password file" +complete -c ansible-playbook -s v -l verbose -f -d "Verbose mode (-vvv for more, -vvvv to enable connection debugging)" +complete -c ansible-playbook -l version -f -d "Display version and exit" +complete -c ansible-playbook -s k -l ask-pass -f -d "Ask for connection password" +complete -c ansible-playbook -l private-key -r -d "Use this file to authenticate the connection" +complete -c ansible-playbook -s u -l user -f -a "(__fish_complete_users)" -d "Connect as this user (default=None)" +complete -c ansible-playbook -s c -l connection -f -d "Connection type to use (default=smart)" +complete -c ansible-playbook -s T -l timeout -f -d "Set the connection timeout in seconds (default=10)" +complete -c ansible-playbook -l ssh-common-args -f -d "Specify common arguments to pass to sftp/scp/ssh" +complete -c ansible-playbook -l sftp-extra-args -f -d "Specify extra arguments to pass to sftp only" +complete -c ansible-playbook -l scp-extra-args -f -d "Specify extra arguments to pass to scp only" +complete -c ansible-playbook -l ssh-extra-args -f -d "Specify extra arguments to pass to ssh only" +complete -c ansible-playbook -s b -l become -f -d "Run operations with become (does not imply password prompting)" +complete -c ansible-playbook -l become-method -r -f -a "sudo su pbrun pfexec runas doas dzdo" -d "Privilege escalation method to use (default=sudo)" +complete -c ansible-playbook -l become-user -r -f -a "(__fish_complete_users)" -d "Run operations as this user (default=root)" +complete -c ansible-playbook -s K -l ask-become-pass -f -d "Ask for privilege escalation password" diff --git a/share/completions/ansible-vault.fish b/share/completions/ansible-vault.fish new file mode 100644 index 000000000..7437ef5b9 --- /dev/null +++ b/share/completions/ansible-vault.fish @@ -0,0 +1,7 @@ +complete -c ansible-vault -l ask-vault-pass -f -d "Ask for vault password" +complete -c ansible-vault -s h -l help -f -d "Show this help message and exit" +complete -c ansible-vault -l new-vault-password-file -r -d "New vault password file for rekey" +complete -c ansible-vault -l output -r -d "Output file name for encrypt or decrypt; use - for stdout" +complete -c ansible-vault -l vault-password-file -r -d "Vault password file" +complete -c ansible-vault -s v -l verbose -d "Verbose mode (-vvv for more, -vvvv to enable connection debugging)" +complete -c ansible-vault -l version -d "Display version and exit" diff --git a/share/completions/ansible.fish b/share/completions/ansible.fish new file mode 100644 index 000000000..9be082136 --- /dev/null +++ b/share/completions/ansible.fish @@ -0,0 +1,36 @@ +complete -c ansible -s a -l args -r -f -d "Module arguments" +complete -c ansible -l ask-vault-pass -f -d "Ask for vault password" +complete -c ansible -s B -l background -r -f -d "Run asynchronously, failing after X seconds" +complete -c ansible -s C -l check -f -d "Just check, don't make any changes" +complete -c ansible -s D -l diff -f -d "Show the differences in files and templates; works great with --check" +complete -c ansible -s e -l extra-vars -r -d "Set additional variables as key=value or YAML/JSON" +complete -c ansible -s f -l forks -a "(seq 0 100)" -d "Number of parallel processes to use (default=5)" +complete -c ansible -s h -l help -d "Shows a help message" +complete -c ansible -s i -l inventory -r -d "Specify inventory host path (default=/etc/ansible/hosts) or comma separated host list." +complete -c ansible -s l -l limit -r -d "Further limit selected hosts to an additional pattern" +complete -c ansible -l limit-hosts -r -d "List all matching hosts" +complete -c ansible -s m -l module-name -r -d "Module name to execute (default=command)" +complete -c ansible -s M -l module-path -r -d "Specify path(s) to module library (default=None)" +complete -c ansible -l new-vault-password-file -f -d "New vault password file for rekey" +complete -c ansible -s o -l one-line -d "Condense output" +complete -c ansible -l output -f -d "Output file name for encrypt or decrypt; use - for stdout" +complete -c ansible -s P --l poll -r -d "Set the poll interval if using -B (default=15)" +complete -c ansible -l syntax-check -f -d "Perform a syntax check on the playbook" +complete -c ansible -s t -l tree -f -a "(__fish_complete_directories)" -d "Log output to this directory" +complete -c ansible -l vault-password-file -d "Vault password file" +complete -c ansible -s v -l verbose -f -d "Verbose mode (-vvv for more, -vvvv to enable connection debugging)" +complete -c ansible -l version -f -d "Display version and exit" +complete -c ansible -s k -l ask-pass -f -d "Ask for connection password" +complete -c ansible -l private-key -r -d "Use this file to authenticate the connection" +complete -c ansible -l key-file -r -d "Use this file to authenticate the connection" +complete -c ansible -s u -l user -f -a "(__fish_complete_users)" -d "Connect as this user (default=None)" +complete -c ansible -s c -l connection -f -d "Connection type to use (default=smart)" +complete -c ansible -s T -l timeout -f -d "Set the connection timeout in seconds (default=10)" +complete -c ansible -l ssh-common-args -f -d "Specify common arguments to pass to sftp/scp/ssh" +complete -c ansible -l sftp-extra-args -f -d "Specify extra arguments to pass to sftp only" +complete -c ansible -l scp-extra-args -f -d "Specify extra arguments to pass to scp only" +complete -c ansible -l ssh-extra-args -f -d "Specify extra arguments to pass to ssh only" +complete -c ansible -s b -l become -f -d "Run operations with become (does not imply password prompting)" +complete -c ansible -l become-method -r -f -a "sudo su pbrun pfexec runas doas dzdo" -d "Privilege escalation method to use (default=sudo)" +complete -c ansible -l become-user -r -f -a "(__fish_complete_users)" -d "Run operations as this user (default=root)" +complete -c ansible -s K -l ask-become-pass -f -d "Ask for privilege escalation password"