'Get a QoS policy rule.
:param context: neutron api request context
:type context: neutron.context.Context
:param rule_cls: the rule object class
:type rule_cls: a class from the rule_object (qos.objects.rule) module
:param rule_id: the id of the QoS policy rule to get
:type rule_id: str uuid
:param policy_id: the id of the rule\'s policy
:type policy_id: str uuid
:returns: a QoS policy rule object
:raises: n_exc.QosRuleNotFound'

@db_base_plugin_common.filter_fields
@db_base_plugin_common.convert_result_to_dict
def get_policy_rule(self, context, rule_cls, rule_id, policy_id, fields=None):

    with db_api.autonested_transaction(context.session):
        self._get_policy_obj(context, policy_id)
        rule = rule_cls.get_object(context, id=rule_id)
    if (not rule):
        raise n_exc.QosRuleNotFound(policy_id=policy_id, rule_id=rule_id)
    return rule
