Можно ли комбинировать with_dict с with_items? - PullRequest
0 голосов
/ 27 сентября 2018

У меня есть выход из playbook, и я хочу отладить сообщение, основываясь на условии вывода.Мне нужно, чтобы пары ключ и значение элемента соответствовали оператору 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

...