) def create(self, context, tenant_id, body): if body.get('port') == 0: # FIXME(dhellmann): This will apply if the user creates # any of their own aliases with a zero port. raise exceptions.PolicyNotAuthorized( action='creation of wildcard port aliases' ) return super(PortaliasResource, self).create(context, tenant_id, body ) _authzbase.register_quota('portalias', 'quota_portalias') class Portalias(object): """ """ def get_name(self): return "portalias" def get_alias(self): return "dhportalias" def get_description(self): return "A portalias extension" def get_namespace(self):
'tenant_id': addressentry['tenant_id'], 'cidr': addressentry['cidr']} def make_dict(self, addressgroup): """ Convert a address model object to a dictionary. """ res = {'id': addressgroup['id'], 'name': addressgroup['name'], 'tenant_id': addressgroup['tenant_id'], 'entries': [self.make_entry_dict(e) for e in addressgroup['entries']]} return res _authzbase.register_quota('addressgroup', 'quota_addressgroup') class Addressgroup(object): """ """ def get_name(self): return "addressgroup" def get_alias(self): return "dhaddressgroup" def get_description(self): return "An addressgroup extension" def get_namespace(self):
def make_dict(self, portalias): """ Convert a portalias model object to a dictionary. """ res = { "id": portalias["id"], "name": portalias["name"], "protocol": portalias["protocol"], "port": portalias["port"], "tenant_id": portalias["tenant_id"], } return res _authzbase.register_quota("portalias", "quota_portalias") class Portalias(object): """ """ def get_name(self): return "portalias" def get_alias(self): return "dhportalias" def get_description(self): return "A portalias extension"
item['private_port'] = item['public_port'] context.session.add(item) return self.make_dict(item) def update(self, context, resource, resource_dict): with context.session.begin(subtransactions=True): resource.update(resource_dict) # FIXME(dhellmann): This variable is undefined # but I don't know what it should have been. if not resource['private_port']: resource['private_port'] = resource['public_port'] context.session.add(resource) return self.make_dict(resource) _authzbase.register_quota('portforward', 'quota_portforward') class Portforward(object): """ """ def get_name(self): return "portforward" def get_alias(self): return "dhportforward" def get_description(self): return "A port forwarding extension" def get_namespace(self):
qry = context.session.query(models_v2.AddressGroup) qry = qry.filter_by(tenant_id=tenant_id, id=body.get('group_id')) try: group = qry.one() except exc.NoResultFound: msg = ("Tenant %(tenant_id) does not have an address " "group with id %(group_id)s" % {'tenant_id': tenant_id, 'group_id': group_id}) raise q_exc.BadRequest(resource='addressentry', msg=msg) item = self.model(**body) context.session.add(item) return self.make_dict(item) _authzbase.register_quota('addressentry', 'quota_addressentry') class Addressentry(object): """ """ def get_name(self): return "addressentry" def get_alias(self): return "dhaddressentry" def get_description(self): return "An addressentry extension" def get_namespace(self):
return True qry = context.session.query(models_v2.AddressGroup) qry = qry.filter_by(tenant_id=tenant_id, id=addressgroup_id) try: qry.one() except exc.NoResultFound: msg = ("Tenant %(tenant_id)s does not have an address " "group with id %(group_id)s" % {'tenant_id': tenant_id, 'group_id': addressgroup_id}) raise q_exc.BadRequest(resource='filterrule', msg=msg) return True _authzbase.register_quota('filterrule', 'quota_filterrule') class Filterrule(object): """ """ def get_name(self): return "filterrule" def get_alias(self): return "dhfilterrule" def get_description(self): return "A filter rule extension" def get_namespace(self):
qry = context.session.query(models_v2.AddressGroup) qry = qry.filter_by(tenant_id=tenant_id, id=addressgroup_id) try: qry.one() except exc.NoResultFound: msg = "Tenant %(tenant_id)s does not have an address " "group with id %(group_id)s" % { "tenant_id": tenant_id, "group_id": addressgroup_id, } raise q_exc.BadRequest(resource="filterrule", msg=msg) return True _authzbase.register_quota("filterrule", "quota_filterrule") class Filterrule(object): """ """ def get_name(self): return "filterrule" def get_alias(self): return "dhfilterrule" def get_description(self): return "A filter rule extension"
if body.get("name", "").lower() == "any": raise exceptions.PolicyNotAuthorized(action="creation of wildcard address groups") return super(AddressGroupResource, self).create(context, tenant_id, body) def update(self, context, resource, resource_dict): if resource.name == "Any": raise exceptions.PolicyNotAuthorized(action="modification of system address groups") return super(AddressGroupResource, self).update(context, resource, resource_dict) def before_delete(self, resource): if resource.name == "Any": raise exceptions.PolicyNotAuthorized(action="modification of system address groups") return super(AddressGroupResource, self).before_delete(resource) _authzbase.register_quota("addressgroup", "quota_addressgroup") class Addressgroup(object): """ """ def get_name(self): return "addressgroup" def get_alias(self): return "dhaddressgroup" def get_description(self): return "An addressgroup extension"