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
36 changes: 36 additions & 0 deletions sdk/azurestackhci/azure-mgmt-azurestackhci/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,41 @@
# Release History

## 8.1.0 (2026-05-15)

### Features Added

- Client `AzureStackHCIClient` added operation group `update_summaries_operation_group`
- Model `Cluster` added property `kind`
Comment on lines +3 to +8
- Model `ClusterProperties` added property `billing_properties`
- Model `ClusterProperties` added property `storage_type`
- Model `DeploymentSettingHostNetwork` added property `san_networks`
- Model `HciReportedProperties` added property `last_sync_timestamp`
- Model `HciStorageProfile` added property `disks`
- Model `PerNodeRemoteSupportSession` added property `transcript_location`
- Model `RemoteSupportProperties` added property `remote_support_provisioning_state`
- Model `ReportedProperties` added property `last_sync_timestamp`
- Enum `State` added member `HEALTH_CHECK_EXPIRED`
- Enum `State` added member `PENDING_OEM_VALIDATION`
- Model `Storage` added property `storage_type`
- Model `Storage` added property `s2_d`
- Model `Storage` added property `san`
- Added model `CheckUpdatesRequest`
- Added model `ClusterBillingProperties`
- Added model `EdgeDeviceDisks`
- Added model `NextBillingModel`
- Added enum `OverprovisioningRatio`
- Added enum `RemoteSupportProvisioningState`
- Added model `SanAdapterIPConfig`
- Added model `SanAdapterProperties`
- Added model `SanClusterNetworkConfig`
- Added model `SanNetworks`
- Added model `StorageS2dConfig`
- Added model `StorageSanConfig`
- Added enum `StorageType`
- Added enum `VolumeType`
- Model `UpdatesOperations` added method `begin_prepare`
- Added model `UpdateSummariesOperationGroupOperations`

## 8.1.0b1 (2026-04-13)

### Features Added
Expand Down
4 changes: 2 additions & 2 deletions sdk/azurestackhci/azure-mgmt-azurestackhci/README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Microsoft Azure SDK for Python

