Help me out here, please. I believe I understand the descriptions given by both sides. What I do not understand is "why is it a concern ?" How do you plan to use "namevar" that makes this clarification important to you ?
“Sometimes I think the surest sign that intelligent life exists elsewhere in the universe is that none of it has tried to contact us.” Bill Waterson (Calvin & Hobbes) ----- Original Message ----- From: "Gary Larizza" <[email protected]> To: [email protected] Sent: Wednesday, December 5, 2012 4:15:17 PM Subject: Re: [Puppet Users] Slight oversight in the type documentation Gotcha, That would probably be a good ticket for our docs project in Redmine --> http://projects.puppetlabs.com/projects/puppet-docs On Wed, Dec 5, 2012 at 1:14 PM, Ellison Marks < [email protected] > wrote: Ah, point taken about using namevars. As to the documentation, it lists the namevar, but only where it differs from "name". There are a bunch of types, cron and user to name two, whose namevar is the "name" parameter, but there's no indication in the doc that this is the case. In fact, for these types, there's no indication that they have any namevar at all. On Wednesday, December 5, 2012 1:08:27 PM UTC-8, Gary Larizza wrote: On Wed, Dec 5, 2012 at 1:01 PM, Ellison Marks < [email protected] > wrote: I read that bit. It doesn't identify a default namevar, nor indicate that the "name" parameter is special. Again, maybe it's common sense, but having it spelled out explicitly can't be a bad thing. Also, I dispute that namevars are only important to developers (assuming by developer they mean someone writing a new puppet type). I can use them to save typing when writing a manifest. Check the type reference again - I'm seeing the Namevar in bold next to the attribute that is the namevar ( http://docs.puppetlabs.com/ references/latest/type.html# exec ). Are you seeing something different? The latter part I would caution against. Consider the situation where you use the namevar in an exec for its 'command' attribute: exec { '/bin/somecommand -f -a': refreshonly => true, } file {'/var/tmp/foo': notify => Exec['/bin/somecommand -f -a'], } If, in the future, you realize that you need to change the exec resource, now you have to change everything that REFERENCES IT too (since references use the title). I hit this pretty late in the game in my old job, and it became a bit tedious. On Wednesday, December 5, 2012 12:55:16 PM UTC-8, Ygor wrote: The info you are asking for is at the top of the Type Reference page: The namevar is the parameter used to uniquely identify a type instance. This is the parameter that gets assigned when a string is provided before the colon in a type declaration. In general, only developers will need to worry about which parameter is the namevar. ----- Original Message ----- From: "Ellison Marks" < [email protected] > To: [email protected] Sent: Wednesday, December 5, 2012 3:49:49 PM Subject: Re: [Puppet Users] Slight oversight in the type documentation Yes, And while the command line tools and looking at the code are as accurate as ever, it would be nice to find that info on the type page as well. http://docs.puppetlabs.com/ ref erences/latest/type.html On Wednesday, December 5, 2012 12:44:50 PM UTC-8, Gary Larizza wrote: Hi Ellison, You can do `puppet decribe <type>` from the command line and it should tell you which attribute is the namevar for that type. Most types use 'name' for their namevar, but some (like file) do not. Hope that helps! On Wed, Dec 5, 2012 at 11:46 AM, Ellison Marks < [email protected] > wrote: So I was looking at the type reference, and noticed that for a lot of the types, no namevar was listed. When I checked the types in the code, for each of those omissions, the namevar was simply "name". Now, it might be self evident that this is the case, but a little documentation couldn't hurt, If not in each type, at least in the section where it describes what namevars are. Something like: "If namevar is not specified, assumed that it is 'name'". -- You received this message because you are subscribed to the Google Groups "Puppet Users" 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-users?hl=en.
