Trying to dynamically load var files

403 views
Skip to first unread message

Chris

unread,
Feb 29, 2016, 10:43:13 PM2/29/16
to Ansible Project
I'm not seeing a clear way on how to do this in the docs, and maybe there is some other way to go about it. Basically I want to load up data about multiple applications to use in a template. I tried using include_vars, but I'm not seeing how to dynamically load that. I currently have this structure:

groups_vars/staging_apps.yml:
---
apps: ['app1','app2']

I want to then load these files by using the app names from above:
groups_vars/apps/app1.yml
groups_vars/apps/app2.yml

Those files would have additional variables that define each app.

In the task I was thinking something along the lines of:

---
  - include_vars: group_vars/staging.yml

  - name: Print apps
    debug: msg="App {{ apps }}"

  - include_vars:
.. etc

Any help is appreciated.

Brian Coca

unread,
Mar 1, 2016, 12:22:49 AM3/1/16
to ansible...@googlegroups.com
first, don't put anything under group_vars/host_vars that you want to selectively load, these files will load automatically if matched. Using include_vars against group/host_vars is not recommended.

2nd the easiest way is putting them in a vars/ folder adjacent to play (or in role) and use include_vars:

- include_vars: "{{item}}.yml"
  with_items: "{{apps}}" 

if what you want it to load both files with last one overriding previous ones when the same vars are in multiple files.

--
You received this message because you are subscribed to the Google Groups "Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ansible-proje...@googlegroups.com.
To post to this group, send email to ansible...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/e1eb9e2b-82ba-4bf3-8f1a-a3a235fe371e%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--
----------
Brian Coca

Chris

unread,
Mar 1, 2016, 12:03:16 PM3/1/16
to Ansible Project
That's what I needed, thanks!!
Reply all
Reply to author
Forward
0 new messages