This is the Microsoft Azure Azure Stack HCI Management Client Library.
This package has been tested with Python 3.9+.
This package has been tested with Python 3.10+.
For a more complete view of Azure libraries, see the [azure sdk python release](https://aka.ms/azsdk/python/all).

## _Disclaimer_
Expand All @@ -12,7 +12,7 @@ _Azure SDK Python packages support for Python 2.7 has ended 01 January 2022. For

### Prerequisites

- Python 3.9+ is required to use this package.
- Python 3.10+ is required to use this package.
- [Azure subscription](https://azure.microsoft.com/free/)

### Install the package
Expand Down
8 changes: 4 additions & 4 deletions sdk/azurestackhci/azure-mgmt-azurestackhci/_metadata.json
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
{
"apiVersion": "2026-04-01-preview",
"apiVersion": "2026-04-30",
"apiVersions": {
"Microsoft.AzureStackHCI": "2026-04-01-preview"
"Microsoft.AzureStackHCI": "2026-04-30"
},
"commit": "c22e8792df237fd9afe601d69e305504679c42af",
"commit": "675a8ce1a1d7489731bc8bd05d8d3e7d865434e0",
"repository_url": "https://github.com/Azure/azure-rest-api-specs",
"typespec_src": "specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCI",
"emitterVersion": "0.61.3"
"emitterVersion": "0.62.1"
}
158 changes: 3 additions & 155 deletions sdk/azurestackhci/azure-mgmt-azurestackhci/apiview-properties.json

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
# --------------------------------------------------------------------------

from copy import deepcopy
import sys
from typing import Any, Optional, TYPE_CHECKING, cast
from typing_extensions import Self

from azure.core.pipeline import policies
from azure.core.rest import HttpRequest, HttpResponse
Expand All @@ -21,32 +21,27 @@
from ._utils.serialization import Deserializer, Serializer
from .operations import (
ArcSettingsOperations,
ClusterJobsOperations,
ClustersOperations,
DeploymentSettingsOperations,
DevicePoolsOperations,
EdgeDeviceJobsOperations,
EdgeDevicesOperations,
EdgeMachineJobsOperations,
EdgeMachinesOperations,
ExtensionsOperations,
KubernetesVersionsOperations,
OffersOperations,
Operations,
OsImagesOperations,
OwnershipVouchersOperations,
PlatformUpdatesOperations,
PublishersOperations,
SecuritySettingsOperations,
SkusOperations,
UpdateContentsOperations,
UpdateRunsOperations,
UpdateSummariesOperationGroupOperations,
UpdateSummariesOperations,
UpdatesOperations,
ValidatedSolutionRecipesOperations,
)

if sys.version_info >= (3, 11):
from typing import Self
else:
from typing_extensions import Self # type: ignore

if TYPE_CHECKING:
from azure.core import AzureClouds
from azure.core.credentials import TokenCredential
Expand All @@ -55,14 +50,6 @@
class AzureStackHCIClient: # pylint: disable=too-many-instance-attributes
"""Azure Stack HCI service.

:ivar kubernetes_versions: KubernetesVersionsOperations operations
:vartype kubernetes_versions: azure.mgmt.azurestackhci.operations.KubernetesVersionsOperations
:ivar platform_updates: PlatformUpdatesOperations operations
:vartype platform_updates: azure.mgmt.azurestackhci.operations.PlatformUpdatesOperations
:ivar os_images: OsImagesOperations operations
:vartype os_images: azure.mgmt.azurestackhci.operations.OsImagesOperations
:ivar update_contents: UpdateContentsOperations operations
:vartype update_contents: azure.mgmt.azurestackhci.operations.UpdateContentsOperations
:ivar operations: Operations operations
:vartype operations: azure.mgmt.azurestackhci.operations.Operations
:ivar arc_settings: ArcSettingsOperations operations
Expand All @@ -79,8 +66,6 @@ class AzureStackHCIClient: # pylint: disable=too-many-instance-attributes
:vartype edge_devices: azure.mgmt.azurestackhci.operations.EdgeDevicesOperations
:ivar extensions: ExtensionsOperations operations
:vartype extensions: azure.mgmt.azurestackhci.operations.ExtensionsOperations
:ivar publishers: PublishersOperations operations
:vartype publishers: azure.mgmt.azurestackhci.operations.PublishersOperations
:ivar security_settings: SecuritySettingsOperations operations
:vartype security_settings: azure.mgmt.azurestackhci.operations.SecuritySettingsOperations
:ivar skus: SkusOperations operations
Expand All @@ -95,16 +80,6 @@ class AzureStackHCIClient: # pylint: disable=too-many-instance-attributes
:ivar validated_solution_recipes: ValidatedSolutionRecipesOperations operations
:vartype validated_solution_recipes:
azure.mgmt.azurestackhci.operations.ValidatedSolutionRecipesOperations
:ivar edge_machines: EdgeMachinesOperations operations
:vartype edge_machines: azure.mgmt.azurestackhci.operations.EdgeMachinesOperations
:ivar edge_machine_jobs: EdgeMachineJobsOperations operations
:vartype edge_machine_jobs: azure.mgmt.azurestackhci.operations.EdgeMachineJobsOperations
:ivar ownership_vouchers: OwnershipVouchersOperations operations
:vartype ownership_vouchers: azure.mgmt.azurestackhci.operations.OwnershipVouchersOperations
:ivar cluster_jobs: ClusterJobsOperations operations
:vartype cluster_jobs: azure.mgmt.azurestackhci.operations.ClusterJobsOperations
:ivar device_pools: DevicePoolsOperations operations
:vartype device_pools: azure.mgmt.azurestackhci.operations.DevicePoolsOperations
:ivar update_summaries: UpdateSummariesOperations operations
:vartype update_summaries: azure.mgmt.azurestackhci.operations.UpdateSummariesOperations
:param credential: Credential used to authenticate requests to the service. Required.
Expand All @@ -116,9 +91,9 @@ class AzureStackHCIClient: # pylint: disable=too-many-instance-attributes
:keyword cloud_setting: The cloud setting for which to get the ARM endpoint. Default value is
None.
:paramtype cloud_setting: ~azure.core.AzureClouds
:keyword api_version: The API version to use for this operation. Known values are
"2026-04-01-preview". Default value is "2026-04-01-preview". Note that overriding this default
value may result in unsupported behavior.
:keyword api_version: The API version to use for this operation. Known values are "2026-04-30"
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 on lines +95 to +96
:paramtype api_version: str
:keyword int polling_interval: Default waiting time between two polls for LRO operations if no
Retry-After header is present.
Expand Down Expand Up @@ -171,14 +146,6 @@ def __init__(
self._serialize = Serializer()
self._deserialize = Deserializer()
self._serialize.client_side_validation = False
self.kubernetes_versions = KubernetesVersionsOperations(
self._client, self._config, self._serialize, self._deserialize
)
self.platform_updates = PlatformUpdatesOperations(
self._client, self._config, self._serialize, self._deserialize
)
self.os_images = OsImagesOperations(self._client, self._config, self._serialize, self._deserialize)
self.update_contents = UpdateContentsOperations(self._client, self._config, self._serialize, self._deserialize)
self.operations = Operations(self._client, self._config, self._serialize, self._deserialize)
self.arc_settings = ArcSettingsOperations(self._client, self._config, self._serialize, self._deserialize)
self.offers = OffersOperations(self._client, self._config, self._serialize, self._deserialize)
Expand All @@ -189,7 +156,6 @@ def __init__(
self.edge_device_jobs = EdgeDeviceJobsOperations(self._client, self._config, self._serialize, self._deserialize)
self.edge_devices = EdgeDevicesOperations(self._client, self._config, self._serialize, self._deserialize)
self.extensions = ExtensionsOperations(self._client, self._config, self._serialize, self._deserialize)
self.publishers = PublishersOperations(self._client, self._config, self._serialize, self._deserialize)
self.security_settings = SecuritySettingsOperations(
self._client, self._config, self._serialize, self._deserialize
)
Expand All @@ -202,15 +168,6 @@ def __init__(
self.validated_solution_recipes = ValidatedSolutionRecipesOperations(
self._client, self._config, self._serialize, self._deserialize
)
self.edge_machines = EdgeMachinesOperations(self._client, self._config, self._serialize, self._deserialize)
self.edge_machine_jobs = EdgeMachineJobsOperations(
self._client, self._config, self._serialize, self._deserialize
)
self.ownership_vouchers = OwnershipVouchersOperations(
self._client, self._config, self._serialize, self._deserialize
)
self.cluster_jobs = ClusterJobsOperations(self._client, self._config, self._serialize, self._deserialize)
self.device_pools = DevicePoolsOperations(self._client, self._config, self._serialize, self._deserialize)
self.update_summaries = UpdateSummariesOperations(
self._client, self._config, self._serialize, self._deserialize
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,9 @@ class AzureStackHCIClientConfiguration: # pylint: disable=too-many-instance-att
:param cloud_setting: The cloud setting for which to get the ARM endpoint. Default value is
None.
:type cloud_setting: ~azure.core.AzureClouds
:keyword api_version: The API version to use for this operation. Known values are
"2026-04-01-preview". Default value is "2026-04-01-preview". Note that overriding this default
value may result in unsupported behavior.
:keyword api_version: The API version to use for this operation. Known values are "2026-04-30"
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.
:paramtype api_version: str
"""

Expand All @@ -47,7 +47,7 @@ def __init__(
cloud_setting: Optional["AzureClouds"] = None,
**kwargs: Any
) -> None:
api_version: str = kwargs.pop("api_version", "2026-04-01-preview")
api_version: str = kwargs.pop("api_version", "2026-04-30")

if credential is None:
raise ValueError("Parameter 'credential' must not be None.")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
Follow our quickstart for examples: https://aka.ms/azsdk/python/dpcodegen/python/customize
"""


__all__: list[str] = [] # Add all objects you want publicly available to users at this package level


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,14 +23,19 @@
from json import JSONEncoder
import xml.etree.ElementTree as ET
from collections.abc import MutableMapping
from typing_extensions import Self
import isodate
from azure.core.exceptions import DeserializationError
from azure.core import CaseInsensitiveEnumMeta
from azure.core.pipeline import PipelineResponse
from azure.core.serialization import _Null

from azure.core.rest import HttpResponse

if sys.version_info >= (3, 11):
from typing import Self
else:
from typing_extensions import Self

_LOGGER = logging.getLogger(__name__)

__all__ = ["SdkJSONEncoder", "Model", "rest_field", "rest_discriminator"]
Expand Down Expand Up @@ -595,11 +600,7 @@ def __init__(self, *args: typing.Any, **kwargs: typing.Any) -> None:
class_name = self.__class__.__name__
if len(args) > 1:
raise TypeError(f"{class_name}.__init__() takes 2 positional arguments but {len(args) + 1} were given")
dict_to_pass = {
rest_field._rest_name: rest_field._default
for rest_field in self._attr_to_rest_field.values()
if rest_field._default is not _UNSET
}
dict_to_pass: dict[str, typing.Any] = {}
if args:
if isinstance(args[0], ET.Element):
dict_to_pass.update(self._init_from_xml(args[0]))
Expand All @@ -619,6 +620,14 @@ def __init__(self, *args: typing.Any, **kwargs: typing.Any) -> None:
if v is not None
}
)
# Apply client default values for fields the caller didn't set so that
# defaults are part of `_data` and therefore included during serialization.
for rf in self._attr_to_rest_field.values():
if rf._default is _UNSET:
continue
if rf._rest_name in dict_to_pass:
continue
dict_to_pass[rf._rest_name] = _create_value(rf, rf._default)
super().__init__(dict_to_pass)

def _init_from_xml(self, element: ET.Element) -> dict[str, typing.Any]:
Expand Down Expand Up @@ -1113,7 +1122,10 @@ def __get__(self, obj: Model, type=None): # pylint: disable=redefined-builtin
# by this point, type and rest_name will have a value bc we default
# them in __new__ of the Model class
# Use _data.get() directly to avoid triggering __getitem__ which clears the cache
item = obj._data.get(self._rest_name)
item = obj._data.get(self._rest_name, _UNSET)
if item is _UNSET:
# Field not set by user; return the client default if one exists, otherwise None
return self._default if self._default is not _UNSET else None
if item is None:
return item
if self._is_model:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,11 +39,15 @@
import xml.etree.ElementTree as ET

import isodate # type: ignore
from typing_extensions import Self

from azure.core.exceptions import DeserializationError, SerializationError
from azure.core.serialization import NULL as CoreNull

if sys.version_info >= (3, 11):
from typing import Self
else:
from typing_extensions import Self

_BOM = codecs.BOM_UTF8.decode(encoding="utf-8")

JSON = MutableMapping[str, Any]
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 = "8.1.0b1"
VERSION = "8.1.0"
Loading