made with_ examples have explicit templating

This commit is contained in:
Brian Coca 2015-06-03 11:15:13 -04:00
parent 74a537ede0
commit 2e39661a26

View file

@ -23,7 +23,7 @@ To save some typing, repeated tasks can be written in short-hand like so::
If you have defined a YAML list in a variables file, or the 'vars' section, you can also do:: If you have defined a YAML list in a variables file, or the 'vars' section, you can also do::
with_items: somelist with_items: "{{somelist}}"
The above would be the equivalent of:: The above would be the equivalent of::
@ -58,12 +58,12 @@ Loops can be nested as well::
- [ 'alice', 'bob' ] - [ 'alice', 'bob' ]
- [ 'clientdb', 'employeedb', 'providerdb' ] - [ 'clientdb', 'employeedb', 'providerdb' ]
As with the case of 'with_items' above, you can use previously defined variables. Just specify the variable's name without templating it with '{{ }}':: As with the case of 'with_items' above, you can use previously defined variables.::
- name: here, 'users' contains the above list of employees - name: here, 'users' contains the above list of employees
mysql_user: name={{ item[0] }} priv={{ item[1] }}.*:ALL append_privs=yes password=foo mysql_user: name={{ item[0] }} priv={{ item[1] }}.*:ALL append_privs=yes password=foo
with_nested: with_nested:
- users - "{{users}}"
- [ 'clientdb', 'employeedb', 'providerdb' ] - [ 'clientdb', 'employeedb', 'providerdb' ]
.. _looping_over_hashes: .. _looping_over_hashes:
@ -89,7 +89,7 @@ And you want to print every user's name and phone number. You can loop through
tasks: tasks:
- name: Print phone records - name: Print phone records
debug: msg="User {{ item.key }} is {{ item.value.name }} ({{ item.value.telephone }})" debug: msg="User {{ item.key }} is {{ item.value.name }} ({{ item.value.telephone }})"
with_dict: users with_dict: "{{users}}"
.. _looping_over_fileglobs: .. _looping_over_fileglobs:
@ -130,8 +130,8 @@ And you want the set of '(a, 1)' and '(b, 2)' and so on. Use 'with_together' t
tasks: tasks:
- debug: msg="{{ item.0 }} and {{ item.1 }}" - debug: msg="{{ item.0 }} and {{ item.1 }}"
with_together: with_together:
- alpha - "{{alpha}}"
- numbers - "{{numbers}}"
Looping over Subelements Looping over Subelements
```````````````````````` ````````````````````````
@ -171,7 +171,7 @@ How might that be accomplished? Let's assume you had the following defined and
It might happen like so:: It might happen like so::
- user: name={{ item.name }} state=present generate_ssh_key=yes - user: name={{ item.name }} state=present generate_ssh_key=yes
with_items: users with_items: "{{users}}"
- authorized_key: "user={{ item.0.name }} key='{{ lookup('file', item.1) }}'" - authorized_key: "user={{ item.0.name }} key='{{ lookup('file', item.1) }}'"
with_subelements: with_subelements:
@ -329,7 +329,7 @@ Should you ever need to execute a command remotely, you would not use the above
- name: Do something with each result - name: Do something with each result
shell: /usr/bin/something_else --param {{ item }} shell: /usr/bin/something_else --param {{ item }}
with_items: command_result.stdout_lines with_items: "{{command_result.stdout_lines}}"
.. _indexed_lists: .. _indexed_lists:
@ -345,7 +345,7 @@ It's uncommonly used::
- name: indexed loop demo - name: indexed loop demo
debug: msg="at array position {{ item.0 }} there is a value {{ item.1 }}" debug: msg="at array position {{ item.0 }} there is a value {{ item.1 }}"
with_indexed_items: some_list with_indexed_items: "{{some_list}}"
.. _flattening_a_list: .. _flattening_a_list:
@ -370,8 +370,8 @@ As you can see the formatting of packages in these lists is all over the place.
- name: flattened loop demo - name: flattened loop demo
yum: name={{ item }} state=installed yum: name={{ item }} state=installed
with_flattened: with_flattened:
- packages_base - "{{packages_base}}"
- packages_apps - "{{packages_apps}}"
That's how! That's how!
@ -435,7 +435,7 @@ Subsequent loops over the registered variable to inspect the results may look li
fail: fail:
msg: "The command ({{ item.cmd }}) did not have a 0 return code" msg: "The command ({{ item.cmd }}) did not have a 0 return code"
when: item.rc != 0 when: item.rc != 0
with_items: echo.results with_items: "{{echo.results}}"
.. _writing_your_own_iterators: .. _writing_your_own_iterators: