cf-promises is a tool for checking CFEngine policy code. It operates by
first parsing policy code checking for syntax errors. Second, it validates the
integrity of policy consisting of multiple files. Third, it checks for
semantic errors, e.g. specific attribute set rules. Finally, cf-promises
attempts to expose errors by partially evaluating the policy, resolving as
many variable and classes promise statements as possible. At no point does
cf-promises make any changes to the system.
In 3.6.0 and later, cf-promises will not evaluate function calls
either. This may affect customers who use execresult for instance.
Use the new --eval-functions yes command-line option (default is
no) to retain the old behavior from 3.5.x and earlier.
cf-agent calls cf-promises to validate the policy before running
it. In that case --eval-functions is not specified, so functions
are not evaluated prematurely (as you would expect).
[%CFEngine_include_snippet(cf-promises.help, [\s]*–[a-z], ^$)%]