lib/puppet/provider/nameservice.rb in puppet-0.22.4 vs lib/puppet/provider/nameservice.rb in puppet-0.23.0

- old
+ new

@@ -23,26 +23,14 @@ def initvars @checks = {} super end - def list + def instances objects = [] listbyname do |name| - obj = nil - check = model.validproperties - if obj = model[name] - obj[:check] = check - else - # unless it exists, create it as an unmanaged object - obj = model.create(:name => name, :check => check) - end - - next unless obj # In case there was an error somewhere - - objects << obj - yield obj if block_given? + objects << new(:name => name, :ensure => :present) end objects end @@ -54,13 +42,13 @@ return nil end end def options(name, hash) - unless model.validattr?(name) + unless resource_type.validattr?(name) raise Puppet::DevError, "%s is not a valid attribute for %s" % - [name, model.name] + [name, resource_type.name] end @options ||= {} @options[name] ||= {} # Set options individually, so we can call the options method @@ -87,13 +75,13 @@ end return names end - def model=(model) + def resource_type=(resource_type) super - @model.validproperties.each do |prop| + @resource_type.validproperties.each do |prop| next if prop == :ensure unless public_method_defined?(prop) define_method(prop) { get(prop) || :absent} end unless public_method_defined?(prop.to_s + "=") @@ -103,17 +91,17 @@ end # This is annoying, but there really aren't that many options, # and this *is* built into Ruby. def section - unless defined? @model + unless defined? @resource_type raise Puppet::DevError, - "Cannot determine Etc section without a model" + "Cannot determine Etc section without a resource type" end - if @model.name == :group + if @resource_type.name == :group "gr" else "pw" end end @@ -144,11 +132,11 @@ # Autogenerate a value. Mostly used for uid/gid, but also used heavily # with netinfo, because netinfo is stupid. def autogen(field) field = symbolize(field) id_generators = {:user => :uid, :group => :gid} - if id_generators[@model.class.name] == field + if id_generators[@resource.class.name] == field return autogen_id(field) else if value = self.class.autogen_default(field) return value elsif respond_to?("autogen_%s" % [field]) @@ -163,15 +151,15 @@ # generate one field type per class. def autogen_id(field) highest = 0 group = method = nil - case @model.class.name + case @resource.class.name when :user: group = :passwd; method = :uid when :group: group = :group; method = :gid else - raise Puppet::DevError, "Invalid model name %s" % model + raise Puppet::DevError, "Invalid resource name %s" % resource end # Make sure we don't use the same value multiple times if defined? @@prevauto @@prevauto += 1 @@ -237,11 +225,11 @@ begin execute(cmd) rescue Puppet::ExecutionFailure => detail raise Puppet::Error, "Could not %s %s %s: %s" % - [type, @model.class.name, @model.name, detail] + [type, @resource.class.name, @resource.name, detail] end end # Does our object exist? def exists? @@ -264,11 +252,11 @@ # Retrieve what we can about our object def getinfo(refresh) if @objectinfo.nil? or refresh == true @etcmethod ||= ("get" + self.class.section().to_s + "nam").intern begin - @objectinfo = Etc.send(@etcmethod, @model[:name]) + @objectinfo = Etc.send(@etcmethod, @resource[:name]) rescue ArgumentError => detail @objectinfo = nil end end @@ -286,11 +274,11 @@ groups = [] # Reset our group list Etc.setgrent - user = @model[:name] + user = @resource[:name] # Now iterate across all of the groups, adding each one our # user is a member of while group = Etc.getgrent members = group.mem @@ -308,21 +296,21 @@ end # Convert the Etc struct into a hash. def info2hash(info) hash = {} - self.class.model.validproperties.each do |param| + self.class.resource_type.validproperties.each do |param| method = posixmethod(param) if info.respond_to? method hash[param] = info.send(posixmethod(param)) end end return hash end - def initialize(model) + def initialize(resource) super @objectinfo = nil end @@ -334,11 +322,11 @@ end begin execute(cmd) rescue Puppet::ExecutionFailure => detail raise Puppet::Error, "Could not set %s on %s[%s]: %s" % - [param, @model.class.name, @model.name, detail] + [param, @resource.class.name, @resource.name, detail] end end end -# $Id: nameservice.rb 2359 2007-03-28 06:06:54Z luke $ +# $Id: nameservice.rb 2555 2007-06-08 17:20:00Z luke $