Назад | Перейти на главную страницу

Как читать ответные данные отладки в виде переменной в файле Json .. пример ниже

Это мой результат отладки ..

register: create
    - debug: 
        msg: "{{ create.json.info.0.value }}"
ok: [localhost] => {
    "msg": "8308a020-5c9d-4936-8f1a-40f408d3a085"
}

Теперь мне нужно добавить вывод в качестве ввода в шаблон JSON. Ниже мой шаблон ...

{
"networkDomainId": "{{create.json.info.0.value}}"
"name": "Sandy_Smoke_VLAN",
"description": "For hosting our Smokeping_test Cloud Servers"
"privateIpv4NetworkAddress": "10.10.0.0"
"privateIpv4PrefixSize": 24
"attachedVlan": { "gatewayAddressing": "HIGH" }
}

Но указанный выше шаблон не работает.

Пример ниже. Игра

- hosts: localhost                                                                           
  vars:                                                                                      
    create:                                                                                  
      json:                                                                                  
        info:                                                                                
          - {key: 'key_1', value: '8308a020-5c9d-4936-8f1a-40f408d3a085'}                    
  tasks:                                                                                     
    - debug:                                                                                 
        msg: "{{ create.json.info.0.value }}"                                                
    - template:                                                                              
        src: test.j2                                                                         
        dest: /scratch/tmp/test

с шаблоном test.j2

> cat test.j2 
{
"networkDomainId": "{{create.json.info.0.value}}"
}

дает

PLAY [localhost] 
TASK [debug] 
ok: [localhost] => {
"msg": "8308a020-5c9d-4936-8f1a-40f408d3a085"
}
TASK [template]
changed: [localhost]
PLAY RECAP 
localhost                  : ok=2    changed=1    unreachable=0    failed=0

> cat /scratch/tmp/test 
{
"networkDomainId": "8308a020-5c9d-4936-8f1a-40f408d3a085"
}