Using tags
Sometimes one Puppet class needs to know about another, or at least know whether or not it's present. For example, a class that manages the firewall may need to know whether or not the node is a web server.
Puppet's tagged function will tell you whether a named class or resource is present in the catalog for this node. You can also apply arbitrary tags to a node or class and check for the presence of these tags. Tags are another metaparameter, similar to require
and notify
, which we introduced in Chapter 1, Puppet Language and Style. Metaparameters are used in the compilation of the Puppet catalog but are not attributes of the resource to which they are attached.
How to do it...
To help you find out whether you're running on a particular node or class of nodes, all nodes are automatically tagged with the node name and the names of any classes they include. Here's an example that shows you how to use tagged
to get this information:
- Add the following code to your
site.pp
file (replacing...