theforeman/foreman — pull request #156 by ohadlevy (2012-09-20 08:02:45+00:00)
Title: fixes #832 - adds parameterized class support

Credits:
This patch is based on the original work of Olivier Favre
many many thanks!

This patch adds the following features
* import class parameters, and try to understand their types
* support a complex matrix of environments, puppet classes and their
signature - each class can have a different set of parameters per environment.
* adds an ignore yaml file 'config/ignored_environments.yml.sample' file were
users can add regexp or class names that the importer should ignore.
common usage case for this is classes such as ::config, ::install etc.
* introduce a new type of smart variable - parameterized.
* adds complex data types to smart vars, arrays, hashes, json, yaml etc are all supported now.

in order to use the new ENC format for puppet 2.6.5+ you should enable the
*Parametrized_Classes_in_ENC* and *Enable_Smart_Variables_in_ENC* within Foreman Settings

This is the initial patch just to get param classes support in, follow-up patches
would include a better UI and the relevant UI updates to host edit page etc.

Signed-off-by: Ohad Levy