{
    "$schema": "http://json-schema.org/draft-07/schema#",
    "$id": "#Port",
    "description": "A number assigned to identify a network communication endpoint.",
    "type": "object",
    "allOf": [
        {
            "$ref": "#Entity"
        },
        {
            "properties": {
                "protocol": {
                    "description": "Communication protocol last observed being used on this port.",
                    "type": "string",
                    "enum": ["TCP", "UDP", "TCP/UDP", "UDP/TCP"]
                },
                "open": {
                    "description": "Indicates if the port is open or shut communication.",
                    "type": "boolean"
                },
                "port": {
                    "description": "Port number",
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 65536
                },
                "banner": {
                    "description": "Provides information about the service running on the port.",
                    "type": "string"
                },
                "service": {
                    "description": "Indicates the type or protocol of the service running on the port.",
                    "type": "string"
                }
            },
            "required": ["protocol", "open", "port"]
        }
    ]
}
