laceworksdk.api.v2.reports
Lacework Reports API wrapper.
1# -*- coding: utf-8 -*- 2""" 3Lacework Reports API wrapper. 4""" 5 6from laceworksdk.api.base_endpoint import BaseEndpoint 7 8 9class ReportsAPI(BaseEndpoint): 10 11 def __init__(self, session): 12 """ 13 Initializes the ReportsAPI object. 14 15 :param session: An instance of the HttpSession class 16 17 :return ReportsAPI object. 18 """ 19 20 super().__init__(session, "Reports") 21 22 def get(self, 23 primary_query_id=None, 24 secondary_query_id=None, 25 format=None, 26 type=None, 27 report_name=None, 28 report_type=None, 29 template_name=None, 30 latest=None, 31 **request_params): 32 """ 33 A method to get Reports objects. 34 35 :param primary_query_id: The primary ID that is used to fetch the report. 36 (AWS Account ID or Azure Tenant ID) 37 :param secondary_query_id: The secondary ID that is used to fetch the report. 38 (GCP Project ID or Azure Subscription ID) 39 :param format: The format of the report. 40 ("csv", "html", "json", "pdf") 41 :param type: The type of the report. 42 :param report_name: The name of the report definition to use when generating the report. 43 :param report_type: The type of the report definition to use when generating the report. 44 :param template_name: The name of the template to be used for the report. 45 :param latest: A boolean representing whether to retreive the latest report. 46 :param request_params: Additional request parameters. 47 (provides support for parameters that may be added in the future) 48 49 :return response json 50 """ 51 52 params = self.build_dict_from_items( 53 primary_query_id=primary_query_id, 54 secondary_query_id=secondary_query_id, 55 format=format, 56 type=type, 57 report_name=report_name, 58 report_type=report_type, 59 template_name=template_name, 60 latest=latest, 61 **request_params 62 ) 63 64 response = self._session.get(self.build_url(), params=params) 65 66 if format == "json": 67 return response.json() 68 else: 69 return response.content
10class ReportsAPI(BaseEndpoint): 11 12 def __init__(self, session): 13 """ 14 Initializes the ReportsAPI object. 15 16 :param session: An instance of the HttpSession class 17 18 :return ReportsAPI object. 19 """ 20 21 super().__init__(session, "Reports") 22 23 def get(self, 24 primary_query_id=None, 25 secondary_query_id=None, 26 format=None, 27 type=None, 28 report_name=None, 29 report_type=None, 30 template_name=None, 31 latest=None, 32 **request_params): 33 """ 34 A method to get Reports objects. 35 36 :param primary_query_id: The primary ID that is used to fetch the report. 37 (AWS Account ID or Azure Tenant ID) 38 :param secondary_query_id: The secondary ID that is used to fetch the report. 39 (GCP Project ID or Azure Subscription ID) 40 :param format: The format of the report. 41 ("csv", "html", "json", "pdf") 42 :param type: The type of the report. 43 :param report_name: The name of the report definition to use when generating the report. 44 :param report_type: The type of the report definition to use when generating the report. 45 :param template_name: The name of the template to be used for the report. 46 :param latest: A boolean representing whether to retreive the latest report. 47 :param request_params: Additional request parameters. 48 (provides support for parameters that may be added in the future) 49 50 :return response json 51 """ 52 53 params = self.build_dict_from_items( 54 primary_query_id=primary_query_id, 55 secondary_query_id=secondary_query_id, 56 format=format, 57 type=type, 58 report_name=report_name, 59 report_type=report_type, 60 template_name=template_name, 61 latest=latest, 62 **request_params 63 ) 64 65 response = self._session.get(self.build_url(), params=params) 66 67 if format == "json": 68 return response.json() 69 else: 70 return response.content
A class used to implement base functionality for Lacework API Endpoints
ReportsAPI(session)
12 def __init__(self, session): 13 """ 14 Initializes the ReportsAPI object. 15 16 :param session: An instance of the HttpSession class 17 18 :return ReportsAPI object. 19 """ 20 21 super().__init__(session, "Reports")
Initializes the ReportsAPI object.
Parameters
- session: An instance of the HttpSession class
:return ReportsAPI object.
def
get( self, primary_query_id=None, secondary_query_id=None, format=None, type=None, report_name=None, report_type=None, template_name=None, latest=None, **request_params):
23 def get(self, 24 primary_query_id=None, 25 secondary_query_id=None, 26 format=None, 27 type=None, 28 report_name=None, 29 report_type=None, 30 template_name=None, 31 latest=None, 32 **request_params): 33 """ 34 A method to get Reports objects. 35 36 :param primary_query_id: The primary ID that is used to fetch the report. 37 (AWS Account ID or Azure Tenant ID) 38 :param secondary_query_id: The secondary ID that is used to fetch the report. 39 (GCP Project ID or Azure Subscription ID) 40 :param format: The format of the report. 41 ("csv", "html", "json", "pdf") 42 :param type: The type of the report. 43 :param report_name: The name of the report definition to use when generating the report. 44 :param report_type: The type of the report definition to use when generating the report. 45 :param template_name: The name of the template to be used for the report. 46 :param latest: A boolean representing whether to retreive the latest report. 47 :param request_params: Additional request parameters. 48 (provides support for parameters that may be added in the future) 49 50 :return response json 51 """ 52 53 params = self.build_dict_from_items( 54 primary_query_id=primary_query_id, 55 secondary_query_id=secondary_query_id, 56 format=format, 57 type=type, 58 report_name=report_name, 59 report_type=report_type, 60 template_name=template_name, 61 latest=latest, 62 **request_params 63 ) 64 65 response = self._session.get(self.build_url(), params=params) 66 67 if format == "json": 68 return response.json() 69 else: 70 return response.content
A method to get Reports objects.
Parameters
- primary_query_id: The primary ID that is used to fetch the report. (AWS Account ID or Azure Tenant ID)
- secondary_query_id: The secondary ID that is used to fetch the report. (GCP Project ID or Azure Subscription ID)
- format: The format of the report. ("csv", "html", "json", "pdf")
- type: The type of the report.
- report_name: The name of the report definition to use when generating the report.
- report_type: The type of the report definition to use when generating the report.
- template_name: The name of the template to be used for the report.
- latest: A boolean representing whether to retreive the latest report.
- request_params: Additional request parameters. (provides support for parameters that may be added in the future)
:return response json