def remove_rules(request, priority, **kwargs): LOG.debug("remove_rules(): param=%s", kwargs) router_id = kwargs['router_id'] supported, currentrules = routerrule_list(request, **{'router_id': router_id}) if not supported: LOG.error("router policies not supported by router %s" % router_id) return newrules = [] if 'reset_rules' in kwargs: rule_reset = {'priority': -2, 'source': 'any', 'destination': 'any', 'action': 'permit'} newrules = [rule_reset] else: for oldrule in currentrules: if oldrule['priority'] != int(priority): newrules.append(oldrule) body = {'router_rules': format_for_api(newrules)} new = api.router_update(request, router_id, **body) if 'router' in request.META: request.META['router'] = new popup_messages(request, currentrules, new.router_rules) return new
def add_rule(request, router_id, newrule, **kwargs): body = {'router_rules': []} kwargs['router_id'] = router_id supported, currentrules = routerrule_list(request, **kwargs) if not supported: LOG.error("router rules not supported by router %s" % router_id) return body['router_rules'] = format_for_api([newrule] + currentrules) new = api.router_update(request, router_id, **body) if 'router' in request.META: request.META['router'] = new return new
def remove_rules(request, rule_ids, **kwargs): LOG.debug("remove_rules(): param=%s", kwargs) router_id = kwargs['router_id'] if 'reset_rules' in kwargs: newrules = [{'source': 'any', 'destination': 'any', 'action': 'permit'}] else: supported, currentrules = routerrule_list(request, **kwargs) if not supported: LOG.error("router rules not supported by router %s" % router_id) return newrules = [] for oldrule in currentrules: if RuleObject(oldrule).id not in rule_ids: newrules.append(oldrule) body = {'router_rules': format_for_api(newrules)} new = api.router_update(request, router_id, **body) if 'router' in request.META: request.META['router'] = new return new
def remove_rules(request, rule_ids, **kwargs): LOG.debug("remove_rules(): param=%s", kwargs) router_id = kwargs['router_id'] if 'reset_rules' in kwargs: newrules = [{ 'source': 'any', 'destination': 'any', 'action': 'permit' }] else: supported, currentrules = routerrule_list(request, **kwargs) if not supported: LOG.error("router rules not supported by router %s" % router_id) return newrules = [] for oldrule in currentrules: if RuleObject(oldrule).id not in rule_ids: newrules.append(oldrule) body = {'router_rules': format_for_api(newrules)} new = api.router_update(request, router_id, **body) if 'router' in request.META: request.META['router'] = new return new
def patch(self, request): body = {'router_rules': request.DATA['router_rules']} result = neutron.router_update(request, request.DATA['id'], **body) return result