summaryrefslogtreecommitdiff
path: root/test/lib/ansible_test/_internal/cli/parsers
diff options
context:
space:
mode:
Diffstat (limited to 'test/lib/ansible_test/_internal/cli/parsers')
-rw-r--r--test/lib/ansible_test/_internal/cli/parsers/__init__.py26
-rw-r--r--test/lib/ansible_test/_internal/cli/parsers/helpers.py8
-rw-r--r--test/lib/ansible_test/_internal/cli/parsers/key_value_parsers.py16
-rw-r--r--test/lib/ansible_test/_internal/cli/parsers/value_parsers.py5
4 files changed, 27 insertions, 28 deletions
diff --git a/test/lib/ansible_test/_internal/cli/parsers/__init__.py b/test/lib/ansible_test/_internal/cli/parsers/__init__.py
index fc6c21666b..1aedf6301e 100644
--- a/test/lib/ansible_test/_internal/cli/parsers/__init__.py
+++ b/test/lib/ansible_test/_internal/cli/parsers/__init__.py
@@ -53,7 +53,7 @@ from .base_argument_parsers import (
class OriginControllerParser(ControllerNamespaceParser, TypeParser):
"""Composite argument parser for the controller when delegation is not supported."""
- def get_stateless_parsers(self) -> t.Dict[str, Parser]:
+ def get_stateless_parsers(self) -> dict[str, Parser]:
"""Return a dictionary of type names and type parsers."""
return dict(
origin=OriginParser(),
@@ -71,9 +71,9 @@ class OriginControllerParser(ControllerNamespaceParser, TypeParser):
class DelegatedControllerParser(ControllerNamespaceParser, TypeParser):
"""Composite argument parser for the controller when delegation is supported."""
- def get_stateless_parsers(self) -> t.Dict[str, Parser]:
+ def get_stateless_parsers(self) -> dict[str, Parser]:
"""Return a dictionary of type names and type parsers."""
- parsers: t.Dict[str, Parser] = dict(
+ parsers: dict[str, Parser] = dict(
origin=OriginParser(),
docker=DockerParser(controller=True),
)
@@ -97,9 +97,9 @@ class DelegatedControllerParser(ControllerNamespaceParser, TypeParser):
class PosixTargetParser(TargetNamespaceParser, TypeParser):
"""Composite argument parser for a POSIX target."""
- def get_stateless_parsers(self) -> t.Dict[str, Parser]:
+ def get_stateless_parsers(self) -> dict[str, Parser]:
"""Return a dictionary of type names and type parsers."""
- parsers: t.Dict[str, Parser] = dict(
+ parsers: dict[str, Parser] = dict(
controller=ControllerParser(),
docker=DockerParser(controller=False),
)
@@ -132,17 +132,17 @@ class WindowsTargetParser(TargetsNamespaceParser, TypeParser):
"""True if inventory is allowed, otherwise False."""
return True
- def get_parsers(self, state: ParserState) -> t.Dict[str, Parser]:
+ def get_parsers(self, state: ParserState) -> dict[str, Parser]:
"""Return a dictionary of type names and type parsers."""
return self.get_internal_parsers(state.root_namespace.targets)
- def get_stateless_parsers(self) -> t.Dict[str, Parser]:
+ def get_stateless_parsers(self) -> dict[str, Parser]:
"""Return a dictionary of type names and type parsers."""
return self.get_internal_parsers([])
- def get_internal_parsers(self, targets: t.List[WindowsConfig]) -> t.Dict[str, Parser]:
+ def get_internal_parsers(self, targets: list[WindowsConfig]) -> dict[str, Parser]:
"""Return a dictionary of type names and type parsers."""
- parsers: t.Dict[str, Parser] = {}
+ parsers: dict[str, Parser] = {}
if self.allow_inventory and not targets:
parsers.update(
@@ -174,17 +174,17 @@ class NetworkTargetParser(TargetsNamespaceParser, TypeParser):
"""True if inventory is allowed, otherwise False."""
return True
- def get_parsers(self, state: ParserState) -> t.Dict[str, Parser]:
+ def get_parsers(self, state: ParserState) -> dict[str, Parser]:
"""Return a dictionary of type names and type parsers."""
return self.get_internal_parsers(state.root_namespace.targets)
- def get_stateless_parsers(self) -> t.Dict[str, Parser]:
+ def get_stateless_parsers(self) -> dict[str, Parser]:
"""Return a dictionary of type names and type parsers."""
return self.get_internal_parsers([])
- def get_internal_parsers(self, targets: t.List[NetworkConfig]) -> t.Dict[str, Parser]:
+ def get_internal_parsers(self, targets: list[NetworkConfig]) -> dict[str, Parser]:
"""Return a dictionary of type names and type parsers."""
- parsers: t.Dict[str, Parser] = {}
+ parsers: dict[str, Parser] = {}
if self.allow_inventory and not targets:
parsers.update(
diff --git a/test/lib/ansible_test/_internal/cli/parsers/helpers.py b/test/lib/ansible_test/_internal/cli/parsers/helpers.py
index f415d421d8..836a893dec 100644
--- a/test/lib/ansible_test/_internal/cli/parsers/helpers.py
+++ b/test/lib/ansible_test/_internal/cli/parsers/helpers.py
@@ -1,8 +1,6 @@
"""Helper functions for composite parsers."""
from __future__ import annotations
-import typing as t
-
from ...constants import (
CONTROLLER_PYTHON_VERSIONS,
SUPPORTED_PYTHON_VERSIONS,
@@ -21,7 +19,7 @@ from ...host_configs import (
)
-def get_docker_pythons(name: str, controller: bool, strict: bool) -> t.List[str]:
+def get_docker_pythons(name: str, controller: bool, strict: bool) -> list[str]:
"""Return a list of docker instance Python versions supported by the specified host config."""
image_config = filter_completion(docker_completion()).get(name)
available_pythons = CONTROLLER_PYTHON_VERSIONS if controller else SUPPORTED_PYTHON_VERSIONS
@@ -34,7 +32,7 @@ def get_docker_pythons(name: str, controller: bool, strict: bool) -> t.List[str]
return supported_pythons
-def get_remote_pythons(name: str, controller: bool, strict: bool) -> t.List[str]:
+def get_remote_pythons(name: str, controller: bool, strict: bool) -> list[str]:
"""Return a list of remote instance Python versions supported by the specified host config."""
platform_config = filter_completion(remote_completion()).get(name)
available_pythons = CONTROLLER_PYTHON_VERSIONS if controller else SUPPORTED_PYTHON_VERSIONS
@@ -47,7 +45,7 @@ def get_remote_pythons(name: str, controller: bool, strict: bool) -> t.List[str]
return supported_pythons
-def get_controller_pythons(controller_config: HostConfig, strict: bool) -> t.List[str]:
+def get_controller_pythons(controller_config: HostConfig, strict: bool) -> list[str]:
"""Return a list of controller Python versions supported by the specified host config."""
if isinstance(controller_config, DockerConfig):
pythons = get_docker_pythons(controller_config.name, False, strict)
diff --git a/test/lib/ansible_test/_internal/cli/parsers/key_value_parsers.py b/test/lib/ansible_test/_internal/cli/parsers/key_value_parsers.py
index 763b626431..7f184c37de 100644
--- a/test/lib/ansible_test/_internal/cli/parsers/key_value_parsers.py
+++ b/test/lib/ansible_test/_internal/cli/parsers/key_value_parsers.py
@@ -46,7 +46,7 @@ from .helpers import (
class OriginKeyValueParser(KeyValueParser):
"""Composite argument parser for origin key/value pairs."""
- def get_parsers(self, state: ParserState) -> t.Dict[str, Parser]:
+ def get_parsers(self, state: ParserState) -> dict[str, Parser]:
"""Return a dictionary of key names and value parsers."""
versions = CONTROLLER_PYTHON_VERSIONS
@@ -69,7 +69,7 @@ class OriginKeyValueParser(KeyValueParser):
class ControllerKeyValueParser(KeyValueParser):
"""Composite argument parser for controller key/value pairs."""
- def get_parsers(self, state: ParserState) -> t.Dict[str, Parser]:
+ def get_parsers(self, state: ParserState) -> dict[str, Parser]:
"""Return a dictionary of key names and value parsers."""
versions = get_controller_pythons(state.root_namespace.controller, False)
allow_default = bool(get_controller_pythons(state.root_namespace.controller, True))
@@ -98,7 +98,7 @@ class DockerKeyValueParser(KeyValueParser):
self.versions = get_docker_pythons(image, controller, False)
self.allow_default = bool(get_docker_pythons(image, controller, True))
- def get_parsers(self, state: ParserState) -> t.Dict[str, Parser]:
+ def get_parsers(self, state: ParserState) -> dict[str, Parser]:
"""Return a dictionary of key names and value parsers."""
return dict(
python=PythonParser(versions=self.versions, allow_venv=False, allow_default=self.allow_default),
@@ -130,7 +130,7 @@ class PosixRemoteKeyValueParser(KeyValueParser):
self.versions = get_remote_pythons(name, controller, False)
self.allow_default = bool(get_remote_pythons(name, controller, True))
- def get_parsers(self, state: ParserState) -> t.Dict[str, Parser]:
+ def get_parsers(self, state: ParserState) -> dict[str, Parser]:
"""Return a dictionary of key names and value parsers."""
return dict(
become=ChoicesParser(list(SUPPORTED_BECOME_METHODS)),
@@ -157,7 +157,7 @@ class PosixRemoteKeyValueParser(KeyValueParser):
class WindowsRemoteKeyValueParser(KeyValueParser):
"""Composite argument parser for Windows remote key/value pairs."""
- def get_parsers(self, state: ParserState) -> t.Dict[str, Parser]:
+ def get_parsers(self, state: ParserState) -> dict[str, Parser]:
"""Return a dictionary of key names and value parsers."""
return dict(
provider=ChoicesParser(REMOTE_PROVIDERS),
@@ -178,7 +178,7 @@ class WindowsRemoteKeyValueParser(KeyValueParser):
class NetworkRemoteKeyValueParser(KeyValueParser):
"""Composite argument parser for network remote key/value pairs."""
- def get_parsers(self, state: ParserState) -> t.Dict[str, Parser]:
+ def get_parsers(self, state: ParserState) -> dict[str, Parser]:
"""Return a dictionary of key names and value parsers."""
return dict(
provider=ChoicesParser(REMOTE_PROVIDERS),
@@ -203,7 +203,7 @@ class NetworkRemoteKeyValueParser(KeyValueParser):
class PosixSshKeyValueParser(KeyValueParser):
"""Composite argument parser for POSIX SSH host key/value pairs."""
- def get_parsers(self, state: ParserState) -> t.Dict[str, Parser]:
+ def get_parsers(self, state: ParserState) -> dict[str, Parser]:
"""Return a dictionary of key names and value parsers."""
return dict(
python=PythonParser(versions=list(SUPPORTED_PYTHON_VERSIONS), allow_venv=False, allow_default=False),
@@ -224,6 +224,6 @@ class PosixSshKeyValueParser(KeyValueParser):
class EmptyKeyValueParser(KeyValueParser):
"""Composite argument parser when a key/value parser is required but there are no keys available."""
- def get_parsers(self, state: ParserState) -> t.Dict[str, Parser]:
+ def get_parsers(self, state: ParserState) -> dict[str, Parser]:
"""Return a dictionary of key names and value parsers."""
return {}
diff --git a/test/lib/ansible_test/_internal/cli/parsers/value_parsers.py b/test/lib/ansible_test/_internal/cli/parsers/value_parsers.py
index 408462e4c9..9453b76098 100644
--- a/test/lib/ansible_test/_internal/cli/parsers/value_parsers.py
+++ b/test/lib/ansible_test/_internal/cli/parsers/value_parsers.py
@@ -1,6 +1,7 @@
"""Composite argument value parsers used by other parsers."""
from __future__ import annotations
+import collections.abc as c
import typing as t
from ...host_configs import (
@@ -60,7 +61,7 @@ class PythonParser(Parser):
The origin host and unknown environments assume all relevant Python versions are available.
"""
def __init__(self,
- versions: t.Sequence[str],
+ versions: c.Sequence[str],
*,
allow_default: bool,
allow_venv: bool,
@@ -133,7 +134,7 @@ class PythonParser(Parser):
class PlatformParser(ChoicesParser):
"""Composite argument parser for "{platform}/{version}" formatted choices."""
- def __init__(self, choices: t.List[str]) -> None:
+ def __init__(self, choices: list[str]) -> None:
super().__init__(choices, conditions=MatchConditions.CHOICE | MatchConditions.ANY)
def parse(self, state: ParserState) -> t.Any: