# File lib/puppet/type.rb, line 1537
1537:   def provider=(name)
1538:     if name.is_a?(Puppet::Provider)
1539:       @provider = name
1540:       @provider.resource = self
1541:     elsif klass = self.class.provider(name)
1542:       @provider = klass.new(self)
1543:     else
1544:       raise ArgumentError, "Could not find #{name} provider of #{self.class.name}"
1545:     end
1546:   end