From 6fb983c3e497dcc8d8b000e9064bb43b10be29c8 Mon Sep 17 00:00:00 2001
From: Nick Hilliard <nick@foobar.org>
Date: Wed, 6 Jul 2016 00:31:26 +0100
Subject: Added support for ssh_no_exec config file variable

---
 lib/oxidized/model/airos.rb    | 2 +-
 lib/oxidized/model/fabricos.rb | 2 +-
 lib/oxidized/model/junos.rb    | 4 ++--
 lib/oxidized/model/opengear.rb | 2 +-
 lib/oxidized/model/routeros.rb | 2 +-
 lib/oxidized/model/tmos.rb     | 2 +-
 6 files changed, 7 insertions(+), 7 deletions(-)

(limited to 'lib')

diff --git a/lib/oxidized/model/airos.rb b/lib/oxidized/model/airos.rb
index 775005f..3ccf887 100644
--- a/lib/oxidized/model/airos.rb
+++ b/lib/oxidized/model/airos.rb
@@ -15,6 +15,6 @@ class Airos < Oxidized::Model
   end
 
   cfg :ssh do
-    exec true
+    exec true unless vars :ssh_no_exec
   end
 end
diff --git a/lib/oxidized/model/fabricos.rb b/lib/oxidized/model/fabricos.rb
index 7ab9fd5..8ad32d9 100644
--- a/lib/oxidized/model/fabricos.rb
+++ b/lib/oxidized/model/fabricos.rb
@@ -15,7 +15,7 @@ class FabricOS < Oxidized::Model
   end
 
   cfg :ssh do
-    exec true  # don't run shell, run each command in exec channel
+    exec true unless vars :ssh_no_exec  # don't run shell, run each command in exec channel
   end
 
 end
diff --git a/lib/oxidized/model/junos.rb b/lib/oxidized/model/junos.rb
index bdd9bed..6392709 100644
--- a/lib/oxidized/model/junos.rb
+++ b/lib/oxidized/model/junos.rb
@@ -8,7 +8,7 @@ class JunOS < Oxidized::Model
 
   cmd :all do |cfg|
     # we don't need screen-scraping in ssh due to exec
-    cfg = cfg.lines.to_a[1..-2].join if telnet
+    cfg = cfg.lines.to_a[1..-2].join if telnet || !vars(:ssh_no_exec)
     cfg.lines.map { |line| line.rstrip }.join("\n") + "\n"
   end
 
@@ -44,7 +44,7 @@ class JunOS < Oxidized::Model
   end
 
   cfg :ssh do
-    exec true  # don't run shell, run each command in exec channel
+    exec true unless vars :ssh_no_exec  # don't run shell, run each command in exec channel
   end
 
   cfg :telnet, :ssh do
diff --git a/lib/oxidized/model/opengear.rb b/lib/oxidized/model/opengear.rb
index 7f801f8..0e2f8d2 100644
--- a/lib/oxidized/model/opengear.rb
+++ b/lib/oxidized/model/opengear.rb
@@ -13,7 +13,7 @@ class OpenGear < Oxidized::Model
   cmd 'config -g config'
 
   cfg :ssh do
-    exec true  # don't run shell, run each command in exec channel
+    exec true unless vars :ssh_no_exec  # don't run shell, run each command in exec channel
   end
 
 end
diff --git a/lib/oxidized/model/routeros.rb b/lib/oxidized/model/routeros.rb
index 4822500..f7746c8 100644
--- a/lib/oxidized/model/routeros.rb
+++ b/lib/oxidized/model/routeros.rb
@@ -18,6 +18,6 @@ class RouterOS < Oxidized::Model
   end
 
   cfg :ssh do
-    exec true
+    exec true unless vars :ssh_no_exec
   end
 end
diff --git a/lib/oxidized/model/tmos.rb b/lib/oxidized/model/tmos.rb
index 390046d..7a1ca73 100644
--- a/lib/oxidized/model/tmos.rb
+++ b/lib/oxidized/model/tmos.rb
@@ -46,7 +46,7 @@ class TMOS < Oxidized::Model
   cmd('cat /config/partitions/*/bigip.conf') { |cfg| comment cfg }
 
   cfg :ssh do
-    exec true  # don't run shell, run each command in exec channel
+    exec true unless vars :ssh_no_exec  # don't run shell, run each command in exec channel
   end
 
 end
-- 
cgit v1.2.3