def delete(self, req, id): context = req.environ["coriolis.context"] context.can(service_policies.get_services_policy_label("delete")) try: self._service_api.delete(req.environ['coriolis.context'], id) raise exc.HTTPNoContent() except exception.NotFound as ex: raise exc.HTTPNotFound(explanation=ex.msg)
def update(self, req, id, body): context = req.environ["coriolis.context"] context.can(service_policies.get_services_policy_label("update")) updated_values = self._validate_update_body(body) return service_view.single( req, self._service_api.update(req.environ['coriolis.context'], id, updated_values))
def show(self, req, id): context = req.environ["coriolis.context"] context.can(service_policies.get_services_policy_label("show")) service = self._service_api.get_service(context, id) if not service: raise exc.HTTPNotFound() return service_view.single(req, service)
def create(self, req, body): context = req.environ["coriolis.context"] context.can(service_policies.get_services_policy_label("create")) (host, binary, topic, mapped_regions, enabled) = (self._validate_create_body(body)) return service_view.single( req, self._service_api.create(context, host=host, binary=binary, topic=topic, mapped_regions=mapped_regions, enabled=enabled))
def index(self, req): context = req.environ["coriolis.context"] context.can(service_policies.get_services_policy_label("list")) return service_view.collection(req, self._service_api.get_services(context))