Re: [Puppet Users] Integrating Ruby methods into Puppet classes

504 views
Skip to first unread message

R.I.Pienaar

unread,
Jul 19, 2012, 9:58:06 AM7/19/12
to puppet...@googlegroups.com


----- Original Message -----
> From: "Axel Bock" <axel...@arbeitsagentur.de>
> To: puppet...@googlegroups.com
> Sent: Thursday, July 19, 2012 2:54:36 PM
> Subject: [Puppet Users] Integrating Ruby methods into Puppet classes
>
> Hello all,
>
> I am new to puppet and I am currently designing a set of deployment
> rules for our company web servers. The Puppet DSL brings me quite
> far, but now I could really use the possibility to extend the DSL
> with one or two ruby functions.
>
> Example: I would like to iterate over all the IP addresses of a
> system, picking out only those which match a certain criteria.
> There are method-like things in the DSL, like the template("...")
> method for the file class.
>
> Now my question is: Is that possible in general? And if yes - where
> is a point where I can read up on this? I am a Ruby Noob (tm) but
> firm in quite a few other languages, so some rough hands-on
> documentation on how to start should be enough.

You can write your own functions http://docs.puppetlabs.com/guides/custom_functions.html

Puppet ships with quite a few http://docs.puppetlabs.com/references/stable/function.html

And there is a good library called puppetlabs-stdlib with many more https://github.com/puppetlabs/puppetlabs-stdlib

Axel Bock

unread,
Jul 30, 2012, 8:50:41 AM7/30/12
to puppet...@googlegroups.com
thanks, that works just fine :) . I am writing some methods right now.

a last question maybe: how can I ouptut text on the command line from within a function?

crit(...) and function_crit(...) don't seem to work, even when I include the puppet functions using "... loadall" like said in the docs.


thanks in advance,
axel.

R.I.Pienaar

unread,
Jul 30, 2012, 10:04:56 AM7/30/12
to puppet...@googlegroups.com


----- Original Message -----
> From: "Axel Bock" <axel...@arbeitsagentur.de>
> To: puppet...@googlegroups.com
> Sent: Monday, July 30, 2012 5:50:41 AM
> Subject: Re: [Puppet Users] Integrating Ruby methods into Puppet classes
>
> thanks, that works just fine :) . I am writing some methods right
> now.
>
> a last question maybe: how can I ouptut text on the command line from
> within a function?
>
> crit(...) and function_crit(...) don't seem to work, even when I
> include the puppet functions using "... loadall" like said in the
> docs.

functions are run on the master so you wont see them on the client side
unless you are using 'apply', Puppet.notice() should do it.

Axel Bock

unread,
Jul 31, 2012, 2:40:05 AM7/31/12
to puppet...@googlegroups.com
that sounds quite like what I need. thanks :)
Reply all
Reply to author
Forward
0 new messages