diff options
| author | Jenkins <jenkins@review.openstack.org> | 2013-05-27 01:06:25 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2013-05-27 01:06:25 +0000 |
| commit | 41a585f2133e6f7479d13b2fc5aede6d5ee978ef (patch) | |
| tree | f863b783171b88f8fb1c76f9c09d15e84c4046f8 /nova/api | |
| parent | a20617607d5ad3e9da37842b62694d6ac7ca4584 (diff) | |
| parent | acaf9f83abe37a41a687936bb03f20cc183e5aaa (diff) | |
| download | nova-41a585f2133e6f7479d13b2fc5aede6d5ee978ef.tar.gz nova-41a585f2133e6f7479d13b2fc5aede6d5ee978ef.tar.xz nova-41a585f2133e6f7479d13b2fc5aede6d5ee978ef.zip | |
Merge "removes project_id/tenant_id from v3 api urls"
Diffstat (limited to 'nova/api')
| -rw-r--r-- | nova/api/openstack/__init__.py | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/nova/api/openstack/__init__.py b/nova/api/openstack/__init__.py index b2c189e79..18c38a2fd 100644 --- a/nova/api/openstack/__init__.py +++ b/nova/api/openstack/__init__.py @@ -117,6 +117,18 @@ class ProjectMapper(APIMapper): **kwargs) +class PlainMapper(APIMapper): + def resource(self, member_name, collection_name, **kwargs): + if 'parent_resource' in kwargs: + parent_resource = kwargs['parent_resource'] + p_collection = parent_resource['collection_name'] + p_member = parent_resource['member_name'] + kwargs['path_prefix'] = '%s/:%s_id' % (p_collection, p_member) + routes.Mapper.resource(self, member_name, + collection_name, + **kwargs) + + class APIRouter(base_wsgi.Router): """ Routes requests on the OpenStack API to the appropriate controller @@ -222,7 +234,7 @@ class APIRouterV3(base_wsgi.Router): check_func=_check_load_extension, invoke_on_load=True) - mapper = ProjectMapper() + mapper = PlainMapper() self.resources = {} # NOTE(cyeoh) Core API support is rewritten as extensions |
