ansible-completionBasic bash completion for Ansible
ansible-completion
Provide a bash completion on host name, module name and options for ansible.
Important
The difference with the official auto-completion is ansible-completion support completion of the hosts, based on the inventory file, and modules. The official auto-completion is however much more up-to-date with all the arguments names.
Installation
-  Get the ansible-completion.bashfile.
-  Copy/move the ansible-completion.bashin yourbash_completion.dfolder (/etc/bash_completion.d,/usr/local/etc/bash_completion.dor~/bash_completion.d).
-  Or copy/move it where you want and then load the ansible-completion.bashfile in your~/.bashrcor~/.profilelike that: source ~/ansible-completion.bash
-  Reload your shell with something like source ~/.bashrcorsource ~/.profile
Note for OSX
-  Clone the repo, install bash an auto-completion2 with homebew: brew install bash bash-completion2
-  Change your terminal bash to a homebrew one by setting the commandoption to/usr/local/bin/bash
-  Add the following code to your ~/.profile:if [ -f $(brew --prefix)/share/bash-completion/bash_completion ]; then . $(brew --prefix)/share/bash-completion/bash_completion fi
-  Create a symbolik link for ansible-completion.bash:ln -vs ~/soft/ansible-completion/ansible-completion.bash /usr/local/share/bash-completion/completions/ansible
Good to know
If the --module-path (-M) or --inventory-file (-i) is on the command line, the completion will use it.
For the completion on module name, the completion script build a cache of modules names.
You can set the cache timeout with the environement variable ANSIBLE_COMPLETION_CACHE_TIMEOUT, the default value is 120 seconds.
