# Use variable with item in when condition in ansible task

**URL:** <https://forum.ansible.com/t/use-variable-with-item-in-when-condition-in-ansible-task/36946>\
**Category:** Ansible Project\
**Tags:** vmware\
**Created:** [August 4, 2022, 6:41am UTC](https://forum.ansible.com/t/use-variable-with-item-in-when-condition-in-ansible-task/36946 "2022-08-04T06:41:05Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Pugazhendhi\_Ramakris](https://avatars.discourse-cdn.com/v4/letter/p/f05b48/32.png) [@Pugazhendhi\_Ramakris](https://forum.ansible.com/u/Pugazhendhi_Ramakris)\
**Post date:** [August 4, 2022, 6:41am UTC](https://forum.ansible.com/t/use-variable-with-item-in-when-condition-in-ansible-task/36946/1 "2022-08-04T06:41:05Z")

</div>

I’m using the below playbook to capture the vmware datacenter information, which is working fine without any issues:

---

<div class="post-metadata">

**Author:** ![dnmvisser](https://avatars.discourse-cdn.com/v4/letter/d/8e8cbc/32.png) [@dnmvisser](https://forum.ansible.com/u/dnmvisser)\
**Post date:** [August 4, 2022, 8:18am UTC](https://forum.ansible.com/t/use-variable-with-item-in-when-condition-in-ansible-task/36946/2 "2022-08-04T08:18:07Z")

</div>

what are you trying to do exactly?  
i.e. what do you expect the debug task to show?

without knowing the structure of the datacenter variable, it’s not really possible to help

---

<div class="post-metadata">

**Author:** ![Walter\_Rowe](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/walter_rowe/32/4506_2.png) [@Walter\_Rowe](https://forum.ansible.com/u/Walter_Rowe)\
**Post date:** [August 4, 2022, 1:17pm UTC](https://forum.ansible.com/t/use-variable-with-item-in-when-condition-in-ansible-task/36946/3 "2022-08-04T13:17:24Z")

</div>

Your output tells you everything you need to know.

skipping: [localhost] =\> (item={ **‘name’: ‘Datacenter-Test’** , ‘moid’: ‘datacenter-1247’, ‘config\_status’: ‘gray’, ‘overall\_status’: ‘gray’})  
skipping: [localhost] =\> (item={ **‘name’: ‘opendc-rookie’** , ‘moid’: ‘datacenter-2’, ‘config\_status’: ‘gray’, ‘overall\_status’: ‘gray’})  
skipping: [localhost]

Your condition is

when:

- [item.name](http://item.name) is defined  
**- [item.name](http://item.name) == “datacenter”**

In all of the data processed by the look, the value of **‘name’** is never **‘datacenter’** so the task is skipped.
