Hello Ansible friends,
I'm hoping that you can provide some assistance here. I'm trying to parsed through json response from a web application, but I'm having some issues. The goal of this playbook is to display the site-id for all routers in the json response. Any help is appreciated, thank you.
Here is the ansible playbook.
- hosts: vmanage
connection: local
gather_facts: no
tasks:
- vmanage_device_facts:
user: "{{ ansible_user }}"
host: "{{ ansible_host }}"
password: "{{ ansible_password }}"
register: output
- name: Create device dictionary
set_fact:
device_status: '{{ output | json_query("vedges[0].["side-id"]")}}'
- name: Print out site ids
debug:
msg: "{{ device_status }}"
~
Error message after running the playbook is below:
PLAY [vmanage] **********************************************************************************************************************
TASK [vmanage_device_facts] *********************************************************************************************************
[WARNING]: Module did not set no_log for password
ok: [10.10.2.2]
TASK [Create device dictionary] *****************************************************************************************************
fatal: [10.10.2.2]: FAILED! => {"msg": "template error while templating string: expected token ',', got 'side'. String: {{ output | json_query(\"vedges[0].[\"side-id\"]\")}}"}
PLAY RECAP **************************************************************************************************************************
10.10.2.2 : ok=1 changed=0 unreachable=0 failed=1 skipped=0 rescued=0 ignored=0