# File lib/puppet/type.rb, line 401
401:   def []=(name,value)
402:     name = attr_alias(name)
403: 
404:     fail("Invalid parameter #{name}") unless self.class.validattr?(name)
405: 
406:     if name == :name
407:       name = name_var
408:     end
409:     raise Puppet::Error.new("Got nil value for #{name}") if value.nil?
410: 
411:     property = self.newattr(name)
412: 
413:     if property
414:       begin
415:         # make sure the parameter doesn't have any errors
416:         property.value = value
417:       rescue => detail
418:         error = Puppet::Error.new("Parameter #{name} failed: #{detail}")
419:         error.set_backtrace(detail.backtrace)
420:         raise error
421:       end
422:     end
423: 
424:     nil
425:   end