On Monday, December 26, 2011 5:56:26 AM UTC-8, Trevor Vaughan wrote:
>
> I just ran into an interesting scenario where I didn't know how to
> scope my variables and I'd just like to share for the crowd.
>
> Suppose you have two modules 'foo' and 'bar'. You also have two
> defines, 'foo::do_stuff' and 'bar::more_stuff'.
>
> define foo::do_stuff (
>   $var1 = 'a',
>   $var2 = 'b'
> ) {
>   bar::more_stuff { 'test': }
> }
>
> define bar::more_stuff (
>   $optional_var = 'ignore'
> ) {
>   file { '/tmp/test':
>     content => template('bar/random.erb')
> }
>
> +++ random.erb +++
>
> var1 = <%= var1 %>
> var2 = <%= var2 %>
>
Have you tried this in your template?

<%= scope.lookupvar('foo::do_stuff::var1') %>

That should let you refer directly to the variable in that define, if I 
understand your setup correctly.

-- 
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/-/INSxwNXtXP8J.
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.

Reply via email to