Я хочу добавить поля в определение пользователя в FreeIPA 4.4.
Прямо сейчас у меня есть изменил схему пользователя и добавили поля в веб-интерфейс для редакций.
Теперь я хотел бы иметь возможность изменять добавленные новые поля (код страны c
и название страны co
) через JSON API и, следовательно, через инструмент командной строки. Для этого потребуется изменить уже существующий вызов API, например user_add
, user_show
и т.п.
Я нашел примеры таких плагинов, но для FreeIPA 3, и кажется, что API Python с тех пор изменился, потому что они не работают, когда я адаптирую те, у которых хорошее имя поля. Я получаю следующую ошибку:
$ ipa
ipa: ERROR: ImportError: No module named plugins
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/ipalib/cli.py", line 1348, in run
api.finalize()
File "/usr/lib/python2.7/site-packages/ipalib/plugable.py", line 707, in finalize
self.__do_if_not_done('load_plugins')
File "/usr/lib/python2.7/site-packages/ipalib/plugable.py", line 422, in __do_if_not_done
getattr(self, name)()
File "/usr/lib/python2.7/site-packages/ipalib/plugable.py", line 586, in load_plugins
self.add_package(package)
File "/usr/lib/python2.7/site-packages/ipalib/plugable.py", line 613, in add_package
module = importlib.import_module(name)
File "/usr/lib64/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
File "/usr/lib/python2.7/site-packages/ipaclient/plugins/country.py", line 1, in <module>
from ipalib.plugins import user
ImportError: No module named plugins
ipa: ERROR: an internal error has occurred
Есть ли где-нибудь в Интернете минимальный пример добавления одного или двух новых атрибутов для пользователя FreeIPA 4.4?
Небольшая точность, знаю хотя бы один пример полноценный плагин, который добавляет объект совершенно нового типа, но, насколько я понимаю, это неприменимо в случае добавления новых полей для уже существующего объекта.