body common control { bundlesequence => { "main" }; inputs => { "cfengine_stdlib.cf", }; } bundle agent main { methods: #"works" usebundle => test_namespace:sketch_entry("passing the bundle name bypassing defauts", "test_namespace:default_runenv"); "noworky" usebundle => test_namespace:sketch_entry("passing a string that triggers the default value to be used", "trigger_default"); } body file control { namespace => "test_namespace"; } bundle common default_runenv { vars: "env_vars" slist => { "runas", "umask" }; "runas" string => "root"; "umask" string => "022"; } bundle agent sketch_entry(test, runenv) { defaults: "runenv" string => "test_namespace:default_runenv", if_match_regex => "trigger_default", handle => "first"; vars: first:: # This one doesn't work if runenv is set by a defaults promise (╯°□°)╯︵ ┻━┻) "vars" slist => { "@($(runenv).env_vars)" }, depends_on => { "first" }; "$(vars)" string => "$($(runenv).$(vars))", depends_on => { "first"}; classes: "second" expression => "first"; "first" expression => "any"; reports: cfengine.second:: "Currently Testing: $(test)"; "runenv: $(runenv)"; "var: $(vars)"; }