Re: [Puppet Users] access exported resources in template

2012-11-21 Thread Bart Swedrowski


On Friday, September 7, 2012 2:01:13 PM UTC+1, ctrlc-root wrote:
>
> Well, 3 years old or not, this is still in the first page of google 
> results haha. I'm running puppet version 2.7.9 and the result of that 
> template is a blank comment line for every instance of the Firewall::Rule 
> type. If I replace 'resource[:comment]' with 'resource.type' then I can 
> confirm that the iteration is actually working, because I see comment lines 
> like this '# Firewall::Rule'. I tried 'resources["comment"]', 
> 'resources[:comment]', and 'resources.comment' (with this one triggering an 
> error).
>
> I wish there was some easy way to get an interactive ruby shell running 
> with the same environment so I could actually test this without running 
> puppet apply every time, if I could I probably would have figured it out on 
> my own already. If you don't know what the answer is, could you maybe point 
> me in the general direction of how you would find out? Perhaps a relevant 
> part of the puppet source code? And thanks for answering.
>

I just got through Google to this post - have you guys managed to find a 
final solution for this? 

-- 
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/-/fBUhRdGElW8J.
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.



Re: [Puppet Users] access exported resources in template

2012-09-09 Thread Luke Kanies
I don't quite know the answer, and I agree, a running shell would be useful.

I'd be looking in Parser::Scope and the TemplateWrapper class, wherever it is.  
Those should generally cover it, with maybe Parser::Resource.

You should try deeper inspection of the resources.  I think 'resource.to_hash' 
should give you all of the resource's parameters.

On Sep 7, 2012, at 6:01 AM, ctrlc-root  wrote:

> Well, 3 years old or not, this is still in the first page of google results 
> haha. I'm running puppet version 2.7.9 and the result of that template is a 
> blank comment line for every instance of the Firewall::Rule type. If I 
> replace 'resource[:comment]' with 'resource.type' then I can confirm that the 
> iteration is actually working, because I see comment lines like this '# 
> Firewall::Rule'. I tried 'resources["comment"]', 'resources[:comment]', and 
> 'resources.comment' (with this one triggering an error).
> 
> I wish there was some easy way to get an interactive ruby shell running with 
> the same environment so I could actually test this without running puppet 
> apply every time, if I could I probably would have figured it out on my own 
> already. If you don't know what the answer is, could you maybe point me in 
> the general direction of how you would find out? Perhaps a relevant part of 
> the puppet source code? And thanks for answering.
> 
> On Friday, September 7, 2012 12:52:14 AM UTC-4, Luke Kanies wrote:
> Wow, talk about a blast from the past.  I don't get a lot of replies to 3 
> year old email. :)
> 
> What happens when you do this?  It looks like it should basically work, 
> although I'd use 'resources' instead of 'vertices', I think.  What version is 
> this?
> 
> -- 
> Luke Kanies | http://about.me/lak | http://puppetlabs.com/ | +1-615-594-8199
> 
> 
> -- 
> 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/-/XEXWIRbxz9kJ.
> 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.


-- 
Luke Kanies | http://about.me/lak | http://puppetlabs.com/ | +1-615-594-8199

-- 
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.



Re: [Puppet Users] access exported resources in template

2012-09-07 Thread ctrlc-root
Well, 3 years old or not, this is still in the first page of google results 
haha. I'm running puppet version 2.7.9 and the result of that template is a 
blank comment line for every instance of the Firewall::Rule type. If I 
replace 'resource[:comment]' with 'resource.type' then I can confirm that 
the iteration is actually working, because I see comment lines like this '# 
Firewall::Rule'. I tried 'resources["comment"]', 'resources[:comment]', and 
'resources.comment' (with this one triggering an error).

I wish there was some easy way to get an interactive ruby shell running 
with the same environment so I could actually test this without running 
puppet apply every time, if I could I probably would have figured it out on 
my own already. If you don't know what the answer is, could you maybe point 
me in the general direction of how you would find out? Perhaps a relevant 
part of the puppet source code? And thanks for answering.

On Friday, September 7, 2012 12:52:14 AM UTC-4, Luke Kanies wrote:
>
> Wow, talk about a blast from the past.  I don't get a lot of replies to 3 
> year old email. :)
>
> What happens when you do this?  It looks like it should basically work, 
> although I'd use 'resources' instead of 'vertices', I think.  What version 
> is this?
>
> -- 
> Luke Kanies | http://about.me/lak | http://puppetlabs.com/ | 
> +1-615-594-8199
>  
>

-- 
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/-/XEXWIRbxz9kJ.
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.



Re: [Puppet Users] access exported resources in template

2012-09-06 Thread Luke Kanies
Wow, talk about a blast from the past.  I don't get a lot of replies to 3 year 
old email. :)

