From 35bd38b5dd3ea11a7bfc5205031741686a263071 Mon Sep 17 00:00:00 2001 From: Samer Abdel-Hafez Date: Fri, 7 Mar 2014 10:49:56 +0100 Subject: add Arista EOS and Cisco IOS XR models --- lib/oxidized/model/eos.rb | 22 ++++++++++++++++++++++ lib/oxidized/model/iosxr.rb | 41 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 63 insertions(+) create mode 100644 lib/oxidized/model/eos.rb create mode 100644 lib/oxidized/model/iosxr.rb (limited to 'lib/oxidized/model') diff --git a/lib/oxidized/model/eos.rb b/lib/oxidized/model/eos.rb new file mode 100644 index 0000000..e6e0bf1 --- /dev/null +++ b/lib/oxidized/model/eos.rb @@ -0,0 +1,22 @@ +class EOS < Oxidized::Model + + # Arista EOS model # + # need to add telnet support here .. # + + prompt /^[^\(]+\([^\)]+\)#/ + + comment '! ' + + cmd 'show inventory | no-more' do |cfg| + comment cfg + end + + cmd 'show running-config | no-more' do |cfg| + cfg + end + + cfg :telnet, :ssh do + pre_logout 'exit' + end + +end diff --git a/lib/oxidized/model/iosxr.rb b/lib/oxidized/model/iosxr.rb new file mode 100644 index 0000000..6bad8cd --- /dev/null +++ b/lib/oxidized/model/iosxr.rb @@ -0,0 +1,41 @@ +class IOSXR < Oxidized::Model + + # IOS XR model # + + comment '! ' + + cmd :all do |cfg| + cfg.each_line.to_a[2..-2].join + end + + cmd 'show inventory' do |cfg| + comment cfg + end + + cmd 'show platform' do |cfg| + comment cfg + end + + cmd 'show running-config' do |cfg| + cfg = cfg.each_line.to_a[3..-1].join + cfg + end + + cfg :telnet do + username /^Username:/ + password /^Password:/ + end + + cfg :telnet, :ssh do + post_login 'terminal length 0' + post_login 'terminal width 0' + if CFG.vars[:enable] and CFG.vars[:enable] != '' + post_login do + send "enable\n" + send CFG.vars[:enable] + "\n" + end + end + pre_logout 'exit' + end + +end -- cgit v1.2.1