Node scope
Code inside a node definition exists at node scope. Only one node scope can exist at a time because only one node definition can match a given node.
Variables and defaults declared at node scope are available everywhere except top scope.
Classes and resources declared at top scope bypass node scope
entirely, and so cannot access variables or defaults from node scope.
In this
example, node scope can access top scope variables, but not vice-versa.# site.pp
$top_variable = "Available!"
node 'puppet.example.com' {
$variable = "Hi!"
notify {"Message from here: $variable":}
notify {"Top scope: $top_variable":}
}
notify {"Message from top scope: $variable":}$ puppet apply site.pp notice: Message from here: Hi! notice: Top scope: Available! notice: Message from top scope: