oxidized 0.26.3 → 0.27.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (59) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop_todo.yml +20 -4
  3. data/CHANGELOG.md +48 -4
  4. data/Dockerfile +6 -4
  5. data/README.md +2 -2
  6. data/Rakefile +4 -4
  7. data/bin/oxidized +2 -0
  8. data/docs/Configuration.md +40 -0
  9. data/docs/Creating-Models.md +39 -1
  10. data/docs/Model-Notes/JunOS.md +7 -7
  11. data/docs/Model-Notes/LinuxGeneric.md +23 -0
  12. data/docs/Model-Notes/Netgear.md +12 -1
  13. data/docs/Model-Notes/README.md +2 -0
  14. data/docs/Model-Notes/ios.md +29 -0
  15. data/docs/Supported-OS-Types.md +19 -3
  16. data/docs/Troubleshooting.md +66 -0
  17. data/extra/nagios_check_failing_nodes.rb +9 -2
  18. data/extra/oxidized.service +2 -0
  19. data/extra/syslog.rb +28 -23
  20. data/lib/oxidized/cli.rb +10 -6
  21. data/lib/oxidized/config/vars.rb +8 -9
  22. data/lib/oxidized/hook/githubrepo.rb +1 -1
  23. data/lib/oxidized/input/exec.rb +28 -0
  24. data/lib/oxidized/input/telnet.rb +1 -1
  25. data/lib/oxidized/model/adtran.rb +4 -0
  26. data/lib/oxidized/model/airfiber.rb +22 -0
  27. data/lib/oxidized/model/aos.rb +8 -0
  28. data/lib/oxidized/model/aosw.rb +1 -1
  29. data/lib/oxidized/model/c4cmts.rb +1 -1
  30. data/lib/oxidized/model/cambium.rb +1 -0
  31. data/lib/oxidized/model/ciscosmb.rb +0 -5
  32. data/lib/oxidized/model/comware.rb +17 -8
  33. data/lib/oxidized/model/dlink.rb +1 -1
  34. data/lib/oxidized/model/fastiron.rb +66 -0
  35. data/lib/oxidized/model/firelinuxos.rb +41 -0
  36. data/lib/oxidized/model/fortios.rb +5 -0
  37. data/lib/oxidized/model/hpmsm.rb +84 -0
  38. data/lib/oxidized/model/icotera.rb +27 -0
  39. data/lib/oxidized/model/ios.rb +4 -0
  40. data/lib/oxidized/model/ironware.rb +1 -0
  41. data/lib/oxidized/model/junos.rb +2 -2
  42. data/lib/oxidized/model/linuxgeneric.rb +74 -0
  43. data/lib/oxidized/model/model.rb +23 -13
  44. data/lib/oxidized/model/netgear.rb +16 -1
  45. data/lib/oxidized/model/oneos.rb +8 -0
  46. data/lib/oxidized/model/procurve.rb +8 -6
  47. data/lib/oxidized/model/purityos.rb +12 -0
  48. data/lib/oxidized/model/routeros.rb +13 -3
  49. data/lib/oxidized/model/screenos.rb +2 -3
  50. data/lib/oxidized/model/sonicos.rb +46 -0
  51. data/lib/oxidized/model/speedtouch.rb +34 -0
  52. data/lib/oxidized/model/sros.rb +11 -32
  53. data/lib/oxidized/model/voss.rb +5 -2
  54. data/lib/oxidized/model/zynosgs.rb +38 -0
  55. data/lib/oxidized/node.rb +14 -14
  56. data/lib/oxidized/version.rb +2 -2
  57. data/oxidized.gemspec +6 -4
  58. metadata +52 -17
  59. data/lib/oxidized/model/netgearxs716.rb +0 -23
@@ -30,6 +30,14 @@ class OneOS < Oxidized::Model
30
30
  comment cfg
31
31
  end
32
32
 
33
+ cmd 'show system hardware' do |cfg|
34
+ comment cfg
35
+ end
36
+
37
+ cmd 'show product-info-area' do |cfg|
38
+ comment cfg
39
+ end
40
+
33
41
  cmd 'show running-config' do |cfg|
