Skip to content
Open
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
2 changes: 2 additions & 0 deletions sdk/appconfiguration/azure-appconfiguration/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@
- Added `check_configuration_settings()` method to efficiently check for configuration changes using HEAD requests, returning only headers (ETags) without response bodies.
- `list_configuration_settings()` and `check_configuration_settings()` now return `ConfigurationSettingPaged` (sync) / `ConfigurationSettingPagedAsync` (async) to expose the `by_page(match_conditions=...)` API and per-page `etag` attribute for change detection.
- `ConfigurationSettingPaged` and `ConfigurationSettingPagedAsync` are now publicly exported from `azure.appconfiguration`.
- Added a `description` property to `ConfigurationSetting` and `SecretReferenceConfigurationSetting` representing the description of the key-value (requires API version `2026-04-01` or later).
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does python SDK have default SDK version like .NET?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All of them do, it's a kwarg that you can pass in and defaults to the latest one if not provided.

- Added a `description` property and a `description` keyword argument to `ConfigurationSnapshot`, and a `description` keyword argument to `begin_create_snapshot()` for both sync and async clients (requires API version `2026-04-01` or later).

### Breaking Changes

Expand Down
4 changes: 2 additions & 2 deletions sdk/appconfiguration/azure-appconfiguration/_metadata.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"apiVersion": "2024-09-01",
"apiVersion": "2026-04-01",
"apiVersions": {
"AzureAppConfiguration": "2024-09-01"
"AzureAppConfiguration": "2026-04-01"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -54,5 +54,5 @@
"azure.appconfiguration.AzureAppConfigurationClient.check_revisions": "AzureAppConfiguration.checkRevisions",
"azure.appconfiguration.aio.AzureAppConfigurationClient.check_revisions": "AzureAppConfiguration.checkRevisions"
},
"CrossLanguageVersion": "29f9953822ad"
"CrossLanguageVersion": "a2a80f4f2e80"
}
2 changes: 1 addition & 1 deletion sdk/appconfiguration/azure-appconfiguration/assets.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@
"AssetsRepo": "Azure/azure-sdk-assets",
"AssetsRepoPrefixPath": "python",
"TagPrefix": "python/appconfiguration/azure-appconfiguration",
"Tag": "python/appconfiguration/azure-appconfiguration_c861e54b5f"
"Tag": "python/appconfiguration/azure-appconfiguration_13a99205dc"
}
Original file line number Diff line number Diff line change
Expand Up @@ -677,6 +677,7 @@ def begin_create_snapshot(
composition_type: Optional[Union[str, SnapshotComposition]] = None,
retention_period: Optional[int] = None,
tags: Optional[Dict[str, str]] = None,
description: Optional[str] = None,
**kwargs: Any,
) -> LROPoller[ConfigurationSnapshot]:
"""Create a snapshot of the configuration settings.
Expand All @@ -698,13 +699,19 @@ def begin_create_snapshot(
:paramtype retention_period: int or None
:keyword tags: The tags of the configuration snapshot.
:paramtype tags: dict[str, str] or None
:keyword description: The description of the configuration snapshot.
:paramtype description: str or None
:return: A poller for create configuration snapshot operation. Call `result()` on this object to wait for the
operation to complete and get the created snapshot.
:rtype: ~azure.core.polling.LROPoller[~azure.appconfiguration.ConfigurationSnapshot]
:raises: :class:`~azure.core.exceptions.HttpResponseError`
"""
snapshot = ConfigurationSnapshot(
filters=filters, composition_type=composition_type, retention_period=retention_period, tags=tags
filters=filters,
composition_type=composition_type,
retention_period=retention_period,
tags=tags,
description=description,
)
return cast(
LROPoller[ConfigurationSnapshot],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ class AzureAppConfigurationClient(_AzureAppConfigurationClientOperationsMixin):
credential type or a token credential type. Required.
:type credential: ~azure.core.credentials.AzureKeyCredential or
~azure.core.credentials.TokenCredential
:keyword api_version: The API version to use for this operation. Known values are "2024-09-01"
:keyword api_version: The API version to use for this operation. Known values are "2026-04-01"
and None. Default value is None. If not set, the operation's default API version will be used.
Note that overriding this default value may result in unsupported behavior.
Comment thread
mrm9084 marked this conversation as resolved.
:paramtype api_version: str
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,14 +29,14 @@ class AzureAppConfigurationClientConfiguration: # pylint: disable=too-many-inst
credential type or a token credential type. Required.
:type credential: ~azure.core.credentials.AzureKeyCredential or
~azure.core.credentials.TokenCredential
:keyword api_version: The API version to use for this operation. Known values are "2024-09-01"
:keyword api_version: The API version to use for this operation. Known values are "2026-04-01"
and None. Default value is None. If not set, the operation's default API version will be used.
Note that overriding this default value may result in unsupported behavior.
Comment thread
mrm9084 marked this conversation as resolved.
:paramtype api_version: str
"""

def __init__(self, endpoint: str, credential: Union[AzureKeyCredential, "TokenCredential"], **kwargs: Any) -> None:
api_version: str = kwargs.pop("api_version", "2024-09-01")
api_version: str = kwargs.pop("api_version", "2026-04-01")

if endpoint is None:
raise ValueError("Parameter 'endpoint' must not be None.")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ def build_azure_app_configuration_get_keys_request( # pylint: disable=name-too-
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})

api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-09-01"))
api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01"))
accept = _headers.pop("Accept", "application/vnd.microsoft.appconfig.keyset+json, application/problem+json")

# Construct URL
Expand Down Expand Up @@ -92,7 +92,7 @@ def build_azure_app_configuration_check_keys_request( # pylint: disable=name-to
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})

api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-09-01"))
api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01"))
# Construct URL
_url = "/keys"

Expand Down Expand Up @@ -129,7 +129,7 @@ def build_azure_app_configuration_get_key_values_request( # pylint: disable=nam
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})

api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-09-01"))
api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01"))
accept = _headers.pop("Accept", "application/vnd.microsoft.appconfig.kvset+json, application/problem+json")

# Construct URL
Expand Down Expand Up @@ -183,7 +183,7 @@ def build_azure_app_configuration_check_key_values_request( # pylint: disable=n
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})

api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-09-01"))
api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01"))
# Construct URL
_url = "/kv"

Expand Down Expand Up @@ -232,7 +232,7 @@ def build_azure_app_configuration_get_key_value_request( # pylint: disable=name
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})

api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-09-01"))
api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01"))
accept = _headers.pop("Accept", "application/vnd.microsoft.appconfig.kv+json, application/problem+json")

# Construct URL
Expand Down Expand Up @@ -281,7 +281,7 @@ def build_azure_app_configuration_put_key_value_request( # pylint: disable=name
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})

content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-09-01"))
api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01"))
accept = _headers.pop("Accept", "application/vnd.microsoft.appconfig.kv+json, application/problem+json")

# Construct URL
Expand Down Expand Up @@ -325,7 +325,7 @@ def build_azure_app_configuration_delete_key_value_request( # pylint: disable=n
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})

api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-09-01"))
api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01"))
accept = _headers.pop("Accept", "application/vnd.microsoft.appconfig.kv+json, application/problem+json")

# Construct URL
Expand Down Expand Up @@ -370,7 +370,7 @@ def build_azure_app_configuration_check_key_value_request( # pylint: disable=na
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})

api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-09-01"))
api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01"))
# Construct URL
_url = "/kv/{key}"
path_format_arguments = {
Expand Down Expand Up @@ -415,7 +415,7 @@ def build_azure_app_configuration_get_snapshots_request( # pylint: disable=name
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})

api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-09-01"))
api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01"))
accept = _headers.pop("Accept", "application/vnd.microsoft.appconfig.snapshotset+json, application/problem+json")

# Construct URL
Expand Down Expand Up @@ -446,7 +446,7 @@ def build_azure_app_configuration_check_snapshots_request( # pylint: disable=na
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})

api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-09-01"))
api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01"))
# Construct URL
_url = "/snapshots"

Expand Down Expand Up @@ -474,7 +474,7 @@ def build_azure_app_configuration_get_snapshot_request( # pylint: disable=name-
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})

api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-09-01"))
api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01"))
accept = _headers.pop("Accept", "application/vnd.microsoft.appconfig.snapshot+json, application/problem+json")

# Construct URL
Expand Down Expand Up @@ -510,7 +510,7 @@ def build_azure_app_configuration_get_operation_details_request( # pylint: disa
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})

api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-09-01"))
api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01"))
accept = _headers.pop("Accept", "application/json")

# Construct URL
Expand All @@ -533,7 +533,7 @@ def build_azure_app_configuration_create_snapshot_request( # pylint: disable=na
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})

content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-09-01"))
api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01"))
accept = _headers.pop("Accept", "application/vnd.microsoft.appconfig.snapshot+json, application/problem+json")

# Construct URL
Expand Down Expand Up @@ -569,7 +569,7 @@ def build_azure_app_configuration_update_snapshot_request( # pylint: disable=na
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})

content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-09-01"))
api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01"))
accept = _headers.pop("Accept", "application/vnd.microsoft.appconfig.snapshot+json, application/problem+json")

# Construct URL
Expand Down Expand Up @@ -610,7 +610,7 @@ def build_azure_app_configuration_check_snapshot_request( # pylint: disable=nam
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})

api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-09-01"))
api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01"))
# Construct URL
_url = "/snapshots/{name}"
path_format_arguments = {
Expand Down Expand Up @@ -647,7 +647,7 @@ def build_azure_app_configuration_get_labels_request( # pylint: disable=name-to
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})

api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-09-01"))
api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01"))
accept = _headers.pop("Accept", "application/vnd.microsoft.appconfig.labelset+json, application/problem+json")

# Construct URL
Expand Down Expand Up @@ -684,7 +684,7 @@ def build_azure_app_configuration_check_labels_request( # pylint: disable=name-
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})

api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-09-01"))
api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01"))
# Construct URL
_url = "/labels"

Expand Down Expand Up @@ -718,7 +718,7 @@ def build_azure_app_configuration_put_lock_request( # pylint: disable=name-too-
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})

api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-09-01"))
api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01"))
accept = _headers.pop("Accept", "application/vnd.microsoft.appconfig.kv+json, application/problem+json")

# Construct URL
Expand Down Expand Up @@ -760,7 +760,7 @@ def build_azure_app_configuration_delete_lock_request( # pylint: disable=name-t
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})

api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-09-01"))
api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01"))
accept = _headers.pop("Accept", "application/vnd.microsoft.appconfig.kv+json, application/problem+json")

# Construct URL
Expand Down Expand Up @@ -804,7 +804,7 @@ def build_azure_app_configuration_get_revisions_request( # pylint: disable=name
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})

api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-09-01"))
api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01"))
accept = _headers.pop("Accept", "application/vnd.microsoft.appconfig.kvset+json, application/problem+json")

# Construct URL
Expand Down Expand Up @@ -847,7 +847,7 @@ def build_azure_app_configuration_check_revisions_request( # pylint: disable=na
_headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
_params = case_insensitive_dict(kwargs.pop("params", {}) or {})

api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2024-09-01"))
api_version: str = kwargs.pop("api_version", _params.pop("api-version", "2026-04-01"))
# Construct URL
_url = "/revisions"

Expand Down Expand Up @@ -1353,7 +1353,7 @@ def check_key_values(
@distributed_trace
@api_version_validation(
params_added_on={"2024-09-01": ["tags"]},
api_versions_list=["2023-11-01", "2024-09-01"],
api_versions_list=["2023-11-01", "2024-09-01", "2026-04-01"],
)
def get_key_value(
self,
Expand Down Expand Up @@ -1741,7 +1741,7 @@ def delete_key_value(
@distributed_trace
@api_version_validation(
params_added_on={"2024-09-01": ["tags"]},
api_versions_list=["2023-11-01", "2024-09-01"],
api_versions_list=["2023-11-01", "2024-09-01", "2026-04-01"],
)
def check_key_value(
self,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ class AzureAppConfigurationClient(_AzureAppConfigurationClientOperationsMixin):
credential type or a token credential type. Required.
:type credential: ~azure.core.credentials.AzureKeyCredential or
~azure.core.credentials_async.AsyncTokenCredential
:keyword api_version: The API version to use for this operation. Known values are "2024-09-01"
:keyword api_version: The API version to use for this operation. Known values are "2026-04-01"
and None. Default value is None. If not set, the operation's default API version will be used.
Note that overriding this default value may result in unsupported behavior.
Comment thread
mrm9084 marked this conversation as resolved.
:paramtype api_version: str
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ class AzureAppConfigurationClientConfiguration: # pylint: disable=too-many-inst
credential type or a token credential type. Required.
:type credential: ~azure.core.credentials.AzureKeyCredential or
~azure.core.credentials_async.AsyncTokenCredential
:keyword api_version: The API version to use for this operation. Known values are "2024-09-01"
:keyword api_version: The API version to use for this operation. Known values are "2026-04-01"
and None. Default value is None. If not set, the operation's default API version will be used.
Note that overriding this default value may result in unsupported behavior.
Comment thread
mrm9084 marked this conversation as resolved.
:paramtype api_version: str
Expand All @@ -38,7 +38,7 @@ class AzureAppConfigurationClientConfiguration: # pylint: disable=too-many-inst
def __init__(
self, endpoint: str, credential: Union[AzureKeyCredential, "AsyncTokenCredential"], **kwargs: Any
) -> None:
api_version: str = kwargs.pop("api_version", "2024-09-01")
api_version: str = kwargs.pop("api_version", "2026-04-01")

if endpoint is None:
raise ValueError("Parameter 'endpoint' must not be None.")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -548,7 +548,7 @@ async def check_key_values(
@distributed_trace_async
@api_version_validation(
params_added_on={"2024-09-01": ["tags"]},
api_versions_list=["2023-11-01", "2024-09-01"],
api_versions_list=["2023-11-01", "2024-09-01", "2026-04-01"],
)
async def get_key_value(
self,
Expand Down Expand Up @@ -936,7 +936,7 @@ async def delete_key_value(
@distributed_trace_async
@api_version_validation(
params_added_on={"2024-09-01": ["tags"]},
api_versions_list=["2023-11-01", "2024-09-01"],
api_versions_list=["2023-11-01", "2024-09-01", "2026-04-01"],
)
async def check_key_value(
self,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@ class ConfigurationSettingFields(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""Last modified field."""
TAGS = "tags"
"""Tags field."""
DESCRIPTION = "description"
"""Description field."""
LOCKED = "locked"
"""Locked field."""
ETAG = "etag"
Expand Down Expand Up @@ -85,6 +87,8 @@ class SnapshotFields(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""Items count field."""
TAGS = "tags"
"""Tags field."""
DESCRIPTION = "description"
"""Description field."""
ETAG = "etag"
"""Etag field."""

Expand Down
Loading
Loading