--- # this is an example of how to template a file over using some variables derived # from the system. For instance, if you wanted to have different configuration # templates by OS version, this is a neat way to do it. Any Ansible facts, facter facts, # or ohai facts could be used to do this. - hosts: all tasks: - name: template a config file action: template dest=/etc/imaginary_file.conf first_available_file: # first see if we have a file for this specific host - /srv/whatever/${ansible_hostname}.conf # next try to load something like CentOS6.2.conf - /srv/whatever/${ansible_distribution}${ansible_distribution_version}.conf # next see if there's a CentOS.conf - /srv/whatever/${ansible_distribution}.conf # finally give up and just use something generic - /srv/whatever/default