【发布时间】:2019-09-02 16:31:32
【问题描述】:
我的库存中有多个以“my_var_*”开头的 dict 变量。我想将这些组合成一个名为'my_var'的字典数组
在我的剧本中,我使用 'set_fact:' 来创建 'my_var' 变量,方法是尝试使用选择过滤器和匹配正则表达式从“hostvars ['localhost']”中提取匹配变量,但仅加入有效在弦上。
变量.yml
my_var_1:
element1: value11
element2: value12
my_var_2:
element1: value21
element2: value22
playbook.yml
- hosts: localhost
connection: local
gather_facts: False
tasks:
- set_fact:
my_var: "{{ hostvars['localhost'] | select('match', '^my_var_*') | join(', ' }}"
- debug:
msg: "{{ my_var }}"
是否可以像这样将这些 'dict' 变量加入到一个 'array' 中?
my_var:
- element1: value11
element2: value12
- element1: value21
element2: value22
甚至可能
my_var:
- name: 1
element1: value11
element2: value12
- name: 2
element1: value21
element2: value22
【问题讨论】: