[英]Variable of variable in Ansible Playbook
我正在尝试访问在group_vars
定义的group_vars
group_vars /全部
parent1:
child1: somevalue1
child2: somevalue2
parent2:
child1: somevalue1
child2: somevalue2
现在我从像这样的ansible剧本的额外变量中传递parent
细节
ansible-playbook playbook.yml -e "parent=parent1"
现在,我如何才能获得parent1.child1
值,其中parent1
进来{{ parent }}
瓦尔?
我的剧本看起来像这样:
playbook.yml
- hosts: local
user: roop
gather_facts: no
connection: local
vars:
parent: ""
tasks:
#get parent value
- debug: msg={{ parent }}
#trying to access parent1.child1 value here
- debug: msg={{ {{ parent }}.child1 }}
剧本输出:-
PLAY [local] ******************************************************************
TASK: [debug msg=local] *******************************************************
ok: [127.0.0.1] => {
"msg": "parent1"
}
TASK: [debug msg={{{{parent}}.child1}}] ***************************************
ok: [127.0.0.1] => {
"msg": "{{{{parent}}.child1}}"
}
PLAY RECAP ********************************************************************
127.0.0.1 : ok=2 changed=0 unreachable=0 failed=0
任何人都可以指导我如何实现此目标或任何其他解决方案。
我是如何做到的
更改group_vars /如下所示:-
data:
parent1:
child1: somevalue1
child2: somevalue2
parent2:
child1: somevalue1
child2: somevalue2
在playbook.yml中进行更改:-
- debug: msg={{ data[parent].child1 }}
如果您有更好的解决方案,请分享:)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.