diff options
Diffstat (limited to 'lib/oxidized/model/awplus.rb')
| -rw-r--r-- | lib/oxidized/model/awplus.rb | 79 | 
1 files changed, 39 insertions, 40 deletions
diff --git a/lib/oxidized/model/awplus.rb b/lib/oxidized/model/awplus.rb index 1d8fbcd..7c88d60 100644 --- a/lib/oxidized/model/awplus.rb +++ b/lib/oxidized/model/awplus.rb @@ -1,27 +1,26 @@  class AWPlus < Oxidized::Model +  # Allied Telesis Alliedware Plus Model# +  # https://www.alliedtelesis.com/products/software/AlliedWare-Plus -  #Allied Telesis Alliedware Plus Model# -  #https://www.alliedtelesis.com/products/software/AlliedWare-Plus -      prompt /^(\r?[\w.@:\/-]+[#>]\s?)$/ -  comment  '! ' +  comment '! ' -  #Avoids needing "term length 0" to display full config file.  -    expect /--More--/ do |data, re| -      send ' ' -      data.sub re, '' -    end +  # Avoids needing "term length 0" to display full config file. +  expect /--More--/ do |data, re| +    send ' ' +    data.sub re, '' +  end -  #Removes gibberish pager output e.g. VT100 escape codes +  # Removes gibberish pager output e.g. VT100 escape codes    cmd :all do |cfg|      cfg.gsub! /\e\[K/, ''         # example how to handle pager - cleareol EL0      cfg.gsub! /\e\[7m\e\[m/, ''   # example how to handle pager - Reverse SGR7 -    cfg.gsub! /\r/, ''  # Filters rogue ^M - see issue #415 +    cfg.gsub! /\r/, '' # Filters rogue ^M - see issue #415      cfg.each_line.to_a[1..-2].join    end -  #Remove passwords from config file. -  #Add vars "remove_secret: true" to global oxidized config file to enable.  +  # Remove passwords from config file. +  # Add vars "remove_secret: true" to global oxidized config file to enable.    cmd :secret do |cfg|      cfg.gsub! /^(snmp-server community).*/, '\\1 <configuration removed>' @@ -34,52 +33,52 @@ class AWPlus < Oxidized::Model      cfg    end -  #Adds "Show system" output to start of config.  +  # Adds "Show system" output to start of config.    cmd 'Show System' do |cfg| -    comment cfg.insert(0,"--------------------------------------------------------------------------------! \n") -    #Unhash below to write a comment in the config file. -    cfg.insert(0,"Starting: Show system cmd \n") +    comment cfg.insert(0, "--------------------------------------------------------------------------------! \n") +    # Unhash below to write a comment in the config file. +    cfg.insert(0, "Starting: Show system cmd \n")      cfg << "\n \nEnding: show system cmd"      comment cfg << "\n--------------------------------------------------------------------------------! \n \n" -    #Removes the following lines from "show system" in output file. This ensures oxidized diffs are meaningful.  -    comment cfg.each_line.reject { |line|  -                                    line.match /^$\n/ or #Remove blank lines in "sh sys" -                                    line.match /System Status\s*.*/ or -                                    line.match /RAM\s*:.*/ or  -                                    line.match /Uptime\s*:.*/ or  -                                    line.match /Flash\s*:.*/ or  -                                    line.match /Current software\s*:.*/ or  -                                    line.match /Software version\s*:.*/ or  -                                    line.match /Build date\s*:.*/ }.join +    # Removes the following lines from "show system" in output file. This ensures oxidized diffs are meaningful. +    comment cfg.each_line.reject { |line| +              line.match /^$\n/ or # Remove blank lines in "sh sys" +                line.match /System Status\s*.*/ or +                line.match /RAM\s*:.*/ or +                line.match /Uptime\s*:.*/ or +                line.match /Flash\s*:.*/ or +                line.match /Current software\s*:.*/ or +                line.match /Software version\s*:.*/ or +                line.match /Build date\s*:.*/ +            } .join    end -      -  #Actually get the devices running config# + +  # Actually get the devices running config#    cmd 'show running-config' do |cfg|      cfg    end -   -  #Config required for telnet to detect username prompt + +  # Config required for telnet to detect username prompt    cfg :telnet do      username /login:\s/ -    end +  end -  #Main login config -    cfg :telnet, :ssh do +  # Main login config +  cfg :telnet, :ssh do      post_login do        if vars :enable          send "enable\n"          expect /^Password:\s/          cmd vars(:enable) + "\r\n"        else -        cmd 'enable' # Required for Priv-Exec users without enable PW to be put into "enable mode".  +        cmd 'enable' # Required for Priv-Exec users without enable PW to be put into "enable mode".        end -#      cmd 'terminal length 0' #set so the entire config is output without intervention. +      #      cmd 'terminal length 0' #set so the entire config is output without intervention.      end      pre_logout do -#      cmd 'terminal no length' #Sets term length back to default on exit.  -      send  "exit\r\n" +      #      cmd 'terminal no length' #Sets term length back to default on exit. +      send "exit\r\n"      end -  end   - +  end  end  | 
