On 2015-15-01 15:53, jcbollinger wrote:
On Wednesday, January 14, 2015 at 8:08:25 PM UTC-6, Felix.Frank wrote: On 01/14/2015 03:47 PM, Jason Wever wrote: > Hi All, > > I having a problem in where I'm defining a File Type and setting the > requires parameter to use a variable name (e.g. requires => $foo). > However, when I do this, the Puppet run doesn't act like it's > translating the variable into what it should be set to. $foo should > resolve to either Class['a'] or Class['b'] depending on a particular > fact, but the File Type is being processed by Puppet before Class['a'] > or Class['b'] has been processed. > > Is it possible to use a variable as the value for the requires > parameter in a File Type? > > I've tried this with Puppet versions 3.5.1 and 3.6.1 but no change in > behavior. Haven't tried a 3.7.x. > > Thanks, Hi, this is not an ordering issue. Perhaps not. $foo = 'Class["a"]' The above string is not blessed into a class reference when used as the value for an ensure parameter (apparently). Not quoting it makes no difference. Are you sure that quoting vs. not quoting doesn't make a difference? At least with the future parser, the unquoted version ought to be a bona fide class reference in any context, and I didn't think that was new. Or are you suggesting that the reference gets stringified upon assignment to a variable? I've never done much along these lines, but that sounds surprising and a bit inconsistent to me.
The 3x catalog/resource API requires that type references are indeed stringified. Internally that string is then turned into a Resource instance where only type and title are filled in.
So, yeah, atm, there is no difference between a quoted reference and a real resource type reference. There will be when we in a later version of puppet improve the catalog and compiler (although the string type will most likely still be supported, it will be more efficient to use a type).
- henrik -- Visit my Blog "Puppet on the Edge" http://puppet-on-the-edge.blogspot.se/ -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/m9bf1n%24uut%241%40ger.gmane.org. For more options, visit https://groups.google.com/d/optout.