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.