What happens when you do this?  It looks like it should basically work, 
although I'd use 'resources' instead of 'vertices', I think.  What version is 
this?

On Sep 6, 2012, at 10:14 AM, ctrlc-root  wrote:

> The resource[:property] method doesn't seem to work. I'm pretty new with 
> puppet and only just learned ruby, so I was hoping someone could perhaps just 
> point me in the right direction. Here's what I've got so far:
> 
> <% scope.compiler.catalog.vertices.each do |resource| -%>
> <% if resource.type == "Firewall::Rule" -%> 
> # <%= resource[:comment] %>
> <% end -%> 
> <% end -%>
> 
> where Firewall::Rule is defined something like:
> 
> define firewall::rule ($comment=$title){}
> 
> Any ideas?
> 
> On Wednesday, October 21, 2009 12:55:37 AM UTC-4, Luke Kanies wrote:
> On Oct 19, 2009, at 6:19 AM, Bernhard Bock wrote:
> >
> > Hi,
> >
> > I'm trying to develop a class that autogenerates a config file based
> > on an .erb template.
> > It shall populate the config file with data exported from various  
> > hosts.
> >
> > Some pseudocode to clarify my issue:
> >
> > node n1 {
> >   @@mytype {
> >  "name":
> >  property => "foo"
> >   }
> > }
> >
> > template.erb:
> > <% mytype.each do |bar| %>
> > <%= bar.name %>
> > <%= bar.property %>
> > <% end %>
> >
> > My question is: How can I access and iterate through the exported
> > resources in the template? mytype.each will not work...
> 
> 
> This is getting into semi-supported internal APIs, but you can get the  
> resource list from the catalog, something like this:
> 
> compiler.catalog.vertices.each do |resource|
>resource.title
>resource[:property]
> end
> 
> -- 
> What happens to the hole when the cheese is gone? -- Bertolt Brecht
> -
> Luke Kanies | http://reductivelabs.com | http://madstop.com
> 
> 
> 
> 
> 
> 
> 
> -- 
> 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/-/1mmfEPyDYj4J.
> 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.


-- 
Luke Kanies | http://about.me/lak | http://puppetlabs.com/ | +1-615-594-8199

-- 
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.



Re: [Puppet Users] access exported resources in template

2012-09-06 Thread ctrlc-root
The resource[:property] method doesn't seem to work. I'm pretty new with 
puppet and only just learned ruby, so I was hoping someone could perhaps 
just point me in the right direction. Here's what I've got so far:

<% scope.compiler.catalog.vertices.each do |resource| -%>
<% if resource.type == "Firewall::Rule" -%> 
# <%= resource[:comment] %>
<% end -%> 
<% end -%>

where Firewall::Rule is defined something like:

define firewall::rule ($comment=$title){}

Any ideas?

On Wednesday, October 21, 2009 12:55:37 AM UTC-4, Luke Kanies wrote:
>
> On Oct 19, 2009, at 6:19 AM, Bernhard Bock wrote:
>
> >
> > Hi,
> >
> > I'm trying to develop a class that autogenerates a config file based
> > on an .erb template.
> > It shall populate the config file with data exported from various  
> > hosts.
> >
> > Some pseudocode to clarify my issue:
> >
> > node n1 {
> >   @@mytype {
> >  "name":
> >  property => "foo"
> >   }
> > }
> >
> > template.erb:
> > <% mytype.each do |bar| %>
> > <%= bar.name %>
> > <%= bar.property %>
> > <% end %>
> >
> > My question is: How can I access and iterate through the exported
> > resources in the template? mytype.each will not work...
>
>
> This is getting into semi-supported internal APIs, but you can get the  
> resource list from the catalog, something like this:
>
> compiler.catalog.vertices.each do |resource|
>resource.title
>resource[:property]
> end
>
> -- 
> What happens to the hole when the cheese is gone? -- Bertolt Brecht
> -
> Luke Kanies | http://reductivelabs.com | http://madstop.com
>
>

-- 
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/-/1mmfEPyDYj4J.
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.



[Puppet Users] access exported resources in template

2009-10-19 Thread Bernhard Bock

Hi,

I'm trying to develop a class that autogenerates a config file based
on an .erb template.
It shall populate the config file with data exported from various hosts.

Some pseudocode to clarify my issue:

node n1 {
   @@mytype {
  "name":
  property => "foo"
   }
}

template.erb:
<% mytype.each do |bar| %>
<%= bar.name %>
<%= bar.property %>
<% end %>

My question is: How can I access and iterate through the exported
resources in the template? mytype.each will not work...

best regards
Bernhard

--~--~-~--~~~---~--~~
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
-~--~~~~--~~--~--~---