diff options
author | Samer Abdel-Hafez <sam@arahant.net> | 2014-03-07 10:49:56 +0100 |
---|---|---|
committer | Samer Abdel-Hafez <sam@arahant.net> | 2014-03-07 10:49:56 +0100 |
commit | 35bd38b5dd3ea11a7bfc5205031741686a263071 (patch) | |
tree | cd288846ad879eeb0eef488ccfe50113027fdba3 | |
parent | 81cfa3e5d5cd53c7862da5740543b6ea5bc8f5d0 (diff) |
add Arista EOS and Cisco IOS XR models
-rw-r--r-- | lib/oxidized/model/eos.rb | 22 | ||||
-rw-r--r-- | lib/oxidized/model/iosxr.rb | 41 |
2 files changed, 63 insertions, 0 deletions
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 |