I wish to automate user removal from nagios.  This can be done via their 
REST api; however, I first need to find the user, grab their user_id, and 
then I can perform the delete based on the user_id.  Their API returns the 
info in jinja format.  I don't know how to iterate through the output, find 
the username, and grab the correlating user_id.  For example, how can I 
obtain the user_id for the user: somegal?

My playbook:
---
- hosts: nagios
  gather_facts: false

  tasks:
    - name: Get nagios user info
      shell: 'curl -XGET 
"http://nagios/nagiosxi/api/v1/system/user?apikey=<my api key>&pretty=1"'
      register: nagios_userid

    - debug:
        var: nagios_userid.stdout_lines

Partial output:
ok: [nagios] => {
    "nagios_userid": {
        "changed": true,
        "cmd": "curl -XGET 
\"http://nagios/nagiosxi/api/v1/system/user?apikey=<my api key>&pretty=1\"",
        "delta": "0:00:00.263619",
        "end": "2019-01-29 12:54:17.693892",
        "failed": false,
        "rc": 0,
...
       "stdout_lines": [
            "{",
            "    \"records\": 27,",
            "    \"users\": [",
            "        {",
            "            \"user_id\": \"37\",",
            "            \"username\": \"someguy\",",
            "            \"name\": \"Some Guy\",",
            "            \"email\": \"[email protected]\",",
            "            \"enabled\": \"1\"",
            "        },",
            "        {",
            "            \"user_id\": \"36\",",
            "            \"username\": \"somegal\",",
            "            \"name\": \"Some Gal\",",
            "            \"email\": \"[email protected]\",",
            "            \"enabled\": \"1\"",
            "        },",
            "        {",
            "            \"user_id\": \"34\",",
            "            \"username\": \"gpyle\",",
            "            \"name\": \"Gomer Pyle\",",
            "            \"email\": \"[email protected]\",",
            "            \"enabled\": \"1\"",
            "        },",
....



-- 
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 post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/dd4c1b8c-d5cb-434b-b577-a563f09fd8e1%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to