diff options
| author | Alex Meade <alex.meade@rackspace.com> | 2011-08-09 10:29:56 -0400 |
|---|---|---|
| committer | Alex Meade <alex.meade@rackspace.com> | 2011-08-09 10:29:56 -0400 |
| commit | d4d2227cd396455c881f2ed36008578b2d4a7720 (patch) | |
| tree | 1aed385689510d824fa481327ddef4295f41cf26 | |
| parent | 59426d29116ed53dbbe4a060227a1e68fc49a178 (diff) | |
Updated TenantMapper to handle resources with parent resources
| -rw-r--r-- | nova/api/openstack/__init__.py | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/nova/api/openstack/__init__.py b/nova/api/openstack/__init__.py index 9475f961c..3e241cd91 100644 --- a/nova/api/openstack/__init__.py +++ b/nova/api/openstack/__init__.py @@ -68,9 +68,16 @@ class FaultWrapper(base_wsgi.Middleware): class TenantMapper(routes.Mapper): def resource(self, member_name, collection_name, **kwargs): + if not ('parent_resource' in kwargs): + kwargs['path_prefix'] = '{tenant_id}/' + else: + parent_resource = kwargs['parent_resource'] + p_collection = parent_resource['collection_name'] + p_member = parent_resource['member_name'] + kwargs['path_prefix'] = '{tenant_id}/%s/:%s_id' % (p_collection, + p_member) routes.Mapper.resource(self, member_name, collection_name, - path_prefix='{tenant_id}/', **kwargs) |
