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 root.ct...@gmail.com 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 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.



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 root.ct...@gmail.com 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.



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