# error with appending list in Ansible

**URL:** <https://forum.ansible.com/t/error-with-appending-list-in-ansible/36869>\
**Category:** Ansible Project\
**Tags:** aws\
**Created:** [July 19, 2022, 8:47am UTC](https://forum.ansible.com/t/error-with-appending-list-in-ansible/36869 "2022-07-19T08:47:46Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![maulik\_patel](https://avatars.discourse-cdn.com/v4/letter/m/ec9cab/32.png) [@maulik\_patel](https://forum.ansible.com/u/maulik_patel)\
**Post date:** [July 19, 2022, 8:47am UTC](https://forum.ansible.com/t/error-with-appending-list-in-ansible/36869/1 "2022-07-19T08:47:46Z")

</div>

I’m trying to append new tunnel interface to empty list, but i’m got below error. Can you please help me out here ?

**tasks:**  
**- name: empty list**  
**set\_fact:**  
**list\_tunnel: []**

**- name: create new list for tunnel**  
**set\_fact:**  
**list\_tunnel\_new: “{{ list\_tunnel + [‘tunnel.{{item}}’] }}”**  
**loop: “{{ range(1,10)|list}}”**

**error:**

_**fatal: [SJL]: FAILED! =\> {“msg”: “The task includes an option with an undefined variable. The error was: ‘item’ is undefined\n\nThe error appears to be in ‘/etc/ansible/aws/interface\_palo\_facts.yaml’: line 34, column 12, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n\n - name: print facts\n ^ here\n”}**_

thank you…!!

---

<div class="post-metadata">

**Author:** ![Akasurde](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/akasurde/32/230_2.png) [@Akasurde](https://forum.ansible.com/u/Akasurde)\
**Post date:** [July 19, 2022, 9:30am UTC](https://forum.ansible.com/t/error-with-appending-list-in-ansible/36869/2 "2022-07-19T09:30:13Z")

</div>

You can do this –

```auto
- set_fact:
list_tunnel: "{{ result }}"
vars:
prefix: tunnel
a_list: "{{ range(1, 10) | list }}"
result: "{{ [prefix] | product(a_list) | map('join', '.') | list }}"

- debug:
msg: "{{ list_tunnel }}"

```

or

```auto
- name: create new list for tunnel
set_fact:
list_tunnel: "{{ list_tunnel | default([]) + ['tunnel.' + item | string] }}"
loop: "{{ range(1,10) | list}}"

- debug:
msg: "{{ list_tunnel }}"

```

---

<div class="post-metadata">

**Author:** ![maulik\_patel](https://avatars.discourse-cdn.com/v4/letter/m/ec9cab/32.png) [@maulik\_patel](https://forum.ansible.com/u/maulik_patel)\
**Post date:** [July 19, 2022, 12:19pm UTC](https://forum.ansible.com/t/error-with-appending-list-in-ansible/36869/3 "2022-07-19T12:19:24Z")

</div>

hi @abhijeet,

thanks for sharing a solution… first solution works like a champ…2nd is only giving last element…

---

<div class="post-metadata">

**Author:** ![Akasurde](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/akasurde/32/230_2.png) [@Akasurde](https://forum.ansible.com/u/Akasurde)\
**Post date:** [July 19, 2022, 4:03pm UTC](https://forum.ansible.com/t/error-with-appending-list-in-ansible/36869/4 "2022-07-19T16:03:54Z")

</div>

I get correct output with 2nd solution as well

TASK [debug] \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
ok: [localhost] =\> {  
“msg”: [  
“tunnel.1”,  
“tunnel.2”,  
“tunnel.3”,  
“tunnel.4”,  
“tunnel.5”,  
“tunnel.6”,  
“tunnel.7”,  
“tunnel.8”,  
“tunnel.9”  
]  
}
