[Freeipa-users] JSON interface (Was: IPA DNS command line tools and ~)

Erinn Looney-Triggs erinn.looneytriggs at gmail.com
Fri Mar 7 16:31:09 UTC 2014


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 03/07/2014 08:57 AM, Petr Viktorin wrote:
> On 03/07/2014 04:34 PM, Rich Megginson wrote: [...]
>> The ipa command line tools use RPC, but they use XML.  If you run
>> ipa -vv dnsrecord-add ... you can see the XML sent and received.
>> There is a bit of work converting from XML to JSON.  e.g. 
>> <array><data><value><string>testdomain.com.</string></value><value><string>testdomain.com</string></value></data></array>
>>
>> 
is
> ["testdomain.com.", "testdomain.com."] [...]
> 
> Note that FreeIPA 4.0 (current git master) will use JSON-RPC by
> default, so you'll no longer need to convert from XML.
> 
> 
> 
> 
> It seems the -vv option is quickly becoming very useful for API
> users. Currently the logging is very low-level; in current master I
> get:
> 
> $ ipa -vv ping ipa: INFO: trying 
> https://vm-244.idm.lab.eng.brq.redhat.com/ipa/session/json ipa:
> INFO: Forwarding 'ping' to json server 
> 'https://vm-244.idm.lab.eng.brq.redhat.com/ipa/session/json' send:
> u'POST /ipa/session/json HTTP/1.1\r\nHost: 
> vm-244.idm.lab.eng.brq.redhat.com\r\nAccept-Encoding: 
> gzip\r\nAccept-Language: en-us\r\nReferer: 
> https://vm-244.idm.lab.eng.brq.redhat.com/ipa/xml\r\nCookie: 
> ipa_session=da66695e0c3a772a3fe649c3e1d11612;\r\nUser-Agent: 
> xmlrpclib.py/1.0.1 (by www.pythonware.com)\r\nContent-Type: 
> application/json\r\nContent-Length: 64\r\n\r\n{"params": [[], 
> {"version": "2.77"}], "method": "ping", "id": 0}' reply: 'HTTP/1.1
> 200 Success\r\n' header: Date: Fri, 07 Mar 2014 15:48:31 GMT 
> header: Server: Apache/2.4.6 (Fedora) mod_auth_kerb/5.4
> mod_nss/2.4.6 NSS/3.15.3 Basic ECC mod_wsgi/3.4 Python/2.7.5 
> header: Set-Cookie: ipa_session=da66695e0c3a772a3fe649c3e1d11612; 
> Domain=vm-244.idm.lab.eng.brq.redhat.com; Path=/ipa; Expires=Fri,
> 07 Mar 2014 16:08:31 GMT; Secure; HttpOnly header: Vary:
> Accept-Encoding header: Content-Encoding: gzip header:
> Content-Length: 176 header: Content-Type: application/json;
> charset=utf-8 body: '{\n    "error": null, \n    "id": 0, \n
> "principal": "admin at IDM.LAB.ENG.BRQ.REDHAT.COM", \n    "result":
> {\n "summary": "IPA server version 3.3.90GITcb4dcd8. API version
> 2.77"\n }, \n    "version": "3.3.90GITcb4dcd8"\n}' 
> ----------------------------------------------------- IPA server
> version 3.3.90GITcb4dcd8. API version 2.77 
> -----------------------------------------------------
> 
> Would it be useful to also log pretty-printed JSON with `-vvv`, so 
> adventurous API explorers can just copy and paste?
> 
> 

Umm, yes please!

- -Erinn
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQEcBAEBAgAGBQJTGfRMAAoJEFg7BmJL2iPOUxkH/jk0mRZugXGbYVFyKxBRflfa
1VSbqPt91kUdruePkD9frixl8PCZAm/p32BjPNR/S7j8t2S0r7INMDyDIM08gu4v
ZXlTl6i46WUdnDWExeOqX6Cg4PV3DXThcEsGq/bFQ2rFoIw84ehkD5EV3b1lw3dw
ybKphlwi68+9ks6588s1HeQQYUzixNcFNE+/I0yXdI8lga0xnob5m6EixVYR+FOH
kwB4KWr8JXRPJMq+qtpRPoUNspFtTHoQxGU2M3qSBJ/QmkK05cFVVA+viqvgKdJ/
zF7tZXc15QxDXI3yqkEnqClet8CU6PplUK3ma6BjPm5yznI/TiiXb1g8YA97Qks=
=GiYE
-----END PGP SIGNATURE-----




More information about the Freeipa-users mailing list