diff options
author | Samer Abdel-Hafez <sam@arahant.net> | 2015-02-07 09:33:38 +0100 |
---|---|---|
committer | Samer Abdel-Hafez <sam@arahant.net> | 2015-02-07 09:33:38 +0100 |
commit | 9492a36ae2bb93299cc3bb35deceba4c07511c26 (patch) | |
tree | c9f623bb77691d50a933f3624cc3d5b5cf30f5aa | |
parent | 843098bc0de0c22b39fa665265e4e061dee97428 (diff) | |
parent | 201f4d8320768e2cc9fcba61f1ea6584783ac724 (diff) |
Merge pull request #73 from erJasp/master
Added model for Comware based devices
-rw-r--r-- | README.md | 1 | ||||
-rw-r--r-- | lib/oxidized/model/comware.rb | 41 |
2 files changed, 42 insertions, 0 deletions
@@ -57,6 +57,7 @@ Oxidized is a network device configration backup tool. Its a RANCID replacment! * Extreme Networks XOS * Force10 FTOS * FortiGate FortiOS + * HP Comware (HP A-series, H3C, 3Com) * HP ProCurve * Huawei VRP * Juniper JunOS diff --git a/lib/oxidized/model/comware.rb b/lib/oxidized/model/comware.rb new file mode 100644 index 0000000..c09a128 --- /dev/null +++ b/lib/oxidized/model/comware.rb @@ -0,0 +1,41 @@ +class Comware < Oxidized::Model + # HP (A-series)/H3C/3Com Comware + + prompt /^(<[\w.-]+>)$/ + comment '# ' + + # example how to handle pager + #expect /^\s*---- More ----$/ do |data, re| + # send ' ' + # data.sub re, '' + #end + + cmd :all do |cfg| + #cfg.gsub! /^.*\e\[42D/, '' # example how to handle pager + cfg.each_line.to_a[1..-2].join + end + + cfg :telnet do + username /^Username:$/ + password /^Password:$/ + end + + cfg :telnet, :ssh do + post_login 'screen-length disable' + post_login 'undo terminal monitor' + pre_logout 'quit' + end + + cmd 'display version' do |cfg| + cfg = cfg.each_line.select {|l| not l.match /uptime/ }.join + comment cfg + end + + cmd 'display device' do |cfg| + comment cfg + end + + cmd 'display current-configuration' do |cfg| + cfg + end +end |