[BC] DataProtection Breaking Change Announcement after <Added support for DPP vault soft delete feature>#29125
[BC] DataProtection Breaking Change Announcement after <Added support for DPP vault soft delete feature>#29125JunKai-v wants to merge 3 commits intoAzure:mainfrom
Conversation
| Thanks for your contribution! The pull request validation has started. Please revisit this comment for updated status. |
There was a problem hiding this comment.
Pull request overview
Adds breaking-change preannouncement messaging for Az.DataProtection cmdlets (Az v16.0.0 / May 2026) and updates DataProtection module metadata/artifacts after the related migration.
Changes:
- Added preview/breaking-change announcement banners (PreviewMessage / preview-announcement) across DataProtection cmdlets.
- Updated module metadata (versions/IDs) and solution references.
- Regenerated/updated markdown help content.
Reviewed changes
Copilot reviewed 34 out of 34 changed files in this pull request and generated 21 comments.
Show a summary per file
| File | Description |
|---|---|
| src/DataProtection/DataProtection/help/Update-AzDataProtectionResourceGuard.md | Help text update (contains a new typo). |
| src/DataProtection/DataProtection/help/Update-AzDataProtectionBackupVault.md | Help text update for CMK/UAMI example (introduces incorrect wording/parameter reference). |
| src/DataProtection/DataProtection/help/Update-AzDataProtectionBackupInstance.md | Help text update (contains a new typo). |
| src/DataProtection/DataProtection/help/Undo-AzDataProtectionBackupInstanceDeletion.md | Help text update (contains new typos). |
| src/DataProtection/DataProtection/help/Start-AzDataProtectionBackupInstanceRestore.md | Help text update (contains multiple new typos). |
| src/DataProtection/DataProtection/help/New-AzDataProtectionPolicyTriggerScheduleClientObject.md | Help text update (contains a new typo). |
| src/DataProtection/DataProtection/help/New-AzDataProtectionBackupPolicy.md | Help text update (contains new typos). |
| src/DataProtection/DataProtection/help/New-AzDataProtectionBackupInstance.md | Help text + example updates (example variable typo + narrative typo). |
| src/DataProtection/DataProtection/help/Get-AzDataProtectionBackupVault.md | Help text update (contains new typos). |
| src/DataProtection/DataProtection/help/Find-AzDataProtectionRestorableTimeRange.md | Help text update (contains new typos). |
| src/DataProtection/DataProtection/Az.DataProtection.psd1 | Module manifest updated (version/date/manifest formatting). |
| src/DataProtection/DataProtection.sln | Updated solution project GUID mapping for Az.DataProtection. |
| src/DataProtection/DataProtection.Autorest/generate-info.json | Regeneration identifier updated. |
| src/DataProtection/DataProtection.Autorest/docs/Az.DataProtection.md | Module docs metadata updated (Module Guid). |
| src/DataProtection/DataProtection.Autorest/custom/Cmdlets/Policy/New-AzDataProtectionRetentionLifeCycleClientObject.ps1 | Added breaking-change PreviewMessage banner to custom cmdlet. |
| src/DataProtection/DataProtection.Autorest/custom/Cmdlets/Policy/New-AzDataProtectionPolicyTagCriteriaClientObject.ps1 | Added breaking-change PreviewMessage banner to custom cmdlet. |
| src/DataProtection/DataProtection.Autorest/custom/Cmdlets/Policy/New-AzDataProtectionBackupPolicy.ps1 | Added breaking-change PreviewMessage banner to custom cmdlet. |
| src/DataProtection/DataProtection.Autorest/custom/Cmdlets/Policy/Get-AzDataProtectionPolicyTemplate.ps1 | Added breaking-change PreviewMessage banner to custom cmdlet. |
| src/DataProtection/DataProtection.Autorest/custom/Cmdlets/Policy/Edit-AzDataProtectionPolicyTriggerClientObject.ps1 | Added breaking-change PreviewMessage banner to custom cmdlet. |
| src/DataProtection/DataProtection.Autorest/custom/Cmdlets/Policy/Edit-AzDataProtectionPolicyTagClientObject.ps1 | Added breaking-change PreviewMessage banner to custom cmdlet. |
| src/DataProtection/DataProtection.Autorest/custom/Cmdlets/Policy/Edit-AzDataProtectionPolicyRetentionRuleClientObject.ps1 | Added breaking-change PreviewMessage banner to custom cmdlet. |
| src/DataProtection/DataProtection.Autorest/custom/Cmdlets/Platform/Vault/Update-AzDataProtectionBackupVault.ps1 | Added breaking-change PreviewMessage banner to custom cmdlet. |
| src/DataProtection/DataProtection.Autorest/custom/Cmdlets/Platform/Vault/Set-AzDataProtectionMSIPermission.ps1 | Added breaking-change PreviewMessage banner to custom cmdlet. |
| src/DataProtection/DataProtection.Autorest/custom/Cmdlets/Platform/Vault/New-AzDataProtectionBackupVault.ps1 | Added breaking-change PreviewMessage banner to custom cmdlet. |
| src/DataProtection/DataProtection.Autorest/custom/Cmdlets/Platform/Restore/Test-AzDataProtectionBackupInstanceRestore.ps1 | Added breaking-change PreviewMessage banner to custom cmdlet. |
| src/DataProtection/DataProtection.Autorest/custom/Cmdlets/Platform/Restore/Start-AzDataProtectionBackupInstanceRestore.ps1 | Added breaking-change PreviewMessage banner to custom cmdlet. |
| src/DataProtection/DataProtection.Autorest/custom/Cmdlets/Platform/Restore/Initialize-AzDataProtectionRestoreRequest.ps1 | Added breaking-change PreviewMessage banner to custom cmdlet. |
| src/DataProtection/DataProtection.Autorest/custom/Cmdlets/Platform/Job/Get-AzDataProtectionJob.ps1 | Added breaking-change PreviewMessage banner to custom cmdlet. |
| src/DataProtection/DataProtection.Autorest/custom/Cmdlets/Platform/BackupInstance/Suspend-AzDataProtectionBackupInstanceBackup.ps1 | Added breaking-change PreviewMessage banner to custom cmdlet. |
| src/DataProtection/DataProtection.Autorest/custom/Cmdlets/Platform/BackupInstance/Stop-AzDataProtectionBackupInstanceProtection.ps1 | Added breaking-change PreviewMessage banner to custom cmdlet. |
| src/DataProtection/DataProtection.Autorest/custom/Cmdlets/Common/Update-AzDataProtectionResourceGuard.ps1 | Added breaking-change PreviewMessage banner to custom cmdlet. |
| src/DataProtection/DataProtection.Autorest/custom/Cmdlets/Common/New-AzDataProtectionResourceGuard.ps1 | Added breaking-change PreviewMessage banner to custom cmdlet. |
| src/DataProtection/DataProtection.Autorest/README.md | Added AutoRest directive to apply preview-announcement message (missing directive comment). |
| src/DataProtection/DataProtection.Autorest/Properties/AssemblyInfo.cs | Bumped assembly versions (2.8.0 → 2.9.0). |
| ``` | ||
|
|
||
| The first command is used to fetch the backup instances which are in soft deleted for a give backup vault. | ||
| The first comamnd is used to fetch the backup instances which are in soft deleted for a give backup vault. |
There was a problem hiding this comment.
Typo in help text: "comamnd" should be "command".
| The last command triggers the restore for AzureDatabaseForPGFlexServer. | ||
|
|
||
| ### Example 10: Trigger vaulted backup containers ItemLevelRestore with PrefixMatch for Azureblob. | ||
| ### Example 10: Trigger vaulted backup conatiners ItemLevelRestore with PrefixMatch for Azureblob. |
There was a problem hiding this comment.
Typo in heading: "conatiners" should be "containers".
| ### Example 10: Trigger vaulted backup conatiners ItemLevelRestore with PrefixMatch for Azureblob. | |
| ### Example 10: Trigger vaulted backup containers ItemLevelRestore with PrefixMatch for Azureblob. |
| The seventh command updates the policy object with custom schedule. | ||
| The eighth, ninth, tenth commands update the Monthly retention rule with custom lifecycles. | ||
| The eleventh, twelfth commands create a tag criteria for Monthly policy. | ||
| The eleventh, twelth commands create a tag criteria for Monthly policy. |
There was a problem hiding this comment.
Typo in help text: "twelth" should be "twelfth".
| The eleventh, twelth commands create a tag criteria for Monthly policy. | |
| The eleventh, twelfth commands create a tag criteria for Monthly policy. |
| The sixth command assigns the necessary permissions for configure backup. | ||
|
|
||
| The seventh and eight command initializes custom tags and configure backup finally by creating a backup instance. | ||
| The sevnth and eight command initializes custom tags and configure backup finally by creating a backup instance. |
There was a problem hiding this comment.
Typo in help text: "sevnth" should be "seventh".
| The sevnth and eight command initializes custom tags and configure backup finally by creating a backup instance. | |
| The seventh and eighth commands initialize custom tags and configure backup finally by creating a backup instance. |
| Start-Sleep -Seconds 10 | ||
| } | ||
| $backupinstanceCreate = New-AzDataProtectionBackupInstance -ResourceGroupName "resourceGroupName" -VaultName "vaultName" -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -BackupInstance $backupInstanceClientObject | ||
| $backupnstanceCreate = New-AzDataProtectionBackupInstance -ResourceGroupName "resourceGroupName" -VaultName "vaultName" -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -BackupInstance $backupInstanceClientObject |
There was a problem hiding this comment.
The example variable name "$backupnstanceCreate" looks like a typo (missing "I") and is inconsistent with nearby "$backupInstance" variables; this makes copy/paste examples harder to follow. Please rename it to "$backupInstanceCreate" (or similar) consistently.
| $backupnstanceCreate = New-AzDataProtectionBackupInstance -ResourceGroupName "resourceGroupName" -VaultName "vaultName" -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -BackupInstance $backupInstanceClientObject | |
| $backupInstanceCreate = New-AzDataProtectionBackupInstance -ResourceGroupName "resourceGroupName" -VaultName "vaultName" -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -BackupInstance $backupInstanceClientObject |
| This command is used to change CmkIdentityType from SystemAssigned to UserAssgined. | ||
| CmkIdenityId is a required parameter. |
There was a problem hiding this comment.
This example description contains typos and refers to the wrong/unclear parameter name. "UserAssgined" should be "UserAssigned", and the required CMK identity parameter should match the actual cmdlet parameter name (CmkUserAssignedIdentityId).
| Third command fetches the list of vaulted containers which are currently backed up in the backup vault. | ||
| Fourth command update the backup instance with new policy and new list of container (which is currently a subset of the existing backed up containers). | ||
| Fifth and sixth command shows the updated policy and containers list in the backup instance. | ||
| Fifth and sixth command shows the updated policy and containers list in the backu instance. |
There was a problem hiding this comment.
Typo in help text: "backu" should be "backup".
| The first command gets the default vaulted policy template for AzureBlob. | ||
| The second to fifteenth command defines and updates the Operational, vaulted weekly, monthly, yearly lifecycle and tagcriteria. | ||
| Next we define a trigger object with schedule time and timezone, set it to 2:30 AM West Europe standard time. | ||
| Next we define a trigger object with schedule time and timzone, set it to 2:30 AM West Europe standard time. |
There was a problem hiding this comment.
Typo in help text: "timzone" should be "timezone".
| Next we define a trigger object with schedule time and timzone, set it to 2:30 AM West Europe standard time. | |
| Next we define a trigger object with schedule time and timezone, set it to 2:30 AM West Europe standard time. |
| Fetch the backup instance. | ||
| Fetch valid time ranges for Backup Instance $instance[0]. | ||
| Display RestorableTimeRange, note that this can be multiple discrete ranges. | ||
| Dispaly RestorableTimeRange, note that this can be multiple dicrete ranges. |
There was a problem hiding this comment.
Typo in help text: "Dispaly" should be "Display".
| Dispaly RestorableTimeRange, note that this can be multiple dicrete ranges. | |
| Display RestorableTimeRange, note that this can be multiple discrete ranges. |
| Fetch the backup instance. | ||
| Fetch valid time ranges for Backup Instance $instance[0]. | ||
| Display RestorableTimeRange, note that this can be multiple discrete ranges. | ||
| Dispaly RestorableTimeRange, note that this can be multiple dicrete ranges. |
There was a problem hiding this comment.
Typo in help text: "dicrete" should be "discrete".
| Dispaly RestorableTimeRange, note that this can be multiple dicrete ranges. | |
| Display RestorableTimeRange, note that this can be multiple discrete ranges. |
|
/azp run |
|
Azure Pipelines successfully started running 3 pipeline(s). |
| [CmdletBinding(PositionalBinding=$false, SupportsShouldProcess)] | ||
| [Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Description('Creates or updates a BackupVault resource belonging to a resource group.')] | ||
| [Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Runtime.PreviewMessage("**********************************************************************************************`n | ||
| * This cmdlet will undergo a breaking change in Az v16.0.0, to be released on May 2026. *`n |
There was a problem hiding this comment.
Grammar in preview announcement: for a month/year date, "released on May 2026" should be "released in May 2026".
| * This cmdlet will undergo a breaking change in Az v16.0.0, to be released on May 2026. *`n | |
| * This cmdlet will undergo a breaking change in Az v16.0.0, to be released in May 2026. *`n |
| [CmdletBinding(PositionalBinding=$false)] | ||
| [Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Description('Adds or removes schedule tag in an existing backup policy.')] | ||
| [Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Runtime.PreviewMessage("**********************************************************************************************`n | ||
| * This cmdlet will undergo a breaking change in Az v16.0.0, to be released on May 2026. *`n |
There was a problem hiding this comment.
Grammar in preview announcement: for a month/year date, "released on May 2026" should be "released in May 2026".
| * This cmdlet will undergo a breaking change in Az v16.0.0, to be released on May 2026. *`n | |
| * This cmdlet will undergo a breaking change in Az v16.0.0, to be released in May 2026. *`n |
| [CmdletBinding(PositionalBinding=$false)] | ||
| [Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Description('Creates new Lifecycle object')] | ||
| [Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Runtime.PreviewMessage("**********************************************************************************************`n | ||
| * This cmdlet will undergo a breaking change in Az v16.0.0, to be released on May 2026. *`n |
There was a problem hiding this comment.
Grammar in preview announcement: for a month/year date, "released on May 2026" should be "released in May 2026".
| * This cmdlet will undergo a breaking change in Az v16.0.0, to be released on May 2026. *`n | |
| * This cmdlet will undergo a breaking change in Az v16.0.0, to be released in May 2026. *`n |
|
|
||
| This command is used to change CmkIdentityType from SystemAssigned to UserAssigned. | ||
| CmkIdentityId is a required parameter. | ||
| This command is used to change CmkIdentityType from SystemAssigned to UserAssgined. |
There was a problem hiding this comment.
Typo in help text: "UserAssgined" should be "UserAssigned".
| The third command fetches the containers which are protected with vaulted policy. | ||
| The fourth command initializes the prefix array for each container. | ||
| PrefixMatch is a hashtable where each key is the container name being restored and the value is a list of string prfixes for container names for Item level recovery. | ||
| PrefixMatch is a hashtable where each key is the conatiner name being restored and the value is a list of string prfixes for container names for Item level recovery. |
There was a problem hiding this comment.
Typo in help text: "conatiner" should be "container".
| The third command fetches the containers which are protected with vaulted policy. | ||
| The fourth command initializes the prefix array for each container. | ||
| PrefixMatch is a hashtable where each key is the container name being restored and the value is a list of string prfixes for container names for Item level recovery. | ||
| PrefixMatch is a hashtable where each key is the conatiner name being restored and the value is a list of string prfixes for container names for Item level recovery. |
There was a problem hiding this comment.
Typo in help text: "prfixes" should be "prefixes".
| [CmdletBinding(PositionalBinding=$false, SupportsShouldProcess)] | ||
| [Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Description('Creates a resource guard under a resource group')] | ||
| [Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Runtime.PreviewMessage("**********************************************************************************************`n | ||
| * This cmdlet will undergo a breaking change in Az v16.0.0, to be released on May 2026. *`n |
There was a problem hiding this comment.
Grammar in preview announcement: for a month/year date, "released on May 2026" should be "released in May 2026".
| * This cmdlet will undergo a breaking change in Az v16.0.0, to be released on May 2026. *`n | |
| * This cmdlet will undergo a breaking change in Az v16.0.0, to be released in May 2026. *`n |
| [CmdletBinding(PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact = 'High')] | ||
| [Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Description('Grants required permissions to the backup vault and other resources for configure backup and restore scenarios')] | ||
| [Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Runtime.PreviewMessage("**********************************************************************************************`n | ||
| * This cmdlet will undergo a breaking change in Az v16.0.0, to be released on May 2026. *`n |
There was a problem hiding this comment.
Grammar in preview announcement: for a month/year date, "released on May 2026" should be "released in May 2026".
| * This cmdlet will undergo a breaking change in Az v16.0.0, to be released on May 2026. *`n | |
| * This cmdlet will undergo a breaking change in Az v16.0.0, to be released in May 2026. *`n |
| [CmdletBinding(PositionalBinding=$false)] | ||
| [Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Description('Updates Backup schedule of an existing backup policy.')] | ||
| [Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Runtime.PreviewMessage("**********************************************************************************************`n | ||
| * This cmdlet will undergo a breaking change in Az v16.0.0, to be released on May 2026. *`n |
There was a problem hiding this comment.
Grammar in preview announcement: for a month/year date, "released on May 2026" should be "released in May 2026".
| * This cmdlet will undergo a breaking change in Az v16.0.0, to be released on May 2026. *`n | |
| * This cmdlet will undergo a breaking change in Az v16.0.0, to be released in May 2026. *`n |
| [CmdletBinding(PositionalBinding=$false)] | ||
| [Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Description('Gets default policy template for a selected datasource type.')] | ||
| [Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Runtime.PreviewMessage("**********************************************************************************************`n | ||
| * This cmdlet will undergo a breaking change in Az v16.0.0, to be released on May 2026. *`n |
There was a problem hiding this comment.
Grammar in preview announcement: for a month/year date, "released on May 2026" should be "released in May 2026".
| * This cmdlet will undergo a breaking change in Az v16.0.0, to be released on May 2026. *`n | |
| * This cmdlet will undergo a breaking change in Az v16.0.0, to be released in May 2026. *`n |
Description
Migration PR: #29122
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.