keystone.resource.backends.sql module

class keystone.resource.backends.sql.Resource[source]

基类: ResourceDriverBase

check_project_depth(max_depth)[source]

检查后端中项目深度是否超过限制。

参数:

max_depth (integer) – 项目深度不应超过的限制。

返回值:

超过深度的项目id,如果没有超过则返回None。

create_project(project_id, project)[source]

创建一个新项目。

参数:
  • project_id – 此参数可以忽略。

  • project (dict) – 新项目

项目模式

type: object
properties:
    id:
        type: string
    name:
        type: string
    domain_id:
        type: [string, null]
    description:
        type: string
    enabled:
        type: boolean
    parent_id:
        type: string
    is_domain:
        type: boolean
required: [id, name, domain_id]
additionalProperties: true

如果项目不符合模式,行为未定义。

驱动程序可以施加要求,例如字段的最大长度。如果不满足这些要求,行为未定义。

引发:

keystone.exception.Conflict – 如果项目id已经存在,或者domain_id下名称已经存在。

delete_project(project_id)[source]

删除现有项目。

引发:

keystone.exception.ProjectNotFound – 如果project_id不存在

delete_projects_from_ids(project_ids)[source]

删除给定的项目列表。

删除项目列表。确保在成功调用后,列表中的任何项目都不存在。如果提供空列表,则会被静默忽略。此外,如果在project_ids列表中找不到项目ID,则不会引发异常,但会记录一条消息。

get_project(project_id)[source]

通过ID获取项目。

返回值:

project_ref

引发:

keystone.exception.ProjectNotFound – 如果project_id不存在

get_project_by_name(project_name, domain_id)[source]

通过名称获取项目。

返回值:

project_ref

引发:

keystone.exception.ProjectNotFound – 如果在域内不存在具有project_name的项目

is_leaf_project(project_id)[source]

检查项目是否是层次结构中的叶子节点。

参数:

project_id – 驱动程序将检查此项目是否是层次结构中的叶子节点。

引发:

keystone.exception.ProjectNotFound – 如果project_id不存在

list_project_ids_from_domain_ids(domain_ids)[source]

列出给定域ID列表的项目ID。

参数:

domain_ids – 域ID列表

返回值:

由指定域ID拥有的项目ID列表。

此方法由分配管理器内部使用,以便根据域ID列表批量读取一组项目ID。

list_project_parents(project_id)[source]

列出项目的所有父级,通过其ID。

参数:

project_id – 驱动程序将列出此项目的父级。

返回值:

项目引用列表或空列表。

引发:

keystone.exception.ProjectNotFound – 如果project_id不存在

list_projects(hints)[source]

列出系统中的项目。

参数:

hints – 驱动程序如果可能应该实现的筛选提示。

返回值:

项目引用列表或空列表。

list_projects_acting_as_domain(hints)[source]

列出所有充当域的项目。

参数:

hints – 驱动程序如果可能应该实现的筛选提示。

返回值:

项目引用列表或空列表。

list_projects_by_tags(filters)[source]
list_projects_from_ids(ids)[source]

列出提供的ID列表的项目。

参数:

project_ids – ID列表

返回值:

项目引用列表。

此方法由分配管理器内部使用,以便根据其ID批量读取一组项目。

list_projects_in_domain(domain_id)[source]

列出域中的项目。

参数:

domain_id – 驱动程序必须只返回该域内的项目。

返回值:

项目引用列表或空列表。

list_projects_in_subtree(project_id)[source]

列出给定项目子树中的所有项目。

参数:

project_id – 驱动程序将获取此项目下的子树。

返回值:

项目引用列表或空列表

引发:

keystone.exception.ProjectNotFound – 如果project_id不存在

update_project(project_id, project)[source]

更新现有项目。

引发: