diff options
Diffstat (limited to 'lib')
30 files changed, 159 insertions, 221 deletions
diff --git a/lib/puppet/metatype/instances.rb b/lib/puppet/metatype/instances.rb index 2d408f750..be7d1be1c 100644 --- a/lib/puppet/metatype/instances.rb +++ b/lib/puppet/metatype/instances.rb @@ -248,6 +248,24 @@ class Puppet::Type return trans end + # Retrieve all known instances. Either requires providers or must be overridden. + def self.instances + unless defined?(@providers) and ! @providers.empty? + raise Puppet::DevError, "%s has no providers and has not overridden 'instances'" % self.name + end + + # Put the default provider first, then the rest of the suitable providers. + sources = [] + [defaultprovider, suitableprovider].flatten.uniq.collect do |provider| + next if sources.include?(provider.source) + + sources << provider.source + provider.instances.collect do |instance| + create(:name => instance.name, :provider => instance, :check => :all) + end + end.flatten.compact + end + # Create the path for logging and such. def pathbuilder if defined? @parent and @parent diff --git a/lib/puppet/metatype/providers.rb b/lib/puppet/metatype/providers.rb index 33506e06f..72459d3af 100644 --- a/lib/puppet/metatype/providers.rb +++ b/lib/puppet/metatype/providers.rb @@ -86,26 +86,6 @@ class Puppet::Type return obj end - # Create a list method that just calls our providers. - def self.mkprovider_list - unless respond_to?(:list) - meta_def(:list) do - suitableprovider.find_all { |p| p.respond_to?(:list) }.collect { |prov| - prov.list.each { |h| h[:provider] = prov.name } - }.flatten.collect do |hash| - if hash.is_a?(Hash) - hash2obj(hash) - elsif hash.is_a?(self) - hash - else - raise Puppet::DevError, "Provider %s returned object of type %s in list" % - [prov.name, hash.class] - end - end - end - end - end - # Retrieve a provider by name. def self.provider(name) name = Puppet::Util.symbolize(name) @@ -172,7 +152,6 @@ class Puppet::Type def self.providify return if @paramhash.has_key? :provider - mkprovider_list() newparam(:provider) do desc "The specific backend for #{self.name.to_s} to use. You will seldom need to specify this -- Puppet will usually discover the @@ -197,17 +176,21 @@ class Puppet::Type @resource.class.defaultprovider.name } - validate do |value| - value = value[0] if value.is_a? Array - if provider = @resource.class.provider(value) + validate do |provider_class| + provider_class = provider_class[0] if provider_class.is_a? Array + if provider_class.is_a?(Puppet::Provider) + provider_class = provider_class.class.name + end + + if provider = @resource.class.provider(provider_class) unless provider.suitable? raise ArgumentError, "Provider '%s' is not functional on this platform" % - [value] + [provider_class] end else raise ArgumentError, "Invalid %s provider '%s'" % - [@resource.class.name, value] + [@resource.class.name, provider_class] end end @@ -244,10 +227,13 @@ class Puppet::Type end def provider=(name) - if klass = self.class.provider(name) + if name.is_a?(Puppet::Provider) + @provider = name + @provider.resource = self + elsif klass = self.class.provider(name) @provider = klass.new(self) else - raise UnknownProviderError, "Could not find %s provider of %s" % + raise ArgumentError, "Could not find %s provider of %s" % [name, self.class.name] end end diff --git a/lib/puppet/network/handler/resource.rb b/lib/puppet/network/handler/resource.rb index 349f73537..ca492bd81 100755 --- a/lib/puppet/network/handler/resource.rb +++ b/lib/puppet/network/handler/resource.rb @@ -145,7 +145,7 @@ class Puppet::Network::Handler bucket = Puppet::TransBucket.new bucket.type = typeklass.name - typeklass.list.each do |obj| + typeklass.instances.each do |obj| next if ignore.include? obj.name #object = Puppet::TransObject.new(obj.name, typeklass.name) diff --git a/lib/puppet/provider.rb b/lib/puppet/provider.rb index 1f18ae730..a725611d0 100644 --- a/lib/puppet/provider.rb +++ b/lib/puppet/provider.rb @@ -109,6 +109,12 @@ class Puppet::Provider end end + # The method for returning a list of provider instances. Note that it returns providers, preferably with values already + # filled in, not resources. + def self.instances + raise Puppet::DevError, "Provider %s has not defined the 'instances' class method" % self.name + end + # Create the methods for a given command. def self.make_command_methods(name) # Now define a method for that command @@ -323,16 +329,34 @@ class Puppet::Provider self.class.command(name) end - def initialize(resource) - @resource = resource - - # LAK 2007-05-09: Keep the model stuff around for backward compatibility - @model = resource - @property_hash = {} + def initialize(resource = nil) + if resource.is_a?(Hash) + @property_hash = resource.dup + elsif resource + @resource = resource if resource + # LAK 2007-05-09: Keep the model stuff around for backward compatibility + @model = resource + @property_hash = {} + else + @property_hash = {} + end end def name - @resource.name + if n = @property_hash[:name] + return n + elsif self.resource + resource.name + else + raise Puppet::DevError, "No resource and no name in property hash" + end + end + + # Set passed params as the current values. + def set(params) + params.each do |param, value| + @property_hash[symbolize(param)] = value + end end def to_s diff --git a/lib/puppet/provider/nameservice/netinfo.rb b/lib/puppet/provider/nameservice/netinfo.rb index c44f105e8..0323807e8 100644 --- a/lib/puppet/provider/nameservice/netinfo.rb +++ b/lib/puppet/provider/nameservice/netinfo.rb @@ -45,6 +45,12 @@ class NetInfo < Puppet::Provider::NameService end end + def self.instances + report(@resource_type.validproperties).collect do |hash| + self.new(hash) + end + end + # Convert a NetInfo line into a hash of data. def self.line2hash(line, params) values = line.split(/\t/) @@ -61,12 +67,6 @@ class NetInfo < Puppet::Provider::NameService hash end - def self.list - report(@resource_type.validproperties).collect do |hash| - @resource_type.hash2obj(hash) - end - end - # What field the value is stored under. def self.netinfokey(name) name = symbolize(name) diff --git a/lib/puppet/provider/package/apple.rb b/lib/puppet/provider/package/apple.rb index ce845670f..e9fb00482 100755 --- a/lib/puppet/provider/package/apple.rb +++ b/lib/puppet/provider/package/apple.rb @@ -11,7 +11,17 @@ Puppet::Type.type(:package).provide :apple do defaultfor :operatingsystem => :darwin - def self.listbyname + def self.instances + instance_by_name.collect do |name| + self.new( + :name => name, + :provider => :apple, + :ensure => :installed + ) + end + end + + def self.instance_by_name Dir.entries("/Library/Receipts").find_all { |f| f =~ /\.pkg$/ }.collect { |f| @@ -22,16 +32,6 @@ Puppet::Type.type(:package).provide :apple do } end - def self.list - listbyname.collect do |name| - Puppet.type(:package).installedpkg( - :name => name, - :provider => :apple, - :ensure => :installed - ) - end - end - def query if FileTest.exists?("/Library/Receipts/#{@resource[:name]}.pkg") return {:name => @resource[:name], :ensure => :present} diff --git a/lib/puppet/provider/package/blastwave.rb b/lib/puppet/provider/package/blastwave.rb index 9f544dbd5..07f904eef 100755 --- a/lib/puppet/provider/package/blastwave.rb +++ b/lib/puppet/provider/package/blastwave.rb @@ -23,10 +23,10 @@ Puppet::Type.type(:package).provide :blastwave, :parent => :sun do end end - def self.list(hash = {}) + def self.instances(hash = {}) blastlist(hash).collect do |bhash| bhash.delete(:avail) - Puppet::Type.type(:package).installedpkg(bhash) + new(bhash) end end diff --git a/lib/puppet/provider/package/darwinport.rb b/lib/puppet/provider/package/darwinport.rb index 70e6ed388..8c0bbb891 100755 --- a/lib/puppet/provider/package/darwinport.rb +++ b/lib/puppet/provider/package/darwinport.rb @@ -31,12 +31,11 @@ Puppet::Type.type(:package).provide :darwinport do } end - def self.list + def self.instances packages = [] eachpkgashash do |hash| - pkg = Puppet.type(:package).installedpkg(hash) - packages << pkg + packages << new(hash) end return packages diff --git a/lib/puppet/provider/package/dpkg.rb b/lib/puppet/provider/package/dpkg.rb index d309ae9e5..e09638669 100755 --- a/lib/puppet/provider/package/dpkg.rb +++ b/lib/puppet/provider/package/dpkg.rb @@ -6,7 +6,7 @@ Puppet::Type.type(:package).provide :dpkg do commands :dpkg => "/usr/bin/dpkg" commands :dpkgquery => "/usr/bin/dpkg-query" - def self.list + def self.instances packages = [] # list out all of the packages @@ -29,7 +29,7 @@ Puppet::Type.type(:package).provide :dpkg do hash[:provider] = self.name - packages.push Puppet.type(:package).installedpkg(hash) + packages << new(hash) else Puppet.warning "Failed to match dpkg-query line %s" % line.inspect diff --git a/lib/puppet/provider/package/gem.rb b/lib/puppet/provider/package/gem.rb index c902bcbe5..fb5e243e9 100755 --- a/lib/puppet/provider/package/gem.rb +++ b/lib/puppet/provider/package/gem.rb @@ -56,9 +56,9 @@ Puppet::Type.type(:package).provide :gem do end end - def self.list(justme = false) + def self.instances(justme = false) gemlist(:local => true).collect do |hash| - Puppet::Type.type(:package).installedpkg(hash) + new(hash) end end diff --git a/lib/puppet/provider/package/openbsd.rb b/lib/puppet/provider/package/openbsd.rb index e910a41ba..0e238f546 100755 --- a/lib/puppet/provider/package/openbsd.rb +++ b/lib/puppet/provider/package/openbsd.rb @@ -7,7 +7,7 @@ Puppet::Type.type(:package).provide :openbsd do defaultfor :operatingsystem => :openbsd confine :operatingsystem => :openbsd - def self.list + def self.instances packages = [] begin @@ -29,8 +29,7 @@ Puppet::Type.type(:package).provide :openbsd do hash[:provider] = self.name - pkg = Puppet.type(:package).installedpkg(hash) - packages << pkg + packages << new(hash) else # Print a warning on lines we can't match, but move # on, since it should be non-fatal @@ -38,12 +37,6 @@ Puppet::Type.type(:package).provide :openbsd do end } end - # Mark as absent any packages we didn't find - Puppet.type(:package).each do |pkg| - unless packages.include? pkg - pkg.is = [:ensure, :absent] - end - end return packages rescue Puppet::ExecutionFailure diff --git a/lib/puppet/provider/package/pkgdmg.rb b/lib/puppet/provider/package/pkgdmg.rb index e3d211fef..e0864764a 100644 --- a/lib/puppet/provider/package/pkgdmg.rb +++ b/lib/puppet/provider/package/pkgdmg.rb @@ -23,7 +23,7 @@ Puppet::Type.type(:package).provide :pkgdmg do commands :curl => "/usr/bin/curl" # JJM We store a cookie for each installed .pkg.dmg in /var/db - def self.listbyname + def self.instance_by_name Dir.entries("/var/db").find_all { |f| f =~ /^\.puppet_pkgdmg_installed_/ }.collect do |f| @@ -33,9 +33,9 @@ Puppet::Type.type(:package).provide :pkgdmg do end end - def self.list - listbyname.collect do |name| - Puppet.type(:package).installedpkg( + def self.instances + instance_by_name.collect do |name| + new( :name => name, :provider => :pkgdmg, :ensure => :installed diff --git a/lib/puppet/provider/package/portage.rb b/lib/puppet/provider/package/portage.rb index dd69f23a4..3b4c1a44f 100644 --- a/lib/puppet/provider/package/portage.rb +++ b/lib/puppet/provider/package/portage.rb @@ -7,7 +7,7 @@ Puppet::Type.type(:package).provide :portage do defaultfor :operatingsystem => :gentoo - def self.list + def self.instances result_format = /(\S+) (\S+) \[(.*)\] \[[^0-9]*([^\s:]*)(:\S*)?\] ([\S]*) (.*)/ result_fields = [:category, :name, :ensure, :version_available, :slot, :vendor, :description] @@ -28,7 +28,7 @@ Puppet::Type.type(:package).provide :portage do package[:provider] = :portage package[:ensure] = package[:ensure].split.last - packages.push(Puppet.type(:package).installedpkg(package)) + packages << new(package) end end diff --git a/lib/puppet/provider/package/rpm.rb b/lib/puppet/provider/package/rpm.rb index 13f2589d7..3b9ac8b15 100755 --- a/lib/puppet/provider/package/rpm.rb +++ b/lib/puppet/provider/package/rpm.rb @@ -10,7 +10,7 @@ Puppet::Type.type(:package).provide :rpm do commands :rpm => "rpm" - def self.list + def self.instances packages = [] # list out all of the packages @@ -30,7 +30,7 @@ Puppet::Type.type(:package).provide :rpm do hash[field] = value } hash[:provider] = self.name - packages.push Puppet.type(:package).installedpkg(hash) + packages << new(hash) else raise "failed to match rpm line %s" % line end diff --git a/lib/puppet/provider/package/sun.rb b/lib/puppet/provider/package/sun.rb index ea169548d..c5b954881 100755 --- a/lib/puppet/provider/package/sun.rb +++ b/lib/puppet/provider/package/sun.rb @@ -9,7 +9,7 @@ Puppet::Type.type(:package).provide :sun do defaultfor :operatingsystem => :solaris - def self.list + def self.instances packages = [] hash = {} names = { @@ -40,7 +40,7 @@ Puppet::Type.type(:package).provide :sun do when /^$/: hash[:provider] = :sun - packages.push Puppet.type(:package).installedpkg(hash) + packages << new(hash) hash.clear when /\s*(\w+):\s+(.+)/: name = $1 diff --git a/lib/puppet/provider/parsedfile.rb b/lib/puppet/provider/parsedfile.rb index 09233069b..43c53601e 100755 --- a/lib/puppet/provider/parsedfile.rb +++ b/lib/puppet/provider/parsedfile.rb @@ -107,17 +107,13 @@ class Puppet::Provider::ParsedFile < Puppet::Provider end # Return a list of all of the records we can find. - def self.list + def self.instances prefetch() @records.find_all { |r| r[:record_type] == self.name }.collect { |r| - clean(r) + new(clean(r)) } end - def self.list_by_name - list.collect { |r| r[:name] } - end - # Override the default method with a lot more functionality. def self.mk_resource_methods [resource_type.validproperties, resource_type.parameters].flatten.each do |attr| @@ -175,11 +171,24 @@ class Puppet::Provider::ParsedFile < Puppet::Provider # set. We need to turn those three locations into a list of files, # prefetch each one, and make sure they're associated with each appropriate # resource instance. - def self.prefetch + def self.prefetch(resources = nil) # Reset the record list. @records = [] - targets().each do |target| - prefetch_target(target) + targets(resources).each do |target| + @records += prefetch_target(target) + end + + if resources + @records.each do |record| + if name = record[:name] and resource = resources[name] + resource.provider = new(record) + elsif respond_to?(:match) + if instance = match(record, resources) + record[:name] = instance[:name] + instance.provider = new(record) + end + end + end end end @@ -196,25 +205,10 @@ class Puppet::Provider::ParsedFile < Puppet::Provider end unless target_records - raise Puppet::DevError, "Prefetch hook for provider %s returned nil" % - self.name + raise Puppet::DevError, "Prefetching %s for provider %s returned nil" % [target, self.name] end - @records += target_records - - # Set current property on any existing resource instances. - target_records(target).find_all { |i| i.is_a?(Hash) }.each do |record| - # Find any resource instances whose names match our instances. - if instance = self.resource_type[record[:name]] - next unless instance.provider.is_a?(self) - instance.provider.property_hash = record - elsif respond_to?(:match) - if instance = match(record) - record[:name] = instance[:name] - instance.provider.property_hash = record - end - end - end + target_records end # Is there an existing record with this name? @@ -256,7 +250,7 @@ class Puppet::Provider::ParsedFile < Puppet::Provider # Find a list of all of the targets that we should be reading. This is # used to figure out what targets we need to prefetch. - def self.targets + def self.targets(resources = nil) targets = [] # First get the default target unless self.default_target @@ -268,17 +262,13 @@ class Puppet::Provider::ParsedFile < Puppet::Provider targets += @target_objects.keys # Lastly, check the file from any resource instances - self.resource_type.each do |resource| - targets << resource.value(:target) - - # This is only the case for properties, and targets should always - # be properties. - #if resource.respond_to?(:is) - # targets << resource.is(:target) - #end + if resources + resources.each do |name, resource| + targets << resource.value(:target) + end end - targets.uniq.reject { |t| t.nil? } + targets.uniq.compact end def self.to_file(records) diff --git a/lib/puppet/provider/service/init.rb b/lib/puppet/provider/service/init.rb index c5bcc26eb..79e5a2c69 100755 --- a/lib/puppet/provider/service/init.rb +++ b/lib/puppet/provider/service/init.rb @@ -29,7 +29,7 @@ Puppet::Type.type(:service).provide :init, :parent => :base do end # List all services of this type. - def self.list(name) + def self.instances(name) # We need to find all paths specified for our type or any parent types paths = Puppet.type(:service).paths(name) @@ -44,7 +44,7 @@ Puppet::Type.type(:service).provide :init, :parent => :base do end end - paths.each do |path| + paths.collect do |path| unless FileTest.directory?(path) Puppet.notice "Service path %s does not exist" % path next @@ -59,14 +59,8 @@ Puppet::Type.type(:service).provide :init, :parent => :base do Dir.entries(path).reject { |e| fullpath = File.join(path, e) e =~ /^\./ or ! FileTest.executable?(fullpath) - }.each do |name| - if obj = Puppet::Type.type(:service)[name] - obj[:check] = check - else - Puppet::Type.type(:service).create( - :name => name, :check => check, :path => path - ) - end + }.collect do |name| + new(:name => name, :path => path) end end end diff --git a/lib/puppet/provider/zone/solaris.rb b/lib/puppet/provider/zone/solaris.rb index 7ace69047..d178679fe 100644 --- a/lib/puppet/provider/zone/solaris.rb +++ b/lib/puppet/provider/zone/solaris.rb @@ -21,18 +21,11 @@ Puppet::Type.type(:zone).provide(:solaris) do return hash end - def self.list + def self.instances adm(:list, "-cp").split("\n").collect do |line| hash = line2hash(line) - obj = nil - unless obj = @resource[hash[:name]] - obj = @resource.create(:name => hash[:name]) - end - - obj.setstatus(hash) - - obj + new(hash) end end diff --git a/lib/puppet/transaction.rb b/lib/puppet/transaction.rb index 7c046c898..d27f4038a 100644 --- a/lib/puppet/transaction.rb +++ b/lib/puppet/transaction.rb @@ -473,16 +473,20 @@ class Transaction # Prefetch any providers that support it. We don't support prefetching # types, just providers. def prefetch - @resources.collect { |obj| - if pro = obj.provider - pro.class - else - nil + prefetchers = {} + @resources.each do |resource| + if provider = resource.provider and provider.class.respond_to?(:prefetch) + prefetchers[provider.class] ||= {} + prefetchers[provider.class][resource.title] = resource end - }.reject { |o| o.nil? }.uniq.each do |klass| - # XXX We need to do something special here in case of failure. - if klass.respond_to?(:prefetch) - klass.prefetch + end + + # Now call prefetch, passing in the resources so that the provider instances can be replaced. + prefetchers.each do |provider, resources| + begin + provider.prefetch(resources) + rescue => detail + Puppet.err "Could not prefetch % provider %s: %s" % [resources[0].class.name, provider.name, detail] end end end diff --git a/lib/puppet/type/exec.rb b/lib/puppet/type/exec.rb index e5071b484..dabd98830 100755 --- a/lib/puppet/type/exec.rb +++ b/lib/puppet/type/exec.rb @@ -444,8 +444,8 @@ module Puppet end end - def self.list - self.collect { |i| i } + def self.instances + [] end # Verify that we pass all of the checks. The argument determines whether diff --git a/lib/puppet/type/group.rb b/lib/puppet/type/group.rb index 5e82140e7..8ca687904 100755 --- a/lib/puppet/type/group.rb +++ b/lib/puppet/type/group.rb @@ -120,22 +120,6 @@ module Puppet defaultto false end - def self.list_by_name - users = [] - defaultprovider.listbyname do |user| - users << user - end - return users - end - - def self.list - defaultprovider.list - - self.collect do |user| - user - end - end - def retrieve if self.provider and @provider.exists? return super diff --git a/lib/puppet/type/package.rb b/lib/puppet/type/package.rb index 2c3cdc41d..d116238a1 100644 --- a/lib/puppet/type/package.rb +++ b/lib/puppet/type/package.rb @@ -361,23 +361,6 @@ module Puppet return object end - # List all package instances - def self.list - # XXX For now, just list the default provider, but we should list - # all suitables or something, but we need to not list a parent - # type if a child type gets listed. - #suitableprovider.each do |provider| - # p provider.name - # provider.list - #end - - defaultprovider.list - - self.collect do |pkg| - pkg - end - end - # Iterate across all packages of a given type and mark them absent # if they are not in the list def self.markabsent(pkgtype, packages) diff --git a/lib/puppet/type/pfile.rb b/lib/puppet/type/pfile.rb index bec0a4dd2..3a07a9342 100644 --- a/lib/puppet/type/pfile.rb +++ b/lib/puppet/type/pfile.rb @@ -259,7 +259,7 @@ module Puppet end # List files, but only one level deep. - def self.list(base = "/") + def self.instances(base = "/") unless FileTest.directory?(base) return [] end diff --git a/lib/puppet/type/pfilebucket.rb b/lib/puppet/type/pfilebucket.rb index ec1803ff8..fd0f131a1 100755 --- a/lib/puppet/type/pfilebucket.rb +++ b/lib/puppet/type/pfilebucket.rb @@ -70,8 +70,8 @@ module Puppet end end - def self.list - self.collect do |obj| obj.name end + def self.instances + [] end def bucket diff --git a/lib/puppet/type/resources.rb b/lib/puppet/type/resources.rb index ca88a7c31..39fa1bc34 100644 --- a/lib/puppet/type/resources.rb +++ b/lib/puppet/type/resources.rb @@ -31,8 +31,8 @@ Puppet::Type.newtype(:resources) do validate do |value| if [:true, true, "true"].include?(value) - unless @resource.resource_type.respond_to?(:list) - raise ArgumentError, "Purging resources of type %s is not supported, since they cannot be listed" % @resource[:name] + unless @resource.resource_type.respond_to?(:instances) + raise ArgumentError, "Purging resources of type %s is not supported, since they cannot be queried from the system" % @resource[:name] end unless @resource.resource_type.validproperty?(:ensure) raise ArgumentError, "Purging is only supported on types that accept 'ensure'" @@ -91,7 +91,7 @@ Puppet::Type.newtype(:resources) do return [] unless self.purge? hascheck = false method = - resource_type.list.find_all do |resource| + resource_type.instances.find_all do |resource| ! resource.managed? end.find_all do |resource| check(resource) diff --git a/lib/puppet/type/schedule.rb b/lib/puppet/type/schedule.rb index 08bada3a7..2e3c126e4 100755 --- a/lib/puppet/type/schedule.rb +++ b/lib/puppet/type/schedule.rb @@ -307,8 +307,8 @@ module Puppet end end - def self.list - self.collect do |obj| obj end + def self.instances + [] end def self.mkdefaultschedules diff --git a/lib/puppet/type/service.rb b/lib/puppet/type/service.rb index c582b17ee..2df311633 100644 --- a/lib/puppet/type/service.rb +++ b/lib/puppet/type/service.rb @@ -265,20 +265,6 @@ module Puppet newvalues(:true, :false) end - # List all available services - def self.list - defprov = defaultprovider - - names = [] - if defprov.respond_to? :list - defprov.list(defprov.name) - else - Puppet.debug "Type %s does not respond to list" % defprov.name - end - - self.collect { |s| s } - end - # Add a new path to our list of paths that services could be in. def self.newpath(type, path) type = type.intern if type.is_a? String diff --git a/lib/puppet/type/tidy.rb b/lib/puppet/type/tidy.rb index 8d9cda170..75a68170d 100755 --- a/lib/puppet/type/tidy.rb +++ b/lib/puppet/type/tidy.rb @@ -254,8 +254,8 @@ module Puppet validate do end - def self.list - self.collect { |t| t } + def self.instances + [] end @depthfirst = true diff --git a/lib/puppet/type/user.rb b/lib/puppet/type/user.rb index 87a57cddd..a9634b6f7 100755 --- a/lib/puppet/type/user.rb +++ b/lib/puppet/type/user.rb @@ -322,22 +322,6 @@ module Puppet autos end - def self.list_by_name - users = [] - defaultprovider.listbyname do |user| - users << user - end - return users - end - - def self.list - defaultprovider.list - - self.collect do |user| - user - end - end - def retrieve absent = false properties().inject({}) { |prophash, property| diff --git a/lib/puppet/type/yumrepo.rb b/lib/puppet/type/yumrepo.rb index 395a33068..5efb3a307 100644 --- a/lib/puppet/type/yumrepo.rb +++ b/lib/puppet/type/yumrepo.rb @@ -80,7 +80,7 @@ module Puppet # Where to put files for brand new sections @defaultrepodir = nil - def self.list + def self.instances l = [] check = validproperties clear |
