可以将with_dict与with_items结合使用吗?

时间:2018-09-27 04:08:14

标签: ansible nested-loops

我有一个剧本的输出,我想根据输出的条件调试一条消息。我需要该项目的键和值对以匹配when语句,然后我将打印出实际数据。

ok: [pynet-sw5] => {
    "loop_iterate": {
        "changed": false, 
        "msg": "All items completed", 
        "results": [
            {
                "_ansible_ignore_errors": null, 
                "_ansible_item_label": "1.1.1.1", 
                "_ansible_item_result": true, 
                "_ansible_no_log": false, 
                "_ansible_parsed": true, 
                "changed": false, 
                "failed": false, 
                "invocation": {
                    "module_args": {
                        "count": null, 
                        "destination": "1.1.1.1", 
                        "dev_os": "eos", 
                        "hostname": "arista5.twb-tech.com", 
                        "optional_args": null, 
                        "password": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER", 
                        "ping_timeout": null, 
                        "provider": {
                            "dev_os": "eos", 
                            "hostname": "arista5.twb-tech.com", 
                            "password": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER", 
                            "timeout": 60, 
                            "username": "xxx"
                        }, 
                        "size": null, 
                        "source": null, 
                        "timeout": 60, 
                        "ttl": null, 
                        "username": "pyclass", 
                        "vrf": null
                    }
                }, 
                "item": "1.1.1.1", 
                "results": {
                    "success": {
                        "packet_loss": 0, 
                        "probes_sent": 5, 

当我输入以下语句时,它返回的项未定义错误。

- debug:
    msg: "{{item[1].item}} is pingable from {{ansible_host}} with {{item[1].results.success.packet_loss}}  out of 5 packets"
  when: "item[0].key == 'packet_loss'"  
  with_sublements: 
    - "{{loop_iterate.results.results.success}}"
    - "{{loop_iterate.results}}"

那么有一种将with_dict与with_items结合的方法吗?我想使用

- "{{loop_iterate.results.results.success}}"作为with_dict迭代,而- "{{loop_iterate.results}}"作为with_items

0 个答案:

没有答案