laceworksdk.api.v2.entities

Lacework Entities API wrapper.

  1# -*- coding: utf-8 -*-
  2"""
  3Lacework Entities API wrapper.
  4"""
  5
  6from laceworksdk.api.search_endpoint import SearchEndpoint
  7
  8
  9class EntitiesAPI:
 10    """A class used to represent the Entities API endpoint.
 11
 12    The Entities API endpoint is simply a parent for different types of
 13    entities that can be queried.
 14
 15    Attributes
 16    ----------
 17    applications:
 18        A ApplicationsAPI instance.
 19    command_lines:
 20        A CommandLinesAPI instance.
 21    containers:
 22        A ContainersAPI instance.
 23    files:
 24        A FilesAPI instance.
 25    images:
 26        A ImagesAPI instance.
 27    internal_ip_addresses:
 28        A InternalIPAddressesAPI instance.
 29    k8s_pods:
 30        A K8sPodsAPI instance.
 31    machines:
 32        A MachinesAPI instance.
 33    machine_details:
 34        A MachineDetailsAPI instance.
 35    network_interfaces:
 36        A NetworkInterfacesAPI instance.
 37    new_file_hashes:
 38        A NewFileHashesAPI instance.
 39    packages:
 40        A PackagesAPI instance.
 41    processes:
 42        A ProcessesAPI instance.
 43    users:
 44        A UsersAPI instance.
 45    """
 46
 47    def __init__(self, session):
 48        """
 49        Initializes the EntitiesAPI object.
 50
 51        :param session: An instance of the HttpSession class
 52
 53        :return EntitiesAPI object.
 54        """
 55
 56        super().__init__()
 57        self._base_path = "Entities"
 58
 59        self.applications = ApplicationsAPI(session, self._base_path)
 60        self.command_lines = CommandLinesAPI(session, self._base_path)
 61        self.containers = ContainersAPI(session, self._base_path)
 62        self.files = FilesAPI(session, self._base_path)
 63        self.images = ImagesAPI(session, self._base_path)
 64        self.internal_ip_addresses = InternalIPAddressesAPI(session, self._base_path)
 65        self.k8s_pods = K8sPodsAPI(session, self._base_path)
 66        self.machines = MachinesAPI(session, self._base_path)
 67        self.machine_details = MachineDetailsAPI(session, self._base_path)
 68        self.network_interfaces = NetworkInterfacesAPI(session, self._base_path)
 69        self.new_file_hashes = NewFileHashesAPI(session, self._base_path)
 70        self.packages = PackagesAPI(session, self._base_path)
 71        self.processes = ProcessesAPI(session, self._base_path)
 72        self.users = UsersAPI(session, self._base_path)
 73
 74
 75class ApplicationsAPI(SearchEndpoint):
 76    """A class used to represent the Applications API endpoint.
 77
 78    Methods
 79    -------
 80    search(json=None)
 81        A method to search Applications objects.
 82    """
 83    RESOURCE = "Applications"
 84
 85
 86class CommandLinesAPI(SearchEndpoint):
 87    """A class used to represent the Command Lines API endpoint.
 88
 89    Methods
 90    -------
 91    search(json=None)
 92        A method to search CommandLines objects.
 93    """
 94    RESOURCE = "CommandLines"
 95
 96
 97class ContainersAPI(SearchEndpoint):
 98    """A class used to represent the Containers API endpoint.
 99
100    Methods
101    -------
102    search(json=None)
103        A method to search Containers objects.
104    """
105    RESOURCE = "Containers"
106
107
108class FilesAPI(SearchEndpoint):
109    """A class used to represent the Files API endpoint.
110
111    Methods
112    -------
113    search(json=None)
114        A method to search Files objects.
115    """
116    RESOURCE = "Files"
117
118
119class ImagesAPI(SearchEndpoint):
120    """A class used to represent the Images API endpoint.
121
122    Methods
123    -------
124    search(json=None)
125        A method to search Images objects.
126    """
127    RESOURCE = "Images"
128
129
130class InternalIPAddressesAPI(SearchEndpoint):
131    """A class used to represent the Internal IP Addresses API endpoint.
132
133    Methods
134    -------
135    search(json=None)
136        A method to search InternalIPAddresses objects.
137    """
138    RESOURCE = "InternalIPAddresses"
139
140
141class K8sPodsAPI(SearchEndpoint):
142    """A class used to represent the K8s Pods API endpoint.
143
144    Methods
145    -------
146    search(json=None)
147        A method to search K8sPods objects.
148    """
149    RESOURCE = "K8sPods"
150
151
152class MachinesAPI(SearchEndpoint):
153    """A class used to represent the Machines API endpoint.
154
155    Methods
156    -------
157    search(json=None)
158        A method to search Machines objects.
159    """
160    RESOURCE = "Machines"
161
162
163class MachineDetailsAPI(SearchEndpoint):
164    """A class used to represent the Machine Details API endpoint.
165
166    Methods
167    -------
168    search(json=None)
169        A method to search MachineDetails objects.
170    """
171    RESOURCE = "MachineDetails"
172
173
174class NetworkInterfacesAPI(SearchEndpoint):
175    """A class used to represent the Network Interfaces API endpoint.
176
177    Methods
178    -------
179    search(json=None)
180        A method to search NetworkInterfaces objects.
181    """
182    RESOURCE = "NetworkInterfaces"
183
184
185class NewFileHashesAPI(SearchEndpoint):
186    """A class used to represent the New File Hashes API endpoint.
187
188    Methods
189    -------
190    search(json=None)
191        A method to search NewFileHashes objects.
192    """
193    RESOURCE = "NewFileHashes"
194
195
196class PackagesAPI(SearchEndpoint):
197    """A class used to represent the Packages API endpoint.
198
199    Methods
200    -------
201    search(json=None)
202        A method to search Packages objects.
203    """
204    RESOURCE = "Packages"
205
206
207class ProcessesAPI(SearchEndpoint):
208    """A class used to represent the Processes API endpoint.
209
210    Methods
211    -------
212    search(json=None)
213        A method to search Processes objects.
214    """
215    RESOURCE = "Processes"
216
217
218class UsersAPI(SearchEndpoint):
219    """A class used to represent the Users API endpoint.
220
221    Methods
222    -------
223    search(json=None)
224        A method to search Users objects.
225    """
226    RESOURCE = "Users"
class EntitiesAPI:
10class EntitiesAPI:
11    """A class used to represent the Entities API endpoint.
12
13    The Entities API endpoint is simply a parent for different types of
14    entities that can be queried.
15
16    Attributes
17    ----------
18    applications:
19        A ApplicationsAPI instance.
20    command_lines:
21        A CommandLinesAPI instance.
22    containers:
23        A ContainersAPI instance.
24    files:
25        A FilesAPI instance.
26    images:
27        A ImagesAPI instance.
28    internal_ip_addresses:
29        A InternalIPAddressesAPI instance.
30    k8s_pods:
31        A K8sPodsAPI instance.
32    machines:
33        A MachinesAPI instance.
34    machine_details:
35        A MachineDetailsAPI instance.
36    network_interfaces:
37        A NetworkInterfacesAPI instance.
38    new_file_hashes:
39        A NewFileHashesAPI instance.
40    packages:
41        A PackagesAPI instance.
42    processes:
43        A ProcessesAPI instance.
44    users:
45        A UsersAPI instance.
46    """
47
48    def __init__(self, session):
49        """
50        Initializes the EntitiesAPI object.
51
52        :param session: An instance of the HttpSession class
53
54        :return EntitiesAPI object.
55        """
56
57        super().__init__()
58        self._base_path = "Entities"
59
60        self.applications = ApplicationsAPI(session, self._base_path)
61        self.command_lines = CommandLinesAPI(session, self._base_path)
62        self.containers = ContainersAPI(session, self._base_path)
63        self.files = FilesAPI(session, self._base_path)
64        self.images = ImagesAPI(session, self._base_path)
65        self.internal_ip_addresses = InternalIPAddressesAPI(session, self._base_path)
66        self.k8s_pods = K8sPodsAPI(session, self._base_path)
67        self.machines = MachinesAPI(session, self._base_path)
68        self.machine_details = MachineDetailsAPI(session, self._base_path)
69        self.network_interfaces = NetworkInterfacesAPI(session, self._base_path)
70        self.new_file_hashes = NewFileHashesAPI(session, self._base_path)
71        self.packages = PackagesAPI(session, self._base_path)
72        self.processes = ProcessesAPI(session, self._base_path)
73        self.users = UsersAPI(session, self._base_path)

A class used to represent the Entities API endpoint.

The Entities API endpoint is simply a parent for different types of entities that can be queried.

Attributes

applications: A ApplicationsAPI instance. command_lines: A CommandLinesAPI instance. containers: A ContainersAPI instance. files: A FilesAPI instance. images: A ImagesAPI instance. internal_ip_addresses: A InternalIPAddressesAPI instance. k8s_pods: A K8sPodsAPI instance. machines: A MachinesAPI instance. machine_details: A MachineDetailsAPI instance. network_interfaces: A NetworkInterfacesAPI instance. new_file_hashes: A NewFileHashesAPI instance. packages: A PackagesAPI instance. processes: A ProcessesAPI instance. users: A UsersAPI instance.

EntitiesAPI(session)
48    def __init__(self, session):
49        """
50        Initializes the EntitiesAPI object.
51
52        :param session: An instance of the HttpSession class
53
54        :return EntitiesAPI object.
55        """
56
57        super().__init__()
58        self._base_path = "Entities"
59
60        self.applications = ApplicationsAPI(session, self._base_path)
61        self.command_lines = CommandLinesAPI(session, self._base_path)
62        self.containers = ContainersAPI(session, self._base_path)
63        self.files = FilesAPI(session, self._base_path)
64        self.images = ImagesAPI(session, self._base_path)
65        self.internal_ip_addresses = InternalIPAddressesAPI(session, self._base_path)
66        self.k8s_pods = K8sPodsAPI(session, self._base_path)
67        self.machines = MachinesAPI(session, self._base_path)
68        self.machine_details = MachineDetailsAPI(session, self._base_path)
69        self.network_interfaces = NetworkInterfacesAPI(session, self._base_path)
70        self.new_file_hashes = NewFileHashesAPI(session, self._base_path)
71        self.packages = PackagesAPI(session, self._base_path)
72        self.processes = ProcessesAPI(session, self._base_path)
73        self.users = UsersAPI(session, self._base_path)

Initializes the EntitiesAPI object.

Parameters
  • session: An instance of the HttpSession class

:return EntitiesAPI object.

class ApplicationsAPI(laceworksdk.api.search_endpoint.SearchEndpoint):
76class ApplicationsAPI(SearchEndpoint):
77    """A class used to represent the Applications API endpoint.
78
79    Methods
80    -------
81    search(json=None)
82        A method to search Applications objects.
83    """
84    RESOURCE = "Applications"

A class used to represent the Applications API endpoint.

Methods

search(json=None) A method to search Applications objects.

RESOURCE = 'Applications'
class CommandLinesAPI(laceworksdk.api.search_endpoint.SearchEndpoint):
87class CommandLinesAPI(SearchEndpoint):
88    """A class used to represent the Command Lines API endpoint.
89
90    Methods
91    -------
92    search(json=None)
93        A method to search CommandLines objects.
94    """
95    RESOURCE = "CommandLines"

A class used to represent the Command Lines API endpoint.

Methods

search(json=None) A method to search CommandLines objects.

RESOURCE = 'CommandLines'
class ContainersAPI(laceworksdk.api.search_endpoint.SearchEndpoint):
 98class ContainersAPI(SearchEndpoint):
 99    """A class used to represent the Containers API endpoint.
100
101    Methods
102    -------
103    search(json=None)
104        A method to search Containers objects.
105    """
106    RESOURCE = "Containers"

A class used to represent the Containers API endpoint.

Methods

search(json=None) A method to search Containers objects.

RESOURCE = 'Containers'
class FilesAPI(laceworksdk.api.search_endpoint.SearchEndpoint):
109class FilesAPI(SearchEndpoint):
110    """A class used to represent the Files API endpoint.
111
112    Methods
113    -------
114    search(json=None)
115        A method to search Files objects.
116    """
117    RESOURCE = "Files"

A class used to represent the Files API endpoint.

Methods

search(json=None) A method to search Files objects.

RESOURCE = 'Files'
class ImagesAPI(laceworksdk.api.search_endpoint.SearchEndpoint):
120class ImagesAPI(SearchEndpoint):
121    """A class used to represent the Images API endpoint.
122
123    Methods
124    -------
125    search(json=None)
126        A method to search Images objects.
127    """
128    RESOURCE = "Images"

A class used to represent the Images API endpoint.

Methods

search(json=None) A method to search Images objects.

