Bases: object
Create a new project.
Parameters: |
|
---|
Project schema:
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
If the project doesn’t match the schema the behavior is undefined.
The driver can impose requirements such as the maximum length of a field. If these requirements are not met the behavior is undefined.
Raises keystone.exception.Conflict: | |
---|---|
if the project id already exists or the name already exists for the domain_id. |
Delete an existing project.
Raises keystone.exception.ProjectNotFound: | |
---|---|
if project_id does not exist |
Delete a given list of projects.
Deletes a list of projects. Ensures no project on the list exists after it is successfully called. If an empty list is provided, the it is silently ignored. In addition, if a project ID in the list of project_ids is not found in the backend, no exception is raised, but a message is logged.
Get a project by ID.
Returns: | project_ref |
---|---|
Raises keystone.exception.ProjectNotFound: | |
if project_id does not exist |
Get a project by name.
Returns: | project_ref |
---|---|
Raises keystone.exception.ProjectNotFound: | |
if a project with the project_name does not exist within the domain |
Check if a project is a leaf in the hierarchy.
Parameters: | project_id – the driver will check if this project is a leaf in the hierarchy. |
---|---|
Raises keystone.exception.ProjectNotFound: | |
if project_id does not exist |
List project ids for the provided list of domain ids.
Parameters: | domain_ids – list of domain ids |
---|---|
Returns: | a list of project ids owned by the specified domain ids. |
This method is used internally by the assignment manager to bulk read a set of project ids given a list of domain ids.
List all parents from a project by its ID.
Parameters: | project_id – the driver will list the parents of this project. |
---|---|
Returns: | a list of project_refs or an empty list. |
Raises keystone.exception.ProjectNotFound: | |
if project_id does not exist |
List projects in the system.
Parameters: | hints – filter hints which the driver should implement if at all possible. |
---|---|
Returns: | a list of project_refs or an empty list. |
List all projects acting as domains.
Parameters: | hints – filter hints which the driver should implement if at all possible. |
---|---|
Returns: | a list of project_refs or an empty list. |
List projects for the provided list of ids.
Parameters: | project_ids – list of ids |
---|---|
Returns: | a list of project_refs. |
This method is used internally by the assignment manager to bulk read a set of projects given their ids.
List projects in the domain.
Parameters: | domain_id – the driver MUST only return projects within this domain. |
---|---|
Returns: | a list of project_refs or an empty list. |
List all projects in the subtree of a given project.
Parameters: | project_id – the driver will get the subtree under this project. |
---|---|
Returns: | a list of project_refs or an empty list |
Raises keystone.exception.ProjectNotFound: | |
if project_id does not exist |
Update an existing project.
Raises: |
|
---|
Bases: sqlalchemy.ext.declarative.api.Base, keystone.common.sql.core.DictBase