Class: Nexpose::CompletedScan
- Inherits:
-
Object
- Object
- Nexpose::CompletedScan
- Defined in:
- lib/nexpose/scan.rb
Overview
Summary object of a completed scan for a site.
Instance Attribute Summary collapse
-
#assets ⇒ Object
readonly
Number of live assets discovered in the scan.
-
#duration ⇒ Object
readonly
Elapsed time of the scan in milliseconds.
-
#end_time ⇒ Object
readonly
Completion time of the scan.
-
#engine_name ⇒ Object
readonly
Name of the engine where the scan was run.
-
#id ⇒ Object
readonly
Unique identifier of a scan.
-
#risk_score ⇒ Object
readonly
Cumulative risk score for all assets in the scan.
-
#site_id ⇒ Object
readonly
Site ID for which the scan was run.
-
#start_time ⇒ Object
readonly
Start time of the scan.
-
#status ⇒ Object
readonly
Final status of the scan.
-
#type ⇒ Object
readonly
Scan type.
-
#vulns ⇒ Object
readonly
Number of vulnerabilities discovered in the scan.
Class Method Summary collapse
-
._parse_status(code) ⇒ Object
Internal method to parsing status codes.
-
.parse_json(json) ⇒ Object
Internal method for converting a JSON representation into a CompletedScan object.
Instance Method Summary collapse
-
#initialize(&block) ⇒ CompletedScan
constructor
Internal constructor to be called by #parse_json.
Constructor Details
#initialize(&block) ⇒ CompletedScan
Internal constructor to be called by #parse_json.
735 736 737 |
# File 'lib/nexpose/scan.rb', line 735 def initialize(&block) instance_eval(&block) if block_given? end |
Instance Attribute Details
#assets ⇒ Object (readonly)
Number of live assets discovered in the scan.
726 727 728 |
# File 'lib/nexpose/scan.rb', line 726 def assets @assets end |
#duration ⇒ Object (readonly)
Elapsed time of the scan in milliseconds.
722 723 724 |
# File 'lib/nexpose/scan.rb', line 722 def duration @duration end |
#end_time ⇒ Object (readonly)
Completion time of the scan.
720 721 722 |
# File 'lib/nexpose/scan.rb', line 720 def end_time @end_time end |
#engine_name ⇒ Object (readonly)
Name of the engine where the scan was run. Not the unique ID.
732 733 734 |
# File 'lib/nexpose/scan.rb', line 732 def engine_name @engine_name end |
#id ⇒ Object (readonly)
Unique identifier of a scan.
712 713 714 |
# File 'lib/nexpose/scan.rb', line 712 def id @id end |
#risk_score ⇒ Object (readonly)
Cumulative risk score for all assets in the scan.
728 729 730 |
# File 'lib/nexpose/scan.rb', line 728 def risk_score @risk_score end |
#site_id ⇒ Object (readonly)
Site ID for which the scan was run.
714 715 716 |
# File 'lib/nexpose/scan.rb', line 714 def site_id @site_id end |
#start_time ⇒ Object (readonly)
Start time of the scan.
718 719 720 |
# File 'lib/nexpose/scan.rb', line 718 def start_time @start_time end |
#status ⇒ Object (readonly)
Final status of the scan. One of :completed, :stopped, :aborted, :unknown.
716 717 718 |
# File 'lib/nexpose/scan.rb', line 716 def status @status end |
#type ⇒ Object (readonly)
Scan type. One of :scheduled or :manual
730 731 732 |
# File 'lib/nexpose/scan.rb', line 730 def type @type end |
#vulns ⇒ Object (readonly)
Number of vulnerabilities discovered in the scan.
724 725 726 |
# File 'lib/nexpose/scan.rb', line 724 def vulns @vulns end |
Class Method Details
._parse_status(code) ⇒ Object
Internal method to parsing status codes.
758 759 760 761 762 763 764 765 766 767 768 769 |
# File 'lib/nexpose/scan.rb', line 758 def self._parse_status(code) case code when 'C' :completed when 'S' :stopped when 'A' :aborted else :unknown end end |
.parse_json(json) ⇒ Object
Internal method for converting a JSON representation into a CompletedScan object.
741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 |
# File 'lib/nexpose/scan.rb', line 741 def self.parse_json(json) new do @id = json['scanID'] @site_id = json['siteID'] @status = CompletedScan._parse_status(json['status']) @start_time = Time.at(json['startTime'] / 1000) @end_time = Time.at(json['endTime'] / 1000) @duration = json['duration'] @vulns = json['vulnerabilityCount'] @assets = json['liveHosts'] @risk_score = json['riskScore'] @type = json['startedByCD'] == 'S' ? :scheduled : :manual @engine_name = json['scanEngineName'] end end |