# How to take a key matches value in fact

**URL:** <https://forum.ansible.com/t/how-to-take-a-key-matches-value-in-fact/36500>\
**Category:** Ansible Project\
**Created:** [April 1, 2022, 10:33am UTC](https://forum.ansible.com/t/how-to-take-a-key-matches-value-in-fact/36500 "2022-04-01T10:33:36Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![yuvaraj\_k](https://avatars.discourse-cdn.com/v4/letter/y/ba8739/32.png) [@yuvaraj\_k](https://forum.ansible.com/u/yuvaraj_k)\
**Post date:** [April 1, 2022, 10:33am UTC](https://forum.ansible.com/t/how-to-take-a-key-matches-value-in-fact/36500/1 "2022-04-01T10:33:36Z")

</div>

json:

“ec2\_asg”: {  
“changed”: false,  
“failed”: false,  
“results”: [

{  
“tags”: [  
{  
“key”: “peer\_discovery\_backend”,  
“propagate\_at\_launch”: true,  
“resource\_id”: “AnsibleASG”,  
“resource\_type”: “auto-scaling-group”,  
“value”: “Rabbitmq”

}  
]  
}

- name: Find a group with matching name/prefix and tags  
ec2\_asg\_info:  
name: “{{ AUTOSCALING\_GROUP\_NAME }}”  
register: ec2\_asg

- name: ASG Facts  
set\_fact:  
PEER\_DISCOVERY\_BACKEND: “{{**ec2\_asg | json\_query('ec2\_asg.results[0].tags[0][?key==‘peer\_discovery\_backend’].value**’) }}”

getting errror

Thanks  
Yuvaraj K

---

<div class="post-metadata">

**Author:** ![Dick\_Visser](https://avatars.discourse-cdn.com/v4/letter/d/d9b06d/32.png) [@Dick\_Visser](https://forum.ansible.com/u/Dick_Visser)\
**Post date:** [April 4, 2022, 10:07am UTC](https://forum.ansible.com/t/how-to-take-a-key-matches-value-in-fact/36500/2 "2022-04-04T10:07:49Z")

</div>

Try:

&nbsp;&nbsp;&nbsp;&nbsp;- name: ASG Facts  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;set\_fact:  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PEER\_DISCOVERY\_BACKEND: "{{ ec2\_asg|json\_query('results[0].tags[?key==`peer_discovery_backend`]|[0].value') }}"

Dick Visser  
GÉANT
