From: Aleš Date: Thu, 18 Nov 2021 16:35:54 +0000 (+0100) Subject: datamodel: stub_zones: section created X-Git-Tag: v6.0.0a1~69^2~35 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=81fa0a691d216ccf9045d5a19cc7546a2c10ea3d;p=thirdparty%2Fknot-resolver.git datamodel: stub_zones: section created --- diff --git a/manager/knot_resolver_manager/datamodel/config_schema.py b/manager/knot_resolver_manager/datamodel/config_schema.py index 5edb56d02..8c6a20242 100644 --- a/manager/knot_resolver_manager/datamodel/config_schema.py +++ b/manager/knot_resolver_manager/datamodel/config_schema.py @@ -13,6 +13,7 @@ from knot_resolver_manager.datamodel.network_schema import NetworkSchema from knot_resolver_manager.datamodel.options_schema import OptionsSchema from knot_resolver_manager.datamodel.server_schema import ServerSchema from knot_resolver_manager.datamodel.static_hints_schema import StaticHintsSchema +from knot_resolver_manager.datamodel.stub_zone_schema import StubZoneSchema from knot_resolver_manager.datamodel.view_schema import ViewSchema from knot_resolver_manager.utils import SchemaNode @@ -35,6 +36,7 @@ class KresConfig(SchemaNode): network: NetworkSchema = NetworkSchema() static_hints: StaticHintsSchema = StaticHintsSchema() views: Optional[List[ViewSchema]] = None + stub_zones: Optional[List[StubZoneSchema]] = None cache: CacheSchema = CacheSchema() dnssec: Union[bool, DnssecSchema] = True dns64: Union[bool, Dns64Schema] = False @@ -48,6 +50,7 @@ class KresConfig(SchemaNode): network: NetworkSchema static_hints: StaticHintsSchema views: Optional[List[ViewSchema]] + stub_zones: Optional[List[StubZoneSchema]] cache: CacheSchema dnssec: Union[Literal[False], DnssecSchema] dns64: Union[Literal[False], Dns64Schema] diff --git a/manager/knot_resolver_manager/datamodel/stub_zone_schema.py b/manager/knot_resolver_manager/datamodel/stub_zone_schema.py new file mode 100644 index 000000000..c5d14d3b7 --- /dev/null +++ b/manager/knot_resolver_manager/datamodel/stub_zone_schema.py @@ -0,0 +1,12 @@ +from typing import List, Optional + +from knot_resolver_manager.datamodel.types import IPAddressPort +from knot_resolver_manager.datamodel.view_schema import FlagsEnum +from knot_resolver_manager.utils import SchemaNode + + +class StubZoneSchema(SchemaNode): + name: str + servers: List[IPAddressPort] + views: Optional[List[str]] = None + options: Optional[List[FlagsEnum]] = None