abide_dev_utils 0.17.2 → 0.18.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (40) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yaml +52 -0
  3. data/Gemfile.lock +14 -6
  4. data/Rakefile +22 -20
  5. data/abide_dev_utils.gemspec +2 -3
  6. data/lib/abide_dev_utils/cli/abstract.rb +18 -1
  7. data/lib/abide_dev_utils/cli/comply.rb +5 -2
  8. data/lib/abide_dev_utils/cli/{cem.rb → sce.rb} +38 -35
  9. data/lib/abide_dev_utils/cli/test.rb +20 -9
  10. data/lib/abide_dev_utils/cli/xccdf.rb +9 -5
  11. data/lib/abide_dev_utils/cli.rb +5 -4
  12. data/lib/abide_dev_utils/comply.rb +7 -9
  13. data/lib/abide_dev_utils/errors.rb +1 -1
  14. data/lib/abide_dev_utils/{cem → sce}/benchmark.rb +43 -43
  15. data/lib/abide_dev_utils/{cem → sce}/generate/coverage_report.rb +15 -12
  16. data/lib/abide_dev_utils/{cem → sce}/generate/reference.rb +16 -14
  17. data/lib/abide_dev_utils/sce/generate.rb +11 -0
  18. data/lib/abide_dev_utils/{cem → sce}/hiera_data/mapping_data/map_data.rb +1 -1
  19. data/lib/abide_dev_utils/{cem → sce}/hiera_data/mapping_data/mixins.rb +1 -1
  20. data/lib/abide_dev_utils/{cem → sce}/hiera_data/mapping_data.rb +12 -9
  21. data/lib/abide_dev_utils/{cem → sce}/hiera_data/resource_data/control.rb +7 -7
  22. data/lib/abide_dev_utils/{cem → sce}/hiera_data/resource_data/parameters.rb +3 -3
  23. data/lib/abide_dev_utils/{cem → sce}/hiera_data/resource_data/resource.rb +11 -11
  24. data/lib/abide_dev_utils/{cem → sce}/hiera_data/resource_data.rb +11 -10
  25. data/lib/abide_dev_utils/{cem → sce}/hiera_data.rb +1 -1
  26. data/lib/abide_dev_utils/{cem → sce}/mapping/mapper.rb +12 -9
  27. data/lib/abide_dev_utils/{cem → sce}/validate/resource_data.rb +3 -3
  28. data/lib/abide_dev_utils/{cem → sce}/validate/strings/base_validator.rb +1 -1
  29. data/lib/abide_dev_utils/{cem → sce}/validate/strings/puppet_class_validator.rb +4 -3
  30. data/lib/abide_dev_utils/{cem → sce}/validate/strings/puppet_defined_type_validator.rb +1 -1
  31. data/lib/abide_dev_utils/{cem → sce}/validate/strings/validation_finding.rb +1 -1
  32. data/lib/abide_dev_utils/{cem → sce}/validate/strings.rb +2 -2
  33. data/lib/abide_dev_utils/{cem → sce}/validate.rb +2 -2
  34. data/lib/abide_dev_utils/{cem.rb → sce.rb} +6 -6
  35. data/lib/abide_dev_utils/version.rb +1 -1
  36. data/lib/abide_dev_utils/xccdf.rb +10 -10
  37. data/lib/abide_dev_utils.rb +7 -6
  38. metadata +42 -26
  39. data/lib/abide_dev_utils/cem/generate.rb +0 -11
  40. /data/lib/abide_dev_utils/errors/{cem.rb → sce.rb} +0 -0
@@ -7,7 +7,7 @@ require_relative '../ppt'
7
7
  require_relative 'mapping/mapper'
8
8
 
9
9
  module AbideDevUtils
10
- module CEM
10
+ module Sce
11
11
  # Represents a resource data resource statement
12
12
  class Resource
13
13
  attr_reader :title, :type
@@ -42,20 +42,20 @@ module AbideDevUtils
42
42
  @controls || load_controls
43
43
  end
44
44
 
45
- def cem_options?
46
- !cem_options.empty?
45
+ def sce_options?
46
+ !sce_options.empty?
47
47
  end
