diff options
| author | Saku Ytti <saku@ytti.fi> | 2016-05-05 01:12:08 +0300 | 
|---|---|---|
| committer | Saku Ytti <saku@ytti.fi> | 2016-05-05 01:12:08 +0300 | 
| commit | 02b95fb2f1cc935fccd6cbc82097dd8865f0b534 (patch) | |
| tree | 0c747c79edd8fae3f8fc29d3688ff38f8d9e3810 /lib/oxidized/model | |
| parent | f6a01b844bceae5c03f3e7013e7a7caf3e858301 (diff) | |
support catos
Diffstat (limited to 'lib/oxidized/model')
| -rw-r--r-- | lib/oxidized/model/catos.rb | 36 | 
1 files changed, 36 insertions, 0 deletions
| diff --git a/lib/oxidized/model/catos.rb b/lib/oxidized/model/catos.rb new file mode 100644 index 0000000..874ebbc --- /dev/null +++ b/lib/oxidized/model/catos.rb @@ -0,0 +1,36 @@ +class Catos < Oxidized::Model + +  prompt /^[\w.@-]+> \(enable\) $/ +  comment '# ' + +  cmd :all do |cfg| +    cfg.each_line.to_a[1..-2].join +  end + +  cmd 'show system' do |cfg| +    cfg = cfg.gsub /(\s+)\d+,\d+:\d+:\d+(\s+)/, '\1X\2' +    comment cfg +  end + +  cmd 'show version' do |cfg| +    cfg = cfg.gsub /\d+(K)/, 'X\1' +    cfg = cfg.gsub /^(Uptime is ).*/, '\1X' +    comment cfg +  end + +  cmd 'show conf all' do |cfg| +    cfg = cfg.sub /^(#time: ).*/, '\1X' +    cfg.each_line.drop_while { |line| not line.match /^begin/ }.join +  end + +  cfg :telnet do +    username /^Username: / +    password /^Password:/ +  end + +  cfg :ssh, :telnet do +    post_login 'set length 0' +    pre_logout 'exit' +  end + +end | 
