You should set the path based on the value of $myclass::provider: if $myclass::provider == 'package' { test = '/path/a' } else { test = '/path/b' }
On Tuesday, November 27, 2012 3:58:05 PM UTC-7, Yanis Guenane wrote: > > *Specification* : my manifest look more like this > > class myclass ($provider = 'package') { > case $provider { > 'package' : { > package {'mypackage' : > ensure => latest, > } > } > 'source' : { > exec {'install procedure' : > } > } > } > > define myclass::mydefine() { > $test = get_test_path() > > file {'myconf' : > content => templates('mod/myconf'), > } > } > > > On Tuesday, November 27, 2012 11:23:50 PM UTC+1, Yanis Guenane wrote: >> >> Hi all, >> >> I have a manifest that look like this >> >> case $provider { >> 'package' : { >> package {'mypackage' : >> ensure => latest, >> } >> } >> 'source' : { >> exec {'install procedure' : >> } >> } >> >> $test = get_test_path() >> >> file {'myconf' : >> content => templates('mod/myconf'), >> } >> >> Within mycon template I have a variable 'test' that depending if the >> package was installed from source of from the package will have a different >> path. >> Issue is that the function get_test_path() seems to be done at compile >> time, so the first time I run it will always result in an erroneous answer. >> After a second run it will be fine. >> >> Does any one can provide guidance on how I could make it work at the >> first run ? >> >> Thank you, >> > -- 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/-/hMQYjwpofeIJ. 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.