class OpenSCAP::Xccdf::Session
Public Class Methods
new(input_filename)
click to toggle source
# File lib/openscap/xccdf/session.rb, line 16 def initialize(input_filename) raise OpenSCAPError, "No filename specified!" unless input_filename @input_filename = input_filename @s = OpenSCAP.xccdf_session_new(input_filename) if @s.null? OpenSCAP.raise! end end
Public Instance Methods
destroy()
click to toggle source
# File lib/openscap/xccdf/session.rb, line 83 def destroy OpenSCAP.xccdf_session_free(@s) @s = nil end
evaluate()
click to toggle source
# File lib/openscap/xccdf/session.rb, line 51 def evaluate if OpenSCAP.xccdf_session_evaluate(@s) != 0 OpenSCAP.raise! end end
export_results(opts = {})
click to toggle source
# File lib/openscap/xccdf/session.rb, line 61 def export_results(opts = {}) o = { :rds_file => nil, :xccdf_file => nil, :report_file => nil, :oval_results => false, :oval_variables => false, :engines_results => false, }.merge!(opts) OpenSCAP.raise! unless OpenSCAP.xccdf_session_set_arf_export(@s, o[:rds_file]) OpenSCAP.raise! unless OpenSCAP.xccdf_session_set_xccdf_export(@s, o[:xccdf_file]) OpenSCAP.raise! unless OpenSCAP.xccdf_session_set_report_export(@s, o[:report_file]) OpenSCAP.xccdf_session_set_oval_results_export(@s, o[:oval_results]) OpenSCAP.xccdf_session_set_oval_variables_export(@s, o[:oval_variables]) OpenSCAP.xccdf_session_set_check_engine_plugins_results_export(@s, o[:engines_results]) OpenSCAP.raise! unless OpenSCAP.xccdf_session_export_oval(@s) == 0 OpenSCAP.raise! unless OpenSCAP.xccdf_session_export_check_engine_plugins(@s) == 0 OpenSCAP.raise! unless OpenSCAP.xccdf_session_export_xccdf(@s) == 0 OpenSCAP.raise! unless OpenSCAP.xccdf_session_export_arf(@s) == 0 end
load(opts = {})
click to toggle source
# File lib/openscap/xccdf/session.rb, line 29 def load(opts = {}) o = { :datastream_id => nil, :component_id => nil, }.merge(opts) if sds? OpenSCAP.xccdf_session_set_datastream_id(@s, o[:datastream_id]) OpenSCAP.xccdf_session_set_component_id(@s, o[:component_id]) end if OpenSCAP.xccdf_session_load(@s) != 0 OpenSCAP.raise! end OpenSCAP.raise! unless OpenSCAP.xccdf_session_load_check_engine_plugins(@s) == 0 end
profile=(p)
click to toggle source
# File lib/openscap/xccdf/session.rb, line 44 def profile=(p) @profile = p if OpenSCAP.xccdf_session_set_profile_id(@s, p) == false raise OpenSCAPError, "No profile '" + p + "' found" end end
remediate()
click to toggle source
# File lib/openscap/xccdf/session.rb, line 57 def remediate OpenSCAP.raise! unless OpenSCAP.xccdf_session_remediate(@s) == 0 end
sds?()
click to toggle source
# File lib/openscap/xccdf/session.rb, line 25 def sds? return OpenSCAP.xccdf_session_is_sds(@s) end