48
48
 
49
- def cem_options
50
- @cem_options ||= resource_properties('cem_options')
49
+ def sce_options
50
+ @sce_options ||= resource_properties('sce_options')
51
51
  end
52
52
 
53
- def cem_protected?
54
- !cem_protected.empty?
53
+ def sce_protected?
54
+ !sce_protected.empty?
55
55
  end
56
56
 
57
- def cem_protected
58
- @cem_protected ||= resource_properties('cem_protected')
57
+ def sce_protected
58
+ @sce_protected ||= resource_properties('sce_protected')
59
59
  end
60
60
 
61
61
  def dependent_controls
@@ -161,11 +161,11 @@ module AbideDevUtils
161
161
  end
162
162
 
163
163
  def params?
164
- !(params.nil? || params.empty? || params == 'no_params') || (resource.cem_options? || resource.cem_protected?)
164
+ !(params.nil? || params.empty? || params == 'no_params') || (resource.sce_options? || resource.sce_protected?)
165
165
  end
166
166
 
167
167
  def resource_properties?
168
- resource.cem_options? || resource.cem_protected?
168
+ resource.sce_options? || resource.sce_protected?
169
169
  end
170
170
 
171
171
  def param_hashes
@@ -211,19 +211,19 @@ module AbideDevUtils
211
211
  end
212
212
 
213
213
  def valid_maps?
214
- valid = AbideDevUtils::CEM::Mapping::FRAMEWORK_TYPES[framework].each_with_object([]) do |mtype, arr|
214
+ valid = AbideDevUtils::Sce::Mapping::FRAMEWORK_TYPES[framework].each_with_object([]) do |mtype, arr|
215
215
  arr << if @mapper.map_type(id) == mtype
216
216
  id
217
217
  else
218
218
  @mapper.get(id).find { |x| @mapper.map_type(x) == mtype }
219
219
  end
220
220
  end
221
- valid.compact.length == AbideDevUtils::CEM::Mapping::FRAMEWORK_TYPES[framework].length
221
+ valid.compact.length == AbideDevUtils::Sce::Mapping::FRAMEWORK_TYPES[framework].length
222
222
  end
223
223
 
224
224
  def method_missing(meth, *args, &block)
225
225
  meth_s = meth.to_s
226
- if AbideDevUtils::CEM::Mapping::ALL_TYPES.include?(meth_s)
226
+ if AbideDevUtils::Sce::Mapping::ALL_TYPES.include?(meth_s)
227
227
  @mapper.get(id).find { |x| @mapper.map_type(x) == meth_s }
228
228
  else
229
229
  super
@@ -231,7 +231,7 @@ module AbideDevUtils
231
231
  end
232
232
 
233
233
  def respond_to_missing?(meth, include_private = false)
234
- AbideDevUtils::CEM::Mapping::ALL_TYPES.include?(meth.to_s) || super
234
+ AbideDevUtils::Sce::Mapping::ALL_TYPES.include?(meth.to_s) || super
235
235
  end
236
236
 
237
237
  def to_h
@@ -242,7 +242,7 @@ module AbideDevUtils
242
242
  levels: levels,
243
243
  profiles: profiles,
244
244
  params: param_hashes,
245
- resource: resource.to_stubbed_h,
245
+ resource: resource.to_stubbed_h
246
246
  }
247
247
  end
248
248
 
@@ -260,7 +260,7 @@ module AbideDevUtils
260
260
 
261
261
  def validate_id_with_framework(id, framework, mapper)
262
262
  mtype = mapper.map_type(id)
263
- return if AbideDevUtils::CEM::Mapping::FRAMEWORK_TYPES[framework].include?(mtype)
263
+ return if AbideDevUtils::Sce::Mapping::FRAMEWORK_TYPES[framework].include?(mtype)
264
264
 
265
265
  raise AbideDevUtils::Errors::ControlIdFrameworkMismatchError, [id, mtype, framework]
266
266
  end
@@ -312,25 +312,35 @@ module AbideDevUtils
312
312
 
313
313
  # Repesents a benchmark based on resource and mapping data
