示例#1
0
            'allow_post': False,
            'allow_put': True,
            'is_visible': True,
            'enforce_policy': True,
            'required_by_policy': True
        }
    }

    def make_dict(self, router):
        """
        Convert a router model object to a dictionary.
        """
        return {'tenant_id': router['tenant_id'], 'status': router['status']}


_authzbase.register_quota('routerstatus', 'quota_routerstatus')


class Routerstatus(object):
    """
    """
    def get_name(self):
        return "routerstatus"

    def get_alias(self):
        return "dhrouterstatus"

    def get_description(self):
        return "A router-status extension"

    def get_namespace(self):
示例#2
0
            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):
            "allow_post": False,
            "allow_put": True,
            "is_visible": True,
            "enforce_policy": True,
            "required_by_policy": True,
        },
    }

    def make_dict(self, router):
        """
        Convert a router model object to a dictionary.
        """
        return {"tenant_id": router["tenant_id"], "status": router["status"]}


_authzbase.register_quota("routerstatus", "quota_routerstatus")


class Routerstatus(object):
    """
    """

    def get_name(self):
        return "routerstatus"

    def get_alias(self):
        return "dhrouterstatus"

    def get_description(self):
        return "A router-status extension"
示例#4
0
                                                     )

    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):
示例#5
0
                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):
示例#6
0
            )
        return super(AddressEntryResource, self).update(
            context,
            resource,
            resource_dict,
        )

    def before_delete(self, resource):
        if resource.group.name == 'Any':
            raise q_exc.PolicyNotAuthorized(
                action='modification of system address groups'
            )
        return super(AddressEntryResource, self).before_delete(resource)


_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):
示例#7
0
                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):
示例#8
0
            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"

    def get_namespace(self):
                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"

    def get_namespace(self):
示例#10
0
        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):