Hello,
my company (me) recently started using Ansible (1.7.1) for multi-stage server provisioning (both on local vagrant and ec2). Even though i haven’t utilized the variable much, i have defined:
environment: production
on the environment specific group_vars file; its value can be “development”, “production”, “staging”, etc. In the same group_vars file, for provisioning Postgresql databases i am utilizing the “ANXS.postgresql” Galaxy module and defining databases in variables as well:
postgresql_databases:
- name: app_production
hstore: yes
uuid_ossp: no
I had initially planned to suffix the environment variable in the database name (not only on databases but other sections of the playbooks) :
postgresql_databases:
- name: app_{{ environment }}
hstore: yes
uuid_ossp: no
but the resulting database name after substitution becomes “app_{}” and i believe it is related, but not only, to the database task using with_items:
- name: PostgreSQL | Make sure the PostgreSQL databases are present
postgresql_db:
name: “{{item.name}}”
encoding: “{{postgresql_encoding}}”
lc_collate: “{{postgresql_locale}}”
lc_ctype: “{{postgresql_locale}}”
template: “template0”
state: present
with_items: postgresql_databases
when: postgresql_databases|length > 0
Is it possible to use this substitution pattern (utilizing variables with other variables in its value as a list value), or am i just using the wrong pattern and just use explicit names (name_X instead of name_{{ var1 }}) ?
Thank you