Class: Train::Transports::SSH::CiscoIOSConnection
- Inherits:
-
BaseConnection
- Object
- BaseConnection
- Train::Transports::SSH::CiscoIOSConnection
- Defined in:
- lib/train/transports/cisco_ios_connection.rb
Defined Under Namespace
Classes: BadEnablePassword
Instance Method Summary collapse
-
#initialize(options) ⇒ CiscoIOSConnection
constructor
A new instance of CiscoIOSConnection.
- #unique_identifier ⇒ Object
- #uri ⇒ Object
Constructor Details
#initialize(options) ⇒ CiscoIOSConnection
Returns a new instance of CiscoIOSConnection.
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/train/transports/cisco_ios_connection.rb', line 7 def initialize() super() logger.level = Logger::INFO # Extract options to avoid passing them in to `Net::SSH.start` later @host = .delete(:host) @user = .delete(:user) @port = .delete(:port) @enable_password = .delete(:enable_password) # Use all options left that are not `nil` for `Net::SSH.start` later @ssh_options = .reject { |_key, value| value.nil? } @prompt = /^\S+[>#]\r\n.*$/ end |
Instance Method Details
#unique_identifier ⇒ Object
28 29 30 31 32 33 |
# File 'lib/train/transports/cisco_ios_connection.rb', line 28 def unique_identifier result = run_command_via_connection('show inventory').stdout result.split("\r\n\r\n").each do |section| return section.split('SN: ')[1].strip if section.include?('Chassis') end end |
#uri ⇒ Object
24 25 26 |
# File 'lib/train/transports/cisco_ios_connection.rb', line 24 def uri "ssh://#{@user}@#{@host}:#{@port}" end |