From 38e1f4216df5751e856e11532fc894ccfbd4010d Mon Sep 17 00:00:00 2001 From: mattie47 <4696925+mattie47@users.noreply.github.com> Date: Sun, 7 Jan 2018 10:32:52 +1300 Subject: model: Added Allied Telesis AW+ model (#936) * Create awplus.rb Added support for Allied Telesis AW+ switches and routers * Add support for Allied Telesis Alliedware Plus products * Add Allied Telesis to Supported Products * Add Allied Telesis to supported models Feature support included: - Telnet and SSH -- Enable/Secret Password - Device info from "show system" command -- Dynamic output e.g. Device Uptime is removed. - Var: remove_secret - User-defined terminal length -- User is not required to "terminal no length" and can keep configured pager length. --- lib/oxidized/model/awplus.rb | 85 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 lib/oxidized/model/awplus.rb (limited to 'lib/oxidized/model/awplus.rb') diff --git a/lib/oxidized/model/awplus.rb b/lib/oxidized/model/awplus.rb new file mode 100644 index 0000000..1d8fbcd --- /dev/null +++ b/lib/oxidized/model/awplus.rb @@ -0,0 +1,85 @@ +class AWPlus < Oxidized::Model + + #Allied Telesis Alliedware Plus Model# + #https://www.alliedtelesis.com/products/software/AlliedWare-Plus + + prompt /^(\r?[\w.@:\/-]+[#>]\s?)$/ + comment '! ' + + #Avoids needing "term length 0" to display full config file. + expect /--More--/ do |data, re| + send ' ' + data.sub re, '' + end + + #Removes gibberish pager output e.g. VT100 escape codes + cmd :all do |cfg| + cfg.gsub! /\e\[K/, '' # example how to handle pager - cleareol EL0 + cfg.gsub! /\e\[7m\e\[m/, '' # example how to handle pager - Reverse SGR7 + cfg.gsub! /\r/, '' # Filters rogue ^M - see issue #415 + cfg.each_line.to_a[1..-2].join + end + + #Remove passwords from config file. + #Add vars "remove_secret: true" to global oxidized config file to enable. + + cmd :secret do |cfg| + cfg.gsub! /^(snmp-server community).*/, '\\1 ' + cfg.gsub! /^(username \S+ privilege \d+) (\S+).*/, '\\1