diff options
author | nertwork <webmaster@nertwork.com> | 2016-12-20 10:49:24 -0800 |
---|---|---|
committer | nertwork <webmaster@nertwork.com> | 2016-12-20 10:49:24 -0800 |
commit | e0621bbb81daab0de9fccc031c3e875031c2b67b (patch) | |
tree | 9b527895c0a07d216f67728526b0ed7f82a40d12 /lib/oxidized/model/trango.rb | |
parent | bcdd40d552cbf5e32dafebf4e531d407eb85bc84 (diff) | |
parent | 1466f0f635d1e014ea993179729306d3a9a8d381 (diff) |
Merge remote-tracking branch 'upstream/master'
* upstream/master: (109 commits)
delete secret password if it is called secret
bump up version
update changelogs
Recursively search from one dir above specified
Fix suggested by ytti for issue #610
Remove trailing whitespace and enable prompt detection
Update eos.rb
exclude time from output
New hook: awssns - Publish messages to AWS SNS topics
Updated config options
Added option to disable ssl verification checks for http source
Update ciscosmb.rb
Update ciscosmb.rb
Update ciscosmb.rb
expect prompt after entering enable password
add support for PLANET SG switches
renamed alvarion -> alvarion.rb
This adds support for Hatteras Networks devices
This adds support for D-Link switches
This adds support for the Casa C1G CMTS
...
Diffstat (limited to 'lib/oxidized/model/trango.rb')
-rw-r--r-- | lib/oxidized/model/trango.rb | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/lib/oxidized/model/trango.rb b/lib/oxidized/model/trango.rb new file mode 100644 index 0000000..b2aa1e7 --- /dev/null +++ b/lib/oxidized/model/trango.rb @@ -0,0 +1,62 @@ +class Trango < Oxidized::Model + # take a Trangolink sysinfo output and turn it into a configuration file + + prompt /^#>\s?/ + comment '# ' + + cmd 'sysinfo' do |cfg| + out = [] + comments = [] + cfg.each_line do |line| + if line.match /\[Opmode\] (off|on) \[Default Opmode\] (off|on)/ + out << "opmode " + Regexp.last_match[1] + out << "defaultopmode " + Regexp.last_match[2] + end + if line.match /\[Tx Power\] ([\-\d]+) dBm/ + out << "power " + Regexp.last_match[1] + end + if line.match /\[Active Channel\] (\d+) (v|h)/ + out << "freq " + Regexp.last_match[1] + ' ' + Regexp.last_match[2] + end + if line.match /\[Peer ID\] ([A-F0-9]+)/ + out << "peerid " + Regexp.last_match[1] + end + if line.match /\[Unit Type\] (\S+)/ + out << "utype " + Regexp.last_match[1] + end + if line.match /\[(Hardware Version|Firmware Version|Model|S\/N)\] (\S+)/ + comments << '# ' + Regexp.last_match[1] + ': ' + Regexp.last_match[2] + end + if line.match /\[Remarks\] (\S+)/ + out << "remarks " + Regexp.last_match[1] + end + if line.match /\[RSSI LED\] (on|off)/ + out << "rssiled " + Regexp.last_match[1] + end + if line.match /\[Speed\] (\d+) Mbps/ + speed = Regexp.last_match[1] + end + if line.match /\[Tx MIR\] (\d+) Kbps/ + out << "mir ".concat(Regexp.last_match[1]) + end + if line.match /\[Auto Rate Shift\] (on|off)/ + out << "autorateshift ".concat(Regexp.last_match[1]) + if Regexp.last_match[1].eql? 'off' + out << "speed $speed" + end + end + if line.match /\[IP\] (\S+) \[Subnet Mask\] (\S+) \[Gateway\] (\S+)/ + out << "ipconfig " + Regexp.last_match[1] + ' ' + + Regexp.last_match[2] + ' ' + + Regexp.last_match[3] + end + end + comments.push(*out).join "\n" + end + + cfg :telnet do + password /Password:/ + pre_logout 'exit' + end + +end |