diff options
author | ytti <saku@ytti.fi> | 2016-11-10 23:38:37 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-11-10 23:38:37 +0200 |
commit | 212214592b59c184cfed451e9529e9c7bb366b99 (patch) | |
tree | 57916a1426b88d91511cbbc55c0d28e1a42d9d62 | |
parent | c3514dc1402973162ecf5b4ce8cc88826191b0fb (diff) | |
parent | eaaef17151017210bb20a936c89b43584914f92c (diff) |
Merge pull request #614 from flokli/planet
add support for PLANET SG switches
-rw-r--r-- | README.md | 3 | ||||
-rw-r--r-- | lib/oxidized/model/planet.rb (renamed from lib/oxidized/model/planetsgs.rb) | 30 |
2 files changed, 26 insertions, 7 deletions
@@ -140,8 +140,7 @@ Oxidized is a network device configuration backup tool. It's a RANCID replacemen * [Opengear](lib/oxidized/model/opengear.rb) * Palo Alto * [PANOS](lib/oxidized/model/panos.rb) - * PLANET - * [SGS](lib/oxidized/model/planetsgs.rb) + * [PLANET SG/SGS Switches](lib/oxidized/model/planet.rb) * [pfSense](lib/oxidized/model/pfsense.rb) * Quanta * [Quanta / VxWorks 6.6 (1.1.0.8)](lib/oxidized/model/quantaos.rb) diff --git a/lib/oxidized/model/planetsgs.rb b/lib/oxidized/model/planet.rb index c240237..05a369a 100644 --- a/lib/oxidized/model/planetsgs.rb +++ b/lib/oxidized/model/planet.rb @@ -1,4 +1,4 @@ -class PlanetSGS < Oxidized::Model +class Planet < Oxidized::Model prompt /^\r?([\w.@()-]+[#>]\s?)$/ comment '! ' @@ -33,15 +33,35 @@ class PlanetSGS < Oxidized::Model end cmd 'show version' do |cfg| - comment cfg.each_line.to_a[0..-2].join + cfg.gsub! "\n\r", "\n" + @planetgs = true if cfg.match /^System Name\w*:\w*GS-.*$/ + @planetsgs = true if cfg.match /SGS-(.*) Device, Compiled on .*$/ + + cfg = cfg.each_line.to_a[0...-2] + + # Strip system time and system uptime from planet gs switches + cfg = cfg.reject { |line| line.match /System Time\s*:.*/ } + cfg = cfg.reject { |line| line.match /System Uptime\s*:.*/ } + + comment cfg.join end - cmd 'show running-config' + cmd 'show running-config' do |cfg| + cfg.gsub! "\n\r", "\n" + cfg = cfg.each_line.to_a + + cfg = cfg.reject { |line| line.match "Building configuration..." } - cmd 'show transceiver detail | include transceiver detail information|found|Type|length|Nominal|wavelength|Base information' do |cfg| - comment cfg + if @planetsgs + cfg << cmd('show transceiver detail | include transceiver detail information|found|Type|length|Nominal|wavelength|Base information') do |cfg| + comment cfg + end + end + + cfg.join end + cfg :telnet do username /^Username:/ |