RESOURCE = 'Images'
class InternalIPAddressesAPI(laceworksdk.api.search_endpoint.SearchEndpoint):
131class InternalIPAddressesAPI(SearchEndpoint):
132    """A class used to represent the Internal IP Addresses API endpoint.
133
134    Methods
135    -------
136    search(json=None)
137        A method to search InternalIPAddresses objects.
138    """
139    RESOURCE = "InternalIPAddresses"

A class used to represent the Internal IP Addresses API endpoint.

Methods

search(json=None) A method to search InternalIPAddresses objects.

RESOURCE = 'InternalIPAddresses'
class K8sPodsAPI(laceworksdk.api.search_endpoint.SearchEndpoint):
142class K8sPodsAPI(SearchEndpoint):
143    """A class used to represent the K8s Pods API endpoint.
144
145    Methods
146    -------
147    search(json=None)
148        A method to search K8sPods objects.
149    """
150    RESOURCE = "K8sPods"

A class used to represent the K8s Pods API endpoint.

Methods

search(json=None) A method to search K8sPods objects.

RESOURCE = 'K8sPods'
class MachinesAPI(laceworksdk.api.search_endpoint.SearchEndpoint):
153class MachinesAPI(SearchEndpoint):
154    """A class used to represent the Machines API endpoint.
155
156    Methods
157    -------
158    search(json=None)
159        A method to search Machines objects.
160    """
161    RESOURCE = "Machines"

A class used to represent the Machines API endpoint.

Methods

search(json=None) A method to search Machines objects.

RESOURCE = 'Machines'
class MachineDetailsAPI(laceworksdk.api.search_endpoint.SearchEndpoint):
164class MachineDetailsAPI(SearchEndpoint):
165    """A class used to represent the Machine Details API endpoint.
166
167    Methods
168    -------
169    search(json=None)
170        A method to search MachineDetails objects.
171    """
172    RESOURCE = "MachineDetails"

A class used to represent the Machine Details API endpoint.

Methods

search(json=None) A method to search MachineDetails objects.

RESOURCE = 'MachineDetails'
class NetworkInterfacesAPI(laceworksdk.api.search_endpoint.SearchEndpoint):
175class NetworkInterfacesAPI(SearchEndpoint):
176    """A class used to represent the Network Interfaces API endpoint.
177
178    Methods
179    -------
180    search(json=None)
181        A method to search NetworkInterfaces objects.
182    """
183    RESOURCE = "NetworkInterfaces"

A class used to represent the Network Interfaces API endpoint.

Methods

search(json=None) A method to search NetworkInterfaces objects.

RESOURCE = 'NetworkInterfaces'
class NewFileHashesAPI(laceworksdk.api.search_endpoint.SearchEndpoint):
186class NewFileHashesAPI(SearchEndpoint):
187    """A class used to represent the New File Hashes API endpoint.
188
189    Methods
190    -------
191    search(json=None)
192        A method to search NewFileHashes objects.
193    """
194    RESOURCE = "NewFileHashes"

A class used to represent the New File Hashes API endpoint.

Methods

search(json=None) A method to search NewFileHashes objects.

RESOURCE = 'NewFileHashes'
class PackagesAPI(laceworksdk.api.search_endpoint.SearchEndpoint):
197class PackagesAPI(SearchEndpoint):
198    """A class used to represent the Packages API endpoint.
199
200    Methods
201    -------
202    search(json=None)
203        A method to search Packages objects.
204    """
205    RESOURCE = "Packages"

A class used to represent the Packages API endpoint.

Methods

search(json=None) A method to search Packages objects.

RESOURCE = 'Packages'
class ProcessesAPI(laceworksdk.api.search_endpoint.SearchEndpoint):
208class ProcessesAPI(SearchEndpoint):
209    """A class used to represent the Processes API endpoint.
210
211    Methods
212    -------
213    search(json=None)
214        A method to search Processes objects.
215    """
216    RESOURCE = "Processes"

A class used to represent the Processes API endpoint.

Methods

search(json=None) A method to search Processes objects.

RESOURCE = 'Processes'
class UsersAPI(laceworksdk.api.search_endpoint.SearchEndpoint):
219class UsersAPI(SearchEndpoint):
220    """A class used to represent the Users API endpoint.
221
222    Methods
223    -------
224    search(json=None)
225        A method to search Users objects.
226    """
227    RESOURCE = "Users"

A class used to represent the Users API endpoint.

Methods

search(json=None) A method to search Users objects.

RESOURCE = 'Users'