From: Zane Bitter Date: Mon, 12 Nov 2012 16:42:36 +0000 (+0100) Subject: ReST API: Refactor routes X-Git-Tag: 2014.1~1211 X-Git-Url: https://review.fuel-infra.org/gitweb?a=commitdiff_plain;h=83bf4291d7ee08fd7371dc2120b5b27027807375;p=openstack-build%2Fheat-build.git ReST API: Refactor routes Change-Id: I2ab3c266ea814e791bc7fd955f8502ca862a92d5 Signed-off-by: Zane Bitter --- diff --git a/heat/api/openstack/v1/__init__.py b/heat/api/openstack/v1/__init__.py index b5011706..c138d50e 100644 --- a/heat/api/openstack/v1/__init__.py +++ b/heat/api/openstack/v1/__init__.py @@ -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)