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.
734 735 736 |
# File 'lib/nexpose/scan.rb', line 734 def initialize(&block) instance_eval(&block) if block_given? end |
Instance Attribute Details
#assets ⇒ Object (readonly)
Number of live assets discovered in the scan.
725 726 727 |
# File 'lib/nexpose/scan.rb', line 725 def assets @assets end |
#duration ⇒ Object (readonly)
Elapsed time of the scan in milliseconds.
721 722 723 |
# File 'lib/nexpose/scan.rb', line 721 def duration @duration end |
#end_time ⇒ Object (readonly)
Completion time of the scan.
719 720 721 |
# File 'lib/nexpose/scan.rb', line 719 def end_time @end_time end |
#engine_name ⇒ Object (readonly)
Name of the engine where the scan was run. Not the unique ID.
731 732 733 |
# File 'lib/nexpose/scan.rb', line 731 def engine_name @engine_name end |
#id ⇒ Object (readonly)
Unique identifier of a scan.
711 712 713 |
# File 'lib/nexpose/scan.rb', line 711 def id @id end |
#risk_score ⇒ Object (readonly)
Cumulative risk score for all assets in the scan.
727 728 729 |
# File 'lib/nexpose/scan.rb', line 727 def risk_score @risk_score end |
#site_id ⇒ Object (readonly)
Site ID for which the scan was run.
713 714 715 |
# File 'lib/nexpose/scan.rb', line 713 def site_id @site_id end |
#start_time ⇒ Object (readonly)
Start time of the scan.
717 718 719 |
# File 'lib/nexpose/scan.rb', line 717 def start_time @start_time end |
#status ⇒ Object (readonly)
Final status of the scan. One of :completed, :stopped, :aborted, :unknown.
715 716 717 |
# File 'lib/nexpose/scan.rb', line 715 def status @status end |
#type ⇒ Object (readonly)
Scan type. One of :scheduled or :manual
729 730 731 |
# File 'lib/nexpose/scan.rb', line 729 def type @type end |
#vulns ⇒ Object (readonly)
Number of vulnerabilities discovered in the scan.
723 724 725 |
# File 'lib/nexpose/scan.rb', line 723 def vulns @vulns end |
Class Method Details
._parse_status(code) ⇒ Object
Internal method to parsing status codes.
757 758 759 760 761 762 763 764 765 766 767 768 |
# File 'lib/nexpose/scan.rb', line 757 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.
740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 |
# File 'lib/nexpose/scan.rb', line 740 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 |