Value FSDB_AGGREGATOR (\w+)
Value RACK_ID (\d+)
Value FSDB_STATUS (\S+)
Value SFE_STATUS_FC0 (\S+)
Value SFE_STATUS_FC1 (\S+)
Value SFE_STATUS_FC2 (\S+)
Value SFE_STATUS_FC3 (\S+)
Value SFE_STATUS_FC4 (\S+)
Value SFE_STATUS_FC5 (\S+)
Value ROUTER_RACK_HEALTH_TOTAL (\d+)
Value ROUTER_RACK_HEALTH_LCC (\d+)
Value ROUTER_RACK_HEALTH_FCC (\d+)
Value ROUTER_PLANES_HEALTH_UP (\d+)
Value ROUTER_PLANES_HEALTH_MCAST_DOWN (\d+)
Value ROUTER_PLANES_HEALTH_DOWN (\d+)
Value ROUTER_PLANES_HEALTH_ADMIN_DOWN (\d+)
Value ROUTER_SFE_ASICS_HEALTH_TOTAL (\d+)
Value ROUTER_SFE_ASICS_HEALTH_UP (\d+)
Value ROUTER_SFE_ASICS_HEALTH_DOWN (\d+)
Value ROUTER_FIA_ASICS_HEALTH_TOTAL (\d+)
Value ROUTER_FIA_ASICS_HEALTH_UP (\d+)
Value ROUTER_FIA_ASICS_HEALTH_DOWN (\d+)
Value PLANE_ID_0_ADMIN_STATE (\S+)
Value PLANE_ID_1_ADMIN_STATE (\S+)
Value PLANE_ID_2_ADMIN_STATE (\S+)
Value PLANE_ID_3_ADMIN_STATE (\S+)
Value PLANE_ID_4_ADMIN_STATE (\S+)
Value PLANE_ID_5_ADMIN_STATE (\S+)
Value PLANE_ID_0_PLANE_STATE (\S+)
Value PLANE_ID_1_PLANE_STATE (\S+)
Value PLANE_ID_2_PLANE_STATE (\S+)
Value PLANE_ID_3_PLANE_STATE (\S+)
Value PLANE_ID_4_PLANE_STATE (\S+)
Value PLANE_ID_5_PLANE_STATE (\S+)
Value PLANE_ID_0_RACKS_IN_ISSUE (\d+)
Value PLANE_ID_1_RACKS_IN_ISSUE (\d+)
Value PLANE_ID_2_RACKS_IN_ISSUE (\d+)
Value PLANE_ID_3_RACKS_IN_ISSUE (\d+)
Value PLANE_ID_4_RACKS_IN_ISSUE (\d+)
Value PLANE_ID_5_RACKS_IN_ISSUE (\d+)
Value PLANE_ID_0_DATA_DROP_ERR (\S+)
Value PLANE_ID_1_DATA_DROP_ERR (\S+)
Value PLANE_ID_2_DATA_DROP_ERR (\S+)
Value PLANE_ID_3_DATA_DROP_ERR (\S+)
Value PLANE_ID_4_DATA_DROP_ERR (\S+)
Value PLANE_ID_5_DATA_DROP_ERR (\S+)
Value RACK_PLANES_HEALTH_UP (\d+)
Value RACK_PLANES_HEALTH_MCAST_DOWN (\d+)
Value RACK_PLANES_HEALTH_DOWN (\d+)
Value RACK_SFE_ASICS_HEALTH_TOTAL (\d+)
Value RACK_SFE_ASICS_HEALTH_UP (\d+)
Value RACK_SFE_ASICS_HEALTH_DOWN (\d+)
Value RACK_FIA_ASICS_HEALTH_TOTAL (\d+)
Value RACK_FIA_ASICS_HEALTH_UP (\d+)
Value RACK_FIA_ASICS_HEALTH_DOWN (\d+)
Value RACK_VALID_FAB_IDS (\d+)
Value PLANE_ID_0_SFE_ASICS_TOTAL (\S+)
Value PLANE_ID_0_SFE_ASICS_UP (\S+)
Value PLANE_ID_0_SFE_ASICS_DOWN (\S+)
Value PLANE_ID_0_FAB_ID_REACHABLE (\S+)
Value PLANE_ID_1_SFE_ASICS_TOTAL (\S+)
Value PLANE_ID_1_SFE_ASICS_UP (\S+)
Value PLANE_ID_1_SFE_ASICS_DOWN (\S+)
Value PLANE_ID_1_FAB_ID_REACHABLE (\S+)
Value PLANE_ID_2_SFE_ASICS_TOTAL (\S+)
Value PLANE_ID_2_SFE_ASICS_UP (\S+)
Value PLANE_ID_2_SFE_ASICS_DOWN (\S+)
Value PLANE_ID_2_FAB_ID_REACHABLE (\S+)
Value PLANE_ID_3_SFE_ASICS_TOTAL (\S+)
Value PLANE_ID_3_SFE_ASICS_UP (\S+)
Value PLANE_ID_3_SFE_ASICS_DOWN (\S+)
Value PLANE_ID_3_FAB_ID_REACHABLE (\S+)
Value PLANE_ID_4_SFE_ASICS_TOTAL (\S+)
Value PLANE_ID_4_SFE_ASICS_UP (\S+)
Value PLANE_ID_4_SFE_ASICS_DOWN (\S+)
Value PLANE_ID_4_FAB_ID_REACHABLE (\S+)
Value PLANE_ID_5_SFE_ASICS_TOTAL (\S+)
Value PLANE_ID_5_SFE_ASICS_UP (\S+)
Value PLANE_ID_5_SFE_ASICS_DOWN (\S+)
Value PLANE_ID_5_FAB_ID_REACHABLE (\S+)


