keystoneauth1.loading.base 模块

class keystoneauth1.loading.base.BaseLoader

基类: _BaseLoader[BaseAuthPluginT]

__abstractmethods__ = frozenset({'get_options'})
__annotations__ = {}
__doc__ = None
__module__ = 'keystoneauth1.loading.base'
__orig_bases__ = (keystoneauth1.loading.base._BaseLoader[+BaseAuthPluginT],)
__parameters__ = (+BaseAuthPluginT,)
_abc_impl = <_abc._abc_data object>
class keystoneauth1.loading.base._BaseLoader

基类: Generic[T]

__abstractmethods__ = frozenset({'get_options'})
__annotations__ = {}
__dict__ = mappingproxy({'__module__': 'keystoneauth1.loading.base', 'plugin_class': <property object>, 'create_plugin': <function _BaseLoader.create_plugin>, 'get_options': <function _BaseLoader.get_options>, 'available': <property object>, 'load_from_options': <function _BaseLoader.load_from_options>, 'load_from_options_getter': <function _BaseLoader.load_from_options_getter>, '__orig_bases__': (typing.Generic[+T],), '__dict__': <attribute '__dict__' of '_BaseLoader' objects>, '__weakref__': <attribute '__weakref__' of '_BaseLoader' objects>, '__doc__': None, '__parameters__': (+T,), '__abstractmethods__': frozenset({'get_options'}), '_abc_impl': <_abc._abc_data object>, '__annotations__': {}})
__doc__ = None
__module__ = 'keystoneauth1.loading.base'
__orig_bases__ = (typing.Generic[+T],)
__parameters__ = (+T,)
__weakref__

对该对象的弱引用列表

_abc_impl = <_abc._abc_data object>
property available: bool

返回插件是否可用于加载。

如果插件缺少依赖项或由于某种原因不应提供给当前系统,则应覆盖此属性并返回 False 以将其从插件列表中排除。

返回类型:

bool

create_plugin(**kwargs: Any) T

从加载程序可用的选项创建插件。

给定加载程序指定的选项,创建适当的插件。您可以覆盖此函数以在加载程序中进行操作。

过去,通过提供 plugin_class 属性来指定此内容,但仍然支持此方法,但是指定属性不允许您根据呈现的选项选择插件类型。

如果您希望根据呈现的选项返回不同的插件,请覆盖此函数,否则可以简单地提供 plugin_class 属性。

添加于 2.9

abstract get_options() list[opts.Opt]

返回与身份验证插件关联的参数列表。

此列表可用于生成 CLI 或配置文件参数。

返回值:

描述可用插件参数的 Param 对象列表。

返回类型:

列表

load_from_options(**kwargs: Any) T

从从 get_options 获取的参数创建插件。

客户端可以覆盖此函数以进行参数验证或处理注册选项与创建插件所需的选项之间的差异。

load_from_options_getter(getter: Callable[[opts.Opt], Any], **kwargs: Any) T

从返回适当值的 getter 函数加载插件。

为了处理除了提供的 CONF 和 CLI 加载之外的情况,您可以指定一个自定义加载器函数,该函数将针对选项值进行查询。getter 是一个函数,它接受一个 keystoneauth1.loading.Opt 并返回一个用于加载的值。

参数:

getter (callable) – 一个返回给定 opt 值的函数。

返回值:

一个身份验证插件。

返回类型:

keystoneauth1.plugin.BaseAuthPlugin

property plugin_class: type[T]
keystoneauth1.loading.base._auth_plugin_available(ext: Extension) bool

读取用于确定是否加载此插件的 available 的值。

keystoneauth1.loading.base.get_available_plugin_loaders() dict[str, BaseLoader[BaseAuthPluginT]]

检索系统上所有可用的插件类。

返回值:

一个字典,其中插件入口点名称作为键,插件加载器作为值。

返回类型:

dict

keystoneauth1.loading.base.get_available_plugin_names() frozenset[str]

获取系统上所有可用插件的名称。

这对于帮助和错误文本特别有用,例如提示用户他们可以指定哪些插件。

返回值:

一个名称列表。

返回类型:

frozenset

keystoneauth1.loading.base.get_plugin_loader(name: str) BaseLoader[BaseAuthPluginT]

通过入口点名称检索插件类。

参数:

name (str) – 要获取的对象的名称。

返回值:

一个认证插件类。

返回类型:

keystoneauth1.loading.BaseLoader

引发:

keystoneauth1.exceptions.auth_plugins.NoMatchingPlugin – 如果无法创建插件。

keystoneauth1.loading.base.get_plugin_options(name: str) list[opts.Opt]

获取特定插件的选项。

这将是注册并由指定插件加载的选项列表。

返回值:

一个 keystoneauth1.loading.Opt 选项列表。

引发:

keystoneauth1.exceptions.auth_plugins.NoMatchingPlugin – 如果无法创建插件。