Class: KernelParameter

Inherits:
Object
  • Object
show all
Defined in:
lib/resources/kernel_parameter.rb

Overview

Verifies if a kernel parameter is set describe kernel_parameter(‘net.ipv4.conf.all.forwarding’) do

its(:value) { should eq 0 }

end

Direct Known Subclasses

LinuxKernelParameter

Instance Method Summary collapse

Constructor Details

#initialize(parameter = nil) ⇒ KernelParameter

Returns a new instance of KernelParameter.



12
13
14
15
16
17
# File 'lib/resources/kernel_parameter.rb', line 12

def initialize(parameter = nil)
  @parameter = parameter

  # this resource is only supported on Linux
  return skip_resource 'The `kernel_parameter` resource is not supported on your OS.' if !inspec.os.linux?
end

Instance Method Details

#to_sObject



29
30
31
# File 'lib/resources/kernel_parameter.rb', line 29

def to_s
  "Kernel Parameter #{@parameter}"
end

#valueObject



19
20
21
22
23
24
25
26
27
# File 'lib/resources/kernel_parameter.rb', line 19

def value
  cmd = inspec.command("/sbin/sysctl -q -n #{@parameter}")
  return nil if cmd.exit_status != 0
  # remove whitespace
  cmd = cmd.stdout.chomp.strip
  # convert to number if possible
  cmd = cmd.to_i if cmd.match(/^\d+$/)
  cmd
end