Skip to content

Resource Records

ResourceRecord pydantic-model

Bases: BindBaseModel

Base class for all RR(Resource Records).

Show JSON schema:
{
  "$defs": {
    "RRClassEnum": {
      "enum": [
        "IN",
        "CH",
        "HS"
      ],
      "title": "RRClassEnum",
      "type": "string"
    },
    "RRTypeEnum": {
      "enum": [
        "A",
        "AAAA",
        "CNAME",
        "MX",
        "NS",
        "PTR",
        "SOA",
        "TXT",
        "SPF",
        "SRV",
        "DNAME",
        "DS",
        "DNSKEY",
        "RRSIG",
        "NSEC",
        "SSHFP",
        "TLSA",
        "CERT",
        "CAA",
        "LOC",
        "RP",
        "HINFO",
        "NAPTR"
      ],
      "title": "RRTypeEnum",
      "type": "string"
    }
  },
  "description": "Base class for all RR(Resource Records).",
  "properties": {
    "comment": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional comment for this block",
      "title": "Comment"
    },
    "name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "DNS name (optional, inherits from previous RR)",
      "title": "Name"
    },
    "ttl": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Time to live in seconds (optional)",
      "title": "Ttl"
    },
    "rr_class": {
      "anyOf": [
        {
          "$ref": "#/$defs/RRClassEnum"
        },
        {
          "type": "null"
        }
      ],
      "default": "IN",
      "description": "Record class"
    },
    "rr_type": {
      "$ref": "#/$defs/RRTypeEnum",
      "description": "Record type"
    }
  },
  "required": [
    "rr_type"
  ],
  "title": "ResourceRecord",
  "type": "object"
}

Fields:

Validators:

  • validate_rr_class

name pydantic-field

name: owner_name_BIND | None = None

DNS name (optional, inherits from previous RR)

ttl pydantic-field

ttl: duration_BIND | None = None

Time to live in seconds (optional)

rr_class pydantic-field

rr_class: RRClassEnum | None = RRClassEnum.IN

Record class

rr_type pydantic-field

rr_type: RRTypeEnum

Record type

ARecord pydantic-model

Bases: ResourceRecord

A record - maps a hostname to an IPv4 address.

Grammar (Reference: RFC 1035 Section 3.4.1):

[<NAME>] [<TTL>] [<CLASS>] A <ADDRESS>

Show JSON schema:
{
  "$defs": {
    "RRClassEnum": {
      "enum": [
        "IN",
        "CH",
        "HS"
      ],
      "title": "RRClassEnum",
      "type": "string"
    },
    "RRTypeEnum": {
      "enum": [
        "A",
        "AAAA",
        "CNAME",
        "MX",
        "NS",
        "PTR",
        "SOA",
        "TXT",
        "SPF",
        "SRV",
        "DNAME",
        "DS",
        "DNSKEY",
        "RRSIG",
        "NSEC",
        "SSHFP",
        "TLSA",
        "CERT",
        "CAA",
        "LOC",
        "RP",
        "HINFO",
        "NAPTR"
      ],
      "title": "RRTypeEnum",
      "type": "string"
    }
  },
  "description": "A record - maps a hostname to an IPv4 address.\n\nGrammar (Reference: RFC 1035 Section 3.4.1):\n```\n[<NAME>] [<TTL>] [<CLASS>] A <ADDRESS>\n```",
  "properties": {
    "comment": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional comment for this block",
      "title": "Comment"
    },
    "name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "DNS name (optional, inherits from previous RR)",
      "title": "Name"
    },
    "ttl": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Time to live in seconds (optional)",
      "title": "Ttl"
    },
    "rr_class": {
      "anyOf": [
        {
          "$ref": "#/$defs/RRClassEnum"
        },
        {
          "type": "null"
        }
      ],
      "default": "IN",
      "description": "Record class"
    },
    "rr_type": {
      "$ref": "#/$defs/RRTypeEnum",
      "default": "A"
    },
    "address": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "format": "ipv4",
          "type": "string"
        }
      ],
      "description": "IPv4 address",
      "title": "Address"
    }
  },
  "required": [
    "address"
  ],
  "title": "ARecord",
  "type": "object"
}

Fields:

Validators:

  • validate_rr_class

address pydantic-field

address: ip_v4_address_BIND

IPv4 address

AAAARecord pydantic-model

Bases: ResourceRecord

AAAA record - maps a hostname to an IPv6 address.

Grammar (Reference: RFC 3596 Section 2.2):

[<NAME>] [<TTL>] [<CLASS>] AAAA <ADDRESS>

Show JSON schema:
{
  "$defs": {
    "RRClassEnum": {
      "enum": [
        "IN",
        "CH",
        "HS"
      ],
      "title": "RRClassEnum",
      "type": "string"
    },
    "RRTypeEnum": {
      "enum": [
        "A",
        "AAAA",
        "CNAME",
        "MX",
        "NS",
        "PTR",
        "SOA",
        "TXT",
        "SPF",
        "SRV",
        "DNAME",
        "DS",
        "DNSKEY",
        "RRSIG",
        "NSEC",
        "SSHFP",
        "TLSA",
        "CERT",
        "CAA",
        "LOC",
        "RP",
        "HINFO",
        "NAPTR"
      ],
      "title": "RRTypeEnum",
      "type": "string"
    }
  },
  "description": "AAAA record - maps a hostname to an IPv6 address.\n\nGrammar (Reference: RFC 3596 Section 2.2):\n```\n[<NAME>] [<TTL>] [<CLASS>] AAAA <ADDRESS>\n```",
  "properties": {
    "comment": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional comment for this block",
      "title": "Comment"
    },
    "name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "DNS name (optional, inherits from previous RR)",
      "title": "Name"
    },
    "ttl": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Time to live in seconds (optional)",
      "title": "Ttl"
    },
    "rr_class": {
      "anyOf": [
        {
          "$ref": "#/$defs/RRClassEnum"
        },
        {
          "type": "null"
        }
      ],
      "default": "IN",
      "description": "Record class"
    },
    "rr_type": {
      "$ref": "#/$defs/RRTypeEnum",
      "default": "AAAA"
    },
    "address": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "format": "ipv6",
          "type": "string"
        }
      ],
      "description": "IPv6 address",
      "title": "Address"
    }
  },
  "required": [
    "address"
  ],
  "title": "AAAARecord",
  "type": "object"
}

Fields:

Validators:

  • validate_rr_class

address pydantic-field

address: ip_v6_address_BIND

IPv6 address

CAARecord pydantic-model

Bases: ResourceRecord

CAA record - Certification Authority Authorization.

Grammar (Reference: RFC 6844):

[<NAME>] [<TTL>] [<CLASS>] CAA <FLAGS> <TAG> "<VALUE>"

Show JSON schema:
{
  "$defs": {
    "CAATagEnum": {
      "description": "CAA tag values.",
      "enum": [
        "issue",
        "issuewild",
        "iodef",
        "contact"
      ],
      "title": "CAATagEnum",
      "type": "string"
    },
    "RRClassEnum": {
      "enum": [
        "IN",
        "CH",
        "HS"
      ],
      "title": "RRClassEnum",
      "type": "string"
    },
    "RRTypeEnum": {
      "enum": [
        "A",
        "AAAA",
        "CNAME",
        "MX",
        "NS",
        "PTR",
        "SOA",
        "TXT",
        "SPF",
        "SRV",
        "DNAME",
        "DS",
        "DNSKEY",
        "RRSIG",
        "NSEC",
        "SSHFP",
        "TLSA",
        "CERT",
        "CAA",
        "LOC",
        "RP",
        "HINFO",
        "NAPTR"
      ],
      "title": "RRTypeEnum",
      "type": "string"
    }
  },
  "description": "CAA record - Certification Authority Authorization.\n\nGrammar (Reference: RFC 6844):\n```\n[<NAME>] [<TTL>] [<CLASS>] CAA <FLAGS> <TAG> \"<VALUE>\"\n```",
  "properties": {
    "comment": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional comment for this block",
      "title": "Comment"
    },
    "name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "DNS name (optional, inherits from previous RR)",
      "title": "Name"
    },
    "ttl": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Time to live in seconds (optional)",
      "title": "Ttl"
    },
    "rr_class": {
      "anyOf": [
        {
          "$ref": "#/$defs/RRClassEnum"
        },
        {
          "type": "null"
        }
      ],
      "default": "IN",
      "description": "Record class"
    },
    "rr_type": {
      "$ref": "#/$defs/RRTypeEnum",
      "default": "CAA"
    },
    "flags": {
      "default": 0,
      "description": "Flags (0-255, usually 0 or 128 for critical)",
      "maximum": 255,
      "minimum": 0,
      "title": "Flags",
      "type": "integer"
    },
    "tag": {
      "$ref": "#/$defs/CAATagEnum",
      "description": "CAA property tag"
    },
    "value": {
      "description": "Property value",
      "title": "Value",
      "type": "string"
    }
  },
  "required": [
    "tag",
    "value"
  ],
  "title": "CAARecord",
  "type": "object"
}

Fields:

Validators:

  • validate_rr_class

flags pydantic-field

flags: integer_BIND = 0

Flags (0-255, usually 0 or 128 for critical)

tag pydantic-field

tag: CAATagEnum

CAA property tag

value pydantic-field

value: quoted_string_BIND

Property value

CAATagEnum

Bases: str, Enum

CAA tag values.

CERTRecord pydantic-model

Bases: ResourceRecord

CERT record - certificate storage.

Grammar (Reference: RFC 4398):

[<NAME>] [<TTL>] [<CLASS>] CERT <CERT_TYPE> <KEY_TAG> <ALGORITHM> <CERTIFICATE>

Show JSON schema:
{
  "$defs": {
    "RRClassEnum": {
      "enum": [
        "IN",
        "CH",
        "HS"
      ],
      "title": "RRClassEnum",
      "type": "string"
    },
    "RRTypeEnum": {
      "enum": [
        "A",
        "AAAA",
        "CNAME",
        "MX",
        "NS",
        "PTR",
        "SOA",
        "TXT",
        "SPF",
        "SRV",
        "DNAME",
        "DS",
        "DNSKEY",
        "RRSIG",
        "NSEC",
        "SSHFP",
        "TLSA",
        "CERT",
        "CAA",
        "LOC",
        "RP",
        "HINFO",
        "NAPTR"
      ],
      "title": "RRTypeEnum",
      "type": "string"
    }
  },
  "description": "CERT record - certificate storage.\n\nGrammar (Reference: RFC 4398):\n```\n[<NAME>] [<TTL>] [<CLASS>] CERT <CERT_TYPE> <KEY_TAG> <ALGORITHM> <CERTIFICATE>\n```",
  "properties": {
    "comment": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional comment for this block",
      "title": "Comment"
    },
    "name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "DNS name (optional, inherits from previous RR)",
      "title": "Name"
    },
    "ttl": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Time to live in seconds (optional)",
      "title": "Ttl"
    },
    "rr_class": {
      "anyOf": [
        {
          "$ref": "#/$defs/RRClassEnum"
        },
        {
          "type": "null"
        }
      ],
      "default": "IN",
      "description": "Record class"
    },
    "rr_type": {
      "$ref": "#/$defs/RRTypeEnum",
      "default": "CERT"
    },
    "cert_type": {
      "description": "Certificate type",
      "title": "Cert Type",
      "type": "integer"
    },
    "key_tag": {
      "description": "Key tag",
      "title": "Key Tag",
      "type": "integer"
    },
    "algorithm": {
      "description": "Algorithm",
      "title": "Algorithm",
      "type": "integer"
    },
    "certificate": {
      "description": "Certificate data",
      "title": "Certificate",
      "type": "string"
    }
  },
  "required": [
    "cert_type",
    "key_tag",
    "algorithm",
    "certificate"
  ],
  "title": "CERTRecord",
  "type": "object"
}

Fields:

Validators:

  • validate_rr_class

cert_type pydantic-field

cert_type: integer_BIND

Certificate type

key_tag pydantic-field

key_tag: integer_BIND

Key tag

algorithm pydantic-field

algorithm: integer_BIND

Algorithm

certificate pydantic-field

certificate: string_BIND

Certificate data

CNAMERecord pydantic-model

Bases: ResourceRecord

CNAME record - alias for another domain name.

Grammar (Reference: RFC 1035 Section 3.3.1):

[<NAME>] [<TTL>] [<CLASS>] CNAME <CANONICAL_NAME>

Show JSON schema:
{
  "$defs": {
    "RRClassEnum": {
      "enum": [
        "IN",
        "CH",
        "HS"
      ],
      "title": "RRClassEnum",
      "type": "string"
    },
    "RRTypeEnum": {
      "enum": [
        "A",
        "AAAA",
        "CNAME",
        "MX",
        "NS",
        "PTR",
        "SOA",
        "TXT",
        "SPF",
        "SRV",
        "DNAME",
        "DS",
        "DNSKEY",
        "RRSIG",
        "NSEC",
        "SSHFP",
        "TLSA",
        "CERT",
        "CAA",
        "LOC",
        "RP",
        "HINFO",
        "NAPTR"
      ],
      "title": "RRTypeEnum",
      "type": "string"
    }
  },
  "description": "CNAME record - alias for another domain name.\n\nGrammar (Reference: RFC 1035 Section 3.3.1):\n```\n[<NAME>] [<TTL>] [<CLASS>] CNAME <CANONICAL_NAME>\n```",
  "properties": {
    "comment": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional comment for this block",
      "title": "Comment"
    },
    "name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "DNS name (optional, inherits from previous RR)",
      "title": "Name"
    },
    "ttl": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Time to live in seconds (optional)",
      "title": "Ttl"
    },
    "rr_class": {
      "anyOf": [
        {
          "$ref": "#/$defs/RRClassEnum"
        },
        {
          "type": "null"
        }
      ],
      "default": "IN",
      "description": "Record class"
    },
    "rr_type": {
      "$ref": "#/$defs/RRTypeEnum",
      "default": "CNAME"
    },
    "canonical_name": {
      "description": "Canonical domain name (the real name)",
      "title": "Canonical Name",
      "type": "string"
    }
  },
  "required": [
    "canonical_name"
  ],
  "title": "CNAMERecord",
  "type": "object"
}

Fields:

Validators:

  • validate_rr_class

canonical_name pydantic-field

canonical_name: domain_name_BIND

Canonical domain name (the real name)

DNAMERecord pydantic-model

Bases: ResourceRecord

DNAME record - delegation name (creates a subtree delegation).

Grammar (Reference: RFC 6672 Section 2):

[<NAME>] [<TTL>] [<CLASS>] DNAME <TARGET>

Show JSON schema:
{
  "$defs": {
    "RRClassEnum": {
      "enum": [
        "IN",
        "CH",
        "HS"
      ],
      "title": "RRClassEnum",
      "type": "string"
    },
    "RRTypeEnum": {
      "enum": [
        "A",
        "AAAA",
        "CNAME",
        "MX",
        "NS",
        "PTR",
        "SOA",
        "TXT",
        "SPF",
        "SRV",
        "DNAME",
        "DS",
        "DNSKEY",
        "RRSIG",
        "NSEC",
        "SSHFP",
        "TLSA",
        "CERT",
        "CAA",
        "LOC",
        "RP",
        "HINFO",
        "NAPTR"
      ],
      "title": "RRTypeEnum",
      "type": "string"
    }
  },
  "description": "DNAME record - delegation name (creates a subtree delegation).\n\nGrammar (Reference: RFC 6672 Section 2):\n```\n[<NAME>] [<TTL>] [<CLASS>] DNAME <TARGET>\n```",
  "properties": {
    "comment": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional comment for this block",
      "title": "Comment"
    },
    "name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "DNS name (optional, inherits from previous RR)",
      "title": "Name"
    },
    "ttl": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Time to live in seconds (optional)",
      "title": "Ttl"
    },
    "rr_class": {
      "anyOf": [
        {
          "$ref": "#/$defs/RRClassEnum"
        },
        {
          "type": "null"
        }
      ],
      "default": "IN",
      "description": "Record class"
    },
    "rr_type": {
      "$ref": "#/$defs/RRTypeEnum",
      "default": "DNAME"
    },
    "target": {
      "description": "Target domain name for delegation",
      "title": "Target",
      "type": "string"
    }
  },
  "required": [
    "target"
  ],
  "title": "DNAMERecord",
  "type": "object"
}

Fields:

Validators:

  • validate_rr_class

target pydantic-field

target: domain_name_BIND

Target domain name for delegation

DNSKEYRecord pydantic-model

Bases: ResourceRecord

DNSKEY record - DNS public key (DNSSEC).

Grammar (Reference: RFC 4034):

[<NAME>] [<TTL>] [<CLASS>] DNSKEY <FLAGS> <PROTOCOL> <ALGORITHM> <PUBLIC_KEY>

Show JSON schema:
{
  "$defs": {
    "DNSSECAlgorithmEnum": {
      "description": "DNSSEC algorithms as defined in RFC 4034.",
      "enum": [
        1,
        2,
        3,
        5,
        6,
        7,
        8,
        10,
        12,
        13,
        14,
        15,
        16
      ],
      "title": "DNSSECAlgorithmEnum",
      "type": "integer"
    },
    "RRClassEnum": {
      "enum": [
        "IN",
        "CH",
        "HS"
      ],
      "title": "RRClassEnum",
      "type": "string"
    },
    "RRTypeEnum": {
      "enum": [
        "A",
        "AAAA",
        "CNAME",
        "MX",
        "NS",
        "PTR",
        "SOA",
        "TXT",
        "SPF",
        "SRV",
        "DNAME",
        "DS",
        "DNSKEY",
        "RRSIG",
        "NSEC",
        "SSHFP",
        "TLSA",
        "CERT",
        "CAA",
        "LOC",
        "RP",
        "HINFO",
        "NAPTR"
      ],
      "title": "RRTypeEnum",
      "type": "string"
    }
  },
  "description": "DNSKEY record - DNS public key (DNSSEC).\n\nGrammar (Reference: RFC 4034):\n```\n[<NAME>] [<TTL>] [<CLASS>] DNSKEY <FLAGS> <PROTOCOL> <ALGORITHM> <PUBLIC_KEY>\n```",
  "properties": {
    "comment": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional comment for this block",
      "title": "Comment"
    },
    "name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "DNS name (optional, inherits from previous RR)",
      "title": "Name"
    },
    "ttl": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Time to live in seconds (optional)",
      "title": "Ttl"
    },
    "rr_class": {
      "anyOf": [
        {
          "$ref": "#/$defs/RRClassEnum"
        },
        {
          "type": "null"
        }
      ],
      "default": "IN",
      "description": "Record class"
    },
    "rr_type": {
      "$ref": "#/$defs/RRTypeEnum",
      "default": "DNSKEY"
    },
    "flags": {
      "description": "Flags (256=Zone Key, 257=Secure Entry Point)",
      "maximum": 65535,
      "minimum": 0,
      "title": "Flags",
      "type": "integer"
    },
    "protocol": {
      "default": 3,
      "description": "Protocol (always 3 for DNSSEC)",
      "title": "Protocol",
      "type": "integer"
    },
    "algorithm": {
      "$ref": "#/$defs/DNSSECAlgorithmEnum",
      "description": "DNSSEC algorithm used"
    },
    "public_key": {
      "description": "Base64 encoded public key",
      "title": "Public Key",
      "type": "string"
    }
  },
  "required": [
    "flags",
    "algorithm",
    "public_key"
  ],
  "title": "DNSKEYRecord",
  "type": "object"
}

Fields:

Validators:

  • validate_rr_class

flags pydantic-field

flags: integer_BIND

Flags (256=Zone Key, 257=Secure Entry Point)

protocol pydantic-field

protocol: integer_BIND = 3

Protocol (always 3 for DNSSEC)

algorithm pydantic-field

algorithm: DNSSECAlgorithmEnum

DNSSEC algorithm used

public_key pydantic-field

public_key: string_BIND

Base64 encoded public key

DNSSECAlgorithmEnum

Bases: int, Enum

DNSSEC algorithms as defined in RFC 4034.

DSRecord pydantic-model

Bases: ResourceRecord

DS record - delegation signer (DNSSEC).

Grammar (Reference: RFC 4034):

[<NAME>] [<TTL>] [<CLASS>] DS <KEY_TAG> <ALGORITHM> <DIGEST_TYPE> <DIGEST>

Show JSON schema:
{
  "$defs": {
    "DNSSECAlgorithmEnum": {
      "description": "DNSSEC algorithms as defined in RFC 4034.",
      "enum": [
        1,
        2,
        3,
        5,
        6,
        7,
        8,
        10,
        12,
        13,
        14,
        15,
        16
      ],
      "title": "DNSSECAlgorithmEnum",
      "type": "integer"
    },
    "RRClassEnum": {
      "enum": [
        "IN",
        "CH",
        "HS"
      ],
      "title": "RRClassEnum",
      "type": "string"
    },
    "RRTypeEnum": {
      "enum": [
        "A",
        "AAAA",
        "CNAME",
        "MX",
        "NS",
        "PTR",
        "SOA",
        "TXT",
        "SPF",
        "SRV",
        "DNAME",
        "DS",
        "DNSKEY",
        "RRSIG",
        "NSEC",
        "SSHFP",
        "TLSA",
        "CERT",
        "CAA",
        "LOC",
        "RP",
        "HINFO",
        "NAPTR"
      ],
      "title": "RRTypeEnum",
      "type": "string"
    }
  },
  "description": "DS record - delegation signer (DNSSEC).\n\nGrammar (Reference: RFC 4034):\n```\n[<NAME>] [<TTL>] [<CLASS>] DS <KEY_TAG> <ALGORITHM> <DIGEST_TYPE> <DIGEST>\n```",
  "properties": {
    "comment": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional comment for this block",
      "title": "Comment"
    },
    "name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "DNS name (optional, inherits from previous RR)",
      "title": "Name"
    },
    "ttl": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Time to live in seconds (optional)",
      "title": "Ttl"
    },
    "rr_class": {
      "anyOf": [
        {
          "$ref": "#/$defs/RRClassEnum"
        },
        {
          "type": "null"
        }
      ],
      "default": "IN",
      "description": "Record class"
    },
    "rr_type": {
      "$ref": "#/$defs/RRTypeEnum",
      "default": "DS"
    },
    "key_tag": {
      "description": "Key tag value",
      "maximum": 65535,
      "minimum": 0,
      "title": "Key Tag",
      "type": "integer"
    },
    "algorithm": {
      "$ref": "#/$defs/DNSSECAlgorithmEnum",
      "description": "DNSSEC algorithm used"
    },
    "digest_type": {
      "description": "Digest type (1=SHA-1, 2=SHA-256)",
      "maximum": 255,
      "minimum": 0,
      "title": "Digest Type",
      "type": "integer"
    },
    "digest": {
      "description": "Hexadecimal digest value",
      "title": "Digest",
      "type": "string"
    }
  },
  "required": [
    "key_tag",
    "algorithm",
    "digest_type",
    "digest"
  ],
  "title": "DSRecord",
  "type": "object"
}

Fields:

Validators:

  • validate_rr_class

key_tag pydantic-field

key_tag: integer_BIND

Key tag value

algorithm pydantic-field

algorithm: DNSSECAlgorithmEnum

DNSSEC algorithm used

digest_type pydantic-field

digest_type: integer_BIND

Digest type (1=SHA-1, 2=SHA-256)

digest pydantic-field

digest: string_BIND

Hexadecimal digest value

HINFORecord pydantic-model

Bases: ResourceRecord

HINFO record - host information.

Grammar (Reference: RFC 1035 Section 3.3.11):

[<NAME>] [<TTL>] [<CLASS>] HINFO "<CPU>" "<OS>"

Show JSON schema:
{
  "$defs": {
    "RRClassEnum": {
      "enum": [
        "IN",
        "CH",
        "HS"
      ],
      "title": "RRClassEnum",
      "type": "string"
    },
    "RRTypeEnum": {
      "enum": [
        "A",
        "AAAA",
        "CNAME",
        "MX",
        "NS",
        "PTR",
        "SOA",
        "TXT",
        "SPF",
        "SRV",
        "DNAME",
        "DS",
        "DNSKEY",
        "RRSIG",
        "NSEC",
        "SSHFP",
        "TLSA",
        "CERT",
        "CAA",
        "LOC",
        "RP",
        "HINFO",
        "NAPTR"
      ],
      "title": "RRTypeEnum",
      "type": "string"
    }
  },
  "description": "HINFO record - host information.\n\nGrammar (Reference: RFC 1035 Section 3.3.11):\n```\n[<NAME>] [<TTL>] [<CLASS>] HINFO \"<CPU>\" \"<OS>\"\n```",
  "properties": {
    "comment": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional comment for this block",
      "title": "Comment"
    },
    "name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "DNS name (optional, inherits from previous RR)",
      "title": "Name"
    },
    "ttl": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Time to live in seconds (optional)",
      "title": "Ttl"
    },
    "rr_class": {
      "anyOf": [
        {
          "$ref": "#/$defs/RRClassEnum"
        },
        {
          "type": "null"
        }
      ],
      "default": "IN",
      "description": "Record class"
    },
    "rr_type": {
      "$ref": "#/$defs/RRTypeEnum",
      "default": "HINFO"
    },
    "cpu": {
      "description": "CPU type",
      "title": "Cpu",
      "type": "string"
    },
    "os": {
      "description": "Operating system",
      "title": "Os",
      "type": "string"
    }
  },
  "required": [
    "cpu",
    "os"
  ],
  "title": "HINFORecord",
  "type": "object"
}

Fields:

Validators:

  • validate_rr_class

cpu pydantic-field

cpu: string_BIND

CPU type

os pydantic-field

os: string_BIND

Operating system

LOCRecord pydantic-model

Bases: ResourceRecord

LOC record - geographical location.

Grammar (Reference: RFC 1876):

[<NAME>] [<TTL>] [<CLASS>] LOC <LATITUDE> <LONGITUDE> <ALTITUDE>
    <SIZE> <HPREC> <VPREC>

Show JSON schema:
{
  "$defs": {
    "RRClassEnum": {
      "enum": [
        "IN",
        "CH",
        "HS"
      ],
      "title": "RRClassEnum",
      "type": "string"
    },
    "RRTypeEnum": {
      "enum": [
        "A",
        "AAAA",
        "CNAME",
        "MX",
        "NS",
        "PTR",
        "SOA",
        "TXT",
        "SPF",
        "SRV",
        "DNAME",
        "DS",
        "DNSKEY",
        "RRSIG",
        "NSEC",
        "SSHFP",
        "TLSA",
        "CERT",
        "CAA",
        "LOC",
        "RP",
        "HINFO",
        "NAPTR"
      ],
      "title": "RRTypeEnum",
      "type": "string"
    }
  },
  "description": "LOC record - geographical location.\n\nGrammar (Reference: RFC 1876):\n```\n[<NAME>] [<TTL>] [<CLASS>] LOC <LATITUDE> <LONGITUDE> <ALTITUDE>\n    <SIZE> <HPREC> <VPREC>\n```",
  "properties": {
    "comment": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional comment for this block",
      "title": "Comment"
    },
    "name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "DNS name (optional, inherits from previous RR)",
      "title": "Name"
    },
    "ttl": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Time to live in seconds (optional)",
      "title": "Ttl"
    },
    "rr_class": {
      "anyOf": [
        {
          "$ref": "#/$defs/RRClassEnum"
        },
        {
          "type": "null"
        }
      ],
      "default": "IN",
      "description": "Record class"
    },
    "rr_type": {
      "$ref": "#/$defs/RRTypeEnum",
      "default": "LOC"
    },
    "latitude": {
      "description": "Latitude (e.g., 51 30 12.123 N)",
      "title": "Latitude",
      "type": "string"
    },
    "longitude": {
      "description": "Longitude (e.g., 0 7 39.456 W)",
      "title": "Longitude",
      "type": "string"
    },
    "altitude": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "string"
        }
      ],
      "description": "Altitude in meters",
      "title": "Altitude"
    },
    "size": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "string"
        }
      ],
      "description": "Diameter of sphere in meters",
      "title": "Size"
    },
    "hprecision": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "string"
        }
      ],
      "description": "Horizontal precision in meters",
      "title": "Hprecision"
    },
    "vprecision": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "string"
        }
      ],
      "description": "Vertical precision in meters",
      "title": "Vprecision"
    }
  },
  "required": [
    "latitude",
    "longitude",
    "altitude",
    "size",
    "hprecision",
    "vprecision"
  ],
  "title": "LOCRecord",
  "type": "object"
}

Fields:

Validators:

  • validate_rr_class

latitude pydantic-field

latitude: string_BIND

Latitude (e.g., 51 30 12.123 N)

longitude pydantic-field

longitude: string_BIND

Longitude (e.g., 0 7 39.456 W)

altitude pydantic-field

altitude: integer_BIND | string_BIND

Altitude in meters

size pydantic-field

size: float | string_BIND

Diameter of sphere in meters

hprecision pydantic-field

hprecision: float | string_BIND

Horizontal precision in meters

vprecision pydantic-field

vprecision: float | string_BIND

Vertical precision in meters

MXRecord pydantic-model

Bases: ResourceRecord

MX record - mail exchange server with priority.

Grammar (Reference: RFC 1035 Section 3.3.9):

[<NAME>] [<TTL>] [<CLASS>] MX <PREFERENCE> <EXCHANGE>

Show JSON schema:
{
  "$defs": {
    "RRClassEnum": {
      "enum": [
        "IN",
        "CH",
        "HS"
      ],
      "title": "RRClassEnum",
      "type": "string"
    },
    "RRTypeEnum": {
      "enum": [
        "A",
        "AAAA",
        "CNAME",
        "MX",
        "NS",
        "PTR",
        "SOA",
        "TXT",
        "SPF",
        "SRV",
        "DNAME",
        "DS",
        "DNSKEY",
        "RRSIG",
        "NSEC",
        "SSHFP",
        "TLSA",
        "CERT",
        "CAA",
        "LOC",
        "RP",
        "HINFO",
        "NAPTR"
      ],
      "title": "RRTypeEnum",
      "type": "string"
    }
  },
  "description": "MX record - mail exchange server with priority.\n\nGrammar (Reference: RFC 1035 Section 3.3.9):\n```\n[<NAME>] [<TTL>] [<CLASS>] MX <PREFERENCE> <EXCHANGE>\n```",
  "properties": {
    "comment": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional comment for this block",
      "title": "Comment"
    },
    "name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "DNS name (optional, inherits from previous RR)",
      "title": "Name"
    },
    "ttl": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Time to live in seconds (optional)",
      "title": "Ttl"
    },
    "rr_class": {
      "anyOf": [
        {
          "$ref": "#/$defs/RRClassEnum"
        },
        {
          "type": "null"
        }
      ],
      "default": "IN",
      "description": "Record class"
    },
    "rr_type": {
      "$ref": "#/$defs/RRTypeEnum",
      "default": "MX"
    },
    "preference": {
      "description": "Priority (lower value = higher priority)",
      "maximum": 65535,
      "minimum": 0,
      "title": "Preference",
      "type": "integer"
    },
    "exchange": {
      "description": "Hostname of mail server",
      "title": "Exchange",
      "type": "string"
    }
  },
  "required": [
    "preference",
    "exchange"
  ],
  "title": "MXRecord",
  "type": "object"
}

Fields:

Validators:

  • validate_rr_class

preference pydantic-field

preference: integer_BIND

Priority (lower value = higher priority)

exchange pydantic-field

exchange: domain_name_BIND

Hostname of mail server

NAPTRRecord pydantic-model

Bases: ResourceRecord

NAPTR record - naming authority pointer.

Grammar (Reference: RFC 3403):

[<NAME>] [<TTL>] [<CLASS>] NAPTR <ORDER> <PREFERENCE> <FLAGS>
    <SERVICES> "<REGEXP>" <REPLACEMENT>

Show JSON schema:
{
  "$defs": {
    "RRClassEnum": {
      "enum": [
        "IN",
        "CH",
        "HS"
      ],
      "title": "RRClassEnum",
      "type": "string"
    },
    "RRTypeEnum": {
      "enum": [
        "A",
        "AAAA",
        "CNAME",
        "MX",
        "NS",
        "PTR",
        "SOA",
        "TXT",
        "SPF",
        "SRV",
        "DNAME",
        "DS",
        "DNSKEY",
        "RRSIG",
        "NSEC",
        "SSHFP",
        "TLSA",
        "CERT",
        "CAA",
        "LOC",
        "RP",
        "HINFO",
        "NAPTR"
      ],
      "title": "RRTypeEnum",
      "type": "string"
    }
  },
  "description": "NAPTR record - naming authority pointer.\n\nGrammar (Reference: RFC 3403):\n```\n[<NAME>] [<TTL>] [<CLASS>] NAPTR <ORDER> <PREFERENCE> <FLAGS>\n    <SERVICES> \"<REGEXP>\" <REPLACEMENT>\n```",
  "properties": {
    "comment": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional comment for this block",
      "title": "Comment"
    },
    "name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "DNS name (optional, inherits from previous RR)",
      "title": "Name"
    },
    "ttl": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Time to live in seconds (optional)",
      "title": "Ttl"
    },
    "rr_class": {
      "anyOf": [
        {
          "$ref": "#/$defs/RRClassEnum"
        },
        {
          "type": "null"
        }
      ],
      "default": "IN",
      "description": "Record class"
    },
    "rr_type": {
      "$ref": "#/$defs/RRTypeEnum",
      "default": "NAPTR"
    },
    "order": {
      "description": "Order (lower processed first)",
      "title": "Order",
      "type": "integer"
    },
    "preference": {
      "description": "Preference within same order",
      "title": "Preference",
      "type": "integer"
    },
    "flags": {
      "description": "Flags (S, A, U, P)",
      "title": "Flags",
      "type": "string"
    },
    "services": {
      "description": "Service parameters",
      "title": "Services",
      "type": "string"
    },
    "regexp": {
      "description": "Regular expression",
      "title": "Regexp",
      "type": "string"
    },
    "replacement": {
      "description": "Replacement dns name",
      "title": "Replacement",
      "type": "string"
    }
  },
  "required": [
    "order",
    "preference",
    "flags",
    "services",
    "regexp",
    "replacement"
  ],
  "title": "NAPTRRecord",
  "type": "object"
}

Fields:

Validators:

  • validate_rr_class

order pydantic-field

order: integer_BIND

Order (lower processed first)

preference pydantic-field

preference: integer_BIND

Preference within same order

flags pydantic-field

flags: string_BIND

Flags (S, A, U, P)

services pydantic-field

services: string_BIND

Service parameters

regexp pydantic-field

regexp: quoted_string_BIND

Regular expression

replacement pydantic-field

replacement: dns_name_BIND

Replacement dns name

NSECRecord pydantic-model

Bases: ResourceRecord

NSEC record - next secure record (DNSSEC).

Grammar (Reference: RFC 4034):

[<NAME>] [<TTL>] [<CLASS>] NSEC <NEXT_DOMAIN_NAME> <TYPE_BIT_MAPS>

Show JSON schema:
{
  "$defs": {
    "RRClassEnum": {
      "enum": [
        "IN",
        "CH",
        "HS"
      ],
      "title": "RRClassEnum",
      "type": "string"
    },
    "RRTypeEnum": {
      "enum": [
        "A",
        "AAAA",
        "CNAME",
        "MX",
        "NS",
        "PTR",
        "SOA",
        "TXT",
        "SPF",
        "SRV",
        "DNAME",
        "DS",
        "DNSKEY",
        "RRSIG",
        "NSEC",
        "SSHFP",
        "TLSA",
        "CERT",
        "CAA",
        "LOC",
        "RP",
        "HINFO",
        "NAPTR"
      ],
      "title": "RRTypeEnum",
      "type": "string"
    }
  },
  "description": "NSEC record - next secure record (DNSSEC).\n\nGrammar (Reference: RFC 4034):\n```\n[<NAME>] [<TTL>] [<CLASS>] NSEC <NEXT_DOMAIN_NAME> <TYPE_BIT_MAPS>\n```",
  "properties": {
    "comment": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional comment for this block",
      "title": "Comment"
    },
    "name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "DNS name (optional, inherits from previous RR)",
      "title": "Name"
    },
    "ttl": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Time to live in seconds (optional)",
      "title": "Ttl"
    },
    "rr_class": {
      "anyOf": [
        {
          "$ref": "#/$defs/RRClassEnum"
        },
        {
          "type": "null"
        }
      ],
      "default": "IN",
      "description": "Record class"
    },
    "rr_type": {
      "$ref": "#/$defs/RRTypeEnum",
      "default": "NSEC"
    },
    "next_domain_name": {
      "description": "Next domain name in zone",
      "title": "Next Domain Name",
      "type": "string"
    },
    "type_bit_maps": {
      "description": "Type bit maps",
      "items": {
        "type": "string"
      },
      "title": "Type Bit Maps",
      "type": "array"
    }
  },
  "required": [
    "next_domain_name",
    "type_bit_maps"
  ],
  "title": "NSECRecord",
  "type": "object"
}

Fields:

Validators:

  • validate_rr_class

next_domain_name pydantic-field

next_domain_name: domain_name_BIND

Next domain name in zone

type_bit_maps pydantic-field

type_bit_maps: list[string_BIND]

Type bit maps

NSRecord pydantic-model

Bases: ResourceRecord

NS record - authoritative name server for a domain.

Grammar (Reference: RFC 1035 Section 3.3.11):

[<NAME>] [<TTL>] [<CLASS>] NS <NSDNAME>

Show JSON schema:
{
  "$defs": {
    "RRClassEnum": {
      "enum": [
        "IN",
        "CH",
        "HS"
      ],
      "title": "RRClassEnum",
      "type": "string"
    },
    "RRTypeEnum": {
      "enum": [
        "A",
        "AAAA",
        "CNAME",
        "MX",
        "NS",
        "PTR",
        "SOA",
        "TXT",
        "SPF",
        "SRV",
        "DNAME",
        "DS",
        "DNSKEY",
        "RRSIG",
        "NSEC",
        "SSHFP",
        "TLSA",
        "CERT",
        "CAA",
        "LOC",
        "RP",
        "HINFO",
        "NAPTR"
      ],
      "title": "RRTypeEnum",
      "type": "string"
    }
  },
  "description": "NS record - authoritative name server for a domain.\n\nGrammar (Reference: RFC 1035 Section 3.3.11):\n```\n[<NAME>] [<TTL>] [<CLASS>] NS <NSDNAME>\n```",
  "properties": {
    "comment": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional comment for this block",
      "title": "Comment"
    },
    "name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "DNS name (optional, inherits from previous RR)",
      "title": "Name"
    },
    "ttl": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Time to live in seconds (optional)",
      "title": "Ttl"
    },
    "rr_class": {
      "anyOf": [
        {
          "$ref": "#/$defs/RRClassEnum"
        },
        {
          "type": "null"
        }
      ],
      "default": "IN",
      "description": "Record class"
    },
    "rr_type": {
      "$ref": "#/$defs/RRTypeEnum",
      "default": "NS"
    },
    "nsdname": {
      "description": "Hostname of authoritative name server",
      "title": "Nsdname",
      "type": "string"
    }
  },
  "required": [
    "nsdname"
  ],
  "title": "NSRecord",
  "type": "object"
}

Fields:

Validators:

  • validate_rr_class

nsdname pydantic-field

nsdname: domain_name_BIND

Hostname of authoritative name server

PTRRecord pydantic-model

Bases: ResourceRecord

PTR record - pointer for reverse DNS lookups.

Grammar (Reference: RFC 1035 Section 3.3.12):

[<NAME>] [<TTL>] [<CLASS>] PTR <DOMAIN_NAME>

Show JSON schema:
{
  "$defs": {
    "RRClassEnum": {
      "enum": [
        "IN",
        "CH",
        "HS"
      ],
      "title": "RRClassEnum",
      "type": "string"
    },
    "RRTypeEnum": {
      "enum": [
        "A",
        "AAAA",
        "CNAME",
        "MX",
        "NS",
        "PTR",
        "SOA",
        "TXT",
        "SPF",
        "SRV",
        "DNAME",
        "DS",
        "DNSKEY",
        "RRSIG",
        "NSEC",
        "SSHFP",
        "TLSA",
        "CERT",
        "CAA",
        "LOC",
        "RP",
        "HINFO",
        "NAPTR"
      ],
      "title": "RRTypeEnum",
      "type": "string"
    }
  },
  "description": "PTR record - pointer for reverse DNS lookups.\n\nGrammar (Reference: RFC 1035 Section 3.3.12):\n```\n[<NAME>] [<TTL>] [<CLASS>] PTR <DOMAIN_NAME>\n```",
  "properties": {
    "comment": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional comment for this block",
      "title": "Comment"
    },
    "name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "DNS name (optional, inherits from previous RR)",
      "title": "Name"
    },
    "ttl": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Time to live in seconds (optional)",
      "title": "Ttl"
    },
    "rr_class": {
      "anyOf": [
        {
          "$ref": "#/$defs/RRClassEnum"
        },
        {
          "type": "null"
        }
      ],
      "default": "IN",
      "description": "Record class"
    },
    "rr_type": {
      "$ref": "#/$defs/RRTypeEnum",
      "default": "PTR"
    },
    "domain_name": {
      "description": "Canonical domain name",
      "title": "Domain Name",
      "type": "string"
    }
  },
  "required": [
    "domain_name"
  ],
  "title": "PTRRecord",
  "type": "object"
}

Fields:

Validators:

  • validate_rr_class

domain_name pydantic-field

domain_name: domain_name_BIND

Canonical domain name

RPRecord pydantic-model

Bases: ResourceRecord

RP record - responsible person.

Grammar (Reference: RFC 1183):

[<NAME>] [<TTL>] [<CLASS>] RP <MBOX_DNAME> <TXT_DNAME>

Show JSON schema:
{
  "$defs": {
    "RRClassEnum": {
      "enum": [
        "IN",
        "CH",
        "HS"
      ],
      "title": "RRClassEnum",
      "type": "string"
    },
    "RRTypeEnum": {
      "enum": [
        "A",
        "AAAA",
        "CNAME",
        "MX",
        "NS",
        "PTR",
        "SOA",
        "TXT",
        "SPF",
        "SRV",
        "DNAME",
        "DS",
        "DNSKEY",
        "RRSIG",
        "NSEC",
        "SSHFP",
        "TLSA",
        "CERT",
        "CAA",
        "LOC",
        "RP",
        "HINFO",
        "NAPTR"
      ],
      "title": "RRTypeEnum",
      "type": "string"
    }
  },
  "description": "RP record - responsible person.\n\nGrammar (Reference: RFC 1183):\n```\n[<NAME>] [<TTL>] [<CLASS>] RP <MBOX_DNAME> <TXT_DNAME>\n```",
  "properties": {
    "comment": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional comment for this block",
      "title": "Comment"
    },
    "name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "DNS name (optional, inherits from previous RR)",
      "title": "Name"
    },
    "ttl": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Time to live in seconds (optional)",
      "title": "Ttl"
    },
    "rr_class": {
      "anyOf": [
        {
          "$ref": "#/$defs/RRClassEnum"
        },
        {
          "type": "null"
        }
      ],
      "default": "IN",
      "description": "Record class"
    },
    "rr_type": {
      "$ref": "#/$defs/RRTypeEnum",
      "default": "RP"
    },
    "mbox_dname": {
      "description": "Mailbox domain name",
      "title": "Mbox Dname",
      "type": "string"
    },
    "txt_dname": {
      "description": "TXT record domain name",
      "title": "Txt Dname",
      "type": "string"
    }
  },
  "required": [
    "mbox_dname",
    "txt_dname"
  ],
  "title": "RPRecord",
  "type": "object"
}

Fields:

Validators:

  • validate_rr_class

mbox_dname pydantic-field

mbox_dname: domain_name_BIND

Mailbox domain name

txt_dname pydantic-field

txt_dname: domain_name_BIND

TXT record domain name

RRClassEnum

Bases: str, Enum

RRSIGRecord pydantic-model

Bases: ResourceRecord

RRSIG record - digital signature for RRset (DNSSEC).

Grammar (Reference: RFC 4034):

[<NAME>] [<TTL>] [<CLASS>] RRSIG <TYPE_COVERED> <ALGORITHM> <LABELS>
    <ORIGINAL_TTL> <SIGNATURE_EXPIRATION> <SIGNATURE_INCEPTION>
    <KEY_TAG> <SIGNER_NAME> <SIGNATURE>

Show JSON schema:
{
  "$defs": {
    "DNSSECAlgorithmEnum": {
      "description": "DNSSEC algorithms as defined in RFC 4034.",
      "enum": [
        1,
        2,
        3,
        5,
        6,
        7,
        8,
        10,
        12,
        13,
        14,
        15,
        16
      ],
      "title": "DNSSECAlgorithmEnum",
      "type": "integer"
    },
    "RRClassEnum": {
      "enum": [
        "IN",
        "CH",
        "HS"
      ],
      "title": "RRClassEnum",
      "type": "string"
    },
    "RRTypeEnum": {
      "enum": [
        "A",
        "AAAA",
        "CNAME",
        "MX",
        "NS",
        "PTR",
        "SOA",
        "TXT",
        "SPF",
        "SRV",
        "DNAME",
        "DS",
        "DNSKEY",
        "RRSIG",
        "NSEC",
        "SSHFP",
        "TLSA",
        "CERT",
        "CAA",
        "LOC",
        "RP",
        "HINFO",
        "NAPTR"
      ],
      "title": "RRTypeEnum",
      "type": "string"
    }
  },
  "description": "RRSIG record - digital signature for RRset (DNSSEC).\n\nGrammar (Reference: RFC 4034):\n```\n[<NAME>] [<TTL>] [<CLASS>] RRSIG <TYPE_COVERED> <ALGORITHM> <LABELS>\n    <ORIGINAL_TTL> <SIGNATURE_EXPIRATION> <SIGNATURE_INCEPTION>\n    <KEY_TAG> <SIGNER_NAME> <SIGNATURE>\n```",
  "properties": {
    "comment": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional comment for this block",
      "title": "Comment"
    },
    "name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "DNS name (optional, inherits from previous RR)",
      "title": "Name"
    },
    "ttl": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Time to live in seconds (optional)",
      "title": "Ttl"
    },
    "rr_class": {
      "anyOf": [
        {
          "$ref": "#/$defs/RRClassEnum"
        },
        {
          "type": "null"
        }
      ],
      "default": "IN",
      "description": "Record class"
    },
    "rr_type": {
      "$ref": "#/$defs/RRTypeEnum",
      "default": "RRSIG"
    },
    "type_covered": {
      "description": "RR type covered by signature",
      "title": "Type Covered",
      "type": "string"
    },
    "algorithm": {
      "$ref": "#/$defs/DNSSECAlgorithmEnum",
      "description": "DNSSEC algorithm used"
    },
    "labels": {
      "description": "Number of labels in original name",
      "title": "Labels",
      "type": "integer"
    },
    "original_ttl": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "string"
        }
      ],
      "description": "Original TTL of RRset",
      "title": "Original Ttl"
    },
    "signature_expiration": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "string"
        }
      ],
      "description": "Signature expiration time (Unix timestamp)",
      "title": "Signature Expiration"
    },
    "signature_inception": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "string"
        }
      ],
      "description": "Signature inception time (Unix timestamp)",
      "title": "Signature Inception"
    },
    "key_tag": {
      "description": "Key tag value",
      "title": "Key Tag",
      "type": "integer"
    },
    "signer_name": {
      "description": "Name of signing key",
      "title": "Signer Name",
      "type": "string"
    },
    "signature": {
      "description": "Base64 encoded signature",
      "title": "Signature",
      "type": "string"
    }
  },
  "required": [
    "type_covered",
    "algorithm",
    "labels",
    "original_ttl",
    "signature_expiration",
    "signature_inception",
    "key_tag",
    "signer_name",
    "signature"
  ],
  "title": "RRSIGRecord",
  "type": "object"
}

Fields:

Validators:

  • validate_rr_class

type_covered pydantic-field

type_covered: string_BIND

RR type covered by signature

algorithm pydantic-field

algorithm: DNSSECAlgorithmEnum

DNSSEC algorithm used

labels pydantic-field

labels: integer_BIND

Number of labels in original name

original_ttl pydantic-field

original_ttl: duration_BIND

Original TTL of RRset

signature_expiration pydantic-field

signature_expiration: integer_BIND | string_BIND

Signature expiration time (Unix timestamp)

signature_inception pydantic-field

signature_inception: integer_BIND | string_BIND

Signature inception time (Unix timestamp)

key_tag pydantic-field

key_tag: integer_BIND

Key tag value

signer_name pydantic-field

signer_name: domain_name_BIND

Name of signing key

signature pydantic-field

signature: string_BIND

Base64 encoded signature

RRTypeEnum

Bases: str, Enum

SOARecord pydantic-model

Bases: ResourceRecord

SOA record - defines authoritative information for the zone.

Grammar (Reference: RFC 1035 Section 3.3.13):

[<NAME>] [<TTL>] [<CLASS>] SOA <MNAME> <RNAME> (
    <SERIAL> <REFRESH> <RETRY> <EXPIRE> <MINIMUM>
)

Show JSON schema:
{
  "$defs": {
    "RRClassEnum": {
      "enum": [
        "IN",
        "CH",
        "HS"
      ],
      "title": "RRClassEnum",
      "type": "string"
    },
    "RRTypeEnum": {
      "enum": [
        "A",
        "AAAA",
        "CNAME",
        "MX",
        "NS",
        "PTR",
        "SOA",
        "TXT",
        "SPF",
        "SRV",
        "DNAME",
        "DS",
        "DNSKEY",
        "RRSIG",
        "NSEC",
        "SSHFP",
        "TLSA",
        "CERT",
        "CAA",
        "LOC",
        "RP",
        "HINFO",
        "NAPTR"
      ],
      "title": "RRTypeEnum",
      "type": "string"
    }
  },
  "description": "SOA record - defines authoritative information for the zone.\n\nGrammar (Reference: RFC 1035 Section 3.3.13):\n```\n[<NAME>] [<TTL>] [<CLASS>] SOA <MNAME> <RNAME> (\n    <SERIAL> <REFRESH> <RETRY> <EXPIRE> <MINIMUM>\n)\n```",
  "properties": {
    "comment": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional comment for this block",
      "title": "Comment"
    },
    "name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "DNS name (optional, inherits from previous RR)",
      "title": "Name"
    },
    "ttl": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Global $TTL for the zone (optional)",
      "title": "Ttl"
    },
    "rr_class": {
      "anyOf": [
        {
          "$ref": "#/$defs/RRClassEnum"
        },
        {
          "type": "null"
        }
      ],
      "default": "IN",
      "description": "Record class"
    },
    "rr_type": {
      "$ref": "#/$defs/RRTypeEnum",
      "default": "SOA"
    },
    "mname": {
      "description": "Primary master name server",
      "title": "Mname",
      "type": "string"
    },
    "rname": {
      "description": "Email address of responsible person (@ replaced by .)",
      "title": "Rname",
      "type": "string"
    },
    "serial": {
      "description": "Zone serial number (32-bit unsigned)",
      "title": "Serial",
      "type": "integer"
    },
    "refresh": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "string"
        }
      ],
      "description": "Refresh interval in seconds",
      "title": "Refresh"
    },
    "retry": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "string"
        }
      ],
      "description": "Retry interval in seconds",
      "title": "Retry"
    },
    "expire": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "string"
        }
      ],
      "description": "Expire time in seconds",
      "title": "Expire"
    },
    "minimum": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "string"
        }
      ],
      "description": "Minimum TTL in seconds (negative cache)",
      "title": "Minimum"
    },
    "origin": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Global $ORIGIN domain name",
      "title": "Origin"
    }
  },
  "required": [
    "mname",
    "rname",
    "serial",
    "refresh",
    "retry",
    "expire",
    "minimum"
  ],
  "title": "SOARecord",
  "type": "object"
}

Fields:

Validators:

  • validate_rr_class

mname pydantic-field

mname: domain_name_BIND

Primary master name server

rname pydantic-field

rname: domain_name_BIND

Email address of responsible person (@ replaced by .)

serial pydantic-field

serial: integer_BIND

Zone serial number (32-bit unsigned)

refresh pydantic-field

refresh: duration_BIND

Refresh interval in seconds

retry pydantic-field

retry: duration_BIND

Retry interval in seconds

expire pydantic-field

expire: duration_BIND

Expire time in seconds

minimum pydantic-field

minimum: duration_BIND

Minimum TTL in seconds (negative cache)

ttl pydantic-field

ttl: duration_BIND | None = None

Global $TTL for the zone (optional)

origin pydantic-field

origin: domain_name_BIND | None = None

Global $ORIGIN domain name

SPFRecord pydantic-model

Bases: ResourceRecord

SPF record - Sender Policy Framework (syntactic equivalent to TXT).

Grammar (Reference: RFC 4408):

[<NAME>] [<TTL>] [<CLASS>] SPF "<SPF_DATA>"

Show JSON schema:
{
  "$defs": {
    "RRClassEnum": {
      "enum": [
        "IN",
        "CH",
        "HS"
      ],
      "title": "RRClassEnum",
      "type": "string"
    },
    "RRTypeEnum": {
      "enum": [
        "A",
        "AAAA",
        "CNAME",
        "MX",
        "NS",
        "PTR",
        "SOA",
        "TXT",
        "SPF",
        "SRV",
        "DNAME",
        "DS",
        "DNSKEY",
        "RRSIG",
        "NSEC",
        "SSHFP",
        "TLSA",
        "CERT",
        "CAA",
        "LOC",
        "RP",
        "HINFO",
        "NAPTR"
      ],
      "title": "RRTypeEnum",
      "type": "string"
    }
  },
  "description": "SPF record - Sender Policy Framework (syntactic equivalent to TXT).\n\nGrammar (Reference: RFC 4408):\n```\n[<NAME>] [<TTL>] [<CLASS>] SPF \"<SPF_DATA>\"\n```",
  "properties": {
    "comment": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional comment for this block",
      "title": "Comment"
    },
    "name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "DNS name (optional, inherits from previous RR)",
      "title": "Name"
    },
    "ttl": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Time to live in seconds (optional)",
      "title": "Ttl"
    },
    "rr_class": {
      "anyOf": [
        {
          "$ref": "#/$defs/RRClassEnum"
        },
        {
          "type": "null"
        }
      ],
      "default": "IN",
      "description": "Record class"
    },
    "rr_type": {
      "$ref": "#/$defs/RRTypeEnum",
      "default": "SPF"
    },
    "spf_data": {
      "description": "SPF policy text",
      "items": {
        "type": "string"
      },
      "title": "Spf Data",
      "type": "array"
    }
  },
  "required": [
    "spf_data"
  ],
  "title": "SPFRecord",
  "type": "object"
}

Fields:

Validators:

  • validate_rr_class

spf_data pydantic-field

spf_data: list[quoted_string_BIND]

SPF policy text

SRVRecord pydantic-model

Bases: ResourceRecord

SRV record - service location record.

Grammar (Reference: RFC 2782):

[<NAME>] [<TTL>] [<CLASS>] SRV <PRIORITY> <WEIGHT> <PORT> <TARGET>

Show JSON schema:
{
  "$defs": {
    "RRClassEnum": {
      "enum": [
        "IN",
        "CH",
        "HS"
      ],
      "title": "RRClassEnum",
      "type": "string"
    },
    "RRTypeEnum": {
      "enum": [
        "A",
        "AAAA",
        "CNAME",
        "MX",
        "NS",
        "PTR",
        "SOA",
        "TXT",
        "SPF",
        "SRV",
        "DNAME",
        "DS",
        "DNSKEY",
        "RRSIG",
        "NSEC",
        "SSHFP",
        "TLSA",
        "CERT",
        "CAA",
        "LOC",
        "RP",
        "HINFO",
        "NAPTR"
      ],
      "title": "RRTypeEnum",
      "type": "string"
    }
  },
  "description": "SRV record - service location record.\n\nGrammar (Reference: RFC 2782):\n```\n[<NAME>] [<TTL>] [<CLASS>] SRV <PRIORITY> <WEIGHT> <PORT> <TARGET>\n```",
  "properties": {
    "comment": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional comment for this block",
      "title": "Comment"
    },
    "name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "DNS name (optional, inherits from previous RR)",
      "title": "Name"
    },
    "ttl": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Time to live in seconds (optional)",
      "title": "Ttl"
    },
    "rr_class": {
      "anyOf": [
        {
          "$ref": "#/$defs/RRClassEnum"
        },
        {
          "type": "null"
        }
      ],
      "default": "IN",
      "description": "Record class"
    },
    "rr_type": {
      "$ref": "#/$defs/RRTypeEnum",
      "default": "SRV"
    },
    "priority": {
      "description": "Priority (lower value = higher priority)",
      "maximum": 65535,
      "minimum": 0,
      "title": "Priority",
      "type": "integer"
    },
    "weight": {
      "description": "Weight for load balancing",
      "maximum": 65535,
      "minimum": 0,
      "title": "Weight",
      "type": "integer"
    },
    "port": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "integer"
        }
      ],
      "description": "Service port number",
      "title": "Port"
    },
    "target": {
      "description": "Target hostname",
      "title": "Target",
      "type": "string"
    }
  },
  "required": [
    "priority",
    "weight",
    "port",
    "target"
  ],
  "title": "SRVRecord",
  "type": "object"
}

Fields:

Validators:

  • validate_rr_class

priority pydantic-field

priority: integer_BIND

Priority (lower value = higher priority)

weight pydantic-field

weight: integer_BIND

Weight for load balancing

port pydantic-field

port: port_BIND

Service port number

target pydantic-field

target: dns_name_BIND

Target hostname

SSHFPAlgorithmEnum

Bases: int, Enum

SSHFP algorithm types.

SSHFPHashTypeEnum

Bases: int, Enum

SSHFP hash types.

SSHFPRecord pydantic-model

Bases: ResourceRecord

SSHFP record - SSH public key fingerprint.

Grammar (Reference: RFC 4255):

[<NAME>] [<TTL>] [<CLASS>] SSHFP <ALGORITHM> <HASH_TYPE> <FINGERPRINT>

