From: Aleš Date: Tue, 30 Nov 2021 13:45:59 +0000 (+0100) Subject: datamodel: rpz: schema created X-Git-Tag: v6.0.0a1~69^2~23 X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=713ebea7fca24e7a423e4372b607731d7e85a922;p=thirdparty%2Fknot-resolver.git datamodel: rpz: schema created - lint error fix --- diff --git a/manager/knot_resolver_manager/datamodel/config_schema.py b/manager/knot_resolver_manager/datamodel/config_schema.py index db62badb3..0f53a3165 100644 --- a/manager/knot_resolver_manager/datamodel/config_schema.py +++ b/manager/knot_resolver_manager/datamodel/config_schema.py @@ -14,6 +14,7 @@ from knot_resolver_manager.datamodel.lua_schema import LuaSchema from knot_resolver_manager.datamodel.network_schema import NetworkSchema from knot_resolver_manager.datamodel.options_schema import OptionsSchema from knot_resolver_manager.datamodel.policy_schema import PolicySchema +from knot_resolver_manager.datamodel.rpz_schema import RPZSchema 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 @@ -52,6 +53,7 @@ class KresConfig(SchemaNode): static_hints: StaticHintsSchema = StaticHintsSchema() views: Optional[Dict[str, ViewSchema]] = None policy: Optional[Dict[str, PolicySchema]] = None + rpz: Optional[Dict[DomainName, RPZSchema]] = None stub_zones: Optional[Dict[DomainName, StubZoneSchema]] = None forward_zones: Optional[Dict[DomainName, ForwardZoneSchema]] = None cache: CacheSchema = CacheSchema() @@ -68,6 +70,7 @@ class KresConfig(SchemaNode): static_hints: StaticHintsSchema views: Optional[Dict[str, ViewSchema]] policy: Optional[Dict[str, PolicySchema]] + rpz: Optional[Dict[DomainName, RPZSchema]] stub_zones: Optional[Dict[DomainName, StubZoneSchema]] forward_zones: Optional[Dict[DomainName, ForwardZoneSchema]] cache: CacheSchema diff --git a/manager/knot_resolver_manager/datamodel/rpz_schema.py b/manager/knot_resolver_manager/datamodel/rpz_schema.py new file mode 100644 index 000000000..c9bd059dd --- /dev/null +++ b/manager/knot_resolver_manager/datamodel/rpz_schema.py @@ -0,0 +1,15 @@ +from typing import List, Optional + +from knot_resolver_manager.datamodel.policy_schema import ActionEnum +from knot_resolver_manager.datamodel.types import AnyPath +from knot_resolver_manager.datamodel.view_schema import FlagsEnum +from knot_resolver_manager.utils import SchemaNode + + +class RPZSchema(SchemaNode): + action: ActionEnum + file: AnyPath + watch: bool = True + message: Optional[str] = None + views: Optional[str] = None + options: Optional[List[FlagsEnum]] = None diff --git a/manager/knot_resolver_manager/datamodel/view_schema.py b/manager/knot_resolver_manager/datamodel/view_schema.py index d5875ef56..8bbbbf1e9 100644 --- a/manager/knot_resolver_manager/datamodel/view_schema.py +++ b/manager/knot_resolver_manager/datamodel/view_schema.py @@ -6,7 +6,8 @@ from knot_resolver_manager.utils.types import LiteralEnum # FLAGS from https://knot-resolver.readthedocs.io/en/stable/lib.html?highlight=options#c.kr_qflags FlagsEnum = LiteralEnum[ - "no-minimize" "no-ipv4", + "no-minimize", + "no-ipv4", "no-ipv6", "tcp", "resolved",