puppetlabs/puppet — pull request #3341 by hlindberg (2014-11-25 20:51:01+00:00)
Title: (PUP-1640) Add agnostic mechanism for data in modules/environment

This adds a mechanism that allows an environment to specify which mechanism to use for data lookup in that environment. It also adds a mechanism for a module to specify its wanted mechanism.

Mechanisms (plugins) can be delivered in modules. Puppet ships with two mechanisms in place 'none' (which does nothing), and 'function' (which calls a function called environment::data() for the environment), and ::data() for an environment.