34
42
  cfg = cfg.each_line.to_a[0..-1].join
35
43
  cfg.gsub! /^Building configuration...\s*[^\n]*\n/, ''
@@ -1,7 +1,9 @@
1
1
  class Procurve < Oxidized::Model
2
- # some models start lines with \r
3
2
  # previous command is repeated followed by "\eE", which sometimes ends up on last line
4
- prompt /^\r?([\w\s.-]+# )$/
3
+ # ssh switches prompt may start with \r, followed by the prompt itself, regex ([\w\s.-]+# ), which ends the line
4
+ # telnet switchs may start with various vt100 control characters, regex (\e\[24;[0-9][hH]), follwed by the prompt, followed
5
+ # by at least 3 other vt100 characters
6
+ prompt /(^\r|\e\[24;[0-9][hH])?([\w\s.-]+# )($|(\e\[24;[0-9][0-9]?[hH]){3})/
5
7
 
6
8
  comment '! '
7
9
 
@@ -28,6 +30,10 @@ class Procurve < Oxidized::Model
28
30
  cmd :all do |cfg|
29
31
  cfg = cfg.cut_both
30
32
  cfg = cfg.gsub /^\r/, ''
33
+ # Additional filtering for elder switches sending vt100 control chars via telnet
34
+ cfg.gsub! /\e\[\??\d+(;\d+)*[A-Za-z]/, ''
35
+ # Additional filtering for power usage reporting which obviously changes over time
36
+ cfg.gsub! /^(.*AC [0-9]{3}V\/?([0-9]{3}V)?) *([0-9]{1,3}) (.*)/, '\\1 <removed> \\4'
31
37
  cfg
32
38
  end
33
39
 
@@ -49,10 +55,6 @@ class Procurve < Oxidized::Model
49
55
  comment cfg
50
56
  end
51
57
 
52
- cmd 'show system power-supply' do |cfg|
53
- comment cfg
54
- end
55
-
56
58
  cmd 'show interfaces transceiver' do |cfg|
57
59
  comment cfg
58
60
  end
@@ -0,0 +1,12 @@
1
+ class PurityOS < Oxidized::Model
2
+ # Pure Storage Purity OS
3
+
4
+ prompt /\w+@\S+(\s+\S+)*\s?>\s?$/
5
+ comment '# '
6
+
7
+ cmd 'pureconfig list'
8
+
9
+ cfg :ssh do
10
+ pre_logout 'exit'
11
+ end
12
+ end
@@ -1,7 +1,17 @@
1
1
  class RouterOS < Oxidized::Model
2
- prompt /\[\w+@\S+(\s?\S+)*\]\s?>\s?$/
2
+ prompt /\[\w+@\S+(\s+\S+)*\]\s?>\s?$/
3
3
  comment "# "
4
4
 
5
+ cmd :all do |cfg|
6
+ cfg.gsub! /\x1B\[([0-9]{1,3}(;[0-9]{1,3})*)?[m|K]/, '' # strip ANSI colours
7
+ if screenscrape
8
+ cfg = cfg.cut_both
9
+ cfg.gsub! /^\r+(.+)/, '\1'
10
+ cfg.gsub! /([^\r]*)\r+$/, '\1'
11
+ end
12
+ cfg
13
+ end
14
+
5
15
  cmd '/system routerboard print' do |cfg|
6
16
  comment cfg
7
17
  end
@@ -17,9 +27,9 @@ class RouterOS < Oxidized::Model
17
27
  post do
18
28
  run_cmd = vars(:remove_secret) ? '/export hide-sensitive' : '/export'
19
29
  cmd run_cmd do |cfg|
20
- cfg.gsub! /\x1B\[([0-9]{1,3}((;[0-9]{1,3})*)?)?[m|K]/, '' # strip ANSI colours
21
- cfg.gsub! /\\\r\n\s+/, '' # strip new line
30
+ cfg.gsub! /\\\r?\n\s+/, '' # strip new line
22
31
  cfg.gsub! /# inactive time\r\n/, '' # Remove time based system comment
32
+ cfg.gsub! /# received packet from \S+ bad format\r\n/, '' # Remove intermittent VRRP/CARP collision comment
23
33
  cfg = cfg.split("\n").reject { |line| line[/^#\s\w{3}\/\d{2}\/\d{4}.*$/] }
24
34
  cfg.join("\n") + "\n"
25
35
  end
@@ -6,7 +6,7 @@ class ScreenOS < Oxidized::Model
6
6
  prompt /^[\w.:()-]+->\s?$/
7
7
 
8
8
  cmd :all do |cfg|
9
- cfg.each_line.to_a[2..-2].join
9
+ cfg.each_line.to_a[1..-2].join
10
10
  end
11
11
 
12
12
  cmd :secret do |cfg|
@@ -24,8 +24,7 @@ class ScreenOS < Oxidized::Model
24
24
  end
25
25
 
26
26
  cmd 'get config' do |cfg|
27
- cfg = cfg.each_line.to_a[3..-1].join
28
- cfg
27
+ cfg.each_line.to_a[1..-1].join
29
28
  end
30
29
 
31
30
  cfg :telnet do
@@ -0,0 +1,46 @@
1
+ class SonicOS < Oxidized::Model
2
+ # Applies to Sonicwall NSA series firewalls
3
+
4
+ prompt /^\w+@\w+[>]\(?.+\)?\s?/
5
+ comment '! '
6
+
7
+ cmd :all do |cfg|
8
+ cfg.each_line.to_a[1..-2].join
9
+ end
10
+
11
+ cmd :secret do |cfg|
12
+ cfg.gsub! /cli ftp password default \d\,(\S+)/, 'cli ftp password default <secret hidden> \2'
13
+ cfg.gsub! /secret \d\,(\S+)/, 'secret <secret hidden> \2'
14
+ cfg.gsub! /shared-secret \d\,(\S+)/, 'shared-secret <secret hidden> \2'
15
+ cfg
16
+ end
17
+
18
+ cmd 'show version' do |cfg|
19
+ cfg = comment clean cfg
20
+ cfg << "\n"
21
+ end
22
+
23
+ cmd 'show current-config' do |cfg|
24
+ cfg.gsub! /^: [^\n]*\n/, ''
25
+ clean cfg
26
+ end
27
+
28
+ cfg :ssh do
29
+ post_login 'no cli pager session'
30
+ pre_logout 'exit'
31
+ end
32
+
33
+ def clean(cfg)
34
+ out = []
35
+ cfg.each_line do |line|
36
+ next if line =~ /system-time \"\d{2}\/\d{2}\/\d{4} \d{2}\:\d{2}:\d{2}.\d+\"/
37
+ next if line =~ /system-uptime "(\s+up\s+\d+\s+)|(.*Days.*)"/
38
+ next if line =~ /checksum \d+/
39
+
40
+ line = line[1..-1] if line[0] == "\r"
41
+ out << line.strip
42
+ end
43
+ out = out.join "\n"
44
+ out << "\n"
45
+ end
46
+ end
@@ -0,0 +1,34 @@
1
+ class SpeedTouch < Oxidized::Model
2
+ prompt /([\w{}=]+[>])$/
3
+ comment '! '
4
+
5
+ expect /login$/ do
6
+ send "\n"
7
+ ""
8
+ end
9
+
10
+ cmd ':env list' do |cfg|
11
+ cfg.each_line.select do |line|
12
+ (not line.match /:env list$/) &&
13
+ (not line.match /{\w+}=>$/)
14
+ end.join
15
+ comment cfg
16
+ end
17
+
18
+ cmd ':config dump' do |cfg|
19
+ cfg.each_line.select do |line|
20
+ (not line.match /:config dump$/) &&
21
+ (not line.match /{\w+}=>$/)
22
+ end.join
23
+ cfg
24
+ end
25
+
26
+ cfg :telnet do
27
+ username /^Username : /
28
+ password /^Password : /
29
+ end
30
+
31
+ cfg :telnet do
32
+ pre_logout 'exit'
33
+ end
34
+ end
@@ -10,6 +10,9 @@ class SROS < Oxidized::Model
10
10
 
11
11
  cmd :all do |cfg, cmdstring|
12
12
  new_cfg = comment "COMMAND: #{cmdstring}\n"
13
+ cfg.gsub! /# Finished .*/, ''
14
+ cfg.gsub! /# Generated .*/, ''
15
+ cfg.delete! "\r"
13
16
  new_cfg << cfg.cut_both
14
17
  end
15
18
 
@@ -17,8 +20,6 @@ class SROS < Oxidized::Model
17
20
  # Show the boot options file.
18
21
  #
19
22
  cmd 'show bof' do |cfg|
20
- cfg.gsub! /# Finished .*/, ''
21
- cfg.gsub! /# Generated .*/, ''
22
23
  comment cfg
23
24
  end
24
25
 
@@ -30,8 +31,6 @@ class SROS < Oxidized::Model
30
31
  # Strip uptime.
31
32
  #
32
33
  cfg.sub! /^System Up Time.*\n/, ''
33
- cfg.gsub! /# Finished .*/, ''
34
- cfg.gsub! /# Generated .*/, ''
35
34
  comment cfg
36
35
  end
37
36
 
@@ -39,22 +38,21 @@ class SROS < Oxidized::Model
39
38
  # Show the card state.
40
39
  #
41
40
  cmd 'show card state' do |cfg|
42
- cfg.gsub! /# Finished .*/, ''
43
- cfg.gsub! /# Generated .*/, ''
44
41
  comment cfg
45
42
  end
46
43
 
44
+ #
45
+ # Show the chassis information.
46
+ #
47
+ cmd 'show chassis' do |cfg|
48
+ comment cfg.lines.to_a[0..25].reject { |line| line.match /state|Time|Temperature|Status/ }.join
49
+ end
50
+
47
51
  #
48
52
  # Show the boot log.
49
53
  #
50
54
  cmd 'file type bootlog.txt' do |cfg|
51
- #
52
- # Strip carriage returns and backspaces.
53
- #
54
- cfg.delete! "\r"
55
55
  cfg.gsub! /[\b][\b][\b]/, "\n"
56
- cfg.gsub! /# Finished .*/, ''
57
- cfg.gsub! /# Generated .*/, ''
58
56
  comment cfg
59
57
  end
60
58
 
@@ -62,8 +60,6 @@ class SROS < Oxidized::Model
62
60
  # Show the running debug configuration.
63
61
  #
64
62
  cmd 'show debug' do |cfg|
65
- cfg.gsub! /# Finished .*/, ''
66
- cfg.gsub! /# Generated .*/, ''
67
63
  comment cfg
68
64
  end
69
65
 
@@ -71,12 +67,6 @@ class SROS < Oxidized::Model
71
67
  # Show the saved debug configuration (admin debug-save).
72
68
  #
73
69
  cmd 'file type config.dbg' do |cfg|
74
- #
75
- # Strip carriage returns.
76
- #
77
- cfg.delete! "\r"
78
- cfg.gsub! /# Finished .*/, ''
79
- cfg.gsub! /# Generated .*/, ''
80
70
  comment cfg
81
71
  end
82
72
 
@@ -84,12 +74,6 @@ class SROS < Oxidized::Model
84
74
  # Show the running persistent indices.
85
75
  #
86
76
  cmd 'admin display-config index' do |cfg|
87
- #
88
- # Strip carriage returns.
89
- #
90
- cfg.delete! "\r"
91
- cfg.gsub! /# Finished .*/, ''
92
- cfg.gsub! /# Generated .*/, ''
93
77
  comment cfg
94
78
  end
95
79
 
@@ -97,12 +81,7 @@ class SROS < Oxidized::Model
97
81
  # Show the running configuration.
98
82
  #
99
83
  cmd 'admin display-config' do |cfg|
100
- #
101
- # Strip carriage returns.
102
- #
103
- cfg.delete! "\r"
104
- cfg.gsub! /# Finished .*/, ''
105
- cfg.gsub! /# Generated .*/, ''
84
+ cfg
106
85
  end
107
86
 
108
87
  cfg :telnet do
@@ -1,7 +1,7 @@
1
1
  class Voss < Oxidized::Model
2
- # Avaya VSP Operating System Software(VOSS)
2
+ # Extreme/Avaya VSP Operating System Software(VOSS)
3
3
  # Created by danielcoxman@gmail.com
4
- # May 25, 2017
4
+ # March 16, 2019
5
5
  # This was tested on vsp4k and vsp8k
6
6
 
7
7
  comment '# '
@@ -16,6 +16,9 @@ class Voss < Oxidized::Model
16
16
  cfg.gsub! /(^((.*)SysUpTime(.*))$)/, 'removed SysUpTime'
17
17
  cfg.gsub! /^((.*)Temperature Info :(.*\r?\n){4})/, 'removed Temperature Info and 3 more lines'
18
18
  cfg.gsub! /(^((.*)AmbientTemperature(.*):(.*))$)/, 'removed AmbientTemperature'
19
+ cfg.gsub! /(^((.*)Last Change(.*):(.*))$)/, 'remove Last Change'
20
+ cfg.gsub! /(^((.*)Last Statistic Reset(.*):(.*))$)/, 'removed Last Statistic Reset'
21
+ cfg.gsub! /(^((.*)Last Vlan Change(.*):(.*))$)/, 'removed Last Vlan Change'
19
22
  cfg.gsub! /(^((.*)Temperature(.*):(.*))$)/, 'removed Temperature'
20
23
  cfg.gsub! /(^((.*)Total Power Usage(.*):(.*))$)/, 'removed Total Power Usage'
21
24
  comment "#{cfg}\n"
@@ -0,0 +1,38 @@
1
+ class ZyNOSGS < Oxidized::Model
2
+ # Used in Zyxel GS1900 switches, tested with GS1900-8
3
+ prompt /^.*# $/
4
+ comment '! '
5
+ expect /^--More--$/ do |data, re|
6
+ send ' '
7
+ data.sub re, ''
8
+ end
9
+
10
+ # replace all used vt100 control sequences
11
+ expect /\e\[\??\d+(;\d+)*[A-Za-z]/ do |data, re|
12
+ data.gsub re, ''
13
+ end
14
+ cmd 'show running-config' do |cfg|
15
+ cfg.gsub! /(System Up Time:) \S+(.*)/, '\\1 <time>'
16
+ # Remove garbage vt100 control sequences
17
+ # Backspace 0x07 char or escape char + control chars
18
+ cfg.gsub! /[\b]|\e\[A|\e\[2K/, ''
19
+ cfg
20
+ end
21
+
22
+ cfg :telnet, :ssh do
23
+ username /^(User name|.*Username):/
24
+ password /^\r?Password:/
25
+ end
26
+ cfg :telnet do
27
+ pre_logout do
28
+ send "exit\r"
29
+ end
30
+ end
31
+ cfg :ssh do
32
+ pre_logout do
33
+ # Yes, that GS1900 switch needs two exit !
34
+ send "exit\n"
35
+ send "exit\n"
36
+ end
37
+ end
38
+ end
@@ -14,20 +14,20 @@ module Oxidized
14
14
  # remove the prefix if an IP Address is provided with one as IPAddr converts it to a network address.
15
15
  ip_addr, = opt[:ip].to_s.split("/")
16
16
  Oxidized.logger.debug 'IPADDR %s' % ip_addr.to_s
17
- @name = opt[:name]
18
- @ip = IPAddr.new(ip_addr).to_s rescue nil
19
- @ip ||= Resolv.new.getaddress(@name) if Oxidized.config.resolve_dns?
20
- @ip ||= @name
21
- @group = opt[:group]
22
- @model = resolve_model opt
23
- @input = resolve_input opt
24
- @output = resolve_output opt
25
- @auth = resolve_auth opt
26
- @prompt = resolve_prompt opt
27
- @vars = opt[:vars]
28
- @stats = Stats.new
29
- @retry = 0
30
- @repo = resolve_repo opt
17
+ @name = opt[:name]
18
+ @ip = IPAddr.new(ip_addr).to_s rescue nil
19
+ @ip ||= Resolv.new.getaddress(@name) if Oxidized.config.resolve_dns?
20
+ @ip ||= @name
21
+ @group = opt[:group]
22
+ @model = resolve_model opt
23
+ @input = resolve_input opt
24
+ @output = resolve_output opt
25
+ @auth = resolve_auth opt
26
+ @prompt = resolve_prompt opt
27
+ @vars = opt[:vars]
28
+ @stats = Stats.new
29
+ @retry = 0
30
+ @repo = resolve_repo opt
31
31
 
32
32
  # model instance needs to access node instance
33
33
  @model.node = self
@@ -1,6 +1,6 @@
1
1
  module Oxidized
2
- VERSION = '0.26.3'.freeze
3
- VERSION_FULL = '0.26.3'.freeze
2
+ VERSION = '0.27.0'.freeze
3
+ VERSION_FULL = '0.27.0'.freeze
4
4
  def self.version_set
5
5
  version_full = %x(git describe --tags).chop rescue ""
6
6
  version = %x(git describe --tags --abbrev=0).chop rescue ""
@@ -19,10 +19,12 @@ Gem::Specification.new do |s|
19
19
 
20
20
  s.required_ruby_version = '>= 2.3'
21
21
  s.add_runtime_dependency 'asetus', '~> 0.1'
22
+ s.add_runtime_dependency 'bcrypt_pbkdf', '~> 1.0'
23
+ s.add_runtime_dependency 'ed25519', '~> 1.2'
22
24
  s.add_runtime_dependency 'net-ssh', '~> 5'
23
- s.add_runtime_dependency 'net-telnet', '~> 0.1.1'
24
- s.add_runtime_dependency 'rugged', '~> 0.21', '>= 0.21.4'
25
- s.add_runtime_dependency 'slop', '~> 3.5'
25
+ s.add_runtime_dependency 'net-telnet', '~> 0.2'
26
+ s.add_runtime_dependency 'rugged', '~> 0.28'
27
+ s.add_runtime_dependency 'slop', '~> 4.6'
26
28
 
27
29
  s.add_development_dependency 'bundler', '~> 2.0'
28
30
  s.add_development_dependency 'codecov' if ENV['CI'] == 'true'
@@ -31,6 +33,6 @@ Gem::Specification.new do |s|
31
33
  s.add_development_dependency 'mocha', '~> 1.1'
32
34
  s.add_development_dependency 'pry', '~> 0'
33
35
  s.add_development_dependency 'rake', '~> 10.0'
34
- s.add_development_dependency 'rubocop', '~> 0.65.0'
36
+ s.add_development_dependency 'rubocop', '~> 0.74.0'
35
37
  s.add_development_dependency 'simplecov'
36
38
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: oxidized
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.26.3
4
+ version: 0.27.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Saku Ytti
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2019-03-06 00:00:00.000000000 Z
13
+ date: 2019-10-27 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: asetus
@@ -26,6 +26,34 @@ dependencies:
26
26
  - - "~>"
27
27
  - !ruby/object:Gem::Version
28
28
  version: '0.1'
29
+ - !ruby/object:Gem::Dependency
30
+ name: bcrypt_pbkdf
31
+ requirement: !ruby/object:Gem::Requirement
32
+ requirements:
33
+ - - "~>"
34
+ - !ruby/object:Gem::Version
35
+ version: '1.0'
36
+ type: :runtime
37
+ prerelease: false
38
+ version_requirements: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - "~>"
41
+ - !ruby/object:Gem::Version
42
+ version: '1.0'
43
+ - !ruby/object:Gem::Dependency
44
+ name: ed25519
45
+ requirement: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - "~>"
48
+ - !ruby/object:Gem::Version
49
+ version: '1.2'
50
+ type: :runtime
51
+ prerelease: false
52
+ version_requirements: !ruby/object:Gem::Requirement
53
+ requirements:
54
+ - - "~>"
55
+ - !ruby/object:Gem::Version
56
+ version: '1.2'
29
57
  - !ruby/object:Gem::Dependency
30
58
  name: net-ssh
31
59
  requirement: !ruby/object:Gem::Requirement
@@ -46,48 +74,42 @@ dependencies:
46
74
  requirements:
47
75
  - - "~>"
48
76
  - !ruby/object:Gem::Version
49
- version: 0.1.1
77
+ version: '0.2'
50
78
  type: :runtime
51
79
  prerelease: false
52
80
  version_requirements: !ruby/object:Gem::Requirement
53
81
  requirements:
54
82
  - - "~>"
55
83
  - !ruby/object:Gem::Version
56
- version: 0.1.1
84
+ version: '0.2'
57
85
  - !ruby/object:Gem::Dependency
58
86
  name: rugged
59
87
  requirement: !ruby/object:Gem::Requirement
60
88
  requirements:
61
89
  - - "~>"
62
90
  - !ruby/object:Gem::Version
63
- version: '0.21'
64
- - - ">="
65
- - !ruby/object:Gem::Version
66
- version: 0.21.4
91
+ version: '0.28'
67
92
  type: :runtime
68
93
  prerelease: false
69
94
  version_requirements: !ruby/object:Gem::Requirement
70
95
  requirements:
71
96
  - - "~>"
72
97
  - !ruby/object:Gem::Version
73
- version: '0.21'
74
- - - ">="
75
- - !ruby/object:Gem::Version
76
- version: 0.21.4
98
+ version: '0.28'
77
99
  - !ruby/object:Gem::Dependency
78
100
  name: slop
79
101
  requirement: !ruby/object:Gem::Requirement
80
102
  requirements:
81
103
  - - "~>"
82
104
  - !ruby/object:Gem::Version
83
- version: '3.5'
105
+ version: '4.6'
84
106
  type: :runtime
85
107
  prerelease: false
86
108
  version_requirements: !ruby/object:Gem::Requirement
87
109
  requirements:
88
110
  - - "~>"
89
111
  - !ruby/object:Gem::Version
90
- version: '3.5'
112
+ version: '4.6'
91
113
  - !ruby/object:Gem::Dependency
92
114
  name: bundler
93
115
  requirement: !ruby/object:Gem::Requirement
@@ -178,14 +200,14 @@ dependencies:
178
200
  requirements:
179
201
  - - "~>"
180
202
  - !ruby/object:Gem::Version
181
- version: 0.65.0
203
+ version: 0.74.0
182
204
  type: :development
183
205
  prerelease: false
184
206
  version_requirements: !ruby/object:Gem::Requirement
185
207
  requirements:
186
208
  - - "~>"
187
209
  - !ruby/object:Gem::Version
188
- version: 0.65.0
210
+ version: 0.74.0
189
211
  - !ruby/object:Gem::Dependency
190
212
  name: simplecov
191
213
  requirement: !ruby/object:Gem::Requirement
@@ -235,6 +257,7 @@ files:
235
257
  - docs/Model-Notes/Cumulus.md
236
258
  - docs/Model-Notes/EOS.md
237
259
  - docs/Model-Notes/JunOS.md
260
+ - docs/Model-Notes/LinuxGeneric.md
238
261
  - docs/Model-Notes/Netgear.md
239
262
  - docs/Model-Notes/Nokia.md
240
263
  - docs/Model-Notes/README.md
@@ -242,10 +265,12 @@ files:
242
265
  - docs/Model-Notes/VRP-Huawei.md
243
266
  - docs/Model-Notes/Viptela.md
244
267
  - docs/Model-Notes/XGS4600-Zyxel.md
268
+ - docs/Model-Notes/ios.md
245
269
  - docs/Outputs.md
246
270
  - docs/Ruby-API.md
247
271
  - docs/Sources.md
248
272
  - docs/Supported-OS-Types.md
273
+ - docs/Troubleshooting.md
249
274
  - extra/auto-reload-config.runit
250
275
  - extra/nagios_check_failing_nodes.rb
251
276
  - extra/oxidized-report-git-commits
@@ -277,6 +302,7 @@ files:
277
302
  - lib/oxidized/hook/slackdiff.rb
278
303
  - lib/oxidized/hook/xmppdiff.rb
279
304
  - lib/oxidized/input/cli.rb
305
+ - lib/oxidized/input/exec.rb
280
306
  - lib/oxidized/input/ftp.rb
281
307
  - lib/oxidized/input/http.rb
282
308
  - lib/oxidized/input/input.rb
@@ -291,6 +317,7 @@ files:
291
317
  - lib/oxidized/model/adtran.rb
292
318
  - lib/oxidized/model/aen.rb
293
319
  - lib/oxidized/model/aireos.rb
320
+ - lib/oxidized/model/airfiber.rb
294
321
  - lib/oxidized/model/airos.rb
295
322
  - lib/oxidized/model/alteonos.rb
296
323
  - lib/oxidized/model/alvarion.rb
@@ -335,8 +362,10 @@ files:
335
362
  - lib/oxidized/model/enterasys.rb
336
363
  - lib/oxidized/model/eos.rb
337
364
  - lib/oxidized/model/fabricos.rb
365
+ - lib/oxidized/model/fastiron.rb
338
366
  - lib/oxidized/model/fiberdriver.rb
339
367
  - lib/oxidized/model/firebrick.rb
368
+ - lib/oxidized/model/firelinuxos.rb
340
369
  - lib/oxidized/model/firewareos.rb
341
370
  - lib/oxidized/model/fortios.rb
342
371
  - lib/oxidized/model/ftos.rb
@@ -348,6 +377,8 @@ files:
348
377
  - lib/oxidized/model/hirschmann.rb
349
378
  - lib/oxidized/model/hpebladesystem.rb
350
379
  - lib/oxidized/model/hpemsa.rb
380
+ - lib/oxidized/model/hpmsm.rb
381
+ - lib/oxidized/model/icotera.rb
351
382
  - lib/oxidized/model/ios.rb
352
383
  - lib/oxidized/model/iosxe.rb
353
384
  - lib/oxidized/model/iosxr.rb
@@ -355,13 +386,13 @@ files:
355
386
  - lib/oxidized/model/ironware.rb
356
387
  - lib/oxidized/model/isam.rb
357
388
  - lib/oxidized/model/junos.rb
389
+ - lib/oxidized/model/linuxgeneric.rb
358
390
  - lib/oxidized/model/masteros.rb
359
391
  - lib/oxidized/model/mlnxos.rb
360
392
  - lib/oxidized/model/model.rb
361
393
  - lib/oxidized/model/mtrlrfs.rb
362
394
  - lib/oxidized/model/ndms.rb
363
395
  - lib/oxidized/model/netgear.rb
364
- - lib/oxidized/model/netgearxs716.rb
365
396
  - lib/oxidized/model/netonix.rb
366
397
  - lib/oxidized/model/netscaler.rb
367
398
  - lib/oxidized/model/nos.rb
@@ -377,6 +408,7 @@ files:
377
408
  - lib/oxidized/model/planet.rb
378
409
  - lib/oxidized/model/powerconnect.rb
379
410
  - lib/oxidized/model/procurve.rb
411
+ - lib/oxidized/model/purityos.rb
380
412
  - lib/oxidized/model/quantaos.rb
381
413
  - lib/oxidized/model/raisecom.rb
382
414
  - lib/oxidized/model/routeros.rb
@@ -386,6 +418,8 @@ files:
386
418
  - lib/oxidized/model/siklu.rb
387
419
  - lib/oxidized/model/slxos.rb
388
420
  - lib/oxidized/model/smartax.rb
421
+ - lib/oxidized/model/sonicos.rb
422
+ - lib/oxidized/model/speedtouch.rb
389
423
  - lib/oxidized/model/sros.rb
390
424
  - lib/oxidized/model/stoneos.rb
391
425
  - lib/oxidized/model/supermicro.rb
@@ -405,6 +439,7 @@ files:
405
439
  - lib/oxidized/model/zhoneolt.rb
406
440
  - lib/oxidized/model/zynos.rb
407
441
  - lib/oxidized/model/zynoscli.rb
442
+ - lib/oxidized/model/zynosgs.rb
408
443
  - lib/oxidized/node.rb
409
444
  - lib/oxidized/node/stats.rb
410
445
  - lib/oxidized/nodes.rb