summaryrefslogtreecommitdiff
path: root/lib/oxidized
diff options
context:
space:
mode:
Diffstat (limited to 'lib/oxidized')
-rw-r--r--lib/oxidized/model/powerconnect.rb6
-rw-r--r--lib/oxidized/model/procurve.rb45
2 files changed, 51 insertions, 0 deletions
diff --git a/lib/oxidized/model/powerconnect.rb b/lib/oxidized/model/powerconnect.rb
index 0dbd808..304fc86 100644
--- a/lib/oxidized/model/powerconnect.rb
+++ b/lib/oxidized/model/powerconnect.rb
@@ -4,6 +4,11 @@ class PowerConnect < Oxidized::Model
comment '! '
+ expect /^\s--More--\s+.*$/ do |data, re|
+ send ' '
+ data.sub re, ''
+ end
+
cmd :all do |cfg|
cfg.each_line.to_a[1..-3].join
end
@@ -25,6 +30,7 @@ class PowerConnect < Oxidized::Model
cfg :telnet, :ssh do
post_login 'terminal datadump'
+ post_login 'enable'
pre_logout 'exit'
end
diff --git a/lib/oxidized/model/procurve.rb b/lib/oxidized/model/procurve.rb
new file mode 100644
index 0000000..b431629
--- /dev/null
+++ b/lib/oxidized/model/procurve.rb
@@ -0,0 +1,45 @@
+class Procurve < Oxidized::Model
+
+ # FIXME: this is way too unsafe
+ prompt /.*?([\w\d_]+# ).*/m
+
+ comment '! '
+
+ expect /Press any key to continue/ do
+ send ' '
+ ""
+ end
+
+ cmd :all do |cfg|
+ cfg = cfg.each_line.to_a[1..-3].join
+ cfg = cfg.gsub /\r/, ''
+ new_cfg = ''
+ cfg.each_line do |line|
+ line.sub! /^\e.*(\e.*)/, '\1' #leave last escape
+ line.sub! /\e\[24;1H/, '' #remove last escape, is it always this?
+ new_cfg << line
+ end
+ new_cfg
+ end
+
+ cmd 'show running-config'
+
+ cmd 'show version' do |cfg|
+ comment cfg
+ end
+
+ cmd 'show system-information' do |cfg|
+ comment cfg
+ end
+
+ cfg :telnet do
+ username /^\r?Username:/
+ password /Password: /
+ end
+
+ cfg :telnet, :ssh do
+ post_login 'no page'
+ pre_logout "logout\ny"
+ end
+
+end