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: keystone.server.flask.common.APIBase

resource_mapping = [resource_map(resource=<class 'keystone.api.projects.ProjectTagsResource'>, url='/projects/<string:project_id>/tags', alternate_urls=None, kwargs={}, json_home_data=json_home_data(rel='https://docs.openstack.org/api/openstack-identity/3/rel/project_tags', status='stable', path_vars={'project_id': 'https://docs.openstack.org/api/openstack-identity/3/param/project_id'})), resource_map(resource=<class 'keystone.api.projects.ProjectTagResource'>, url='/projects/<string:project_id>/tags/<string:value>', alternate_urls=None, kwargs={}, json_home_data=json_home_data(rel='https://docs.openstack.org/api/openstack-identity/3/rel/project_tags', status='stable', path_vars={'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'})), resource_map(resource=<class 'keystone.api.projects.ProjectUserGrantResource'>, url='/projects/<string:project_id>/users/<string:user_id>/roles/<string:role_id>', alternate_urls=None, kwargs={}, json_home_data=json_home_data(rel='https://docs.openstack.org/api/openstack-identity/3/rel/project_user_role', status='stable', path_vars={'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', 'role_id': 'https://docs.openstack.org/api/openstack-identity/3/param/role_id'})), resource_map(resource=<class 'keystone.api.projects.ProjectUserListGrantResource'>, url='/projects/<string:project_id>/users/<string:user_id>/roles', alternate_urls=None, kwargs={}, json_home_data=json_home_data(rel='https://docs.openstack.org/api/openstack-identity/3/rel/project_user_roles', status='stable', path_vars={'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'})), resource_map(resource=<class 'keystone.api.projects.ProjectGroupGrantResource'>, url='/projects/<string:project_id>/groups/<string:group_id>/roles/<string:role_id>', alternate_urls=None, kwargs={}, json_home_data=json_home_data(rel='https://docs.openstack.org/api/openstack-identity/3/rel/project_group_role', status='stable', path_vars={'project_id': 'https://docs.openstack.org/api/openstack-identity/3/param/project_id', 'group_id': 'https://docs.openstack.org/api/openstack-identity/3/param/group_id', 'role_id': 'https://docs.openstack.org/api/openstack-identity/3/param/role_id'})), resource_map(resource=<class 'keystone.api.projects.ProjectGroupListGrantResource'>, url='/projects/<string:project_id>/groups/<string:group_id>/roles', alternate_urls=None, kwargs={}, json_home_data=json_home_data(rel='https://docs.openstack.org/api/openstack-identity/3/rel/project_group_roles', status='stable', path_vars={'project_id': 'https://docs.openstack.org/api/openstack-identity/3/param/project_id', 'group_id': 'https://docs.openstack.org/api/openstack-identity/3/param/group_id'}))]
resources = [<class 'keystone.api.projects.ProjectResource'>]
class keystone.api.projects.ProjectGroupGrantResource[source]

Bases: keystone.api.projects._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: ClassVar[Optional[Collection[str]]] = {'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: keystone.api.projects._ProjectGrantResourceBase

get(project_id, group_id)[source]

List grants for group on project.

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

methods: ClassVar[Optional[Collection[str]]] = {'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: keystone.server.flask.common.ResourceBase

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

Delete project.

DELETE /v3/projects/{project_id}

get(project_id=None)[source]

Get project or list projects.

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

get_member_from_driver
member_key = 'project'
methods: ClassVar[Optional[Collection[str]]] = {'DELETE', 'GET', 'PATCH', 'POST'}

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}

post()[source]

Create project.

POST /v3/projects

class keystone.api.projects.ProjectTagResource[source]

Bases: keystone.api.projects._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: ClassVar[Optional[Collection[str]]] = {'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: keystone.api.projects._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: ClassVar[Optional[Collection[str]]] = {'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: keystone.api.projects._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: ClassVar[Optional[Collection[str]]] = {'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: keystone.api.projects._ProjectGrantResourceBase

get(project_id, user_id)[source]

List grants for user on project.

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

methods: ClassVar[Optional[Collection[str]]] = {'GET'}

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