summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorseekerOK <31246524+seekerOK@users.noreply.github.com>2017-09-18 14:44:12 -0400
committerDanilo Sousa <danilopopeye@users.noreply.github.com>2017-09-18 15:44:12 -0300
commitccfc6f0d69457bdf1f7867be44e1c593522ee15d (patch)
tree40a54dae491e32c55c739a20bd0ef2b213eacc26
parent525891295bcca31dba9e8a8079fa64a293335814 (diff)
support for SGOS (#1007)
add sgos.rb to Supported OS types
-rw-r--r--README.md2
-rw-r--r--lib/oxidized/model/sgos.rb46
2 files changed, 48 insertions, 0 deletions
diff --git a/README.md b/README.md
index ea75d07..40d7e62 100644
--- a/README.md
+++ b/README.md
@@ -181,6 +181,8 @@ Oxidized is a network device configuration backup tool. It's a RANCID replacemen
* [EtherHaul](lib/oxidized/model/siklu.rb)
* Supermicro
* [Supermicro](lib/oxidized/model/supermicro.rb)
+ * Symantec
+ * [Blue Coat ProxySG / Security Gateway OS (SGOS)](lib/oxidized/model/sgos.rb)
* Trango Systems
* [Trango](lib/oxidized/model/trango.rb)
* TPLink
diff --git a/lib/oxidized/model/sgos.rb b/lib/oxidized/model/sgos.rb
new file mode 100644
index 0000000..3d42a53
--- /dev/null
+++ b/lib/oxidized/model/sgos.rb
@@ -0,0 +1,46 @@
+class SGOS < Oxidized::Model
+
+ comment '!- '
+ prompt /\w+>|#/
+
+ expect /--More--/ do |data, re|
+ send ' '
+ data.sub re, ''
+ end
+
+ cmd :all do |cfg|
+ cfg.each_line.to_a[1..-3].join
+ end
+
+ cmd 'show licenses' do |cfg|
+ comment cfg
+ end
+
+ cmd 'show general' do |cfg|
+ comment cfg
+ end
+
+ cmd :secret do |cfg|
+ cfg.gsub! /^(security hashed-enable-password).*/, '\\1 <secret hidden>'
+ cfg.gsub! /^(security hashed-password).*/, '\\1 <secret hidden>'
+ cfg
+ end
+
+ cmd 'show configuration expanded noprompts with-keyrings unencrypted' do |cfg|
+ cfg.gsub! /^(!- Local time).*/,""
+ cfg.gsub! /^(archive-configuration encrypted-password).*/, ""
+ cfg.gsub! /^(download encrypted-password).*/, ""
+ cfg
+ end
+
+ cfg :telnet, :ssh do
+ # preferred way to handle additional passwords
+ if vars :enable
+ post_login do
+ send "enable\n"
+ cmd vars(:enable)
+ end
+ end
+ pre_logout 'exit'
+ end
+end