You might be better off using something like Puppet Bolt to deploy the file
as a one off task at provisioning, rather than trying to manage it
declaratively through Puppet.

On Fri, 29 Jan 2021, 3:50 pm Steve McKuhr, <[email protected]> wrote:

> In an effort to avoid errors triggered by validate_cmd, I ended up using
> a conditional based on a File.exists custom fact. I'm still open to
> suggestions, this is all new territory to me.
>
>
> On Thu, 2021-01-28 at 17:13 -0800, Steve McKuhr wrote:
> > I've just realized that my problem statement was slightly misleading. A
> > 'users' file gets installed as part of the software package, and the
> > goal is replacing its contents during the first Puppet run. The next
> > Puppet runs should ignore any changes.
> >
> >
> > On Thu, 2021-01-28 at 20:07 +0100, Martin Alfke wrote:
> > > and please use ensure => file !
> > > this is more clear.
> > > you can set the file ensure attribute to one of the following: file,
> directory, link, absent
> > >
> > >
> > > > On 28. Jan 2021, at 18:58, Ben Ford <[email protected]> wrote:
> > > >
> > > > Yep, just use the replace attribute on the file resource.
> https://puppet.com/docs/puppet/latest/types/file.html#file-attribute-replace
> > > >
> > > > On Thu, Jan 28, 2021 at 9:57 AM Steve McKuhr <[email protected]>
> wrote:
> > > > I'd like to initialize a user config file once, at software install
> time, then allow application admins to manage the file contents via web
> interface (add/remove users, etc.) - I have come up with the following:
> > > >
> > > > file { 'users':
> > > >   ensure => present,
> > > >   content => template('my-template'),
> > > >   validate_cmd => '/bin/test ! -f users.control',
> > > > }
> > > > file { 'users.control':
> > > >   ensure => present,
> > > >   content => "puppet managed",
> > > >   require => File['users'],
> > > > }
> > > >
> > > > The above code works ok, however I was wondering if there is a more
> elegant solution.
> > > >
> > > > Thanks,
> > > > Steve
> > > >
> > > >
> > > > --
> > > > 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 [email protected].
> > > > To view this discussion on the web visit
> https://groups.google.com/d/msgid/puppet-users/fb1ae2b4-f220-4d18-864b-aafbadb44b14n%40googlegroups.com
> .
> > > >
> > > > --
> > > > 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 [email protected].
> > > > To view this discussion on the web visit
> https://groups.google.com/d/msgid/puppet-users/CACkW_L5oTmsHiwvmVEisKap7gkUt1P4Gmvh1-%3DBQqNtHHiWAcA%40mail.gmail.com
> .
>
> --
> 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 [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/puppet-users/7a518ea8c6214ea01e1ce3d6e76273ddfd576493.camel%40gmail.com
> .
>

-- 
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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/CABaapw%2B3od6HtGXb8bGMncUXZWuiZW46frSfL62S%3DgjyqcJimg%40mail.gmail.com.

Reply via email to