summaryrefslogtreecommitdiff
path: root/lib/oxidized
diff options
context:
space:
mode:
authorCppMonkey <parsons151185@gmail.com>2018-02-01 17:39:00 +0000
committerCppMonkey <parsons151185@gmail.com>2018-02-01 17:39:00 +0000
commit6890754f0a579fc9be3912113dcfe510b2837f7c (patch)
treeb73b9fe2bce50993ca08203aa16eb3df9441f6c1 /lib/oxidized
parent2726fff67ded963e24776e60f1e8976ae2bb037b (diff)
Initial commit for SSH/Telnet on Xyzel XGS4600 series
Diffstat (limited to 'lib/oxidized')
-rw-r--r--lib/oxidized/model/zynoscli.rb35
1 files changed, 35 insertions, 0 deletions
diff --git a/lib/oxidized/model/zynoscli.rb b/lib/oxidized/model/zynoscli.rb
new file mode 100644
index 0000000..9f29a16
--- /dev/null
+++ b/lib/oxidized/model/zynoscli.rb
@@ -0,0 +1,35 @@
+class ZyNOSCLI < Oxidized::Model
+
+ # Used in Zyxel DSLAMs, such as SAM1316
+
+ # Typical prompt "XGS4600#"
+ prompt /^([\w.@()-]+[#>]\s\e7)$/
+ comment ';; '
+
+ cmd :all do |cfg|
+ cfg.gsub! /^.*\e7/, ''
+ end
+
+ cmd 'show running-config'
+
+ cfg :telnet do
+ username /^User name:/i
+ password /^Password:/i
+ end
+
+ cfg :telnet, :ssh do
+ if vars :enable
+ post_login do
+ send "enable\n"
+ # Interpret enable: true as meaning we won't be prompted for a password
+ unless vars(:enable).is_a? TrueClass
+ expect /[pP]assword:\s?$/
+ send vars(:enable) + "\n"
+ end
+ expect /^.+[#]$/
+ end
+ end
+ pre_logout 'exit'
+ end
+
+end