summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Meade <alex.meade@rackspace.com>2011-08-09 10:29:56 -0400
committerAlex Meade <alex.meade@rackspace.com>2011-08-09 10:29:56 -0400
commitd4d2227cd396455c881f2ed36008578b2d4a7720 (patch)
tree1aed385689510d824fa481327ddef4295f41cf26
parent59426d29116ed53dbbe4a060227a1e68fc49a178 (diff)
Updated TenantMapper to handle resources with parent resources
-rw-r--r--nova/api/openstack/__init__.py9
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)