ansible-doc -l # all installed modules listansible-doc <module-name> # module manansible-doc -s <module-name> # playbook snippets code examples on module
Module examples
Copy module
Copies a file from the local box to a remote system - useful for copying config files to remote system
can do backups
can do remote validation
Fetch module
Copy a file from remote system to local box
validate file using md5 checksum
Setup module
Gather info and facts on remote system
Inventory analysis of the system
ansible -i inventory web1 -m setup # gather all available system infoansible -i inventory web1 -m setup -a "filter=ansible_eth*"# gather info on NICsansible -i inventory all -m setup --tree ./setup # form an inventory of files in /setup/ folder with info on targeted systems
ansible webservers -i inventory -m yum -a "name=httpd state=present" -u vagrant --sudo
# name - name of package (Apache)# present - if package is not there, install. If it is there - do nothing and report "changed: false" (idempotence test)
Service module
Start/stop/restart services
Set autostart option for services
ansible webservers -i inventory -m service -a "name=httpd state=started enabled=yes" -u vagrant --sudo
# name - name of service (Apache)# state = started/stopped - make idempotence test and change if necessary# enabled = yes/no - autostart on system boot