diff --git a/monkey/infection_monkey/island_api_client/__init__.py b/monkey/infection_monkey/island_api_client/__init__.py new file mode 100644 index 000000000..5f8a1c5d5 --- /dev/null +++ b/monkey/infection_monkey/island_api_client/__init__.py @@ -0,0 +1 @@ +from .i_island_api_client import IIslandAPIClient diff --git a/monkey/infection_monkey/island_api_client/i_island_api_client.py b/monkey/infection_monkey/island_api_client/i_island_api_client.py new file mode 100644 index 000000000..ef45a9fe9 --- /dev/null +++ b/monkey/infection_monkey/island_api_client/i_island_api_client.py @@ -0,0 +1,12 @@ +from abc import ABC, abstractmethod + + +class IIslandAPIClient(ABC): + @abstractmethod + def __init__(self, island_server: str): + """ + Construct and API client and connect it to the island + + :param island_server: String representing the island ip address and port + :raises IslandAPIError: If connection was unsuccessful + """ diff --git a/vulture_allowlist.py b/vulture_allowlist.py index 6f8d5876a..b3bbac8e6 100644 --- a/vulture_allowlist.py +++ b/vulture_allowlist.py @@ -9,6 +9,7 @@ from common.agent_configuration.agent_sub_configurations import ( ) from common.credentials import Credentials, LMHash, NTHash from infection_monkey.exploit.log4shell_utils.ldap_server import LDAPServerFactory +from infection_monkey.island_api_client import IIslandAPIClient from infection_monkey.transport import IslandAPIClient, IslandAPIRequestFailedError from monkey_island.cc.event_queue import IslandEventTopic, PyPubSubIslandEventQueue from monkey_island.cc.models import Report @@ -331,5 +332,6 @@ IslandEventTopic.CLEAR_SIMULATION_DATA IslandEventTopic.RESET_AGENT_CONFIGURATION # TODO: Remove after #2292 is closed -IslandAPIClient +IIslandAPIClient +IslandApiClient IslandAPIRequestFailedError