# How to do 3 with\_items in the same task ?

**URL:** <https://forum.ansible.com/t/how-to-do-3-with-items-in-the-same-task/32126>\
**Category:** Ansible Project\
**Created:** [February 4, 2020, 12:31am UTC](https://forum.ansible.com/t/how-to-do-3-with-items-in-the-same-task/32126 "2020-02-04T00:31:21Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Anand\_Solomon](https://avatars.discourse-cdn.com/v4/letter/a/6f9a4e/32.png) [@Anand\_Solomon](https://forum.ansible.com/u/Anand_Solomon)\
**Post date:** [February 4, 2020, 12:31am UTC](https://forum.ansible.com/t/how-to-do-3-with-items-in-the-same-task/32126/1 "2020-02-04T00:31:21Z")

</div>

Hi,  
I am reading 3 different variable from a text file and want to iterate in 3 different with\_items.

variablefile.yml

vars1 :

- first\_value1
- first\_value 2

var2:

- second\_value1
- second\_value2

var3:

- third\_value1
- third\_value2

I want to read the value from the text file and pass that as a variable in loop.

var\_value1: “{{ item }}”  
with\_items: “{{ var\_value1}}”

var\_value2: “{{ item }}”  
with\_items: “{{ var\_value2}}”

var\_value3: “{{ item }}”  
with\_items: “{{ var\_value3}}”

Not sure how do I do this ?

---

<div class="post-metadata">

**Author:** ![vbotka](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/vbotka/32/359_2.png) [@vbotka](https://forum.ansible.com/u/vbotka)\
**Post date:** [February 4, 2020, 4:36am UTC](https://forum.ansible.com/t/how-to-do-3-with-items-in-the-same-task/32126/2 "2020-02-04T04:36:24Z")

</div>

The tasks below

&nbsp;&nbsp;&nbsp;&nbsp;- include\_vars: variablefile.yml  
&nbsp;&nbsp;&nbsp;&nbsp;- debug:  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var: item  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;loop: "{{ var1 + var2 + var3 }}"

give

&nbsp;&nbsp;&nbsp;&nbsp;"item": "first\_value1"  
&nbsp;&nbsp;&nbsp;&nbsp;"item": "first\_value2"  
&nbsp;&nbsp;&nbsp;&nbsp;"item": "second\_value1"  
&nbsp;&nbsp;&nbsp;&nbsp;"item": "second\_value2"  
&nbsp;&nbsp;&nbsp;&nbsp;"item": "third\_value1"  
&nbsp;&nbsp;&nbsp;&nbsp;"item": "third\_value2"

HTH,

&nbsp;&nbsp;-vlado

---

<div class="post-metadata">

**Author:** ![Anand\_Solomon](https://avatars.discourse-cdn.com/v4/letter/a/6f9a4e/32.png) [@Anand\_Solomon](https://forum.ansible.com/u/Anand_Solomon)\
**Post date:** [February 5, 2020, 2:25pm UTC](https://forum.ansible.com/t/how-to-do-3-with-items-in-the-same-task/32126/3 "2020-02-05T14:25:18Z")

</div>

Thanks very much.

Basically what I want is , I have a file to store my variable, it has the following contents

value1: Something1  
value2: Something2

privs1: privs\_value1  
privs2: privs\_value2

In my playbook, I want to iterate this

value: “{{value1}}”  
privilege: “{{privs1}}”

value: “{{value2}}”  
privilege: “{{privs2}}”

---

<div class="post-metadata">

**Author:** ![vbotka](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/vbotka/32/359_2.png) [@vbotka](https://forum.ansible.com/u/vbotka)\
**Post date:** [February 5, 2020, 4:11pm UTC](https://forum.ansible.com/t/how-to-do-3-with-items-in-the-same-task/32126/4 "2020-02-05T16:11:56Z")

</div>

Create the lists of the variables and use "zip" too loop them. For example

&nbsp;&nbsp;&nbsp;- set\_fact:  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;value\_keys: "{{ hostvars[inventory\_hostname].keys()|  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;select('match', '^value(.\*)$')|  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list\>sort }}"  
&nbsp;&nbsp;&nbsp;&nbsp;- set\_fact:  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;value\_list: "{{ value\_keys|  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;map('extract', hostvars[inventory\_hostname])|  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list }}"  
&nbsp;&nbsp;&nbsp;&nbsp;- set\_fact:  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;privs\_keys: "{{ hostvars[inventory\_hostname].keys()|  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;select('match', '^privs(.\*)$')|  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list\>sort }}"  
&nbsp;&nbsp;&nbsp;&nbsp;- set\_fact:  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;privs\_list: "{{ privs\_keys|  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;map('extract', hostvars[inventory\_hostname])|  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list }}"  
&nbsp;&nbsp;&nbsp;&nbsp;- debug:  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;msg: "value: {{ item.0 }} privilege: {{ item.1 }}"  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;loop: "{{ value\_list|zip(privs\_list)|list }}"

give

&nbsp;&nbsp;&nbsp;&nbsp;"msg": "value: Something1 privilege: privs\_value1"  
&nbsp;&nbsp;&nbsp;&nbsp;"msg": "value: Something2 privilege: privs\_value2"

HTH,

&nbsp;&nbsp;-vlado