314
314
  class Benchmark
315
- attr_reader :osname, :major_version, :os_facts, :osfamily, :hiera_conf, :module_name, :framework
315
+ attr_reader :osname, :major_version, :os_facts, :osfamily, :hiera_conf, :module_name, :framework, :mapper,
316
+ :resource_data, :resources, :controls
317
+
318
+ alias rules controls
316
319
 
317
320
  def initialize(osname, major_version, hiera_conf, module_name, framework: 'cis')
318
321
  @osname = osname
319
322
  @major_version = major_version
320
323
  @os_facts = AbideDevUtils::Ppt::FacterUtils::FactSets.new.find_by_fact_value_tuples(['os.name', @osname],
321
- ['os.release.major', @major_version])
324
+ ['os.release.major',
325
+ @major_version])
322
326
  @osfamily = @os_facts['os']['family']
323
327
  @hiera_conf = hiera_conf
324
328
  @module_name = module_name
325
329
  @framework = framework
326
330
  @map_cache = {}
327
331
  @rules_in_map = {}
332
+ @mapper = AbideDevUtils::Sce::Mapping::Mapper.new(@module_name, @framework, load_mapping_data)
333
+ @resource_data = load_resource_data
334
+ @resources = @resource_data["#{module_name}::resources"].each_with_object([]) do |(rtitle, rdata), arr|
335
+ arr << Resource.new(rtitle, rdata, framework, mapper)
336
+ end
337
+ @controls = resources.map(&:controls).flatten.sort
328
338
  end
329
339
 
330
340
  # Creates Benchmark objects from a Puppet module
331
341
  # @param pupmod [AbideDevUtils::Ppt::PuppetModule] A PuppetModule instance
332
342
  # @param skip_errors [Boolean] True skips errors and loads non-erroring benchmarks, false raises the error.
333
- # @return [Array<AbideDevUtils::CEM::Benchmark>] Array of Benchmark instances
343
+ # @return [Array<AbideDevUtils::Sce::Benchmark>] Array of Benchmark instances
334
344
  def self.benchmarks_from_puppet_module(pupmod, ignore_all_errors: false, ignore_framework_mismatch: true)
335
345
  frameworks = pupmod.hiera_conf.local_hiera_files(hierarchy_name: 'Mapping Data').each_with_object([]) do |hf, ary|
336
346
  parts = hf.path.split(pupmod.hiera_conf.default_datadir)[-1].split('/')
@@ -372,28 +382,10 @@ module AbideDevUtils
372
382
  end
373
383
  end
374
384
 
375
- def resources
376
- @resources ||= resource_data["#{module_name}::resources"].each_with_object([]) do |(rtitle, rdata), arr|
377
- arr << Resource.new(rtitle, rdata, framework, mapper)
378
- end
379
- end
380
-
381
- def controls
382
- @controls ||= resources.map(&:controls).flatten.sort
383
- end
384
-
385
- def mapper
386
- @mapper ||= AbideDevUtils::CEM::Mapping::Mapper.new(module_name, framework, load_mapping_data)
387
- end
388
-
389
385
  def map_data
390
386
  mapper.map_data
391
387
  end
392
388
 
393
- def resource_data
394
- @resource_data ||= load_resource_data
395
- end
396
-
397
389
  def title
398
390
  mapper.title
399
391
  end
@@ -438,23 +430,31 @@ module AbideDevUtils
438
430
  mapper.map_type(control_id)
439
431
  end
440
432
 
433
+ def to_s
434
+ title
435
+ end
436
+
437
+ def inspect
438
+ "#<#{self.class.name}:#{object_id} title: #{title}, version: #{version}, module_name: #{module_name}, framework: #{framework}>"
439
+ end
440
+
441
441
  private
442
442
 
443
443
  def load_mapping_data
444
444
  files = case module_name
445
445
  when /_windows$/
446
- cem_windows_mapping_files
446
+ sce_windows_mapping_files
447
447
  when /_linux$/
448
- cem_linux_mapping_files
448
+ sce_linux_mapping_files
449
449
  else
450
- raise "Module name '#{module_name}' is not a CEM module"
450
+ raise "Module name '#{module_name}' is not a SCE module"
451
451
  end
