Эй, я понимаю ситуацию. Есть несколько способов решить эту проблему, это также зависит от того, чего мы достигнем к ansible.
Итак, из вышеприведенной ситуации я мог бы предложить одно небольшое простое решение. Но, как я сказал, есть несколько способов сделать это, и это один из них. Возможно, вы увидите, что каждый вносит свой вклад в этот вопрос.
Вот одно из решений:
app-inputs/app1.yml
переменные будут выглядеть как
---
app_name: "labo.eng.inet.com"
environment:
- int
- lab
roles/buld_config/tasks/main.yml
ваша задача будет выглядеть как
---
- name: create destination file
file:
path: "{{ item[0] }}/{{ item[2] }}.{{ item[1] }}.yml"
with_nested:
- "{{ config_folders }}"
- "{{ app_name }}"
- "{{ environment }}"
Надеюсь, это поможет, но это похоже на взлом. Я могу предложить еще кое-что на основе вашего комментария.
Обновление
На основе комментария приведен обновленный ответ, опять же, есть несколько способов добиться этого.
app-inputs/app1.yml
переменные будут выглядеть так:
---
app_name_lab: "labo.eng.lab.inet.com"
app_name_int: "labo.eng.int.inet.com"
#I am aware environment is a reserved keyword in ansible, use your own word.
environment:
- int
- lab
roles/build_config/tasks/main.yml
ваша задача будет выглядеть как
---
- name: create destination file
file:
path: "{{ item[0] }}/{{ vars['app_name_'+item[1] ] }}.yml"
with_nested:
- "{{ config_folders }}"
- "{{ environment }}"
Надеюсь, это решит вашу проблему. Опять же, это не единственно возможное решение, можно достичь этого несколькими способами.