keystoneauth1.identity.generic.base 模块

class keystoneauth1.identity.generic.base.BaseGenericPlugin(auth_url: str | None = None, *, tenant_id: str | None = None, tenant_name: str | None = None, project_id: str | None = None, project_name: str | None = None, project_domain_id: str | None = None, project_domain_name: str | None = None, domain_id: str | None = None, domain_name: str | None = None, system_scope: str | None = None, trust_id: str | None = None, default_domain_id: str | None = None, default_domain_name: str | None = None, reauthenticate: bool = True)

基础: BaseIdentityPlugin

一个不依赖版本的身份验证插件。

内部我们将使用解析后的 URL 构建一个依赖版本的插件,然后将来自基础插件的所有调用代理到版本化的插件。

__abstractmethods__ = frozenset({'create_plugin', 'get_cache_id_elements'})
__annotations__ = {'MIN_TOKEN_LIFE_SECONDS': 'int', '_discovery_cache': 'dict[str, discover.Discover]', '_plugin': 'v2.Auth | v3.Auth | None', 'auth_ref': 'access.AccessInfo | None', 'auth_url': <class 'str'>, 'reauthenticate': 'bool'}
__doc__ = '不依赖版本的身份插件。\n\n    内部我们将使用解析后的 URL 构建一个依赖版本的插件,然后从基本插件到版本插件代理所有调用。\n    '
__init__(auth_url: str | None = None, *, tenant_id: str | None = None, tenant_name: str | None = None, project_id: str | None = None, project_name: str | None = None, project_domain_id: str | None = None, project_domain_name: str | None = None, domain_id: str | None = None, domain_name: str | None = None, system_scope: str | None = None, trust_id: str | None = None, default_domain_id: str | None = None, default_domain_name: str | None = None, reauthenticate: bool = True)
__module__ = 'keystoneauth1.identity.generic.base'
_abc_impl = <_abc._abc_data object>
_discovery_cache: dict[str, Discover]
_do_create_plugin(session: Session) Auth | Auth
property _has_domain_scope: bool

是否存在域参数。

域参数仅存在于 v3 版本中,因此如果设置了任何参数则返回 True。

返回值:

如果设置了域参数,则返回 True,否则返回 False。

_plugin: Auth | Auth | None
auth_ref: AccessInfo | None
auth_url: str
abstract create_plugin(session: Session, version: tuple[int | float, ...], url: str, raw_status: str | None = None) None | Auth | Auth

创建一个插件,基于给定的参数。

此函数将多次调用,并带有潜在终结点的版本和 URL。如果可以构造一个符合参数的插件,则应返回它。如果不能,则将进行另一个调用,并使用其他可用的 URL。

参数:
  • session (keystoneauth1.session.Session) – 一个会话对象。

  • version (tuple) – URL 处的 API 版本的元组。

  • url (str) – 此版本的基本 URL。

  • raw_status (str) – 发现字段中的状态。

返回值:

一个可以匹配参数的插件,或者如果没有任何匹配项则返回 None。

get_auth_ref(session: Session) AccessInfo

从 OpenStack Identity 服务获取令牌。

此方法由各种令牌版本插件覆盖。

不应独立调用此函数,并预计通过 do_authenticate 函数调用。

如果插件缓存的 AccessInfo 对象无效,将调用此函数。因此,插件应始终在调用时获取新的 AccessInfo。如果您只想检索当前的身份验证数据,则应使用 get_access。

参数:

session (keystoneauth1.session.Session) – 可以用于通信的会话对象。

引发:
返回值:

令牌访问信息。

返回类型:

keystoneauth1.access.AccessInfo

abstract get_cache_id_elements() dict[str, str | None]

获取使此身份验证插件唯一化的元素。

作为 get_cache_id 要求的一部分,我们需要确定此插件及其值的哪些方面构成唯一的元素。

插件希望允许缓存时应覆盖此方法。

返回值:

此插件的唯一属性和值。

返回类型:

一个扁平的字典,其中包含一个 str 键和一个 str 或 None 值。这需要我们将这些值馈送到哈希中。值为空的对在哈希 ID 中被忽略。

property project_domain_id: str | None
property project_domain_name: str | None
reauthenticate: bool