docs: def _get_groups(network_id, template_id=None):
      """
          Get all the resource groups in a network
      """
      extras = {'types':[], 'attributes':[]}
      group_qry = db.DBSession.query(ResourceGroup).filter(
                                          ResourceGroup.network_id==network_id,
                                          ResourceGroup.status=='A').options(
                                              noload('network')
                                          )
  
      if template_id is not None:
          group_qry = group_qry.filter(ResourceType.group_id==ResourceGroup.id,
                                       TemplateType.id==ResourceType.type_id,
                                       TemplateType.template_id==template_id)
  
      group_res = db.DBSession.execute(group_qry.statement).fetchall()
      groups = []
      for g in group_res:
          groups.append(JSONObject(g, extras=extras))
  
      return groups