Class Puppet::Parser::Compiler
In: lib/puppet/parser/compiler.rb
Parent: Object

Maintain a graph of scopes, along with a bunch of data about the individual catalog we‘re compiling.

Methods

Included Modules

Puppet::Util Puppet::Util::Errors Puppet::Resource::TypeCollectionHelper

Attributes

catalog  [R] 
collections  [R] 
facts  [R] 
node  [R] 
node_scope  [R] 
relationships  [R] 
resources  [R] 

Public Class methods

Public Instance methods

Store the fact that we‘ve evaluated a class

Add a collection to the global list.

Store a resource override.

Store a resource in our resource table.

Do we use nodes found in the code, vs. the external node sources?

Return a list of all of the defined classes.

Compiler our catalog. This mostly revolves around finding and evaluating classes. This is the main entry into our catalog.

LAK:FIXME There are no tests for this.

Return the node‘s environment.

Evaluate each specified class in turn. If there are any classes we can‘t find, just tag the catalog and move on. This method really just creates resource objects that point back to the classes, and then the resources are themselves evaluated later in the process.

Evaluate all of the classes specified by the node.

Return a resource by either its ref or its type and title.

Create a new scope, with either a specified parent scope or using the top scope.

Return any overrides for the given resource.

The top scope is usually the top-level scope, but if we‘re using AST nodes, then it is instead the node‘s scope.

[Validate]