keystone.resource.backends.sql module¶
- class keystone.resource.backends.sql.Resource[source]¶
-
- 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_acting_as_domain(hints)[source]¶
列出所有充当域的项目。
- 参数:
hints – 驱动程序如果可能应该实现的筛选提示。
- 返回值:
项目引用列表或空列表。
- 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]¶
更新现有项目。
- 引发:
keystone.exception.ProjectNotFound – 如果project_id不存在
keystone.exception.Conflict – 如果项目名称已经存在