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
Original file line number Diff line number Diff line change
@@ -1,5 +1,19 @@
# Release History

## 1.0.0b3 (2026-08-28)

### Features Added

- Model `SkuMixPlacementResponse` added property `capacity_limits`
- Model `SkuMixPlacementResponse` added property `id`
- Added model `SkuMixPlacementCapacityLimit`
- Added enum `SkuMixPlacementCapacityLimitReason`

### Breaking Changes

- Model `SkuMixPlacementDeploymentChoice` deleted or renamed its instance variable `id`
- Model `SkuMixPlacementItem` deleted or renamed its instance variable `capacity_max`

## 1.0.0b2 (2026-08-03)

### Features Added
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
{
"apiVersion": "2026-05-05-preview",
"apiVersion": "2026-09-05-preview",
"apiVersions": {
"Microsoft.Compute": "2026-05-05-preview"
"Microsoft.Compute": "2026-09-05-preview"
},
"commit": "57e7493ae28af7b6ad02338e7a038f06ed6c2203",
"commit": "397bf665c4d649b98bcfaf239c4b0a526301a03a",
"repository_url": "https://github.com/Azure/azure-rest-api-specs",
"typespec_src": "specification/compute/resource-manager/Microsoft.Compute/Recommender",
"emitterVersion": "0.63.3",
"httpClientPythonVersion": "^0.35.1"
"emitterVersion": "0.63.5",
"httpClientPythonVersion": "^0.36.0"
}
41 changes: 35 additions & 6 deletions sdk/computerecommender/azure-mgmt-computerecommender/api.md
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ namespace azure.mgmt.computerecommender.aio.operations
) -> None: ...

@distributed_trace_async
@api_version_validation(method_added_on='2026-05-05-preview', params_added_on={'2026-05-05-preview': ['api_version', 'subscription_id', 'location', 'accept']}, api_versions_list=['2026-05-05-preview'])
@api_version_validation(method_added_on='2026-05-05-preview', params_added_on={'2026-05-05-preview': ['api_version', 'subscription_id', 'location', 'accept']}, api_versions_list=['2026-05-05-preview', '2026-09-05-preview'])
async def get(
self,
location: str,
Expand Down Expand Up @@ -341,6 +341,35 @@ namespace azure.mgmt.computerecommender.models
def __init__(self, mapping: Mapping[str, Any]) -> None: ...


class azure.mgmt.computerecommender.models.SkuMixPlacementCapacityLimit(_Model):
limit: int
name: str
priority: Union[str, SkuMixPlacementPriority]
reason: Union[str, SkuMixPlacementCapacityLimitReason]
zone: Optional[str]

@overload
def __init__(
self,
*,
limit: int,
name: str,
priority: Union[str, SkuMixPlacementPriority],
reason: Union[str, SkuMixPlacementCapacityLimitReason],
zone: Optional[str] = ...
) -> None: ...

@overload
def __init__(self, mapping: Mapping[str, Any]) -> None: ...


class azure.mgmt.computerecommender.models.SkuMixPlacementCapacityLimitReason(str, Enum, metaclass=CaseInsensitiveEnumMeta):
INSUFFICIENT_CAPACITY = "InsufficientCapacity"
INSUFFICIENT_QUOTA = "InsufficientQuota"
NONE = "None"
SKU_NOT_AVAILABLE = "SkuNotAvailable"


class azure.mgmt.computerecommender.models.SkuMixPlacementCapacityProfile(_Model):
allocation_strategy: Optional[Union[str, SkuMixPlacementAllocationStrategy]]
capacity: int
Expand Down Expand Up @@ -373,15 +402,13 @@ namespace azure.mgmt.computerecommender.models


class azure.mgmt.computerecommender.models.SkuMixPlacementDeploymentChoice(_Model):
id: str
score: int
sku_split: list[SkuMixPlacementItem]

@overload
def __init__(
self,
*,
id: str,
score: int,
sku_split: list[SkuMixPlacementItem]
) -> None: ...
Expand All @@ -406,7 +433,6 @@ namespace azure.mgmt.computerecommender.models

class azure.mgmt.computerecommender.models.SkuMixPlacementItem(_Model):
capacity: int
capacity_max: Optional[int]
name: str
priority: Union[str, SkuMixPlacementPriority]
zone: Optional[str]
Expand All @@ -416,7 +442,6 @@ namespace azure.mgmt.computerecommender.models
self,
*,
capacity: int,
capacity_max: Optional[int] = ...,
name: str,
priority: Union[str, SkuMixPlacementPriority],
zone: Optional[str] = ...
Expand Down Expand Up @@ -475,6 +500,8 @@ namespace azure.mgmt.computerecommender.models


class azure.mgmt.computerecommender.models.SkuMixPlacementResponse(_Model):
capacity_limits: Optional[list[SkuMixPlacementCapacityLimit]]
id: str
partial_fulfillment_reason: Union[str, SkuMixPlacementPartialFulfillmentReason]
placement_choices: list[SkuMixPlacementDeploymentChoice]
valid_until: Optional[datetime]
Expand All @@ -483,6 +510,8 @@ namespace azure.mgmt.computerecommender.models
def __init__(
self,
*,
capacity_limits: Optional[list[SkuMixPlacementCapacityLimit]] = ...,
id: str,
partial_fulfillment_reason: Union[str, SkuMixPlacementPartialFulfillmentReason],
placement_choices: list[SkuMixPlacementDeploymentChoice],
valid_until: Optional[datetime] = ...
Expand Down Expand Up @@ -651,7 +680,7 @@ namespace azure.mgmt.computerecommender.operations
) -> None: ...

@distributed_trace
@api_version_validation(method_added_on='2026-05-05-preview', params_added_on={'2026-05-05-preview': ['api_version', 'subscription_id', 'location', 'accept']}, api_versions_list=['2026-05-05-preview'])
@api_version_validation(method_added_on='2026-05-05-preview', params_added_on={'2026-05-05-preview': ['api_version', 'subscription_id', 'location', 'accept']}, api_versions_list=['2026-05-05-preview', '2026-09-05-preview'])
def get(
self,
location: str,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
apiMdSha256: 41bb8a33d1ba084319fc5347aabc0f8bafd5e5e0fe748c97653c569b45d914bc
parserVersion: 0.3.30
pythonVersion: 3.13.14
apiMdSha256: 7b895877a1f3550673e295f4e204b1507e9f83699a09a9b5006b412fa4ff0c08
parserVersion: 0.3.31
pythonVersion: 3.13.15
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
"azure.mgmt.computerecommender.models.PlacementScore": "Microsoft.Compute.PlacementScore",
"azure.mgmt.computerecommender.models.ResourceSize": "Microsoft.Compute.ResourceSize",
"azure.mgmt.computerecommender.models.SkuMixPlacementBase": "Microsoft.Compute.SkuMixPlacementBase",
"azure.mgmt.computerecommender.models.SkuMixPlacementCapacityLimit": "Microsoft.Compute.SkuMixPlacementCapacityLimit",
"azure.mgmt.computerecommender.models.SkuMixPlacementCapacityProfile": "Microsoft.Compute.SkuMixPlacementCapacityProfile",
"azure.mgmt.computerecommender.models.SkuMixPlacementDeploymentChoice": "Microsoft.Compute.SkuMixPlacementDeploymentChoice",
"azure.mgmt.computerecommender.models.SkuMixPlacementInstanceDescription": "Microsoft.Compute.SkuMixPlacementInstanceDescription",
Expand All @@ -32,6 +33,7 @@
"azure.mgmt.computerecommender.models.CreatedByType": "Azure.ResourceManager.CommonTypes.createdByType",
"azure.mgmt.computerecommender.models.SkuMixPlacementPriority": "Microsoft.Compute.SkuMixPlacementPriority",
"azure.mgmt.computerecommender.models.SkuMixPlacementPartialFulfillmentReason": "Microsoft.Compute.SkuMixPlacementPartialFulfillmentReason",
"azure.mgmt.computerecommender.models.SkuMixPlacementCapacityLimitReason": "Microsoft.Compute.SkuMixPlacementCapacityLimitReason",
"azure.mgmt.computerecommender.models.SkuMixPlacementCapacityType": "Microsoft.Compute.SkuMixPlacementCapacityType",
"azure.mgmt.computerecommender.models.SkuMixPlacementAllocationStrategy": "Microsoft.Compute.SkuMixPlacementAllocationStrategy",
"azure.mgmt.computerecommender.models.SkuMixPlacementOSType": "Microsoft.Compute.SkuMixPlacementOSType",
Expand All @@ -47,5 +49,5 @@
"azure.mgmt.computerecommender.operations.SpotPlacementScoresOperations.post": "Microsoft.Compute.ComputeDiagnosticBases.post",
"azure.mgmt.computerecommender.aio.operations.SpotPlacementScoresOperations.post": "Microsoft.Compute.ComputeDiagnosticBases.post"
},
"CrossLanguageVersion": "51800132f656"
"CrossLanguageVersion": "6abdb790f35f"
}
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ class RecommenderMgmtClient: # pylint: disable=docstring-keyword-should-match-k
None.
:paramtype cloud_setting: ~azure.core.AzureClouds
:keyword api_version: The API version to use for this operation. Known values are
"2026-05-05-preview" and None. Default value is None. If not set, the operation's default API
"2026-09-05-preview" 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 Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ class RecommenderMgmtClientConfiguration: # pylint: disable=too-many-instance-a
None.
:type cloud_setting: ~azure.core.AzureClouds
:keyword api_version: The API version to use for this operation. Known values are
"2026-05-05-preview" and None. Default value is None. If not set, the operation's default API
"2026-09-05-preview" 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 @@ -49,7 +49,7 @@ def __init__(
cloud_setting: Optional["AzureClouds"] = None,
**kwargs: Any
) -> None:
api_version: str = kwargs.pop("api_version", "2026-05-05-preview")
api_version: str = kwargs.pop("api_version", "2026-09-05-preview")

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 @@ -6,4 +6,4 @@
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------

