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:45:32 +0100 | 
| commit | 8af82629acea08774b2e5cc6a6148079f04fdfad (patch) | |
| tree | 1d977e2233f1c46501a89acbb05d3757b0eaac82 /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 | 41 | 
1 files changed, 41 insertions, 0 deletions
| diff --git a/lib/oxidized/model/netgear.rb b/lib/oxidized/model/netgear.rb new file mode 100644 index 0000000..59616e2 --- /dev/null +++ b/lib/oxidized/model/netgear.rb @@ -0,0 +1,41 @@ +class Netgear < Oxidized::Model + +  comment '!' +  prompt /^(\([\w-]+\)\s[#>])$/ + +  def telnet +    @input.class.to_s.match(/Telnet/) +  end + +  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 :telnet, :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 + | 
