我正在尝试访问group_vars
group_vars /所有
parent1:
child1: somevalue1
child2: somevalue2
parent2:
child1: somevalue1
child2: somevalue2
现在我正在传递parent
详细信息来自ansible playbook extra vars
此
ansible-playbook playbook.yml -e "parent=parent1"
现在如何在parent1.child1
vars中parent1
附近{{ parent }}
访问- 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 }}
值?
我的剧本如下: -
playbook.yml
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
Playbook输出: -
{{1}}
任何人都可以指导我如何实现这个或任何替代解决方案。
答案 0 :(得分:3)
我是怎么做到的
更改group_vars / all如下: -
data:
parent1:
child1: somevalue1
child2: somevalue2
parent2:
child1: somevalue1
child2: somevalue2
playbook.yml的变化: -
- debug: msg={{ data[parent].child1 }}
如果您有更好的解决方案,请分享:)