forked from Azure/azure-powershell
-
Notifications
You must be signed in to change notification settings - Fork 0
Add ResiliencyView parameter to Get-AzVmssVM for monitoring Resilient Delete retries #2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Draft
Copilot
wants to merge
9
commits into
main
Choose a base branch
from
copilot/add-vmss-resilient-deletion-cmdlets
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+3,232
−3
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Updated agent configuration to specify a PowerShell Pull Request Agent with detailed objectives and rules for modifying cmdlets.
Co-authored-by: audreyttt <[email protected]>
Co-authored-by: audreyttt <[email protected]>
Co-authored-by: audreyttt <[email protected]>
Copilot
AI
changed the title
[WIP] Add PowerShell support for VMSS resilient deletion status
Add ResiliencyView parameter to Get-AzVmssVM for monitoring Resilient Delete retries
Nov 20, 2025
Copilot finished work on behalf of
audreyttt
November 20, 2025 22:12
haagha
reviewed
Nov 24, 2025
haagha
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
PR seems to be mostly accurate? So looks pretty good
src/Compute/Compute/Generated/VirtualMachineScaleSetVM/VirtualMachineScaleSetVMGetMethod.cs
Show resolved
Hide resolved
audreyttt
approved these changes
Nov 24, 2025
src/Compute/Compute/Generated/VirtualMachineScaleSetVM/VirtualMachineScaleSetVMGetMethod.cs
Show resolved
Hide resolved
Co-authored-by: Copilot <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Adds
-ResiliencyViewswitch parameter toGet-AzVmssVMcmdlet to expose theResilientVMDeletionStatusproperty, enabling customers to monitor the real-time status of automatic VM deletion retries without relying on provisioning status oscillation.Changes
Model
ResilientVMDeletionStatusproperty toPSVirtualMachineScaleSetVMCmdlet
ResiliencyViewswitch parameter toGet-AzVmssVMVmssVMInstanceViewTypes.ResiliencyViewexpand to SDK when specifiedUserDataparameter check to use.IsPresent(was== true)InstanceId), not list operationsDocumentation
Tests
Usage
Returns VM with
ResilientVMDeletionStatuspopulated:InProgress,Failed,Enabled, orDisabled.Notes
VmssVMInstanceViewTypes.ResiliencyViewandResilientVMDeletionStatuspropertyinstanceViewper SDK constraintsWarning
Firewall rules blocked me from connecting to one or more addresses (expand for details)
I tried to connect to the following addresses, but was blocked by firewall rules:
1n8vsblobprodwus2184.vsblob.vsassets.io/usr/bin/dotnet /usr/bin/dotnet build /home/REDACTED/work/azure-powershell/azure-powershell/artifacts/Azure.PowerShell.sln -c Debug -fl /flp1:logFile=/home/REDACTED/work/azure-powershell/azure-powershell/artifacts/Build.log;verbosity=quiet(dns block)/usr/bin/dotnet dotnet build(dns block)40vvsblobprodwus2135.vsblob.vsassets.io/usr/bin/dotnet /usr/bin/dotnet build /home/REDACTED/work/azure-powershell/azure-powershell/artifacts/Azure.PowerShell.sln -c Debug -fl /flp1:logFile=/home/REDACTED/work/azure-powershell/azure-powershell/artifacts/Build.log;verbosity=quiet(dns block)/usr/bin/dotnet dotnet build(dns block)6yfvsblobprodwus2121.vsblob.vsassets.io/usr/bin/dotnet /usr/bin/dotnet build /home/REDACTED/work/azure-powershell/azure-powershell/artifacts/Azure.PowerShell.sln -c Debug -fl /flp1:logFile=/home/REDACTED/work/azure-powershell/azure-powershell/artifacts/Build.log;verbosity=quiet(dns block)/usr/bin/dotnet dotnet build(dns block)7q7vsblobprodwus2144.vsblob.vsassets.io/usr/bin/dotnet /usr/bin/dotnet build /home/REDACTED/work/azure-powershell/azure-powershell/artifacts/Azure.PowerShell.sln -c Debug -fl /flp1:logFile=/home/REDACTED/work/azure-powershell/azure-powershell/artifacts/Build.log;verbosity=quiet(dns block)/usr/bin/dotnet dotnet build(dns block)7t8vsblobprodwus2168.vsblob.vsassets.io/usr/bin/dotnet /usr/bin/dotnet build /home/REDACTED/work/azure-powershell/azure-powershell/artifacts/Azure.PowerShell.sln -c Debug -fl /flp1:logFile=/home/REDACTED/work/azure-powershell/azure-powershell/artifacts/Build.log;verbosity=quiet(dns block)84hvsblobprodwus2148.vsblob.vsassets.io/usr/bin/dotnet /usr/bin/dotnet build /home/REDACTED/work/azure-powershell/azure-powershell/artifacts/Azure.PowerShell.sln -c Debug -fl /flp1:logFile=/home/REDACTED/work/azure-powershell/azure-powershell/artifacts/Build.log;verbosity=quiet(dns block)/usr/bin/dotnet dotnet build(dns block)8wdvsblobprodwus2137.vsblob.vsassets.io/usr/bin/dotnet /usr/bin/dotnet build /home/REDACTED/work/azure-powershell/azure-powershell/artifacts/Azure.PowerShell.sln -c Debug -fl /flp1:logFile=/home/REDACTED/work/azure-powershell/azure-powershell/artifacts/Build.log;verbosity=quiet(dns block)/usr/bin/dotnet dotnet build(dns block)9yyvsblobprodwus2157.vsblob.vsassets.io/usr/bin/dotnet /usr/bin/dotnet build /home/REDACTED/work/azure-powershell/azure-powershell/artifacts/Azure.PowerShell.sln -c Debug -fl /flp1:logFile=/home/REDACTED/work/azure-powershell/azure-powershell/artifacts/Build.log;verbosity=quiet(dns block)/usr/bin/dotnet dotnet build(dns block)b53vsblobprodwus2154.vsblob.vsassets.io/usr/bin/dotnet /usr/bin/dotnet build /home/REDACTED/work/azure-powershell/azure-powershell/artifacts/Azure.PowerShell.sln -c Debug -fl /flp1:logFile=/home/REDACTED/work/azure-powershell/azure-powershell/artifacts/Build.log;verbosity=quiet(dns block)/usr/bin/dotnet dotnet build(dns block)ba0vsblobprodwus2130.vsblob.vsassets.io/usr/bin/dotnet /usr/bin/dotnet build /home/REDACTED/work/azure-powershell/azure-powershell/artifacts/Azure.PowerShell.sln -c Debug -fl /flp1:logFile=/home/REDACTED/work/azure-powershell/azure-powershell/artifacts/Build.log;verbosity=quiet(dns block)/usr/bin/dotnet dotnet build(dns block)balvsblobprodwus2129.vsblob.vsassets.io/usr/bin/dotnet /usr/bin/dotnet build /home/REDACTED/work/azure-powershell/azure-powershell/artifacts/Azure.PowerShell.sln -c Debug -fl /flp1:logFile=/home/REDACTED/work/azure-powershell/azure-powershell/artifacts/Build.log;verbosity=quiet(dns block)/usr/bin/dotnet dotnet build(dns block)cbvvsblobprodwus2131.vsblob.vsassets.io/usr/bin/dotnet /usr/bin/dotnet build /home/REDACTED/work/azure-powershell/azure-powershell/artifacts/Azure.PowerShell.sln -c Debug -fl /flp1:logFile=/home/REDACTED/work/azure-powershell/azure-powershell/artifacts/Build.log;verbosity=quiet(dns block)/usr/bin/dotnet dotnet build(dns block)cffvsblobprodwus218.vsblob.vsassets.io/usr/bin/dotnet /usr/bin/dotnet build /home/REDACTED/work/azure-powershell/azure-powershell/artifacts/Azure.PowerShell.sln -c Debug -fl /flp1:logFile=/home/REDACTED/work/azure-powershell/azure-powershell/artifacts/Build.log;verbosity=quiet(dns block)/usr/bin/dotnet dotnet build(dns block)d94vsblobprodwus2119.vsblob.vsassets.io/usr/bin/dotnet /usr/bin/dotnet build /home/REDACTED/work/azure-powershell/azure-powershell/artifacts/Azure.PowerShell.sln -c Debug -fl /flp1:logFile=/home/REDACTED/work/azure-powershell/azure-powershell/artifacts/Build.log;verbosity=quiet(dns block)/usr/bin/dotnet /usr/bin/dotnet build /home/REDACTED/work/azure-powershell/azure-powershell/tools/VersionController/VersionController.Netcore.csproj -c Debug(dns block)/usr/bin/dotnet dotnet build(dns block)ezcvsblobprodwus2170.vsblob.vsassets.io/usr/bin/dotnet /usr/bin/dotnet build /home/REDACTED/work/azure-powershell/azure-powershell/artifacts/Azure.PowerShell.sln -c Debug -fl /flp1:logFile=/home/REDACTED/work/azure-powershell/azure-powershell/artifacts/Build.log;verbosity=quiet(dns block)/usr/bin/dotnet dotnet build(dns block)faxvsblobprodwus2122.vsblob.vsassets.io/usr/bin/dotnet /usr/bin/dotnet build /home/REDACTED/work/azure-powershell/azure-powershell/artifacts/Azure.PowerShell.sln -c Debug -fl /flp1:logFile=/home/REDACTED/work/azure-powershell/azure-powershell/artifacts/Build.log;verbosity=quiet(dns block)/usr/bin/dotnet dotnet build(dns block)g3xvsblobprodwus2151.vsblob.vsassets.io/usr/bin/dotnet /usr/bin/dotnet build /home/REDACTED/work/azure-powershell/azure-powershell/artifacts/Azure.PowerShell.sln -c Debug -fl /flp1:logFile=/home/REDACTED/work/azure-powershell/azure-powershell/artifacts/Build.log;verbosity=quiet(dns block)/usr/bin/dotnet dotnet build(dns block)i01vsblobprodwus216.vsblob.vsassets.io/usr/bin/dotnet /usr/bin/dotnet build /home/REDACTED/work/azure-powershell/azure-powershell/artifacts/Azure.PowerShell.sln -c Debug -fl /flp1:logFile=/home/REDACTED/work/azure-powershell/azure-powershell/artifacts/Build.log;verbosity=quiet(dns block)/usr/bin/dotnet dotnet build(dns block)isvvsblobprodwus2147.vsblob.vsassets.io/usr/bin/dotnet /usr/bin/dotnet build /home/REDACTED/work/azure-powershell/azure-powershell/artifacts/Azure.PowerShell.sln -c Debug -fl /flp1:logFile=/home/REDACTED/work/azure-powershell/azure-powershell/artifacts/Build.log;verbosity=quiet(dns block)/usr/bin/dotnet dotnet build(dns block)jhgvsblobprodwus2167.vsblob.vsassets.io/usr/bin/dotnet /usr/bin/dotnet build /home/REDACTED/work/azure-powershell/azure-powershell/artifacts/Azure.PowerShell.sln -c Debug -fl /flp1:logFile=/home/REDACTED/work/azure-powershell/azure-powershell/artifacts/Build.log;verbosity=quiet(dns block)/usr/bin/dotnet dotnet build(dns block)k4pvsblobprodwus2140.vsblob.vsassets.io/usr/bin/dotnet /usr/bin/dotnet build /home/REDACTED/work/azure-powershell/azure-powershell/artifacts/Azure.PowerShell.sln -c Debug -fl /flp1:logFile=/home/REDACTED/work/azure-powershell/azure-powershell/artifacts/Build.log;verbosity=quiet(dns block)/usr/bin/dotnet dotnet build(dns block)kafvsblobprodwus2165.vsblob.vsassets.io/usr/bin/dotnet /usr/bin/dotnet build /home/REDACTED/work/azure-powershell/azure-powershell/tools/VersionController/VersionController.Netcore.csproj -c Debug(dns block)ldhvsblobprodwus2153.vsblob.vsassets.io/usr/bin/dotnet /usr/bin/dotnet build /home/REDACTED/work/azure-powershell/azure-powershell/artifacts/Azure.PowerShell.sln -c Debug -fl /flp1:logFile=/home/REDACTED/work/azure-powershell/azure-powershell/artifacts/Build.log;verbosity=quiet(dns block)/usr/bin/dotnet dotnet build(dns block)mt2vsblobprodwus2110.vsblob.vsassets.io/usr/bin/dotnet /usr/bin/dotnet build /home/REDACTED/work/azure-powershell/azure-powershell/artifacts/Azure.PowerShell.sln -c Debug -fl /flp1:logFile=/home/REDACTED/work/azure-powershell/azure-powershell/artifacts/Build.log;verbosity=quiet(dns block)/usr/bin/dotnet dotnet build(dns block)nudvsblobprodwus214.vsblob.vsassets.io/usr/bin/dotnet /usr/bin/dotnet build /home/REDACTED/work/azure-powershell/azure-powershell/artifacts/Azure.PowerShell.sln -c Debug -fl /flp1:logFile=/home/REDACTED/work/azure-powershell/azure-powershell/artifacts/Build.log;verbosity=quiet(dns block)/usr/bin/dotnet dotnet build(dns block)p2tvsblobprodwus2189.vsblob.vsassets.io/usr/bin/dotnet /usr/bin/dotnet build /home/REDACTED/work/azure-powershell/azure-powershell/artifacts/Azure.PowerShell.sln -c Debug -fl /flp1:logFile=/home/REDACTED/work/azure-powershell/azure-powershell/artifacts/Build.log;verbosity=quiet(dns block)/usr/bin/dotnet dotnet build(dns block)s8nvsblobprodwus2158.vsblob.vsassets.io/usr/bin/dotnet /usr/bin/dotnet build /home/REDACTED/work/azure-powershell/azure-powershell/artifacts/Azure.PowerShell.sln -c Debug -fl /flp1:logFile=/home/REDACTED/work/azure-powershell/azure-powershell/artifacts/Build.log;verbosity=quiet(dns block)/usr/bin/dotnet dotnet build(dns block)tn2vsblobprodwus2124.vsblob.vsassets.io/usr/bin/dotnet /usr/bin/dotnet build /home/REDACTED/work/azure-powershell/azure-powershell/artifacts/Azure.PowerShell.sln -c Debug -fl /flp1:logFile=/home/REDACTED/work/azure-powershell/azure-powershell/artifacts/Build.log;verbosity=quiet(dns block)/usr/bin/dotnet dotnet build(dns block)wlnvsblobprodwus2188.vsblob.vsassets.io/usr/bin/dotnet /usr/bin/dotnet build /home/REDACTED/work/azure-powershell/azure-powershell/artifacts/Azure.PowerShell.sln -c Debug -fl /flp1:logFile=/home/REDACTED/work/azure-powershell/azure-powershell/artifacts/Build.log;verbosity=quiet(dns block)/usr/bin/dotnet /usr/bin/dotnet build /home/REDACTED/work/azure-powershell/azure-powershell/tools/VersionController/VersionController.Netcore.csproj -c Debug(dns block)/usr/bin/dotnet dotnet build(dns block)wztvsblobprodwus2155.vsblob.vsassets.io/usr/bin/dotnet /usr/bin/dotnet build /home/REDACTED/work/azure-powershell/azure-powershell/artifacts/Azure.PowerShell.sln -c Debug -fl /flp1:logFile=/home/REDACTED/work/azure-powershell/azure-powershell/artifacts/Build.log;verbosity=quiet(dns block)/usr/bin/dotnet dotnet build(dns block)x0dvsblobprodwus2111.vsblob.vsassets.io/usr/bin/dotnet /usr/bin/dotnet build /home/REDACTED/work/azure-powershell/azure-powershell/artifacts/Azure.PowerShell.sln -c Debug -fl /flp1:logFile=/home/REDACTED/work/azure-powershell/azure-powershell/artifacts/Build.log;verbosity=quiet(dns block)y5lvsblobprodwus2179.vsblob.vsassets.io/usr/bin/dotnet /usr/bin/dotnet build /home/REDACTED/work/azure-powershell/azure-powershell/artifacts/Azure.PowerShell.sln -c Debug -fl /flp1:logFile=/home/REDACTED/work/azure-powershell/azure-powershell/artifacts/Build.log;verbosity=quiet(dns block)/usr/bin/dotnet dotnet build(dns block)yf8vsblobprodwus212.vsblob.vsassets.io/usr/bin/dotnet /usr/bin/dotnet build /home/REDACTED/work/azure-powershell/azure-powershell/artifacts/Azure.PowerShell.sln -c Debug -fl /flp1:logFile=/home/REDACTED/work/azure-powershell/azure-powershell/artifacts/Build.log;verbosity=quiet(dns block)/usr/bin/dotnet dotnet build(dns block)If you need me to access, download, or install something from one of these locations, you can either:
Original prompt
This section details on the original issue you should resolve
<issue_title>VMSS Resilient Deletion Status Powershell Support</issue_title>
<issue_description>
Guidelines
The purpose of the Azure PowerShell design review is to ensure that the cmdlets follow the same pattern across the Azure modules. An early design review reduces the risk of unnecessary implementation changes caused by a cmdlet syntax design change.
Please ensure your cmdlets comply with the design guidelines outlined in the PowerShell Design Guidelines document.
Please generate cmdlets syntax using
GenerateCmdletDesignMarkdown.ps1for review if your cmdlet is generated from API spec directly by Autorest.PowerShell.If you just add parameter to existing cmdlets and parameter definition complies with guideline, the design review is not expected.
Have you read above statement?
Service Release Details
Is this an Embargoed Preview, A Public Preview, or a General Release?
What is the expected service release date?
Which Powershell module are these changes being made in?
Contact Information
Main developer contacts (emails + github aliases)
PM contact (email + github alias)
Other people who should attend a design review (email)
High Level Scenarios
Describe how your feature is intended to be used by customers.
Piping scenarios / how these cmdlets are used with existing cmdlets
Sample of end-to-end usage
Please provide comprehensive examples that don't assume additional setup. It helps the audience understand your feature.
The customer has a Virtual Machine Scale Set (VMSS) that has the policy "Resilient Delete" enabled. Let's say the customer deletes 3 VMs within this VMSS. However, all 3 of those VMs fail to delete. Each of those VMs will now have a Provisioning Status as "Failed". Automatically, the Resilient Delete feature will kick in and initiate a new delete operation on the VM (this is defined as a "retry" and we have a max retry count of 5). Once the retry is initiated, the VM's provisioning status will switch to "Deleting". However, after 5 minutes, those VMs fail to delete again. So then the VM provisioning status changes from "Deleting" to "Failed". Then, Resilient Delete will kick in again and initiate a new delete operation on each VM. The VMs' provisioning status will go from "Failed" to "Deleting". This oscillation in Provisioning Status throughout the retries can be a bit confusing for the customer, since they don't know if a "Failed" VM provisioning status means that all retries have exhausted/hit the max retry count or if there's another retry left. Therefore, the customer can use the "ResiliencyView" property within the cmdlet "GetVmssVM" and see if the retries are In Progress, fully Failed, or Not Started.
Syntax changes
Indicate if you are requesting an edit to existing cmdlets, adding new cmdlets, or both. Then edit the corresponding section below.
...
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.