from typing import List, Optional
from knot_resolver_manager.datamodel.network_schema import AddressRenumberingSchema
-from knot_resolver_manager.datamodel.types import ActionEnum, IPAddressPort, QTypeEnum, TimeUnit
+from knot_resolver_manager.datamodel.types import ActionEnum, IPAddressPort, RecordTypeEnum, TimeUnit
from knot_resolver_manager.datamodel.view_schema import FlagsEnum
from knot_resolver_manager.utils import SchemaNode
class FilterSchema(SchemaNode):
suffix: Optional[List[str]] = None
pattern: Optional[List[str]] = None
- qtype: Optional[List[QTypeEnum]] = None
+ qtype: Optional[List[RecordTypeEnum]] = None
class AnswerSchema(SchemaNode):
- qtype: QTypeEnum
+ qtype: RecordTypeEnum
rdata: str
ttl: TimeUnit = TimeUnit("1s")
no_data: bool = False
from typing_extensions import Literal
-from knot_resolver_manager.datamodel.types import CheckedPath, DomainName, Listen, QTypeEnum, UncheckedPath
+from knot_resolver_manager.datamodel.types import CheckedPath, DomainName, Listen, RecordTypeEnum, UncheckedPath
from knot_resolver_manager.exceptions import DataException
from knot_resolver_manager.utils import SchemaNode
from knot_resolver_manager.utils.types import LiteralEnum
class WatchDogSchema(SchemaNode):
qname: DomainName
- qtype: QTypeEnum
+ qtype: RecordTypeEnum
class ManagementSchema(SchemaNode):
"reqtrace",
]
-# TODO: add other query types
-QTypeEnum = LiteralEnum["A", "AAAA", "CNAME", "MX", "NS", "ptr", "CERT", "SRV", "TXT", "SOA"]
+# DNS record types from 'kres.type' table
+RecordTypeEnum = LiteralEnum[
+ "A",
+ "A6",
+ "AAAA",
+ "AFSDB",
+ "ANY",
+ "APL",
+ "ATMA",
+ "AVC",
+ "AXFR",
+ "CAA",
+ "CDNSKEY",
+ "CDS",
+ "CERT",
+ "CNAME",
+ "CSYNC",
+ "DHCID",
+ "DLV",
+ "DNAME",
+ "DNSKEY",
+ "DOA",
+ "DS",
+ "EID",
+ "EUI48",
+ "EUI64",
+ "GID",
+ "GPOS",
+ "HINFO",
+ "HIP",
+ "HTTPS",
+ "IPSECKEY",
+ "ISDN",
+ "IXFR",
+ "KEY",
+ "KX",
+ "L32",
+ "L64",
+ "LOC",
+ "LP",
+ "MAILA",
+ "MAILB",
+ "MB",
+ "MD",
+ "MF",
+ "MG",
+ "MINFO",
+ "MR",
+ "MX",
+ "NAPTR",
+ "NID",
+ "NIMLOC",
+ "NINFO",
+ "NS",
+ "NSAP",
+ "NSAP-PTR",
+ "NSEC",
+ "NSEC3",
+ "NSEC3PARAM",
+ "NULL",
+ "NXT",
+ "OPENPGPKEY",
+ "OPT",
+ "PTR",
+ "PX",
+ "RKEY",
+ "RP",
+ "RRSIG",
+ "RT",
+ "SIG",
+ "SINK",
+ "SMIMEA",
+ "SOA",
+ "SPF",
+ "SRV",
+ "SSHFP",
+ "SVCB",
+ "TA",
+ "TALINK",
+ "TKEY",
+ "TLSA",
+ "TSIG",
+ "TXT",
+ "UID",
+ "UINFO",
+ "UNSPEC",
+ "URI",
+ "WKS",
+ "X25",
+ "ZONEMD",
+]
class Unit(CustomValueType):