From a3253a4ae062f8e85fa2b8e6670aa03add2837b4 Mon Sep 17 00:00:00 2001 From: Mike Nowak Date: Tue, 30 Nov 2021 16:59:09 +0900 Subject: [PATCH] Adds support for NEC IX devices. --- CHANGELOG.md | 1 + docs/Supported-OS-Types.md | 2 ++ lib/oxidized/model/necix.rb | 30 ++++++++++++++++++++++++++++++ 3 files changed, 33 insertions(+) create mode 100644 lib/oxidized/model/necix.rb diff --git a/CHANGELOG.md b/CHANGELOG.md index 23641c323..23b0c8e92 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). - model for zte c300 and c320 olt (@glaubway) - model for LANCOM (@systeembeheerder) - model for Aruba CX switches (@jmurphy5) +- model for NEC IX devices (@mikenowak) ### Changed diff --git a/docs/Supported-OS-Types.md b/docs/Supported-OS-Types.md index e35fa3ab3..20d589c16 100644 --- a/docs/Supported-OS-Types.md +++ b/docs/Supported-OS-Types.md @@ -163,6 +163,8 @@ * MRV * [MasterOS](/lib/oxidized/model/masteros.rb) * [FiberDriver](/lib/oxidized/model/fiberdriver.rb) +* NEC + * [NEC IX](/lib/oxidized/model/necix.rb) * Netgear * [Netgear switches](/lib/oxidized/model/netgear.rb) * Netonix diff --git a/lib/oxidized/model/necix.rb b/lib/oxidized/model/necix.rb new file mode 100644 index 000000000..db2d66c48 --- /dev/null +++ b/lib/oxidized/model/necix.rb @@ -0,0 +1,30 @@ +class NecIX < Oxidized::Model + prompt /^(\([\w.-]*\)\s[#$]|^\S+[$#]\s?)$/ + comment '! ' + expect /^--More--$/ do |data, re| + send ' ' + data.sub re, '' + end + + cmd 'show running-config' do |cfg| + cfg = cfg.each_line.to_a[3..-2].join + cfg.gsub! /^.*Current time.*$/, '' + cfg + end + + cfg :telnet do + username /^Username:/ + password /^Password:/ + end + + cfg :telnet, :ssh do + post_login do + send "configure\n" + end + + pre_logout do + send "\cZ" + send "exit\n" + end + end +end