Oto mój problem Muszę użyć jednej zmiennej 'target_host', a następnie dopisać '_host' do jej wartości, aby uzyskać inną nazwę zmiennej, której potrzebuję. Jeśli spojrzysz na mój poradnik. Zadanie nbr 1,2,3 przynosi wartość zmiennej, jednak nbr 4 nie jest w stanie wykonać tego, czego się spodziewam. Czy istnieje inny sposób osiągnięcia tego samego w ansibla?Odpowiedź: jak skonstruować zmienną z innej zmiennej, a następnie pobrać jej wartość
---
- 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}}"
}
Kashyapa I n Aby przejść o jeden poziom wyżej niż to. Wyobraź sobie, że istnieje inna zmienna "smtp_host" i chcę ją skonstruować w czasie wykonywania, używając innej zmiennej (target_host) i dołączając do niej ciąg "_host". = {{{target_host}} _ host}} – Max
Za każdym razem, gdy ktoś dzwoni "ansibli-playbook test.yml -i hosts" w playbooku, kotka umiera. – J0hnG4lt
@ J0hnG4lt: D: D – Kashyap