Andre Aguas c2dc4bdb1b Add NS record support for Azure DNS
Azure supports NS records on public DNS zones: https://learn.microsoft.com/en-us/rest/api/dns/record-sets/create-or-update?view=rest-dns-2018-05-01&tabs=HTTP#create-ns-recordset
This PR adds this support to external dns. The implementation is similar to the other records.

Besides the unit tests this PR was also tested by creating a DNSEndpoint with the following spec:
```
    endpoints:
    - dnsName: cloud.k8gb.io
      recordTTL: 5
      recordType: NS
      targets:
      - gslb-ns-eu-cloud.k8gb.io
      - gslb-ns-us-cloud.k8gb.io
```
The creation of the NS record in Azure was successful:
```
az network dns record-set ns list --resource-group rg-k8gb  --zone-name "$EDGE_DNS_ZONE" --output json
[
  {...},
  {
    "NSRecords": [
      {
        "nsdname": "gslb-ns-eu-cloud.k8gb.io"
      },
      {
        "nsdname": "gslb-ns-us-cloud.k8gb.io"
      }
    ],
    "TTL": 5,
    "etag": "97a7199f-3be9-47bd-ab00-37013b775180",
    "fqdn": "cloud.k8gb.io.",
    "id": "/subscriptions/<redacted>/resourceGroups/rg-k8gb/providers/Microsoft.Network/dnszones/k8gb.io/NS/cloud",
    "name": "cloud",
    "provisioningState": "Succeeded",
    "resourceGroup": "rg-k8gb",
    "targetResource": {},
    "trafficManagementProfile": {},
    "type": "Microsoft.Network/dnszones/NS"
  }
]
```

This change was already attempted in #2835, but it was never merged due to inactivity.

Signed-off-by: Andre Aguas <andre.aguas@protonmail.com>
2024-11-04 23:02:10 +01:00
..
2024-11-04 23:02:10 +01:00
2024-10-17 01:48:38 +05:30