novaclient.base module

构建 API 操作管理器和对象的基础工具。

class novaclient.base.BootingManagerWithFind(api)

基类: ManagerWithFind

类似于 ManagerWithFind,但具有启动服务器的能力。

class novaclient.base.BytesWithMeta(value, resp)

基类: bytes, RequestIdMixin

class novaclient.base.DictWithMeta(values, resp)

基类: dict, RequestIdMixin

class novaclient.base.HookableMixin

基类: object

Mixin,使类可以注册和运行钩子。

classmethod add_hook(hook_type, hook_func)

添加指定类型的新的钩子。

参数:
  • cls – 注册钩子的类

  • hook_type – 钩子类型,例如 ‘__pre_parse_args__’

  • hook_func – 钩子函数

classmethod run_hooks(hook_type, *args, **kwargs)

运行指定类型的全部钩子。

参数:
  • cls – 注册钩子的类

  • hook_type – 钩子类型,例如 ‘__pre_parse_args__’

  • args – 要传递给每个钩子函数的参数

  • kwargs – 要传递给每个钩子函数的关键字参数

class novaclient.base.ListWithMeta(values, resp)

基类: list, RequestIdMixin

class novaclient.base.Manager(api)

基类: HookableMixin

API 服务的管理器。

管理器与特定类型的 API(服务器、风味、镜像等)交互,并为其提供 CRUD 操作。

alternate_service_type(default, allowed_types=())
property api_version
cache_lock = <unlocked _thread.RLock object owner=0 count=0>
property client
completion_cache(cache_type, obj_class, mode)

用于 bash 自动补全的补全缓存。

补全缓存存储可用于 bash 自动补全的项目,例如 UUID 或用户友好的 ID。

资源列表将清除并重新填充缓存。

资源创建将附加到缓存。

删除不处理,因为假定经常执行列表以使缓存保持合理更新。

convert_into_with_meta(item, resp)
resource_class = None
write_to_completion_cache(cache_type, val)
class novaclient.base.ManagerWithFind(api)

基类: Manager

类似于 Manager,但具有额外的 find()/findall() 方法。

find(**kwargs)

查找与 **kwargs 匹配属性的单个项目。

findall(**kwargs)

查找与 **kwargs 匹配属性的所有项目。

abstract list()
class novaclient.base.RequestIdMixin

基类: object

包装类,用于将 x-openstack-request-id 暴露给调用者。

append_request_ids(resp)

将 request_ids 作为属性添加到对象

参数:

resp – 响应对象或响应对象列表

property request_ids
request_ids_setup()
class novaclient.base.Resource(manager, info, loaded=False, resp=None)

基类: RequestIdMixin

OpenStack 资源(租户、用户等)的基本类。

这基本上只是一个属性包。

填充并绑定到管理器。

参数:
  • manager – BaseManager 对象

  • info – 表示资源属性的字典

  • loaded – 如果设置为 True,则防止延迟加载

  • resp – 响应或响应对象列表

HUMAN_ID = False
NAME_ATTR = 'name'
property api_version
get()

支持延迟加载详细信息。

一些客户端,例如 novaclient 具有延迟加载详细信息的选项,这些详细信息可以使用此函数加载。

property human_id

人类可读的 ID,可用于 bash 完成。

is_loaded()
set_info(key, value)
set_loaded(val)
to_dict()
class novaclient.base.StrWithMeta(value, resp)

基类: str, RequestIdMixin

class novaclient.base.TupleWithMeta(values, resp)

基类: tuple, RequestIdMixin

novaclient.base.getid(obj)

获取对象的 ID 或对象。

抽象了在处理关系时允许对象或对象 ID 作为参数的常见模式。