Ansible 合并/连接变量

Ansible 合并/连接变量,ansible,Ansible,我希望定义一个变量,但是它的一部分需要在别处定义。e、 g file1: var: - name: var foo: foo file2: var: - name: var bar: bar 然后我希望迭代item.name并打印var.foo和var.bar。情况是,我可能想用file3替换file2 file3: var: - name: var bar: baz 但仍然保留其他价值观 e、 g env1=foo=foo-bar=bar env2=foo=foo

我希望定义一个变量,但是它的一部分需要在别处定义。e、 g

file1:
var:
 - name: var
   foo: foo

file2:
var:
 - name: var
   bar: bar
然后我希望迭代item.name并打印var.foo和var.bar。情况是,我可能想用file3替换file2

file3:
var:
 - name: var
   bar: baz
但仍然保留其他价值观

e、 g

env1=foo=foo-bar=bar

env2=foo=foo-bar=baz

我知道我可以这样做:

file3:
var:
 - name: var
   foo: foo
   bar: baz
但我试图避免的是foo=foo的重复


问:
file1(2,3)是一个空变量吗?“不,它不是空的,也永远不会是空的”

A:下面的剧本

- hosts: localhost
  vars:
    file1:
    var:
      - name: var
        foo: foo
  tasks:
    - debug:
        var: file1
给予


file1
(2,3)是空变量吗?不可能对item.name进行迭代,因为它不是列表。不,它不是空的,并且永远不会为空。
  file1: null