summaryrefslogtreecommitdiff
path: root/lib/oxidized/model/sros.rb
blob: aab7d0e4d275065a99414cdde2de3d0497a66102 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
class SROS < Oxidized::Model
  #
  # Nokia SR OS (TiMOS) (formerly TiMetra, Alcatel, Alcatel-Lucent).
  # Used in 7705 SAR, 7210 SAS, 7450 ESS, 7750 SR, 7950 XRS, and NSP.
  #

  comment  '# '

  prompt /^([-\w\.:>\*]+\s?[#>]\s?)$/

  cmd :all do |cfg, cmdstring|
    new_cfg = comment "COMMAND: #{cmdstring}\n"
    new_cfg << cfg.cut_both
  end

  #
  # Show the boot options file.
  #
  cmd 'show bof' do |cfg|
    cfg.gsub! /# Finished .*/, ''
    cfg.gsub! /# Generated .*/, ''
    comment cfg
  end

  #
  # Show the system information.
  #
  cmd 'show system information' do |cfg|
    #
    # Strip uptime.
    #
    cfg.sub! /^System Up Time.*\n/, ''
    cfg.gsub! /# Finished .*/, ''
    cfg.gsub! /# Generated .*/, ''
    comment cfg
  end

  #
  # Show the card state.
  #
  cmd 'show card state' do |cfg|
    cfg.gsub! /# Finished .*/, ''
    cfg.gsub! /# Generated .*/, ''
    comment cfg
  end

  #
  # Show the boot log.
  #
  cmd 'file type bootlog.txt' do |cfg|
    #
    # Strip carriage returns and backspaces.
    #
    cfg.gsub! /\r/, ''
    cfg.gsub! /[\b][\b][\b]/, "\n"
    cfg.gsub! /# Finished .*/, ''
    cfg.gsub! /# Generated .*/, ''
    comment cfg
  end

  #
  # Show the running debug configuration.
  #
  cmd 'show debug' do |cfg|
    cfg.gsub! /# Finished .*/, ''
    cfg.gsub! /# Generated .*/, ''
    comment cfg
  end

  #
  # Show the saved debug configuration (admin debug-save).
  #
  cmd 'file type config.dbg' do |cfg|
    #
    # Strip carriage returns.
    #
    cfg.gsub! /\r/, ''
    cfg.gsub! /# Finished .*/, ''
    cfg.gsub! /# Generated .*/, ''
    comment cfg
  end

  #
  # Show the running persistent indices.
  #
  cmd 'admin display-config index' do |cfg|
    #
    # Strip carriage returns.
    #
    cfg.gsub! /\r/, ''
    cfg.gsub! /# Finished .*/, ''
    cfg.gsub! /# Generated .*/, ''
    comment cfg
  end

  #
  # Show the running configuration.
  #
  cmd 'admin display-config' do |cfg|
    #
    # Strip carriage returns.
    #
    cfg.gsub! /\r/, ''
    cfg.gsub! /# Finished .*/, ''
    cfg.gsub! /# Generated .*/, ''
  end

  cfg :telnet do
    username /^Login: /
    password /^Password: /
  end

  cfg :telnet, :ssh do
    post_login 'environment no more'
    pre_logout 'logout'
  end
end