Hope this helps
server]$ ansible-playbook test-json-output.yml
[WARNING]: provided hosts list is empty, only localhost is available. Note
that the implicit localhost does not match 'all'
PLAY [Ansible connection]
************************************************************************************************************************************************************************************
TASK [Gathering Facts]
***************************************************************************************************************************************************************************************
ok: [localhost]
PLAY [Read local Mailgun JSON file]
**************************************************************************************************************************************************************************
TASK [Gathering Facts]
***************************************************************************************************************************************************************************************
ok: [localhost]
TASK [Create dictionary]
*************************************************************************************************************************************************************************************
ok: [localhost]
TASK [Print variable JSON data]
******************************************************************************************************************************************************************************
ok: [localhost] => {
"jsondata": {
},
"receiving_dns_records": [
{
"cached": [],
"priority": "10",
"record_type": "MX",
"valid": "unknown",
"value": "mxa.mailgun.org"
},
TASK [Output specific JSON data]
*****************************************************************************************************************************************************************************
fatal: [localhost]: FAILED! => {"msg": "Error in jmespath.search in
json_query filter plugin:\n'dict object' has no attribute '
On Monday, March 27, 2023 at 12:45:03 PM UTC-5 JJ wrote:
> I am new to Anisble and I have been trying to get Anisble to take the
> output of a local json file and read it, store the information and then
> output the data. I think I was successful because it does output the data
> in the file. What I am having trouble with is getting just a specific piece
> of data to display so I know Anisble is parsing the right section of the
> json file so I can pass it to a variable in the playbook. I feel I have
> tried almost everything but with no success.
>
> JSON EXAMPLE
> }, "receiving_dns_records": [ { "cached": [], "priority": "10",
> "record_type": "MX", "valid": "unknown", "value": "mxa.domain.org" },
>
> Playbook:
>
> ---
> - name: Ansible connection
> hosts: localhost
> connection: local
>
> - name: Read local JSON file
> hosts: localhost
> vars:
> jsondata: "{{ lookup('file', '/home/name/appdir/output.json') |
> from_json }}"
>
> tasks:
> - name: Create dictionary
> set_fact:
> jsondata: "{{ jsondata }}"
>
>
> - name: Print variable JSON data
> debug:
> var: jsondata
>
>
>
> - name: Output specific JSON data
> debug:
> msg: "this is where I get lost I have tried JMES Query and Debug
> MSG but every example I see fails"
>
--
You received this message because you are subscribed to the Google Groups
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/ansible-project/9b7d78d8-4818-40bb-9188-4e5ac309f058n%40googlegroups.com.