Actually, I think a definition will work. define file_with_base($base_dir) { file {"$base_dir/$name": ... } }
file_with_base($bars: base_dir => $base_dir } I didn't think about the $name coming from an array used when creating the file_with_base definition. I was only thinking about the parameters specified in the define, which probably comes from me continuing to think of it like a function which is wrong. Regards Mark On Monday, June 25, 2012 1:27:40 PM UTC-4, Mark Roggenkamp wrote: > > Hi all, > > I'd like to specify a base_directory and a list of directories (as > variables that may be pulled via hiera later) that will be created under > that base directory. > > base_dir = "/home/base" > bars = ["a", "b", "c"] > > bars will be used to create the folders under base and also part of the > information going into building a template so I don't want to store them as > ["$base_dir/a", "$base_dir/b", "$base_dir/c"]. > > What's the best way to create the bar directories under the base_dir? I'd > love to just give File the bars array and specify the base_dir as a > property. Should I make a prepend function that would prepend base_dir to > each bar and then pass that to File? > > I tried a definition but then to loop I have to generate a single > loop-able structure to call the definition with that contains both bars and > base_dir. I looked at create_resources but that seems like it'd force me to > make more things variables than I wanted and duplicate more than I would > like. > > Thanks, > Mark > -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To view this discussion on the web visit https://groups.google.com/d/msg/puppet-users/-/cPwQ82qQ594J. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.