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:/ | 
