From: Aleš Date: Fri, 17 Dec 2021 14:05:47 +0000 (+0100) Subject: datamodel: types: all DNS record types from 'kres.type' table X-Git-Tag: v6.0.0a1~69^2~8 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=72c8a8266d7440fd24a5168f20c55c808faba48d;p=thirdparty%2Fknot-resolver.git datamodel: types: all DNS record types from 'kres.type' table - enum renamed to RecordTypeEnum --- diff --git a/manager/knot_resolver_manager/datamodel/policy_schema.py b/manager/knot_resolver_manager/datamodel/policy_schema.py index a159e450b..569b635ea 100644 --- a/manager/knot_resolver_manager/datamodel/policy_schema.py +++ b/manager/knot_resolver_manager/datamodel/policy_schema.py @@ -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 diff --git a/manager/knot_resolver_manager/datamodel/server_schema.py b/manager/knot_resolver_manager/datamodel/server_schema.py index 668f75404..18c567b3e 100644 --- a/manager/knot_resolver_manager/datamodel/server_schema.py +++ b/manager/knot_resolver_manager/datamodel/server_schema.py @@ -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): diff --git a/manager/knot_resolver_manager/datamodel/types.py b/manager/knot_resolver_manager/datamodel/types.py index 6c74416b7..d62e151b8 100644 --- a/manager/knot_resolver_manager/datamodel/types.py +++ b/manager/knot_resolver_manager/datamodel/types.py @@ -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):