github.com/StackExchange/dnscontrol/v4@v4.11.0/documentation/provider/azure_dns.md (about) 1 ## Configuration 2 3 To use this provider, add an entry to `creds.json` with `TYPE` set to `AZURE_DNS` 4 along with the API credentials. 5 6 Example: 7 8 {% code title="creds.json" %} 9 ```json 10 { 11 "azuredns_main": { 12 "TYPE": "AZURE_DNS", 13 "SubscriptionID": "AZURE_SUBSCRIPTION_ID", 14 "ResourceGroup": "AZURE_RESOURCE_GROUP", 15 "TenantID": "AZURE_TENANT_ID", 16 "ClientID": "AZURE_CLIENT_ID", 17 "ClientSecret": "AZURE_CLIENT_SECRET" 18 } 19 } 20 ``` 21 {% endcode %} 22 23 You can also use environment variables: 24 25 ```shell 26 export AZURE_SUBSCRIPTION_ID=XXXXXXXXX 27 export AZURE_RESOURCE_GROUP=YYYYYYYYY 28 export AZURE_TENANT_ID=ZZZZZZZZ 29 export AZURE_CLIENT_ID=AAAAAAAAA 30 export AZURE_CLIENT_SECRET=BBBBBBBBB 31 ``` 32 33 {% code title="creds.json" %} 34 ```json 35 { 36 "azuredns_main": { 37 "TYPE": "AZURE_DNS", 38 "SubscriptionID": "$AZURE_SUBSCRIPTION_ID", 39 "ResourceGroup": "$AZURE_RESOURCE_GROUP", 40 "ClientID": "$AZURE_CLIENT_ID", 41 "TenantID": "$AZURE_TENANT_ID", 42 "ClientSecret": "$AZURE_CLIENT_SECRET" 43 } 44 } 45 ``` 46 {% endcode %} 47 48 NOTE: The ResourceGroup is case sensitive. 49 50 ## Metadata 51 This provider does not recognize any special metadata fields unique to Azure DNS. 52 53 ## Usage 54 An example configuration: 55 56 {% code title="dnsconfig.js" %} 57 ```javascript 58 var REG_NONE = NewRegistrar("none"); 59 var DSP_AZURE_MAIN = NewDnsProvider("azuredns_main"); 60 61 D("example.com", REG_NONE, DnsProvider(DSP_AZURE_MAIN), 62 A("test", "1.2.3.4"), 63 END); 64 ``` 65 {% endcode %} 66 67 ## Activation 68 DNSControl depends on a standard [Client credentials Authentication](https://docs.microsoft.com/en-us/cli/azure/create-an-azure-service-principal-azure-cli?view=azure-cli-latest) with permission to list, create and update hosted zones. 69 70 ## New domains 71 If a domain does not exist in your Azure account, DNSControl will *not* automatically add it with the `push` command. You can do that either manually via the control panel, or via the command `dnscontrol create-domains` command. 72 73 ## Caveats 74 75 The ResourceGroup is case sensitive.