parameterized class support
http://projects.puppetlabs.com/issues/5045 is the ticket for this.
Basically I think the UI should be updated so that when you select a class it either gives you the parameters directly below or creates new boxes (like the existing parameters one) below that list:
Parameter name [ box to type in ]
Parameter name 2 [ box to type in ]
fixes #832 - adds parameterized class support
This patch is based on the original work of Olivier Favre
<email@example.com> many many thanks!
- 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 <firstname.lastname@example.org>
#3 Updated by Romain Vrignaud over 7 years ago
For me, the use case should be :
- After importing puppet classes, I should be able to edit class and in a "Parameterized Class" Tab I should be able to add as many paramaters as I want and optional default value for each parameter.
- When I edit an hostgroup and I add a parameterized class to this hostgroup : it should show under the list class (or in parameter tab ?) the list of declared paramater for that class and I should be able to edit the keys. If I don't set any value then it should be mandatory to be done during host edition.
- In the same idea, If I add a parameterized class to an host, I should be able to configure the parameterized class in the same way.
- If one of my host is declared as a member of an hostgroup which include a parameterized class, I should see the value affected in hostgroup. (see Feature #1165)
#10 Updated by Ohad Levy almost 7 years ago
- Category set to Puppet integration
- Assignee changed from Olivier Favre to Ohad Levy
a more recent hopefully soon to be merged here: