summaryrefslogtreecommitdiff
path: root/lib/oxidized/model/nxos.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/oxidized/model/nxos.rb')
-rw-r--r--lib/oxidized/model/nxos.rb15
1 files changed, 12 insertions, 3 deletions
diff --git a/lib/oxidized/model/nxos.rb b/lib/oxidized/model/nxos.rb
index 60d6037..ec1f807 100644
--- a/lib/oxidized/model/nxos.rb
+++ b/lib/oxidized/model/nxos.rb
@@ -1,8 +1,12 @@
class NXOS < Oxidized::Model
-
prompt /^(\r?[\w.@_()-]+[#]\s?)$/
comment '! '
+ def filter cfg
+ cfg.gsub! /\r\n?/, "\n"
+ cfg.gsub! prompt, ''
+ end
+
cmd :secret do |cfg|
cfg.gsub! /^(snmp-server community).*/, '\\1 <configuration removed>'
cfg.gsub! /^(snmp-server user (\S+) (\S+) auth (\S+)) (\S+) (priv) (\S+)/, '\\1 <configuration removed> '
@@ -10,18 +14,23 @@ class NXOS < Oxidized::Model
cfg.gsub! /^(radius-server key).*/, '\\1 <secret hidden>'
cfg
end
-
+
cmd 'show version' do |cfg|
+ cfg = filter cfg
cfg = cfg.each_line.take_while { |line| not line.match(/uptime/i) }
comment cfg.join ""
end
cmd 'show inventory' do |cfg|
+ cfg = filter cfg
comment cfg
- end
+ end
cmd 'show running-config' do |cfg|
+ cfg = filter cfg
+ cfg.gsub! /^(show run.*)$/, '! \1'
cfg.gsub! /^!Time:[^\n]*\n/, ''
+ cfg.gsub! /^[\w.@_()-]+[#].*$/, ''
cfg
end