452
452
  validate_mapping_files_framework(files).each_with_object({}) do |f, h|
453
453
  h[File.basename(f.path, '.yaml')] = YAML.load_file(f.path)
454
454
  end
455
455
  end
456
456
 
457
- def cem_linux_mapping_files
457
+ def sce_linux_mapping_files
458
458
  facts = [['os.name', osname], ['os.release.major', major_version]]
459
459
  mapping_files = hiera_conf.local_hiera_files_with_facts(*facts, hierarchy_name: 'Mapping Data')
460
460
  raise AbideDevUtils::Errors::MappingFilesNotFoundError, facts if mapping_files.nil? || mapping_files.empty?
@@ -462,7 +462,7 @@ module AbideDevUtils
462
462
  mapping_files
463
463
  end
464
464
 
465
- def cem_windows_mapping_files
465
+ def sce_windows_mapping_files
466
466
  facts = ['os.release.major', major_version]
467
467
  mapping_files = hiera_conf.local_hiera_files_with_fact(facts[0], facts[1], hierarchy_name: 'Mapping Data')
468
468
  raise AbideDevUtils::Errors::MappingFilesNotFoundError, facts if mapping_files.nil? || mapping_files.empty?
@@ -6,18 +6,18 @@ require 'pathname'
6
6
  require 'yaml'
7
7
  require 'abide_dev_utils/ppt'
8
8
  require 'abide_dev_utils/validate'
9
- require 'abide_dev_utils/cem/benchmark'
9
+ require 'abide_dev_utils/sce/benchmark'
10
10
 
11
11
  module AbideDevUtils
12
- module CEM
12
+ module Sce
13
13
  module Generate
14
- # Methods and objects used to construct a report of what CEM enforces versus what
14
+ # Methods and objects used to construct a report of what SCE enforces versus what
15
15
  # the various compliance frameworks expect to be enforced.
16
16
  module CoverageReport
17
17
  def self.generate(format_func: :to_h, opts: {})
18
18
  opts = ReportOptions.new(opts)
19
19
  pupmod = AbideDevUtils::Ppt::PuppetModule.new
20
- benchmarks = AbideDevUtils::CEM::Benchmark.benchmarks_from_puppet_module(pupmod,
20
+ benchmarks = AbideDevUtils::Sce::Benchmark.benchmarks_from_puppet_module(pupmod,
21
21
  ignore_all_errors: opts.ignore_all_errors)
22
22
  benchmarks.map do |b|
23
23
  BenchmarkReport.new(b, opts).run.send(format_func)
@@ -31,7 +31,7 @@ module AbideDevUtils
31
31
  level: nil,
32
32
  format_func: :to_h,
33
33
  ignore_all_errors: false,
34
- xccdf_dir: nil,
34
+ xccdf_dir: nil
35
35
  }.freeze
36
36
 
37
37
  attr_reader(*DEFAULTS.keys)
@@ -52,7 +52,7 @@ module AbideDevUtils
52
52
  KEY_FACT_MAP = {
53
53
  os_family: 'os.family',
54
54
  os_name: 'os.name',
55
- os_release_major: 'os.release.major',
55
+ os_release_major: 'os.release.major'
56
56
  }.freeze
57
57
 
58
58
  attr_reader(*KEY_FACT_MAP.keys)
@@ -89,11 +89,14 @@ module AbideDevUtils
89
89
  def find_mapping_data
90
90
  fact_array = fact_array_for(:os_name, :os_release_major)
91
91
  begin
92
- data_array = @pupmod.hiera_conf.local_hiera_files_with_facts(*fact_array, hierarchy_name: 'Mapping Data').map do |f|
92
+ data_array = @pupmod.hiera_conf.local_hiera_files_with_facts(*fact_array,
93
+ hierarchy_name: 'Mapping Data').map do |f|
93
94
  YAML.load_file(f.path)
94
95
  end
95
96
  rescue NoMethodError
