簡體   English   中英

Ansible Playbook中變量的變量

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM