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:
-
comment(string_BIND | None) -
name(owner_name_BIND | None) -
ttl(duration_BIND | None) -
rr_class(RRClassEnum | None) -
rr_type(RRTypeEnum)
Validators:
-
validate_rr_class
name
pydantic-field
¶
name: owner_name_BIND | None = None
DNS name (optional, inherits from previous RR)
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:
-
comment(string_BIND | None) -
name(owner_name_BIND | None) -
ttl(duration_BIND | None) -
rr_class(RRClassEnum | None) -
address(ip_v4_address_BIND) -
rr_type(RRTypeEnum)
Validators:
-
validate_rr_class
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:
-
comment(string_BIND | None) -
name(owner_name_BIND | None) -
ttl(duration_BIND | None) -
rr_class(RRClassEnum | None) -
address(ip_v6_address_BIND) -
rr_type(RRTypeEnum)
Validators:
-
validate_rr_class
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:
-
comment(string_BIND | None) -
name(owner_name_BIND | None) -
ttl(duration_BIND | None) -
rr_class(RRClassEnum | None) -
flags(integer_BIND) -
tag(CAATagEnum) -
value(quoted_string_BIND) -
rr_type(RRTypeEnum)
Validators:
-
validate_rr_class
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:
-
comment(string_BIND | None) -
name(owner_name_BIND | None) -
ttl(duration_BIND | None) -
rr_class(RRClassEnum | None) -
cert_type(integer_BIND) -
key_tag(integer_BIND) -
algorithm(integer_BIND) -
certificate(string_BIND) -
rr_type(RRTypeEnum)
Validators:
-
validate_rr_class
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:
-
comment(string_BIND | None) -
name(owner_name_BIND | None) -
ttl(duration_BIND | None) -
rr_class(RRClassEnum | None) -
canonical_name(domain_name_BIND) -
rr_type(RRTypeEnum)
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:
-
comment(string_BIND | None) -
name(owner_name_BIND | None) -
ttl(duration_BIND | None) -
rr_class(RRClassEnum | None) -
target(domain_name_BIND) -
rr_type(RRTypeEnum)
Validators:
-
validate_rr_class
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:
-
comment(string_BIND | None) -
name(owner_name_BIND | None) -
ttl(duration_BIND | None) -
rr_class(RRClassEnum | None) -
flags(integer_BIND) -
protocol(integer_BIND) -
algorithm(DNSSECAlgorithmEnum) -
public_key(string_BIND) -
rr_type(RRTypeEnum)
Validators:
-
validate_rr_class
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:
-
comment(string_BIND | None) -
name(owner_name_BIND | None) -
ttl(duration_BIND | None) -
rr_class(RRClassEnum | None) -
key_tag(integer_BIND) -
algorithm(DNSSECAlgorithmEnum) -
digest_type(integer_BIND) -
digest(string_BIND) -
rr_type(RRTypeEnum)
Validators:
-
validate_rr_class
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:
-
comment(string_BIND | None) -
name(owner_name_BIND | None) -
ttl(duration_BIND | None) -
rr_class(RRClassEnum | None) -
cpu(string_BIND) -
os(string_BIND) -
rr_type(RRTypeEnum)
Validators:
-
validate_rr_class
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:
-
comment(string_BIND | None) -
name(owner_name_BIND | None) -
ttl(duration_BIND | None) -
rr_class(RRClassEnum | None) -
latitude(string_BIND) -
longitude(string_BIND) -
altitude(integer_BIND | string_BIND) -
size(float | string_BIND) -
hprecision(float | string_BIND) -
vprecision(float | string_BIND) -
rr_type(RRTypeEnum)
Validators:
-
validate_rr_class
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:
-
comment(string_BIND | None) -
name(owner_name_BIND | None) -
ttl(duration_BIND | None) -
rr_class(RRClassEnum | None) -
preference(integer_BIND) -
exchange(domain_name_BIND) -
rr_type(RRTypeEnum)
Validators:
-
validate_rr_class
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:
-
comment(string_BIND | None) -
name(owner_name_BIND | None) -
ttl(duration_BIND | None) -
rr_class(RRClassEnum | None) -
order(integer_BIND) -
preference(integer_BIND) -
flags(string_BIND) -
services(string_BIND) -
regexp(quoted_string_BIND) -
replacement(dns_name_BIND) -
rr_type(RRTypeEnum)
Validators:
-
validate_rr_class
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:
-
comment(string_BIND | None) -
name(owner_name_BIND | None) -
ttl(duration_BIND | None) -
rr_class(RRClassEnum | None) -
next_domain_name(domain_name_BIND) -
type_bit_maps(list[string_BIND]) -
rr_type(RRTypeEnum)
Validators:
-
validate_rr_class
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:
-
comment(string_BIND | None) -
name(owner_name_BIND | None) -
ttl(duration_BIND | None) -
rr_class(RRClassEnum | None) -
nsdname(domain_name_BIND) -
rr_type(RRTypeEnum)
Validators:
-
validate_rr_class
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:
-
comment(string_BIND | None) -
name(owner_name_BIND | None) -
ttl(duration_BIND | None) -
rr_class(RRClassEnum | None) -
domain_name(domain_name_BIND) -
rr_type(RRTypeEnum)
Validators:
-
validate_rr_class
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:
-
comment(string_BIND | None) -
name(owner_name_BIND | None) -
ttl(duration_BIND | None) -
rr_class(RRClassEnum | None) -
mbox_dname(domain_name_BIND) -
txt_dname(domain_name_BIND) -
rr_type(RRTypeEnum)
Validators:
-
validate_rr_class
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:
-
comment(string_BIND | None) -
name(owner_name_BIND | None) -
ttl(duration_BIND | None) -
rr_class(RRClassEnum | None) -
type_covered(string_BIND) -
algorithm(DNSSECAlgorithmEnum) -
labels(integer_BIND) -
original_ttl(duration_BIND) -
signature_expiration(integer_BIND | string_BIND) -
signature_inception(integer_BIND | string_BIND) -
key_tag(integer_BIND) -
signer_name(domain_name_BIND) -
signature(string_BIND) -
rr_type(RRTypeEnum)
Validators:
-
validate_rr_class
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:
-
comment(string_BIND | None) -
name(owner_name_BIND | None) -
rr_class(RRClassEnum | None) -
mname(domain_name_BIND) -
rname(domain_name_BIND) -
serial(integer_BIND) -
refresh(duration_BIND) -
retry(duration_BIND) -
expire(duration_BIND) -
minimum(duration_BIND) -
rr_type(RRTypeEnum) -
ttl(duration_BIND | None) -
origin(domain_name_BIND | None)
Validators:
-
validate_rr_class
rname
pydantic-field
¶
rname: domain_name_BIND
Email address of responsible person (@ replaced by .)
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:
-
comment(string_BIND | None) -
name(owner_name_BIND | None) -
ttl(duration_BIND | None) -
rr_class(RRClassEnum | None) -
spf_data(list[quoted_string_BIND]) -
rr_type(RRTypeEnum)
Validators:
-
validate_rr_class
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:
-
comment(string_BIND | None) -
name(owner_name_BIND | None) -
ttl(duration_BIND | None) -
rr_class(RRClassEnum | None) -
priority(integer_BIND) -
weight(integer_BIND) -
port(port_BIND) -
target(dns_name_BIND) -
rr_type(RRTypeEnum)
Validators:
-
validate_rr_class
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:
-
comment(string_BIND | None) -
name(owner_name_BIND | None) -
ttl(duration_BIND | None) -
rr_class(RRClassEnum | None) -
algorithm(SSHFPAlgorithmEnum) -
hash_type(SSHFPHashTypeEnum) -
fingerprint(string_BIND) -
rr_type(RRTypeEnum)
Validators:
-
validate_rr_class
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:
-
comment(string_BIND | None) -
name(owner_name_BIND | None) -
ttl(duration_BIND | None) -
rr_class(RRClassEnum | None) -
cert_usage(TLSACertUsageEnum) -
selector(TLSASelectorEnum) -
matching_type(TLSAMatchingTypeEnum) -
cert_data(string_BIND) -
rr_type(RRTypeEnum)
Validators:
-
validate_rr_class
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:
-
comment(string_BIND | None) -
name(owner_name_BIND | None) -
ttl(duration_BIND | None) -
rr_class(RRClassEnum | None) -
text_data(list[quoted_string_BIND]) -
rr_type(RRTypeEnum)
Validators:
-
validate_rr_class -
validate_text_length