Skip to content

Commit

Permalink
Merge pull request #2916 from sugresmax/master
Browse files Browse the repository at this point in the history
AddPack, Zyxel Adsl modems support
  • Loading branch information
aschaber1 committed Oct 30, 2023
2 parents bac7df3 + 8f77be5 commit 0f91cfc
Show file tree
Hide file tree
Showing 5 changed files with 79 additions and 4 deletions.
3 changes: 3 additions & 0 deletions docs/Supported-OS-Types.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@
* [AEN](/lib/oxidized/model/aen.rb)
* Acme Packet
* [ACMEPACKET](/lib/oxidized/model/acmepacket.rb)
* AddPack
* [AddPack](/lib/oxidized/model/addpack.rb)
* Adtran
* [Total Access (AOS)](/lib/oxidized/model/adtran.rb)
* Alcatel-Lucent
Expand Down Expand Up @@ -276,5 +278,6 @@
* Zyxel
* [ZyNOS](/lib/oxidized/model/zynos.rb)
* [ZyNOS GS-series variant](/lib/oxidized/model/zynosgs.rb)
* [ZyNOS ADSL](/lib/oxidized/model/zynosadsl.rb)
* [NDMS](/lib/oxidized/model/ndms.rb)
* [1308](/lib/oxidized/model/zy1308.rb)
26 changes: 26 additions & 0 deletions lib/oxidized/model/addpack.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
class AddPack < Oxidized::Model
# Used in AddPack Voip, such as AP100B, AP100_G2, AP700, AP1000, AP1100F

using Refinements
PROMPT = /^.*[>#]\s?$/

expect /-- [Mm]ore --/ do |data, re|
send ' '
data.sub re, ''
end

prompt PROMPT
cmd 'enable'

cmd 'show running-config' do |cfg|
cfg.gsub! /^Building configuration.../, ''
cfg.gsub! /^*show running-config/, ''
cfg.gsub! PROMPT, ''
cfg
end

cfg :telnet do
username /[Ll]ogin:\s?/
password /[Pp]assword:\s?/
end
end
8 changes: 4 additions & 4 deletions lib/oxidized/model/routeros.rb
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,14 @@ class RouterOS < Oxidized::Model
cfg
end

cmd '/system routerboard print without-paging' do |cfg|
cmd '/system routerboard print' do |cfg|
cfg = cfg.each_line.grep(/(model|firmware-type|current-firmware|serial-number):/).join
comment cfg
end

cmd '/system package update print without-paging' do |cfg|
version_line = cfg.each_line.grep(/installed-version: /)[0]
@ros_version = /: ([0-9])/.match(version_line)[1].to_i
cmd '/system package update print' do |cfg|
version_line = cfg.each_line.grep(/installed-version:\s|current-version:\s/)[0]
@ros_version = /([0-9])/.match(version_line)[0].to_i
comment version_line
end

Expand Down
14 changes: 14 additions & 0 deletions lib/oxidized/model/zynosadsl.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
class ZyNOSADSL < Oxidized::Model
using Refinements

# Used in Zyxel ADSL, such as AAM1212-51

prompt /^.*>\s?$/
comment ';; '

cmd 'config show all nopause'

cfg :telnet do
password /^Password:/i
end
end
32 changes: 32 additions & 0 deletions lib/oxidized/model/zynosmgs.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
class ZyNOSMGS < Oxidized::Model
using Refinements

PROMPT = /^(\w.*)>(.*)?$/
# Used in Zyxel MGS Series switches

prompt PROMPT
comment '! '

cmd 'show version' do |cfg|
clear_output cfg
end

cmd 'show running-config' do |cfg|
clear_output cfg
end

cfg :telnet do
username /^User\s?name(\(1-32 chars\))?:/i
password /^Password(\(1-32 chars\))?:/i
end

cfg :telnet, :ssh do
pre_logout 'exit'
end

private

def clear_output(output)
output.gsub PROMPT, ''
end
end

0 comments on commit 0f91cfc

Please sign in to comment.