Start
  ^.+UTC
  ^Fabric.+Health
  ^-.+
  ^Flags.+Down\s?
  ^\s+L.+Yes\s+?
  ^\s+F.+Ok
  ^\s+V.+Valid,\s+? -> Collaborator
  ^\s+$$
  ^$$
  ^.* -> Error "LINE NOT FOUND"
  
Collaborator
  ^Collaborator.+
  ^-.+ 
  ^\s+FSDB Aggregator:\s+${FSDB_AGGREGATOR}
  ^\s+\+.+\+?
  ^\s+\|Rack id\s+\|\s?${RACK_ID}\|
  ^\s+\|FSDB status\|${FSDB_STATUS}\|
  ^\s+\|FC Location.+
  ^\s+\|SFE status\s+\|\s+${SFE_STATUS_FC0}\s+\|\s+${SFE_STATUS_FC1}\s+\|\s+${SFE_STATUS_FC2}\s+\|\s+${SFE_STATUS_FC3}\s+\|\s+${SFE_STATUS_FC4}\s+\|\s+${SFE_STATUS_FC5}\s+\| -> RouterHealth 
  ^\s+$$
  ^$$
  ^.* -> Error "LINE NOT FOUND"

RouterHealth
  ^\s+\+.+\+?
  ^Router\s+Health:
  ^-.+
  ^\s+Rack.+Asics\s+?
  ^\s+T.+\s+?
  ^\s+-.+
  ^\s+${ROUTER_RACK_HEALTH_TOTAL}/${ROUTER_RACK_HEALTH_LCC}/${ROUTER_RACK_HEALTH_FCC}\s+${ROUTER_PLANES_HEALTH_UP}/${ROUTER_PLANES_HEALTH_MCAST_DOWN}/${ROUTER_PLANES_HEALTH_DOWN}/${ROUTER_PLANES_HEALTH_ADMIN_DOWN}\s+${ROUTER_SFE_ASICS_HEALTH_TOTAL}/${ROUTER_SFE_ASICS_HEALTH_UP}/${ROUTER_SFE_ASICS_HEALTH_DOWN}\s+${ROUTER_FIA_ASICS_HEALTH_TOTAL}/${ROUTER_FIA_ASICS_HEALTH_UP}/${ROUTER_FIA_ASICS_HEALTH_DOWN}
  ^\s+Plane.+\s+?
  ^\s+id.+
  ^\s+0\s+${PLANE_ID_0_ADMIN_STATE}\s+${PLANE_ID_0_PLANE_STATE}\s+${PLANE_ID_0_RACKS_IN_ISSUE}\s+${PLANE_ID_0_DATA_DROP_ERR}\s+?
  ^\s+1\s+${PLANE_ID_1_ADMIN_STATE}\s+${PLANE_ID_1_PLANE_STATE}\s+${PLANE_ID_1_RACKS_IN_ISSUE}\s+${PLANE_ID_1_DATA_DROP_ERR}\s+?
  ^\s+2\s+${PLANE_ID_2_ADMIN_STATE}\s+${PLANE_ID_2_PLANE_STATE}\s+${PLANE_ID_2_RACKS_IN_ISSUE}\s+${PLANE_ID_2_DATA_DROP_ERR}\s+?
  ^\s+3\s+${PLANE_ID_3_ADMIN_STATE}\s+${PLANE_ID_3_PLANE_STATE}\s+${PLANE_ID_3_RACKS_IN_ISSUE}\s+${PLANE_ID_3_DATA_DROP_ERR}\s+?
  ^\s+4\s+${PLANE_ID_4_ADMIN_STATE}\s+${PLANE_ID_4_PLANE_STATE}\s+${PLANE_ID_4_RACKS_IN_ISSUE}\s+${PLANE_ID_4_DATA_DROP_ERR}\s+?
  ^\s+5\s+${PLANE_ID_5_ADMIN_STATE}\s+${PLANE_ID_5_PLANE_STATE}\s+${PLANE_ID_5_RACKS_IN_ISSUE}\s+${PLANE_ID_5_DATA_DROP_ERR}\s+? -> RackHealth
  ^\s+$$
  ^$$
  ^.* -> Error "LINE NOT FOUND"
  
