namevar validation only if managed.
authorDan Bode <dan@puppetlabs.com>
Mon, 21 Jun 2010 16:24:58 +0000 (09:24 -0700)
committerDan Bode <dan@puppetlabs.com>
Mon, 21 Jun 2010 16:24:58 +0000 (09:24 -0700)
moved namevar to newparam arg.

lib/puppet/type/sudoers.rb

index 8aa01db..2bcba92 100644 (file)
@@ -75,19 +75,18 @@ Defaults@host x=y,one=1,two=2
   # support absent and present (also purge -> true)
   ensurable
 
   # support absent and present (also purge -> true)
   ensurable
 
-  newparam(:name) do
+  newparam(:name, :namevar => true) do
     desc "Either the name of the alias, default, or arbitrary unique string for user specifications"
     desc "Either the name of the alias, default, or arbitrary unique string for user specifications"
-    isnamevar
     munge do |value|
       #puts "params \n#{resource.original_parameters.to_yaml}\n"
       value
     end
     # this fails for existing resources, just dont use fake_namevar stuff!
     validate do |name| 
     munge do |value|
       #puts "params \n#{resource.original_parameters.to_yaml}\n"
       value
     end
     # this fails for existing resources, just dont use fake_namevar stuff!
     validate do |name| 
-      if name =~ /^fake_namevar_\d+/
-        unless resource.original_parameters[:provider].get('record_type') == :parsed
-          raise Puppet::Error, "cannot use reserved namevar #{name}"
-        end
+      # please forgive this dirty hack, but only managed lines can 
+      # have lines
+      if (name =~ /^fake_namevar_\d+/ and resource.line)
+        raise Puppet::Error, "cannot use reserved namevar #{name}"
       end
     end
   end
       end
     end
   end