summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorCyril LAVIER <cyril.lavier@davromaniak.eu>2017-05-03 14:05:28 +0200
committerCyril LAVIER <cyril.lavier@davromaniak.eu>2017-05-03 14:05:28 +0200
commitf0683725079035633f7b2e64c99af7e2ce2ad3e5 (patch)
treeaef6d396ca40f205f3d2d622789b437b26709518 /lib
parent23d55da7338c96158f009252f1bd522da88a36b2 (diff)
Added support for model specific credentials
Diffstat (limited to 'lib')
-rw-r--r--lib/oxidized/config.rb1
-rw-r--r--lib/oxidized/config/vars.rb6
-rw-r--r--lib/oxidized/node.rb8
3 files changed, 14 insertions, 1 deletions
diff --git a/lib/oxidized/config.rb b/lib/oxidized/config.rb
index aba8b63..23af9c2 100644
--- a/lib/oxidized/config.rb
+++ b/lib/oxidized/config.rb
@@ -31,6 +31,7 @@ module Oxidized
asetus.default.next_adds_job = false # if true, /next adds job, so device is fetched immmeiately
asetus.default.vars = {} # could be 'enable'=>'enablePW'
asetus.default.groups = {} # group level configuration
+ asetus.default.models = {} # model level configuration
asetus.default.pid = File.join(Oxidized::Config::Root, 'pid')
asetus.default.input.default = 'ssh, telnet'
diff --git a/lib/oxidized/config/vars.rb b/lib/oxidized/config/vars.rb
index 09f9781..d926ee2 100644
--- a/lib/oxidized/config/vars.rb
+++ b/lib/oxidized/config/vars.rb
@@ -8,8 +8,12 @@ module Oxidized::Config::Vars
r ||= Oxidized.config.groups[@node.group].vars[name.to_s]
end
end
+ if Oxidized.config.models.has_key?(@node.model.class.name.to_s.downcase)
+ if Oxidized.config.models[@node.model.class.name.to_s.downcase].vars.has_key?(name.to_s)
+ r ||= Oxidized.config.models[@node.model.class.name.to_s.downcase].vars[name.to_s]
+ end
+ end
r ||= Oxidized.config.vars[name.to_s] if Oxidized.config.vars.has_key?(name.to_s)
r
end
end
-
diff --git a/lib/oxidized/node.rb b/lib/oxidized/node.rb
index cf71e48..8d0d0af 100644
--- a/lib/oxidized/node.rb
+++ b/lib/oxidized/node.rb
@@ -216,6 +216,14 @@ module Oxidized
end
end
+ #model
+ if Oxidized.config.models.has_key?(@model.class.name.to_s.downcase)
+ if Oxidized.config.models[@model.class.name.to_s.downcase].has_key?(key_str)
+ value = Oxidized.config.models[@model.class.name.to_s.downcase][key_str]
+ Oxidized.logger.debug "node.rb: setting node key '#{key}' to value '#{value}' from model"
+ end
+ end
+
#node
value = opt[key_sym] || value
Oxidized.logger.debug "node.rb: returning node key '#{key}' with value '#{value}'"