96
- data_array = @pupmod.hiera_conf.local_hiera_files(hierarchy_name: 'Mapping Data').map { |f| YAML.load_file(f.path) }
97
+ data_array = @pupmod.hiera_conf.local_hiera_files(hierarchy_name: 'Mapping Data').map do |f|
98
+ YAML.load_file(f.path)
99
+ end
97
100
  end
98
101
  filter_mapping_data_array_by_benchmark!(data_array)
99
102
  filter_mapping_data_array_by_profile!(data_array)
@@ -268,7 +271,7 @@ module AbideDevUtils
268
271
  title: title,
269
272
  timestamp: timestamp,
270
273
  benchmark: benchmark_hash,
271
- coverage: coverage_hash,
274
+ coverage: coverage_hash
272
275
  }
273
276
  end
274
277
 
@@ -284,7 +287,7 @@ module AbideDevUtils
284
287
  {
285
288
  title: @benchmark.title,
286
289
  version: @benchmark.version,
287
- framework: @benchmark.framework,
290
+ framework: @benchmark.framework
288
291
  }
289
292
  end
290
293
 
@@ -297,7 +300,7 @@ module AbideDevUtils
297
300
  covered: covered,
298
301
  percentage: percentage,
299
302
  controls_in_resource_data: controls_in_resource_data,
300
- rules_in_map: rules_in_map,
303
+ rules_in_map: rules_in_map
301
304
  }
302
305
  end
303
306
  end
@@ -334,7 +337,7 @@ module AbideDevUtils
334
337
  private
335
338
 
336
339
  def find_controls_in_resource_data
337
- controls = @benchmark.resource_data["#{@benchmark.module_name}::resources"].each_with_object([]) do |(rname, rval), arr|
340
+ controls = @benchmark.resource_data["#{@benchmark.module_name}::resources"].each_with_object([]) do |(_rname, rval), arr|
338
341
  arr << case rval['controls'].class.to_s
339
342
  when 'Hash'
340
343
  rval['controls'].keys
@@ -9,10 +9,10 @@ require 'yaml'
9
9
  require 'abide_dev_utils/markdown'
10
10
  require 'abide_dev_utils/output'
11
11
  require 'abide_dev_utils/ppt'
12
- require 'abide_dev_utils/cem/benchmark'
12
+ require 'abide_dev_utils/sce/benchmark'
13
13
 
14
14
  module AbideDevUtils
15
- module CEM
15
+ module Sce
16
16
  module Generate
17
17
  # Holds objects and methods for generating a reference doc
18
18
  module Reference
@@ -22,14 +22,14 @@ module AbideDevUtils
22
22
  def self.generate(data = {})
23
23
  pupmod = AbideDevUtils::Ppt::PuppetModule.new
24
24
  doc_title = case pupmod.name
25
- when 'puppetlabs-cem_linux'
26
- 'CEM Linux Reference'
27
- when 'puppetlabs-cem_windows'
28
- 'CEM Windows Reference'
25
+ when 'puppetlabs-sce_linux'
26
+ 'SCE for Linux Reference'
27
+ when 'puppetlabs-sce_windows'
28
+ 'SCE for Windows Reference'
29
29
  else
30
30
  'Reference'
31
31
  end
32
- benchmarks = AbideDevUtils::CEM::Benchmark.benchmarks_from_puppet_module(pupmod)
32
+ benchmarks = AbideDevUtils::Sce::Benchmark.benchmarks_from_puppet_module(pupmod)
33
33
  case data.fetch(:format, 'markdown')
34
34
  when 'markdown'
35
35
  file = data[:out_file] || 'REFERENCE.md'
@@ -44,7 +44,7 @@ module AbideDevUtils
44
44
  end
45
45
 
46
46
  def self.config_example(control, params_array)
47
- out_str = ['cem_windows::config:', ' control_configs:', " \"#{control}\":"]
47
+ out_str = ['sce_windows::config:', ' control_configs:', " \"#{control}\":"]
48
48
  indent = ' '
49
49
  params_array.each do |param_hash|
50
50
  val = case param_hash[:type]
@@ -61,7 +61,7 @@ module AbideDevUtils
61
61
 
62
62
  # Generates a markdown reference doc
63
63
  class MarkdownGenerator
64
- SPECIAL_CONTROL_IDS = %w[dependent cem_options cem_protected].freeze
64
+ SPECIAL_CONTROL_IDS = %w[dependent sce_options sce_protected].freeze
65
65
 
66
66
  def initialize(benchmarks, module_name, file: 'REFERENCE.md', opts: {})
67
67
  @benchmarks = benchmarks
@@ -194,7 +194,7 @@ module AbideDevUtils
194
194
  providers: providers,
195
195
  puppet_functions: puppet_functions,
196
196
  puppet_tasks: puppet_tasks,
197
- puppet_plans: puppet_plans,
197
+ puppet_plans: puppet_plans
198
198
  }
199
199
  end
200
200
 
@@ -312,7 +312,7 @@ module AbideDevUtils
312
312
  end
313
313
 
314
314
  def control_has_valid_params?
315
- return true if @control.params? || @control.resource.cem_options? || @control.resource.cem_protected?
315
+ return true if @control.params? || @control.resource.sce_options? || @control.resource.sce_protected?
316
316
  return true if @control.resource.manifest? && @control.resource.manifest.declaration.parameters?
317
317
 
318
318
  false
@@ -326,7 +326,8 @@ module AbideDevUtils
326
326
 
327
327
  def param_type_expr(ctrl_param, rsrc_param)
328
328
  @control_data[ctrl_param[:name]] = {} unless @control_data.key?(ctrl_param[:name])
329
- @control_data[ctrl_param[:name]][:type_expr] = rsrc_param&.type_expr? ? rsrc_param&.type_expr : ctrl_param[:type]
329
+ @control_data[ctrl_param[:name]][:type_expr] =
330
+ rsrc_param&.type_expr? ? rsrc_param&.type_expr : ctrl_param[:type]
330
331
  return unless @control_data[ctrl_param[:name]][:type_expr]
331
332
 
332
333
  " - [ #{@md.code(@control_data[ctrl_param[:name]][:type_expr])} ]"
@@ -365,7 +366,7 @@ module AbideDevUtils
365
366
  return unless control_has_valid_params?
366
367
 
367
368
  @md.add_ul('Parameters:')
368
- [@control.param_hashes, @control.resource.cem_options, @control.resource.cem_protected].each do |collection|
369
+ [@control.param_hashes, @control.resource.sce_options, @control.resource.sce_protected].each do |collection|
369
370
  collection.each do |hsh|
370
371
  rparam = resource_param(hsh)
371
372
  str_array = [@md.code(hsh[:name]), param_type_expr(hsh, rparam), param_default_value(hsh, rparam)]
@@ -473,7 +474,8 @@ module AbideDevUtils
473
474
  @md.add_ul('Hiera Configuration Example:')
474
475
  @md.add_code_block(out_str.join("\n"), language: 'yaml')
475
476
  rescue StandardError => e
