I'm in no way a puppet guru.... but rewritting it didnt work? from a logic point of view this should work:
class .... $baseurl, $webapp_context_path = '' ) { if ($webapp_context_path == '') { # Try to get value from baseurl $webapp_context_path = regsubst($baseurl, '^https?://[^/]+(/.*)', '\1') if ($webapp_context_path == '') { #Set default $webapp_context_path = '/' } } notify{"rewritted webapp_context_path='${webapp_context_path}' from url='${baseurl}'": } } But as I said I'm fairly new with puppet, did not tried above code. On Mon, Oct 1, 2012 at 10:28 PM, Amos Shapira <amos.shap...@gmail.com>wrote: > Hello, > > I have a small Puppet 2.7 module to configure Sonatype Nexus Professional. > The module takes, among other things, a baseurl in the form of " > http://example.com/path" and I'd like it to extract the "/path" from that > variable into a separate variable IF an optional "path" variable haven't > been supplied. > > Here is an extract: > class nexus::config( > ... > $baseurl, > $webapp_context_path = '' > ) { > if ($webapp_context_path == '') > { > $webapp_context_path = regsubst($baseurl, '^https?://[^/]+(/.*)', '\1') > $webapp_context_path = regsubst($baseurl, '^https?://[^/]+(/.*)', '\1') if ($extracted_url_path) > { > $int_webapp_context_path = $extracted_url_path > } > else > { > # in case we were given a $baseurl without the tailing "/" > $int_webapp_context_path = '/' > } > notify{"extracted int_webapp_context_path > \"${int_webapp_context_path}\" from url \"${baseurl}\"": } > } > > # use $int_webapp_context_path in the .erb template file > > My question - this use of $int_webapp_context_path and $extracted_url_path > looks a bit shabby. But I didn't find a way to use conditional assignments > to remove these intermediate variables and either: > 1. Assign the value I want to $webapp_context_path if it's not set yet. > 2. Or at least get rid of the $extracted_url_path > > Is there a nicer way to achieve the above? > > Thanks. > > -- > 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/-/rNRGRX2LrzkJ. > 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. > -- GuruHub - Guzmán Brasó http://www.guruhub.com.uy - +59898674020 Rivera 3565 - CP11400 - Montevideo, Uruguay -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. 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.