# Note related to use of index `1` of entPhysicalTable columns:
# Based on snmpwalks of Arista, the main/chassis hardware have the index `1`
# Librennms is also using index `1`: https://github.com/librenms/librenms/blob/1ac60e3b1d90616119f3c4adc28213e3c35c2477/includes/definitions/discovery/arista_eos.yaml#L4
metadata:
  device:
    fields:
      serial_number:
        symbol:
          OID: 1.3.6.1.2.1.47.1.1.1.1.11.1  # entPhysicalSerialNum OID at index `1`
          name: entPhysicalSerialNum
          # Examples: `HSH16195058`
      version:
        symbol:
          OID: 1.3.6.1.2.1.47.1.1.1.1.8.1  # entPhysicalHardwareRev OID at index `1`
          name: entPhysicalHardwareRev
          # Examples: `12.00`
      product_name:
        symbol:
          OID: 1.3.6.1.2.1.47.1.1.1.1.2.1  # entPhysicalDescr OID at index `1`
          name: entPhysicalDescr
          # Examples: `DCS-7504 Chassis`
      model:
        symbols:
          - OID: 1.3.6.1.2.1.47.1.1.1.1.13.1  # entPhysicalModelName OID at index `1`
            name: entPhysicalModelName
            # Examples: `DCS-7504`
          - OID: 1.3.6.1.2.1.1.1.0
            name: sysDescr
            match_pattern: 'running on an Arista Networks ([\w-]+)'
            match_value: '$1'
            # Examples: `Arista Networks CCS-720XP-48Y6`
      os_name:
        symbol:
          OID: 1.3.6.1.2.1.1.1.0
          name: sysDescr
          match_pattern: '\bArista Networks EOS\b'
          match_value: 'EOS'
      os_version:
        symbol:
          OID: 1.3.6.1.2.1.1.1.0
          name: sysDescr
          match_pattern: '\sversion\s(\S+)'
          match_value: '$1'
          # Examples: `version 4.23.1F`
