From 12c770dd3504748d3e67f99175b26d0515a3d283 Mon Sep 17 00:00:00 2001 From: Yuri Zubov Date: Thu, 19 Apr 2018 14:19:41 +0300 Subject: Basic support for NDMS OS (Zyxel Keenetic) --- docs/Supported-OS-Types.md | 1 + lib/oxidized/model/ndms.rb | 25 +++++++++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 lib/oxidized/model/ndms.rb diff --git a/docs/Supported-OS-Types.md b/docs/Supported-OS-Types.md index 7a765f8..4556946 100644 --- a/docs/Supported-OS-Types.md +++ b/docs/Supported-OS-Types.md @@ -163,3 +163,4 @@ * [Zhone (OLT and MX)](/lib/oxidized/model/zhoneolt.rb) * Zyxel * [ZyNOS](/lib/oxidized/model/zynos.rb) + * [NDMS](/lib/oxidized/model/ndms.rb) diff --git a/lib/oxidized/model/ndms.rb b/lib/oxidized/model/ndms.rb new file mode 100644 index 0000000..c632bb9 --- /dev/null +++ b/lib/oxidized/model/ndms.rb @@ -0,0 +1,25 @@ +class NDMS < Oxidized::Model + + # Pull config from Zyxel Keenetic devices from version NDMS >= 2.0 + + comment '! ' + + prompt /^([\w.@()-]+[#>]\s?)/m + + cmd 'show version' do |cfg| + cfg = cfg.each_line.to_a[1..-3].join + comment cfg + end + + cmd 'show running-config' do |cfg| + cfg = cfg.each_line.to_a[1..-2] + cfg = cfg.reject { |line| line.match /(clock date|checksum)/ }.join + cfg + end + + cfg :telnet do + username /^Login:/ + password /^Password:/ + pre_logout 'exit' + end +end -- cgit v1.2.1