# include\_vars in folders

**URL:** <https://forum.ansible.com/t/include-vars-in-folders/32240>\
**Category:** Ansible Project\
**Created:** [February 15, 2020, 3:00am UTC](https://forum.ansible.com/t/include-vars-in-folders/32240 "2020-02-15T03:00:05Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Eric\_Chang](https://avatars.discourse-cdn.com/v4/letter/e/e68b1a/32.png) [@Eric\_Chang](https://forum.ansible.com/u/Eric_Chang)\
**Post date:** [February 15, 2020, 3:00am UTC](https://forum.ansible.com/t/include-vars-in-folders/32240/1 "2020-02-15T03:00:05Z")

</div>

according to [https://docs.ansible.com/ansible/2.5/modules/include\_vars\_module.html](https://docs.ansible.com/ansible/2.5/modules/include_vars_module.html)

this task should load all yaml files in /home/yaml/users and assign to var ‘users’

> - name: load yaml using include\_vars with dir  
> include\_vars:  
> name: ‘users’  
> dir: /home/yaml/users/  
> delegate\_to: localhost
> 
> - name: debug users  
> debug:  
> var: ‘users’

but why debug message shows only the last yaml file content , not the all ??

---

<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:** [February 15, 2020, 3:38am UTC](https://forum.ansible.com/t/include-vars-in-folders/32240/2 "2020-02-15T03:38:41Z")

</div>

Works as expected for me. For example the files

&nbsp;&nbsp;$ cat yaml/users/user1.yml  
&nbsp;&nbsp;user1: 'user1\_var'  
&nbsp;&nbsp;$ cat yaml/users/user2.yml  
&nbsp;&nbsp;user2: 'user2\_var'  
&nbsp;&nbsp;$ cat yaml/users/user3.yml  
&nbsp;&nbsp;user3: 'user3\_var'

give

&nbsp;&nbsp;&nbsp;&nbsp;"users": {  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"user1": "user1\_var",  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"user2": "user2\_var",  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"user3": "user3\_var"  
&nbsp;&nbsp;&nbsp;&nbsp;}

Probably, you might be interested in "DEFAULT\_HASH\_BEHAVIOUR"  
[https://docs.ansible.com/ansible/latest/reference\_appendices/config.html#default-hash-behaviour](https://docs.ansible.com/ansible/latest/reference_appendices/config.html#default-hash-behaviour)

With the changed variables in the files

&nbsp;&nbsp;$ cat yaml/users/user1.yml  
&nbsp;&nbsp;user: 'user1\_var'  
&nbsp;&nbsp;$ cat yaml/users/user2.yml  
&nbsp;&nbsp;user: 'user2\_var'  
&nbsp;&nbsp;$ cat yaml/users/user3.yml  
&nbsp;&nbsp;user: 'user3\_var'

the variables overwrite each other, as expected

&nbsp;&nbsp;&nbsp;&nbsp;"users": {  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"user": "user3\_var"  
&nbsp;&nbsp;&nbsp;&nbsp;}

HTH,

&nbsp;&nbsp;-vlado

---

<div class="post-metadata">

**Author:** ![Eric\_Chang](https://avatars.discourse-cdn.com/v4/letter/e/e68b1a/32.png) [@Eric\_Chang](https://forum.ansible.com/u/Eric_Chang)\
**Post date:** [February 15, 2020, 8:16am UTC](https://forum.ansible.com/t/include-vars-in-folders/32240/3 "2020-02-15T08:16:02Z")

</div>

so any suggesions to combine multiple yaml files with same attributes ?

---

<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:** [February 15, 2020, 9:42am UTC](https://forum.ansible.com/t/include-vars-in-folders/32240/4 "2020-02-15T09:42:39Z")

</div>

Sure. For example

&nbsp;&nbsp;&nbsp;&nbsp;- set\_fact:  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;users: "{{ users|  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;default({})|  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;combine({my\_key: my\_value}) }}"  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;vars:  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;my\_key: "{{ (item|basename|splitext).0 }}"  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;my\_value: "{{ lookup('file', item)|from\_yaml }}"  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;with\_fileglob: "yaml/users2/\*.yml"  
&nbsp;&nbsp;&nbsp;&nbsp;- debug:  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var: users

give

&nbsp;&nbsp;&nbsp;&nbsp;"users": {  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"user1": {  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"user": "user1\_var"  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;},  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"user2": {  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"user": "user2\_var"  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;},  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"user3": {  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"user": "user3\_var"  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}  
&nbsp;&nbsp;&nbsp;&nbsp;}

HTH,

&nbsp;&nbsp;-vlado
