diff --git a/monkey/monkey_island/cc/repository/__init__.py b/monkey/monkey_island/cc/repository/__init__.py index ed332bdd2..e3cf5c2fc 100644 --- a/monkey/monkey_island/cc/repository/__init__.py +++ b/monkey/monkey_island/cc/repository/__init__.py @@ -1 +1,2 @@ from .file_storage import FileRetrievalError, IFileRepository, LocalStorageFileRepository +from .i_agent_binary_repository import IAgentBinaryRepository diff --git a/monkey/monkey_island/cc/repository/i_agent_binary_repository.py b/monkey/monkey_island/cc/repository/i_agent_binary_repository.py new file mode 100644 index 000000000..a1d858e05 --- /dev/null +++ b/monkey/monkey_island/cc/repository/i_agent_binary_repository.py @@ -0,0 +1,24 @@ +import abc +from typing import BinaryIO + + +class IAgentBinaryRepository(metaclass=abc.ABCMeta): + """ + A repository that retrieves the agent binaries + """ + + @abc.abstractmethod + def get_linux_binary(self) -> BinaryIO: + """ + Retrieve linux agent binary + + :return: A file-like object that represents the linux agent binary + """ + + @abc.abstractmethod + def get_windows_binary(self) -> BinaryIO: + """ + Retrieve windows agent binary + + :return: A file-like object that represents the windows agent binary + """