summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG.md3
-rw-r--r--README.md1
-rw-r--r--lib/oxidized/model/airos.rb20
-rw-r--r--lib/oxidized/model/powerconnect.rb13
-rw-r--r--oxidized.gemspec2
5 files changed, 33 insertions, 6 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 60dd462..01df3ef 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,8 +1,9 @@
# 0.2.3
- BUGFIX: rescue @ssh.close when far end closes disgracefully (ALU ISAM)
-- BUGFIX: remove changing lines from model/procurve.rb 'show system-information' output
+- BUGFIX: bugfixes to models
- FEATURE: Alcatel-Lucent ISAM 7302/7330 model added by @jalmargyyk
- FEATURE: Huawei VRP model added by @jalmargyyk
+- FEATURE: Ubiquiti AirOS added by @willglyn
- FEATURE: Support 'input' debug in config, ssh/telnet use it to write session log
# 0.2.2
diff --git a/README.md b/README.md
index 704b158..348aa3a 100644
--- a/README.md
+++ b/README.md
@@ -31,6 +31,7 @@
* Huawei VRP
* Juniper JunOS
* Juniper ScreenOS (Netscreen)
+ * Ubiquiti AirOS
# Install
diff --git a/lib/oxidized/model/airos.rb b/lib/oxidized/model/airos.rb
new file mode 100644
index 0000000..316c4f0
--- /dev/null
+++ b/lib/oxidized/model/airos.rb
@@ -0,0 +1,20 @@
+class Airos < Oxidized::Model
+ # Ubiquiti AirOS circa 5.x
+
+ prompt /^[^#]+# /
+
+ cmd 'cat /etc/board.info' do |cfg|
+ cfg.split("\n").map { |line| "# #{line}" }.join("\n") + "\n"
+ end
+
+ cmd 'cat /tmp/system.cfg'
+
+ cmd :secret do |cfg|
+ cfg.gsub! /^(users\.\d+\.password|snmp\.community)=.+/, "# \\1=<hidden>"
+ cfg
+ end
+
+ cfg :ssh do
+ exec true
+ end
+end
diff --git a/lib/oxidized/model/powerconnect.rb b/lib/oxidized/model/powerconnect.rb
index 4f90b77..1d0352e 100644
--- a/lib/oxidized/model/powerconnect.rb
+++ b/lib/oxidized/model/powerconnect.rb
@@ -19,7 +19,7 @@ class PowerConnect < Oxidized::Model
cmd 'show system' do |cfg|
cfg = cfg.each_line.take_while { |line| not line.match(/uptime/i) }
- comment cfg
+ comment cfg.join "\n"
end
cmd 'show running-config'
@@ -30,9 +30,14 @@ class PowerConnect < Oxidized::Model
end
cfg :telnet, :ssh do
- post_login 'terminal datadump'
- post_login 'enable'
- pre_logout 'exit'
+ if vars :enable
+ send "enable\n"
+ send vars(:enable) + "\n"
+ end
+
+ post_login "terminal length 0"
+ pre_logout "logout"
+
end
end
diff --git a/oxidized.gemspec b/oxidized.gemspec
index 78157b9..dae9d89 100644
--- a/oxidized.gemspec
+++ b/oxidized.gemspec
@@ -1,6 +1,6 @@
Gem::Specification.new do |s|
s.name = 'oxidized'
- s.version = '0.2.2'
+ s.version = '0.2.3'
s.licenses = %w( Apache-2.0 )
s.platform = Gem::Platform::RUBY
s.authors = [ 'Saku Ytti' ]