On 01/14/2014 05:12 PM, Justin Lambert wrote:
> I’m attempting to create a bunch of symlinks based on an array of filenames
> but I can’t figure out how to use the title of the resource within the
> resource itself.
>
> class app::config {
> file { [ 'a.conf', 'b.conf' ]:
> ensure => 'link',
> path => "/etc/app/${name}",
> target => "/usr/app/${name}
> }
> }
> $name and $title both equal app::config in this example. Is what I’m trying
> to do possible?
>
> I’m running puppet 3.4.0.
>
> Thanks,
> Justin
>
It is, but you have to use a define (or at least how I'm doing it uses a
define), here's an example based on something thing I'm doing:
common.pp:
class my_module::common () {
...
my_module::common::my_symlinks { ['file1', 'file2', 'file3']: }
...
}
common/my_symlinks.pp:
define my_module::common::my_symlinks: {
file { "symlink_${name}":
ensure => link,
path => "/some/path/${name}",
target => "/some/other/path/${name}",
}
}
I wasn't the first to figure that out, I think I remember who I got it
from, but I'm not sure if it's something they came up with or if they
got it from somewhere else. Hope that helps.
--
Joseph Swick <[email protected]>
Operations Engineer
Meltwater Group
signature.asc
Description: OpenPGP digital signature
