diff options
author | Marcus Stoegbauer <ms@man-da.de> | 2014-07-23 23:11:28 +0200 |
---|---|---|
committer | Marcus Stoegbauer <ms@man-da.de> | 2014-07-23 23:11:28 +0200 |
commit | 66e9cdd926211793c8465daae8cedf27575580fa (patch) | |
tree | 82063e5b1471ef48f04e2ce3076a24140ded0a3c | |
parent | 78ab8e5a8fc7d3f965c2acf6a1fce070fc43d6c1 (diff) |
Drop prompt lines from config, discard changes on exit
-rw-r--r-- | lib/oxidized/model/screenos.rb | 39 |
1 files changed, 39 insertions, 0 deletions
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 |