Ansible: как создать переменную из другой переменной, а затем извлечь ее значение
Вот моя проблема: мне нужно использовать одну переменную «target_host», а затем добавить «_host» к ее значению, чтобы получить другое имя переменной, значение которой мне нужно. Если вы посмотрите на мою пьесу. Задача nbr 1,2,3 извлекает значение переменной, однако nbr 4 не может сделать то, что я ожидаю. Есть ли другой способ добиться того же в ANSIBLE?
---
- name: "Play to for dynamic groups"
hosts: local
vars:
- target_host: smtp
- smtp_host: smtp.max.com
tasks:
- name: testing
debug: msg={{ target_host }}
- name: testing
debug: msg={{ smtp_host }}
- name: testing
debug: msg={{ target_host }}_host
- name: testing
debug: msg={{ {{ target_host }}_host }}
Output:
TASK: [testing] ***************************************************************
ok: [127.0.0.1] => {
"msg": "smtp"
}
TASK: [testing] ***************************************************************
ok: [127.0.0.1] => {
"msg": "smtp.max.com"
}
TASK: [testing] ***************************************************************
ok: [127.0.0.1] => {
"msg": "smtp_host"
}
TASK: [testing] ***************************************************************
ok: [127.0.0.1] => {
"msg": "{{{{target_host}}_host}}"
}