diff options
Diffstat (limited to 'lib/oxidized/model')
-rw-r--r-- | lib/oxidized/model/aen.rb | 20 | ||||
-rw-r--r-- | lib/oxidized/model/coriantgroove.rb | 30 | ||||
-rw-r--r-- | lib/oxidized/model/ftos.rb | 2 |
3 files changed, 52 insertions, 0 deletions
diff --git a/lib/oxidized/model/aen.rb b/lib/oxidized/model/aen.rb new file mode 100644 index 0000000..6d87433 --- /dev/null +++ b/lib/oxidized/model/aen.rb @@ -0,0 +1,20 @@ +class AEN < Oxidized::Model + # Accedian + + comment '# ' + + prompt /^([-\w.\/:?\[\]\(\)]+:\s?)$/ + + cmd 'configuration generate-script module all' do |cfg| + cfg + end + + cmd :all do |cfg| + cfg.each_line.to_a[1..-2].join + end + + cfg :ssh do + pre_logout 'exit' + end + +end
\ No newline at end of file diff --git a/lib/oxidized/model/coriantgroove.rb b/lib/oxidized/model/coriantgroove.rb new file mode 100644 index 0000000..4fc44b7 --- /dev/null +++ b/lib/oxidized/model/coriantgroove.rb @@ -0,0 +1,30 @@ +class CoriantGroove < Oxidized::Model + + comment '# ' + + prompt /^(\w+@.*>\s*)$/ + + cmd :all do |cfg| + cfg.each_line.to_a[1..-3].map{|line|line.delete("\r").rstrip}.join("\n") + "\n" + end + + cmd 'show inventory' do |cfg| + cfg = cfg.each_line.to_a[0..-2].join + comment cfg + end + + cmd 'show softwareload' do |cfg| + cfg = cfg.each_line.to_a[0..-2].join + comment cfg + end + + cmd 'show config | display commands' do |cfg| + cfg.each_line.to_a[1..-1].join + end + + cfg :ssh do + post_login 'set -f cli-config cli-columns 65535' + pre_logout 'quit -f' + end + +end diff --git a/lib/oxidized/model/ftos.rb b/lib/oxidized/model/ftos.rb index b465271..1c3b8b4 100644 --- a/lib/oxidized/model/ftos.rb +++ b/lib/oxidized/model/ftos.rb @@ -15,6 +15,8 @@ class FTOS < Oxidized::Model end cmd 'show inventory' do |cfg| + # Old versions of FTOS can occasionally return data that triggers encoding errors. + cfg.encode!("UTF-8", :invalid => :replace, :undef => :replace, :replace => "") comment cfg end |