[Freeipa-devel] Is there RPC documentation?
Rob Crittenden
rcritten at redhat.com
Wed Feb 26 21:19:03 UTC 2014
Rich Megginson wrote:
> On 02/26/2014 08:53 AM, Petr Viktorin wrote:
>> On 02/26/2014 04:45 PM, Rich Megginson wrote:
>>> I'm working on adding support for freeipa DNS to openstack designate
>>> (DNSaaS). I am assuming I need to use RPC (XML? JSON? REST?) to
>>> communicate with freeipa. Is there documentation about how to construct
>>> and send RPC messages?
>>
>> The JSON-RPC and XML-RPC API is still not "officially supported"
>> (read: documented), though it's extremely unlikely to change.
>> If you need an example, run any ipa command with -vv, this will print
>> out the request & response.
>> API.txt in the source tree lists all the commands and params.
>> This blog post still applies (but be sure to read the update about
>> --cacert):
>> http://adam.younglogic.com/2010/07/talking-to-freeipa-json-web-api-via-curl/
>>
>>
>
> Ok. Next question is - how does one do the equivalent of the curl
> command in python code?
Here is a pretty stripped-down way to add a user. Other commands are
similar, you just may care more about the output:
from ipalib import api
from ipalib import errors
api.bootstrap(context='cli')
api.finalize()
api.Backend.xmlclient.connect()
try:
api.Command['user_add'](u'testuser',
givenname=u'Test', sn=u'User',
loginshell=u'/bin/sh')
except errors.DuplicateEntry:
print "user already exists"
else:
print "User added"
More information about the Freeipa-devel
mailing list