diff options
Diffstat (limited to 'test/lib/ansible_test/_internal/data.py')
-rw-r--r-- | test/lib/ansible_test/_internal/data.py | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/test/lib/ansible_test/_internal/data.py b/test/lib/ansible_test/_internal/data.py index 635b0c328c..15bdb945fc 100644 --- a/test/lib/ansible_test/_internal/data.py +++ b/test/lib/ansible_test/_internal/data.py @@ -50,6 +50,13 @@ from .provider.layout.unsupported import ( ) +@dataclasses.dataclass(frozen=True) +class PayloadConfig: + """Configuration required to build a source tree payload for delegation.""" + files: list[tuple[str, str]] + permissions: dict[str, int] + + class DataContext: """Data context providing details about the current execution environment for ansible-test.""" def __init__(self) -> None: @@ -63,7 +70,7 @@ class DataContext: self.__source_providers = source_providers self.__ansible_source: t.Optional[tuple[tuple[str, str], ...]] = None - self.payload_callbacks: list[c.Callable[[list[tuple[str, str]]], None]] = [] + self.payload_callbacks: list[c.Callable[[PayloadConfig], None]] = [] if content_path: content = self.__create_content_layout(layout_providers, source_providers, content_path, False) @@ -173,7 +180,7 @@ class DataContext: return self.__ansible_source - def register_payload_callback(self, callback: c.Callable[[list[tuple[str, str]]], None]) -> None: + def register_payload_callback(self, callback: c.Callable[[PayloadConfig], None]) -> None: """Register the given payload callback.""" self.payload_callbacks.append(callback) |