Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 39 additions & 0 deletions sdk/network/azure-mgmt-privatedns/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,44 @@
# Release History

## 2.0.0 (2026-07-29)

### Features Added

- Client `PrivateDnsManagementClient` added parameter `cloud_setting` in method `__init__`
- Client `PrivateDnsManagementClient` added method `send_request`
- Model `PrivateZone` added property `system_data`
- Model `ProxyResource` added property `system_data`
- Model `RecordSet` added property `system_data`
- Model `Resource` added property `system_data`
- Model `VirtualNetworkLink` added property `system_data`
- Added model `CloudError`
- Added enum `CreatedByType`
- Added model `SystemData`

### Breaking Changes

- This version introduces new hybrid models which have dual dictionary and model nature. Please follow https://aka.ms/azsdk/python/migrate/hybrid-models for migration.
- For the method breakings, please refer to https://aka.ms/azsdk/python/migrate/operations for migration.
- Model `PrivateZone` moved instance variable `max_number_of_record_sets`, `number_of_record_sets`, `max_number_of_virtual_network_links`, `number_of_virtual_network_links`, `max_number_of_virtual_network_links_with_registration`, `number_of_virtual_network_links_with_registration`, `provisioning_state` and `internal_id` under property `properties` whose type is `PrivateZoneProperties`
- Model `RecordSet` moved instance variable `metadata`, `ttl`, `fqdn`, `is_auto_registered`, `a_records`, `aaaa_records`, `cname_record`, `mx_records`, `ptr_records`, `soa_record`, `srv_records` and `txt_records` under property `properties` whose type is `RecordSetProperties`
- Model `VirtualNetworkLink` moved instance variable `virtual_network`, `registration_enabled`, `resolution_policy`, `virtual_network_link_state` and `provisioning_state` under property `properties` whose type is `VirtualNetworkLinkProperties`
- Method `PrivateZonesOperations.begin_create_or_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition`
- Method `PrivateZonesOperations.begin_delete` replaced positional_or_keyword parameter `if_match` with keyword_only parameters `etag`/`match_condition`
- Method `PrivateZonesOperations.begin_update` replaced positional_or_keyword parameter `if_match` with keyword_only parameters `etag`/`match_condition`
- Method `RecordSetsOperations.create_or_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition`
- Method `RecordSetsOperations.delete` replaced positional_or_keyword parameter `if_match` with keyword_only parameters `etag`/`match_condition`
- Method `RecordSetsOperations.list` changed its parameter `recordsetnamesuffix` from `positional_or_keyword` to `keyword_only`
- Method `RecordSetsOperations.list_by_type` changed its parameter `recordsetnamesuffix` from `positional_or_keyword` to `keyword_only`
- Method `RecordSetsOperations.update` replaced positional_or_keyword parameter `if_match` with keyword_only parameters `etag`/`match_condition`
- Method `VirtualNetworkLinksOperations.begin_create_or_update` replaced positional_or_keyword parameters `if_match`/`if_none_match` with keyword_only parameters `etag`/`match_condition`
- Method `VirtualNetworkLinksOperations.begin_delete` replaced positional_or_keyword parameter `if_match` with keyword_only parameters `etag`/`match_condition`
- Method `VirtualNetworkLinksOperations.begin_update` replaced positional_or_keyword parameter `if_match` with keyword_only parameters `etag`/`match_condition`

### Other Changes

- Deleted model `PrivateZoneListResult`/`RecordSetListResult`/`VirtualNetworkLinkListResult` which actually were not used by SDK users
- Deleted model `TrackedResource` which actually were not used by SDK users

## 2.0.0b1 (2026-07-06)

### Features Added
Expand Down
6 changes: 3 additions & 3 deletions sdk/network/azure-mgmt-privatedns/_metadata.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@
"apiVersions": {
"Microsoft.Network": "2024-06-01"
},
"commit": "3d1de464b5576fa149aed429795f6030313e31bb",
"commit": "801a60cdad2669e8f824fedfbabbfe7f7093b940",
"repository_url": "https://github.com/Azure/azure-rest-api-specs",
"typespec_src": "specification/privatedns/resource-manager/Microsoft.Network/PrivateDns",
"emitterVersion": "0.63.2",
"httpClientPythonVersion": "^0.34.0"
"emitterVersion": "0.63.3",
"httpClientPythonVersion": "^0.34.2"
}
15 changes: 0 additions & 15 deletions sdk/network/azure-mgmt-privatedns/api.md
Original file line number Diff line number Diff line change
Expand Up @@ -1273,21 +1273,6 @@ namespace azure.mgmt.privatedns.types
ipv6_address: str


class azure.mgmt.privatedns.types.CloudError(TypedDict, total=False):
key "error": ForwardRef('CloudErrorBody', module='types')
error: CloudErrorBody


class azure.mgmt.privatedns.types.CloudErrorBody(TypedDict, total=False):
key "code": str
key "message": str
key "target": str
code: str
details: list[CloudErrorBody]
message: str
target: str


class azure.mgmt.privatedns.types.CnameRecord(TypedDict, total=False):
key "cname": str
cname: str
Expand Down
6 changes: 3 additions & 3 deletions sdk/network/azure-mgmt-privatedns/api.metadata.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
apiMdSha256: 7d49110682c7ea3f47760f82dd3d8873274e33440a5660d31478459387445062
parserVersion: 0.3.28
pythonVersion: 3.13.13
apiMdSha256: b62fc8b9267ae1d597ccc5c311086bb39ea619309cb908046787f7bb2bcb59aa
parserVersion: 0.3.30
pythonVersion: 3.13.14
Original file line number Diff line number Diff line change
Expand Up @@ -458,21 +458,21 @@ def __ne__(self, other: typing.Any) -> bool:

