diff options
author | totosh <je.gerv@gmail.com> | 2016-07-18 12:43:00 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-07-18 12:43:00 +0200 |
commit | 292a216f67bd36778560667c50812ca3166b982c (patch) | |
tree | 4b3c5968bdf4a1d5d460b44e28dbad223ca80142 /lib/oxidized/model/gaiaos | |
parent | 42ff6564f09a7316c032faff6da9e03a755dafca (diff) |
GAIA OS CheckPoint - New model
Diffstat (limited to 'lib/oxidized/model/gaiaos')
-rw-r--r-- | lib/oxidized/model/gaiaos | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/lib/oxidized/model/gaiaos b/lib/oxidized/model/gaiaos new file mode 100644 index 0000000..ed4d49b --- /dev/null +++ b/lib/oxidized/model/gaiaos @@ -0,0 +1,46 @@ +class GAIA < Oxidized::Model + + # CheckPoint - GAIA OS Model + + # GAIA Prompt + prompt /^([\[\]\w.@:-]+[#>]\s?)$/ + + # Comment tag + comment '# ' + + + cmd :all do |cfg| + cfg = cfg.each_line.to_a[1..-2].join + end + + cmd :secret do |cfg| + cfg.gsub! /^(set expert-password-hash ).*/, '\1<EXPERT PASSWORD REMOVED>' + cfg.gsub! /^(set user \S+ password-hash ).*/,'\1<USER PASSWORD REMOVED>' + cfg.gsub! /^(set ospf .* secret ).*/,'\1<OSPF KEY REMOVED>' + cfg.gsub! /^(set snmp community )(.*)( read-only.*)/,'\1<SNMP COMMUNITY REMOVED>\3' + cfg.gsub! /^(add snmp .* community )(.*)(\S?.*)/,'\1<SNMP COMMUNITY REMOVED>\3' + cfg.gsub! /(auth|privacy)(-pass-phrase-hashed )(\S*)/,'\1-pass-phrase-hashed <SNMP PASS-PHRASE REMOVED>' + cfg + end + + cmd 'show asset all' do |cfg| + comment cfg + end + + cmd 'show version all' do |cfg| + comment cfg + end + + cmd 'show configuration' do |cfg| + cfg.gsub! /^# Exported by \S+ on .*/, '# ' + cfg + end + + + cfg :ssh do + # User shell must be /etc/cli.sh + post_login 'set clienv rows 0' + pre_logout 'exit' + end + +end |