Class: Shells::PfSenseSerialSession

Inherits:
SerialSession show all
Includes:
PfSenseCommon
Defined in:
lib/shells/pf_sense_serial_session.rb

Overview

Executes a serial session with a pfSense host.

Valid options:

path

The path to the serial device (e.g. - COM3 or /dev/tty2) This is a required option.

speed

The bitrate for the connection. The default is 115200.

data_bits

The number of data bits for the connection. The default is 8.

parity

The parity for the connection. The default is :none.

silence_timeout

When a command is executing, this is the maximum amount of time to wait for any feedback from the shell. If set to 0 (or less) there is no timeout. Unlike command_timeout this value resets every time we receive feedback. This option can be overridden by providing an alternate value to the exec method on a case-by-case basis.

command_timeout

When a command is executing, this is the maximum amount of time to wait for the command to finish. If set to 0 (or less) there is no timeout. Unlike silence_timeout this value does not reset when we receive feedback. This option can be overridden by providing an alternate value to the exec method on a case-by-case basis.

Shells::PfSenseSerialSession.new(
    path: 'COM3'
) do |shell|
  cfg = shell.get_config_section("aliases")
  cfg["alias"] ||= []
  cfg["alias"] << {
      :name => "MY_NETWORK",
      :type => "network",
      :address => "192.168.1.0/24",
      :descr => "My home network",
      :details => "Created #{Time.now.to_s}"
  }
  shell.set_config_section("aliases", cfg, "Add home network")
  shell.apply_filter_config
end

Constant Summary

Constants included from PfSenseCommon

Shells::PfSenseCommon::BASE_SHELL, Shells::PfSenseCommon::PF_PROMPT, Shells::PfSenseCommon::PF_SHELL

Instance Attribute Summary

Attributes included from PfSenseCommon

#pf_sense_host, #pf_sense_user, #pf_sense_version

Attributes inherited from ShellBase

#last_exit_code, #options

Method Summary

Methods included from PfSenseCommon

#apply_filter_config, #apply_user_config, #config_parsed?, #enable_cert_auth, #exec_prompt, #exec_shell, #get_config_section, included, #line_ending, #parse_config, #pf_exec, #quit, #reboot, #set_config_section, #validate_options

Methods inherited from SerialSession

#line_ending, #line_ending=

Methods included from BashCommon

#read_file, #sudo_exec, #sudo_exec_for_code, #sudo_exec_ignore_code, #write_file

Methods inherited from ShellBase

after_init, after_term, before_init, before_term, #combined_output, #exec, #exec_for_code, #exec_ignore_code, #initialize, #line_ending, on_debug, on_exception, #read_file, #session_complete?, #stderr, #stdout, #write_file

Constructor Details

This class inherits a constructor from Shells::ShellBase