[ARM] Deployment Stacks initial 2025-07-01 API version support#32777
[ARM] Deployment Stacks initial 2025-07-01 API version support#32777kalbert312 wants to merge 37 commits intoAzure:devfrom
Conversation
|
Validation for Azure CLI Full Test Starting...
Thanks for your contribution! |
|
Validation for Breaking Change Starting...
Thanks for your contribution! |
|
Thank you for your contribution! We will review the pull request and get back to you soon. |
|
The git hooks are available for azure-cli and azure-cli-extensions repos. They could help you run required checks before creating the PR. Please sync the latest code with latest dev branch (for azure-cli) or main branch (for azure-cli-extensions). pip install azdev --upgrade
azdev setup -c <your azure-cli repo path> -r <your azure-cli-extensions repo path>
|
…sly based on 'azdev test' failures.
There was a problem hiding this comment.
Pull request overview
This PR updates the Azure CLI deployment stacks module to support the new 2025-07-01 API version, upgrading from beta to stable packages. The changes introduce new parameters for extensible resource management and validation controls, while maintaining backward compatibility.
Changes:
- Bumped
azure-mgmt-resourceto24.0.0andazure-mgmt-resource-deploymentstacksto1.0.0(stable) - Added
--resources-without-delete-supportand--validation-levelparameters to stack commands - Refactored code to use direct model imports and new API enums instead of client factory models
- Scaffolded what-if commands (commented out, not ready for March 2026 release)
Reviewed changes
Copilot reviewed 21 out of 30 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
setup.py |
Updated package versions to stable releases |
requirements.py3.*.txt |
Updated pinned package versions across all platforms |
custom.py |
Major refactoring: removed client factory dependency, updated to use new API models and enums, added what-if command implementations |
commands.py |
Added commented-out what-if command registrations |
_params.py |
Consolidated parameter definitions, added new parameters for extensible resources and validation |
_validators.py |
Added ISO-8601 duration validator for what-if retention intervals |
_client_factory.py |
Added API version parameters to client factories |
linter_exclusions.yml |
Added exclusions for stack commands lacking wait support |
test_resource.py |
Updated tests with new parameters and removed extraneous whitespace |
| Recording files | Updated to reflect new API version responses |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
@yanzhudd @zhoxing-ms @jsntcy our team is wanting this to go out for the March release. |
Related command
az stackDescription
Bumps the package version of
azure-mgmt-resourcesto24.0.0which splits out deployments related resource types into smaller packages. Bumpsazure-mgmt-resources-deploymentstacksto1.0.0that includes the new2025-07-01API version.The default API version for
az stackcommands is now2025-07-01. This API version ships with support for stacks extensible resource management and what-if support. What-if commands will be available in a future AzCLI release.Extensible resource management only manages and deletes extensible resources that are deployed with extensions that implement the v2 extensibility contract. Microsoft Graph's v1 extension is not supported for this feature, for example. If an older API version is used, extensible resource management is effectively a no-op and will retain any existing management status behind the scenes. This was done to prevent unexpected behavioral changes to users upgrading their AzCLI that may be deploying resources that would be affected by this new feature.
The
--resources-without-delete-supportparameter modifies the behavior of stacks when trying to delete resources managed by the stack. By default, a stack will enter a failed state if this type of error occurs, but can be set to detach the resource(s) instead.The
--validation-levelparameter controls the level of preflight validation performed on a stack. By default, the full validation levelProvideris used, but there are a couple of other reduced modes that can be used.Scaffolding for the upcoming what-if commands is added, but no new commands are added yet.
Testing Guide
See
DeploymentStacksTestlive tests.History Notes
[ARM]
az stack: The default API version is now2025-07-01. This includes support for stacks extensible resource management and what-if support for stacks. What-if commands will be available in a future AzCLI release.[ARM]
az stack group/sub/mg validate: Add--resources-without-delete-supportand--validation-leveland parameters.[ARM]
az stack group/sub/mg create: Add--resources-without-delete-supportand--validation-levelparameters.[ARM]
az stack group/sub/mg delete: Add--resources-without-delete-supportparameter.This checklist is used to make sure that common guidelines for a pull request are followed.
The PR title and description has followed the guideline in Submitting Pull Requests.
I adhere to the Command Guidelines.
I adhere to the Error Handling Guidelines.