--- layout: default title: JavaScript DSL --- # Javascript DSL DNSControl uses javascript as its primary input language to provide power and flexibility to configure your domains. The ultimate purpose of the javascript is to construct a [DNSConfig](https://godoc.org/github.com/StackExchange/dnscontrol/models#DNSConfig) object that will be passed to the go backend and operated on.
{% include table-of-contents.md docs-functions-dir="domain" html-anchor="domain-modifiers" title="Domain Modifiers" %} {% assign showProviders = 'AKAMAIEDGEDNS, AZURE_DNS, CLOUDFLAREAPI, ROUTE53' %} {% for provider in site.providers %} {% if showProviders contains provider.jsId %} {% include table-of-contents.md docs-functions-dir="domain" html-anchor="domain-modifiers" title="Domain Modifiers" provider-name=provider.name provider-jsId=provider.jsId %} {% endif %} {% endfor %} {% include table-of-contents.md docs-functions-dir="global" html-anchor="top-level-functions" title="Top Level Functions" %} {% include table-of-contents.md docs-functions-dir="record" html-anchor="record-modifiers" title="Record Modifiers" %}
{% include funcList.md title="Top Level Functions" dir="global" %} {% include funcList.md title="Domain Modifiers" dir="domain" %} {% include funcList.md title="Record Modifiers" dir="record" %}