Show JSON schema:
{
  "$defs": {
    "RRClassEnum": {
      "enum": [
        "IN",
        "CH",
        "HS"
      ],
      "title": "RRClassEnum",
      "type": "string"
    },
    "RRTypeEnum": {
      "enum": [
        "A",
        "AAAA",
        "CNAME",
        "MX",
        "NS",
        "PTR",
        "SOA",
        "TXT",
        "SPF",
        "SRV",
        "DNAME",
        "DS",
        "DNSKEY",
        "RRSIG",
        "NSEC",
        "SSHFP",
        "TLSA",
        "CERT",
        "CAA",
        "LOC",
        "RP",
        "HINFO",
        "NAPTR"
      ],
      "title": "RRTypeEnum",
      "type": "string"
    },
    "SSHFPAlgorithmEnum": {
      "description": "SSHFP algorithm types.",
      "enum": [
        1,
        2,
        3,
        4
      ],
      "title": "SSHFPAlgorithmEnum",
      "type": "integer"
    },
    "SSHFPHashTypeEnum": {
      "description": "SSHFP hash types.",
      "enum": [
        1,
        2
      ],
      "title": "SSHFPHashTypeEnum",
      "type": "integer"
    }
  },
  "description": "SSHFP record - SSH public key fingerprint.\n\nGrammar (Reference: RFC 4255):\n```\n[<NAME>] [<TTL>] [<CLASS>] SSHFP <ALGORITHM> <HASH_TYPE> <FINGERPRINT>\n```",
  "properties": {
    "comment": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional comment for this block",
      "title": "Comment"
    },
    "name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "DNS name (optional, inherits from previous RR)",
      "title": "Name"
    },
    "ttl": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Time to live in seconds (optional)",
      "title": "Ttl"
    },
    "rr_class": {
      "anyOf": [
        {
          "$ref": "#/$defs/RRClassEnum"
        },
        {
          "type": "null"
        }
      ],
      "default": "IN",
      "description": "Record class"
    },
    "rr_type": {
      "$ref": "#/$defs/RRTypeEnum",
      "default": "SSHFP"
    },
    "algorithm": {
      "$ref": "#/$defs/SSHFPAlgorithmEnum",
      "description": "SSH key algorithm"
    },
    "hash_type": {
      "$ref": "#/$defs/SSHFPHashTypeEnum",
      "description": "Hash algorithm used"
    },
    "fingerprint": {
      "description": "Hexadecimal fingerprint",
      "title": "Fingerprint",
      "type": "string"
    }
  },
  "required": [
    "algorithm",
    "hash_type",
    "fingerprint"
  ],
  "title": "SSHFPRecord",
  "type": "object"
}

Fields:

Validators:

  • validate_rr_class

algorithm pydantic-field

algorithm: SSHFPAlgorithmEnum

SSH key algorithm

hash_type pydantic-field

hash_type: SSHFPHashTypeEnum

Hash algorithm used

fingerprint pydantic-field

fingerprint: string_BIND

Hexadecimal fingerprint

TLSACertUsageEnum

Bases: int, Enum

TLSA certificate usage values.

TLSAMatchingTypeEnum

Bases: int, Enum

TLSA matching type values.

TLSARecord pydantic-model

Bases: ResourceRecord

TLSA record - TLS certificate association (DANE).

Grammar (Reference: RFC 6698):

[<NAME>] [<TTL>] [<CLASS>] TLSA <CERT_USAGE> <SELECTOR> <MATCHING_TYPE> <CERT_DATA>

Show JSON schema:
{
  "$defs": {
    "RRClassEnum": {
      "enum": [
        "IN",
        "CH",
        "HS"
      ],
      "title": "RRClassEnum",
      "type": "string"
    },
    "RRTypeEnum": {
      "enum": [
        "A",
        "AAAA",
        "CNAME",
        "MX",
        "NS",
        "PTR",
        "SOA",
        "TXT",
        "SPF",
        "SRV",
        "DNAME",
        "DS",
        "DNSKEY",
        "RRSIG",
        "NSEC",
        "SSHFP",
        "TLSA",
        "CERT",
        "CAA",
        "LOC",
        "RP",
        "HINFO",
        "NAPTR"
      ],
      "title": "RRTypeEnum",
      "type": "string"
    },
    "TLSACertUsageEnum": {
      "description": "TLSA certificate usage values.",
      "enum": [
        0,
        1,
        2,
        3
      ],
      "title": "TLSACertUsageEnum",
      "type": "integer"
    },
    "TLSAMatchingTypeEnum": {
      "description": "TLSA matching type values.",
      "enum": [
        0,
        1,
        2
      ],
      "title": "TLSAMatchingTypeEnum",
      "type": "integer"
    },
    "TLSASelectorEnum": {
      "description": "TLSA selector values.",
      "enum": [
        0,
        1
      ],
      "title": "TLSASelectorEnum",
      "type": "integer"
    }
  },
  "description": "TLSA record - TLS certificate association (DANE).\n\nGrammar (Reference: RFC 6698):\n```\n[<NAME>] [<TTL>] [<CLASS>] TLSA <CERT_USAGE> <SELECTOR> <MATCHING_TYPE> <CERT_DATA>\n```",
  "properties": {
    "comment": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional comment for this block",
      "title": "Comment"
    },
    "name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "DNS name (optional, inherits from previous RR)",
      "title": "Name"
    },
    "ttl": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Time to live in seconds (optional)",
      "title": "Ttl"
    },
    "rr_class": {
      "anyOf": [
        {
          "$ref": "#/$defs/RRClassEnum"
        },
        {
          "type": "null"
        }
      ],
      "default": "IN",
      "description": "Record class"
    },
    "rr_type": {
      "$ref": "#/$defs/RRTypeEnum",
      "default": "TLSA"
    },
    "cert_usage": {
      "$ref": "#/$defs/TLSACertUsageEnum",
      "description": "Certificate usage"
    },
    "selector": {
      "$ref": "#/$defs/TLSASelectorEnum",
      "description": "Part of certificate selected"
    },
    "matching_type": {
      "$ref": "#/$defs/TLSAMatchingTypeEnum",
      "description": "How certificate is presented"
    },
    "cert_data": {
      "description": "Certificate association data",
      "title": "Cert Data",
      "type": "string"
    }
  },
  "required": [
    "cert_usage",
    "selector",
    "matching_type",
    "cert_data"
  ],
  "title": "TLSARecord",
  "type": "object"
}

Fields:

Validators:

  • validate_rr_class

cert_usage pydantic-field

cert_usage: TLSACertUsageEnum

Certificate usage

selector pydantic-field

selector: TLSASelectorEnum

Part of certificate selected

matching_type pydantic-field

matching_type: TLSAMatchingTypeEnum

How certificate is presented

cert_data pydantic-field

cert_data: string_BIND

Certificate association data

TLSASelectorEnum

Bases: int, Enum

TLSA selector values.

TXTRecord pydantic-model

Bases: ResourceRecord

TXT record - text strings associated with a domain.

Grammar (Reference: RFC 1035 Section 3.3.14):

[<NAME>] [<TTL>] [<CLASS>] TXT "<TEXT_DATA>"

Show JSON schema:
{
  "$defs": {
    "RRClassEnum": {
      "enum": [
        "IN",
        "CH",
        "HS"
      ],
      "title": "RRClassEnum",
      "type": "string"
    },
    "RRTypeEnum": {
      "enum": [
        "A",
        "AAAA",
        "CNAME",
        "MX",
        "NS",
        "PTR",
        "SOA",
        "TXT",
        "SPF",
        "SRV",
        "DNAME",
        "DS",
        "DNSKEY",
        "RRSIG",
        "NSEC",
        "SSHFP",
        "TLSA",
        "CERT",
        "CAA",
        "LOC",
        "RP",
        "HINFO",
        "NAPTR"
      ],
      "title": "RRTypeEnum",
      "type": "string"
    }
  },
  "description": "TXT record - text strings associated with a domain.\n\nGrammar (Reference: RFC 1035 Section 3.3.14):\n```\n[<NAME>] [<TTL>] [<CLASS>] TXT \"<TEXT_DATA>\"\n```",
  "properties": {
    "comment": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional comment for this block",
      "title": "Comment"
    },
    "name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "DNS name (optional, inherits from previous RR)",
      "title": "Name"
    },
    "ttl": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Time to live in seconds (optional)",
      "title": "Ttl"
    },
    "rr_class": {
      "anyOf": [
        {
          "$ref": "#/$defs/RRClassEnum"
        },
        {
          "type": "null"
        }
      ],
      "default": "IN",
      "description": "Record class"
    },
    "rr_type": {
      "$ref": "#/$defs/RRTypeEnum",
      "default": "TXT"
    },
    "text_data": {
      "description": "List of text strings (each max 255 chars)",
      "items": {
        "type": "string"
      },
      "title": "Text Data",
      "type": "array"
    }
  },
  "required": [
    "text_data"
  ],
  "title": "TXTRecord",
  "type": "object"
}

Fields:

Validators:

text_data pydantic-field

text_data: list[quoted_string_BIND]

List of text strings (each max 255 chars)

validate_text_length pydantic-validator

validate_text_length() -> TXTRecord

Validate each text string doesn't exceed 255 characters.