224: def newresource(type, name, params = {})
225: if self.is_a?(Puppet::DSL::Aspect)
226: source = self
227: else
228: source = Puppet::DSL::Aspect[:main]
229: end
230: unless obj = @@objects[type][name]
231: obj = Resource.new :title => name, :type => type.name,
232: :source => source, :scope => scope
233: @@objects[type][name] = obj
234:
235: @resources << obj
236: end
237:
238: params.each do |name, value|
239: param = Resource::Param.new(
240: :name => name,
241: :value => value,
242: :source => source
243: )
244:
245: obj.send(:set_parameter, param)
246: end
247:
248: obj
249: end