Just in case anyone else has had any trouble tracking down details and documentation for Cisco Configuration Engine and its support for Velocity dynamic templates, here’s a quick rundown of what I’ve been able to glean so far.

If you’d rather use Velocity templates instead of CCE’s format, it’s version 1.4.

Velocity calls to the internal LDAP server are through the $!{dsobj.getValue("name of attribute")} as demonstrated in this post.

Both the “legacy” (.cfgtpl) and Velocity templates can make calls to external Javascript courtesy the standard Java 6 scripting engine.

The legacy directive is #call /path/to/script.js .

I *think* the Velocity directive is $!{ds("/path/to/script.js", "arg1,arg2,arg3")}, where the first argument is (obviously) the full path to the script and the second is a comma-delimited list of arguments for the script. The second argument is split on commas and a global object arguments is available in the engine’s runtime environment.