2017-08-09 81 views
-1

我有以下的ansible group_vars數據結構/所有:從group_vars ansible提取值/所有

group_vars/some_group.yml

my_group_var: 
     para_1: 
      type: aaaa 
      limit: bbbb 
     para_2: 
      type: cccc 
      limit: dddd 

如何讀取值?下面是工作代碼:

set_fact: 
    new_var_1: my_group_var['para_1']['type'] 
    new_var_2: my_group_var['para_1']['limit'] 
    new_var_3: my_group_var['para_2']['type'] 
    new_var_4: my_group_var['para_2']['limit'] 

但我想要做的事象下面這樣:

set_fact: 
    set new_var1 to new_var4(just like above)'{{ item }}' 
with_items: 
    - my_group_var 

回答

0

在這裏你去:

--- 
- hosts: localhost 
    gather_facts: no 
    vars: 
    my_group_var: 
      para_1: 
       type: aaaa 
       limit: bbbb 
      para_2: 
       type: cccc 
       limit: dddd 
    tasks: 
    - set_fact: 
     "new_var_{{ item.0 * 2  }}": "{{ my_group_var[item.1]['type'] }}" 
     "new_var_{{ item.0 * 2 + 1 }}": "{{ my_group_var[item.1]['limit'] }}" 
     with_indexed_items: "{{ my_group_var.keys() }}" 
    - debug: 
     var: new_var_{{ item }} 
     with_sequence: start=0 end={{ (my_group_var.keys() | count) * 2 - 1 }} 
+0

謝謝你這麼多.. – haeminish