Ansible - 如何定位项目

时间:2016-12-07 09:41:13

标签: ansible

我想在Ansible的输出中定位路径变量。

ok: [myMachine1] => {
    "foundFiles": {
        ...
        "results": [
            {
              ...
                "files": [
                    {
                        ...
                        "path": "/my/first/path",
                        ...
                    }
                ],

            },
            {
                ...
                "files": [
                    {
                        ...
                        "path": "/my/second/path",
                        ...
                    }

            }
        ]
    }
}

如何告诉Ansible定位'path'变量。 我正在尝试:

   - debug:
    msg: "{{ item.files.path }}"
  with_items:
    - foundFiles.results

但只获得"failed": true, "msg": "the field 'args' has an invalid value, which appears to include a variable that is undefined. The error was: 'unicode object' has no attribute 'key'

感谢大师。

1 个答案:

答案 0 :(得分:1)

首先:自Ansible 2.2后不支持裸变量 第二:files是示例中的列表

- debug: msg="{{ item.files[0].path }}"
  with_items: "{{ foundFiles.results }}"

如果files列表中有多个条目,则应考虑map