def keys(self) -> typing.KeysView[str]:
"""
:returns: a set-like object providing a view on D's keys
:returns: a set-like object providing a view on the mapping's keys
:rtype: ~typing.KeysView
"""
return self._data.keys()

def values(self) -> typing.ValuesView[typing.Any]:
"""
:returns: an object providing a view on D's values
:returns: an object providing a view on the mapping's values
:rtype: ~typing.ValuesView
"""
return self._data.values()

def items(self) -> typing.ItemsView[str, typing.Any]:
"""
:returns: set-like object providing a view on D's items
:returns: a set-like object providing a view on the mapping's items
:rtype: ~typing.ItemsView
"""
return self._data.items()
Expand All @@ -482,7 +482,7 @@ def get(self, key: str, default: typing.Any = None) -> typing.Any:
Get the value for key if key is in the dictionary, else default.
:param str key: The key to look up.
:param any default: The value to return if key is not in the dictionary. Defaults to None
:returns: D[k] if k in D, else d.
:returns: The value for key if key is in the dictionary, else default.
:rtype: any
"""
try:
Expand Down Expand Up @@ -517,19 +517,19 @@ def popitem(self) -> tuple[str, typing.Any]:
Removes and returns some (key, value) pair
:returns: The (key, value) pair.
:rtype: tuple
:raises KeyError: if D is empty.
:raises KeyError: if the dictionary is empty.
"""
return self._data.popitem()

def clear(self) -> None:
"""
Remove all items from D.
Remove all items from the dictionary.
"""
self._data.clear()

def update(self, *args: typing.Any, **kwargs: typing.Any) -> None: # pylint: disable=arguments-differ
"""
Updates D from mapping/iterable E and F.
Update the dictionary from a mapping or an iterable of key-value pairs.
:param any args: Either a mapping object or an iterable of key-value pairs.
"""
self._data.update(*args, **kwargs)
Expand All @@ -542,10 +542,11 @@ def setdefault(self, key: str, default: typing.Any) -> typing.Any: ... # pylint

def setdefault(self, key: str, default: typing.Any = _UNSET) -> typing.Any:
"""
Same as calling D.get(k, d), and setting D[k]=d if k not found
Return the value for key if key is in the dictionary; otherwise set the key to
default and return default.
:param str key: The key to look up.
:param any default: The value to set if key is not in the dictionary
:returns: D[k] if k in D, else d.
:returns: The value for key if key is in the dictionary, else default.
:rtype: any
"""
if default is _UNSET:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,4 @@
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------

VERSION = "2.0.0b1"
VERSION = "2.0.0"
Original file line number Diff line number Diff line change
Expand Up @@ -36,44 +36,6 @@ class ARecord(TypedDict, total=False):
"""The IPv4 address of this A record."""


class CloudError(TypedDict, total=False):
"""An error response from the service.

:ivar error: Cloud error body.
:vartype error: "CloudErrorBody"
"""

error: "CloudErrorBody"
"""Cloud error body."""


class CloudErrorBody(TypedDict, total=False):
"""An error response from the service.

:ivar code: An identifier for the error. Codes are invariant and are intended to be consumed
programmatically.
:vartype code: str
:ivar message: A message describing the error, intended to be suitable for display in a user
interface.
:vartype message: str
:ivar target: The target of the particular error. For example, the name of the property in
error.
:vartype target: str
:ivar details: A list of additional details about the error.
:vartype details: list["CloudErrorBody"]
"""

code: str
"""An identifier for the error. Codes are invariant and are intended to be consumed
programmatically."""
message: str
"""A message describing the error, intended to be suitable for display in a user interface."""
target: str
"""The target of the particular error. For example, the name of the property in error."""
details: list["CloudErrorBody"]
"""A list of additional details about the error."""


class CnameRecord(TypedDict, total=False):
"""A CNAME record.

Expand Down
3 changes: 2 additions & 1 deletion sdk/network/azure-mgmt-privatedns/dev_requirements.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
-e ../../../eng/tools/azure-sdk-tools
aiohttp
aiohttp
azure-identity
4 changes: 2 additions & 2 deletions sdk/network/azure-mgmt-privatedns/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ authors = [
description = "Microsoft Azure Privatedns Management Client Library for Python"
license = "MIT"
classifiers = [
"Development Status :: 4 - Beta",
"Development Status :: 5 - Production/Stable",
"Programming Language :: Python",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3",
Expand Down Expand Up @@ -79,7 +79,7 @@ package_name = "azure-mgmt-privatedns"
package_nspkg = "azure-mgmt-nspkg"
package_pprint_name = "DNS Private Zones"
package_doc_id = ""
is_stable = false
is_stable = true
is_arm = true
title = "PrivateDnsManagementClient"
need_msrestazure = false
Expand Down
2 changes: 1 addition & 1 deletion sdk/network/azure-mgmt-privatedns/tsp-location.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
directory: specification/privatedns/resource-manager/Microsoft.Network/PrivateDns
commit: 3d1de464b5576fa149aed429795f6030313e31bb
commit: 801a60cdad2669e8f824fedfbabbfe7f7093b940
repo: Azure/azure-rest-api-specs
additionalDirectories:
Loading