{
    "$schema": "http://json-schema.org/draft-07/schema#",
    "$id": "#Firewall",
    "description": "A piece of hardware or software that protects a network/host/application.",
    "type": "object",
    "allOf": [
        { "$ref": "#Entity" },
        {
            "properties": {
                "category": {
                    "description": "The category of the Firewall. Indicates the scope that the Firewall applies to -- i.e. Network, Host, Application.",
                    "type": "array",
                    "items": {
                        "type": "string",
                        "enum": ["network", "host", "application", "other"]
                    }
                },
                "isStateful": {
                    "description": "Indicates if the rules in the firewall is stateful.",
                    "type": "boolean"
                }
            },
            "required": ["category"]
        }
    ]
}
