Ansible: wie man eine Variable aus einer anderen Variable konstruiert und dann ihren Wert abruft
Hier ist mein Problem, ich muss eine Variable 'target_host' verwenden und dann '_host' an ihren Wert anhängen, um einen anderen Variablennamen zu erhalten, dessen Wert ich benötige. Wenn Sie sich mein Spielbuch ansehen. Aufgabe Nr. 1,2,3 holt den Wert der Variablen, aber Nr. 4 kann nicht das tun, was ich erwarte. Gibt es eine andere Möglichkeit, dasselbe in Ansible zu erreichen?
---
- 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}}"
}