docs: def get_all_resource_attributes(ref_key, network_id, template_id=None, **kwargs):
      """
          Get all the resource attributes for a given resource type in the network.
          That includes all the resource attributes for a given type within the network.
          For example, if the ref_key is 'NODE', then it will return all the attirbutes
          of all nodes in the network. This function allows a front end to pre-load an entire
          network's resource attribute information to reduce on function calls.
          If type_id is specified, only
          return the resource attributes within the type.
      """
  
      user_id = kwargs.get('user_id')
  
      resource_attr_qry = db.DBSession.query(ResourceAttr).\
              outerjoin(Node, Node.id==ResourceAttr.node_id).\
              outerjoin(Link, Link.id==ResourceAttr.link_id).\
              outerjoin(ResourceGroup, ResourceGroup.id==ResourceAttr.group_id).filter(
          ResourceAttr.ref_key == ref_key,
          or_(
              and_(ResourceAttr.node_id != None,
                      ResourceAttr.node_id == Node.id,
                                          Node.network_id==network_id),
  
              and_(ResourceAttr.link_id != None,
                      ResourceAttr.link_id == Link.id,
                                          Link.network_id==network_id),
  
              and_(ResourceAttr.group_id != None,
                      ResourceAttr.group_id == ResourceGroup.id,
                                          ResourceGroup.network_id==network_id)
          ))
  
      if template_id is not None:
          attr_ids = []
          rs = db.DBSession.query(TypeAttr).join(TemplateType,
                                              TemplateType.id==TypeAttr.type_id).filter(
                                                  TemplateType.template_id==template_id).all()
          for r in rs:
              attr_ids.append(r.attr_id)
  
          resource_attr_qry = resource_attr_qry.filter(ResourceAttr.attr_id.in_(attr_ids))
  
      resource_attrs = resource_attr_qry.all()
  
      return resource_attrs