在 FreeIPA 4 中扩展现有 API 和 CLI 调用的最小示例

在 FreeIPA 4 中扩展现有 API 和 CLI 调用的最小示例

我希望在 FreeIPA 4.4 中的用户定义中添加字段。

现在我有修改了用户架构并在 Web UI 中添加了版本的字段。

现在我希望能够通过 JSON API 以及 CLI 工具更改新添加的字段(国家代码c和国家名称co)。这将需要更改现有的 API 调用,例如user_adduser_show

我找到了此类插件的示例,但适用于 FreeIPA 3,似乎从那时起 Python API 就发生了变化,因为当我使用好的字段名称调整它们时,它们不起作用。我收到以下错误:

$ 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 的用户添加一两个新属性的最小示例?

精度不高,我知道至少一个例子功能齐全的插件,可添加全新类型的对象,但据我所知,它不适用于为已经存在的对象添加新字段的情况。

相关内容