476
- require 'pry'; binding.pry
477
+ require 'pry'
478
+ binding.pry
477
479
  err_msg = [
478
480
  "Failed to generate config example for control #{@control.id}",
479
481
  "Error: #{e.message}",
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'abide_dev_utils/sce/generate/reference'
4
+ require 'abide_dev_utils/sce/generate/coverage_report'
5
+
6
+ module AbideDevUtils
7
+ module Sce
8
+ # Namespace for objects and methods used in `abide sce generate` subcommands
9
+ module Generate; end
10
+ end
11
+ end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module AbideDevUtils
4
- module CEM
4
+ module Sce
5
5
  module HieraData
6
6
  module MappingData
7
7
  # Represents a single map data file
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module AbideDevUtils
4
- module CEM
4
+ module Sce
5
5
  module HieraData
6
6
  module MappingData
7
7
  # Mixin module used by Mapper to implement CIS-specific mapping behavior
@@ -1,16 +1,16 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'abide_dev_utils/cem/hiera_data/mapping_data/map_data'
4
- require 'abide_dev_utils/cem/hiera_data/mapping_data/mixins'
3
+ require 'abide_dev_utils/sce/hiera_data/mapping_data/map_data'
4
+ require 'abide_dev_utils/sce/hiera_data/mapping_data/mixins'
5
5
 
6
6
  module AbideDevUtils
7
- module CEM
7
+ module Sce
8
8
  module HieraData
9
9
  module MappingData
10
10
  ALL_TYPES = %w[hiera_title_num number hiera_title vulnid title].freeze
11
11
  FRAMEWORK_TYPES = {
12
12
  'cis' => %w[hiera_title_num number hiera_title title],
13
- 'stig' => %w[hiera_title_num number hiera_title vulnid title],
13
+ 'stig' => %w[hiera_title_num number hiera_title vulnid title]
14
14
  }.freeze
15
15
  CIS_TYPES = %w[hiera_title_num number hiera_title title].freeze
16
16
  STIG_TYPES = %w[hiera_title_num number hiera_title vulnid title].freeze
@@ -78,11 +78,11 @@ module AbideDevUtils
78
78
  def load_framework(framework)
79
79
  case framework.downcase
80
80
  when 'cis'
81
- self.class.include AbideDevUtils::CEM::HieraData::MappingData::MixinCIS
82
- extend AbideDevUtils::CEM::HieraData::MappingData::MixinCIS
81
+ self.class.include AbideDevUtils::Sce::HieraData::MappingData::MixinCIS
82
+ extend AbideDevUtils::Sce::HieraData::MappingData::MixinCIS
83
83
  when 'stig'
84
- self.class.include AbideDevUtils::CEM::HieraData::MappingData::MixinSTIG
85
- extend AbideDevUtils::CEM::HieraData::MappingData::MixinSTIG
84
+ self.class.include AbideDevUtils::Sce::HieraData::MappingData::MixinSTIG
85
+ extend AbideDevUtils::Sce::HieraData::MappingData::MixinSTIG
86
86
  else
87
87
  raise "Invalid framework: #{framework}"
88
88
  end
@@ -90,7 +90,10 @@ module AbideDevUtils
90
90
 
91
91
  def map_data_by_type(map_type)
92
92
  found_map_data = map_data.find { |x| x.type == map_type }
93
- raise "Failed to find map data with type #{map_type}; Meta: #{{framework: framework, module_name: module_name}}" unless found_map_data
93
+ unless found_map_data
94
+ raise "Failed to find map data with type #{map_type}; Meta: #{{ framework: framework,
95
+ module_name: module_name }}"
96
+ end
94
97
 
95
98
  found_map_data
96
99
  end
@@ -2,11 +2,11 @@
2
2
 
3
3
  require 'abide_dev_utils/dot_number_comparable'
4
4
  require 'abide_dev_utils/errors'
5
- require 'abide_dev_utils/cem/hiera_data/mapping_data'
6
- require 'abide_dev_utils/cem/hiera_data/resource_data/parameters'
5
+ require 'abide_dev_utils/sce/hiera_data/mapping_data'
6
+ require 'abide_dev_utils/sce/hiera_data/resource_data/parameters'
7
7
 
8
8
  module AbideDevUtils
9
- module CEM
9
+ module Sce
10
10
  module HieraData
11
11
  module ResourceData
12
12
  # Represents a singular rule in a benchmark
@@ -58,7 +58,7 @@ module AbideDevUtils
58
58
 
59
59
  def method_missing(meth, *args, &block)
60
60
  meth_s = meth.to_s
61
- if AbideDevUtils::CEM::HieraData::MappingData::ALL_TYPES.include?(meth_s)
61
+ if AbideDevUtils::Sce::HieraData::MappingData::ALL_TYPES.include?(meth_s)
62
62
  @mapper.get(id).find { |x| @mapper.map_type(x) == meth_s }
63
63
  else
64
64
  super
@@ -66,7 +66,7 @@ module AbideDevUtils
66
66
  end
67
67
 
68
68
  def respond_to_missing?(meth, include_private = false)
69
- AbideDevUtils::CEM::HieraData::MappingData::ALL_TYPES.include?(meth.to_s) || super
69
+ AbideDevUtils::Sce::HieraData::MappingData::ALL_TYPES.include?(meth.to_s) || super
70
70
  end
71
71
 
