From 66e9cdd926211793c8465daae8cedf27575580fa Mon Sep 17 00:00:00 2001
From: Marcus Stoegbauer <ms@man-da.de>
Date: Wed, 23 Jul 2014 23:11:28 +0200
Subject: Drop prompt lines from config, discard changes on exit

---
 lib/oxidized/model/screenos.rb | 39 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)
 create mode 100644 lib/oxidized/model/screenos.rb

diff --git a/lib/oxidized/model/screenos.rb b/lib/oxidized/model/screenos.rb
new file mode 100644
index 0000000..922f401
--- /dev/null
+++ b/lib/oxidized/model/screenos.rb
@@ -0,0 +1,39 @@
+class ScreenOS  < Oxidized::Model
+
+  # Netscreen ScreenOS model #
+
+  comment  '! '
+
+  prompt '/^([\w.-\(\)]+->\s?)$/'
+
+  cmd :all do |cfg|
+    cfg.each_line.to_a[2..-2].join
+  end
+
+  cmd :secret do |cfg| 
+    cfg.gsub! /^(set admin name) .*|^(set admin password) .*/, '\\1 <removed>'
+    cfg.gsub! /^(set admin user .* password) .* (.*)/, '\\1 <removed> \\2'
+    cfg.gsub! /(secret|password|preshare) .*/, '\\1 <secret hidden>'
+    cfg
+  end
+
+  cmd 'get system' do |cfg|
+    comment cfg
+  end
+
+  cmd 'get config' do |cfg|
+    cfg = cfg.each_line.to_a[3..-1].join
+    cfg
+  end
+
+  cfg :telnet do
+    username '/^login:/'
+    password '/^password:/'
+  end
+
+  cfg :telnet, :ssh do
+    post_login 'set console page 0'
+    pre_logout 'exit'
+  end
+
+end
-- 
cgit v1.2.3