Hi Bruno,
We need to be clear what you want.
Are you trying to make changes 'on the fly' to an existing file or are you
trying to produce a file and contents from puppet? Using templates overwrites
the content of existing files, as does using source =>.
So what you can do is the following.
class s {
$var1 = 'a'
$var2 = 'b'
$var3 = 'c'
$t = inline_template('
<% unless var2 %>
<%= var1 %>
<%= var3 %>
<% else %>
<%= var1 %>
<%= var2 %>
<%= var3 %>
<% end %>
')
notify {$t:}
}
If you want to make changes to an existing common configuration file then
Augeas is probably the best option - unless you want to create your own 'lens'.
Puppet is all about enforcing state - so you know what the contents of your
file will be on your nodes, that content can different per node, but Puppet
doesn't handle unknown content - stuff it can't know. You might be wanting to
manage a file at first creation and after that you don't care about the content
but that is unclear and not implied in your question.
Sorry, that said I should also point out that you can use facter to grep for
values in a file and then use that resultant fact in your template or Puppet
decision making.
Also apologies for any errors above in advance (on a bus so not checking syntax
- so use the puppet docs for further info).
Den
On 16/03/2012, at 0:27, Gamon <[email protected]> wrote:
> Hi Dennis,
>
> I think that implementing augeas is a bit unfeasible for us at this
> moment. Would you know how to do that using ruby instead?
>
> Thanks!
>
> Bruno
>
> On Mar 15, 2:00 pm, Dennis Hoppe <[email protected]>
> wrote:
>> Hello Gamon,
>>
>> Am 15.03.2012 13:24, schrieb Gamon:
>>
>>> I'd like to have a template that would contain:
>>
>>> line1 <%= value1 %>
>>> line2 <%= value2 %>
>>> line3 <%= value3 %>
>>
>>> But the template should ignore line2 for example if that already
>>> exists. Something like greping for line2 and if that exists, keep the
>>> original line.
>>
>> i think you should take a look a augeas:
>>
>> http://projects.puppetlabs.com/projects/1/wiki/puppet_augeas
>>
>> Regards, Dennis
>>
>> signature.asc
>> < 1KViewDownload
>
> --
> 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.
>
--
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.