Be aware that all vendor support for Puppet 3 ended at the end of 2016, and
Puppet provides their own packages (puppet-agent and puppetserver in PC1
replace the older puppet/puppetmaster combo) so you don't have to wait on
Debian. While you should plan your upgrade with care, the lack of any
support should be a motivating factor to start planning immediately instead
of waiting on a third party who isn't negatively affected by waiting, like
you are.

On Sun, Jan 1, 2017 at 4:07 PM Joe <09cic...@gmail.com> wrote:

> Thanks R.I.
>
> So iteration works with 3.8x with future parser. I am going to avoid 4
> until Debian builds it into their repositories.
>
> So iteration works but not with file_line..
>
> Here is the code.
>
> hiera array
> mod1::testdefs:
>   - 'hello'
>   - 'there'
>   - 'friends'
> ##mod1  init.pp
>
> each($testdefs) |$hline| {
>    file_line { 'Append a line to /etc/testfile':
>       ensure => present,
>       line      => $hline,
>        path    => '/etc/testfile',
>     }
> }
>
>
> ##error is this
> Error: Could not retrieve catalog from remote server: Error 400 on SERVER:
> Evaluation Error: Error while evaluating a Resource Statement, Duplicate
> declaration: File_line[Append a line to /etc/testfile] is already declared
> in file /etc/puppet/environments/test/modules/mod1/manifests/init.pp:48;
> cannot redeclare at
> /etc/puppet/environments/test/modules/mod1/manifests/init.pp:48
>
> I tried putting the loop in the file_line type but that throws another
> error since it is not acceptable to file_line.
>
> Is there any way around this that you guys are aware of?
>
> Thanks
>
>
> On Saturday, December 31, 2016 at 10:05:49 PM UTC-7, Joe wrote:
>
> Hi All
>
> Puppet v3.8.7 community on Ubuntu 14 LTS
>
> I have been attempting to write a class to use the "file_line" type
> reference from the stdlib library to add multiple lines to a file if these
> lines are not present.
> I was attempting to do this with iteration using the each function and
> tried with static and Hiera arrays. After a few hours of failure I came
> across the docs for Puppet Enterprise that say this iteration capability
> was introduced in Puppet 4.
>
> It looks like this, testdefs is an array in Hiera defined in the nodes
> yaml config
>
>  each($testdefs) |$hline| {
>    file_line { 'Append a line to /etc/testfile':
>       ensure => present,
>       line      => "$hline",
>        path    => '/etc/testfile',
>     }
> }
>
> To be clear I am trying to..
> iterate through a Hiera array
> pass each array member to the file_line type
> append this member to a file if it does not exist.
>
> Is there a way to do this with Puppet 3.x or should I just make a static
> class with multiple file_line types?
>
> Thanks
>
>
>
>
>
>
>
>
>
>
> --
>
>
> 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/4912ca68-64e4-48d7-906e-923b70aabaa3%40googlegroups.com
> <https://groups.google.com/d/msgid/puppet-users/4912ca68-64e4-48d7-906e-923b70aabaa3%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
>
> For more options, visit https://groups.google.com/d/optout.
>
>
> --
Rob Nelson

-- 
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/CAC76iT9wa6R9Bo03tt52zbjaFH1L9-BC2iTyYZOvo%3D-byqAE7Q%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to