我们有两个变量文件,第一个文件带有常量,第二个变量来自生成的输出。
firstfile.yml
---
prefix: test
secondfile.yml
---
test_variable: 12345
我们想要调用test_variable,但变量的形成应该是来自firstfile.yml而不是"{{ test_variable }}"
示例:
- hosts: localhost
connection: local
vars:
constants: firstfile.yml
variables: seconfile.yml
vars_files:
- [ "{{ constants }}, {{ variables }}"
tasks:
name: test_name
field: "{{ prefix }}_variable"
错误:'test_variable' does not exist</Message></Error></Errors>
答案 0 :(得分:0)
您应该使用debug模块在Ansible中显示变量。
您必须引用每个模板表达式括号,而不是全部。如果要包含多个变量文件,可以为每个文件使用单独的行或使用列表,不应该组合2个方法。
修改后的剧本:
---
- hosts: localhost
connection: local
vars:
constants: firstfile.yml
variables: secondfile.yml
vars_files: ["{{ constants }}", "{{ variables }}"]
tasks:
- debug: var="{{ prefix }}_variable"
结果:
TASK: [debug var="{{ prefix }}_variable"] *************************************
ok: [localhost] => {
"var": {
"test_variable": "12345"
}
}