[Az.DataProtection] Add auto-protection support for Blob and ADLS backup#29408
[Az.DataProtection] Add auto-protection support for Blob and ADLS backup#29408Komla-Ansah wants to merge 5 commits intoAzure:mainfrom
Conversation
- Update API version from 2025-09-01 to 2026-03-01 - Update namespace references from Api20250901 to Api20260301 across custom cmdlets and tests - Update source-file-csharp transforms in README.md for new API version - Add -AutoProtection switch and -AutoProtectionExclusionRule parameter to New-AzDataProtectionBackupConfigurationClientObject - Support BlobBackupDatasourceParametersForAutoProtection (Blob) and AdlsBlobBackupDatasourceParametersForAutoProtection (ADLS) - Add unit tests for auto-protection scenarios - Add examples for auto-protection in cmdlet documentation Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
| Thanks for your contribution! The pull request validation has started. Please revisit this comment for updated status. |
|
Azure Pipelines: 4 pipeline(s) require an authorized user to comment /azp run to run. |
|
/azp run |
|
Azure Pipelines: Successfully started running 3 pipeline(s). |
There was a problem hiding this comment.
Pull request overview
Note
Copilot was unable to run its full agentic suite in this review.
Updates Az.DataProtection to the 2026-03-01 API version and adds Blob/ADLS auto-protection support in backup configuration, alongside regenerated help/docs and new unit tests.
Changes:
- Bumped API version to 2026-03-01 and migrated namespaces from
Api20250901→Api20260301across cmdlets, models, docs, and tests. - Added
-AutoProtectionand-AutoProtectionExclusionRuletoNew-AzDataProtectionBackupConfigurationClientObjectwith Blob + ADLS auto-protection parameter support. - Regenerated markdown help/docs/examples and introduced new Pester tests for auto-protection scenarios.
Reviewed changes
Copilot reviewed 147 out of 147 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| src/DataProtection/DataProtection/help/Update-AzDataProtectionResourceGuard.md | Help regen; API namespace updates; syntax formatting changes |
| src/DataProtection/DataProtection/help/Update-AzDataProtectionBackupVault.md | Help regen; API namespace updates; syntax formatting changes |
| src/DataProtection/DataProtection/help/Update-AzDataProtectionBackupInstanceAssociatedPolicy.md | Help regen; API namespace updates; syntax formatting changes |
| src/DataProtection/DataProtection/help/Update-AzDataProtectionBackupInstance.md | Help regen; API namespace updates; nullable bool type display change |
| src/DataProtection/DataProtection/help/Unlock-AzDataProtectionResourceGuardOperation.md | Help regen; formatting updates |
| src/DataProtection/DataProtection/help/Undo-AzDataProtectionVaultDeletion.md | Help regen; API namespace updates; formatting changes |
| src/DataProtection/DataProtection/help/Undo-AzDataProtectionBackupInstanceDeletion.md | Help regen; formatting updates; example text adjusted |
| src/DataProtection/DataProtection/help/Test-AzDataProtectionBackupInstanceUpdate.md | Help regen; API namespace updates |
| src/DataProtection/DataProtection/help/Test-AzDataProtectionBackupInstanceRestore.md | Help regen; API namespace updates |
| src/DataProtection/DataProtection/help/Test-AzDataProtectionBackupInstanceReadiness.md | Help regen; API namespace updates; example heading tweak |
| src/DataProtection/DataProtection/help/Sync-AzDataProtectionBackupInstance.md | Help regen; formatting updates |
| src/DataProtection/DataProtection/help/Suspend-AzDataProtectionBackupInstanceBackup.md | Help regen; formatting updates |
| src/DataProtection/DataProtection/help/Stop-AzDataProtectionBackupInstanceProtection.md | Help regen; formatting updates |
| src/DataProtection/DataProtection/help/Start-AzDataProtectionBackupInstanceRestore.md | Help regen; API namespace updates; examples formatting |
| src/DataProtection/DataProtection/help/Set-AzDataProtectionResourceGuardMapping.md | Help regen; API namespace updates |
| src/DataProtection/DataProtection/help/Set-AzDataProtectionMSIPermission.md | Help regen; API namespace updates; parameter metadata adjustments |
| src/DataProtection/DataProtection/help/Search-AzDataProtectionSoftDeletedVaultBackupInstanceInAzGraph.md | Help regen; formatting updates |
| src/DataProtection/DataProtection/help/Search-AzDataProtectionJobInAzGraph.md | Help regen; parameter metadata adjustments |
| src/DataProtection/DataProtection/help/Search-AzDataProtectionBackupVaultInAzGraph.md | Help regen; formatting updates |
| src/DataProtection/DataProtection/help/Search-AzDataProtectionBackupInstanceInAzGraph.md | Help regen; parameter metadata adjustments |
| src/DataProtection/DataProtection/help/Resume-AzDataProtectionBackupInstanceProtection.md | Help regen; formatting updates |
| src/DataProtection/DataProtection/help/Remove-AzDataProtectionResourceGuardMapping.md | Help regen; formatting updates |
| src/DataProtection/DataProtection/help/Remove-AzDataProtectionResourceGuard.md | Help regen; formatting + example line tweak |
| src/DataProtection/DataProtection/help/Remove-AzDataProtectionBackupVault.md | Help regen; formatting updates |
| src/DataProtection/DataProtection/help/Remove-AzDataProtectionBackupPolicy.md | Help regen; formatting updates |
| src/DataProtection/DataProtection/help/Remove-AzDataProtectionBackupInstance.md | Help regen; formatting updates |
| src/DataProtection/DataProtection/help/New-AzDataProtectionRetentionLifeCycleClientObject.md | Help regen; API namespace updates |
| src/DataProtection/DataProtection/help/New-AzDataProtectionRestoreConfigurationClientObject.md | Help regen; API namespace updates; nullable bool type display change |
| src/DataProtection/DataProtection/help/New-AzDataProtectionResourceGuard.md | Help regen; API namespace updates |
| src/DataProtection/DataProtection/help/New-AzDataProtectionPolicyTriggerScheduleClientObject.md | Help regen; formatting updates |
| src/DataProtection/DataProtection/help/New-AzDataProtectionPolicyTagCriteriaClientObject.md | Help regen; API namespace updates; example heading tweak |
| src/DataProtection/DataProtection/help/New-AzDataProtectionBackupVaultStorageSettingObject.md | Help regen; formatting updates |
| src/DataProtection/DataProtection/help/New-AzDataProtectionBackupVault.md | Help regen; API namespace updates; syntax changes |
| src/DataProtection/DataProtection/help/New-AzDataProtectionBackupPolicy.md | Help regen; API namespace updates; examples formatting |
| src/DataProtection/DataProtection/help/New-AzDataProtectionBackupInstance.md | Help regen; API namespace updates |
| src/DataProtection/DataProtection/help/New-AzDataProtectionBackupConfigurationClientObject.md | Help updated for auto-protection parameters + examples |
| src/DataProtection/DataProtection/help/Initialize-AzDataProtectionRestoreRequest.md | Help regen; API namespace updates; nullable bool type display change |
| src/DataProtection/DataProtection/help/Initialize-AzDataProtectionBackupInstance.md | Help updated with auto-protection example; API namespace updates |
| src/DataProtection/DataProtection/help/Get-AzDataProtectionSoftDeletedBackupVault.md | Help regen; API namespace updates |
| src/DataProtection/DataProtection/help/Get-AzDataProtectionSoftDeletedBackupInstance.md | Help regen; API namespace updates |
| src/DataProtection/DataProtection/help/Get-AzDataProtectionResourceGuardMapping.md | Help regen; API namespace updates; syntax sections reordered |
| src/DataProtection/DataProtection/help/Get-AzDataProtectionResourceGuard.md | Help regen; API namespace updates |
| src/DataProtection/DataProtection/help/Get-AzDataProtectionRecoveryPoint.md | Help regen; API namespace updates; parameter set metadata adjusted |
| src/DataProtection/DataProtection/help/Get-AzDataProtectionPolicyTemplate.md | Help regen; API namespace updates |
| src/DataProtection/DataProtection/help/Get-AzDataProtectionOperationStatus.md | Help regen; API namespace updates |
| src/DataProtection/DataProtection/help/Get-AzDataProtectionOperation.md | Help regen; formatting updates |
| src/DataProtection/DataProtection/help/Get-AzDataProtectionJob.md | Help regen; API namespace updates; syntax sections reordered |
| src/DataProtection/DataProtection/help/Get-AzDataProtectionBackupVault.md | Help regen; API namespace updates; parameter set headers adjusted |
| src/DataProtection/DataProtection/help/Get-AzDataProtectionBackupPolicy.md | Help regen; API namespace updates |
| src/DataProtection/DataProtection/help/Get-AzDataProtectionBackupInstancesExtensionRouting.md | Help regen; API namespace updates |
| src/DataProtection/DataProtection/help/Get-AzDataProtectionBackupInstance.md | Help regen; API namespace updates |
| src/DataProtection/DataProtection/help/Find-AzDataProtectionRestorableTimeRange.md | Help regen; API namespace updates |
| src/DataProtection/DataProtection/help/Edit-AzDataProtectionPolicyTriggerClientObject.md | Help regen; API namespace updates; syntax tightened |
| src/DataProtection/DataProtection/help/Edit-AzDataProtectionPolicyTagClientObject.md | Help regen; API namespace updates; syntax tightened |
| src/DataProtection/DataProtection/help/Edit-AzDataProtectionPolicyRetentionRuleClientObject.md | Help regen; API namespace updates; nullable bool type display change |
| src/DataProtection/DataProtection/help/Backup-AzDataProtectionBackupInstanceAdhoc.md | Help regen; API namespace updates |
| src/DataProtection/DataProtection/Az.DataProtection.psd1 | Manifest regen; date updated; default arrays explicitly set |
| src/DataProtection/DataProtection.sln | Solution project path + GUID updated; encoding/BOM change |
| src/DataProtection/DataProtection.Autorest/test/Update-AzDataProtectionBackupInstanceAssociatedPolicy.Tests.ps1 | Updated test model namespace to Api20260301 |
| src/DataProtection/DataProtection.Autorest/test/AutoProtectionBackupConfiguration.Tests.ps1 | New Pester tests for auto-protection configuration |
| src/DataProtection/DataProtection.Autorest/generate-info.json | Removed generate-info artifact |
| src/DataProtection/DataProtection.Autorest/examples/New-AzDataProtectionBackupConfigurationClientObject.md | Added auto-protection examples |
| src/DataProtection/DataProtection.Autorest/examples/Initialize-AzDataProtectionBackupInstance.md | Added ADLS auto-protection example |
| src/DataProtection/DataProtection.Autorest/docs/Update-AzDataProtectionResourceGuard.md | Docs regen; API namespace updates |
| src/DataProtection/DataProtection.Autorest/docs/Update-AzDataProtectionBackupVault.md | Docs regen; API namespace updates |
| src/DataProtection/DataProtection.Autorest/docs/Update-AzDataProtectionBackupInstanceAssociatedPolicy.md | Docs regen; API namespace updates |
| src/DataProtection/DataProtection.Autorest/docs/Update-AzDataProtectionBackupInstance.md | Docs regen; API namespace updates; nullable bool display adjusted |
| src/DataProtection/DataProtection.Autorest/docs/Undo-AzDataProtectionVaultDeletion.md | Docs regen; API namespace updates |
| src/DataProtection/DataProtection.Autorest/docs/Test-AzDataProtectionBackupInstanceUpdate.md | Docs regen; API namespace updates |
| src/DataProtection/DataProtection.Autorest/docs/Test-AzDataProtectionBackupInstanceRestore.md | Docs regen; API namespace updates |
| src/DataProtection/DataProtection.Autorest/docs/Test-AzDataProtectionBackupInstanceReadiness.md | Docs regen; API namespace updates |
| src/DataProtection/DataProtection.Autorest/docs/Start-AzDataProtectionBackupInstanceRestore.md | Docs regen; API namespace updates |
| src/DataProtection/DataProtection.Autorest/docs/Set-AzDataProtectionResourceGuardMapping.md | Docs regen; API namespace updates |
| src/DataProtection/DataProtection.Autorest/docs/Set-AzDataProtectionMSIPermission.md | Docs regen; API namespace updates |
| src/DataProtection/DataProtection.Autorest/docs/New-AzDataProtectionRetentionLifeCycleClientObject.md | Docs regen; API namespace updates |
| src/DataProtection/DataProtection.Autorest/docs/New-AzDataProtectionRestoreConfigurationClientObject.md | Docs regen; API namespace updates; nullable bool display adjusted |
| src/DataProtection/DataProtection.Autorest/docs/New-AzDataProtectionResourceGuard.md | Docs regen; API namespace updates |
| src/DataProtection/DataProtection.Autorest/docs/New-AzDataProtectionPolicyTagCriteriaClientObject.md | Docs regen; API namespace updates |
| src/DataProtection/DataProtection.Autorest/docs/New-AzDataProtectionBackupVault.md | Docs regen; API namespace updates |
| src/DataProtection/DataProtection.Autorest/docs/New-AzDataProtectionBackupPolicy.md | Docs regen; API namespace updates |
| src/DataProtection/DataProtection.Autorest/docs/New-AzDataProtectionBackupInstance.md | Docs regen; API namespace updates |
| src/DataProtection/DataProtection.Autorest/docs/New-AzDataProtectionBackupConfigurationClientObject.md | Docs updated for auto-protection parameters + examples |
| src/DataProtection/DataProtection.Autorest/docs/Initialize-AzDataProtectionRestoreRequest.md | Docs regen; API namespace updates; nullable bool display adjusted |
| src/DataProtection/DataProtection.Autorest/docs/Initialize-AzDataProtectionBackupInstance.md | Docs updated with auto-protection example; API namespace updates |
| src/DataProtection/DataProtection.Autorest/docs/Get-AzDataProtectionSoftDeletedBackupVault.md | Docs regen; API namespace updates |
| src/DataProtection/DataProtection.Autorest/docs/Get-AzDataProtectionSoftDeletedBackupInstance.md | Docs regen; API namespace updates |
| src/DataProtection/DataProtection.Autorest/docs/Get-AzDataProtectionResourceGuardMapping.md | Docs regen; API namespace updates |
| src/DataProtection/DataProtection.Autorest/docs/Get-AzDataProtectionResourceGuard.md | Docs regen; API namespace updates |
| src/DataProtection/DataProtection.Autorest/docs/Get-AzDataProtectionRecoveryPoint.md | Docs regen; API namespace updates |
| src/DataProtection/DataProtection.Autorest/docs/Get-AzDataProtectionPolicyTemplate.md | Docs regen; API namespace updates |
| src/DataProtection/DataProtection.Autorest/docs/Get-AzDataProtectionOperationStatus.md | Docs regen; API namespace updates |
| src/DataProtection/DataProtection.Autorest/docs/Get-AzDataProtectionJob.md | Docs regen; API namespace updates |
| src/DataProtection/DataProtection.Autorest/docs/Get-AzDataProtectionBackupVault.md | Docs regen; API namespace updates |
| src/DataProtection/DataProtection.Autorest/docs/Get-AzDataProtectionBackupPolicy.md | Docs regen; API namespace updates |
| src/DataProtection/DataProtection.Autorest/docs/Get-AzDataProtectionBackupInstancesExtensionRouting.md | Docs regen; API namespace updates |
| src/DataProtection/DataProtection.Autorest/docs/Get-AzDataProtectionBackupInstance.md | Docs regen; API namespace updates |
| src/DataProtection/DataProtection.Autorest/docs/Find-AzDataProtectionRestorableTimeRange.md | Docs regen; API namespace updates |
| src/DataProtection/DataProtection.Autorest/docs/Edit-AzDataProtectionPolicyTriggerClientObject.md | Docs regen; API namespace updates |
| src/DataProtection/DataProtection.Autorest/docs/Edit-AzDataProtectionPolicyTagClientObject.md | Docs regen; API namespace updates |
| src/DataProtection/DataProtection.Autorest/docs/Edit-AzDataProtectionPolicyRetentionRuleClientObject.md | Docs regen; API namespace updates; nullable bool display adjusted |
| src/DataProtection/DataProtection.Autorest/docs/Backup-AzDataProtectionBackupInstanceAdhoc.md | Docs regen; API namespace updates |
| src/DataProtection/DataProtection.Autorest/docs/Az.DataProtection.md | Docs regen; module metadata updated |
| src/DataProtection/DataProtection.Autorest/custom/Models/DeletedBackupVaultResource.cs | Namespace bumped to Api20260301 |
| src/DataProtection/DataProtection.Autorest/custom/Models/BackupInstanceResource.cs | Namespace bumped to Api20260301 |
| src/DataProtection/DataProtection.Autorest/custom/Helpers/CommonHelpers.ps1 | Namespace bumped to Api20260301; encoding adjusted |
| src/DataProtection/DataProtection.Autorest/custom/Cmdlets/Policy/New-AzDataProtectionRetentionLifeCycleClientObject.ps1 | Updated types to Api20260301 |
| src/DataProtection/DataProtection.Autorest/custom/Cmdlets/Policy/New-AzDataProtectionPolicyTagCriteriaClientObject.ps1 | Updated types to Api20260301 |
| src/DataProtection/DataProtection.Autorest/custom/Cmdlets/Policy/New-AzDataProtectionBackupPolicy.ps1 | Updated types to Api20260301; encoding adjusted |
| src/DataProtection/DataProtection.Autorest/custom/Cmdlets/Policy/Get-AzDataProtectionPolicyTemplate.ps1 | Updated types to Api20260301; encoding adjusted |
| src/DataProtection/DataProtection.Autorest/custom/Cmdlets/Policy/Edit-AzDataProtectionPolicyTriggerClientObject.ps1 | Updated types to Api20260301; encoding adjusted |
| src/DataProtection/DataProtection.Autorest/custom/Cmdlets/Policy/Edit-AzDataProtectionPolicyTagClientObject.ps1 | Updated types to Api20260301; encoding adjusted |
| src/DataProtection/DataProtection.Autorest/custom/Cmdlets/Policy/Edit-AzDataProtectionPolicyRetentionRuleClientObject.ps1 | Updated types to Api20260301; encoding adjusted |
| src/DataProtection/DataProtection.Autorest/custom/Cmdlets/Platform/Vault/Update-AzDataProtectionBackupVault.ps1 | Updated types to Api20260301; CMK object creation updated |
| src/DataProtection/DataProtection.Autorest/custom/Cmdlets/Platform/Vault/Undo-AzDataProtectionVaultDeletion.ps1 | Updated output type to Api20260301 |
| src/DataProtection/DataProtection.Autorest/custom/Cmdlets/Platform/Vault/Set-AzDataProtectionMSIPermission.ps1 | Updated request/instance types to Api20260301; encoding adjusted |
| src/DataProtection/DataProtection.Autorest/custom/Cmdlets/Platform/Vault/New-AzDataProtectionBackupVaultStorageSettingObject.ps1 | Updated StorageSetting type to Api20260301; encoding adjusted |
| src/DataProtection/DataProtection.Autorest/custom/Cmdlets/Platform/Vault/New-AzDataProtectionBackupVault.ps1 | Updated storage/encryption types to Api20260301; encoding adjusted |
| src/DataProtection/DataProtection.Autorest/custom/Cmdlets/Platform/Restore/Test-AzDataProtectionBackupInstanceRestore.ps1 | Updated request types to Api20260301; encoding adjusted |
| src/DataProtection/DataProtection.Autorest/custom/Cmdlets/Platform/Restore/Start-AzDataProtectionBackupInstanceRestore.ps1 | Updated request types to Api20260301; encoding adjusted |
| src/DataProtection/DataProtection.Autorest/custom/Cmdlets/Platform/Restore/New-AzDataProtectionRestoreConfigurationClientObject.ps1 | Updated restore criteria types to Api20260301; encoding adjusted |
| src/DataProtection/DataProtection.Autorest/custom/Cmdlets/Platform/Restore/Initialize-AzDataProtectionRestoreRequest.ps1 | Updated restore request types to Api20260301; encoding adjusted |
| src/DataProtection/DataProtection.Autorest/custom/Cmdlets/Platform/Job/Get-AzDataProtectionJob.ps1 | Updated output type to Api20260301; encoding adjusted |
| src/DataProtection/DataProtection.Autorest/custom/Cmdlets/Platform/BackupInstance/Update-AzDataProtectionBackupInstanceAssociatedPolicy.ps1 | Updated output type to Api20260301; encoding adjusted |
| src/DataProtection/DataProtection.Autorest/custom/Cmdlets/Platform/BackupInstance/Update-AzDataProtectionBackupInstance.ps1 | Updated IdentityDetails + datasource param types to Api20260301 |
| src/DataProtection/DataProtection.Autorest/custom/Cmdlets/Platform/BackupInstance/Suspend-AzDataProtectionBackupInstanceBackup.ps1 | Updated SuspendBackupRequest type to Api20260301; encoding adjusted |
| src/DataProtection/DataProtection.Autorest/custom/Cmdlets/Platform/BackupInstance/Stop-AzDataProtectionBackupInstanceProtection.ps1 | Updated StopProtectionRequest type to Api20260301; encoding adjusted |
| src/DataProtection/DataProtection.Autorest/custom/Cmdlets/Platform/BackupInstance/New-AzDataProtectionBackupInstance.ps1 | Updated backup instance type to Api20260301; encoding adjusted |
| src/DataProtection/DataProtection.Autorest/custom/Cmdlets/Platform/BackupInstance/New-AzDataProtectionBackupConfigurationClientObject.ps1 | Added auto-protection params + object types; updated Api20260301 references |
| src/DataProtection/DataProtection.Autorest/custom/Cmdlets/Platform/BackupInstance/Initialize-AzDataProtectionBackupInstance.ps1 | Updated instance + identity + secret store types to Api20260301 |
| src/DataProtection/DataProtection.Autorest/custom/Cmdlets/Common/Update-AzDataProtectionResourceGuard.ps1 | Updated output type to Api20260301; encoding adjusted |
| src/DataProtection/DataProtection.Autorest/custom/Cmdlets/Common/New-AzDataProtectionResourceGuard.ps1 | Updated output type to Api20260301; encoding adjusted |
| src/DataProtection/DataProtection.Autorest/custom/Cmdlets/Backupcenter/Search-AzDataProtectionSoftDeletedVaultBackupInstanceInAzGraph.ps1 | Updated FromJsonString model to Api20260301 |
| src/DataProtection/DataProtection.Autorest/custom/Cmdlets/Backupcenter/Search-AzDataProtectionJobInAzGraph.ps1 | Updated FromJsonString model to Api20260301; encoding adjusted |
| src/DataProtection/DataProtection.Autorest/custom/Cmdlets/Backupcenter/Search-AzDataProtectionBackupVaultInAzGraph.ps1 | Updated FromJsonString model to Api20260301; encoding adjusted |
| src/DataProtection/DataProtection.Autorest/custom/Cmdlets/Backupcenter/Search-AzDataProtectionBackupInstanceInAzGraph.ps1 | Updated FromJsonString model to Api20260301; encoding adjusted |
| src/DataProtection/DataProtection.Autorest/UX/Microsoft.DataProtection/resourceGuards.json | UX metadata API version → 2026-03-01 |
| src/DataProtection/DataProtection.Autorest/UX/Microsoft.DataProtection/locations-operationStatus.json | UX metadata API version → 2026-03-01 |
| src/DataProtection/DataProtection.Autorest/UX/Microsoft.DataProtection/locations-deletedVaults.json | UX metadata API version → 2026-03-01 |
| src/DataProtection/DataProtection.Autorest/UX/Microsoft.DataProtection/backupVaults.json | UX metadata API version → 2026-03-01 |
| src/DataProtection/DataProtection.Autorest/UX/Microsoft.DataProtection/backupVaults-deletedBackupInstances.json | UX metadata API version → 2026-03-01 |
| src/DataProtection/DataProtection.Autorest/UX/Microsoft.DataProtection/backupVaults-backupResourceGuardProxies.json | UX metadata API version → 2026-03-01 |
| src/DataProtection/DataProtection.Autorest/UX/Microsoft.DataProtection/backupVaults-backupPolicies.json | UX metadata API version → 2026-03-01 |
| src/DataProtection/DataProtection.Autorest/UX/Microsoft.DataProtection/backupVaults-backupJobs.json | UX metadata API version → 2026-03-01 |
| src/DataProtection/DataProtection.Autorest/UX/Microsoft.DataProtection/backupVaults-backupInstances.json | UX metadata API version → 2026-03-01 |
| src/DataProtection/DataProtection.Autorest/UX/Microsoft.DataProtection/backupVaults-backupInstances-recoveryPoints.json | UX metadata API version → 2026-03-01 |
| src/DataProtection/DataProtection.Autorest/README.md | Autorest input spec path + transform strings updated to Api20260301 |
| src/DataProtection/DataProtection.Autorest/Properties/AssemblyInfo.cs | Assembly version bumped 2.9.0 → 2.9.1 |
Comments suppressed due to low confidence (7)
src/DataProtection/DataProtection/help/Update-AzDataProtectionResourceGuard.md:1
- The help front-matter now has an empty
external help file:value. This is likely an artifact of help regeneration and can break external help resolution in tooling. Please restore the expected value (e.g.,Az.DataProtection-help.xml) consistently across help markdown files, or remove the key entirely if the module no longer uses external help.
src/DataProtection/DataProtection/help/Update-AzDataProtectionBackupInstance.md:1 - The generated type name is assembly-qualified (
System.Private.CoreLib, Version=...), which is noisy and not user-friendly in cmdlet help. Help output typically should showSystem.Nullable1[System.Boolean](or simplySystem.Boolean`) rather than binding to a specific runtime assembly/version. Consider adding/adjusting the help generation post-processing to strip assembly qualifiers so docs are stable across .NET runtime versions.
src/DataProtection/DataProtection/help/Undo-AzDataProtectionBackupInstanceDeletion.md:1 - This example line has trailing whitespace after the command, which tends to cause churn in docs and can fail markdown linting in some pipelines. Please trim trailing spaces (also appears in a few other help examples/headings in this PR).
src/DataProtection/DataProtection.Autorest/test/AutoProtectionBackupConfiguration.Tests.ps1:1 - This directory-walk loop can become infinite when
HttpPipelineMocking.ps1is not found (e.g., if the file is moved/renamed, or the test is run from an unexpected checkout layout), becauseSplit-Path -Parentcan stop changing once it reaches the filesystem root. Add a termination condition (e.g., break when$currentPathno longer changes or becomes empty) and throw a clear error if the mocking script can’t be located.
src/DataProtection/DataProtection.sln:1 - The solution file now includes a BOM at the start (line 1), and the
Az.DataProtectionproject GUID changed along with the relative path. If the GUID/path change was not intentional, this can cause unnecessary churn for developers’ local solution state and may break any tooling that references the old project GUID. If it’s intended, consider documenting the reason (or ensuring other solution consumers don’t depend on the previous GUID).
src/DataProtection/DataProtection.sln:1 - The solution file now includes a BOM at the start (line 1), and the
Az.DataProtectionproject GUID changed along with the relative path. If the GUID/path change was not intentional, this can cause unnecessary churn for developers’ local solution state and may break any tooling that references the old project GUID. If it’s intended, consider documenting the reason (or ensuring other solution consumers don’t depend on the previous GUID).
src/DataProtection/DataProtection/Az.DataProtection.psd1:1 - Previously these fields were commented out; now they are explicitly set to empty arrays. While functionally similar, this can affect formatting/signing diffs and may conflict with repository conventions for generated manifests. If not required, prefer keeping them omitted (commented) to minimize churn; if required by tooling, add a brief note or ensure it’s consistent across modules.
| [Parameter(Mandatory=$false, HelpMessage='Switch parameter to enable auto-protection. When enabled, new containers matching the rules will be automatically protected. Use this parameter for DatasourceType AzureBlob or AzureDataLakeStorage.')] | ||
| [Switch] | ||
| ${AutoProtection}, | ||
|
|
||
| [Parameter(Mandatory=$false, HelpMessage='List of auto-protection exclusion rules. Each rule is a BlobBackupAutoProtectionRule object specifying container name prefix patterns to exclude. Use this parameter along with -AutoProtection.')] | ||
| [Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Models.Api20260301.IBlobBackupAutoProtectionRule[]] | ||
| ${AutoProtectionExclusionRule} |
There was a problem hiding this comment.
Currently the cmdlet enforces mutual exclusivity between -AutoProtection and container selection parameters at runtime with throw. For a better user experience (tab completion, Get-Help clarity, and earlier validation), consider separating auto-protection vs container-selection into distinct parameter sets (e.g., AutoProtection and ContainerSelection) and making AutoProtectionExclusionRule only valid in the auto-protection set. This is optional but will reduce custom validation branching and improve discoverability.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Azure Pipelines: 4 pipeline(s) require an authorized user to comment /azp run to run. |
|
/azp run |
|
Azure Pipelines: Successfully started running 3 pipeline(s). |
The generated/ directory needs to be regenerated with the new API version (2026-03-01). Updating the generate_Id so the CI build detects the outdated submodule and runs autorest regeneration. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Azure Pipelines: 4 pipeline(s) require an authorized user to comment /azp run to run. |
|
/azp run |
|
Azure Pipelines: Successfully started running 3 pipeline(s). |
|
|
||
| ```yaml | ||
| Type: System.Nullable`1[System.Boolean] | ||
| Type: System.Nullable`1[[System.Boolean, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]] | ||
| Parameter Sets: (All) | ||
| Aliases: |
There was a problem hiding this comment.
The generated parameter type string includes the full assembly-qualified System.Private.CoreLib, Version=8.0.0.0..., which is noisy and not user-friendly in reference docs. Please normalize these Type: entries back to the simplified form used previously (e.g., System.Nullable / System.Nullable1[System.Boolean]orSystem.Boolean`) by adjusting the help generation step or post-processing.
| if($DatasourceType.ToString() -eq "AzureKubernetesService"){ | ||
|
|
||
| # parameter validation | ||
| if($VaultedBackupContainer -ne $null -or $IncludeAllContainer){ | ||
| $message = "Invalid parameter VaultedBackupContainer or IncludeAllContainer for given DatasourceType." | ||
| throw $message | ||
| } |
There was a problem hiding this comment.
-AutoProtection / -AutoProtectionExclusionRule are accepted even when -DatasourceType AzureKubernetesService is selected, but they are silently ignored (only Blob/ADLS branch uses them). This can lead to callers thinking auto-protection is enabled for AKS when it is not. Add explicit parameter validation to throw when AutoProtection (or AutoProtectionExclusionRule) is provided with an unsupported DatasourceType (e.g., AzureKubernetesService), and consider surfacing a clear error message listing the supported datasource types.
| Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "DataProtection.Autorest", "DataProtection.Autorest", "{F40C2F0C-1625-C7F2-86E6-E539334694A7}" | ||
| EndProject | ||
| Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Az.DataProtection", "..\..\generated\DataProtection\DataProtection.Autorest\Az.DataProtection.csproj", "{F0BC0C6F-B4BC-412D-814E-C34A64892BE8}" | ||
| Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Az.DataProtection", "DataProtection.Autorest\Az.DataProtection.csproj", "{40B3FCBA-529B-4FC6-A055-C90896EEEDE5}" | ||
| EndProject |
There was a problem hiding this comment.
The solution now references DataProtection.Autorest\Az.DataProtection.csproj, but src/DataProtection/DataProtection.Autorest/ does not appear to contain an Az.DataProtection.csproj at its root (it previously pointed to the generated/ location). This likely breaks opening/building the solution. Please update the project path (and GUID if needed) to the actual Az.DataProtection.csproj location, or add the missing project file under DataProtection.Autorest.
| --- | ||
| external help file: Az.DataProtection-help.xml | ||
| external help file: | ||
| Module Name: Az.DataProtection |
There was a problem hiding this comment.
The front-matter external help file: value was removed and is now blank. PlatyPS/help generation typically relies on this metadata; please restore the previous value (Az.DataProtection-help.xml) or regenerate the help markdown so this field is populated consistently.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Azure Pipelines: 4 pipeline(s) require an authorized user to comment /azp run to run. |
|
/azp run |
|
Azure Pipelines: Successfully started running 3 pipeline(s). |
… -> Api20260301) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Azure Pipelines: 4 pipeline(s) require an authorized user to comment /azp run to run. |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 157 out of 162 changed files in this pull request and generated 2 comments.
Comments suppressed due to low confidence (4)
src/DataProtection/DataProtection/help/Update-AzDataProtectionResourceGuard.md:1
- The
external help filefront-matter value is now empty. For Az modules, this is typically used to point to the generated XML help (e.g.,Az.DataProtection-help.xml). Leaving it blank can break help linking/publishing workflows. Restore the correct external help filename (and apply consistently across the other updated help markdown files where it was cleared).
src/DataProtection/DataProtection/help/Update-AzDataProtectionBackupInstance.md:1 - The help now exposes a CLR assembly-qualified type (
System.Private.CoreLib, Version=8.0.0.0) in the parameter metadata. This is noisy, framework-version-specific, and can become incorrect as the runtime changes. Prefer the simplified type string previously used in help (e.g.,System.Nullable\1[System.Boolean]orSystem.Nullable[bool]`) so the docs remain stable across PowerShell/.NET versions.
src/DataProtection/DataProtection/help/Search-AzDataProtectionJobInAzGraph.md:1 - The
Accepted values:lines for enum-like parameters were removed (e.g., forDatasourceTypes,JobOperation[],JobStatus[]). That’s a documentation regression because users lose discoverability of valid inputs fromGet-Help. If possible, restore the accepted-values metadata (or ensure the doc generation step re-emits it) for these parameters.
src/DataProtection/DataProtection/help/Undo-AzDataProtectionBackupInstanceDeletion.md:1 - This example line has trailing whitespace at the end. Trailing spaces tend to create unnecessary diffs and can fail markdown linting in some pipelines. Remove the trailing space here (and in other updated examples where a trailing space was introduced).
| if($AutoProtection){ | ||
| # auto-protection: mutually exclusive with container-based params | ||
| if($VaultedBackupContainer -ne $null -or $IncludeAllContainer){ | ||
| $message = "VaultedBackupContainer and IncludeAllContainer parameters cannot be used with AutoProtection." | ||
| throw $message | ||
| } | ||
|
|
There was a problem hiding this comment.
New validation branches (mutual exclusivity for -AutoProtection vs -VaultedBackupContainer/-IncludeAllContainer, and -AutoProtectionExclusionRule requiring -AutoProtection) were added but aren’t covered by the new Pester tests. Add negative test cases that assert these combinations throw (and ideally validate the error message) to prevent regressions.
| if($AutoProtectionExclusionRule -ne $null){ | ||
| $message = "AutoProtectionExclusionRule parameter can only be used with -AutoProtection switch." | ||
| throw $message | ||
| } |
There was a problem hiding this comment.
New validation branches (mutual exclusivity for -AutoProtection vs -VaultedBackupContainer/-IncludeAllContainer, and -AutoProtectionExclusionRule requiring -AutoProtection) were added but aren’t covered by the new Pester tests. Add negative test cases that assert these combinations throw (and ideally validate the error message) to prevent regressions.
|
/azp run |
|
Azure Pipelines: Successfully started running 3 pipeline(s). |
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.