Как отладить ниже o/p в ansible

Из вывода ниже мне нужно видеть только информацию "Значение". Как отладить, чтобы получить только информацию о значении??/

ok: [localhost] => {
"msg": {
    "changed": false,
    "connection": "close",
    "content_length": "342",
    "content_type": "application/json",
    "cookies": {},
    "cookies_string": "",
    "date": "Tue, 23 Apr 2019 07:44:55 GMT",
    "failed": false,
    "json": {
        "info": [
            {
                "name": "networkDomainId",
                "value": "f173b777-d460-4050-9562-fc6b201415c3"
            }
        ],
        "message": "Request to Deploy Network Domain has been accepted. Please use appropriate Get or List API for status.",
        "operation": "DEPLOY_NETWORK_DOMAIN",
        "requestId": "eu_20190423T094455564+0200_1515ad61-58a7-4853-96fb-2b52d8eddd8a",
        "responseCode": "IN_PROGRESS"
    },

3 ответа

Задача, подобная следующей, должна решить вашу проблему:

- debug:
    var=msg.json.value

Ниже приведен пример использования другой задачи (я не знаю, какой модуль вы использовали для создания переменной msg, сообщенной в вашем вопросе):

$ cat /tmp/tmp 
- hosts: localhost
  tasks:
    - command: uptime
      register: msg
    - debug:
        var=msg
    - debug: var=msg.cmd

$ ansible-playbook /tmp/tmp 

PLAY [localhost] *****************************************************************************

TASK [Gathering Facts] ***********************************************************************
ok: [localhost]

TASK [command] *******************************************************************************
changed: [localhost]

TASK [debug] *********************************************************************************
ok: [localhost] => {
    "msg": {
        "changed": true, 
        "cmd": [
            "uptime"
        ], 
        "delta": "0:00:00.003576", 
        "end": "2019-04-23 11:45:43.393217", 
        "rc": 0, 
        "start": "2019-04-23 11:45:43.389641", 
        "stderr": "", 
        "stderr_lines": [], 
        "stdout": " 11:45:43 up  1:57,  1 user,  load average: 0,33, 0,61, 0,83", 
        "stdout_lines": [
            " 11:45:43 up  1:57,  1 user,  load average: 0,33, 0,61, 0,83"
        ]
    }
}

TASK [debug] *********************************************************************************
ok: [localhost] => {
    "msg.cmd": [
        "uptime"
    ]
}

PLAY RECAP ***********************************************************************************
localhost                  : ok=4    changed=1    unreachable=0    failed=0  
  1. Вы можете взять вывод в файл и grep для значения.
 grep value <filename>
  1. Для отладки ANSIBLE выходных данных используйте -vvv
 ansible-playbook abc.yml -vvv

Я получил ответ ниже строки..

зарегистрироваться: создать - отладка:

    var: create.json.info.0.value

ok: [localhost] => {"create.json.info.0.value": "b9cebba5-22d5-4689-b04e-3882f377f575"}

Другие вопросы по тегам