Skip to main content

Microsoft Azure DNS Management Client Library for Python

Project description

Microsoft Azure SDK for Python

This is the Microsoft Azure DNS Management Client Library. This package has been tested with Python 3.7+. For a more complete view of Azure libraries, see the azure sdk python release.


Azure SDK Python packages support for Python 2.7 has ended 01 January 2022. For more information and questions, please refer to

Getting started


Install the package

pip install azure-mgmt-dns
pip install azure-identity


By default, Azure Active Directory token authentication depends on correct configure of following environment variables.

  • AZURE_CLIENT_ID for Azure client ID.
  • AZURE_TENANT_ID for Azure tenant ID.
  • AZURE_CLIENT_SECRET for Azure client secret.

In addition, Azure subscription ID can be configured via environment variable AZURE_SUBSCRIPTION_ID.

With above configuration, client can be authenticated by following code:

from azure.identity import DefaultAzureCredential
from azure.mgmt.dns import DnsManagementClient
import os

sub_id = os.getenv("AZURE_SUBSCRIPTION_ID")
client = DnsManagementClient(credential=DefaultAzureCredential(), subscription_id=sub_id)


Code samples for this package can be found at:


Next steps

Provide Feedback

If you encounter any bugs or have suggestions, please file an issue in the Issues section of the project.


Release History

8.1.0 (2023-06-14)

Features Added

  • Added operation group DnssecConfigsOperations
  • Model RecordSet has a new parameter ds_records
  • Model RecordSet has a new parameter naptr_records
  • Model RecordSet has a new parameter tlsa_records
  • Model Zone has a new parameter signing_keys
  • Model Zone has a new parameter system_data

8.1.0b1 (2023-02-10)

Other Changes

  • Added generated samples in github repo
  • Drop support for python<3.7.0

8.0.0 (2021-04-14)

  • GA release

8.0.0b1 (2021-03-10)

This is beta preview version. For detailed changelog please refer to equivalent stable version 10.2.0 (

This version uses a next-generation code generator that introduces important breaking changes, but also important new features (like unified authentication and async programming).

General breaking changes

  • Credential system has been completly revamped:

    • azure.common.credentials or msrestazure.azure_active_directory instances are no longer supported, use the azure-identity classes instead:
    • credentials parameter has been renamed credential
  • The config attribute no longer exists on a client, configuration should be passed as kwarg. Example: MyClient(credential, subscription_id, enable_logging=True). For a complete set of supported options, see the parameters accept in init documentation of azure-core

  • You can't import a version module anymore, use __version__ instead

  • Operations that used to return a msrest.polling.LROPoller now returns a azure.core.polling.LROPoller and are prefixed with begin_.

  • Exceptions tree have been simplified and most exceptions are now azure.core.exceptions.HttpResponseError (CloudError has been removed).

  • Most of the operation kwarg have changed. Some of the most noticeable:

General new features

  • Type annotations support using typing. SDKs are mypy ready.
  • This client has now stable and official support for async. Check the aio namespace of your package to find the async client.
  • This client now support natively tracing library like OpenCensus or OpenTelemetry. See this tracing quickstart for an overview.

3.0.0 (2019-06-18)

General Breaking changes

This version uses a next-generation code generator that might introduce breaking changes if you were importing from the v20xx_yy_zz API folders. In summary, some modules were incorrectly visible/importable and have been renamed. This fixed several issues caused by usage of classes that were not supposed to be used in the first place.

  • DnsManagementClient cannot be imported from azure.mgmt.dns.v20xx_yy_zz.dns_management_client anymore (import from azure.mgmt.dns.v20xx_yy_zz works like before)
  • DnsManagementClientConfiguration import has been moved from azure.mgmt.dns.v20xx_yy_zz.dns_management_client to azure.mgmt.dns.v20xx_yy_zz
  • A model MyClass from a "models" sub-module cannot be imported anymore using azure.mgmt.dns.v20xx_yy_zz.models.my_class (import from azure.mgmt.dns.v20xx_yy_zz.models works like before)
  • An operation class MyClassOperations from an operations sub-module cannot be imported anymore using azure.mgmt.dns.v20xx_yy_zz.operations.my_class_operations (import from azure.mgmt.dns.v20xx_yy_zz.operations works like before)

Last but not least, HTTP connection pooling is now enabled by default. You should always use a client as a context manager, or call close(), or use no more than one client per process.

2.1.0 (2018-09-10)


  • Model RecordSet has a new parameter target_resource
  • Added operation group DnsResourceReferenceOperations

2.0.0 (2018-07-01)


  • Fix ARM compliance (correct settings of location, tags, etc.)

2.0.0rc2 (2018-07-05)


  • Client class can be used as a context manager to keep the underlying HTTP session open for performance

General Breaking changes

This version uses a next-generation code generator that might introduce breaking changes.

  • Model signatures now use only keyword-argument syntax. All positional arguments must be re-written as keyword-arguments. To keep auto-completion in most cases, models are now generated for Python 2 and Python 3. Python 3 uses the "*" syntax for keyword-only arguments.
  • Enum types now use the "str" mixin (class AzureEnum(str, Enum)) to improve the behavior when unrecognized enum values are encountered. While this is not a breaking change, the distinctions are important, and are documented here: At a glance:
    • "is" should not be used at all.
    • "format" will return the string value, where "%s" string formatting will return NameOfEnum.stringvalue. Format syntax should be prefered.
  • New Long Running Operation:
    • Return type changes from msrestazure.azure_operation.AzureOperationPoller to msrest.polling.LROPoller. External API is the same.
    • Return type is now always a msrest.polling.LROPoller, regardless of the optional parameters used.
    • The behavior has changed when using raw=True. Instead of returning the initial call result as ClientRawResponse, without polling, now this returns an LROPoller. After polling, the final resource will be returned as a ClientRawResponse.
    • New polling parameter. The default behavior is Polling=True which will poll using ARM algorithm. When Polling=False, the response of the initial call will be returned without polling.
    • polling parameter accepts instances of subclasses of msrest.polling.PollingMethod.
    • add_done_callback will no longer raise if called after polling is finished, but will instead execute the callback right away.


  • Compatibility of the sdist with wheel 0.31.0

2.0.0rc1 (2018-03-14)


  • Add public/private zone
  • Add record_sets.list_all_by_dns_zone operation
  • Add zones.update operation

Breaking changes

  • 'zone_type' is now required when creating a zone ('Public' is equivalent as previous behavior)

New API version 2018-03-01-preview

1.2.0 (2017-10-26)

  • add record_type CAA
  • remove pointless return type of delete

Api version moves from 2016-04-01 to 2017-09-01

1.1.0 (2017-10-10)

  • Add "recordsetnamesuffix" filter parameter to list operations

1.0.1 (2017-04-20)

This wheel package is now built with the azure wheel extension

1.0.0 (2016-12-12)

  • Initial release

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution (230.3 kB view hashes)

Uploaded source

Built Distribution

azure_mgmt_dns-8.1.0-py3-none-any.whl (205.3 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page