diff options
author | Saku Ytti <saku@ytti.fi> | 2014-03-05 13:54:36 +0200 |
---|---|---|
committer | Saku Ytti <saku@ytti.fi> | 2014-03-05 13:54:36 +0200 |
commit | f8be9c5a3597768128d70209daf4d40e527a7880 (patch) | |
tree | 656a61bee97b11e022fa0d27be38f059c146e18f /lib/oxidized/model | |
parent | 91abe312526e3bd0cd4927209dbff53976393dde (diff) |
Add AireOS support
Crappy Cisco WLC 5k, much quality, very implementation, such secure
* stop pre_logout from expecting prompt by default
Diffstat (limited to 'lib/oxidized/model')
-rw-r--r-- | lib/oxidized/model/aireos.rb | 54 | ||||
-rw-r--r-- | lib/oxidized/model/ios.rb | 8 |
2 files changed, 58 insertions, 4 deletions
diff --git a/lib/oxidized/model/aireos.rb b/lib/oxidized/model/aireos.rb new file mode 100644 index 0000000..8f5f646 --- /dev/null +++ b/lib/oxidized/model/aireos.rb @@ -0,0 +1,54 @@ +class Aireos < Oxidized::Model + + # AireOS (at least I think that is what it's called, hard to find data) + # Used in Cisco WLC 5500 + + comment '# ' ## this complains too, can't find real comment char + prompt /^\([^\)]+\)\s>/ + + cmd :all do |cfg| + cfg.each_line.to_a[1..-2].join + end + + ##show sysinfo? + ##show switchconfig? + + cmd 'show udi' do |cfg| + cfg = comment clean cfg + cfg << "\n" + end + + cmd 'show boot' do |cfg| + cfg = comment clean cfg + cfg << "\n" + end + + cmd 'show run-config commands' do |cfg| + clean cfg + end + + cfg :telnet, :ssh do + username /^User:\s*/ + password /^Password:\s*/ + post_login 'config paging disable' + end + + cfg :telnet, :ssh do + pre_logout do + send "logout\n" + send "n" + end + end + + def clean cfg + out = [] + cfg.each_line do |line| + next if line.match /^\s*$/ + line = line[1..-1] if line[0] == "\r" + out << line.strip + end + out = out.join "\n" + out << "\n" + end + +end diff --git a/lib/oxidized/model/ios.rb b/lib/oxidized/model/ios.rb index a216126..275625e 100644 --- a/lib/oxidized/model/ios.rb +++ b/lib/oxidized/model/ios.rb @@ -21,6 +21,10 @@ class IOS < Oxidized::Model cfg.each_line.to_a[1..-3].join end + cmd 'show inventory' do |cfg| + comment cfg + end + cmd 'show running-config' do |cfg| cfg = cfg.each_line.to_a[3..-1].join cfg.gsub! /^Current configuration : [^\n]*\n/, '' @@ -31,10 +35,6 @@ class IOS < Oxidized::Model cfg end - cmd 'show inventory' do |cfg| - comment cfg - end - cfg :telnet do username /^Username:/ password /^Password:/ |