diff --git a/monkey/infection_monkey/island_api_client/__init__.py b/monkey/infection_monkey/island_api_client/__init__.py index ec513e774..0dd8a7865 100644 --- a/monkey/infection_monkey/island_api_client/__init__.py +++ b/monkey/infection_monkey/island_api_client/__init__.py @@ -6,4 +6,5 @@ from .island_api_client_errors import ( IslandAPITimeoutError, ) from .i_island_api_client import IIslandAPIClient +from .abstract_island_api_client_factory import AbstractIslandAPIClientFactory from .http_island_api_client import HTTPIslandAPIClient diff --git a/monkey/infection_monkey/island_api_client/abstract_island_api_client_factory.py b/monkey/infection_monkey/island_api_client/abstract_island_api_client_factory.py new file mode 100644 index 000000000..2a74dcd96 --- /dev/null +++ b/monkey/infection_monkey/island_api_client/abstract_island_api_client_factory.py @@ -0,0 +1,13 @@ +from abc import ABC, abstractmethod + +from . import IIslandAPIClient + + +class AbstractIslandAPIClientFactory(ABC): + @abstractmethod + def create_island_api_client(self) -> IIslandAPIClient: + """ + Create an IIslandAPIClient + + :return: A concrete instance of an IIslandAPIClient + """