ansible从组变量/all中提取值

ansible从组变量/all中提取值,ansible,Ansible,我在ansible group_vars/all中有以下数据结构: group\u vars/some\u group.yml 如何读取值?以下是工作代码: 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_grou

我在ansible group_vars/all中有以下数据结构:

group\u vars/some\u group.yml

如何读取值?以下是工作代码:

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
给你:

---
- 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 }}
---
- 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 }}