summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortotosh <je.gerv@gmail.com>2016-07-18 12:43:00 +0200
committerGitHub <noreply@github.com>2016-07-18 12:43:00 +0200
commit292a216f67bd36778560667c50812ca3166b982c (patch)
tree4b3c5968bdf4a1d5d460b44e28dbad223ca80142
parent42ff6564f09a7316c032faff6da9e03a755dafca (diff)
GAIA OS CheckPoint - New model
-rw-r--r--lib/oxidized/model/gaiaos46
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