Class: Abide::CLI::CemUpdateConfigFromDiff
- Inherits:
-
AbideCommand
- Object
- CmdParse::Command
- AbideCommand
- Abide::CLI::CemUpdateConfigFromDiff
- Defined in:
- lib/abide_dev_utils/cli/cem.rb
Constant Summary collapse
- CMD_NAME =
'from-diff'
- CMD_SHORT =
'Update by diffing two XCCDF files'
- CMD_LONG =
'Update by diffing two XCCDF files'
- CMD_CONFIG_FILE =
'Path to the Puppet CEM config file'
- CMD_CURRENT_XCCDF =
'Path to the current XCCDF file'
- CMD_NEW_XCCDF =
'Path to the new XCCDF file'
Constants included from AbideDevUtils::Config
AbideDevUtils::Config::DEFAULT_PATH
Instance Method Summary collapse
- #execute(config_file, cur_xccdf, new_xccdf) ⇒ Object
- #help_arguments ⇒ Object
-
#initialize ⇒ CemUpdateConfigFromDiff
constructor
A new instance of CemUpdateConfigFromDiff.
Methods included from AbideDevUtils::Config
config_section, #config_section, fetch, #fetch, to_h, #to_h
Constructor Details
#initialize ⇒ CemUpdateConfigFromDiff
Returns a new instance of CemUpdateConfigFromDiff.
141 142 143 144 145 146 147 148 149 150 151 152 153 |
# File 'lib/abide_dev_utils/cli/cem.rb', line 141 def initialize super(CMD_NAME, CMD_SHORT, CMD_LONG, takes_commands: false) argument_desc(CONFIG_FILE: CMD_CONFIG_FILE, CURRENT_XCCDF: CMD_CURRENT_XCCDF, NEW_XCCDF: CMD_NEW_XCCDF) .on('-o [FILE]', '--out-file [FILE]', 'Path to save the updated config file') do |o| @data[:out_file] = o end .on('-v', '--verbose', 'Verbose output') do @data[:verbose] = true end .on('-q', '--quiet', 'Quiet output') do @data[:quiet] = true end end |
Instance Method Details
#execute(config_file, cur_xccdf, new_xccdf) ⇒ Object
164 165 166 167 168 169 170 171 172 173 |
# File 'lib/abide_dev_utils/cli/cem.rb', line 164 def execute(config_file, cur_xccdf, new_xccdf) warn 'This command is currently non-functional' # AbideDevUtils::Validate.file(config_file, extension: 'yaml') # AbideDevUtils::Validate.file(cur_xccdf, extension: 'xml') # config_hiera = AbideDevUtils::Files::Reader.read(config_file, safe: true) # diff = AbideDevUtils::XCCDF::Diff::BenchmarkDiff.new(cur_xccdf, new_xccdf).diff[:diff][:number_title] # new_config_hiera, change_report = AbideDevUtils::CEM.update_legacy_config_from_diff(config_hiera, diff) # AbideDevUtils::Output.yaml(new_config_hiera, console: @data[:verbose], file: @data[:out_file]) # AbideDevUtils::Output.simple(change_report) unless @data[:quiet] end |
#help_arguments ⇒ Object
155 156 157 158 159 160 161 162 |
# File 'lib/abide_dev_utils/cli/cem.rb', line 155 def help_arguments <<~ARGHELP Arguments: CONFIG_FILE: #{CMD_CONFIG_FILE} CURRENT_XCCDF: #{CMD_CURRENT_XCCDF} NEW_XCCDF: #{CMD_NEW_XCCDF} ARGHELP end |