--- name: require parameters: - path --- `require(...)` behaves similarly to its equivalent in node.js. You can use it to split your configuration across multiple files. If the path starts with a `.`, it is calculated relative to the current file. For example: {% include startExample.html %} {% highlight js %} // dnsconfig.js require('kubernetes/clusters.js'); D("mydomain.net", REG, PROVIDER, IncludeKubernetes() ); {%endhighlight%} {% highlight js %} // kubernetes/clusters.js require('./clusters/prod.js'); require('./clusters/dev.js'); function IncludeKubernetes() { return [includeK8Sprod(), includeK8Sdev()]; } {%endhighlight%} {% highlight js %} // kubernetes/clusters/prod.js function includeK8Sprod() { return [ /* ... */ ]; } {%endhighlight%} {% highlight js %} // kubernetes/clusters/dev.js function includeK8Sdev() { return [ /* ... */ ]; } {%endhighlight%} {% include endExample.html %} You can also use it to require json files and initialize variables with it: For Example: {% include startExample.html %} {% highlight js %} // dnsconfig.js var domains = require('./domain-ip-map.json') for (var domain in domains) { D(domain, REG, PROVIDER, A("@", domains[domain]) ); } {%endhighlight%} {%highlight js %} // domain-ip-map.json { "mydomain.net": "1.1.1.1", "myotherdomain.org": "5.5.5.5" } {%endhighlight} {% include endExample.html %}