Commit aa8ae850 by Michael DeHaan

Add playbook example for first_available_file

parent 38049101
---
# 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
......@@ -391,6 +391,7 @@ class Runner(object):
# apply templating to source argument
inject = self.setup_cache.get(conn.host,{})
# FIXME: break duplicate code up into subfunction
# if we have first_available_file in our vars
# look up the files and use the first one we find as src
if 'first_available_file' in self.module_vars:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment