tenable-ruby 0.2.9 → 0.2.10

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 +96 -9
  3. metadata +2 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e3ffc535c0804bfd2ec0c8ed49901f5071bd5ecb
4
- data.tar.gz: 802afef027172f267dc908d5c203a0846aec68f5
3
+ metadata.gz: 3e7f7d3f313d0e1025fb6542b1bfc78aaca7ac22
4
+ data.tar.gz: 61e4725f204991d399ef950785506193f9c213b5
5
5
  SHA512:
6
- metadata.gz: 1792020ee77d3775f358673764d10594b7ba4662013a102f59cd82c7e2a1d09e19904d7bb7a3bc8c8d242c6bc3791c5247a4e795ae5cfa7afaa2e0885855e99c
7
- data.tar.gz: 72753b4e0962e754b837817735d2722d3665e5ffd93ad3df8eb6a55cb1e9bdebed8885ce514a689427e028457e5e3ad0be324770fcae0a71746893419b1fa30a
6
+ metadata.gz: 587367f6991108a0fb14e8b91f156bc080d2a18288f8baadb068c9283ec68af934b0781936aaed13f01968e6621bd65b5f92b7af5e216a9d85effa4c7030d2a3
7
+ data.tar.gz: ec6665e7e0b64bccffa1cac5b3b4c7f72cfbf0f2df1e36c2e34eb12926abc8c549e3bb3c5e7c1ff3b5136a72e46b7005b2890b90c341695262831b2842e0d44d
data/lib/tenable-ruby.rb CHANGED
@@ -478,11 +478,11 @@ module TenableRuby
478
478
  # Returns scan status by performing a 'scan_details' API call
479
479
  def scan_status(scan_id)
480
480
  details = scan_details(scan_id)
481
- unless details['error'].nil?
482
- return 'error'
483
- end
484
481
  if details.nil?
485
- return 'error'
482
+ raise TenableRuby::Error::TenableError, "Get scan_details returned nil"
483
+ end
484
+ if not details['error'].nil?
485
+ raise TenableRuby::Error::TenableError, "Get scan_details returned the following error: #{details['error']}"
486
486
  end
487
487
  details['info']['status']
488
488
  end
@@ -491,15 +491,15 @@ module TenableRuby
491
491
  # Note this is currently updated more frequently than the scan status in the tenable.io API
492
492
  def scan_latest_history_status(scan_id)
493
493
  details = scan_details(scan_id)
494
- unless details['error'].nil?
495
- return 'error'
496
- end
497
494
  if details.nil?
498
- return 'error'
495
+ raise TenableRuby::Error::TenableError, "Get scan_details returned nil"
496
+ end
497
+ if not details['error'].nil?
498
+ raise TenableRuby::Error::TenableError, "Get scan_details returned the following error: #{details['error']}"
499
499
  end
500
500
  history = details['history']
501
501
  if history.nil? or history.length == 0
502
- 'error'
502
+ raise TenableRuby::Error::TenableError, "Get scan_details returned empty history object"
503
503
  else
504
504
  details['history'].last['status']
505
505
  end
@@ -536,6 +536,93 @@ module TenableRuby
536
536
  end
537
537
  end
538
538
 
539
+ # Returns a list of all containers.
540
+ #
541
+ # Reference:
542
+ # https://cloud.tenable.com/api#/resources/container-security-containers/list-containers
543
+ def list_containers()
544
+ http_get(:uri => "/container-security/api/v1/container/list", :fields => header)
545
+ end
546
+
547
+ # Returns an inventory of an image by ID.
548
+ #
549
+ # Reference:
550
+ # https://cloud.tenable.com/api#/resources/container-security-containers/image-inventory
551
+ def image_inventory(image_id)
552
+ http_get(:uri => "/container-security/api/v1/container/#{policy_id}/status", :fields => header)
553
+ end
554
+
555
+ # Returns the status of a job that you specify by ID to determine if the job is still queued, in progress, or has completed.
556
+ #
557
+ # Reference:
558
+ # https://cloud.tenable.com/api#/resources/container-security-jobs/job-status
559
+ def job_status(job_id)
560
+ http_get(:uri => "/container-security/api/v1/jobs/status?job_id=#{job_id}", :fields => header)
561
+ end
562
+
563
+ # Returns the status of a job by specifying an image ID to determine if the job is still queued, in progress, or has completed.
564
+ #
565
+ # Reference:
566
+ # https://cloud.tenable.com/api#/resources/container-security-jobs/job-status-by-image-id
567
+ def image_status(image_id)
568
+ http_get(:uri => "/container-security/api/v1/jobs/image_status?image_id=#{image_id}", :fields => header)
569
+ end
570
+
571
+ # Returns the status of a job by specifying an image digest to determine if the job is still queued, in progress, or has completed.
572
+ #
573
+ # Reference:
574
+ # https://cloud.tenable.com/api#/resources/container-security-jobs/job-status-by-image-digest
575
+ def image_status_digest(image_digest)
576
+ http_get(:uri => "/container-security/api/v1/jobs/image_status_digest?image_digest=#{image_digest}", :fields => header)
577
+ end
578
+
579
+ # Returns a list of active Container Security jobs
580
+ #
581
+ # Reference:
582
+ # https://cloud.tenable.com/api#/resources/container-security-jobs/list-jobs
583
+ def list_jobs()
584
+ http_get(:uri => "/container-security/api/v1/jobs/list", :fields => header)
585
+ end
586
+
587
+ # Checks the compliance of an image that you specify by ID against your policies.
588
+ #
589
+ # Reference:
590
+ # https://cloud.tenable.com/api#/resources/container-security-policy/policy-compliance-by-id
591
+ def policy_compliance_by_id(image_id)
592
+ http_get(:uri => "/container-security/api/v1/policycompliance?image_id=#{image_id}", :fields => header)
593
+ end
594
+
595
+ # Checks the compliance of an image that you specify by name against your policies.
596
+ #
597
+ # Reference:
598
+ # https://cloud.tenable.com/api#/resources/container-security-policy/policy-compliance-by-name
599
+ def policy_compliance_by_name(image)
600
+ http_get(:uri => "/container-security/api/v1/compliancebyname?image=#{image}", :fields => header)
601
+ end
602
+
603
+ # Returns a report in JSON format for a container that you specify by ID. Note: If you do not have the container_id, you can call the list-containers endpoint.
604
+ #
605
+ # Reference:
606
+ # https://cloud.tenable.com/api#/resources/container-security-reports/report-by-container-id
607
+ def report_by_container_id(container_id)
608
+ http_get(:uri => "/container-security/api/v1/reports/show?container_id=#{container_id}", :fields => header)
609
+ end
610
+
611
+ # Returns a report in JSON format for an image that you specify by ID. Note: If you do not have the image_id, you can call the list-images endpoint.
612
+ #
613
+ # Reference:
614
+ # https://cloud.tenable.com/api#/resources/container-security-reports/report-by-image-id
615
+ def report_by_image_id(image_id)
616
+ http_get(:uri => "/container-security/api/v1/reports/by_image?image_id=#{image_id}", :fields => header)
617
+ end
618
+
619
+ # Returns a report in JSON format for an image digest.
620
+ #
621
+ # Reference:
622
+ # https://cloud.tenable.com/api#/resources/container-security-reports/report-by-image-digest
623
+ def report_by_image_digest(image_digest)
624
+ http_get(:uri => "/container-security/api/v1/reports/by_image_digest?image_digest=#{image_digest}", :fields => header)
625
+ end
539
626
 
540
627
  private
541
628
 
metadata CHANGED
@@ -1,15 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tenable-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.9
4
+ version: 0.2.10
5
5
  platform: ruby
6
6
  authors:
7
- - Vlatko Kosturjak
8
7
  - Patrick Craston
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2019-02-07 00:00:00.000000000 Z
11
+ date: 2019-02-19 00:00:00.000000000 Z
13
12
  dependencies: []
14
13
  description: |-
15
14
  Ruby library for communicating with the tenable.io API.