wazuh-ruby-client 0.2.2 → 0.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +24 -0
- data/lib/wazuh/api/endpoints/agents.rb +231 -0
- data/lib/wazuh/version.rb +1 -1
- data/lib/wazuh-ruby-client/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d9ab93da31cf3dc939abb42a61a420cb79c69af263379e8cc767561c3ea362af
|
4
|
+
data.tar.gz: 74f160e980af447a6787779508d65afc533aadfb4edcae2d28452549b714c11d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b57ab4847326df1aa8ec9015a432c0d3dbaacce88ff7b126fdeee138d919f0a8af045b94d5fb9976fd317a0f0b7e2f87571dfd1f73a3a169e04aeee15ea0e69f
|
7
|
+
data.tar.gz: 4be2a974e6b9575de9cc33cc8b85ae938c7fc08041ef17705006262b7069cb65f5225e1f365b24bedec1fc7daf22b44ed5c03f11f6e242a44a531d459f9bdfec
|
data/CHANGELOG.md
CHANGED
@@ -7,6 +7,30 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
|
|
7
7
|
|
8
8
|
## [Unreleased]
|
9
9
|
|
10
|
+
## [0.2.3] - 2019-02-18
|
11
|
+
|
12
|
+
- Added some methods for agents and groups
|
13
|
+
- `delete_agent()`
|
14
|
+
- `agent_config()`
|
15
|
+
- `delete_agent_by_group()`
|
16
|
+
- `agent_sync_status()`
|
17
|
+
- `add_agents_to_group()`
|
18
|
+
- `add_agent_to_group()`
|
19
|
+
- `create_group()`
|
20
|
+
- `get_file_in_group()`
|
21
|
+
- `agents_by_group()`
|
22
|
+
- `agents_by_no_group()`
|
23
|
+
- `group_configuration()`
|
24
|
+
- `group_files()`
|
25
|
+
- `groups()`
|
26
|
+
- `update_group_ossec_configuration()`
|
27
|
+
- `remove_agent_of_group()`
|
28
|
+
- `remvoe_agents_of_group()`
|
29
|
+
- `remove_all_agent_of_group()`
|
30
|
+
- `remove_group()`
|
31
|
+
- `agent_os_summary()`
|
32
|
+
- `agent_summary()`
|
33
|
+
|
10
34
|
## [0.2.2] - 2019-02-18
|
11
35
|
|
12
36
|
- Added options to `syscheck_files()`
|
@@ -159,6 +159,20 @@ module Wazuh
|
|
159
159
|
delete "/agents/#{agent_id}", options
|
160
160
|
end
|
161
161
|
|
162
|
+
# Delete agents
|
163
|
+
# Removes agents, using a list of them or a criterion based on the status or time of the last connection.
|
164
|
+
# @option options [String] ids
|
165
|
+
# Agent IDs separated by commas.
|
166
|
+
# @option options [Bool] purge
|
167
|
+
# Delete an agent from the key store. This parameter is only valid if purge is set to no in the manager’s ossec.conf.
|
168
|
+
# @option options [String] status
|
169
|
+
# Filters by agent status. Use commas to enter multiple statuses. Allowed values: active, pending, neverconnected, disconnected
|
170
|
+
# @option options [String] older_than
|
171
|
+
# Filters out disconnected agents for longer than specified. Time in seconds, ‘[n_days]d’, ‘[n_hours]h’, ‘[n_minutes]m’ or ‘[n_seconds]s’. For never connected agents, uses the register date. Default value: 7d.
|
172
|
+
def delete_agents(options = {})
|
173
|
+
delete '/agents', options
|
174
|
+
end
|
175
|
+
|
162
176
|
# Adds a new agent with name :agent_name. This agent will use ANY as IP.
|
163
177
|
#
|
164
178
|
# @param [String] agent_name
|
@@ -184,6 +198,223 @@ module Wazuh
|
|
184
198
|
def insert_agent(options = {})
|
185
199
|
post '/agents/insert', options
|
186
200
|
end
|
201
|
+
|
202
|
+
# Get active configuration
|
203
|
+
# @param [String] agent_id
|
204
|
+
# @param [String] component
|
205
|
+
# Selected component. Alowed values see document
|
206
|
+
# @param [String] configuration
|
207
|
+
# Selected component. Alowed values see document
|
208
|
+
# @see https://documentation.wazuh.com/3.11/user-manual/api/reference.html#get-active-configuration
|
209
|
+
def agent_config(agent_id, component, configuration)
|
210
|
+
get "/agents/#{agent_id}/config/#{component}/#{configuration}"
|
211
|
+
end
|
212
|
+
|
213
|
+
# Delete a list of groups
|
214
|
+
# @param [String] ids
|
215
|
+
# @see http://documentation.wazuh.com/3.11/user-manual/api/reference.html#delete-a-list-of-groups
|
216
|
+
def delete_agent_by_group(ids)
|
217
|
+
delete '/agents/groups', {ids: ids}
|
218
|
+
end
|
219
|
+
|
220
|
+
# Get sync status of agent
|
221
|
+
# Returns the sync status in JSON format
|
222
|
+
#
|
223
|
+
# @param [String] agent_id
|
224
|
+
# Agent ID
|
225
|
+
# @see https://documentation.wazuh.com/3.11/user-manual/api/reference.html#get-sync-status-of-agent
|
226
|
+
def agent_sync_status(agent_id)
|
227
|
+
get "/agent/#{agent_id}/group/is_sync"
|
228
|
+
end
|
229
|
+
|
230
|
+
# Add a list of agents to a group
|
231
|
+
# Adds a list of agents to the specified group
|
232
|
+
#
|
233
|
+
# @param [Array[String]] ids
|
234
|
+
# List of agent ID
|
235
|
+
# @param [String] group_id
|
236
|
+
# @see https://documentation.wazuh.com/3.11/user-manual/api/reference.html#add-a-list-of-agents-to-a-group
|
237
|
+
def add_agents_to_group(ids, group_id)
|
238
|
+
post "/agents/group/#{group_id}", {ids: ids}
|
239
|
+
end
|
240
|
+
|
241
|
+
# Add agent group
|
242
|
+
# Adds an agent to the specified group.
|
243
|
+
#
|
244
|
+
# @param [String] agent_id
|
245
|
+
# Agent unique ID
|
246
|
+
# @param [String] group_id
|
247
|
+
# Group ID
|
248
|
+
# @option options [Bool] force_single_group
|
249
|
+
# Whether to append new group to current agent’s group or replace it.
|
250
|
+
# @see https://documentation.wazuh.com/3.11/user-manual/api/reference.html#add-agent-group
|
251
|
+
def add_agent_to_group(agent_id, group_id, options = {})
|
252
|
+
put "/agents/#{agent_id}/group/#{group_id}", options
|
253
|
+
end
|
254
|
+
|
255
|
+
# Create a group
|
256
|
+
# Creates a new group.
|
257
|
+
#
|
258
|
+
# @param [String] group_id
|
259
|
+
# Group ID
|
260
|
+
# @see https://documentation.wazuh.com/3.11/user-manual/api/reference.html#create-a-group
|
261
|
+
def create_group(group_id)
|
262
|
+
put "/agents/groups/#{group_id}"
|
263
|
+
end
|
264
|
+
|
265
|
+
# Get a file in group
|
266
|
+
# Returns the specified file belonging to the group parsed to JSON.
|
267
|
+
#
|
268
|
+
# @param [String] group_id
|
269
|
+
# Group ID
|
270
|
+
# @param [String] filename
|
271
|
+
# Filename
|
272
|
+
# @option options [String] type
|
273
|
+
# @option options [String] format
|
274
|
+
# @see https://documentation.wazuh.com/3.11/user-manual/api/reference.html#add-agent-group
|
275
|
+
def get_file_in_group(group_id, filename, options = {})
|
276
|
+
get "agents/groups/#{group_id}/files/#{filename}", options
|
277
|
+
end
|
278
|
+
|
279
|
+
# Get agents in a group
|
280
|
+
# Returns the list of agents in a group.
|
281
|
+
#
|
282
|
+
# @param [String] group_id
|
283
|
+
# Group ID
|
284
|
+
# @option options [Number] offset
|
285
|
+
# @option options [Number] limit
|
286
|
+
# @option options [String] select
|
287
|
+
# @option options [String] sort
|
288
|
+
# @option options [String] search
|
289
|
+
# @option options [String] status
|
290
|
+
# @option options [String] q
|
291
|
+
# @see https://documentation.wazuh.com/3.11/user-manual/api/reference.html#get-agents-in-a-group
|
292
|
+
def agents_by_group(group_id, options = {})
|
293
|
+
get "/agents/groups/#{group_id}", options
|
294
|
+
end
|
295
|
+
|
296
|
+
# Get agents without group
|
297
|
+
# Returns a list with the available agents without group.
|
298
|
+
#
|
299
|
+
# @option options [Number] offset
|
300
|
+
# @option options [Number] limit
|
301
|
+
# @option options [String] select
|
302
|
+
# @option options [String] sort
|
303
|
+
# @option options [String] search
|
304
|
+
# @option options [String] status
|
305
|
+
# @option options [String] q
|
306
|
+
# @see https://documentation.wazuh.com/3.11/user-manual/api/reference.html#get-agents-without-group
|
307
|
+
def agents_by_no_group(options = {})
|
308
|
+
get 'agents/no_group', options
|
309
|
+
end
|
310
|
+
|
311
|
+
# Get group configuration
|
312
|
+
#
|
313
|
+
# @param [String] group_id
|
314
|
+
# @option options [Number] offset
|
315
|
+
# @option options [Number] limit
|
316
|
+
# @see https://documentation.wazuh.com/3.11/user-manual/api/reference.html#get-group-configuration
|
317
|
+
def group_configuration(group_id, options = {})
|
318
|
+
get "/agents/groups/#{group_id}/configuration", options
|
319
|
+
end
|
320
|
+
|
321
|
+
# Get group files
|
322
|
+
# Returns the files belonging to the group.
|
323
|
+
#
|
324
|
+
# @param [String] group_id
|
325
|
+
# @option options [Number] offset
|
326
|
+
# @option options [Number] limit
|
327
|
+
# @option options [String] sort
|
328
|
+
# @option options [String] search
|
329
|
+
# @option options [String] hash
|
330
|
+
# @see https://documentation.wazuh.com/3.11/user-manual/api/reference.html#get-group-files
|
331
|
+
def group_files(group_id, options = {})
|
332
|
+
get "/agents/groups/#{group_id}/files", options
|
333
|
+
end
|
334
|
+
|
335
|
+
# Get groups
|
336
|
+
# Returns the list of existing agent groups.
|
337
|
+
#
|
338
|
+
# @option options [Number] offset
|
339
|
+
# @option options [Number] limit
|
340
|
+
# @option options [String] sort
|
341
|
+
# @option options [String] search
|
342
|
+
# @option options [String] hash
|
343
|
+
# @option options [String] q
|
344
|
+
def groups(options = {})
|
345
|
+
get '/agents/groups', options
|
346
|
+
end
|
347
|
+
|
348
|
+
# Put configuration file (agent.conf) into a group
|
349
|
+
# Upload the group configuration (agent.conf).
|
350
|
+
#
|
351
|
+
# @param [String] group_id
|
352
|
+
# @param [String] config
|
353
|
+
# @see https://documentation.wazuh.com/3.11/user-manual/api/reference.html#put-configuration-file-agent-conf-into-a-group
|
354
|
+
def update_group_ossec_configuration(group_id, config)
|
355
|
+
# post "/agents/groups/#{group_id}/configuration"
|
356
|
+
# TODO : use Content-type: application/xml
|
357
|
+
raise "This method not yet implement"
|
358
|
+
end
|
359
|
+
|
360
|
+
# Remove a single group of an agent
|
361
|
+
# Remove the group of the agent but will leave the rest of its group if it belongs to a multigroup.
|
362
|
+
#
|
363
|
+
# @param [String] agent_id
|
364
|
+
# @param [String] group_id
|
365
|
+
# @see https://documentation.wazuh.com/3.11/user-manual/api/reference.html#remove-a-single-group-of-an-agent
|
366
|
+
def remove_agent_of_group(agent_id, group_id)
|
367
|
+
delete "/agents/#{agent_id}/group/#{group_id}"
|
368
|
+
end
|
369
|
+
|
370
|
+
# Remove a single group of multiple agents
|
371
|
+
# Remove a list of agents of a group.
|
372
|
+
#
|
373
|
+
# @param [String] ids
|
374
|
+
# @param [String] group_id
|
375
|
+
# @see https://documentation.wazuh.com/3.11/user-manual/api/reference.html#remove-a-single-group-of-multiple-agents
|
376
|
+
def remove_agents_of_group(ids, groups)
|
377
|
+
delete "/agents/group/#{group_id}", {ids: ids}
|
378
|
+
end
|
379
|
+
|
380
|
+
# Remove all agent groups.
|
381
|
+
# Removes the group of the agent. The agent will automatically revert to the ‘default’ group.
|
382
|
+
#
|
383
|
+
# @param [String] agent_id
|
384
|
+
# @see https://documentation.wazuh.com/3.11/user-manual/api/reference.html#remove-all-agent-groups
|
385
|
+
def remove_all_agent_of_group(agent_id)
|
386
|
+
delete "/agents/#{agent_id}/group"
|
387
|
+
end
|
388
|
+
|
389
|
+
# Remove group
|
390
|
+
# Removes the group. Agents that were assigned to the removed group will automatically revert to the ‘default’ group.
|
391
|
+
#
|
392
|
+
# @param [String] group_id
|
393
|
+
# @see https://documentation.wazuh.com/3.11/user-manual/api/reference.html#remove-group
|
394
|
+
def remove_group(group_id)
|
395
|
+
delete "/agents/groups/#{group_id}"
|
396
|
+
end
|
397
|
+
|
398
|
+
# Get OS summary
|
399
|
+
# Returns a summary of the OS.
|
400
|
+
#
|
401
|
+
# @option options [Number] offset
|
402
|
+
# @option options [Number] limit
|
403
|
+
# @option options [String] sort
|
404
|
+
# @option options [String] search
|
405
|
+
# @option options [String] q
|
406
|
+
# @see https://documentation.wazuh.com/3.11/user-manual/api/reference.html#get-os-summary
|
407
|
+
def agent_os_summary(options = {})
|
408
|
+
get "/agents/summary/os"
|
409
|
+
end
|
410
|
+
|
411
|
+
# Get agents summary
|
412
|
+
# Returns a summary of the available agents.
|
413
|
+
#
|
414
|
+
# @see https://documentation.wazuh.com/3.11/user-manual/api/reference.html#get-agents-summary
|
415
|
+
def agent_summary
|
416
|
+
get "/agents/summary"
|
417
|
+
end
|
187
418
|
end
|
188
419
|
end
|
189
420
|
end
|
data/lib/wazuh/version.rb
CHANGED