From: Aleš Mrázek Date: Wed, 19 Apr 2023 13:47:12 +0000 (+0200) Subject: manager: datamodel: all Union[List[T], T] removed X-Git-Tag: v6.0.1~11^2^2~11 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f5c8e09bcd19bf3bb3d6e80ebe2c2804855cf5fe;p=thirdparty%2Fknot-resolver.git manager: datamodel: all Union[List[T], T] removed --- diff --git a/manager/etc/knot-resolver/config.dev.yml b/manager/etc/knot-resolver/config.dev.yml index 7555b98c7..e9d63dc96 100644 --- a/manager/etc/knot-resolver/config.dev.yml +++ b/manager/etc/knot-resolver/config.dev.yml @@ -11,4 +11,4 @@ logging: - supervisord network: listen: - - interface: 127.0.0.1@5353 + - interface: [127.0.0.1@5353] diff --git a/manager/etc/knot-resolver/config.policy.dev.yml b/manager/etc/knot-resolver/config.policy.dev.yml index 5f5a7429d..e0d2646d7 100644 --- a/manager/etc/knot-resolver/config.policy.dev.yml +++ b/manager/etc/knot-resolver/config.policy.dev.yml @@ -11,7 +11,7 @@ logging: - supervisord network: listen: - - interface: 127.0.0.1@5353 + - interface: [127.0.0.1@5353] views: - subnets: [127.0.0.0/24] diff --git a/manager/knot_resolver_manager/datamodel/forward_schema.py b/manager/knot_resolver_manager/datamodel/forward_schema.py index b14cc6e20..7c1227cf8 100644 --- a/manager/knot_resolver_manager/datamodel/forward_schema.py +++ b/manager/knot_resolver_manager/datamodel/forward_schema.py @@ -19,9 +19,9 @@ class ForwardServerSchema(ConfigSchema): ca_file: Path to CA certificate file. """ - address: Union[IPAddressOptionalPort, List[IPAddressOptionalPort]] + address: List[IPAddressOptionalPort] transport: Optional[Literal["tls"]] = None - pin_sha256: Optional[Union[str, List[str]]] = None + pin_sha256: Optional[List[str]] = None hostname: Optional[DomainName] = None ca_file: Optional[FilePath] = None diff --git a/manager/knot_resolver_manager/datamodel/network_schema.py b/manager/knot_resolver_manager/datamodel/network_schema.py index 0a177e395..a12ebe637 100644 --- a/manager/knot_resolver_manager/datamodel/network_schema.py +++ b/manager/knot_resolver_manager/datamodel/network_schema.py @@ -84,21 +84,21 @@ class ListenSchema(ConfigSchema): freebind: Used for binding to non-local address. """ - interface: Union[None, InterfaceOptionalPort, List[InterfaceOptionalPort]] = None - unix_socket: Union[None, FilePath, List[FilePath]] = None + interface: Optional[List[InterfaceOptionalPort]] = None + unix_socket: Optional[List[FilePath]] = None port: Optional[PortNumber] = None kind: KindEnum = "dns" freebind: bool = False _LAYER = Raw - interface: Union[None, InterfaceOptionalPort, List[InterfaceOptionalPort]] - unix_socket: Union[None, FilePath, List[FilePath]] + interface: Optional[List[InterfaceOptionalPort]] + unix_socket: Optional[List[FilePath]] port: Optional[PortNumber] kind: KindEnum freebind: bool - def _interface(self, origin: Raw) -> Union[None, InterfaceOptionalPort, List[InterfaceOptionalPort]]: + def _interface(self, origin: Raw) -> Optional[List[InterfaceOptionalPort]]: if isinstance(origin.interface, list): port_set: Optional[bool] = None for intrfc in origin.interface: @@ -175,6 +175,6 @@ class NetworkSchema(ConfigSchema): tls: TLSSchema = TLSSchema() proxy_protocol: Union[Literal[False], ProxyProtocolSchema] = False listen: List[ListenSchema] = [ - ListenSchema({"interface": "127.0.0.1"}), - ListenSchema({"interface": "::1", "freebind": True}), + ListenSchema({"interface": ["127.0.0.1"]}), + ListenSchema({"interface": ["::1"], "freebind": True}), ] diff --git a/manager/knot_resolver_manager/datamodel/types/__init__.py b/manager/knot_resolver_manager/datamodel/types/__init__.py index 427e4a20a..256092a1d 100644 --- a/manager/knot_resolver_manager/datamodel/types/__init__.py +++ b/manager/knot_resolver_manager/datamodel/types/__init__.py @@ -17,7 +17,6 @@ from .types import ( IPv4Address, IPv6Address, IPv6Network96, - ListOrSingle, Percent, PortNumber, SizeUnit, @@ -44,7 +43,6 @@ __all__ = [ "IPv4Address", "IPv6Address", "IPv6Network96", - "ListOrSingle", "Percent", "PortNumber", "SizeUnit", diff --git a/manager/knot_resolver_manager/datamodel/types/types.py b/manager/knot_resolver_manager/datamodel/types/types.py index 02ef7c7d0..d0bc21a97 100644 --- a/manager/knot_resolver_manager/datamodel/types/types.py +++ b/manager/knot_resolver_manager/datamodel/types/types.py @@ -5,9 +5,8 @@ from typing import Any, Dict, List, Optional, Type, TypeVar, Union from knot_resolver_manager.datamodel.types.base_types import IntRangeBase, PatternBase, StrBase, UnitBase from knot_resolver_manager.utils.modeling import BaseValueType -_ElementType = TypeVar("_ElementType") - -ListOrSingle = Union[List[_ElementType], _ElementType] +_InnerType = TypeVar("_InnerType") +ListOrSingle = List[_InnerType] class IntNonNegative(IntRangeBase):