变量
Ansible variables
我是一个真正的 Ansible 初学者。
有什么方法可以从另一个ansible变量重建一个变量吗?
例如,这个剧本:
- hosts: servers
vars:
ex_server1: First
ex_server2: Second
ex_server3: Third
toto: ex_
tasks:
- debug:
msg: "{{ toto+ansible_hostname }}"
它打印:
ok: [server2] => {
"msg": "ex_server2"
}
ok: [server3] => {
"msg": "ex_server3"
}
ok: [server1] => {
"msg": "ex_server1"
}
而不是“第一”、“第二”和“第三”。
在这种情况下或在 jinja 模板中,有没有办法打印变量内容而不是变量名?
使用查找变量插件
- debug:
msg: "{{ lookup('vars', toto + ansible_hostname) }}"
给予
TASK [debug] ***********************************************************
ok: [server1] =>
msg: First
ok: [server2] =>
msg: Second
ok: [server3] =>
msg: Third
有关插件的详细信息可从命令行获得
shell> ansible-doc -t lookup vars
我是一个真正的 Ansible 初学者。
有什么方法可以从另一个ansible变量重建一个变量吗?
例如,这个剧本:
- hosts: servers
vars:
ex_server1: First
ex_server2: Second
ex_server3: Third
toto: ex_
tasks:
- debug:
msg: "{{ toto+ansible_hostname }}"
它打印:
ok: [server2] => {
"msg": "ex_server2"
}
ok: [server3] => {
"msg": "ex_server3"
}
ok: [server1] => {
"msg": "ex_server1"
}
而不是“第一”、“第二”和“第三”。
在这种情况下或在 jinja 模板中,有没有办法打印变量内容而不是变量名?
使用查找变量插件
- debug:
msg: "{{ lookup('vars', toto + ansible_hostname) }}"
给予
TASK [debug] ***********************************************************
ok: [server1] =>
msg: First
ok: [server2] =>
msg: Second
ok: [server3] =>
msg: Third
有关插件的详细信息可从命令行获得
shell> ansible-doc -t lookup vars