# Changing variable value based on another variable value

**URL:** <https://forum.ansible.com/t/changing-variable-value-based-on-another-variable-value/31923>\
**Category:** Ansible Project\
**Created:** [January 7, 2020, 1:41pm UTC](https://forum.ansible.com/t/changing-variable-value-based-on-another-variable-value/31923 "2020-01-07T13:41:12Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Yehuda\_Pinhas](https://avatars.discourse-cdn.com/v4/letter/y/a9a28c/32.png) [@Yehuda\_Pinhas](https://forum.ansible.com/u/Yehuda_Pinhas)\
**Post date:** [January 7, 2020, 1:41pm UTC](https://forum.ansible.com/t/changing-variable-value-based-on-another-variable-value/31923/1 "2020-01-07T13:41:12Z")

</div>

Hi guys!

This is my code:

---

<div class="post-metadata">

**Author:** ![vbotka](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/vbotka/32/359_2.png) [@vbotka](https://forum.ansible.com/u/vbotka)\
**Post date:** [January 7, 2020, 2:32pm UTC](https://forum.ansible.com/t/changing-variable-value-based-on-another-variable-value/31923/2 "2020-01-07T14:32:44Z")

</div>

> &nbsp;&nbsp;qos\_policy: qos-nested-new-10m  
> &nbsp;&nbsp;&nbsp;when: "{{ bandwidth\_mb }} == '10'"  
> &nbsp;&nbsp;qos\_policy: qos-nested-new-20m  
> &nbsp;&nbsp;&nbsp;when: "{{ bandwidth\_mb }} == '20'"
> 
> #### Modify: ####  
> &nbsp;&nbsp;bandwidth\_mb: 10
> 
> \*I'm trying to create a condition for the qos\_policy variable:\*  
> if bandwidth\_mb = 10 then qos\_policy = qos-nested-new-10m  
> if bandwidth\_mb = 20 then qos\_policy = qos-nested-new-20m

Concatenate the strings. For example

&nbsp;&nbsp;&nbsp;&nbsp;- hosts: localhost  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;vars:  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bandwidth\_mb: 10  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tasks:  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- set\_fact:  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;qos\_policy: "{{ 'qos-nested-new-' +  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bandwidth\_mb|string +  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'m' }}"  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- debug:  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var: qos\_policy

gives

&nbsp;&nbsp;&nbsp;&nbsp;ok: [localhost] =\> {  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"qos\_policy": "qos-nested-new-10m"  
&nbsp;&nbsp;&nbsp;&nbsp;}

> \*The errors im receiving on all my previous attempts to do this code are:\*  
> 1. invalid syntax  
> &nbsp;&nbsp;&nbsp;when: "{{ bandwidth\_mb }} == '10'"

The conditions are expanded by default. Try

&nbsp;&nbsp;&nbsp;&nbsp;- debug:  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;msg: Bandwidth is 10 MB  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;when: bandwidth\_mb == 10

HTH,

&nbsp;&nbsp;-vlado

---

<div class="post-metadata">

**Author:** ![Yehuda\_Pinhas](https://avatars.discourse-cdn.com/v4/letter/y/a9a28c/32.png) [@Yehuda\_Pinhas](https://forum.ansible.com/u/Yehuda_Pinhas)\
**Post date:** [January 8, 2020, 7:48am UTC](https://forum.ansible.com/t/changing-variable-value-based-on-another-variable-value/31923/3 "2020-01-08T07:48:09Z")

</div>

Thank you vladimir!  
working now

בתאריך יום שלישי, 7 בינואר 2020 בשעה 16:34:47 UTC+2, מאת Vladimir Botka:
