]> git.ipfire.org Git - thirdparty/knot-resolver.git/commitdiff
manager: datamodel: removed 'Dict' from policy sections
authorAleš Mrázek <ales.mrazek@nic.cz>
Mon, 20 Jun 2022 20:35:58 +0000 (22:35 +0200)
committerAleš Mrázek <ales.mrazek@nic.cz>
Mon, 20 Jun 2022 20:46:01 +0000 (22:46 +0200)
- related to #702

manager/knot_resolver_manager/datamodel/config_schema.py
manager/knot_resolver_manager/datamodel/forward_zone_schema.py
manager/knot_resolver_manager/datamodel/stub_zone_schema.py
manager/knot_resolver_manager/datamodel/templates/forward_zones.lua.j2
manager/knot_resolver_manager/datamodel/templates/policy.lua.j2
manager/knot_resolver_manager/datamodel/templates/rpz.lua.j2
manager/knot_resolver_manager/datamodel/templates/stub_zones.lua.j2

index cb6fcae81ae1100f7cf55d10616794a037e2c4c3..569524b5002eefb2bdb398f81cd002898bce3b3e 100644 (file)
@@ -2,7 +2,7 @@ import logging
 import os
 import socket
 import sys
-from typing import Any, Dict, Optional, Union
+from typing import Any, Dict, List, Optional, Union
 
 from jinja2 import Environment, FileSystemLoader, Template
 from typing_extensions import Literal
@@ -23,7 +23,6 @@ from knot_resolver_manager.datamodel.slice_schema import SliceSchema
 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.supervisor_schema import SupervisorSchema
-from knot_resolver_manager.datamodel.types import DomainName
 from knot_resolver_manager.datamodel.types.types import IDPattern, IntPositive, UncheckedPath
 from knot_resolver_manager.datamodel.view_schema import ViewSchema
 from knot_resolver_manager.datamodel.webmgmt_schema import WebmgmtSchema
@@ -123,11 +122,11 @@ class KresConfig(SchemaNode):
         network: NetworkSchema = NetworkSchema()
         static_hints: StaticHintsSchema = StaticHintsSchema()
         views: Optional[Dict[str, ViewSchema]] = None
-        slices: Optional[Dict[str, SliceSchema]] = None
-        policy: Optional[Dict[str, PolicySchema]] = None
-        rpz: Optional[Dict[str, RPZSchema]] = None
-        stub_zones: Optional[Dict[DomainName, StubZoneSchema]] = None
-        forward_zones: Optional[Dict[DomainName, ForwardZoneSchema]] = None
+        slices: Optional[List[SliceSchema]] = None
+        policy: Optional[List[PolicySchema]] = None
+        rpz: Optional[List[RPZSchema]] = None
+        stub_zones: Optional[List[StubZoneSchema]] = None
+        forward_zones: Optional[List[ForwardZoneSchema]] = None
         cache: CacheSchema = CacheSchema()
         dnssec: Union[bool, DnssecSchema] = True
         dns64: Union[bool, Dns64Schema] = False
@@ -149,11 +148,11 @@ class KresConfig(SchemaNode):
     network: NetworkSchema
     static_hints: StaticHintsSchema
     views: Optional[Dict[str, ViewSchema]]
-    slices: Optional[Dict[str, SliceSchema]]
-    policy: Optional[Dict[str, PolicySchema]]
-    rpz: Optional[Dict[str, RPZSchema]]
-    stub_zones: Optional[Dict[DomainName, StubZoneSchema]]
-    forward_zones: Optional[Dict[DomainName, ForwardZoneSchema]]
+    slices: Optional[List[SliceSchema]]
+    policy: Optional[List[PolicySchema]]
+    rpz: Optional[List[RPZSchema]]
+    stub_zones: Optional[List[StubZoneSchema]]
+    forward_zones: Optional[List[ForwardZoneSchema]]
     cache: CacheSchema
     dnssec: Union[Literal[False], DnssecSchema]
     dns64: Union[Literal[False], Dns64Schema]
index 2bc1539df151c3c96e2ca88b080c5cea7677f4ad..ab55371a3aa1c52b3b026f6b6f6cdc5f99739817 100644 (file)
@@ -1,7 +1,7 @@
 from typing import List, Optional, Union
 
 from knot_resolver_manager.datamodel.policy_schema import ForwardServerSchema
