Sha256: cdb9741f73ff2f4b13de3a187c66449e28c561591f886bbe9799f79aa8e145d5
Contents?: true
Size: 1.33 KB
Versions: 3
Compression:
Stored size: 1.33 KB
Contents
class XOS < Oxidized::Model using Refinements # Extreme Networks XOS prompt /^\s?\*?\s?[-\w]+\s?[-\w.~]+(:\d+)? [#>] $/ comment '# ' cmd :all do |cfg| # xos inserts leading \r characters and other trailing white space. # this deletes extraneous \r and trailing white space. cfg.each_line.to_a[1..-2].map { |line| line.delete("\r").rstrip }.join("\n") + "\n" end cmd 'show version' do |cfg| comment cfg end cmd 'show diagnostics' do |cfg| comment cfg end cmd 'show licenses' do |cfg| comment cfg end cmd 'show switch' do |cfg| cfg.gsub! /Next periodic save on.*/, '' comment cfg.each_line.reject { |line| line.match(/Time:/) || line.match(/boot/i) || line.match(/Next periodic/) }.join end cmd 'show configuration' do |cfg| cfg = cfg.each_line.reject { |line| line.match /^#(\s[\w -]+\s)(Configuration generated)/ }.join cfg end cmd 'show policy detail' do |cfg| comment cfg end cfg :telnet do username /^login:/ password /^\r*password:/ end cfg :telnet, :ssh do post_login do data = cmd 'disable clipaging session' match = data.match /^disable clipaging session\n\r?\*?\s?[-\w]+\s?[-\w.~]+(:\d+)? [#>] $/m next if match cmd 'disable clipaging' end pre_logout do send "exit\n" send "n\n" end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
oxidized-0.30.1 | lib/oxidized/model/xos.rb |
oxidized-0.30.0 | lib/oxidized/model/xos.rb |
oxidized-0.29.1 | lib/oxidized/model/xos.rb |