{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://nao1215.github.io/jsonize/schemas/ping/linux.json",
  "title": "ping/linux",
  "description": "ping replies and summary (iputils)",
  "x-jsonize": {
    "definition": "ping/linux",
    "version": 2
  },
  "type": "object",
  "properties": {
    "destination": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "address": {
          "type": "string"
        },
        "source": {
          "type": [
            "string",
            "null"
          ]
        },
        "device": {
          "type": [
            "string",
            "null"
          ]
        },
        "data_bytes": {
          "type": "integer"
        },
        "packet_bytes": {
          "type": [
            "integer",
            "null"
          ]
        }
      },
      "required": [
        "name",
        "address",
        "source",
        "device",
        "data_bytes",
        "packet_bytes"
      ]
    },
    "replies": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "timestamp": {
            "type": "number"
          },
          "bytes": {
            "type": "integer"
          },
          "responder": {
            "type": "string"
          },
          "icmp_seq": {
            "type": "integer"
          },
          "ttl": {
            "type": "integer"
          },
          "time_ms": {
            "type": [
              "number",
              "null"
            ]
          },
          "error": {
            "type": "string"
          }
        },
        "required": [
          "icmp_seq"
        ]
      }
    },
    "statistics": {
      "type": "object",
      "properties": {
        "packets_transmitted": {
          "type": "integer"
        },
        "packets_received": {
          "type": "integer"
        },
        "duplicates": {
          "type": [
            "integer",
            "null"
          ]
        },
        "corrupted": {
          "type": [
            "integer",
            "null"
          ]
        },
        "errors": {
          "type": [
            "integer",
            "null"
          ]
        },
        "packet_loss_percent": {
          "type": "number"
        },
        "time_ms": {
          "type": "integer"
        },
        "round_trip_min_ms": {
          "type": [
            "number",
            "null"
          ]
        },
        "round_trip_avg_ms": {
          "type": [
            "number",
            "null"
          ]
        },
        "round_trip_max_ms": {
          "type": [
            "number",
            "null"
          ]
        },
        "round_trip_mdev_ms": {
          "type": [
            "number",
            "null"
          ]
        },
        "pipe": {
          "type": [
            "integer",
            "null"
          ]
        },
        "ipg_ms": {
          "type": [
            "number",
            "null"
          ]
        },
        "ewma_ms": {
          "type": [
            "number",
            "null"
          ]
        }
      },
      "required": [
        "packets_transmitted",
        "packets_received",
        "duplicates",
        "corrupted",
        "errors",
        "packet_loss_percent",
        "time_ms",
        "round_trip_min_ms",
        "round_trip_avg_ms",
        "round_trip_max_ms",
        "round_trip_mdev_ms",
        "pipe",
        "ipg_ms",
        "ewma_ms"
      ]
    }
  },
  "required": [
    "destination",
    "replies",
    "statistics"
  ]
}
