def __init__(self, conf, **local_conf): self.conf = conf mapper = routes.Mapper() stacks_resource = stacks.create_resource(conf) mapper.resource("stack", "stacks", controller=stacks_resource, collection={'detail': 'GET'}) def conditions(action): api_action = self._actions[action] def action_match(environ, result): req = Request(environ) env_action = req.params.get("Action") return env_action == api_action return {'function': action_match} for action in self._actions: mapper.connect("/", controller=stacks_resource, action=action, conditions=conditions(action)) mapper.connect("/", controller=stacks_resource, action="index") super(API, self).__init__(mapper)
def __init__(self, conf, **local_conf): self.conf = conf mapper = routes.Mapper() stacks_resource = stacks.create_resource(conf) mapper.resource("stack", "stacks", controller=stacks_resource, collection={"detail": "GET"}) def conditions(action): api_action = self._actions[action] def action_match(environ, result): req = Request(environ) env_action = req.params.get("Action") return env_action == api_action return {"function": action_match} for action in self._actions: mapper.connect("/", controller=stacks_resource, action=action, conditions=conditions(action)) mapper.connect("/", controller=stacks_resource, action="index") # Add controller which handles waitcondition notifications # This is not part of the main CFN API spec, hence handle it # separately via a different path waitcondition_controller = waitcondition.create_resource(conf) mapper.connect( "/waitcondition/{arn:.*}", controller=waitcondition_controller, action="update_waitcondition", conditions=dict(method=["PUT"]), ) super(API, self).__init__(mapper)
def __init__(self, conf, **local_conf): self.conf = conf mapper = routes.Mapper() stacks_resource = stacks.create_resource(conf) mapper.resource("stack", "stacks", controller=stacks_resource, collection={'detail': 'GET'}) def conditions(action): api_action = self._actions[action] def action_match(environ, result): req = Request(environ) env_action = req.params.get("Action") return env_action == api_action return {'function': action_match} for action in self._actions: mapper.connect("/", controller=stacks_resource, action=action, conditions=conditions(action)) mapper.connect("/", controller=stacks_resource, action="index") # Add controller which handles signals on resources like: # waitconditions and alarms. # This is not part of the main CFN API spec, hence handle it # separately via a different path signal_controller = signal.create_resource(conf) mapper.connect('/waitcondition/{arn:.*}', controller=signal_controller, action='update_waitcondition', conditions=dict(method=['PUT'])) mapper.connect('/signal/{arn:.*}', controller=signal_controller, action='signal', conditions=dict(method=['POST'])) super(API, self).__init__(mapper)
def __init__(self, conf, **local_conf): self.conf = conf mapper = routes.Mapper() stacks_resource = stacks.create_resource(conf) mapper.resource("stack", "stacks", controller=stacks_resource, collection={'detail': 'GET'}) def conditions(action): api_action = self._actions[action] def action_match(environ, result): req = webob.Request(environ) env_action = req.params.get("Action") return env_action == api_action return {'function': action_match} for action in self._actions: mapper.connect("/", controller=stacks_resource, action=action, conditions=conditions(action)) mapper.connect("/", controller=stacks_resource, action="index") # Add controller which handles signals on resources like: # waitconditions and alarms. # This is not part of the main CFN API spec, hence handle it # separately via a different path signal_controller = signal.create_resource(conf) mapper.connect('/waitcondition/{arn:.*}', controller=signal_controller, action='update_waitcondition', conditions=dict(method=['PUT'])) mapper.connect('/signal/{arn:.*}', controller=signal_controller, action='signal', conditions=dict(method=['POST'])) super(API, self).__init__(mapper)