-from knot_resolver_manager.datamodel.types import IPAddressOptionalPort, PolicyFlagEnum
+from knot_resolver_manager.datamodel.types import DomainName, IPAddressOptionalPort, PolicyFlagEnum
 from knot_resolver_manager.utils import SchemaNode
 
 
@@ -10,12 +10,14 @@ class ForwardZoneSchema(SchemaNode):
     Configuration of Forward Zone.
 
     ---
+    name: Domain name of the zone.
     tls: Enable/disable TLS for Forward servers.
     servers: IP address of Forward server.
     views: Use this Forward Zone only for clients defined by views.
     options: Configuration flags for Forward Zone.
     """
 
+    name: DomainName
     tls: bool = False
     servers: Union[List[IPAddressOptionalPort], List[ForwardServerSchema]]
     views: Optional[List[str]] = None
index 21ce20532fdda37bf4ee8781e4b04e9ff78c1fc8..0d41f2f29867a23046bb704d112fb36558d2cb80 100644 (file)
@@ -1,6 +1,6 @@
 from typing import List, Optional, Union
 
-from knot_resolver_manager.datamodel.types import IPAddressOptionalPort, PolicyFlagEnum
+from knot_resolver_manager.datamodel.types import DomainName, IPAddressOptionalPort, PolicyFlagEnum
 from knot_resolver_manager.utils import SchemaNode
 
 
@@ -20,11 +20,13 @@ class StubZoneSchema(SchemaNode):
     Configuration of Stub Zone.
 
     ---
+    name: Domain name of the zone.
     servers: IP address of Stub server.
     views: Use this Stub Zone only for clients defined by views.
     options: Configuration flags for Stub Zone.
     """
 
+    name: DomainName
     servers: Union[List[IPAddressOptionalPort], List[StubServerSchema]]
     views: Optional[List[str]] = None
     options: Optional[List[PolicyFlagEnum]] = None
index 6a50b10017779f587ddcfb10d6d856ff0b1dfa8c..3a1fb4ae53c1a2d9eed9a616a79c482595258be2 100644 (file)
@@ -2,8 +2,8 @@
 {% from 'macros/view_macros.lua.j2' import view_tsig, view_addr %}
 
 {% if cfg.forward_zones %}
