{
    "$schema": "http://json-schema.org/draft-07/schema#",
    "$id": "#DomainRecord",
    "description": "The DNS Record of a Domain Zone.",
    "type": "object",
    "allOf": [
        {
            "$ref": "#Entity"
        },
        {
            "properties": {
                "type": {
                    "description": "DNS Record type.",
                    "type": "string",
                    "enum": [
                        "A",
                        "AAAA",
                        "ALIAS",
                        "CAA",
                        "CERT",
                        "CNAME",
                        "DNSKEY",
                        "DS",
                        "LOC",
                        "MX",
                        "NX",
                        "NS",
                        "NAPTR",
                        "PTR",
                        "SMIMEA",
                        "SOA",
                        "SPF",
                        "SRV",
                        "SSHFP",
                        "TLSA",
                        "TXT",
                        "URI"
                    ]
                },
                "TTL": {
                    "description": "Time to Live before resolver cache expires.",
                    "type": "number"
                },
                "value": {
                    "description": "The record value. Could be referenced as `data`, `content`, `resourceRecords`, `aliasTarget` or another property name depending on the DNS provider.",
                    "anyOf": [
                        {
                            "type": "string"
                        },
                        {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    ]
                }
            },
            "required": ["type", "TTL"]
        }
    ]
}
