Augeas is a great tool for changing only parts of a configuration file. It has a few problems though, it's slow and hard to learn and does lack some documentation. That said, unless you can use file_line or inifile, Augeas is the only game in town. The alternative is an exec with sed or awk or something terrible...

More information on augeas is available on the project home page and the puppet augeas page

A talk I gave at LISA2015. A gentle introduction to Puppet for the complete beginner. This talk assumes no knowledge of Puppet and is intended for the complete beginner. Slides available here. Support files are available here.

It came up twice that I had to do this, so I decided to see if I could make something simple that solved my problem. I'm sure there's a project to do this already, but here goes. I have a list of machines, I want to see if they respond to a ping so I can determine if they are up or not.

My puppet book was released July 25th on Packtpub.com

You can also grab a copy from Amazon.

About the book

The book was written to help Puppet Engineers solve problems with their Puppet code and infrastructure.

Talk I gave at Puppetcamp Seattle 2015 - June 4, 2015
Slides are here: https://goo.gl/68yr6S

Beginner talk on how to get your code onto your masters.

Tutorial from Cascadia 2015, all about automating your puppet workflow using git, git-hooks, puppet-sync and r10k.

Slides are available here:
http://goo.gl/V6BcCi

Tutorial Questions here:
http://goo.gl/du4Hqi

Files used on github:
https://github.com/uphillian/cascadia2015

I updated John Arundel's Puppet Cookbook. This version includes many recipes aimed at Master/Client configuration, hiera, puppetdb and the future parser.

Available from Packt or

Amazon

I need to download a script from github but I don't have git on the windows machines, on Linux I just used curl -u, for windows it needed more than a one liner.
Here's what I came up with, we have self signed certs so I need to fool System.Net into thinking all certs are good, that's a one liner:

[System.Net.ServicePointManager]::ServerCertificateValidationCallback = {$true}

Next I create a WebClient object and set two headers:

$client = New-Object System.Net.WebClient

Tutorial I gave at LISA 2014 http://goo.gl/G0TLfJ

This is a talk about running puppet in the enterprise, or at scale. The original title of Mastering Puppet was Puppet in the Enterprise, the talk was to present the ideas in the book.

The tutorial files are located on github at: https://github.com/uphillian/lisa2014