Issue #17519 has been updated by R.I. Pienaar.
Related #17206 ---------------------------------------- Bug #17519: Puppet type and provider handling of boolean values. https://projects.puppetlabs.com/issues/17519#change-76097 Author: Nan Liu Status: Accepted Priority: Normal Assignee: Henrik Lindberg Category: RAL Target version: Affected Puppet version: Keywords: bd, language, ral, type, provider Branch: So I have no idea why we convert boolean values to the symbol :true, :false, and this is making things a bit painful when writing puppet providers. First, I'm not sure why this is necessary before we can even use true, false: newproperty(:example) do newvalues(:true, :false) end Without this, the built in insync? always evaluate true. Once we added newvalues(:true, :false), we have to compare against symbol :true: /Stage[main]//Notify[trigger]/message: current_value absent, should be trigger (noop) /Stage[main]//Demo[ntpd]/running: current_value TrueClass true, should be Symbol :true (noop) Class[Main]: Would have triggered 'refresh' from 3 events Stage[main]: Would have triggered 'refresh' from 1 events Finished catalog run in 2.00 seconds So far these work around doesn't work and they are both wat?: * munge gets evaluated before whatever internal process changes the value to symbol :true, :false. * insync? is not called if the value is :true, :false, so we can't change the comparison behavior. You'll find these code examples in puppet provider comparing against the symbol true: * @resource[:hasrestart] == :true * if resource[:type_check] == :true I'm curious why in the world we don't just treat them as booleans and instead as symbols and why we have do these special comparisons. -- You have received this notification because you have either subscribed to it, or are involved in it. To change your notification preferences, please click here: http://projects.puppetlabs.com/my/account -- You received this message because you are subscribed to the Google Groups "Puppet Bugs" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/puppet-bugs?hl=en.