-{% for name, zone in cfg.forward_zones.items() %}
--- forward-zone: {{ name }}
+{% for zone in cfg.forward_zones %}
+-- forward-zone: {{ zone.name }}
 {% if zone.views -%}
 {# views set for forward-zone #}
 {% for view_id in zone.views -%}
 {% for tsig in view.tsig %}
 
 {%- if options -%}
-{{ view_tsig(tsig|string, policy_suffix(policy_flags(options|list), policy_todname(name|string))) }}
+{{ view_tsig(tsig|string, policy_suffix(policy_flags(options|list), policy_todname(zone.name|string))) }}
 {%- endif %}
 
 {% if zone.tls -%}
-{{ view_tsig(tsig|string, policy_suffix(policy_tls_forward(zone.servers|list), policy_todname(name|string))) }}
+{{ view_tsig(tsig|string, policy_suffix(policy_tls_forward(zone.servers|list), policy_todname(zone.name|string))) }}
 {% else %}
-{{ view_tsig(tsig|string, policy_suffix(policy_forward(zone.servers|list), policy_todname(name|string))) }}
+{{ view_tsig(tsig|string, policy_suffix(policy_forward(zone.servers|list), policy_todname(zone.name|string))) }}
 {%- endif %}
 
 {% endfor %}
 {% for addr in view.subnets %}
 
 {%- if options -%}
-{{ view_addr(addr|string, policy_suffix(policy_flags(options|list), policy_todname(name|string))) }}
+{{ view_addr(addr|string, policy_suffix(policy_flags(options|list), policy_todname(zone.name|string))) }}
 {%- endif %}
 
 {% if zone.tls -%}
-{{ view_addr(addr|string, policy_suffix(policy_tls_forward(zone.servers|list), policy_todname(name|string))) }}
+{{ view_addr(addr|string, policy_suffix(policy_tls_forward(zone.servers|list), policy_todname(zone.name|string))) }}
 {% else %}
-{{ view_addr(addr|string, policy_suffix(policy_forward(zone.servers|list), policy_todname(name|string))) }}
+{{ view_addr(addr|string, policy_suffix(policy_forward(zone.servers|list), policy_todname(zone.name|string))) }}
 {%- endif %}
 
 {% endfor %}
 {# no views set for forward-zone #}
 
 {% if zone.options -%}
-{{ policy_add(policy_suffix(policy_flags(zone.options|list), policy_todname(name|string))) }}
+{{ policy_add(policy_suffix(policy_flags(zone.options|list), policy_todname(zone.name|string))) }}
 {%- endif %}
 
 {% if zone.tls -%}
-{{ policy_add(policy_suffix(policy_tls_forward(zone.servers|list), policy_todname(name|string))) }}
+{{ policy_add(policy_suffix(policy_tls_forward(zone.servers|list), policy_todname(zone.name|string))) }}
 {% else %}
-{{ policy_add(policy_suffix(policy_forward(zone.servers|list), policy_todname(name|string))) }}
+{{ policy_add(policy_suffix(policy_forward(zone.servers|list), policy_todname(zone.name|string))) }}
 {%- endif %}
 
 {% endif %}
index a2c60062b2f33d007c218ffe0400215e90f51a45..c5b86f74559a13b5f56cc5a4e159d6388f496a0b 100644 (file)
@@ -5,8 +5,7 @@
 
 {{ declare_policy_qtype_custom_filter() }}
 
-{% for id, rule in cfg.policy.items() %}
--- policy rule: {{ id }}
+{% for rule in cfg.policy %}
 {% if rule.views -%}
 {# views set for rule #}
 {% for view_id in rule.views -%}
index c5dd539e4cc74d569e9027dca5d277c4030b531d..08061c3994baa34294234270a6d0ec949d736ae0 100644 (file)
@@ -2,8 +2,7 @@
 {% from 'macros/view_macros.lua.j2' import view_tsig, view_addr %}
 
 {% if cfg.rpz %}
-{% for id, rpz in cfg.rpz.items() %}
--- rpz: {{ id }}
+{% for rpz in cfg.rpz %}
 {% if rpz.views -%}
 {# views set for rpz #}
 {% for view_id in rpz.views -%}
index 10db55ed9e4eadc29957df36cd491aff920e7475..85483e6e8aaa302691b39fafe21951ab23426f47 100644 (file)
@@ -2,8 +2,8 @@
 {% from 'macros/view_macros.lua.j2' import view_tsig, view_addr %}
 
 {% if cfg.stub_zones %}
-{% for name, zone in cfg.stub_zones.items() %}
--- stub-zone: {{ name }}
+{% for zone in cfg.stub_zones %}
+-- stub-zone: {{ zone.name }}
 {% if zone.views -%}
 {# views set for stub-zone #}
 {% for view_id in zone.views -%}
 {% for tsig in view.tsig -%}
 
 {%- if options -%}
-{{ view_tsig(tsig|string, policy_suffix(policy_flags(options|list), policy_todname(name|string))) }}
+{{ view_tsig(tsig|string, policy_suffix(policy_flags(options|list), policy_todname(zone.name|string))) }}
 {%- endif %}
 
-{{ view_tsig(tsig|string, policy_suffix(policy_stub(zone.servers|list), policy_todname(name|string))) }}
+{{ view_tsig(tsig|string, policy_suffix(policy_stub(zone.servers|list), policy_todname(zone.name|string))) }}
 
 {% endfor %}
 {%- endif -%}
 {% for addr in view.subnets -%}
 
 {%- if options -%}
-{{ view_addr(addr|string, policy_suffix(policy_flags(options|list), policy_todname(name|string))) }}
+{{ view_addr(addr|string, policy_suffix(policy_flags(options|list), policy_todname(zone.name|string))) }}
 {%- endif %}
 
-{{ view_addr(addr|string, policy_suffix(policy_stub(zone.servers|list), policy_todname(name|string))) }}
+{{ view_addr(addr|string, policy_suffix(policy_stub(zone.servers|list), policy_todname(zone.name|string))) }}
 
 {% endfor %}
 {% endif %}
 {# no views set for stub-zone #}
 
 {% if zone.options -%}
-{{ policy_add(policy_suffix(policy_flags(zone.options|list), policy_todname(name|string))) }}
+{{ policy_add(policy_suffix(policy_flags(zone.options|list), policy_todname(zone.name|string))) }}
 {%- endif %}
 
-{{ policy_add(policy_suffix(policy_stub(zone.servers|list), policy_todname(name|string))) }}
+{{ policy_add(policy_suffix(policy_stub(zone.servers|list), policy_todname(zone.name|string))) }}
 
 {% endif %}
 {% endfor %}