---
# this is a demo of conditional imports.  This is a powerful concept
# and can be used to use the same recipe for different types of hosts,
# based on variables that bubble up from the hosts from tools such
# as ohai or facter.
#
# Here's an example use case:
#
# what to do if the service for apache is named 'httpd' on CentOS
# but is named 'apache' on Debian?


# there is only one play in this playbook, it runs on all hosts
# as root

- hosts: all
  user: root

# we have a common list of variables stored in /vars/external_vars.yml
# that we will always import

# next, we want to import files that are different per operating system
# and if no per operating system file is found, load a defaults file.
# for instance, if the OS was "CentOS", we'd try to load vars/CentOS.yml.
# if that was found, we would immediately stop.  However if that wasn't
# present, we'd try to load vars/defaults.yml.  If that in turn was not
# found, we would fail immediately, because we had gotten to the end of
# the list without importing anything.

  vars_files:


     - "vars/external_vars.yml"

     - [ "vars/$facter_operatingsystem.yml", "vars/defaults.yml" ]

# and this is just a regular task line from a playbook, as we're used to.
# but with variables in it that come from above.  Note that the variables
# from above are *also* available in templates

  tasks:

  - name: ensure apache is latest
    action: $packager pkg=$apache state=latest
  - name: ensure apache is running
    action: service name=$apache state=running
  - name: fail
    action: command /bin/false