Using templates in your manifests

Since the end result of a template is a file, you won't be surprised that we use Puppet's file resource to work with templates. In fact, we use an attribute of the file resource that you've seen before: the content attribute.

Referencing template files

Recall from Chapter 2, Creating your first manifests, that you can use the content attribute to set a file's contents to a literal string:

file { '/tmp/hello.txt':
  content => "hello, world\n",
}

And, of course, you can interpolate the value of Puppet expressions into that string:

file { "/usr/local/bin/${task}":
  content => "echo I am ${task}\n",
  mode    => '0755',
}

So far, so familiar, but we can take one further step and replace the literal string with a call to the ...

Get Puppet 5 Beginner's Guide - Third Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.