Issue #15718 has been reported by Rémy Garrigue.
----------------------------------------
Feature #15718: $name var should be resource name systematicaly
https://projects.puppetlabs.com/issues/15718
Author: Rémy Garrigue
Status: Unreviewed
Priority: Normal
Assignee:
Category:
Target version:
Affected Puppet version:
Keywords: name title var class resource
Branch:
Here is an extract of the documentation:
Defined types have a number of built-in variables available, including $name
and $title, which are set to the title of the resource when it is declared.
(The reasons for having two identical variables with this information are
outside the scope of this document, and these two special variables cannot be
used the same way in classes or other resources.) As of Puppet 2.6.5, the $name
and $title variables can also be used as default values for parameters
This is very nice. But the fact that it's not the case for something else than
defined resource is counter intuitive. For example, I tried
<pre>file { ["test1","test2"]:
ensure => present,
content => "test",
path => "/tmp/$name",
}</pre>
That doesnt work, because $name is replaced by 'main', the class's name
containing this test:
<pre>Cannot alias File[test2] to ["/tmp"] at
/home/rgarrigu/xtreemOS/vagrant/manifests/xtreemos-devel.pp:25;
resource ["File", "/tmp"] already defined at
/home/rgarrigu/xtreemOS/vagrant/manifests/xtreemos-devel.pp:25</pre>
I had to do this to get it to work:
<pre>define myfile {
file { $name:
ensure => present,
content => "test",
path => "/tmp/$name",
}
}
myfile { ["test1","test2"]: }</pre>
Agreed, the workaround is not that hard or ugly. But imho $name/title behing
defined as the first container name would be far more intuitive.
--
You have received this notification because you have either subscribed to it,
or are involved in it.
To change your notification preferences, please click here:
http://projects.puppetlabs.com/my/account
--
You received this message because you are subscribed to the Google Groups
"Puppet Bugs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/puppet-bugs?hl=en.