gusttt / ansible-completion

Basic bash completion for Ansible

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ansible-completion

Provide a bash completion on host name, module name and options for ansible.

Installation

  1. Get the ansible-completion.bash file.

  2. Copy/move the ansible-completion.bash in your bash_completion.d folder (/etc/bash_completion.d, /usr/local/etc/bash_completion.dor ~/bash_completion.d).

  3. Or copy/move it where you want and then load the ansible-completion.bash file in your ~/.bashrc or ~/.profile like that: source ~/ansible-completion.bash

  4. Reload your shell with something like source ~/.bashrc or source ~/.profile

Note for OSX

  1. Clone the repo, install bash an auto-completion2 with homebew: brew install bash bash-completion2

  2. Change your terminal bash to a homebrew one by setting the command option to /usr/local/bin/bash

  3. 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
    
  4. 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.

Contributors

About

Basic bash completion for Ansible

License:GNU General Public License v3.0


Languages

Language:Shell 100.0%