VERSION = "1.0.0b2"
VERSION = "1.0.0b3"
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ class RecommenderMgmtClient: # pylint: disable=docstring-keyword-should-match-k
None.
:paramtype cloud_setting: ~azure.core.AzureClouds
:keyword api_version: The API version to use for this operation. Known values are
"2026-05-05-preview" and None. Default value is None. If not set, the operation's default API
"2026-09-05-preview" 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 Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ class RecommenderMgmtClientConfiguration: # pylint: disable=too-many-instance-a
None.
:type cloud_setting: ~azure.core.AzureClouds
:keyword api_version: The API version to use for this operation. Known values are
"2026-05-05-preview" and None. Default value is None. If not set, the operation's default API
"2026-09-05-preview" 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 @@ -49,7 +49,7 @@ def __init__(
cloud_setting: Optional["AzureClouds"] = None,
**kwargs: Any
) -> None:
api_version: str = kwargs.pop("api_version", "2026-05-05-preview")
api_version: str = kwargs.pop("api_version", "2026-09-05-preview")

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 @@ -181,7 +181,7 @@ def __init__(self, *args, **kwargs) -> None:
@api_version_validation(
method_added_on="2026-05-05-preview",
params_added_on={"2026-05-05-preview": ["api_version", "subscription_id", "location", "accept"]},
api_versions_list=["2026-05-05-preview"],
api_versions_list=["2026-05-05-preview", "2026-09-05-preview"],
)
async def get(self, location: str, **kwargs: Any) -> _models.SkuMixPlacementBase:
"""Gets SkuMixPlacement scoring metadata.
Expand Down Expand Up @@ -326,7 +326,7 @@ async def post(
params_added_on={
"2026-05-05-preview": ["api_version", "subscription_id", "location", "content_type", "accept"]
},
api_versions_list=["2026-05-05-preview"],
api_versions_list=["2026-05-05-preview", "2026-09-05-preview"],
)
async def post(
self,
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 @@ -26,6 +26,7 @@
Resource,
ResourceSize,
SkuMixPlacementBase,
SkuMixPlacementCapacityLimit,
SkuMixPlacementCapacityProfile,
SkuMixPlacementDeploymentChoice,
SkuMixPlacementInstanceDescription,
Expand All @@ -47,6 +48,7 @@
CreatedByType,
Origin,
SkuMixPlacementAllocationStrategy,
SkuMixPlacementCapacityLimitReason,
SkuMixPlacementCapacityType,
SkuMixPlacementOSType,
SkuMixPlacementPartialFulfillmentReason,
Expand All @@ -70,6 +72,7 @@
"Resource",
"ResourceSize",
"SkuMixPlacementBase",
"SkuMixPlacementCapacityLimit",
"SkuMixPlacementCapacityProfile",
"SkuMixPlacementDeploymentChoice",
"SkuMixPlacementInstanceDescription",
Expand All @@ -88,6 +91,7 @@
"CreatedByType",
"Origin",
"SkuMixPlacementAllocationStrategy",
"SkuMixPlacementCapacityLimitReason",
"SkuMixPlacementCapacityType",
"SkuMixPlacementOSType",
"SkuMixPlacementPartialFulfillmentReason",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,20 @@ class SkuMixPlacementAllocationStrategy(str, Enum, metaclass=CaseInsensitiveEnum
"""VMs allocated to optimize for lowest eviction rate (Spot only)."""


class SkuMixPlacementCapacityLimitReason(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""Reason the capacity limit for a (VM size, zone) is below the requested capacity."""

NONE = "None"
"""The full requested capacity is available for this (VM size, zone)."""
INSUFFICIENT_CAPACITY = "InsufficientCapacity"
"""Allocable capacity bounded the limit below the requested capacity."""
INSUFFICIENT_QUOTA = "InsufficientQuota"
"""Quota bounded the limit below the requested capacity. Takes precedence when both capacity and
quota are insufficient."""
SKU_NOT_AVAILABLE = "SkuNotAvailable"
"""This VM size is not available in this zone for the subscription."""


class SkuMixPlacementCapacityType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
"""The unit type for the capacity value."""

Expand Down
Loading
Loading