Puppet key concepts Puppet uses these concepts: Puppet node: A computer that runs the Puppet agent service. The ServiceNow product supports managing Puppet nodes on Linux computers. Puppet Master: A computer that runs the Puppet Master service. A Puppet Master can install and configure software on a Puppet node, serving the configuration catalogs to the Puppet agents that run on each client node. Resource: A building block that describes an aspect of a system, such as a file, a user, a service that must be running, or a package that must be installed. Class: A collection of Puppet resources. A class can be treated as a single logical unit and can be applied to an agent by way of a node definition. You cannot create class records in the instance, but must discover this content from a Puppet Master. Manifest: A file that contains resource declarations such as classes, variables, and defined types. Manifests are written in the Puppet language and have a .pp file extension. You cannot create manifest records in the instance, but must discover the content from a Puppet Master. Module: A self-contained bundle of Puppet code and data. Pre-built modules are available that can provide a wide array of functionality. A single module can describe, for instance, an entire web application. Modules are the highest-level resource available with Puppet. You cannot create module records in the instance, but must discover this content from a Puppet Master. Node definition: A collection of classes. A node definition specifies which classes should apply to a Puppet node. External node classifier (ENC): A source of Puppet node configurations separate from the Puppet Master. The instance provides an External Node Classifier Script (ENC) that you can modify and run from a Puppet Master to use the instance as an external node classifier.