Stacks initial version support for 2025-07-01 API #29447
Stacks initial version support for 2025-07-01 API #29447anamikapan11 wants to merge 14 commits intoAzure:mainfrom
Conversation
| Thanks for your contribution! The pull request validation has started. Please revisit this comment for updated status. |
|
/azp run |
|
Azure Pipelines successfully started running 3 pipeline(s). |
There was a problem hiding this comment.
Pull request overview
Updates the Az.Resources Deployment Stacks surface to the 2025-07-01 API version, regenerating the underlying SDK and wiring new request/response fields into the stack cmdlets and outputs.
Changes:
- Regenerated the Deployment Stacks SDK for
2025-07-01, isolating generated types into a dedicatedGenerated/DeploymentStacksfolder/namespace. - Added
-ResourcesWithoutDeleteSupport(New/Set/Test/Remove) and-ValidationLevel(New/Set/Test) parameters across subscription/resource group/management group deployment stack cmdlets. - Updated help content and
PSDeploymentStackoutput to surfaceresourcesWithoutDeleteSupportandvalidationLevel.
Reviewed changes
Copilot reviewed 41 out of 126 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| src/Resources/Resources/help/Save-AzSubscriptionDeploymentStackTemplate.md | Help update (ProgressAction/type formatting) |
| src/Resources/Resources/help/Save-AzResourceGroupDeploymentStackTemplate.md | Help update (ProgressAction/type formatting) |
| src/Resources/Resources/help/Save-AzManagementGroupDeploymentStackTemplate.md | Help update (ProgressAction/type formatting) |
| src/Resources/Resources/help/Remove-AzSubscriptionDeploymentStack.md | Help: add ResourcesWithoutDeleteSupport + ProgressAction |
| src/Resources/Resources/help/Remove-AzResourceGroupDeploymentStack.md | Help: add ResourcesWithoutDeleteSupport + ProgressAction |
| src/Resources/Resources/help/Remove-AzManagementGroupDeploymentStack.md | Help: add ResourcesWithoutDeleteSupport + ProgressAction |
| src/Resources/Resources/help/Get-AzSubscriptionDeploymentStack.md | Help update (ProgressAction/type formatting) |
| src/Resources/Resources/help/Get-AzResourceGroupDeploymentStack.md | Help update (ProgressAction/type formatting) |
| src/Resources/Resources/help/Get-AzManagementGroupDeploymentStack.md | Help update (ProgressAction/type formatting) |
| src/Resources/Resources/help/Az.Resources.md | Help index updates (cmdlet listing text) |
| src/Resources/Resources/ChangeLog.md | Release notes for stacks parameters/output updates |
| src/Resources/Resources.Management.Sdk/README.md | AutoRest tag/commit update for deployment stacks 2025-07 |
| src/Resources/Resources.Management.Sdk/Generated/Models/DeploymentStackProvisioningState.cs | Removed old generated model (moved to DeploymentStacks namespace) |
| src/Resources/Resources.Management.Sdk/Generated/DeploymentStacks/Models/ValidationLevel.cs | New generated enum constants for validationLevel |
| src/Resources/Resources.Management.Sdk/Generated/DeploymentStacks/Models/UnmanageActionResourceMode.cs | Namespace move + doc comments |
| src/Resources/Resources.Management.Sdk/Generated/DeploymentStacks/Models/UnmanageActionResourceGroupMode.cs | Namespace move + doc comments |
| src/Resources/Resources.Management.Sdk/Generated/DeploymentStacks/Models/UnmanageActionManagementGroupMode.cs | Namespace move + doc comments |
| src/Resources/Resources.Management.Sdk/Generated/DeploymentStacks/Models/SystemData.cs | New generated SystemData model under DeploymentStacks |
| src/Resources/Resources.Management.Sdk/Generated/DeploymentStacks/Models/ResourcesWithoutDeleteSupportAction.cs | New generated enum constants for resourcesWithoutDeleteSupport |
| src/Resources/Resources.Management.Sdk/Generated/DeploymentStacks/Models/ResourceStatusMode.cs | New generated status constants |
| src/Resources/Resources.Management.Sdk/Generated/DeploymentStacks/Models/ResourceReferenceExtended.cs | New generated model for failed resources |
| src/Resources/Resources.Management.Sdk/Generated/DeploymentStacks/Models/ResourceReference.cs | New generated resource reference model |
| src/Resources/Resources.Management.Sdk/Generated/DeploymentStacks/Models/Resource.cs | New generated base Resource model |
| src/Resources/Resources.Management.Sdk/Generated/DeploymentStacks/Models/ProxyResource.cs | New generated proxy resource base |
| src/Resources/Resources.Management.Sdk/Generated/DeploymentStacks/Models/Page.cs | New generated paging helper |
| src/Resources/Resources.Management.Sdk/Generated/DeploymentStacks/Models/ManagedResourceReference.cs | New generated managed resource reference |
| src/Resources/Resources.Management.Sdk/Generated/DeploymentStacks/Models/KeyVaultReference.cs | New generated Key Vault reference model |
| src/Resources/Resources.Management.Sdk/Generated/DeploymentStacks/Models/KeyVaultParameterReference.cs | New generated Key Vault parameter reference model |
| src/Resources/Resources.Management.Sdk/Generated/DeploymentStacks/Models/ErrorResponseException.cs | Renamed/moved exception type to DeploymentStacks namespace |
| src/Resources/Resources.Management.Sdk/Generated/DeploymentStacks/Models/ErrorResponse.cs | Renamed/moved error response model |
| src/Resources/Resources.Management.Sdk/Generated/DeploymentStacks/Models/ErrorDetail.cs | New generated error detail model |
| src/Resources/Resources.Management.Sdk/Generated/DeploymentStacks/Models/ErrorAdditionalInfo.cs | New generated error additional info model |
| src/Resources/Resources.Management.Sdk/Generated/DeploymentStacks/Models/DeploymentStacksWhatIfResultsAtSubscriptionWhatIfHeaders.cs | New generated headers type (what-if) |
| src/Resources/Resources.Management.Sdk/Generated/DeploymentStacks/Models/DeploymentStacksWhatIfResultsAtSubscriptionCreateOrUpdateHeaders.cs | New generated headers type (create/update) |
| src/Resources/Resources.Management.Sdk/Generated/DeploymentStacks/Models/DeploymentStacksWhatIfResultsAtResourceGroupWhatIfHeaders.cs | New generated headers type (what-if) |
| src/Resources/Resources.Management.Sdk/Generated/DeploymentStacks/Models/DeploymentStacksWhatIfResultsAtResourceGroupCreateOrUpdateHeaders.cs | New generated headers type (create/update) |
| src/Resources/Resources.Management.Sdk/Generated/DeploymentStacks/Models/DeploymentStacksWhatIfResultsAtManagementGroupWhatIfHeaders.cs | New generated headers type (what-if) |
| src/Resources/Resources.Management.Sdk/Generated/DeploymentStacks/Models/DeploymentStacksWhatIfResultsAtManagementGroupCreateOrUpdateHeaders.cs | New generated headers type (create/update) |
| src/Resources/Resources.Management.Sdk/Generated/DeploymentStacks/Models/DeploymentStacksWhatIfResult.cs | New generated What-If result resource model |
| src/Resources/Resources.Management.Sdk/Generated/DeploymentStacks/Models/DeploymentStacksWhatIfResourceChangeResourceConfigurationChanges.cs | New generated What-If model |
| src/Resources/Resources.Management.Sdk/Generated/DeploymentStacks/Models/DeploymentStacksWhatIfResourceChangeManagementStatusChange.cs | New generated What-If model |
| src/Resources/Resources.Management.Sdk/Generated/DeploymentStacks/Models/DeploymentStacksWhatIfResourceChangeDenyStatusChange.cs | New generated What-If model |
| src/Resources/Resources.Management.Sdk/Generated/DeploymentStacks/Models/DeploymentStacksWhatIfResourceChange.cs | New generated What-If model |
| src/Resources/Resources.Management.Sdk/Generated/DeploymentStacks/Models/DeploymentStacksWhatIfPropertyChangeType.cs | New generated What-If enum constants |
| src/Resources/Resources.Management.Sdk/Generated/DeploymentStacks/Models/DeploymentStacksWhatIfPropertyChange.cs | New generated What-If property change model |
| src/Resources/Resources.Management.Sdk/Generated/DeploymentStacks/Models/DeploymentStacksWhatIfChangeType.cs | New generated What-If enum constants |
| src/Resources/Resources.Management.Sdk/Generated/DeploymentStacks/Models/DeploymentStacksWhatIfChangeDeploymentScopeChange.cs | New generated What-If model |
| src/Resources/Resources.Management.Sdk/Generated/DeploymentStacks/Models/DeploymentStacksWhatIfChangeDenySettingsChange.cs | New generated What-If model |
| src/Resources/Resources.Management.Sdk/Generated/DeploymentStacks/Models/DeploymentStacksWhatIfChangeCertainty.cs | New generated What-If enum constants |
| src/Resources/Resources.Management.Sdk/Generated/DeploymentStacks/Models/DeploymentStacksWhatIfChange.cs | New generated What-If aggregate model |
| src/Resources/Resources.Management.Sdk/Generated/DeploymentStacks/Models/DeploymentStacksValidateStackAtSubscriptionHeaders.cs | Header type update (Retry-After typing + namespace) |
| src/Resources/Resources.Management.Sdk/Generated/DeploymentStacks/Models/DeploymentStacksValidateStackAtResourceGroupHeaders.cs | Header type update (Retry-After typing + namespace) |
| src/Resources/Resources.Management.Sdk/Generated/DeploymentStacks/Models/DeploymentStacksValidateStackAtManagementGroupHeaders.cs | Header type update (Retry-After typing + namespace) |
| src/Resources/Resources.Management.Sdk/Generated/DeploymentStacks/Models/DeploymentStacksTemplateLink.cs | Namespace move |
| src/Resources/Resources.Management.Sdk/Generated/DeploymentStacks/Models/DeploymentStacksParametersLink.cs | Namespace move |
| src/Resources/Resources.Management.Sdk/Generated/DeploymentStacks/Models/DeploymentStacksManagementStatus.cs | New generated constants |
| src/Resources/Resources.Management.Sdk/Generated/DeploymentStacks/Models/DeploymentStacksDiagnosticLevel.cs | New generated constants |
| src/Resources/Resources.Management.Sdk/Generated/DeploymentStacks/Models/DeploymentStacksDiagnostic.cs | New generated diagnostic model |
| src/Resources/Resources.Management.Sdk/Generated/DeploymentStacks/Models/DeploymentStacksDeleteAtSubscriptionHeaders.cs | Header type update (Retry-After + namespace) |
| src/Resources/Resources.Management.Sdk/Generated/DeploymentStacks/Models/DeploymentStacksDeleteAtResourceGroupHeaders.cs | Header type update (Retry-After + namespace) |
| src/Resources/Resources.Management.Sdk/Generated/DeploymentStacks/Models/DeploymentStacksDeleteAtManagementGroupHeaders.cs | Header type update (Retry-After + namespace) |
| src/Resources/Resources.Management.Sdk/Generated/DeploymentStacks/Models/DeploymentStacksDebugSetting.cs | Namespace move |
| src/Resources/Resources.Management.Sdk/Generated/DeploymentStacks/Models/DeploymentStacksCreateOrUpdateAtSubscriptionHeaders.cs | New generated headers type (create/update) |
| src/Resources/Resources.Management.Sdk/Generated/DeploymentStacks/Models/DeploymentStacksCreateOrUpdateAtResourceGroupHeaders.cs | New generated headers type (create/update) |
| src/Resources/Resources.Management.Sdk/Generated/DeploymentStacks/Models/DeploymentStacksCreateOrUpdateAtManagementGroupHeaders.cs | New generated headers type (create/update) |
| src/Resources/Resources.Management.Sdk/Generated/DeploymentStacks/Models/DeploymentStackValidateResult.cs | Namespace move + property setter change |
| src/Resources/Resources.Management.Sdk/Generated/DeploymentStacks/Models/DeploymentStackValidateProperties.cs | Added deploymentExtensions + validationLevel fields |
| src/Resources/Resources.Management.Sdk/Generated/DeploymentStacks/Models/DeploymentStackTemplateDefinition.cs | Template type refined to dictionary |
| src/Resources/Resources.Management.Sdk/Generated/DeploymentStacks/Models/DeploymentStackProvisioningState.cs | New provisioning state constants for 2025-07 |
| src/Resources/Resources.Management.Sdk/Generated/DeploymentStacks/Models/DeploymentParameter.cs | New deployment parameter model |
| src/Resources/Resources.Management.Sdk/Generated/DeploymentStacks/Models/DeploymentExternalInputDefinition.cs | New external input definition model |
| src/Resources/Resources.Management.Sdk/Generated/DeploymentStacks/Models/DeploymentExternalInput.cs | New external input value model |
| src/Resources/Resources.Management.Sdk/Generated/DeploymentStacks/Models/DeploymentExtensionConfigItem.cs | New extension config item model |
| src/Resources/Resources.Management.Sdk/Generated/DeploymentStacks/Models/DeploymentExtension.cs | New extension model |
| src/Resources/Resources.Management.Sdk/Generated/DeploymentStacks/Models/DenyStatusMode.cs | New deny status constants |
| src/Resources/Resources.Management.Sdk/Generated/DeploymentStacks/Models/DenySettingsMode.cs | Namespace move |
| src/Resources/Resources.Management.Sdk/Generated/DeploymentStacks/Models/DenySettings.cs | Namespace move |
| src/Resources/Resources.Management.Sdk/Generated/DeploymentStacks/Models/CreatedByType.cs | Renamed/moved enum constants |
| src/Resources/Resources.Management.Sdk/Generated/DeploymentStacks/Models/ActionOnUnmanage.cs | Added resourcesWithoutDeleteSupport field |
| src/Resources/Resources.Management.Sdk/Generated/DeploymentStacks/IDeploymentStacksWhatIfResultsAtSubscriptionOperations.cs | New generated What-If operations interface |
| src/Resources/Resources.Management.Sdk/Generated/DeploymentStacks/IDeploymentStacksWhatIfResultsAtResourceGroupOperations.cs | New generated What-If operations interface |
| src/Resources/Resources.Management.Sdk/Generated/DeploymentStacks/IDeploymentStacksWhatIfResultsAtManagementGroupOperations.cs | New generated What-If operations interface |
| src/Resources/Resources.Management.Sdk/Generated/DeploymentStacks/IDeploymentStacksClient.cs | Client namespace move + new What-If ops properties |
| src/Resources/Resources.Management.Sdk/Generated/DeploymentStacks/DeploymentStacksClient.cs | Client API version bump + What-If ops wiring |
| src/Resources/ResourceManager/SdkModels/DeploymentStacks/PSValidationLevel.cs | New PS enum for validationLevel |
| src/Resources/ResourceManager/SdkModels/DeploymentStacks/PSResourcesWithoutDeleteSupport.cs | New PS enum for resourcesWithoutDeleteSupport |
| src/Resources/ResourceManager/SdkModels/DeploymentStacks/PSDeploymentStackValidationInfo.cs | Updated SDK type namespaces |
| src/Resources/ResourceManager/SdkModels/DeploymentStacks/PSDeploymentStackTemplateLink.cs | Updated SDK type namespaces |
| src/Resources/ResourceManager/SdkModels/DeploymentStacks/PSDeploymentStackTemplateDefinition.cs | Updated SDK type namespaces |
| src/Resources/ResourceManager/SdkModels/DeploymentStacks/PSDeploymentStackParameter.cs | Updated SDK type namespaces |
| src/Resources/ResourceManager/SdkModels/DeploymentStacks/PSDeploymentStack.cs | Surfaced resourcesWithoutDeleteSupport + validationLevel output |
| src/Resources/ResourceManager/SdkModels/DeploymentStackWhatIf/PSDeploymentStackWhatIfResourceChange.cs | Deployment stacks What-If PS model updates |
| src/Resources/ResourceManager/Implementation/DeploymentStacks/TestAzSubscriptionDeploymentStack.cs | Wire new parameters into Test-* stack cmdlet |
| src/Resources/ResourceManager/Implementation/DeploymentStacks/TestAzResourceGroupDeploymentStack.cs | Wire new parameters into Test-* stack cmdlet |
| src/Resources/ResourceManager/Implementation/DeploymentStacks/TestAzManagementGroupDeploymentStack.cs | Wire new parameters into Test-* stack cmdlet |
| src/Resources/ResourceManager/Implementation/DeploymentStacks/SetAzSubscriptionDeploymentStack.cs | Add new parameters + wire into Set-* stack cmdlet |
| src/Resources/ResourceManager/Implementation/DeploymentStacks/SetAzResourceGroupDeploymentStack.cs | Add new parameters + wire into Set-* stack cmdlet |
| src/Resources/ResourceManager/Implementation/DeploymentStacks/SetAzManagmentGroupDeploymentStack.cs | Add new parameters + wire into Set-* stack cmdlet |
| src/Resources/ResourceManager/Implementation/DeploymentStacks/RemoveAzSubscriptionDeploymentStack.cs | Add -ResourcesWithoutDeleteSupport + pass to delete |
| src/Resources/ResourceManager/Implementation/DeploymentStacks/RemoveAzResourceGroupDeploymentStack.cs | Add -ResourcesWithoutDeleteSupport + pass to delete |
| src/Resources/ResourceManager/Implementation/DeploymentStacks/RemoveAzManagmentGroupDeploymentStack.cs | Add -ResourcesWithoutDeleteSupport + pass to delete |
| src/Resources/ResourceManager/Implementation/DeploymentStacks/NewAzSubscriptionDeploymentStack.cs | Add new parameters + wire into New-* stack cmdlet |
| src/Resources/ResourceManager/Implementation/DeploymentStacks/NewAzResourceGroupDeploymentStack.cs | Add new parameters + wire into New-* stack cmdlet |
| src/Resources/ResourceManager/Implementation/DeploymentStacks/NewAzManagementGroupDeploymentStack.cs | Add new parameters + wire into New-* stack cmdlet |
|
/azp run |
|
Azure Pipelines successfully started running 3 pipeline(s). |
| [Parameter(Position = 0, Mandatory = true, ValueFromPipeline = true, ParameterSetName = RemoveByStackObjectParameterSetName, | ||
| HelpMessage = "The stack PS object")] | ||
| [ValidateNotNullOrEmpty] | ||
| public PSDeploymentStack InputObjet { get; set; } | ||
| public PSDeploymentStack InputObject { get; set; } | ||
|
|
There was a problem hiding this comment.
Renaming the public parameter from InputObjet to InputObject is a breaking change for users. Add an [Alias("InputObjet")] so the original parameter spelling remains supported.
|
/azp run |
|
Azure Pipelines successfully started running 3 pipeline(s). |
|
/azp run |
|
Azure Pipelines successfully started running 3 pipeline(s). |
| Type: PSActionOnUnmanage | ||
| Parameter Sets: (All) | ||
| Aliases: | ||
| Aliases: InputObjet | ||
| Accepted values: DetachAll, DeleteResources, DeleteAll |
There was a problem hiding this comment.
In the -ActionOnUnmanage parameter block, the help lists Aliases: InputObjet, but ActionOnUnmanage doesn’t have that alias in the cmdlet (the alias belongs to the -InputObject parameter). This makes the docs misleading—please remove the alias from -ActionOnUnmanage (and ensure -InputObject shows the alias instead).
| Type: PSActionOnUnmanage | ||
| Parameter Sets: (All) | ||
| Aliases: | ||
| Aliases: InputObjet | ||
| Accepted values: DetachAll, DeleteResources, DeleteAll |
There was a problem hiding this comment.
In the -ActionOnUnmanage parameter block, the help lists Aliases: InputObjet, but ActionOnUnmanage doesn’t have that alias in the cmdlet (the alias belongs to the -InputObject parameter). This makes the docs misleading—please remove the alias from -ActionOnUnmanage (and ensure -InputObject shows the alias instead).
| Type: PSActionOnUnmanage | ||
| Parameter Sets: (All) | ||
| Aliases: | ||
| Aliases: InputObjet | ||
| Accepted values: DetachAll, DeleteResources, DeleteAll |
There was a problem hiding this comment.
In the -ActionOnUnmanage parameter block, the help lists Aliases: InputObjet, but ActionOnUnmanage doesn’t have that alias in the cmdlet (the alias belongs to the -InputObject parameter). This makes the docs misleading—please remove the alias from -ActionOnUnmanage (and ensure -InputObject shows the alias instead).
|
/azp run |
|
Azure Pipelines successfully started running 3 pipeline(s). |
0b374bb to
c538e86
Compare
|
/azp run |
|
Azure Pipelines successfully started running 3 pipeline(s). |
Regenerated Deployment Stacks SDK via autorest from the 2025-07-01 REST API specification. Generated code moves from Microsoft.Azure.Management.Resources.Models namespace into the dedicated Microsoft.Azure.Management.Resources.DeploymentStacks.Models subnamespace. Updated README autorest configuration tag from package-deploymentstacks-2024-03 to package-deploymentstacks-2025-07. Updated SdkModels namespace imports on PSDeploymentStackParameter, PSDeploymentStackTemplateDefinition, PSDeploymentStackTemplateLink, and PSDeploymentStackValidationInfo to compile against the new SDK namespace. Feature work for new parameters (ResourcesWithoutDeleteSupport, ValidationLevel) lands in a follow-up commit.
…port for Deployment Stacks Added -ResourcesWithoutDeleteSupport parameter to New/Set/Test/Remove deployment stack cmdlets at subscription, resource group, and management group scopes. Controls the action taken on resources that do not support deletion. Possible values: 'Fail' (default) and 'Detach'. Added -ValidationLevel parameter to New/Set/Test deployment stack cmdlets at all three scopes. Controls the deployment stack validation level. Possible values: 'Provider' (default), 'Template', and 'ProviderNoRbac'. Surfaced resourcesWithoutDeleteSupport and validationLevel on PSDeploymentStack output. Added PSResourcesWithoutDeleteSupport and PSValidationLevel PS enums consistent with existing PSActionOnUnmanage and PSDenySettingsMode patterns. On DELETE, the RWDS value is extracted from the built ActionOnUnmanage model and passed as a query parameter to the SDK, matching the CLI wiring pattern.
|
/apz run |
|
/azp run |
|
Azure Pipelines successfully started running 3 pipeline(s). |
|
/azp run |
|
Azure Pipelines successfully started running 3 pipeline(s). |
|
/azp run |
|
Azure Pipelines successfully started running 3 pipeline(s). |
|
/azp run |
|
Azure Pipelines successfully started running 3 pipeline(s). |
|
/azp run |
|
Azure Pipelines successfully started running 3 pipeline(s). |
|
/azp run |
|
Azure Pipelines successfully started running 3 pipeline(s). |
Regenerated Deployment Stacks SDK from the 2025-07-01 REST specification.
Added -ResourcesWithoutDeleteSupport parameter to New/Set/Test/Remove deployment stack cmdlets at subscription, resource group, and management group scopes. Controls the action taken on resources that do not support deletion. Possible values: 'Fail' (default) and 'Detach'.
Added -ValidationLevel parameter to New/Set/Test deployment stack cmdlets at all three scopes. Controls the deployment stack validation level. Possible values: 'Provider' (default), 'Template', and 'ProviderNoRbac'.
Surfaced resourcesWithoutDeleteSupport and validationLevel on PSDeploymentStack output. Added PSResourcesWithoutDeleteSupport and PSValidationLevel PS enums consistent with existing PSActionOnUnmanage and PSDenySettingsMode patterns.
Description
Mandatory Checklist
Please choose the target release of Azure PowerShell. (⚠️ Target release is a different concept from API readiness. Please click below links for details.)
[*] Check this box to confirm: I have read the Submitting Changes section of
CONTRIBUTING.mdand reviewed the following information:ChangeLog.mdfile(s) appropriatelysrc/{{SERVICE}}/{{SERVICE}}/ChangeLog.md.## Upcoming Releaseheader in the past tense.ChangeLog.mdif no new release is required, such as fixing test case only.