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