summaryrefslogtreecommitdiff
path: root/docsite
diff options
context:
space:
mode:
authorMichael DeHaan <michael.dehaan@gmail.com>2014-08-08 13:19:35 -0400
committerMichael DeHaan <michael.dehaan@gmail.com>2014-08-08 13:20:15 -0400
commit7806c5095d05d8108fac47997ec24cb2d1f655fd (patch)
treef89841c2df0fb4a06136ff604171e93cb9f5ca14 /docsite
parent63bf2f6d9a7c0942f25ec11a0706e6e573ab092d (diff)
downloadansible-7806c5095d05d8108fac47997ec24cb2d1f655fd.tar.gz
Conditional imports are described under conditionals so remove the duplicate section.
Diffstat (limited to 'docsite')
-rw-r--r--docsite/rst/playbooks_variables.rst58
1 files changed, 0 insertions, 58 deletions
diff --git a/docsite/rst/playbooks_variables.rst b/docsite/rst/playbooks_variables.rst
index 0bc0a9c682..18f3d3ccbe 100644
--- a/docsite/rst/playbooks_variables.rst
+++ b/docsite/rst/playbooks_variables.rst
@@ -869,64 +869,6 @@ As of Ansible 1.3, extra vars can be loaded from a JSON file with the "@" syntax
Also as of Ansible 1.3, extra vars can be formatted as YAML, either on the command line
or in a file as above.
-.. _conditional_imports:
-
-Conditional Imports
-```````````````````
-
-.. note:: This behavior is infrequently used in Ansible. You may wish to skip this section. The 'group_by' module as described in the module documentation is a better way to achieve this behavior in most cases.
-
-Sometimes you will want to do certain things differently in a playbook based on certain criteria.
-Having one playbook that works on multiple platforms and OS versions is a good example.
-
-As an example, the name of the Apache package may be different between CentOS and Debian,
-but it is easily handled with a minimum of syntax in an Ansible Playbook::
-
- ---
-
- - hosts: all
- remote_user: root
- vars_files:
- - "vars/common.yml"
- - [ "vars/{{ ansible_os_family }}.yml", "vars/os_defaults.yml" ]
-
- tasks:
-
- - name: make sure apache is running
- service: name={{ apache }} state=running
-
-.. note::
- The variable 'ansible_os_family' is being interpolated into
- the list of filenames being defined for vars_files.
-
-As a reminder, the various YAML files contain just keys and values::
-
- ---
- # for vars/CentOS.yml
- apache: httpd
- somethingelse: 42
-
-How does this work? If the operating system was 'CentOS', the first file Ansible would try to import
-would be 'vars/CentOS.yml', followed by '/vars/os_defaults.yml' if that file
-did not exist. If no files in the list were found, an error would be raised.
-On Debian, it would instead first look towards 'vars/Debian.yml' instead of 'vars/CentOS.yml', before
-falling back on 'vars/os_defaults.yml'. Pretty simple.
-
-To use this conditional import feature, you'll need facter or ohai installed prior to running the playbook, but
-you can of course push this out with Ansible if you like::
-
- # for facter
- ansible -m yum -a "pkg=facter ensure=installed"
- ansible -m yum -a "pkg=ruby-json ensure=installed"
-
- # for ohai
- ansible -m yum -a "pkg=ohai ensure=installed"
-
-Ansible's approach to configuration -- separating variables from tasks, keeps your playbooks
-from turning into arbitrary code with ugly nested ifs, conditionals, and so on - and results
-in more streamlined & auditable configuration rules -- especially because there are a
-minimum of decision points to track.
-
.. _variable_precedence:
Variable Precedence: Where Should I Put A Variable?