extends:
  - barracuda.yaml

metadata:
  device:
    fields:
      type:
        value: "Firewall"

selector:
  - sysobjectid:
      include:
        - 1.3.6.1.4.1.10704.1.*

# TODO, could find MIB descriptions here, so I wrote the descriptions from the context of the metric name.
metrics:
  - MIB: PHION-MIB
    table:
      OID: 1.3.6.1.4.1.10704.1.0
      name: boxServices
    symbols:
      - OID: 1.3.6.1.4.1.10704.1.0.1.2
        name: boxServiceState
        chart_meta:
          description: "Box service state"
          family: 'System/Service/Status'
          unit: "{status}"
        mapping:
          -1: unknown
          0: stopped
          1: started
          2: blocked
          4: removed
    metric_tags:
      - symbol:
          OID: 1.3.6.1.4.1.10704.1.0.1.1
          name: boxServiceName
        tag: box_service_name
  - MIB: PHION-MIB
    symbol:
      OID: 1.3.6.1.4.1.10704.1.11.0
      name: phion.vpnUsers
      chart_meta:
        description: "Number of VPN users"
        family: 'Network/VPN/User/Count'
        unit: "{user}"
  - MIB: PHION-MIB
    table:
      OID: 1.3.6.1.4.1.10704.1.12
      name: trafficShape
    symbols:
      - OID: 1.3.6.1.4.1.10704.1.12.1.2
        name: phion.trafficShape.rate
        chart_meta:
          description: Traffic shape rate
          family: 'Network/QoS/TrafficShaping/Rate'
          unit: "bit/s"
        scale_factor: 1000
      - OID: 1.3.6.1.4.1.10704.1.12.1.3
        name: phion.trafficShape.sessions
        chart_meta:
          description: "Number of sessions"
          family: 'Network/QoS/TrafficShaping/Session/Count'
          unit: "{session}/s"
      - OID: 1.3.6.1.4.1.10704.1.12.1.4
        name: phion.trafficShape.class1Total
        chart_meta:
          description: "Total bytes for class1"
          family: 'Network/QoS/TrafficShaping/Class1/Traffic/Total'
          unit: "bit/s"
        scale_factor: 8
      - OID: 1.3.6.1.4.1.10704.1.12.1.5
        name: phion.trafficShape.class1Packets
        chart_meta:
          description: "Total packets for class1"
          family: 'Network/QoS/TrafficShaping/Class1/Packet/Total'
          unit: "{packet}/s"
      - OID: 1.3.6.1.4.1.10704.1.12.1.6
        name: phion.trafficShape.class1Drop
        chart_meta:
          description: "Dropped packets for class1"
          family: 'Network/QoS/TrafficShaping/Class1/Packet/Dropped'
          unit: "{drop}/s"
      - OID: 1.3.6.1.4.1.10704.1.12.1.7
        name: phion.trafficShape.class2Total
        chart_meta:
          description: "Total bytes for class2"
          family: 'Network/QoS/TrafficShaping/Class2/Traffic/Total'
          unit: "bit/s"
        scale_factor: 8
      - OID: 1.3.6.1.4.1.10704.1.12.1.8
        name: phion.trafficShape.class2Pakets
        chart_meta:
          description: "Total packets for class2"
          family: 'Network/QoS/TrafficShaping/Class2/Packet/Total'
          unit: "{packet}/s"
      - OID: 1.3.6.1.4.1.10704.1.12.1.9
        name: phion.trafficShape.class2Drop
        chart_meta:
          description: "Dropped packets for class2"
          family: 'Network/QoS/TrafficShaping/Class2/Packet/Dropped'
          unit: "{drop}/s"
      - OID: 1.3.6.1.4.1.10704.1.12.1.10
        name: phion.trafficShape.class3Total
        chart_meta:
          description: "Total bytes for class3"
          family: 'Network/QoS/TrafficShaping/Class3/Traffic/Total'
          unit: "bit/s"
        scale_factor: 8
      - OID: 1.3.6.1.4.1.10704.1.12.1.11
        name: phion.trafficShape.class3Pakets
        chart_meta:
          description: "Total packets for class3"
          family: 'Network/QoS/TrafficShaping/Class3/Packet/Total'
          unit: "{packet}/s"
      - OID: 1.3.6.1.4.1.10704.1.12.1.12
        name: phion.trafficShape.class3Drop
        chart_meta:
          description: "Dropped packets for class3"
          family: 'Network/QoS/TrafficShaping/Class3/Packet/Dropped'
          unit: "{drop}/s"
      - OID: 1.3.6.1.4.1.10704.1.12.1.13
        name: phion.trafficShape.noDelayTotal
        chart_meta:
          description: "Total bytes for no delay"
          family: 'Network/QoS/TrafficShaping/NoDelay/Traffic/Total'
          unit: "bit/s"
        scale_factor: 8
      - OID: 1.3.6.1.4.1.10704.1.12.1.14
        name: phion.trafficShape.noDelayPakets
        chart_meta:
          description: "Total packets for no delay"
          family: 'Network/QoS/TrafficShaping/NoDelay/Packet/Total'
          unit: "{packet}/s"
      - OID: 1.3.6.1.4.1.10704.1.12.1.15
        name: phion.trafficShape.noDelayDrop
        chart_meta:
          description: "Dropped packets for no delay"
          family: 'Network/QoS/TrafficShaping/NoDelay/Packet/Dropped'
          unit: "{drop}/s"
    metric_tags:
      - symbol:
          OID: 1.3.6.1.4.1.10704.1.12.1.1
          name: connectorName
        tag: connector_name
  # - MIB: PHION-MIB
  #   table:
  #     OID: 1.3.6.1.4.1.10704.1.4
  #     name: hwSensors
  #   symbols:
  #     - OID: 1.3.6.1.4.1.10704.1.4.1.3
  #       name: phion.hwSensorValue
  #       description: "Sensor value"
  #       unit: "1"
  #   metric_tags:
  #     - symbol:
  #         OID: 1.3.6.1.4.1.10704.1.4.1.1
  #         name: hwSensorName
  #       tag: hw_sensor_name
  #       description: " "
  #       unit: "TBD"
  #     - symbol:
  #         OID: 1.3.6.1.4.1.10704.1.4.1.2
  #         name: hwSensorType
  #       tag: hw_sensor_type
  #       mapping:
  #         -1: unknown
  #         0: voltage
  #         1: fan
  #         2: temperature
  #         3: psu-status
  #       description: " "
  #       unit: "TBD"
  # TODO need transform here
  - MIB: PHION-MIB
    table:
      OID: 1.3.6.1.4.1.10704.1.6
      name: vpnTunnels
    symbols:
      - OID: 1.3.6.1.4.1.10704.1.6.1.2
        name: vpnState
        chart_meta:
          description: VPN state
          family: 'Network/VPN/Tunnel/Status'
          unit: "{status}"
        mapping:
          -1: down
          0: down-disabled
          1: active
    metric_tags:
      - symbol:
          OID: 1.3.6.1.4.1.10704.1.6.1.1
          name: vpnName
        tag: vpn_name
  # - MIB: PHION-MIB
  #   table:
  #     OID: 1.3.6.1.4.1.10704.1.7
  #     name: bgpNeighbors
  #   symbols:
  #     - name: phion.bgpNeighbors
  #       constant_value_one: true
  #       description: " "
  #       unit: "TBD"
  #   metric_tags:
  #     - symbol:
  #         OID: 1.3.6.1.4.1.10704.1.7.1.1
  #         name: bgpNeighborAddress
  #       tag: bgp_neighbor_address
  #       description: " "
  #       unit: "TBD"
  # TODO this does not have a metric.
  # - MIB: PHION-MIB
  #   table:
  #     OID: 1.3.6.1.4.1.10704.1.8
  #     name: ospfNeighbors
  #   symbols:
  #     - name: phion.ospfNeighbors
  #       constant_value_one: true
  #       description: " "
  #       unit: "TBD"
  #   # TODO: Check out metric_tags with symbols having mappings and/or expressing states/statuses. Need to convert to metrics.
  #   metric_tags:
  #     - symbol:
  #         OID: 1.3.6.1.4.1.10704.1.8.1.1
  #         name: ospfNeighborId
  #       tag: ospf_neighbor_id
  #       description: " "
  #       unit: "TBD"
  #     - symbol:
  #         OID: 1.3.6.1.4.1.10704.1.8.1.2
  #         name: ospfNeighborAddress
  #       tag: ospf_neighbor_address
  #       description: " "
  #       unit: "TBD"
  #     - symbol:
  #         OID: 1.3.6.1.4.1.10704.1.8.1.3
  #         name: ospfNeighborInterface
  #       tag: ospf_neighbor_interface
  #       description: " "
  #       unit: "TBD"
  #     - symbol:
  #         OID: 1.3.6.1.4.1.10704.1.8.1.4
  #         name: ospfNeighborStatus
  #       tag: ospf_neighbor_status
  #       description: " "
  #       unit: "TBD"
  # TODO no description of status on MIB
  # - MIB: PHION-MIB
  #   table:
  #     OID: 1.3.6.1.4.1.10704.1.9
  #     name: ripNeighbors
  #   symbols:
  #     - name: phion.ripNeighbors
  #       constant_value_one: true
  #       description: " "
  #       unit: "TBD"
  #   # TODO: Check out metric_tags with symbols having mappings and/or expressing states/statuses. Need to convert to metrics.
  #   metric_tags:
  #     - symbol:
  #         OID: 1.3.6.1.4.1.10704.1.9.1.1
  #         name: ripNeighborAddress
  #       tag: rip_neighbor_address
  #       description: " "
  #       unit: "TBD"
  #     - symbol:
  #         OID: 1.3.6.1.4.1.10704.1.9.1.2
  #         name: ripNeighborState
  #       tag: rip_neighbor_state
  #       description: " "
  #       unit: "TBD"
  # TODO no description of status on MIB
  # - MIB: PHION-MIB # Removed for lack of clarity on how this table is indexed.
  #   table:
  #     OID: 1.3.6.1.4.1.10704.1.10
  #     name: fwStats
  #   symbols:
  #     - OID: 1.3.6.1.4.1.10704.1.10.1.1
  #       name: firewallSessions
  #     - OID: 1.3.6.1.4.1.10704.1.10.1.2
  #       name: packetThroughput
  #     - OID: 1.3.6.1.4.1.10704.1.10.1.3
  #       name: dataThroughput
  #   metric_tags:
  #     - symbol:
  #         OID: 1.3.6.1.4.1.10704.1.10.1.1
  #         name: firewallSessions
  #       tag: firewall_sessions
