Alexander Bokovoy wrote:
> On to, 25 loka 2018, Callum Smith wrote:
>> Dear Alexander,
>>
>> The issue is not with the library (it does no validation of syntax) the
>> error I have provided is verbose directly from the FreeIPA API
>> response.
>
> It seems the library puts some defaults that aren't accepted by the
> FreeIPA API, unlike a client code we provide. Or may be that's your use
> of it. More below.
>
>> How would you suggest I re-factor this code so that the error is
>> acceptable?
>
> Looking at the definition of 'uidnumber' parameter to user object, we
> can see it has minimal value of '1' and it is optional (? at the end of
> the name):
>
> Int('uidnumber?',
> cli_name='uid',
> label=_('UID'),
> doc=_('User ID Number (system will assign one if not
> provided)'),
> minvalue=1,
> ),
>
> This means that if you wouldn't provide it in your request, it will be
> automatically generated.
Right, I suggested -1 to see if it would help (it didn't and IPA
rejected it in input validation).
> So a simple approach would be replace explicit addition of named
> arguments by a dict and then adding that dict:
>
> opts = {}
> if options.uid:
> opts['uidnumber'] = options.uid
> opts['gidnumber'] = options.primary_gid
> opts['mail'] = options.mail
> opts['home_directory'] = options.home_directory
> opts['user_password'] = options.password
> ...
>
> client.user_add(...., **opts)
>
>
>> (client is initialised and logged in - tested and working with other
>> calls such as user_show etc)
>>
>> client.user_add(
>> options.username,
>> options.first_name,
>> options.last_name,
>> options.name,
>> mail=options.mail,
>> home_directory=options.home_directory,
>> uidnumber=options.uid if options.uid else -1,
>> gidnumber=options.primary_gid,
>> user_password=options.password,
>> )
>> Sorry, this is not an API provided by the FreeIPA project. Please
>> contact authors of python-freeipa (I think it was created by OpenNode
>> people) and report them bugs you see there.
>>
>> https://pypi.org/project/python-freeipa/
>>
>>
>> --
>> / Alexander Bokovoy
>> Sr. Principal Software Engineer
>> Security / Identity Management Engineering
>> Red Hat Limited, Finland
>>
>
_______________________________________________
FreeIPA-users mailing list -- [email protected]
To unsubscribe send an email to [email protected]
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives:
https://lists.fedorahosted.org/archives/list/[email protected]