# File lib/puppet/resource.rb, line 17
17:     def self.from_pson(pson)
18:         raise ArgumentError, "No resource type provided in pson data" unless type = pson['type']
19:         raise ArgumentError, "No resource title provided in pson data" unless title = pson['title']
20: 
21:         resource = new(type, title)
22: 
23:         if params = pson['parameters']
24:             params.each { |param, value| resource[param] = value }
25:         end
26: 
27:         if tags = pson['tags']
28:             tags.each { |tag| resource.tag(tag) }
29:         end
30: 
31:         ATTRIBUTES.each do |a|
32:             if value = pson[a.to_s]
33:                 resource.send(a.to_s + "=", value)
34:             end
35:         end
36: 
37:         resource.exported ||= false
38: 
39:         resource
40:     end