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
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
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]
--- /dev/null
+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