{
    "$schema": "http://json-schema.org/draft-07/schema#",
    "$id": "#IpRange",
    "description": "consecutive set of IP addresses used for network addressing and management.",
    "type": "object",
    "allOf": [
        {
            "$ref": "#Entity"
        },
        {
            "properties": {
                "begin": {
                    "description": "The beginning IP address of the range",
                    "type": "string",
                    "format": "ip"
                },
                "end": {
                    "description": "The ending IP address of the range",
                    "type": "string",
                    "format": "ip"
                },
                "source": {
                    "description": "The IP Range source",
                    "type": "string"
                },
                "active": {
                    "description": "Indicates if the IP Range is currently active",
                    "type": "boolean"
                },
                "cidr": {
                    "description": "An array of CIDRs that determine the IP Range",
                    "type": "array",
                    "items": {
                        "type": "string",
                        "format": "ipCidr"
                    }
                },
                "public": {
                    "description": "Indicates if the IP Range is public",
                    "type": "boolean"
                },
                "asn": {
                    "description": "Autonomous System Number that identifies a routing policy",
                    "type": "string",
                    "format": "asn"
                },
                "country": {
                    "description": "Country where the IP range is registered or assigned",
                    "type": "string"
                }
            },
            "required": ["begin", "end", "active", "public"]
        }
    ]
}
