Sha256: 9cadc9317bf7a9a85f9e30c915d724c8a3199e1c4419ad7b95211a20eb13b5d2
Contents?: true
Size: 1.11 KB
Versions: 5
Compression:
Stored size: 1.11 KB
Contents
module ForemanOpenscap class ComplianceStatus < ::HostStatus::Status COMPLIANT = 0 INCONCLUSIVE = 1 INCOMPLIANT = 2 def self.status_name N_('Compliance') end def self.bit_mask(status) "#{ArfReport::BIT_NUM * ArfReport::METRIC.index(status)} & #{ArfReport::MAX}" end def to_label(options = {}) case to_status when COMPLIANT N_('Compliant') when INCONCLUSIVE N_('Inconclusive') when INCOMPLIANT N_('Incompliant') else N_('Unknown Compliance status') end end def to_global(options = {}) case to_status when COMPLIANT ::HostStatus::Global::OK when INCONCLUSIVE ::HostStatus::Global::WARN else ::HostStatus::Global::ERROR end end def relevant? host.policies.present? end def to_status(options = {}) latest_reports = host.policies.map { |p| host.last_report_for_policy p }.flatten return INCOMPLIANT if latest_reports.any?(&:failed?) return INCONCLUSIVE if latest_reports.any?(&:othered?) COMPLIANT end end end
Version data entries
5 entries across 5 versions & 1 rubygems