def create(self, req, body): context = req.environ["coriolis.context"] context.can(region_policies.get_regions_policy_label("create")) (name, description, enabled) = self._validate_create_body(body) return region_view.single(req, self._region_api.create( context, region_name=name, description=description, enabled=enabled))
def delete(self, req, id): context = req.environ["coriolis.context"] context.can(region_policies.get_regions_policy_label("delete")) try: self._region_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(region_policies.get_regions_policy_label("update")) updated_values = self._validate_update_body(body) return region_view.single( req, self._region_api.update(req.environ['coriolis.context'], id, updated_values))
def show(self, req, id): context = req.environ["coriolis.context"] context.can(region_policies.get_regions_policy_label("show")) region = self._region_api.get_region(context, id) if not region: raise exc.HTTPNotFound() return region_view.single(req, region)
def index(self, req): context = req.environ["coriolis.context"] context.can(region_policies.get_regions_policy_label("list")) return region_view.collection(req, self._region_api.get_regions(context))