troveclient.compat.base 模块

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

class troveclient.compat.base.Manager(api)

基类: HookableMixin

定义 API 的 CRUD 操作的管理器。

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

completion_cache(cache_type, obj_class, mode)

Bash-completion 缓存。

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

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

资源创建将附加到缓存。

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

resource_class = None
write_to_completion_cache(cache_type, val)
class troveclient.compat.base.ManagerWithFind(api)

基类: Manager

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

find(**kwargs)

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

效率不高:它加载整个列表,然后在 Python 端进行筛选。

findall(**kwargs)

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

效率不高:它加载整个列表,然后在 Python 端进行筛选。

list()
class troveclient.compat.base.Resource(manager, info, loaded=False)

基类: object

资源表示对象的一个特定实例,例如服务器。

这基本上只是一个属性包。 :param manager: 管理器对象 :param info: 表示资源属性的字典 :param loaded: 如果设置为 True,则防止延迟加载

HUMAN_ID = False
get()
property human_id

提供一个漂亮的 ID,可用于 Bash 补全。

is_loaded()
set_loaded(val)
troveclient.compat.base.getid(obj)

从对象或整数中检索 ID。

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