summaryrefslogtreecommitdiff
path: root/lib/oxidized/model
diff options
context:
space:
mode:
authorChristopher <cardboardpig@users.noreply.github.com>2016-06-24 17:31:31 +1000
committerGitHub <noreply@github.com>2016-06-24 17:31:31 +1000
commit0f33b1e478ba38590dddec2673f8efaddde91ec6 (patch)
treef0f1bcd3300afdc515fb098497a91ebd7c70ccad /lib/oxidized/model
parentfd4833c64f18528cf5bbf44f46edef43e61fa2bc (diff)
Add support for Brocade 6910 (br6910)
The Brocade 6910 switch has a significantly different CLI to Ironware/Fastiron and requires different treatment to pull config.
Diffstat (limited to 'lib/oxidized/model')
-rw-r--r--lib/oxidized/model/br6910.rb45
1 files changed, 45 insertions, 0 deletions
diff --git a/lib/oxidized/model/br6910.rb b/lib/oxidized/model/br6910.rb
new file mode 100644
index 0000000..3ca7b67
--- /dev/null
+++ b/lib/oxidized/model/br6910.rb
@@ -0,0 +1,45 @@
+
+class BR6910 < Oxidized::Model
+
+ prompt /^Vty-1\#$/
+ comment '! '
+
+ # not possible to disable paging prior to show running-config
+ expect /^((.*)Others to exit ---(.*))$/ do |data, re|
+ send 'a'
+ data.sub re, ''
+ end
+
+ cmd :all do |cfg|
+ # sometimes br6910s inserts arbitrary whitespace after commands are
+ # issued on the CLI, from run to run. this normalises the output.
+ cfg.each_line.to_a[1..-2].drop_while { |e| e.match /^\s+$/ }.join
+ end
+
+ cmd 'show version' do |cfg|
+ comment cfg
+ end
+
+ # show flash is not possible on a brocade 6910, do dir instead
+ # to see flash contents (includes config file names)
+ cmd 'dir' do |cfg|
+ comment cfg
+ end
+
+ cmd 'show running-config' do |cfg|
+ arr = cfg.each_line.to_a
+ arr[2..-1].join unless arr.length < 2
+ end
+
+ cfg :telnet do
+ username /^Username:/
+ password /^Password:/
+ end
+
+ # post login and post logout
+ cfg :telnet, :ssh do
+ post_login ''
+ pre_logout 'exit'
+ end
+
+end \ No newline at end of file