]> git.ipfire.org Git - thirdparty/knot-resolver.git/commitdiff
datamodel: types: all DNS record types from 'kres.type' table
authorAleš <ales.mrazek@nic.cz>
Fri, 17 Dec 2021 14:05:47 +0000 (15:05 +0100)
committerAleš Mrázek <ales.mrazek@nic.cz>
Fri, 8 Apr 2022 14:17:53 +0000 (16:17 +0200)
- enum renamed to RecordTypeEnum

manager/knot_resolver_manager/datamodel/policy_schema.py
manager/knot_resolver_manager/datamodel/server_schema.py
manager/knot_resolver_manager/datamodel/types.py

index a159e450b6c11aea09068fa42d8e71e54ad32307..569b635eaf911781b738d21e6b91d8ef8a78220e 100644 (file)
@@ -1,7 +1,7 @@
 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
 
@@ -9,11 +9,11 @@ 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
index 668f75404f077d5994aae75b7c99ac57738c5dde..18c567b3eaa406a1413be22b4889b92039ca2db1 100644 (file)
@@ -5,7 +5,7 @@ from typing import Any, Optional, Union
 
 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
@@ -36,7 +36,7 @@ BackendEnum = LiteralEnum["auto", "systemd", "supervisord"]
 
 class WatchDogSchema(SchemaNode):
     qname: DomainName
-    qtype: QTypeEnum
+    qtype: RecordTypeEnum
 
 
 class ManagementSchema(SchemaNode):
index 6c74416b77d42dbbadce6f29424a2e346751d5ed..d62e151b858649a940dffebc433481b494acdd69 100644 (file)
@@ -29,8 +29,97 @@ ActionEnum = LiteralEnum[
     "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):