Issue #4920 has been updated by R.I. Pienaar aka Volcane.

This comes up often, 'i want to create a file with a template but want to be 
able to specify a specific source for certain clients' ie.  
<em>["puppet:///foo/foo.${fqdn}", template("foo/foo")]</em>

Templates are fine and all, but sometimes you just need to do something 
entirely different on a specific machine and playing the whole inheritance game 
for a simple one off is just too much effort.  This feature request would make 
that kind of thing much easier.  Combined with the fact that template() doesnt 
do source selection like source does it really is pretty hard to do

I also don't think this is such a massive hurdle as people think, you could 
send the template content out in the catelog - as you would need to with 
compile time validation etc - but if there's a potential override source 
specified attempt to fetch it, if it 404s put the template content down else 
use the file.
----------------------------------------
Feature #4920: Treat file sources as templates
http://projects.puppetlabs.com/issues/4920

Author: martin krafft
Status: Unreviewed
Priority: Normal
Assignee: 
Category: file
Target version: 
Affected version: 
Keywords: 
Branch: 


Under certain circumstances, file sources should be evaluated by ERB.
I imagine three possible syntax for that:

1. A parameter:
<pre>
file { "/tmp/file":
    source  => ["puppet:///$fqdn", "puppet:///somedefault"],
    erbeval => true
}
</pre>

2. A prefix:
<pre>
file { "/tmp/file":
    source  => ["puppet:///$fqdn", "erb:puppet:///somedefault"],
}
</pre>

3. Using the file extension:
<pre>
file { "/tmp/file":
    source  => ["puppet:///$fqdn", "puppet:///somedefault.erb"],
}
</pre>

In general, I would like to see the difference between files and templates
vanish. However, since ERB is dreadfully slow, that might not be desired.

Hence I would suggest a combination of (1.) and (2.) (stupid redmine syntax
parsing idiocy): erbeval defaults to false, in which case only the sources
prefixed with "erb:" are evaluated. If erbeval is true, all sources are
evaluated (and the prefix ignored). If wanted, a "noerb:" could also be
introduced.



-- 
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.

Reply via email to