diff options
author | ytti <saku@ytti.fi> | 2018-04-05 16:02:59 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-04-05 16:02:59 +0300 |
commit | edd58747495f0fc7fe396bb22fa31d750ea7d62c (patch) | |
tree | 8d6b25ea1798272092d43438a5c9df61e0be9571 | |
parent | 556af5d80587fc021b61988ed43615f9a53c93b4 (diff) | |
parent | b2fcf887b3ea7e85e916ec7265a494a6efbf8fa7 (diff) |
Merge pull request #1251 from wk/snr-support-refactor
Snr support refactor (closes #1139)
-rw-r--r-- | docs/Supported-OS-Types.md | 2 | ||||
-rw-r--r-- | lib/oxidized/model/dcnos.rb | 45 |
2 files changed, 47 insertions, 0 deletions
diff --git a/docs/Supported-OS-Types.md b/docs/Supported-OS-Types.md index 493918d..5240297 100644 --- a/docs/Supported-OS-Types.md +++ b/docs/Supported-OS-Types.md @@ -138,6 +138,8 @@ * [Quanta / VxWorks 6.6 (1.1.0.8)](/lib/oxidized/model/quantaos.rb) * Siklu * [EtherHaul](/lib/oxidized/model/siklu.rb) +* SNR + * [SNR-S300G, S2xxx, S3xxx, S4xxx](/lib/oxidized/dcnos.rb) * Supermicro * [SSE-G2252, G2252P](/lib/oxidized/model/edgecos.rb) * [SSE-G48-TG4, G24-TG4](/lib/oxidized/model/aricentiss.rb) diff --git a/lib/oxidized/model/dcnos.rb b/lib/oxidized/model/dcnos.rb new file mode 100644 index 0000000..ec0c7f6 --- /dev/null +++ b/lib/oxidized/model/dcnos.rb @@ -0,0 +1,45 @@ +# DCNOS is a ZebOS derivative by DCN (http://www.dcnglobal.com/) +# In addition to products by DCN (now Yunke China), this OS type +# powers a number of re-branded OEM devices. + +# Developed against SNR S2950-24G 7.0.3.5 + +class DCNOS < Oxidized::Model + + comment '! ' + + cmd 'show version' do |cfg| + cfg = cfg.gsub! /^(Uptime is ).*/, '' + comment cfg + end + + cmd 'show boot-files' do |cfg| + comment cfg + end + + cmd 'show flash' do |cfg| + comment cfg + end + + cmd 'show running-config' do |cfg| + cfg = cfg.each_line.to_a[1..-1].join + cfg + end + + cfg :telnet do + username /^login:/i + password /^password:/i + end + + cfg :telnet, :ssh do + if vars :enable + post_login do + send "enable\n" + cmd vars(:enable) + end + end + post_login 'terminal length 0' + pre_logout 'exit' + end + +end |