DrKJam
2009-Jun-12 18:05 UTC
[Puppet Users] Referring to a class variable using its name as a string value
It would be great if I was able to refer to a variable in a class namespace
using only it''s string value.
I guess this is a kind of eval-esque construct for those familiar with Perl
and Python.
Example source :-
^^^^^^^^^^^^^^^^^^^^^^^^^^^
$classname = ''foo''
class foo {
$bar = "baz"
notice("I am class $classname with a variable \$bar=$bar")
}
include $classname # Awesome - I can use a string value for class
includes!
notice("$foo::bar") # I can reference a value using its *actual*
name
...
# But this doesn''t work ...
$value = inline_template("$<%= classname %>::bar")
notice("I''d really like ''baz'' below but I only
get \$foo::bar")
notice("$value")
^^^^^^^^^^^^^^^^^^^^^^^^^^^
output :-
notice: Scope(Class[foo]): I am class foo with a variable $bar=baz
notice: Scope(Class[main]): baz
notice: Scope(Class[main]): I''d really like ''baz''
below but I only get
$foo::bar
notice: Scope(Class[main]): $foo::bar
So near and yet so far :-(
Is there a way to do this using some special syntax, a function call or a
possible plugin perhaps?
Dave M.
--~--~---------~--~----~------------~-------~--~----~
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+unsubscribe@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/puppet-users?hl=en
-~----------~----~----~----~------~----~------~--~---