72
72
  def to_h
@@ -76,7 +76,7 @@ module AbideDevUtils
76
76
  alternate_ids: alternate_ids,
77
77
  levels: levels,
78
78
  profiles: profiles,
79
- resource: resource,
79
+ resource: resource
80
80
  }.merge(parameters.to_h)
81
81
  end
82
82
 
@@ -94,7 +94,7 @@ module AbideDevUtils
94
94
 
95
95
  def validate_id_with_framework(id, framework, mapper)
96
96
  mtype = mapper.map_type(id)
97
- return if AbideDevUtils::CEM::HieraData::MappingData::FRAMEWORK_TYPES[framework].include?(mtype)
97
+ return if AbideDevUtils::Sce::HieraData::MappingData::FRAMEWORK_TYPES[framework].include?(mtype)
98
98
 
99
99
  raise AbideDevUtils::Errors::ControlIdFrameworkMismatchError, [id, mtype, framework]
100
100
  end
@@ -3,7 +3,7 @@
3
3
  require 'set'
4
4
 
5
5
  module AbideDevUtils
6
- module CEM
6
+ module Sce
7
7
  module HieraData
8
8
  module ResourceData
9
9
  class Parameters
@@ -40,7 +40,7 @@ module AbideDevUtils
40
40
  collection.each_with_object({}) do |(param, param_val), hsh|
41
41
  hsh[param] = {
42
42
  raw_value: param_val,
43
- display_value: param_display(param, param_val),
43
+ display_value: param_display(param, param_val)
44
44
  }
45
45
  end
46
46
  end
@@ -49,7 +49,7 @@ module AbideDevUtils
49
49
  {
50
50
  name: param,
51
51
  type: ruby_class_to_puppet_type(param_val.class.to_s),
52
- default: param_val,
52
+ default: param_val
53
53
  }
54
54
  end
55
55
 
@@ -2,11 +2,11 @@
2
2
 
3
3
  require 'set'
4
4
  require 'abide_dev_utils/errors'
5
- require 'abide_dev_utils/cem/hiera_data/resource_data/control'
6
- require 'abide_dev_utils/cem/hiera_data/resource_data/parameters'
5
+ require 'abide_dev_utils/sce/hiera_data/resource_data/control'
6
+ require 'abide_dev_utils/sce/hiera_data/resource_data/parameters'
7
7
 
8
8
  module AbideDevUtils
9
- module CEM
9
+ module Sce
10
10
  module HieraData
11
11
  module ResourceData
12
12
  # Represents a resource data resource statement
@@ -25,21 +25,21 @@ module AbideDevUtils
25
25
  @controls ||= load_controls
26
26
  end
27
27
 
28
- def cem_options
29
- @cem_options ||= Parameters.new(data['cem_options'])
28
+ def sce_options
29
+ @sce_options ||= Parameters.new(data['sce_options'])
30
30
  end
31
31
 
32
- def cem_protected
33
- @cem_protected ||= Parameters.new(data['cem_protected'])
32
+ def sce_protected
33
+ @sce_protected ||= Parameters.new(data['sce_protected'])
34
34
  end
35
35
 
36
36
  def to_stubbed_h
37
37
  {
38
38
  title: title,
39
39
  type: type,
40
- cem_options: cem_options.to_h,
41
- cem_protected: cem_protected.to_h,
42
- reference: to_reference,
40
+ sce_options: sce_options.to_h,
41
+ sce_protected: sce_protected.to_h,
42
+ reference: to_reference
43
43
  }
44
44
  end
45
45
 
@@ -51,7 +51,7 @@ module AbideDevUtils
51
51
  parray = controls.map { |x| x.parameters.to_puppet_code if x.parameters.exist? }.flatten.compact.uniq
52
52
  return "#{type} { '#{title}': }" if parray.empty? || parray.all?(&:empty?) || parray.all?("\n")
53
53
 
54
- # if title == 'cem_linux::utils::packages::linux::auditd::time_change'
54
+ # if title == 'sce_linux::utils::packages::linux::auditd::time_change'
55
55
  # require 'pry'
56
56
  # binding.pry
57
57
  # end