Method: Puppet::Type.hash2resource
- Defined in:
- lib/puppet/type.rb
.hash2resource(hash) ⇒ Puppet::Resource
TODO:
as opposed to a complex hash? Other raised exceptions?
Converts a simple hash into a Resource instance.
1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 |
# File 'lib/puppet/type.rb', line 1202 def self.hash2resource(hash) hash = hash.inject({}) { |result, ary| result[ary[0].to_sym] = ary[1]; result } title = hash.delete(:title) title ||= hash[:name] title ||= hash[key_attributes.first] if key_attributes.length == 1 raise Puppet::Error, "Title or name must be provided" unless title # Now create our resource. resource = Puppet::Resource.new(self, title) resource.catalog = hash.delete(:catalog) if sensitive = hash.delete(:sensitive_parameters) resource.sensitive_parameters = sensitive end hash.each do |param, value| resource[param] = value end resource end |