# How do I pass a list as an --extra-vars

**URL:** <https://forum.ansible.com/t/how-do-i-pass-a-list-as-an-extra-vars/17028>\
**Category:** Ansible Project\
**Created:** [December 11, 2014, 5:22pm UTC](https://forum.ansible.com/t/how-do-i-pass-a-list-as-an-extra-vars/17028 "2014-12-11T17:22:20Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![oravirt](https://avatars.discourse-cdn.com/v4/letter/o/3e96dc/32.png) [@oravirt](https://forum.ansible.com/u/oravirt)\
**Post date:** [December 11, 2014, 5:22pm UTC](https://forum.ansible.com/t/how-do-i-pass-a-list-as-an-extra-vars/17028/1 "2014-12-11T17:22:20Z")

</div>

Hi,

I got a list that looks like this

listname:

- name: ble  
version: 1  
path: /some/path  
…  
…

which is accessed as

- name: do something  
shell: run some command  
with\_items: listname

If I want to pass the list to a playbook as an --extra-vars, how would I do that?

regards  
/M

---

<div class="post-metadata">

**Author:** ![James\_Cammarata](https://avatars.discourse-cdn.com/v4/letter/j/7c8e57/32.png) [@James\_Cammarata](https://forum.ansible.com/u/James_Cammarata)\
**Post date:** [December 11, 2014, 5:36pm UTC](https://forum.ansible.com/t/how-do-i-pass-a-list-as-an-extra-vars/17028/2 "2014-12-11T17:36:09Z")

</div>

Hi Mikael,

There are essentially two ways you can do this:

1. Use quoted JSON
2. Put the data in either a JSON or YAML file.

Please refer to the documentation here for more details: [http://docs.ansible.com/playbooks\_variables.html#passing-variables-on-the-command-line](http://docs.ansible.com/playbooks_variables.html#passing-variables-on-the-command-line)

Thanks!

---

<div class="post-metadata">

**Author:** ![oravirt](https://avatars.discourse-cdn.com/v4/letter/o/3e96dc/32.png) [@oravirt](https://forum.ansible.com/u/oravirt)\
**Post date:** [December 11, 2014, 7:30pm UTC](https://forum.ansible.com/t/how-do-i-pass-a-list-as-an-extra-vars/17028/3 "2014-12-11T19:30:51Z")

</div>

Thanks!

I cant get it to behave as a ‘normal’ list though, so obviously I’m doing something wrong.

If I run this playbook without extra vars:

`

---

<div class="post-metadata">

**Author:** ![Michael\_DeHaan1](https://avatars.discourse-cdn.com/v4/letter/m/5e9695/32.png) [@Michael\_DeHaan1](https://forum.ansible.com/u/Michael_DeHaan1)\
**Post date:** [December 11, 2014, 7:44pm UTC](https://forum.ansible.com/t/how-do-i-pass-a-list-as-an-extra-vars/17028/4 "2014-12-11T19:44:43Z")

</div>

JSON needs to be valid JSON 🙂

---

<div class="post-metadata">

**Author:** ![oravirt](https://avatars.discourse-cdn.com/v4/letter/o/3e96dc/32.png) [@oravirt](https://forum.ansible.com/u/oravirt)\
**Post date:** [December 11, 2014, 8:10pm UTC](https://forum.ansible.com/t/how-do-i-pass-a-list-as-an-extra-vars/17028/5 "2014-12-11T20:10:07Z")

</div>

Well, I guess that helps 😉 it’s been a long day…

All good now, thanks!  
/M

---

<div class="post-metadata">

**Author:** ![oravirt](https://avatars.discourse-cdn.com/v4/letter/o/3e96dc/32.png) [@oravirt](https://forum.ansible.com/u/oravirt)\
**Post date:** [December 11, 2014, 8:56pm UTC](https://forum.ansible.com/t/how-do-i-pass-a-list-as-an-extra-vars/17028/6 "2014-12-11T20:56:23Z")

</div>

And just for completeness sake:

`  
ansible-playbook extravar.yml -e ‘{“listname”:[{“name”:“foo”,“path”:“/asd/bsdfr”, “version”:“2”}]}’

PLAY [localhost] \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*

TASK: [test extravars] \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
ok: [localhost] =\> (item={u’path’: u’/asd/bsdfr’, u’version’: u’2’, u’name’: u’foo’}) =\> {  
“item”: {  
“name”: “foo”,  
“path”: “/asd/bsdfr”,  
“version”: “2”  
},  
“msg”: “version - 2”  
}

`

Thanks!  
/M
