There is nothing to parse. The result is a dictionary with the attributes
listed in "msg". Simply access the attributes of the dictionary to "take the
values".

On Thu, 13 Feb 2020 11:52:30 -0800 (PST)
Anand Solomon <[email protected]> wrote:

> I want to parse the json output and take the values 
> Here is the json debug output from the playbook I run, 
> 
> TASK [Display the query results] 
> ************************************************************************************************************
> ok: "tstdb.fdst3sb9ngoi.us-east-1.rds.amazonaws.com] => {
>     "msg": {
>                 "ansible_loop_var": "item",
>                 "changed": false,
>                 "failed": false,
>                 "invocation": {
>                     "module_args": {
>                         "host": 
> "tstdb.fdst3sb9ngoi.us-east-1.rds.amazonaws.com",
>                         "hostname": 
> "tstdb.fdst3sb9ngoi.us-east-1.rds.amazonaws.com",
>                         "mode": "normal",
>                         "password": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER",
>                         "port": "1521",
>                         "script": null,
>                         "service_name": "tstdb",
>                         "sql": "select 'Revoke ' || privilege || ' on 
> UTL_FILE from ' || grantee || ';' from dba_tab_privs where 
> table_name='UTL_FILE' and grantee not like 'APEX%' and grantee != 'CTXSYS' 
> and grantee != 'DBSNMP'  order by grantee;",
>                         "user": "SYSDBA",
>                         "username": "SYSDBA"
>                     }
>                 },
>                 "item": {
>                     "key": "Script1",
>                     "value": "select 'Revoke ' || privilege || ' on 
> UTL_FILE from ' || grantee || ';' from dba_tab_privs where 
> table_name='UTL_FILE' and grantee not like 'APEX%' and grantee != 'CTXSYS' 
> and grantee != 'DBSNMP' and grantee != 'DMSYS' and grantee != 'EXFSYS' and 
> grantee != 'MDSYS' order by grantee;"
>                 },
>                 "msg": [
>                     [
>                         "Revoke EXECUTE on UTL_FILE from TESTDBA;"
>                     ],
>                     [
>                         "Revoke EXECUTE on UTL_FILE from TSTSCH;"
>                     ]
>                 ]
>             }
>         ]
>     }
> }
> -------------------------------------------------------
> I just want to get  extract the below value and pass it on to my Jinja 
> template.
> 
>                   [
>                         "Revoke EXECUTE on UTL_FILE from TESTDBA;"
>                     ],
>                     [
>                         "Revoke EXECUTE on UTL_FILE from TSTSCH;"
>                     ]
> 
> Here is my Jinja template
> 
>     - name: Generate Revoke Statement
>       copy:
>         dest: /home/ansible/Playbooks/{{sname}}/sql/{{item.key}}_revoke.sql
>         content: |
>          spool /home/ansible/Playbooks/{{sname}}/log/{{item.key}}.log
>          {% for line in query_result  | flatten %}
>          {{ line }}
>          {% endfor %}
>          spool off;
>       delegate_to: localhost
>       connection: local
>       loop: "{{ scripts|dict2items }}"

-- 
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/20200213222748.101aa2c2%40gmail.com.

Attachment: pgpnT98n5utYH.pgp
Description: OpenPGP digital signature

Reply via email to