Azure DNS libraries for python

Overview

Azure DNS is a hosting service for DNS domains that provides DNS resolution via the Azure infrastructure.

To get started with Azure DNS, see Get started with Azure DNS using the Azure portal.

Management API

pip install azure-mgmt-dns

Create the management client

The following code creates an instance of the management client.

You will need to provide your subscription_id which can be retrieved from your subscription list.

See Resource Management Authentication for details on handling Azure Active Directory authentication with the Python SDK, and creating a Credentials instance.

from azure.mgmt.dns import DnsManagementClient
from azure.common.credentials import UserPassCredentials

# Replace this with your subscription id
subscription_id = '33333333-3333-3333-3333-333333333333'

# See above for details on creating different types of AAD credentials
credentials = UserPassCredentials(
	'user@domain.com',  # Your user
	'my_password',      # Your password
)

dns_client = DnsManagementClient(
	credentials,
	subscription_id
)

Create DNS zone

# The only valid value is 'global', otherwise you will get a:
# The subscription is not registered for the resource type 'dnszones' in the location 'westus'.
zone = dns_client.zones.create_or_update(
	'MyResourceGroup',
	'pydns.com',
	{
	        'zone_type': 'Public', # or Private
		'location': 'global'
	}
)

Create a Record Set

record_set = dns_client.record_sets.create_or_update(
	'MyResourceGroup',
	'pydns.com',
	'MyRecordSet',
	'A',
	{
			"ttl": 300,
			"arecords": [
				{
				"ipv4_address": "1.2.3.4"
				},
				{
				"ipv4_address": "1.2.3.5"
				}
			]
	}
)