]> review.fuel-infra Code Review - openstack-build/heat-build.git/commitdiff
ReST API: Refactor routes
authorZane Bitter <zbitter@redhat.com>
Mon, 12 Nov 2012 16:42:36 +0000 (17:42 +0100)
committerZane Bitter <zbitter@redhat.com>
Thu, 15 Nov 2012 20:13:18 +0000 (21:13 +0100)
Change-Id: I2ab3c266ea814e791bc7fd955f8502ca862a92d5
Signed-off-by: Zane Bitter <zbitter@redhat.com>
heat/api/openstack/v1/__init__.py

index b5011706564e479bd0a868fb823475dd17afeb7b..c138d50e571b8a65d4688825bcca74d67b0317bf 100644 (file)
@@ -46,36 +46,45 @@ class API(wsgi.Router):
 
         stacks_resource = stacks.create_resource(conf)
 
-        # Stack collection
-        mapper.connect("stack", "/{tenant_id}/stacks",
-                       controller=stacks_resource, action="index",
-                       conditions={'method': 'GET'})
-        mapper.connect("stack", "/{tenant_id}/stacks",
-                       controller=stacks_resource, action="create",
-                       conditions={'method': 'POST'})
-
-        # Stack data
-        mapper.connect("stack", "/{tenant_id}/stacks/{stack_name}",
-                       controller=stacks_resource, action="lookup")
-        mapper.connect("stack", "/{tenant_id}/stacks/{stack_name}/{stack_id}",
-                       controller=stacks_resource, action="show",
-                       conditions={'method': 'GET'})
-        mapper.connect("stack",
-                       "/{tenant_id}/stacks/{stack_name}/{stack_id}/template",
-                       controller=stacks_resource, action="template",
-                       conditions={'method': 'GET'})
-
-        # Stack update/delete
-        mapper.connect("stack", "/{tenant_id}/stacks/{stack_name}/{stack_id}",
-                       controller=stacks_resource, action="update",
-                       conditions={'method': 'PUT'})
-        mapper.connect("stack", "/{tenant_id}/stacks/{stack_name}/{stack_id}",
-                       controller=stacks_resource, action="delete",
-                       conditions={'method': 'DELETE'})
-
-        # Template handling
-        mapper.connect("stack", "/{tenant_id}/validate",
-                       controller=stacks_resource, action="validate_template",
-                       conditions={'method': 'POST'})
+        with mapper.submapper(controller=stacks_resource,
+                              path_prefix="/{tenant_id}") as stack_mapper:
+            # Template handling
+            stack_mapper.connect("template_validate",
+                                 "/validate",
+                                 action="validate_template",
+                                 conditions={'method': 'POST'})
+
+            # Stack collection
+            stack_mapper.connect("stack_index",
+                                 "/stacks",
+                                 action="index",
+                                 conditions={'method': 'GET'})
+            stack_mapper.connect("stack_create",
+                                 "/stacks",
+                                 action="create",
+                                 conditions={'method': 'POST'})
+
+            # Stack data
+            stack_mapper.connect("stack_lookup",
+                                 "/stacks/{stack_name}",
+                                 action="lookup")
+            stack_mapper.connect("stack_show",
+                                 "/stacks/{stack_name}/{stack_id}",
+                                 action="show",
+                                 conditions={'method': 'GET'})
+            stack_mapper.connect("stack_template",
+                                 "/stacks/{stack_name}/{stack_id}/template",
+                                 action="template",
+                                 conditions={'method': 'GET'})
+
+            # Stack update/delete
+            stack_mapper.connect("stack_update",
+                                 "/stacks/{stack_name}/{stack_id}",
+                                 action="update",
+                                 conditions={'method': 'PUT'})
+            stack_mapper.connect("stack_delete",
+                                 "/stacks/{stack_name}/{stack_id}",
+                                 action="delete",
+                                 conditions={'method': 'DELETE'})
 
         super(API, self).__init__(mapper)