keystone.api.projects module

class keystone.api.projects.ProjectAPI(blueprint_url_prefix='', api_url_prefix='', default_mediatype='application/json', decorators=None, errors=None)[source]

Bases: APIBase

resource_mapping = [(<class 'keystone.api.projects.ProjectsResource'>, '/projects', None, {}, ('https://docs.openstack.org/api/openstack-identity/3/rel/projects', 'stable', {})), (<class 'keystone.api.projects.ProjectResource'>, '/projects/<string:project_id>', None, {}, ('https://docs.openstack.org/api/openstack-identity/3/rel/project', 'stable', {'project_id': 'https://docs.openstack.org/api/openstack-identity/3/param/project_id'})), (<class 'keystone.api.projects.ProjectTagsResource'>, '/projects/<string:project_id>/tags', None, {}, ('https://docs.openstack.org/api/openstack-identity/3/rel/project_tags', 'stable', {'project_id': 'https://docs.openstack.org/api/openstack-identity/3/param/project_id'})), (<class 'keystone.api.projects.ProjectTagResource'>, '/projects/<string:project_id>/tags/<string:value>', None, {}, ('https://docs.openstack.org/api/openstack-identity/3/rel/project_tags', 'stable', {'project_id': 'https://docs.openstack.org/api/openstack-identity/3/param/project_id', 'value': 'https://docs.openstack.org/api/openstack-identity/3/param/tag_value'})), (<class 'keystone.api.projects.ProjectUserGrantResource'>, '/projects/<string:project_id>/users/<string:user_id>/roles/<string:role_id>', None, {}, ('https://docs.openstack.org/api/openstack-identity/3/rel/project_user_role', 'stable', {'project_id': 'https://docs.openstack.org/api/openstack-identity/3/param/project_id', 'role_id': 'https://docs.openstack.org/api/openstack-identity/3/param/role_id', 'user_id': 'https://docs.openstack.org/api/openstack-identity/3/param/user_id'})), (<class 'keystone.api.projects.ProjectUserListGrantResource'>, '/projects/<string:project_id>/users/<string:user_id>/roles', None, {}, ('https://docs.openstack.org/api/openstack-identity/3/rel/project_user_roles', 'stable', {'project_id': 'https://docs.openstack.org/api/openstack-identity/3/param/project_id', 'user_id': 'https://docs.openstack.org/api/openstack-identity/3/param/user_id'})), (<class 'keystone.api.projects.ProjectGroupGrantResource'>, '/projects/<string:project_id>/groups/<string:group_id>/roles/<string:role_id>', None, {}, ('https://docs.openstack.org/api/openstack-identity/3/rel/project_group_role', 'stable', {'group_id': 'https://docs.openstack.org/api/openstack-identity/3/param/group_id', 'project_id': 'https://docs.openstack.org/api/openstack-identity/3/param/project_id', 'role_id': 'https://docs.openstack.org/api/openstack-identity/3/param/role_id'})), (<class 'keystone.api.projects.ProjectGroupListGrantResource'>, '/projects/<string:project_id>/groups/<string:group_id>/roles', None, {}, ('https://docs.openstack.org/api/openstack-identity/3/rel/project_group_roles', 'stable', {'group_id': 'https://docs.openstack.org/api/openstack-identity/3/param/group_id', 'project_id': 'https://docs.openstack.org/api/openstack-identity/3/param/project_id'}))]
class keystone.api.projects.ProjectGroupGrantResource[source]

Bases: _ProjectGrantResourceBase

delete(project_id, group_id, role_id)[source]

Delete grant of role for group on project.

DELETE /v3/projects/{project_id}/groups/{group_id}/roles/{role_id}

get(project_id, group_id, role_id)[source]

Check grant for project, group, role.

