Как получить ansible вывод - PullRequest
0 голосов
/ 26 апреля 2020

У меня есть вывод отладки ниже, мне нужно получить capacity_in_kb значение из вывода

Вывод отладки:

TASK [vm-provision : Debug disk data] ***********************************
ok: [localhost] => {
    "msg": {
        "changed": false, 
        "failed": false, 
        "guest_disk_facts": {
            "0": { 
                "capacity_in_bytes": 536870912000, 
                "capacity_in_kb": 524288000, 
                "controller_key": 1000, 
                "key": 2000, 
                "label": "Hard disk 1", 
                "summary": "524,288,000 KB", 
                "unit_number": 0
            }
        }
    }
}

Я пробовал несколько фрагментов кода:

- debug:
    var: item[0] | map(attribute='capacity_in_kb') | list
  with_items: 
    - "{{ get_disk_facts }}"

- debug:
    var: item.get_disk_facts[0]
  with_items: 
    - "{{ get_disk_facts }}"

Этот фрагмент возвращен так:

TASK [vm-provision: get the capacity_in_kb from the variable] **********
ok: [localhost] => (item={u'guest_disk_facts': {u'0': {u'capacity_in_kb': 524288000, u'summary': u'524,288,000 KB', u'key': 2000, u'capacity_in_bytes': 536870912000, u'controller_key': 1000, u'label': u'Hard disk 1', u'unit_number': 0}}, 'failed': False, 'changed': False}) => {
    "ansible_loop_var": "item", 
    "item": {
        "changed": false, 
        "failed": false, 
        "guest_disk_facts": {
            "0": {
                "capacity_in_bytes": 536870912000, 
                "capacity_in_kb": 524288000, 
                "controller_key": 1000, 
                "key": 2000, 
                "label": "Hard disk 1", 
                "summary": "524,288,000 KB", 
                "unit_number": 0
            }
        }
    }, 
    "item.get_disk_facts[0]": "VARIABLE IS NOT DEFINED!"
}
...