diff options
author | Alexander Schaber <alexander@schaber.info> | 2017-02-07 13:45:32 +0100 |
---|---|---|
committer | Alexander Schaber <alexander@schaber.info> | 2017-02-07 13:57:15 +0100 |
commit | 7c42c2891e7da0432c805e95678934e5a63770cd (patch) | |
tree | 56beadca56378db31b0933b796350831b9cfddfb /lib/oxidized/model | |
parent | 2920c67dc3555c70c078bf4086b2e46d9f9d8299 (diff) |
add support for netgear switch
Diffstat (limited to 'lib/oxidized/model')
-rw-r--r-- | lib/oxidized/model/netgear.rb | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/lib/oxidized/model/netgear.rb b/lib/oxidized/model/netgear.rb new file mode 100644 index 0000000..47e00b1 --- /dev/null +++ b/lib/oxidized/model/netgear.rb @@ -0,0 +1,37 @@ +class Netgear < Oxidized::Model + + comment '!' + prompt /^(\([\w-]+\)\s[#>])$/ + + expect /^--More-- or \(q\)uit/ do |data, re| + send ' ' + data.sub re, '' + end + + cmd :secret do |cfg| + cfg.gsub!(/password (\S+)/, 'password <hidden>') + cfg + end + + cfg :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' + pre_logout 'quit' + end + + cmd 'show running-config' do |cfg| + cfg.gsub! /^(!.*Time).*$/, '\1' + end + +end + |