GET/HEAD /v3/projects/{project_id/groups/{group_id}/roles/{role_id}

methods: t.ClassVar[t.Collection[str] | None] = {'DELETE', 'GET', 'PUT'}

The methods this view is registered for. Uses the same default (["GET", "HEAD", "OPTIONS"]) as route and add_url_rule by default.

put(project_id, group_id, role_id)[source]

Grant role for group on project.

PUT /v3/projects/{project_id}/groups/{group_id}/roles/{role_id}

class keystone.api.projects.ProjectGroupListGrantResource[source]

Bases: _ProjectGrantResourceBase

get(project_id, group_id)[source]

List grants for group on project.

GET/HEAD /v3/projects/{project_id}/groups/{group_id}

methods: t.ClassVar[t.Collection[str] | None] = {'GET'}

The methods this view is registered for. Uses the same default (["GET", "HEAD", "OPTIONS"]) as route and add_url_rule by default.

class keystone.api.projects.ProjectResource[source]

Bases: ResourceBase

collection_key: str = 'projects'
delete(project_id)[source]

Delete project.

DELETE /v3/projects/{project_id}

get(project_id: str)[source]

Get project.

GET/HEAD /v3/projects/{project_id}

get_member_from_driver
member_key: str = 'project'
methods: t.ClassVar[t.Collection[str] | None] = {'DELETE', 'GET', 'PATCH'}

The methods this view is registered for. Uses the same default (["GET", "HEAD", "OPTIONS"]) as route and add_url_rule by default.

patch(project_id)[source]

Update project.

PATCH /v3/projects/{project_id}

class keystone.api.projects.ProjectTagResource[source]

Bases: _ProjectTagResourceBase

delete(project_id, value)[source]

Delete a single tag from a project.

/v3/projects/{project_id}/tags/{value}

get(project_id, value)[source]

Get information for a single tag associated with a given project.

GET /v3/projects/{project_id}/tags/{value}

methods: t.ClassVar[t.Collection[str] | None] = {'DELETE', 'GET', 'PUT'}

The methods this view is registered for. Uses the same default (["GET", "HEAD", "OPTIONS"]) as route and add_url_rule by default.

put(project_id, value)[source]

Add a single tag to a project.

PUT /v3/projects/{project_id}/tags/{value}

class keystone.api.projects.ProjectTagsResource[source]

Bases: _ProjectTagResourceBase

delete(project_id)[source]

Delete all tags associated with a given project.

DELETE /v3/projects/{project_id}/tags

get(project_id)[source]

List tags associated with a given project.

GET /v3/projects/{project_id}/tags

methods: t.ClassVar[t.Collection[str] | None] = {'DELETE', 'GET', 'PUT'}

The methods this view is registered for. Uses the same default (["GET", "HEAD", "OPTIONS"]) as route and add_url_rule by default.

put(project_id)[source]

Update all tags associated with a given project.

PUT /v3/projects/{project_id}/tags

class keystone.api.projects.ProjectUserGrantResource[source]

Bases: _ProjectGrantResourceBase

delete(project_id, user_id, role_id)[source]

Delete grant of role for user on project.

DELETE /v3/projects/{project_id}/users/{user_id}/roles/{role_id}

get(project_id, user_id, role_id)[source]

Check grant for project, user, role.

GET/HEAD /v3/projects/{project_id/users/{user_id}/roles/{role_id}

methods: t.ClassVar[t.Collection[str] | None] = {'DELETE', 'GET', 'PUT'}

The methods this view is registered for. Uses the same default (["GET", "HEAD", "OPTIONS"]) as route and add_url_rule by default.

put(project_id, user_id, role_id)[source]

Grant role for user on project.

PUT /v3/projects/{project_id}/users/{user_id}/roles/{role_id}

class keystone.api.projects.ProjectUserListGrantResource[source]

Bases: _ProjectGrantResourceBase

get(project_id, user_id)[source]

List grants for user on project.

GET/HEAD /v3/projects/{project_id}/users/{user_id}

methods: t.ClassVar[t.Collection[str] | None] = {'GET'}

The methods this view is registered for. Uses the same default (["GET", "HEAD", "OPTIONS"]) as route and add_url_rule by default.

class keystone.api.projects.ProjectsResource[source]

Bases: ResourceBase

collection_key: str = 'projects'
get()[source]

List projects.

GET/HEAD /v3/projects

get_member_from_driver
member_key: str = 'project'
methods: t.ClassVar[t.Collection[str] | None] = {'GET', 'POST'}

The methods this view is registered for. Uses the same default (["GET", "HEAD", "OPTIONS"]) as route and add_url_rule by default.

post()[source]

Create project.

POST /v3/projects