RackHealth
  ^\s+-.+
  ^Rack\s+Health:
  ^-.+ 
  ^\s+Rack.+LCC
  ^\s+SFE.+Valid\s+?
  ^\s+T.+
  ^\s+${RACK_SFE_ASICS_HEALTH_TOTAL}/${RACK_SFE_ASICS_HEALTH_UP}/${RACK_SFE_ASICS_HEALTH_DOWN}\s+${RACK_FIA_ASICS_HEALTH_TOTAL}/${RACK_FIA_ASICS_HEALTH_UP}/${RACK_FIA_ASICS_HEALTH_DOWN}\s+${RACK_PLANES_HEALTH_UP}/${RACK_PLANES_HEALTH_MCAST_DOWN}/${RACK_PLANES_HEALTH_DOWN}\s+${RACK_VALID_FAB_IDS}
  ^\s+Plane.+ids\s+?
  ^\s+id.+
  ^\s+0\s+\S+\s+${PLANE_ID_0_SFE_ASICS_TOTAL}/${PLANE_ID_0_SFE_ASICS_UP}/${PLANE_ID_0_SFE_ASICS_DOWN}\s+${PLANE_ID_0_FAB_ID_REACHABLE}\s+?
  ^\s+1\s+\S+\s+${PLANE_ID_1_SFE_ASICS_TOTAL}/${PLANE_ID_1_SFE_ASICS_UP}/${PLANE_ID_1_SFE_ASICS_DOWN}\s+${PLANE_ID_1_FAB_ID_REACHABLE}\s+?
  ^\s+2\s+\S+\s+${PLANE_ID_2_SFE_ASICS_TOTAL}/${PLANE_ID_2_SFE_ASICS_UP}/${PLANE_ID_2_SFE_ASICS_DOWN}\s+${PLANE_ID_2_FAB_ID_REACHABLE}\s+?
  ^\s+3\s+\S+\s+${PLANE_ID_3_SFE_ASICS_TOTAL}/${PLANE_ID_3_SFE_ASICS_UP}/${PLANE_ID_3_SFE_ASICS_DOWN}\s+${PLANE_ID_3_FAB_ID_REACHABLE}\s+?
  ^\s+4\s+\S+\s+${PLANE_ID_4_SFE_ASICS_TOTAL}/${PLANE_ID_4_SFE_ASICS_UP}/${PLANE_ID_4_SFE_ASICS_DOWN}\s+${PLANE_ID_4_FAB_ID_REACHABLE}\s+?
  ^\s+5\s+\S+\s+${PLANE_ID_5_SFE_ASICS_TOTAL}/${PLANE_ID_5_SFE_ASICS_UP}/${PLANE_ID_5_SFE_ASICS_DOWN}\s+${PLANE_ID_5_FAB_ID_REACHABLE}\s+? -> Record
  ^\s+-.+
  ^\s+$$
  ^$$
  ^.* -> Error "LINE NOT FOUND"
  
EOF
