laceworksdk.api.v1.events
Lacework Events API wrapper.
1# -*- coding: utf-8 -*- 2""" 3Lacework Events API wrapper. 4""" 5 6import logging 7 8logger = logging.getLogger(__name__) 9 10 11class EventsAPIv1: 12 """ 13 Lacework Events API. 14 """ 15 16 def __init__(self, session): 17 """ 18 Initializes the EventsAPI object. 19 20 :param session: An instance of the HttpSession class. 21 22 :return EventsAPI object 23 """ 24 25 super().__init__() 26 27 self._session = session 28 29 def get(self, 30 id=None, 31 start_time=None, 32 end_time=None): 33 """ 34 A method to get Event details 35 36 :param event_id: An integer representing the Event ID to retrieve. 37 :param start_time: A "%Y-%m-%dT%H:%M:%S%z" structured timestamp to begin from. 38 :param end_time: A "%Y-%m-%dT%H:%M:%S%z" structured timestamp to end at. 39 40 :return response json 41 """ 42 43 logger.info("Getting Event information from Lacework...") 44 45 # Build the Event request URI 46 if id: 47 api_uri = f"/api/v1/external/events/GetEventDetails?EVENT_ID={id}" 48 elif start_time and end_time: 49 api_uri = f"/api/v1/external/events/GetEventsForDateRange?START_TIME={start_time}&END_TIME={end_time}" 50 else: 51 logger.error("Either an Event ID or start/end times need to be provided to run queries on the Lacework Events API.") 52 exit() 53 54 response = self._session.get(api_uri) 55 56 return response.json() 57 58 def get_details(self, 59 event_id): 60 """ 61 A method to get the Event Details for the specified Event ID. 62 63 :param event_id: An integer representing the Event ID to retrieve. 64 65 :return response json 66 """ 67 68 logger.warning("The 'get_details' function may be deprecated shortly, please consider switching to 'get'.") 69 70 return self.get(id=event_id) 71 72 def get_for_date_range(self, 73 start_time, 74 end_time): 75 """ 76 A method to get Events for the specified time range. 77 78 :param start_time: A "%Y-%m-%dT%H:%M:%S%z" structured timestamp to begin from. 79 :param end_time: A "%Y-%m-%dT%H:%M:%S%z" structured timestamp to end at. 80 81 :return response json 82 """ 83 84 logger.warning("The 'get_for_date_range' function may be deprecated shortly, please consider switching to 'get'.") 85 86 return self.get(start_time=start_time, end_time=end_time)
class
EventsAPIv1:
12class EventsAPIv1: 13 """ 14 Lacework Events API. 15 """ 16 17 def __init__(self, session): 18 """ 19 Initializes the EventsAPI object. 20 21 :param session: An instance of the HttpSession class. 22 23 :return EventsAPI object 24 """ 25 26 super().__init__() 27 28 self._session = session 29 30 def get(self, 31 id=None, 32 start_time=None, 33 end_time=None): 34 """ 35 A method to get Event details 36 37 :param event_id: An integer representing the Event ID to retrieve. 38 :param start_time: A "%Y-%m-%dT%H:%M:%S%z" structured timestamp to begin from. 39 :param end_time: A "%Y-%m-%dT%H:%M:%S%z" structured timestamp to end at. 40 41 :return response json 42 """ 43 44 logger.info("Getting Event information from Lacework...") 45 46 # Build the Event request URI 47 if id: 48 api_uri = f"/api/v1/external/events/GetEventDetails?EVENT_ID={id}" 49 elif start_time and end_time: 50 api_uri = f"/api/v1/external/events/GetEventsForDateRange?START_TIME={start_time}&END_TIME={end_time}" 51 else: 52 logger.error("Either an Event ID or start/end times need to be provided to run queries on the Lacework Events API.") 53 exit() 54 55 response = self._session.get(api_uri) 56 57 return response.json() 58 59 def get_details(self, 60 event_id): 61 """ 62 A method to get the Event Details for the specified Event ID. 63 64 :param event_id: An integer representing the Event ID to retrieve. 65 66 :return response json 67 """ 68 69 logger.warning("The 'get_details' function may be deprecated shortly, please consider switching to 'get'.") 70 71 return self.get(id=event_id) 72 73 def get_for_date_range(self, 74 start_time, 75 end_time): 76 """ 77 A method to get Events for the specified time range. 78 79 :param start_time: A "%Y-%m-%dT%H:%M:%S%z" structured timestamp to begin from. 80 :param end_time: A "%Y-%m-%dT%H:%M:%S%z" structured timestamp to end at. 81 82 :return response json 83 """ 84 85 logger.warning("The 'get_for_date_range' function may be deprecated shortly, please consider switching to 'get'.") 86 87 return self.get(start_time=start_time, end_time=end_time)
Lacework Events API.
EventsAPIv1(session)
17 def __init__(self, session): 18 """ 19 Initializes the EventsAPI object. 20 21 :param session: An instance of the HttpSession class. 22 23 :return EventsAPI object 24 """ 25 26 super().__init__() 27 28 self._session = session
Initializes the EventsAPI object.
Parameters
- session: An instance of the HttpSession class.
:return EventsAPI object
def
get(self, id=None, start_time=None, end_time=None):
30 def get(self, 31 id=None, 32 start_time=None, 33 end_time=None): 34 """ 35 A method to get Event details 36 37 :param event_id: An integer representing the Event ID to retrieve. 38 :param start_time: A "%Y-%m-%dT%H:%M:%S%z" structured timestamp to begin from. 39 :param end_time: A "%Y-%m-%dT%H:%M:%S%z" structured timestamp to end at. 40 41 :return response json 42 """ 43 44 logger.info("Getting Event information from Lacework...") 45 46 # Build the Event request URI 47 if id: 48 api_uri = f"/api/v1/external/events/GetEventDetails?EVENT_ID={id}" 49 elif start_time and end_time: 50 api_uri = f"/api/v1/external/events/GetEventsForDateRange?START_TIME={start_time}&END_TIME={end_time}" 51 else: 52 logger.error("Either an Event ID or start/end times need to be provided to run queries on the Lacework Events API.") 53 exit() 54 55 response = self._session.get(api_uri) 56 57 return response.json()
A method to get Event details
Parameters
- event_id: An integer representing the Event ID to retrieve.
- start_time: A "%Y-%m-%dT%H:%M: %S%z" structured timestamp to begin from.
- end_time: A "%Y-%m-%dT%H:%M: %S%z" structured timestamp to end at.
:return response json
def
get_details(self, event_id):
59 def get_details(self, 60 event_id): 61 """ 62 A method to get the Event Details for the specified Event ID. 63 64 :param event_id: An integer representing the Event ID to retrieve. 65 66 :return response json 67 """ 68 69 logger.warning("The 'get_details' function may be deprecated shortly, please consider switching to 'get'.") 70 71 return self.get(id=event_id)
A method to get the Event Details for the specified Event ID.
Parameters
- event_id: An integer representing the Event ID to retrieve.
:return response json
def
get_for_date_range(self, start_time, end_time):
73 def get_for_date_range(self, 74 start_time, 75 end_time): 76 """ 77 A method to get Events for the specified time range. 78 79 :param start_time: A "%Y-%m-%dT%H:%M:%S%z" structured timestamp to begin from. 80 :param end_time: A "%Y-%m-%dT%H:%M:%S%z" structured timestamp to end at. 81 82 :return response json 83 """ 84 85 logger.warning("The 'get_for_date_range' function may be deprecated shortly, please consider switching to 'get'.") 86 87 return self.get(start_time=start_time, end_time=end_time)
A method to get Events for the specified time range.
Parameters
- start_time: A "%Y-%m-%dT%H:%M: %S%z" structured timestamp to begin from.
- end_time: A "%Y-%m-%dT%H:%M: %S%z" structured timestamp to end at.
:return response json