# Get item from list

**URL:** <https://forum.ansible.com/t/get-item-from-list/21684>\
**Category:** Ansible Project\
**Created:** [June 7, 2016, 10:39am UTC](https://forum.ansible.com/t/get-item-from-list/21684 "2016-06-07T10:39:57Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Trond\_Hindenes](https://avatars.discourse-cdn.com/v4/letter/t/96bed5/32.png) [@Trond\_Hindenes](https://forum.ansible.com/u/Trond_Hindenes)\
**Post date:** [June 7, 2016, 10:39am UTC](https://forum.ansible.com/t/get-item-from-list/21684/1 "2016-06-07T10:39:57Z")

</div>

Hi have the following inside a variable:

[{u’maxDataDiskCount’: 2,  
u’memoryInMB’: 3584,  
u’name’: u’Standard\_DS1’,  
u’numberOfCores’: 1,  
u’osDiskSizeInMB’: 1047552,  
u’resourceDiskSizeInMB’: 7168},  
{u’maxDataDiskCount’: 4,  
u’memoryInMB’: 7168,  
u’name’: u’Standard\_DS2’,  
u’numberOfCores’: 2,  
u’osDiskSizeInMB’: 1047552,  
u’resourceDiskSizeInMB’: 14336},  
{u’maxDataDiskCount’: 8,  
u’memoryInMB’: 14336,  
u’name’: u’Standard\_DS3’,  
u’numberOfCores’: 4,  
u’osDiskSizeInMB’: 1047552,  
u’resourceDiskSizeInMB’: 28672},  
{u’maxDataDiskCount’: 16,  
u’memoryInMB’: 28672,  
u’name’: u’Standard\_DS4’,  
u’numberOfCores’: 8,  
u’osDiskSizeInMB’: 1047552,  
u’resourceDiskSizeInMB’: 57344},  
{u’maxDataDiskCount’: 4,  
u’memoryInMB’: 14336,  
u’name’: u’Standard\_DS11’,  
u’numberOfCores’: 2,  
u’osDiskSizeInMB’: 1047552,  
u’resourceDiskSizeInMB’: 28672}]

I need to get to a given object based on ‘name’

Sorry, this is probably super-easy but I’m strugglig like \*\*\*\* with advanced jinja stuff.

---

<div class="post-metadata">

**Author:** ![Trond\_Hindenes](https://avatars.discourse-cdn.com/v4/letter/t/96bed5/32.png) [@Trond\_Hindenes](https://forum.ansible.com/u/Trond_Hindenes)\
**Post date:** [June 7, 2016, 11:59am UTC](https://forum.ansible.com/t/get-item-from-list/21684/2 "2016-06-07T11:59:54Z")

</div>

btw, I’m able to do this if I use a separate template file:

{% for vm in arm\_vm\_details %}  
{% if vm.name == vm\_size %}  
print ‘hello {{ vm.maxDataDiskCount }}’  
{% endif %}  
{% endfor %}

However, that seems like an uneccessary number of steps, as I simply want to get to the correct values for my given vm size (name). If anyone

---

<div class="post-metadata">

**Author:** ![sivel](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/sivel/32/1198_2.png) [@sivel](https://forum.ansible.com/u/sivel)\
**Post date:** [June 7, 2016, 12:23pm UTC](https://forum.ansible.com/t/get-item-from-list/21684/3 "2016-06-07T12:23:19Z")

</div>

I think the following is roughly equivalent. I haven’t tested it, so there may be some tweaks needed.

{{ (arm\_vm\_details|selectattr(‘name’, ‘equalto’, vm\_size)|first).maxDataDiskCount }}
