How do I cause template failure in the erb ruby? I'd like the same kind of
failure as for a template syntax issue, where puppet keeps going. I know I can
use "exit" in a template, but I haven't yet tested if that will simply cause my
puppet agent to exit altogether.
Background:
I'm trying to template /etc/network/interfaces on Debian/Ubuntu, so of course
there can be many different interfaces, but each one must have certain values
(like ip address).
I want it so that if a value in the data hash is missing then I can cause the
template, and thus the file declaration to fail. That will save us from
incorrect data entry when defining interfaces.
As an example, I'd like something like the following, but if the nil caused the
file to not be created, rather than created with the "this file is " portion as
follows:
# cat /etc/puppet/templates/xx.erb
this file is <%=
if xx.has_key?('zz')
xx['zz']
else
nil
end
%>
# cat /tmp/xx.pp
$xx = { yy => 'aa', qq => 'bb' }
file { '/tmp/xx.txt':
content => template('xx.erb'),
}
# puppet apply /tmp/xx.pp
notice: /Stage[main]//File[/tmp/xx.txt]/ensure: defined content as
'{md5}7433a07924aa1785f0c567cc7c5aedfb'
# cat /tmp/xx.txt
this file is #
--
You received this message because you are subscribed to the Google Groups
"Puppet Users" 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-users?hl=en.