tenable-ruby 0.2.10 → 0.3.0

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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/tenable-ruby.rb +49 -4
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3e7f7d3f313d0e1025fb6542b1bfc78aaca7ac22
4
- data.tar.gz: 61e4725f204991d399ef950785506193f9c213b5
3
+ metadata.gz: 9d538ef4f3b182110dd5b74ab03dfa56bf346d95
4
+ data.tar.gz: a8f4361484a9c5d1fc0b2a3c0f3f504f62425d2b
5
5
  SHA512:
6
- metadata.gz: 587367f6991108a0fb14e8b91f156bc080d2a18288f8baadb068c9283ec68af934b0781936aaed13f01968e6621bd65b5f92b7af5e216a9d85effa4c7030d2a3
7
- data.tar.gz: ec6665e7e0b64bccffa1cac5b3b4c7f72cfbf0f2df1e36c2e34eb12926abc8c549e3bb3c5e7c1ff3b5136a72e46b7005b2890b90c341695262831b2842e0d44d
6
+ metadata.gz: fc335f3866393aa2f7aaffd3232f6d9d1c044a9732ed3cb425545547ed9ee4edc5883f4707e6dc93cd3525f0c096e517240a0735231255f687ba8149af675911
7
+ data.tar.gz: 6176793f900e4ae25ab631f286ea6d1ac2b0fe7aec8a02f830f750172bf6ba8872445bcf148cb070fa2d3562a797d540564e460e24adafd284f620564ea52420
data/lib/tenable-ruby.rb CHANGED
@@ -240,6 +240,51 @@ module TenableRuby
240
240
  http_get(:uri => "/server/status", :fields => header)
241
241
  end
242
242
 
243
+ # Returns a list of agents for the specified scanner
244
+ #
245
+ # Reference
246
+ # https://developer.tenable.com/reference#agents-list
247
+ def agent_list
248
+ http_get(:uri => "/scanners/scanner_list/agents", :fields => header)
249
+ end
250
+
251
+ # Creates an agent group on the scanner
252
+ #
253
+ # Reference
254
+ # https://developer.tenable.com/reference#agent-groups-create
255
+ def agent_group_create(scanner_id, name)
256
+ payload = {
257
+ :scanner_id => scanner_id,
258
+ :name => name,
259
+ }.to_json
260
+ options = {
261
+ :uri => "/scanners/#{scanner_id}/agent-groups",
262
+ :body => payload,
263
+ :fields => header,
264
+ :ctype => 'application/json',
265
+ }
266
+ http_post(options)
267
+ end
268
+
269
+ # Adds an agent to the agent group
270
+ #
271
+ # Reference
272
+ # https://developer.tenable.com/reference#agent-groups-add-agent
273
+ def agent_group_add_agent(scanner_id, group_id, agent_id)
274
+ payload = {
275
+ :scanner_id => scanner_id,
276
+ :group_id => group_id,
277
+ :agent_id => agent_id,
278
+ }.to_json
279
+ options = {
280
+ :uri => "/scanners/#{scanner_id}/agent-groups/#{group_id}/agents/#{agent_id}",
281
+ :body => payload,
282
+ :fields => header,
283
+ :ctype => 'application/json',
284
+ }
285
+ http_put(options)
286
+ end
287
+
243
288
  # Creates a scan
244
289
  #
245
290
  # Reference:
@@ -426,7 +471,7 @@ module TenableRuby
426
471
  # Name is your scan name and targets are targets for scan
427
472
  #
428
473
  # returns: JSON parsed object with scan info
429
- def scan_quick_template (templatename, name, targets)
474
+ def scan_quick_template(templatename, name, targets)
430
475
  templates = list_templates('scan')['templates'].select do |temp|
431
476
  temp['uuid'] == templatename or temp['name'] == templatename or temp['title'] == templatename
432
477
  end
@@ -442,12 +487,12 @@ module TenableRuby
442
487
  end
443
488
 
444
489
  # Performs scan with scan policy provided (uuid of policy or policy name).
445
- # Name is your scan name and targets are targets for scan
490
+ # Name is your scan name and opts is your scan configuration hash
446
491
  # (foldername is optional - folder where to save the scan (if that folder exists))
447
492
  # (scanner_id is optional - ID of the scanner/cloud scanner you want to run this scan on)
448
493
  #
449
494
  # returns: JSON parsed object with scan info
450
- def scan_quick_policy (policyname, name, targets, foldername = nil, scanner_id = nil)
495
+ def scan_quick_policy(policyname, name, opts = {}, foldername = nil, scanner_id = nil)
451
496
  policies = list_policies['policies'].select do |pol|
452
497
  pol['id'] == policyname or pol['name'] == policyname
453
498
  end
@@ -458,9 +503,9 @@ module TenableRuby
458
503
  template_uuid = policy['template_uuid']
459
504
  settings = Hash.new
460
505
  settings.merge!(@quick_defaults)
506
+ settings.merge!(opts)
461
507
  settings['name'] = name
462
508
  settings['policy_id'] = policy['id']
463
- settings['text_targets'] = targets
464
509
  unless foldername.nil?
465
510
  folders = list_folders['folders'].select do |folder|
466
511
  folder['name'] == foldername
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tenable-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.10
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Patrick Craston
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-02-19 00:00:00.000000000 Z
11
+ date: 2019-06-07 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: |-
14
14
  Ruby library for communicating with the tenable.io API.