Sha256: a0b7522f8eaa9af25dbdb9dfec1e7398cddf92e0575f2a017a2db283b713b9c9

Contents?: true

Size: 1.35 KB

Versions: 2

Compression:

Stored size: 1.35 KB

Contents

class Netgear < Oxidized::Model
  comment '!'
  prompt /^(\([\w\s\-.]+\)\s[#>])$/

  cmd :secret do |cfg|
    cfg.gsub!(/password (\S+)/, 'password <hidden>')
    cfg.gsub!(/encrypted (\S+)/, 'encrypted <hidden>')
    cfg.gsub!(/snmp-server community (\S+)/, 'snmp-server community <hidden>') # snmp
    cfg
  end

  cfg :telnet do
    username /^(User:|Applying Interface configuration, please wait ...)/
    password /^Password:/i
  end

  cfg :telnet, :ssh do
    post_login do
      if vars(:enable) == true
        cmd "enable"
      elsif vars(:enable)
        cmd "enable", /[pP]assword:\s?$/
        cmd vars(:enable)
      end
    end
    post_login 'terminal length 0'
    # quit / logout will sometimes prompt the user:
    #
    #     The system has unsaved changes.
    #     Would you like to save them now? (y/n)
    #
    # So it is safer simply to disconnect and not issue a pre_logout command
  end

  cmd :all do |cfg, cmdstring|
    new_cfg = comment "COMMAND: #{cmdstring}\n"
    new_cfg << cfg.each_line.to_a[1..-2].join
  end

  cmd 'show version' do |cfg|
    cfg.gsub! /(Current Time\.+ ).*/, '\\1 <removed>'
    comment cfg
  end

  cmd 'show bootvar' do |cfg|
    comment cfg
  end
  cmd 'show running-config' do |cfg|
    cfg.gsub! /(System Up Time\s+).*/, '\\1 <removed>'
    cfg.gsub! /(Current SNTP Synchronized Time:).*/, '\\1 <removed>'
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
oxidized-0.28.0 lib/oxidized/model/netgear.rb
oxidized-0.27.0 lib/oxidized/model/netgear.rb