diff --git a/sdk/appconfiguration/azure-appconfiguration/CHANGELOG.md b/sdk/appconfiguration/azure-appconfiguration/CHANGELOG.md index fc14b61ba3aa..e3afd76a0bd3 100644 --- a/sdk/appconfiguration/azure-appconfiguration/CHANGELOG.md +++ b/sdk/appconfiguration/azure-appconfiguration/CHANGELOG.md @@ -1,6 +1,6 @@ # Release History -## 1.8.2 (Unreleased) +## 1.9.0 (2026-06-18) ### Features Added @@ -10,12 +10,6 @@ - Added a `description` property to `ConfigurationSetting` and `SecretReferenceConfigurationSetting` representing the description of the key-value (requires API version `2026-04-01` or later). - 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 - -### Bugs Fixed - -### Other Changes - ## 1.8.1 (2026-05-07) ### Bugs Fixed diff --git a/sdk/appconfiguration/azure-appconfiguration/api.md b/sdk/appconfiguration/azure-appconfiguration/api.md new file mode 100644 index 000000000000..d8de4c634c5b --- /dev/null +++ b/sdk/appconfiguration/azure-appconfiguration/api.md @@ -0,0 +1,683 @@ +```py +namespace azure.appconfiguration + + class azure.appconfiguration.AsyncConfigurationSettingPaged(AsyncItemPaged[ConfigurationSetting]): + + def by_page( + self, + continuation_token: Optional[str] = None, + *, + match_conditions: Optional[List[str]] = ... + ) -> Any: ... + + + class azure.appconfiguration.AzureAppConfigurationClient: implements ContextManager + + def __init__( + self, + base_url: str, + credential: TokenCredential, + *, + api_version: str = ..., + audience: str = ..., + **kwargs: Any + ) -> None: ... + + @classmethod + def from_connection_string( + cls, + connection_string: str, + **kwargs: Any + ) -> AzureAppConfigurationClient: ... + + @distributed_trace + def add_configuration_setting( + self, + configuration_setting: ConfigurationSetting, + **kwargs: Any + ) -> ConfigurationSetting: ... + + @distributed_trace + def archive_snapshot( + self, + name: str, + *, + etag: Optional[str] = ..., + match_condition: MatchConditions = MatchConditions.Unconditionally, + **kwargs: Any + ) -> ConfigurationSnapshot: ... + + @distributed_trace + def begin_create_snapshot( + self, + name: str, + filters: List[ConfigurationSettingsFilter], + *, + composition_type: Optional[Union[str, SnapshotComposition]] = ..., + description: Optional[str] = ..., + retention_period: Optional[int] = ..., + tags: Optional[Dict[str, str]] = ..., + **kwargs: Any + ) -> LROPoller[ConfigurationSnapshot]: ... + + @distributed_trace + def check_configuration_settings( + self, + *, + accept_datetime: Optional[Union[datetime, str]] = ..., + key_filter: Optional[str] = ..., + label_filter: Optional[str] = ..., + tags_filter: Optional[List[str]] = ..., + **kwargs: Any + ) -> ConfigurationSettingPaged: ... + + def close(self) -> None: ... + + @distributed_trace + def delete_configuration_setting( + self, + key: str, + label: Optional[str] = None, + *, + etag: Optional[str] = ..., + match_condition: MatchConditions = MatchConditions.Unconditionally, + **kwargs: Any + ) -> Union[None, ConfigurationSetting]: ... + + @distributed_trace + def get_configuration_setting( + self, + key: str, + label: Optional[str] = None, + etag: Optional[str] = "*", + match_condition: MatchConditions = MatchConditions.Unconditionally, + *, + accept_datetime: Optional[Union[datetime, str]] = ..., + **kwargs: Any + ) -> Union[None, ConfigurationSetting]: ... + + @distributed_trace + def get_snapshot( + self, + name: str, + *, + fields: Optional[List[Union[str, SnapshotFields]]] = ..., + **kwargs: Any + ) -> ConfigurationSnapshot: ... + + @overload + def list_configuration_settings( + self, + *, + accept_datetime: Optional[Union[datetime, str]] = ..., + fields: Optional[List[Union[str, ConfigurationSettingFields]]] = ..., + key_filter: Optional[str] = ..., + label_filter: Optional[str] = ..., + tags_filter: Optional[List[str]] = ..., + **kwargs: Any + ) -> ConfigurationSettingPaged: ... + + @overload + def list_configuration_settings( + self, + *, + fields: Optional[List[Union[str, ConfigurationSettingFields]]] = ..., + snapshot_name: str, + **kwargs: Any + ) -> ConfigurationSettingPaged: ... + + @distributed_trace + def list_labels( + self, + *, + accept_datetime: Optional[Union[datetime, str]] = ..., + after: Optional[str] = ..., + fields: Optional[List[Union[str, LabelFields]]] = ..., + name: Optional[str] = ..., + **kwargs: Any + ) -> ItemPaged[ConfigurationSettingLabel]: ... + + @distributed_trace + def list_revisions( + self, + key_filter: Optional[str] = None, + label_filter: Optional[str] = None, + *, + accept_datetime: Optional[Union[datetime, str]] = ..., + fields: Optional[List[Union[str, ConfigurationSettingFields]]] = ..., + tags_filter: Optional[List[str]] = ..., + **kwargs: Any + ) -> ItemPaged[ConfigurationSetting]: ... + + @distributed_trace + def list_snapshots( + self, + *, + fields: Optional[List[Union[str, SnapshotFields]]] = ..., + name: Optional[str] = ..., + status: Optional[List[Union[str, SnapshotStatus]]] = ..., + **kwargs: Any + ) -> ItemPaged[ConfigurationSnapshot]: ... + + @distributed_trace + def recover_snapshot( + self, + name: str, + *, + etag: Optional[str] = ..., + match_condition: MatchConditions = MatchConditions.Unconditionally, + **kwargs: Any + ) -> ConfigurationSnapshot: ... + + @distributed_trace + def send_request( + self, + request: HttpRequest, + *, + stream: bool = False, + **kwargs: Any + ) -> HttpResponse: ... + + @distributed_trace + def set_configuration_setting( + self, + configuration_setting: ConfigurationSetting, + match_condition: MatchConditions = MatchConditions.Unconditionally, + *, + etag: Optional[str] = ..., + **kwargs: Any + ) -> ConfigurationSetting: ... + + @distributed_trace + def set_read_only( + self, + configuration_setting: ConfigurationSetting, + read_only: bool = True, + *, + match_condition: MatchConditions = MatchConditions.Unconditionally, + **kwargs: Any + ) -> ConfigurationSetting: ... + + def update_sync_token(self, token: str) -> None: ... + + + class azure.appconfiguration.ConfigurationSetting(Model): + content_type: Optional[str] + description: Optional[str] + etag: str + key: str + kind = Generic + label: str + last_modified: datetime + read_only: bool + tags: Dict[str, str] + value: str + + def __eq__(self, other: Any) -> bool: ... + + def __init__(self, **kwargs: Any) -> None: ... + + def __ne__(self, other: Any) -> bool: ... + + def __str__(self) -> str: ... + + @classmethod + def deserialize( + cls, + data: Any, + content_type: Optional[str] = None + ) -> Self: ... + + @classmethod + def enable_additional_properties_sending(cls) -> None: ... + + @classmethod + def from_dict( + cls, + data: Any, + key_extractors: Optional[Callable[[str, dict[str, Any], Any], Any]] = None, + content_type: Optional[str] = None + ) -> Self: ... + + @classmethod + def is_xml_model(cls) -> bool: ... + + def as_dict( + self, + keep_readonly: bool = True, + key_transformer: Callable[[str, dict[str, Any], Any], Any] = attribute_transformer, + **kwargs: Any + ) -> JSON: ... + + def serialize( + self, + keep_readonly: bool = False, + **kwargs: Any + ) -> JSON: ... + + + class azure.appconfiguration.ConfigurationSettingFields(str, Enum, metaclass=CaseInsensitiveEnumMeta): + CONTENT_TYPE = "content_type" + DESCRIPTION = "description" + ETAG = "etag" + KEY = "key" + LABEL = "label" + LAST_MODIFIED = "last_modified" + LOCKED = "locked" + TAGS = "tags" + VALUE = "value" + + + class azure.appconfiguration.ConfigurationSettingLabel: + name: Optional[str] + + def __init__( + self, + *, + name: Optional[str] = ... + ) -> None: ... + + + class azure.appconfiguration.ConfigurationSettingPaged(ItemPaged[ConfigurationSetting]): + + def by_page( + self, + continuation_token: Optional[str] = None, + *, + match_conditions: Optional[List[str]] = ... + ) -> Any: ... + + + class azure.appconfiguration.ConfigurationSettingsFilter: + key: str + label: Optional[str] + tags: Optional[List[str]] + + def __init__( + self, + *, + key: str, + label: Optional[str] = ..., + tags: Optional[List[str]] = ... + ) -> None: ... + + + class azure.appconfiguration.ConfigurationSnapshot: + composition_type: Optional[Union[str, SnapshotComposition]] + created: Optional[datetime] + description: Optional[str] + etag: Optional[str] + expires: Optional[datetime] + filters: List[ConfigurationSettingsFilter] + items_count: Optional[int] + name: Optional[str] + retention_period: Optional[int] + size: Optional[int] + status: Optional[Union[str, SnapshotStatus]] + tags: Optional[Dict[str, str]] + + def __init__( + self, + filters: List[ConfigurationSettingsFilter], + *, + composition_type: Optional[Union[str, SnapshotComposition]] = ..., + description: Optional[str] = ..., + retention_period: Optional[int] = ..., + tags: Optional[Dict[str, str]] = ... + ) -> None: ... + + + class azure.appconfiguration.FeatureFlagConfigurationSetting(ConfigurationSetting): + property value: str + content_type: str + description: str + display_name: str + enabled: bool + etag: str + feature_id: str + filters: Optional[List[Dict[str, Any]]] + key: str + kind = FeatureFlag + label: str + last_modified: datetime + read_only: bool + tags: Dict[str, str] + + def __eq__(self, other: Any) -> bool: ... + + def __init__( + self, + feature_id: str, + *, + enabled: bool = False, + filters: Optional[List[Dict[str, Any]]] = ..., + **kwargs: Any + ) -> None: ... + + def __ne__(self, other: Any) -> bool: ... + + def __str__(self) -> str: ... + + @classmethod + def deserialize( + cls, + data: Any, + content_type: Optional[str] = None + ) -> Self: ... + + @classmethod + def enable_additional_properties_sending(cls) -> None: ... + + @classmethod + def from_dict( + cls, + data: Any, + key_extractors: Optional[Callable[[str, dict[str, Any], Any], Any]] = None, + content_type: Optional[str] = None + ) -> Self: ... + + @classmethod + def is_xml_model(cls) -> bool: ... + + def as_dict( + self, + keep_readonly: bool = True, + key_transformer: Callable[[str, dict[str, Any], Any], Any] = attribute_transformer, + **kwargs: Any + ) -> JSON: ... + + def serialize( + self, + keep_readonly: bool = False, + **kwargs: Any + ) -> JSON: ... + + + class azure.appconfiguration.LabelFields(str, Enum, metaclass=CaseInsensitiveEnumMeta): + NAME = "name" + + + class azure.appconfiguration.ResourceReadOnlyError(HttpResponseError): + + + class azure.appconfiguration.SecretReferenceConfigurationSetting(ConfigurationSetting): + property value: str + content_type: str + description: Optional[str] + etag: str + key: str + kind = SecretReference + label: str + last_modified: datetime + read_only: bool + secret_id: Optional[str] + tags: Dict[str, str] + + def __eq__(self, other: Any) -> bool: ... + + def __init__( + self, + key: str, + secret_id: str, + **kwargs: Any + ) -> None: ... + + def __ne__(self, other: Any) -> bool: ... + + def __str__(self) -> str: ... + + @classmethod + def deserialize( + cls, + data: Any, + content_type: Optional[str] = None + ) -> Self: ... + + @classmethod + def enable_additional_properties_sending(cls) -> None: ... + + @classmethod + def from_dict( + cls, + data: Any, + key_extractors: Optional[Callable[[str, dict[str, Any], Any], Any]] = None, + content_type: Optional[str] = None + ) -> Self: ... + + @classmethod + def is_xml_model(cls) -> bool: ... + + def as_dict( + self, + keep_readonly: bool = True, + key_transformer: Callable[[str, dict[str, Any], Any], Any] = attribute_transformer, + **kwargs: Any + ) -> JSON: ... + + def serialize( + self, + keep_readonly: bool = False, + **kwargs: Any + ) -> JSON: ... + + + class azure.appconfiguration.SnapshotComposition(str, Enum, metaclass=CaseInsensitiveEnumMeta): + KEY = "key" + KEY_LABEL = "key_label" + + + class azure.appconfiguration.SnapshotFields(str, Enum, metaclass=CaseInsensitiveEnumMeta): + COMPOSITION_TYPE = "composition_type" + CREATED = "created" + DESCRIPTION = "description" + ETAG = "etag" + EXPIRES = "expires" + FILTERS = "filters" + ITEMS_COUNT = "items_count" + NAME = "name" + RETENTION_PERIOD = "retention_period" + SIZE = "size" + STATUS = "status" + TAGS = "tags" + + + class azure.appconfiguration.SnapshotStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta): + ARCHIVED = "archived" + FAILED = "failed" + PROVISIONING = "provisioning" + READY = "ready" + + +namespace azure.appconfiguration.aio + + class azure.appconfiguration.aio.AzureAppConfigurationClient: implements AsyncContextManager + + def __init__( + self, + base_url: str, + credential: AsyncTokenCredential, + *, + api_version: str = ..., + audience: str = ..., + **kwargs: Any + ) -> None: ... + + @classmethod + def from_connection_string( + cls, + connection_string: str, + **kwargs: Any + ) -> AzureAppConfigurationClient: ... + + @distributed_trace_async + async def add_configuration_setting( + self, + configuration_setting: ConfigurationSetting, + **kwargs: Any + ) -> ConfigurationSetting: ... + + @distributed_trace_async + async def archive_snapshot( + self, + name: str, + *, + etag: Optional[str] = ..., + match_condition: MatchConditions = MatchConditions.Unconditionally, + **kwargs: Any + ) -> ConfigurationSnapshot: ... + + @distributed_trace_async + async def begin_create_snapshot( + self, + name: str, + filters: List[ConfigurationSettingsFilter], + *, + composition_type: Optional[Union[str, SnapshotComposition]] = ..., + description: Optional[str] = ..., + retention_period: Optional[int] = ..., + tags: Optional[Dict[str, str]] = ..., + **kwargs: Any + ) -> AsyncLROPoller[ConfigurationSnapshot]: ... + + @distributed_trace + def check_configuration_settings( + self, + *, + accept_datetime: Optional[Union[datetime, str]] = ..., + key_filter: Optional[str] = ..., + label_filter: Optional[str] = ..., + tags_filter: Optional[List[str]] = ..., + **kwargs: Any + ) -> AsyncConfigurationSettingPaged: ... + + async def close(self) -> None: ... + + @distributed_trace_async + async def delete_configuration_setting( + self, + key: str, + label: Optional[str] = None, + *, + etag: Optional[str] = ..., + match_condition: MatchConditions = MatchConditions.Unconditionally, + **kwargs: Any + ) -> Union[None, ConfigurationSetting]: ... + + @distributed_trace_async + async def get_configuration_setting( + self, + key: str, + label: Optional[str] = None, + etag: Optional[str] = "*", + match_condition: MatchConditions = MatchConditions.Unconditionally, + *, + accept_datetime: Optional[Union[datetime, str]] = ..., + **kwargs: Any + ) -> Union[None, ConfigurationSetting]: ... + + @distributed_trace_async + async def get_snapshot( + self, + name: str, + *, + fields: Optional[List[Union[str, SnapshotFields]]] = ..., + **kwargs: Any + ) -> ConfigurationSnapshot: ... + + @overload + def list_configuration_settings( + self, + *, + accept_datetime: Optional[Union[datetime, str]] = ..., + fields: Optional[List[Union[str, ConfigurationSettingFields]]] = ..., + key_filter: Optional[str] = ..., + label_filter: Optional[str] = ..., + tags_filter: Optional[List[str]] = ..., + **kwargs: Any + ) -> AsyncConfigurationSettingPaged: ... + + @overload + def list_configuration_settings( + self, + *, + fields: Optional[List[Union[str, ConfigurationSettingFields]]] = ..., + snapshot_name: str, + **kwargs: Any + ) -> AsyncConfigurationSettingPaged: ... + + @distributed_trace + def list_labels( + self, + *, + accept_datetime: Optional[Union[datetime, str]] = ..., + after: Optional[str] = ..., + fields: Optional[List[Union[str, LabelFields]]] = ..., + name: Optional[str] = ..., + **kwargs: Any + ) -> AsyncItemPaged[ConfigurationSettingLabel]: ... + + @distributed_trace + def list_revisions( + self, + key_filter: Optional[str] = None, + label_filter: Optional[str] = None, + *, + accept_datetime: Optional[Union[datetime, str]] = ..., + fields: Optional[List[Union[str, ConfigurationSettingFields]]] = ..., + tags_filter: Optional[List[str]] = ..., + **kwargs: Any + ) -> AsyncItemPaged[ConfigurationSetting]: ... + + @distributed_trace + def list_snapshots( + self, + *, + fields: Optional[List[Union[str, SnapshotFields]]] = ..., + name: Optional[str] = ..., + status: Optional[List[Union[str, SnapshotStatus]]] = ..., + **kwargs: Any + ) -> AsyncItemPaged[ConfigurationSnapshot]: ... + + @distributed_trace_async + async def recover_snapshot( + self, + name: str, + *, + etag: Optional[str] = ..., + match_condition: MatchConditions = MatchConditions.Unconditionally, + **kwargs: Any + ) -> ConfigurationSnapshot: ... + + @distributed_trace_async + async def send_request( + self, + request: HttpRequest, + *, + stream: bool = False, + **kwargs: Any + ) -> AsyncHttpResponse: ... + + @distributed_trace_async + async def set_configuration_setting( + self, + configuration_setting: ConfigurationSetting, + match_condition: MatchConditions = MatchConditions.Unconditionally, + *, + etag: Optional[str] = ..., + **kwargs: Any + ) -> ConfigurationSetting: ... + + @distributed_trace_async + async def set_read_only( + self, + configuration_setting: ConfigurationSetting, + read_only: bool = True, + *, + match_condition: MatchConditions = MatchConditions.Unconditionally, + **kwargs: Any + ) -> ConfigurationSetting: ... + + async def update_sync_token(self, token: str) -> None: ... + + +``` \ No newline at end of file diff --git a/sdk/appconfiguration/azure-appconfiguration/api.metadata.yml b/sdk/appconfiguration/azure-appconfiguration/api.metadata.yml new file mode 100644 index 000000000000..73ce9c0cc890 --- /dev/null +++ b/sdk/appconfiguration/azure-appconfiguration/api.metadata.yml @@ -0,0 +1,3 @@ +apiMdSha256: eb4b6ccaf75b4570f0f8afa8bc5d28aa5c1dc3100042053b39f4026b36c34dac +parserVersion: 0.3.28 +pythonVersion: 3.14.3 diff --git a/sdk/appconfiguration/azure-appconfiguration/azure/appconfiguration/_generated/_version.py b/sdk/appconfiguration/azure-appconfiguration/azure/appconfiguration/_generated/_version.py index d8aed131ebf1..97f7a0416f1e 100644 --- a/sdk/appconfiguration/azure-appconfiguration/azure/appconfiguration/_generated/_version.py +++ b/sdk/appconfiguration/azure-appconfiguration/azure/appconfiguration/_generated/_version.py @@ -6,4 +6,4 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -VERSION = "1.8.2" +VERSION = "1.9.0" diff --git a/sdk/appconfiguration/azure-appconfiguration/azure/appconfiguration/_version.py b/sdk/appconfiguration/azure-appconfiguration/azure/appconfiguration/_version.py index d8aed131ebf1..97f7a0416f1e 100644 --- a/sdk/appconfiguration/azure-appconfiguration/azure/appconfiguration/_version.py +++ b/sdk/appconfiguration/azure-appconfiguration/azure/appconfiguration/_version.py @@ -6,4 +6,4 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -VERSION = "1.8.2" +VERSION = "1.9.0"