Ansible';带有#u项目';不';不要把自己交给一个负责任的角色

Ansible';带有#u项目';不';不要把自己交给一个负责任的角色,ansible,Ansible,我想不出来。我有一些主持人,我想把他们传给我的负责人。我可以反复浏览剧本中的项目,但是如果我把项目交给我的负责人角色,它就不起作用了。我的主机清单如下所示: hosts: host_one: domain: one ip: 172.18.1.1 connection: - connection_name: two connection_ip: 172.18.1.2

我想不出来。我有一些主持人,我想把他们传给我的负责人。我可以反复浏览剧本中的项目,但是如果我把项目交给我的负责人角色,它就不起作用了。我的主机清单如下所示:

hosts:
    host_one:
        domain: one
        ip: 172.18.1.1
        connection:
                - connection_name: two
                  connection_ip: 172.18.1.2

                - connection_index: three
                  local_hub_ip: 172.18.1.3

    host_two:
        domain: two
        ip: 172.18.1.2
例如,这是正确的:

  tasks:
    - debug:
          msg: "{{item.connection_name}}"
      with_items:
          - "{{ connection }}"
将正确打印出connections.connection\我拥有的每个连接的名称,“2”和“3”。但是,如果我尝试将其传递给角色:

  tasks:
    - name: Adding several connections
      include_role:
          name: connection-create
      with_items:
          - "{{ connection }}"
在我的角色“连接创建”使用名为“连接名称”的变量时,我得到:

失败!=>{“msg”:“'connection_name'未定义”}

为什么这不起作用?

带有_项的循环:“{{connection}}”创建循环变量项。包含的角色可以使用

item.connection_name
item.connection_ip
如果需要,可以重命名循环变量。请参见带有_项的循环:“{{connection}}”创建循环变量项。包含的角色可以使用

item.connection_name
item.connection_ip

如果需要,可以重命名循环变量。请参见

我明白了,问题出在我的角色中我有另一个“with_items”任务,因此我必须重新构造它,以便使用“item.connection_name”我明白了,问题出在我的角色中我有另一个“with_items”任务,因此我必须重新构造它,以便使用“item.connection_name”