I’ll be giving a talk at PuppetCamp Chicago this year, speaking to Puppet beginners about custom types and providers. The talk will focus on

  1. A quick tour of the “Puppet Learning Curve”
  2. How custom types and providers can extend Puppet to handle nearly any task – particularly the types of tasks that new Puppet users will jump into writing shell scripts to handle.

A good subheading might be how you turn this:

exec{}->exec{}->exec{}

into

wpcli{"/usr/local/bin': ensure => present, }

You can find the example project on GitHub here: https://github.com/chad-thompson/puppetcamp2014-custtypes

And a PDF of the presentation itself here: https://github.com/chad-thompson/puppetcamp2014-custtypes/blob/master/puppetcamp-chicago-2014.pdf?raw=true