From 38e373fc67ff7447eb1052a40979d1e9df5934ba Mon Sep 17 00:00:00 2001 From: Dan Bode Date: Mon, 21 Jun 2010 09:24:58 -0700 Subject: namevar validation only if managed. moved namevar to newparam arg. --- lib/puppet/type/sudoers.rb | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'lib') diff --git a/lib/puppet/type/sudoers.rb b/lib/puppet/type/sudoers.rb index 8aa01db..2bcba92 100644 --- a/lib/puppet/type/sudoers.rb +++ b/lib/puppet/type/sudoers.rb @@ -75,19 +75,18 @@ Defaults@host x=y,one=1,two=2 # 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" - 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| - 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 -- cgit v1.2.3