summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/oxidized/model/eciapollo.rb34
1 files changed, 34 insertions, 0 deletions
diff --git a/lib/oxidized/model/eciapollo.rb b/lib/oxidized/model/eciapollo.rb
new file mode 100644
index 0000000..ad15360
--- /dev/null
+++ b/lib/oxidized/model/eciapollo.rb
@@ -0,0 +1,34 @@
+# ECI Telecom Apollo
+# Tested on OPT9608 systems via SSH and telnet
+
+class ECIapollo < Oxidized::Model
+ prompt /^([\w.@()-]+[#>]\s?)$/
+ comment '# '
+
+ cmd :all do |cfg|
+ cfg.each_line.to_a[1..-2].join
+ end
+
+ cmd :secret do |cfg|
+ cfg.gsub!(/community (\S+) {/, 'community <hidden> {')
+ cfg.gsub!(/ "\$\d\$\S+; ## SECRET-DATA/, ' <secret removed>;')
+ cfg
+ end
+
+ cfg :telnet do
+ username(/^login:/)
+ password(/^Password:/)
+ end
+
+ cfg :telnet, :ssh do
+ post_login 'set cli screen-length 0'
+ post_login 'set cli screen-width 0'
+ pre_logout 'exit'
+ end
+
+ cmd('show version') { |cfg| comment cfg }
+ cmd('show system licenses') { |cfg| comment cfg }
+ cmd('show configuration') { |cfg| comment cfg }
+ cmd('show configuration | display-set') { |cfg| cfg }
+ cmd('show chassis inventory') { |cfg| comment cfg }
+end