summaryrefslogtreecommitdiff
path: root/lib/oxidized/model
diff options
context:
space:
mode:
authornopedial <samer@m247.com>2013-05-12 13:35:37 +0100
committernopedial <samer@m247.com>2013-05-12 13:35:37 +0100
commit50ec31c6d425c17b2e86070bf4b0bda7c2e03256 (patch)
tree6e134f53f71bdacfb0482b1bc3ae522fef5b7761 /lib/oxidized/model
parent0a9ff589905b4637dc2c824d761dfbfec6cb00db (diff)
models enhance
Diffstat (limited to 'lib/oxidized/model')
-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