On Thursday, May 8, 2014 12:36:56 PM UTC-5, Ritesh Nanda wrote:
>
> Thanks Henrik ,
>
> I would like to find a file and  parse it  , so that would be on the agent 
> , creating a puppet function would not work , as master  will not be able 
> to access those files.
>


Neither would anything written in Ruby DSL, for much the same reason.

 

> You said Can be done with Resources , how can i include a ruby block in my 
> manifest , i know using exec resource i can run a ruby script , but any 
> better way to do it.
>
>

You can execute more or less arbitrary Ruby code from your manifest via an 
ERB template, using the built-in template() or inline_template() function.  
You can serve some purposes for which you might want Ruby by enabling and 
using the 'future' parser.  But all of that runs on the master, in order to 
build a "catalog" describing the resources and properties to manage on the 
target node.

If you want to run custom Ruby code on the client as part of a Puppet run 
then you must build a 
plugin<http://docs.puppetlabs.com/puppet/#hacking-and-extending-ruby-plugins>with
 which Puppet (or Facter) will do so.  If the purpose is to gather 
information to inform catalog construction, then your plugin should be a custom 
fact <http://docs.puppetlabs.com/guides/custom_facts.html>.  If the purpose 
is to modify the system then you want a custom resource type and a provider 
for it <http://docs.puppetlabs.com/guides/custom_types.html>.


John

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/c92d012d-99c6-4de3-b74e-44beda2e3622%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to