Skip to content

Add Cosmos DB database and container item-level recovery - #30300

Open
Shashank Singh (Shashank1306s) wants to merge 11 commits into
Azure:mainfrom
Shashank1306s:users/shasha/dataprotection-updates
Open

Shashank Singh (Shashank1306s) wants to merge 11 commits into
Azure:mainfrom
Shashank1306s:users/shasha/dataprotection-updates

Conversation

@Shashank1306s

@Shashank1306s Shashank Singh (Shashank1306s) commented Oct 15, 2026 •

Copy link
Copy Markdown
Contributor

🤖 PR Validation — ⚠️ Review suggested

Tests
⚠️ 20/20
️✔️Az.Accounts
️✔️Build
️✔️PowerShell Core - Windows
️✔️Windows PowerShell - Windows
⚠️Az.DataProtection
️✔️Build
️✔️PowerShell Core - Windows
️✔️Windows PowerShell - Windows
️✔️Breaking Change Check
️✔️PowerShell Core - Windows
️✔️Windows PowerShell - Windows
⚠️Signature Check
⚠️PowerShell Core - Windows
Type Cmdlet Description Remediation
⚠️ Edit-AzDataProtectionPolicyRetentionRuleClientObject Edit-AzDataProtectionPolicyRetentionRuleClientObject Changes the ConfirmImpact but does not set the SupportsShouldProcess property to true in the cmdlet attribute. Determine if the cmdlet should implement ShouldProcess and if so determine if it should implement Force / ShouldContinue
⚠️ Edit-AzDataProtectionPolicyRetentionRuleClientObject Edit-AzDataProtectionPolicyRetentionRuleClientObject changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️ Edit-AzDataProtectionPolicyTagClientObject Edit-AzDataProtectionPolicyTagClientObject Changes the ConfirmImpact but does not set the SupportsShouldProcess property to true in the cmdlet attribute. Determine if the cmdlet should implement ShouldProcess and if so determine if it should implement Force / ShouldContinue
⚠️ Edit-AzDataProtectionPolicyTagClientObject Edit-AzDataProtectionPolicyTagClientObject changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️ Edit-AzDataProtectionPolicyTriggerClientObject Edit-AzDataProtectionPolicyTriggerClientObject Changes the ConfirmImpact but does not set the SupportsShouldProcess property to true in the cmdlet attribute. Determine if the cmdlet should implement ShouldProcess and if so determine if it should implement Force / ShouldContinue
⚠️ Edit-AzDataProtectionPolicyTriggerClientObject Edit-AzDataProtectionPolicyTriggerClientObject changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️ Get-AzDataProtectionBackupInstance Get-AzDataProtectionBackupInstance Changes the ConfirmImpact but does not set the SupportsShouldProcess property to true in the cmdlet attribute. Determine if the cmdlet should implement ShouldProcess and if so determine if it should implement Force / ShouldContinue
⚠️ Get-AzDataProtectionBackupInstance Get-AzDataProtectionBackupInstance changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️ Get-AzDataProtectionBackupInstancesExtensionRouting Get-AzDataProtectionBackupInstancesExtensionRouting Changes the ConfirmImpact but does not set the SupportsShouldProcess property to true in the cmdlet attribute. Determine if the cmdlet should implement ShouldProcess and if so determine if it should implement Force / ShouldContinue
⚠️ Get-AzDataProtectionBackupInstancesExtensionRouting Get-AzDataProtectionBackupInstancesExtensionRouting changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️ Get-AzDataProtectionBackupPolicy Get-AzDataProtectionBackupPolicy Changes the ConfirmImpact but does not set the SupportsShouldProcess property to true in the cmdlet attribute. Determine if the cmdlet should implement ShouldProcess and if so determine if it should implement Force / ShouldContinue
⚠️ Get-AzDataProtectionBackupPolicy Get-AzDataProtectionBackupPolicy changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️ Get-AzDataProtectionBackupVault Get-AzDataProtectionBackupVault Changes the ConfirmImpact but does not set the SupportsShouldProcess property to true in the cmdlet attribute. Determine if the cmdlet should implement ShouldProcess and if so determine if it should implement Force / ShouldContinue
⚠️ Get-AzDataProtectionBackupVault Get-AzDataProtectionBackupVault changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️ Get-AzDataProtectionJob Get-AzDataProtectionJob Changes the ConfirmImpact but does not set the SupportsShouldProcess property to true in the cmdlet attribute. Determine if the cmdlet should implement ShouldProcess and if so determine if it should implement Force / ShouldContinue
⚠️ Get-AzDataProtectionJob Get-AzDataProtectionJob changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️ Get-AzDataProtectionOperation Get-AzDataProtectionOperation Changes the ConfirmImpact but does not set the SupportsShouldProcess property to true in the cmdlet attribute. Determine if the cmdlet should implement ShouldProcess and if so determine if it should implement Force / ShouldContinue
⚠️ Get-AzDataProtectionOperation Get-AzDataProtectionOperation changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️ Get-AzDataProtectionOperationStatus Get-AzDataProtectionOperationStatus Changes the ConfirmImpact but does not set the SupportsShouldProcess property to true in the cmdlet attribute. Determine if the cmdlet should implement ShouldProcess and if so determine if it should implement Force / ShouldContinue
⚠️ Get-AzDataProtectionOperationStatus Get-AzDataProtectionOperationStatus changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️ Get-AzDataProtectionPolicyTemplate Get-AzDataProtectionPolicyTemplate Changes the ConfirmImpact but does not set the SupportsShouldProcess property to true in the cmdlet attribute. Determine if the cmdlet should implement ShouldProcess and if so determine if it should implement Force / ShouldContinue
⚠️ Get-AzDataProtectionPolicyTemplate Get-AzDataProtectionPolicyTemplate changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️ Get-AzDataProtectionRecoveryPoint Get-AzDataProtectionRecoveryPoint Changes the ConfirmImpact but does not set the SupportsShouldProcess property to true in the cmdlet attribute. Determine if the cmdlet should implement ShouldProcess and if so determine if it should implement Force / ShouldContinue
⚠️ Get-AzDataProtectionRecoveryPoint Get-AzDataProtectionRecoveryPoint changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️ Get-AzDataProtectionResourceGuard Get-AzDataProtectionResourceGuard Changes the ConfirmImpact but does not set the SupportsShouldProcess property to true in the cmdlet attribute. Determine if the cmdlet should implement ShouldProcess and if so determine if it should implement Force / ShouldContinue
⚠️ Get-AzDataProtectionResourceGuard Get-AzDataProtectionResourceGuard changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️ Get-AzDataProtectionResourceGuardMapping Get-AzDataProtectionResourceGuardMapping Changes the ConfirmImpact but does not set the SupportsShouldProcess property to true in the cmdlet attribute. Determine if the cmdlet should implement ShouldProcess and if so determine if it should implement Force / ShouldContinue
⚠️ Get-AzDataProtectionResourceGuardMapping Get-AzDataProtectionResourceGuardMapping changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️ Get-AzDataProtectionSoftDeletedBackupInstance Get-AzDataProtectionSoftDeletedBackupInstance Changes the ConfirmImpact but does not set the SupportsShouldProcess property to true in the cmdlet attribute. Determine if the cmdlet should implement ShouldProcess and if so determine if it should implement Force / ShouldContinue
⚠️ Get-AzDataProtectionSoftDeletedBackupInstance Get-AzDataProtectionSoftDeletedBackupInstance changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️ Get-AzDataProtectionSoftDeletedBackupVault Get-AzDataProtectionSoftDeletedBackupVault Changes the ConfirmImpact but does not set the SupportsShouldProcess property to true in the cmdlet attribute. Determine if the cmdlet should implement ShouldProcess and if so determine if it should implement Force / ShouldContinue
⚠️ Get-AzDataProtectionSoftDeletedBackupVault Get-AzDataProtectionSoftDeletedBackupVault changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️ Initialize-AzDataProtectionBackupInstance Initialize-AzDataProtectionBackupInstance Changes the ConfirmImpact but does not set the SupportsShouldProcess property to true in the cmdlet attribute. Determine if the cmdlet should implement ShouldProcess and if so determine if it should implement Force / ShouldContinue
⚠️ Initialize-AzDataProtectionBackupInstance Initialize-AzDataProtectionBackupInstance changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️ Initialize-AzDataProtectionRestoreRequest Initialize-AzDataProtectionRestoreRequest Changes the ConfirmImpact but does not set the SupportsShouldProcess property to true in the cmdlet attribute. Determine if the cmdlet should implement ShouldProcess and if so determine if it should implement Force / ShouldContinue
⚠️ Initialize-AzDataProtectionRestoreRequest Initialize-AzDataProtectionRestoreRequest changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️ New-AzDataProtectionBackupConfigurationClientObject New-AzDataProtectionBackupConfigurationClientObject changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️ New-AzDataProtectionBackupVaultStorageSettingObject New-AzDataProtectionBackupVaultStorageSettingObject changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️ New-AzDataProtectionPolicyTagCriteriaClientObject New-AzDataProtectionPolicyTagCriteriaClientObject changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️ New-AzDataProtectionPolicyTriggerScheduleClientObject New-AzDataProtectionPolicyTriggerScheduleClientObject changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️ New-AzDataProtectionRestoreConfigurationClientObject New-AzDataProtectionRestoreConfigurationClientObject changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️ New-AzDataProtectionRetentionLifeCycleClientObject New-AzDataProtectionRetentionLifeCycleClientObject changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️ Search-AzDataProtectionBackupInstanceInAzGraph Search-AzDataProtectionBackupInstanceInAzGraph Changes the ConfirmImpact but does not set the SupportsShouldProcess property to true in the cmdlet attribute. Determine if the cmdlet should implement ShouldProcess and if so determine if it should implement Force / ShouldContinue
⚠️ Search-AzDataProtectionBackupInstanceInAzGraph Search-AzDataProtectionBackupInstanceInAzGraph changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️ Search-AzDataProtectionBackupVaultInAzGraph Search-AzDataProtectionBackupVaultInAzGraph Changes the ConfirmImpact but does not set the SupportsShouldProcess property to true in the cmdlet attribute. Determine if the cmdlet should implement ShouldProcess and if so determine if it should implement Force / ShouldContinue
⚠️ Search-AzDataProtectionBackupVaultInAzGraph Search-AzDataProtectionBackupVaultInAzGraph changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️ Search-AzDataProtectionJobInAzGraph Search-AzDataProtectionJobInAzGraph Changes the ConfirmImpact but does not set the SupportsShouldProcess property to true in the cmdlet attribute. Determine if the cmdlet should implement ShouldProcess and if so determine if it should implement Force / ShouldContinue
⚠️ Search-AzDataProtectionJobInAzGraph Search-AzDataProtectionJobInAzGraph changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️ Search-AzDataProtectionSoftDeletedVaultBackupInstanceInAzGraph Search-AzDataProtectionSoftDeletedVaultBackupInstanceInAzGraph Changes the ConfirmImpact but does not set the SupportsShouldProcess property to true in the cmdlet attribute. Determine if the cmdlet should implement ShouldProcess and if so determine if it should implement Force / ShouldContinue
⚠️ Search-AzDataProtectionSoftDeletedVaultBackupInstanceInAzGraph Search-AzDataProtectionSoftDeletedVaultBackupInstanceInAzGraph changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️Windows PowerShell - Windows
Type Cmdlet Description Remediation
⚠️ Edit-AzDataProtectionPolicyRetentionRuleClientObject Edit-AzDataProtectionPolicyRetentionRuleClientObject Changes the ConfirmImpact but does not set the SupportsShouldProcess property to true in the cmdlet attribute. Determine if the cmdlet should implement ShouldProcess and if so determine if it should implement Force / ShouldContinue
⚠️ Edit-AzDataProtectionPolicyRetentionRuleClientObject Edit-AzDataProtectionPolicyRetentionRuleClientObject changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️ Edit-AzDataProtectionPolicyTagClientObject Edit-AzDataProtectionPolicyTagClientObject Changes the ConfirmImpact but does not set the SupportsShouldProcess property to true in the cmdlet attribute. Determine if the cmdlet should implement ShouldProcess and if so determine if it should implement Force / ShouldContinue
⚠️ Edit-AzDataProtectionPolicyTagClientObject Edit-AzDataProtectionPolicyTagClientObject changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️ Edit-AzDataProtectionPolicyTriggerClientObject Edit-AzDataProtectionPolicyTriggerClientObject Changes the ConfirmImpact but does not set the SupportsShouldProcess property to true in the cmdlet attribute. Determine if the cmdlet should implement ShouldProcess and if so determine if it should implement Force / ShouldContinue
⚠️ Edit-AzDataProtectionPolicyTriggerClientObject Edit-AzDataProtectionPolicyTriggerClientObject changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️ Get-AzDataProtectionBackupInstance Get-AzDataProtectionBackupInstance Changes the ConfirmImpact but does not set the SupportsShouldProcess property to true in the cmdlet attribute. Determine if the cmdlet should implement ShouldProcess and if so determine if it should implement Force / ShouldContinue
⚠️ Get-AzDataProtectionBackupInstance Get-AzDataProtectionBackupInstance changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️ Get-AzDataProtectionBackupInstancesExtensionRouting Get-AzDataProtectionBackupInstancesExtensionRouting Changes the ConfirmImpact but does not set the SupportsShouldProcess property to true in the cmdlet attribute. Determine if the cmdlet should implement ShouldProcess and if so determine if it should implement Force / ShouldContinue
⚠️ Get-AzDataProtectionBackupInstancesExtensionRouting Get-AzDataProtectionBackupInstancesExtensionRouting changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️ Get-AzDataProtectionBackupPolicy Get-AzDataProtectionBackupPolicy Changes the ConfirmImpact but does not set the SupportsShouldProcess property to true in the cmdlet attribute. Determine if the cmdlet should implement ShouldProcess and if so determine if it should implement Force / ShouldContinue
⚠️ Get-AzDataProtectionBackupPolicy Get-AzDataProtectionBackupPolicy changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️ Get-AzDataProtectionBackupVault Get-AzDataProtectionBackupVault Changes the ConfirmImpact but does not set the SupportsShouldProcess property to true in the cmdlet attribute. Determine if the cmdlet should implement ShouldProcess and if so determine if it should implement Force / ShouldContinue
⚠️ Get-AzDataProtectionBackupVault Get-AzDataProtectionBackupVault changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️ Get-AzDataProtectionJob Get-AzDataProtectionJob Changes the ConfirmImpact but does not set the SupportsShouldProcess property to true in the cmdlet attribute. Determine if the cmdlet should implement ShouldProcess and if so determine if it should implement Force / ShouldContinue
⚠️ Get-AzDataProtectionJob Get-AzDataProtectionJob changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️ Get-AzDataProtectionOperation Get-AzDataProtectionOperation Changes the ConfirmImpact but does not set the SupportsShouldProcess property to true in the cmdlet attribute. Determine if the cmdlet should implement ShouldProcess and if so determine if it should implement Force / ShouldContinue
⚠️ Get-AzDataProtectionOperation Get-AzDataProtectionOperation changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️ Get-AzDataProtectionOperationStatus Get-AzDataProtectionOperationStatus Changes the ConfirmImpact but does not set the SupportsShouldProcess property to true in the cmdlet attribute. Determine if the cmdlet should implement ShouldProcess and if so determine if it should implement Force / ShouldContinue
⚠️ Get-AzDataProtectionOperationStatus Get-AzDataProtectionOperationStatus changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️ Get-AzDataProtectionPolicyTemplate Get-AzDataProtectionPolicyTemplate Changes the ConfirmImpact but does not set the SupportsShouldProcess property to true in the cmdlet attribute. Determine if the cmdlet should implement ShouldProcess and if so determine if it should implement Force / ShouldContinue
⚠️ Get-AzDataProtectionPolicyTemplate Get-AzDataProtectionPolicyTemplate changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️ Get-AzDataProtectionRecoveryPoint Get-AzDataProtectionRecoveryPoint Changes the ConfirmImpact but does not set the SupportsShouldProcess property to true in the cmdlet attribute. Determine if the cmdlet should implement ShouldProcess and if so determine if it should implement Force / ShouldContinue
⚠️ Get-AzDataProtectionRecoveryPoint Get-AzDataProtectionRecoveryPoint changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️ Get-AzDataProtectionResourceGuard Get-AzDataProtectionResourceGuard Changes the ConfirmImpact but does not set the SupportsShouldProcess property to true in the cmdlet attribute. Determine if the cmdlet should implement ShouldProcess and if so determine if it should implement Force / ShouldContinue
⚠️ Get-AzDataProtectionResourceGuard Get-AzDataProtectionResourceGuard changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️ Get-AzDataProtectionResourceGuardMapping Get-AzDataProtectionResourceGuardMapping Changes the ConfirmImpact but does not set the SupportsShouldProcess property to true in the cmdlet attribute. Determine if the cmdlet should implement ShouldProcess and if so determine if it should implement Force / ShouldContinue
⚠️ Get-AzDataProtectionResourceGuardMapping Get-AzDataProtectionResourceGuardMapping changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️ Get-AzDataProtectionSoftDeletedBackupInstance Get-AzDataProtectionSoftDeletedBackupInstance Changes the ConfirmImpact but does not set the SupportsShouldProcess property to true in the cmdlet attribute. Determine if the cmdlet should implement ShouldProcess and if so determine if it should implement Force / ShouldContinue
⚠️ Get-AzDataProtectionSoftDeletedBackupInstance Get-AzDataProtectionSoftDeletedBackupInstance changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️ Get-AzDataProtectionSoftDeletedBackupVault Get-AzDataProtectionSoftDeletedBackupVault Changes the ConfirmImpact but does not set the SupportsShouldProcess property to true in the cmdlet attribute. Determine if the cmdlet should implement ShouldProcess and if so determine if it should implement Force / ShouldContinue
⚠️ Get-AzDataProtectionSoftDeletedBackupVault Get-AzDataProtectionSoftDeletedBackupVault changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️ Initialize-AzDataProtectionBackupInstance Initialize-AzDataProtectionBackupInstance Changes the ConfirmImpact but does not set the SupportsShouldProcess property to true in the cmdlet attribute. Determine if the cmdlet should implement ShouldProcess and if so determine if it should implement Force / ShouldContinue
⚠️ Initialize-AzDataProtectionBackupInstance Initialize-AzDataProtectionBackupInstance changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️ Initialize-AzDataProtectionRestoreRequest Initialize-AzDataProtectionRestoreRequest Changes the ConfirmImpact but does not set the SupportsShouldProcess property to true in the cmdlet attribute. Determine if the cmdlet should implement ShouldProcess and if so determine if it should implement Force / ShouldContinue
⚠️ Initialize-AzDataProtectionRestoreRequest Initialize-AzDataProtectionRestoreRequest changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️ New-AzDataProtectionBackupConfigurationClientObject New-AzDataProtectionBackupConfigurationClientObject changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️ New-AzDataProtectionBackupVaultStorageSettingObject New-AzDataProtectionBackupVaultStorageSettingObject changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️ New-AzDataProtectionPolicyTagCriteriaClientObject New-AzDataProtectionPolicyTagCriteriaClientObject changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️ New-AzDataProtectionPolicyTriggerScheduleClientObject New-AzDataProtectionPolicyTriggerScheduleClientObject changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️ New-AzDataProtectionRestoreConfigurationClientObject New-AzDataProtectionRestoreConfigurationClientObject changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️ New-AzDataProtectionRetentionLifeCycleClientObject New-AzDataProtectionRetentionLifeCycleClientObject changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️ Search-AzDataProtectionBackupInstanceInAzGraph Search-AzDataProtectionBackupInstanceInAzGraph Changes the ConfirmImpact but does not set the SupportsShouldProcess property to true in the cmdlet attribute. Determine if the cmdlet should implement ShouldProcess and if so determine if it should implement Force / ShouldContinue
⚠️ Search-AzDataProtectionBackupInstanceInAzGraph Search-AzDataProtectionBackupInstanceInAzGraph changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️ Search-AzDataProtectionBackupVaultInAzGraph Search-AzDataProtectionBackupVaultInAzGraph Changes the ConfirmImpact but does not set the SupportsShouldProcess property to true in the cmdlet attribute. Determine if the cmdlet should implement ShouldProcess and if so determine if it should implement Force / ShouldContinue
⚠️ Search-AzDataProtectionBackupVaultInAzGraph Search-AzDataProtectionBackupVaultInAzGraph changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️ Search-AzDataProtectionJobInAzGraph Search-AzDataProtectionJobInAzGraph Changes the ConfirmImpact but does not set the SupportsShouldProcess property to true in the cmdlet attribute. Determine if the cmdlet should implement ShouldProcess and if so determine if it should implement Force / ShouldContinue
⚠️ Search-AzDataProtectionJobInAzGraph Search-AzDataProtectionJobInAzGraph changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️ Search-AzDataProtectionSoftDeletedVaultBackupInstanceInAzGraph Search-AzDataProtectionSoftDeletedVaultBackupInstanceInAzGraph Changes the ConfirmImpact but does not set the SupportsShouldProcess property to true in the cmdlet attribute. Determine if the cmdlet should implement ShouldProcess and if so determine if it should implement Force / ShouldContinue
⚠️ Search-AzDataProtectionSoftDeletedVaultBackupInstanceInAzGraph Search-AzDataProtectionSoftDeletedVaultBackupInstanceInAzGraph changes the confirm impact. Please ensure that the change in ConfirmImpact is justified Verify that ConfirmImpact is changed appropriately by the cmdlet. It is very rare for a cmdlet to change the ConfirmImpact.
⚠️Help Example Check
⚠️PowerShell Core - Windows
Type Cmdlet Example Line RuleName Description Extent Remediation
⚠️ Initialize-AzDataProtectionRestoreRequest 2 4 Mismatched_Parameter_Value_Type Find-AzDataProtectionRestorableTimeRange -BackupInstanceName $instance[0].BackupInstanceName is not an expected parameter value type. -BackupInstanceName Use correct parameter value type. Expected Type is string. Now the type is .(Command).
⚠️ Initialize-AzDataProtectionRestoreRequest 2 5 Unassigned_Variable Initialize-AzDataProtectionRestoreRequest -RestoreLocation $vault.Location is a null-valued parameter value. -RestoreLocation Assign value for $vault.Location.
⚠️ Initialize-AzDataProtectionRestoreRequest 2 5 Mismatched_Parameter_Value_Type Get-Date -Date $pointInTimeRange.RestorableTimeRange.EndTime is not an expected parameter value type. -Date Use correct parameter value type. Expected Type is datetime. Now the type is .(Command).
⚠️ Initialize-AzDataProtectionRestoreRequest 3 4 Mismatched_Parameter_Value_Type Find-AzDataProtectionRestorableTimeRange -BackupInstanceName $instance[0].BackupInstanceName is not an expected parameter value type. -BackupInstanceName Use correct parameter value type. Expected Type is string. Now the type is .(Command).
⚠️ Initialize-AzDataProtectionRestoreRequest 3 5 Unassigned_Variable Initialize-AzDataProtectionRestoreRequest -RestoreLocation $vault.Location is a null-valued parameter value. -RestoreLocation Assign value for $vault.Location.
⚠️ Initialize-AzDataProtectionRestoreRequest 3 5 Unassigned_Variable Initialize-AzDataProtectionRestoreRequest -BackupInstance $instances[0] is a null-valued parameter value. -BackupInstance Assign value for $instances[0].
⚠️ Initialize-AzDataProtectionRestoreRequest 4 4 Mismatched_Parameter_Value_Type Find-AzDataProtectionRestorableTimeRange -BackupInstanceName $instance[0].BackupInstanceName is not an expected parameter value type. -BackupInstanceName Use correct parameter value type. Expected Type is string. Now the type is .(Command).
⚠️ Initialize-AzDataProtectionRestoreRequest 4 5 Unassigned_Variable Initialize-AzDataProtectionRestoreRequest -RestoreLocation $vault.Location is a null-valued parameter value. -RestoreLocation Assign value for $vault.Location.
⚠️ Initialize-AzDataProtectionRestoreRequest 4 5 Unassigned_Variable Initialize-AzDataProtectionRestoreRequest -BackupInstance $instances[0] is a null-valued parameter value. -BackupInstance Assign value for $instances[0].
⚠️ Initialize-AzDataProtectionRestoreRequest 5 1 Unassigned_Variable Search-AzDataProtectionBackupVaultInAzGraph -ResourceGroup $ResourceGroupName is a null-valued parameter value. -ResourceGroup Assign value for $ResourceGroupName.
⚠️ Initialize-AzDataProtectionRestoreRequest 5 1 Unassigned_Variable Search-AzDataProtectionBackupVaultInAzGraph -Subscription $SubscriptionId is a null-valued parameter value. -Subscription Assign value for $SubscriptionId.
⚠️ Initialize-AzDataProtectionRestoreRequest 5 1 Unassigned_Variable Search-AzDataProtectionBackupVaultInAzGraph -Vault $VaultName is a null-valued parameter value. -Vault Assign value for $VaultName.
⚠️ Initialize-AzDataProtectionRestoreRequest 5 2 Unassigned_Variable Search-AzDataProtectionBackupInstanceInAzGraph -Subscription $subscriptionId is a null-valued parameter value. -Subscription Assign value for $subscriptionId.
⚠️ Initialize-AzDataProtectionRestoreRequest 5 2 Unassigned_Variable Search-AzDataProtectionBackupInstanceInAzGraph -ResourceGroup $resourceGroupName is a null-valued parameter value. -ResourceGroup Assign value for $resourceGroupName.
⚠️ Initialize-AzDataProtectionRestoreRequest 5 2 Unassigned_Variable Search-AzDataProtectionBackupInstanceInAzGraph -Vault $vaultName is a null-valued parameter value. -Vault Assign value for $vaultName.
⚠️ Initialize-AzDataProtectionRestoreRequest 5 3 Mismatched_Parameter_Value_Type Get-AzDataProtectionRecoveryPoint -BackupInstanceName $instance.Name is not an expected parameter value type. -BackupInstanceName Use correct parameter value type. Expected Type is string. Now the type is .(Command).
⚠️ Initialize-AzDataProtectionRestoreRequest 5 3 Unassigned_Variable Get-AzDataProtectionRecoveryPoint -ResourceGroupName $resourceGroupName is a null-valued parameter value. -ResourceGroupName Assign value for $resourceGroupName.
⚠️ Initialize-AzDataProtectionRestoreRequest 5 3 Unassigned_Variable Get-AzDataProtectionRecoveryPoint -VaultName $vaultName is a null-valued parameter value. -VaultName Assign value for $vaultName.
⚠️ Initialize-AzDataProtectionRestoreRequest 5 3 Unassigned_Variable Get-AzDataProtectionRecoveryPoint -SubscriptionId $subscriptionId is a null-valued parameter value. -SubscriptionId Assign value for $subscriptionId.
⚠️ Initialize-AzDataProtectionRestoreRequest 5 6 Mismatched_Parameter_Value_Type Initialize-AzDataProtectionRestoreRequest -RestoreLocation $vault.ReplicatedRegion[0] is not an expected parameter value type. -RestoreLocation Use correct parameter value type. Expected Type is string. Now the type is .(Command).
⚠️ Initialize-AzDataProtectionRestoreRequest 5 6 Mismatched_Parameter_Value_Type Initialize-AzDataProtectionRestoreRequest -RecoveryPoint $recoveryPointsCrr[0].Property.RecoveryPointId is not an expected parameter value type. -RecoveryPoint Use correct parameter value type. Expected Type is string. Now the type is .(Command).
⚠️ Initialize-AzDataProtectionRestoreRequest 6 1 Unassigned_Variable Search-AzDataProtectionBackupVaultInAzGraph -ResourceGroup $ResourceGroupName is a null-valued parameter value. -ResourceGroup Assign value for $ResourceGroupName.
⚠️ Initialize-AzDataProtectionRestoreRequest 6 1 Unassigned_Variable Search-AzDataProtectionBackupVaultInAzGraph -Subscription $SubscriptionId is a null-valued parameter value. -Subscription Assign value for $SubscriptionId.
⚠️ Initialize-AzDataProtectionRestoreRequest 6 1 Unassigned_Variable Search-AzDataProtectionBackupVaultInAzGraph -Vault $VaultName is a null-valued parameter value. -Vault Assign value for $VaultName.
⚠️ Initialize-AzDataProtectionRestoreRequest 6 2 Unassigned_Variable Search-AzDataProtectionBackupInstanceInAzGraph -Subscription $subscriptionId is a null-valued parameter value. -Subscription Assign value for $subscriptionId.
⚠️ Initialize-AzDataProtectionRestoreRequest 6 2 Unassigned_Variable Search-AzDataProtectionBackupInstanceInAzGraph -ResourceGroup $resourceGroupName is a null-valued parameter value. -ResourceGroup Assign value for $resourceGroupName.
⚠️ Initialize-AzDataProtectionRestoreRequest 6 2 Unassigned_Variable Search-AzDataProtectionBackupInstanceInAzGraph -Vault $vaultName is a null-valued parameter value. -Vault Assign value for $vaultName.
⚠️ Initialize-AzDataProtectionRestoreRequest 6 3 Mismatched_Parameter_Value_Type Get-AzDataProtectionRecoveryPoint -BackupInstanceName $instance.Name is not an expected parameter value type. -BackupInstanceName Use correct parameter value type. Expected Type is string. Now the type is .(Command).
⚠️ Initialize-AzDataProtectionRestoreRequest 6 3 Unassigned_Variable Get-AzDataProtectionRecoveryPoint -ResourceGroupName $resourceGroupName is a null-valued parameter value. -ResourceGroupName Assign value for $resourceGroupName.
⚠️ Initialize-AzDataProtectionRestoreRequest 6 3 Unassigned_Variable Get-AzDataProtectionRecoveryPoint -VaultName $vaultName is a null-valued parameter value. -VaultName Assign value for $vaultName.
⚠️ Initialize-AzDataProtectionRestoreRequest 6 3 Unassigned_Variable Get-AzDataProtectionRecoveryPoint -SubscriptionId $subscriptionId is a null-valued parameter value. -SubscriptionId Assign value for $subscriptionId.
⚠️ Initialize-AzDataProtectionRestoreRequest 6 6 Mismatched_Parameter_Value_Type Initialize-AzDataProtectionRestoreRequest -RestoreLocation $vault.ReplicatedRegion[0] is not an expected parameter value type. -RestoreLocation Use correct parameter value type. Expected Type is string. Now the type is .(Command).
⚠️ Initialize-AzDataProtectionRestoreRequest 6 6 Mismatched_Parameter_Value_Type Initialize-AzDataProtectionRestoreRequest -RecoveryPoint $recoveryPointsCrr[0].Property.RecoveryPointId is not an expected parameter value type. -RecoveryPoint Use correct parameter value type. Expected Type is string. Now the type is .(Command).
⚠️ Initialize-AzDataProtectionRestoreRequest 7 15 Mismatched_Parameter_Value_Type Initialize-AzDataProtectionRestoreRequest -RecoveryPoint $rp[0].Property.RecoveryPointId is not an expected parameter value type. -RecoveryPoint Use correct parameter value type. Expected Type is string. Now the type is .(Command).
⚠️ Initialize-AzDataProtectionRestoreRequest 8 8 Mismatched_Parameter_Value_Type Initialize-AzDataProtectionRestoreRequest -ContainersList $backedUpContainers[0,1] is not an expected parameter value type. -ContainersList Use correct parameter value type. Expected Type is string. Now the type is .(Command).
⚠️ Initialize-AzDataProtectionRestoreRequest 10 5 Mismatched_Parameter_Value_Type Initialize-AzDataProtectionRestoreRequest -RecoveryPoint $rp[0].Property.RecoveryPointId is not an expected parameter value type. -RecoveryPoint Use correct parameter value type. Expected Type is string. Now the type is .(Command).
⚠️ Initialize-AzDataProtectionRestoreRequest 2 4 Mismatched_Parameter_Value_Type Find-AzDataProtectionRestorableTimeRange -BackupInstanceName $instance[0].BackupInstanceName is not an expected parameter value type. -BackupInstanceName Use correct parameter value type. Expected Type is string. Now the type is .(Command).
⚠️ Initialize-AzDataProtectionRestoreRequest 2 5 Unassigned_Variable Initialize-AzDataProtectionRestoreRequest -RestoreLocation $vault.Location is a null-valued parameter value. -RestoreLocation Assign value for $vault.Location.
⚠️ Initialize-AzDataProtectionRestoreRequest 2 5 Mismatched_Parameter_Value_Type Get-Date -Date $pointInTimeRange.RestorableTimeRange.EndTime is not an expected parameter value type. -Date Use correct parameter value type. Expected Type is datetime. Now the type is .(Command).
⚠️ Initialize-AzDataProtectionRestoreRequest 3 4 Mismatched_Parameter_Value_Type Find-AzDataProtectionRestorableTimeRange -BackupInstanceName $instance[0].BackupInstanceName is not an expected parameter value type. -BackupInstanceName Use correct parameter value type. Expected Type is string. Now the type is .(Command).
⚠️ Initialize-AzDataProtectionRestoreRequest 3 5 Unassigned_Variable Initialize-AzDataProtectionRestoreRequest -RestoreLocation $vault.Location is a null-valued parameter value. -RestoreLocation Assign value for $vault.Location.
⚠️ Initialize-AzDataProtectionRestoreRequest 3 5 Unassigned_Variable Initialize-AzDataProtectionRestoreRequest -BackupInstance $instances[0] is a null-valued parameter value. -BackupInstance Assign value for $instances[0].
⚠️ Initialize-AzDataProtectionRestoreRequest 4 4 Mismatched_Parameter_Value_Type Find-AzDataProtectionRestorableTimeRange -BackupInstanceName $instance[0].BackupInstanceName is not an expected parameter value type. -BackupInstanceName Use correct parameter value type. Expected Type is string. Now the type is .(Command).
⚠️ Initialize-AzDataProtectionRestoreRequest 4 5 Unassigned_Variable Initialize-AzDataProtectionRestoreRequest -RestoreLocation $vault.Location is a null-valued parameter value. -RestoreLocation Assign value for $vault.Location.
⚠️ Initialize-AzDataProtectionRestoreRequest 4 5 Unassigned_Variable Initialize-AzDataProtectionRestoreRequest -BackupInstance $instances[0] is a null-valued parameter value. -BackupInstance Assign value for $instances[0].
⚠️ Initialize-AzDataProtectionRestoreRequest 5 1 Unassigned_Variable Search-AzDataProtectionBackupVaultInAzGraph -ResourceGroup $ResourceGroupName is a null-valued parameter value. -ResourceGroup Assign value for $ResourceGroupName.
⚠️ Initialize-AzDataProtectionRestoreRequest 5 1 Unassigned_Variable Search-AzDataProtectionBackupVaultInAzGraph -Subscription $SubscriptionId is a null-valued parameter value. -Subscription Assign value for $SubscriptionId.
⚠️ Initialize-AzDataProtectionRestoreRequest 5 1 Unassigned_Variable Search-AzDataProtectionBackupVaultInAzGraph -Vault $VaultName is a null-valued parameter value. -Vault Assign value for $VaultName.
⚠️ Initialize-AzDataProtectionRestoreRequest 5 2 Unassigned_Variable Search-AzDataProtectionBackupInstanceInAzGraph -Subscription $subscriptionId is a null-valued parameter value. -Subscription Assign value for $subscriptionId.
⚠️ Initialize-AzDataProtectionRestoreRequest 5 2 Unassigned_Variable Search-AzDataProtectionBackupInstanceInAzGraph -ResourceGroup $resourceGroupName is a null-valued parameter value. -ResourceGroup Assign value for $resourceGroupName.
⚠️ Initialize-AzDataProtectionRestoreRequest 5 2 Unassigned_Variable Search-AzDataProtectionBackupInstanceInAzGraph -Vault $vaultName is a null-valued parameter value. -Vault Assign value for $vaultName.
⚠️ Initialize-AzDataProtectionRestoreRequest 5 3 Mismatched_Parameter_Value_Type Get-AzDataProtectionRecoveryPoint -BackupInstanceName $instance.Name is not an expected parameter value type. -BackupInstanceName Use correct parameter value type. Expected Type is string. Now the type is .(Command).
⚠️ Initialize-AzDataProtectionRestoreRequest 5 3 Unassigned_Variable Get-AzDataProtectionRecoveryPoint -ResourceGroupName $resourceGroupName is a null-valued parameter value. -ResourceGroupName Assign value for $resourceGroupName.
⚠️ Initialize-AzDataProtectionRestoreRequest 5 3 Unassigned_Variable Get-AzDataProtectionRecoveryPoint -VaultName $vaultName is a null-valued parameter value. -VaultName Assign value for $vaultName.
⚠️ Initialize-AzDataProtectionRestoreRequest 5 3 Unassigned_Variable Get-AzDataProtectionRecoveryPoint -SubscriptionId $subscriptionId is a null-valued parameter value. -SubscriptionId Assign value for $subscriptionId.
⚠️ Initialize-AzDataProtectionRestoreRequest 5 6 Mismatched_Parameter_Value_Type Initialize-AzDataProtectionRestoreRequest -RestoreLocation $vault.ReplicatedRegion[0] is not an expected parameter value type. -RestoreLocation Use correct parameter value type. Expected Type is string. Now the type is .(Command).
⚠️ Initialize-AzDataProtectionRestoreRequest 5 6 Mismatched_Parameter_Value_Type Initialize-AzDataProtectionRestoreRequest -RecoveryPoint $recoveryPointsCrr[0].Property.RecoveryPointId is not an expected parameter value type. -RecoveryPoint Use correct parameter value type. Expected Type is string. Now the type is .(Command).
⚠️ Initialize-AzDataProtectionRestoreRequest 6 1 Unassigned_Variable Search-AzDataProtectionBackupVaultInAzGraph -ResourceGroup $ResourceGroupName is a null-valued parameter value. -ResourceGroup Assign value for $ResourceGroupName.
⚠️ Initialize-AzDataProtectionRestoreRequest 6 1 Unassigned_Variable Search-AzDataProtectionBackupVaultInAzGraph -Subscription $SubscriptionId is a null-valued parameter value. -Subscription Assign value for $SubscriptionId.
⚠️ Initialize-AzDataProtectionRestoreRequest 6 1 Unassigned_Variable Search-AzDataProtectionBackupVaultInAzGraph -Vault $VaultName is a null-valued parameter value. -Vault Assign value for $VaultName.
⚠️ Initialize-AzDataProtectionRestoreRequest 6 2 Unassigned_Variable Search-AzDataProtectionBackupInstanceInAzGraph -Subscription $subscriptionId is a null-valued parameter value. -Subscription Assign value for $subscriptionId.
⚠️ Initialize-AzDataProtectionRestoreRequest 6 2 Unassigned_Variable Search-AzDataProtectionBackupInstanceInAzGraph -ResourceGroup $resourceGroupName is a null-valued parameter value. -ResourceGroup Assign value for $resourceGroupName.
⚠️ Initialize-AzDataProtectionRestoreRequest 6 2 Unassigned_Variable Search-AzDataProtectionBackupInstanceInAzGraph -Vault $vaultName is a null-valued parameter value. -Vault Assign value for $vaultName.
⚠️ Initialize-AzDataProtectionRestoreRequest 6 3 Mismatched_Parameter_Value_Type Get-AzDataProtectionRecoveryPoint -BackupInstanceName $instance.Name is not an expected parameter value type. -BackupInstanceName Use correct parameter value type. Expected Type is string. Now the type is .(Command).
⚠️ Initialize-AzDataProtectionRestoreRequest 6 3 Unassigned_Variable Get-AzDataProtectionRecoveryPoint -ResourceGroupName $resourceGroupName is a null-valued parameter value. -ResourceGroupName Assign value for $resourceGroupName.
⚠️ Initialize-AzDataProtectionRestoreRequest 6 3 Unassigned_Variable Get-AzDataProtectionRecoveryPoint -VaultName $vaultName is a null-valued parameter value. -VaultName Assign value for $vaultName.
⚠️ Initialize-AzDataProtectionRestoreRequest 6 3 Unassigned_Variable Get-AzDataProtectionRecoveryPoint -SubscriptionId $subscriptionId is a null-valued parameter value. -SubscriptionId Assign value for $subscriptionId.
⚠️ Initialize-AzDataProtectionRestoreRequest 6 6 Mismatched_Parameter_Value_Type Initialize-AzDataProtectionRestoreRequest -RestoreLocation $vault.ReplicatedRegion[0] is not an expected parameter value type. -RestoreLocation Use correct parameter value type. Expected Type is string. Now the type is .(Command).
⚠️ Initialize-AzDataProtectionRestoreRequest 6 6 Mismatched_Parameter_Value_Type Initialize-AzDataProtectionRestoreRequest -RecoveryPoint $recoveryPointsCrr[0].Property.RecoveryPointId is not an expected parameter value type. -RecoveryPoint Use correct parameter value type. Expected Type is string. Now the type is .(Command).
⚠️ Initialize-AzDataProtectionRestoreRequest 7 14 Mismatched_Parameter_Value_Type Initialize-AzDataProtectionRestoreRequest -RecoveryPoint $rp[0].Property.RecoveryPointId is not an expected parameter value type. -RecoveryPoint Use correct parameter value type. Expected Type is string. Now the type is .(Command).
⚠️ Initialize-AzDataProtectionRestoreRequest 8 8 Mismatched_Parameter_Value_Type Initialize-AzDataProtectionRestoreRequest -ContainersList $backedUpContainers[0,1] is not an expected parameter value type. -ContainersList Use correct parameter value type. Expected Type is string. Now the type is .(Command).
⚠️ Initialize-AzDataProtectionRestoreRequest 9 5 Mismatched_Parameter_Value_Type Initialize-AzDataProtectionRestoreRequest -RecoveryPoint $rp[0].Property.RecoveryPointId is not an expected parameter value type. -RecoveryPoint Use correct parameter value type. Expected Type is string. Now the type is .(Command).
⚠️Windows PowerShell - Windows
Type Cmdlet Example Line RuleName Description Extent Remediation
⚠️ Initialize-AzDataProtectionRestoreRequest 2 4 Mismatched_Parameter_Value_Type Find-AzDataProtectionRestorableTimeRange -BackupInstanceName $instance[0].BackupInstanceName is not an expected parameter value type. -BackupInstanceName Use correct parameter value type. Expected Type is string. Now the type is .(Command).
⚠️ Initialize-AzDataProtectionRestoreRequest 2 5 Unassigned_Variable Initialize-AzDataProtectionRestoreRequest -RestoreLocation $vault.Location is a null-valued parameter value. -RestoreLocation Assign value for $vault.Location.
⚠️ Initialize-AzDataProtectionRestoreRequest 2 5 Mismatched_Parameter_Value_Type Get-Date -Date $pointInTimeRange.RestorableTimeRange.EndTime is not an expected parameter value type. -Date Use correct parameter value type. Expected Type is datetime. Now the type is .(Command).
⚠️ Initialize-AzDataProtectionRestoreRequest 3 4 Mismatched_Parameter_Value_Type Find-AzDataProtectionRestorableTimeRange -BackupInstanceName $instance[0].BackupInstanceName is not an expected parameter value type. -BackupInstanceName Use correct parameter value type. Expected Type is string. Now the type is .(Command).
⚠️ Initialize-AzDataProtectionRestoreRequest 3 5 Unassigned_Variable Initialize-AzDataProtectionRestoreRequest -RestoreLocation $vault.Location is a null-valued parameter value. -RestoreLocation Assign value for $vault.Location.
⚠️ Initialize-AzDataProtectionRestoreRequest 3 5 Unassigned_Variable Initialize-AzDataProtectionRestoreRequest -BackupInstance $instances[0] is a null-valued parameter value. -BackupInstance Assign value for $instances[0].
⚠️ Initialize-AzDataProtectionRestoreRequest 4 4 Mismatched_Parameter_Value_Type Find-AzDataProtectionRestorableTimeRange -BackupInstanceName $instance[0].BackupInstanceName is not an expected parameter value type. -BackupInstanceName Use correct parameter value type. Expected Type is string. Now the type is .(Command).
⚠️ Initialize-AzDataProtectionRestoreRequest 4 5 Unassigned_Variable Initialize-AzDataProtectionRestoreRequest -RestoreLocation $vault.Location is a null-valued parameter value. -RestoreLocation Assign value for $vault.Location.
⚠️ Initialize-AzDataProtectionRestoreRequest 4 5 Unassigned_Variable Initialize-AzDataProtectionRestoreRequest -BackupInstance $instances[0] is a null-valued parameter value. -BackupInstance Assign value for $instances[0].
⚠️ Initialize-AzDataProtectionRestoreRequest 5 1 Unassigned_Variable Search-AzDataProtectionBackupVaultInAzGraph -ResourceGroup $ResourceGroupName is a null-valued parameter value. -ResourceGroup Assign value for $ResourceGroupName.
⚠️ Initialize-AzDataProtectionRestoreRequest 5 1 Unassigned_Variable Search-AzDataProtectionBackupVaultInAzGraph -Subscription $SubscriptionId is a null-valued parameter value. -Subscription Assign value for $SubscriptionId.
⚠️ Initialize-AzDataProtectionRestoreRequest 5 1 Unassigned_Variable Search-AzDataProtectionBackupVaultInAzGraph -Vault $VaultName is a null-valued parameter value. -Vault Assign value for $VaultName.
⚠️ Initialize-AzDataProtectionRestoreRequest 5 2 Unassigned_Variable Search-AzDataProtectionBackupInstanceInAzGraph -Subscription $subscriptionId is a null-valued parameter value. -Subscription Assign value for $subscriptionId.
⚠️ Initialize-AzDataProtectionRestoreRequest 5 2 Unassigned_Variable Search-AzDataProtectionBackupInstanceInAzGraph -ResourceGroup $resourceGroupName is a null-valued parameter value. -ResourceGroup Assign value for $resourceGroupName.
⚠️ Initialize-AzDataProtectionRestoreRequest 5 2 Unassigned_Variable Search-AzDataProtectionBackupInstanceInAzGraph -Vault $vaultName is a null-valued parameter value. -Vault Assign value for $vaultName.
⚠️ Initialize-AzDataProtectionRestoreRequest 5 3 Mismatched_Parameter_Value_Type Get-AzDataProtectionRecoveryPoint -BackupInstanceName $instance.Name is not an expected parameter value type. -BackupInstanceName Use correct parameter value type. Expected Type is string. Now the type is .(Command).
⚠️ Initialize-AzDataProtectionRestoreRequest 5 3 Unassigned_Variable Get-AzDataProtectionRecoveryPoint -ResourceGroupName $resourceGroupName is a null-valued parameter value. -ResourceGroupName Assign value for $resourceGroupName.
⚠️ Initialize-AzDataProtectionRestoreRequest 5 3 Unassigned_Variable Get-AzDataProtectionRecoveryPoint -VaultName $vaultName is a null-valued parameter value. -VaultName Assign value for $vaultName.
⚠️ Initialize-AzDataProtectionRestoreRequest 5 3 Unassigned_Variable Get-AzDataProtectionRecoveryPoint -SubscriptionId $subscriptionId is a null-valued parameter value. -SubscriptionId Assign value for $subscriptionId.
⚠️ Initialize-AzDataProtectionRestoreRequest 5 6 Mismatched_Parameter_Value_Type Initialize-AzDataProtectionRestoreRequest -RestoreLocation $vault.ReplicatedRegion[0] is not an expected parameter value type. -RestoreLocation Use correct parameter value type. Expected Type is string. Now the type is .(Command).
⚠️ Initialize-AzDataProtectionRestoreRequest 5 6 Mismatched_Parameter_Value_Type Initialize-AzDataProtectionRestoreRequest -RecoveryPoint $recoveryPointsCrr[0].Property.RecoveryPointId is not an expected parameter value type. -RecoveryPoint Use correct parameter value type. Expected Type is string. Now the type is .(Command).
⚠️ Initialize-AzDataProtectionRestoreRequest 6 1 Unassigned_Variable Search-AzDataProtectionBackupVaultInAzGraph -ResourceGroup $ResourceGroupName is a null-valued parameter value. -ResourceGroup Assign value for $ResourceGroupName.
⚠️ Initialize-AzDataProtectionRestoreRequest 6 1 Unassigned_Variable Search-AzDataProtectionBackupVaultInAzGraph -Subscription $SubscriptionId is a null-valued parameter value. -Subscription Assign value for $SubscriptionId.
⚠️ Initialize-AzDataProtectionRestoreRequest 6 1 Unassigned_Variable Search-AzDataProtectionBackupVaultInAzGraph -Vault $VaultName is a null-valued parameter value. -Vault Assign value for $VaultName.
⚠️ Initialize-AzDataProtectionRestoreRequest 6 2 Unassigned_Variable Search-AzDataProtectionBackupInstanceInAzGraph -Subscription $subscriptionId is a null-valued parameter value. -Subscription Assign value for $subscriptionId.
⚠️ Initialize-AzDataProtectionRestoreRequest 6 2 Unassigned_Variable Search-AzDataProtectionBackupInstanceInAzGraph -ResourceGroup $resourceGroupName is a null-valued parameter value. -ResourceGroup Assign value for $resourceGroupName.
⚠️ Initialize-AzDataProtectionRestoreRequest 6 2 Unassigned_Variable Search-AzDataProtectionBackupInstanceInAzGraph -Vault $vaultName is a null-valued parameter value. -Vault Assign value for $vaultName.
⚠️ Initialize-AzDataProtectionRestoreRequest 6 3 Mismatched_Parameter_Value_Type Get-AzDataProtectionRecoveryPoint -BackupInstanceName $instance.Name is not an expected parameter value type. -BackupInstanceName Use correct parameter value type. Expected Type is string. Now the type is .(Command).
⚠️ Initialize-AzDataProtectionRestoreRequest 6 3 Unassigned_Variable Get-AzDataProtectionRecoveryPoint -ResourceGroupName $resourceGroupName is a null-valued parameter value. -ResourceGroupName Assign value for $resourceGroupName.
⚠️ Initialize-AzDataProtectionRestoreRequest 6 3 Unassigned_Variable Get-AzDataProtectionRecoveryPoint -VaultName $vaultName is a null-valued parameter value. -VaultName Assign value for $vaultName.
⚠️ Initialize-AzDataProtectionRestoreRequest 6 3 Unassigned_Variable Get-AzDataProtectionRecoveryPoint -SubscriptionId $subscriptionId is a null-valued parameter value. -SubscriptionId Assign value for $subscriptionId.
⚠️ Initialize-AzDataProtectionRestoreRequest 6 6 Mismatched_Parameter_Value_Type Initialize-AzDataProtectionRestoreRequest -RestoreLocation $vault.ReplicatedRegion[0] is not an expected parameter value type. -RestoreLocation Use correct parameter value type. Expected Type is string. Now the type is .(Command).
⚠️ Initialize-AzDataProtectionRestoreRequest 6 6 Mismatched_Parameter_Value_Type Initialize-AzDataProtectionRestoreRequest -RecoveryPoint $recoveryPointsCrr[0].Property.RecoveryPointId is not an expected parameter value type. -RecoveryPoint Use correct parameter value type. Expected Type is string. Now the type is .(Command).
⚠️ Initialize-AzDataProtectionRestoreRequest 7 15 Mismatched_Parameter_Value_Type Initialize-AzDataProtectionRestoreRequest -RecoveryPoint $rp[0].Property.RecoveryPointId is not an expected parameter value type. -RecoveryPoint Use correct parameter value type. Expected Type is string. Now the type is .(Command).
⚠️ Initialize-AzDataProtectionRestoreRequest 8 8 Mismatched_Parameter_Value_Type Initialize-AzDataProtectionRestoreRequest -ContainersList $backedUpContainers[0,1] is not an expected parameter value type. -ContainersList Use correct parameter value type. Expected Type is string. Now the type is .(Command).
⚠️ Initialize-AzDataProtectionRestoreRequest 10 5 Mismatched_Parameter_Value_Type Initialize-AzDataProtectionRestoreRequest -RecoveryPoint $rp[0].Property.RecoveryPointId is not an expected parameter value type. -RecoveryPoint Use correct parameter value type. Expected Type is string. Now the type is .(Command).
⚠️ Initialize-AzDataProtectionRestoreRequest 2 4 Mismatched_Parameter_Value_Type Find-AzDataProtectionRestorableTimeRange -BackupInstanceName $instance[0].BackupInstanceName is not an expected parameter value type. -BackupInstanceName Use correct parameter value type. Expected Type is string. Now the type is .(Command).
⚠️ Initialize-AzDataProtectionRestoreRequest 2 5 Unassigned_Variable Initialize-AzDataProtectionRestoreRequest -RestoreLocation $vault.Location is a null-valued parameter value. -RestoreLocation Assign value for $vault.Location.
⚠️ Initialize-AzDataProtectionRestoreRequest 2 5 Mismatched_Parameter_Value_Type Get-Date -Date $pointInTimeRange.RestorableTimeRange.EndTime is not an expected parameter value type. -Date Use correct parameter value type. Expected Type is datetime. Now the type is .(Command).
⚠️ Initialize-AzDataProtectionRestoreRequest 3 4 Mismatched_Parameter_Value_Type Find-AzDataProtectionRestorableTimeRange -BackupInstanceName $instance[0].BackupInstanceName is not an expected parameter value type. -BackupInstanceName Use correct parameter value type. Expected Type is string. Now the type is .(Command).
⚠️ Initialize-AzDataProtectionRestoreRequest 3 5 Unassigned_Variable Initialize-AzDataProtectionRestoreRequest -RestoreLocation $vault.Location is a null-valued parameter value. -RestoreLocation Assign value for $vault.Location.
⚠️ Initialize-AzDataProtectionRestoreRequest 3 5 Unassigned_Variable Initialize-AzDataProtectionRestoreRequest -BackupInstance $instances[0] is a null-valued parameter value. -BackupInstance Assign value for $instances[0].
⚠️ Initialize-AzDataProtectionRestoreRequest 4 4 Mismatched_Parameter_Value_Type Find-AzDataProtectionRestorableTimeRange -BackupInstanceName $instance[0].BackupInstanceName is not an expected parameter value type. -BackupInstanceName Use correct parameter value type. Expected Type is string. Now the type is .(Command).
⚠️ Initialize-AzDataProtectionRestoreRequest 4 5 Unassigned_Variable Initialize-AzDataProtectionRestoreRequest -RestoreLocation $vault.Location is a null-valued parameter value. -RestoreLocation Assign value for $vault.Location.
⚠️ Initialize-AzDataProtectionRestoreRequest 4 5 Unassigned_Variable Initialize-AzDataProtectionRestoreRequest -BackupInstance $instances[0] is a null-valued parameter value. -BackupInstance Assign value for $instances[0].
⚠️ Initialize-AzDataProtectionRestoreRequest 5 1 Unassigned_Variable Search-AzDataProtectionBackupVaultInAzGraph -ResourceGroup $ResourceGroupName is a null-valued parameter value. -ResourceGroup Assign value for $ResourceGroupName.
⚠️ Initialize-AzDataProtectionRestoreRequest 5 1 Unassigned_Variable Search-AzDataProtectionBackupVaultInAzGraph -Subscription $SubscriptionId is a null-valued parameter value. -Subscription Assign value for $SubscriptionId.
⚠️ Initialize-AzDataProtectionRestoreRequest 5 1 Unassigned_Variable Search-AzDataProtectionBackupVaultInAzGraph -Vault $VaultName is a null-valued parameter value. -Vault Assign value for $VaultName.
⚠️ Initialize-AzDataProtectionRestoreRequest 5 2 Unassigned_Variable Search-AzDataProtectionBackupInstanceInAzGraph -Subscription $subscriptionId is a null-valued parameter value. -Subscription Assign value for $subscriptionId.
⚠️ Initialize-AzDataProtectionRestoreRequest 5 2 Unassigned_Variable Search-AzDataProtectionBackupInstanceInAzGraph -ResourceGroup $resourceGroupName is a null-valued parameter value. -ResourceGroup Assign value for $resourceGroupName.
⚠️ Initialize-AzDataProtectionRestoreRequest 5 2 Unassigned_Variable Search-AzDataProtectionBackupInstanceInAzGraph -Vault $vaultName is a null-valued parameter value. -Vault Assign value for $vaultName.
⚠️ Initialize-AzDataProtectionRestoreRequest 5 3 Mismatched_Parameter_Value_Type Get-AzDataProtectionRecoveryPoint -BackupInstanceName $instance.Name is not an expected parameter value type. -BackupInstanceName Use correct parameter value type. Expected Type is string. Now the type is .(Command).
⚠️ Initialize-AzDataProtectionRestoreRequest 5 3 Unassigned_Variable Get-AzDataProtectionRecoveryPoint -ResourceGroupName $resourceGroupName is a null-valued parameter value. -ResourceGroupName Assign value for $resourceGroupName.
⚠️ Initialize-AzDataProtectionRestoreRequest 5 3 Unassigned_Variable Get-AzDataProtectionRecoveryPoint -VaultName $vaultName is a null-valued parameter value. -VaultName Assign value for $vaultName.
⚠️ Initialize-AzDataProtectionRestoreRequest 5 3 Unassigned_Variable Get-AzDataProtectionRecoveryPoint -SubscriptionId $subscriptionId is a null-valued parameter value. -SubscriptionId Assign value for $subscriptionId.
⚠️ Initialize-AzDataProtectionRestoreRequest 5 6 Mismatched_Parameter_Value_Type Initialize-AzDataProtectionRestoreRequest -RestoreLocation $vault.ReplicatedRegion[0] is not an expected parameter value type. -RestoreLocation Use correct parameter value type. Expected Type is string. Now the type is .(Command).
⚠️ Initialize-AzDataProtectionRestoreRequest 5 6 Mismatched_Parameter_Value_Type Initialize-AzDataProtectionRestoreRequest -RecoveryPoint $recoveryPointsCrr[0].Property.RecoveryPointId is not an expected parameter value type. -RecoveryPoint Use correct parameter value type. Expected Type is string. Now the type is .(Command).
⚠️ Initialize-AzDataProtectionRestoreRequest 6 1 Unassigned_Variable Search-AzDataProtectionBackupVaultInAzGraph -ResourceGroup $ResourceGroupName is a null-valued parameter value. -ResourceGroup Assign value for $ResourceGroupName.
⚠️ Initialize-AzDataProtectionRestoreRequest 6 1 Unassigned_Variable Search-AzDataProtectionBackupVaultInAzGraph -Subscription $SubscriptionId is a null-valued parameter value. -Subscription Assign value for $SubscriptionId.
⚠️ Initialize-AzDataProtectionRestoreRequest 6 1 Unassigned_Variable Search-AzDataProtectionBackupVaultInAzGraph -Vault $VaultName is a null-valued parameter value. -Vault Assign value for $VaultName.
⚠️ Initialize-AzDataProtectionRestoreRequest 6 2 Unassigned_Variable Search-AzDataProtectionBackupInstanceInAzGraph -Subscription $subscriptionId is a null-valued parameter value. -Subscription Assign value for $subscriptionId.
⚠️ Initialize-AzDataProtectionRestoreRequest 6 2 Unassigned_Variable Search-AzDataProtectionBackupInstanceInAzGraph -ResourceGroup $resourceGroupName is a null-valued parameter value. -ResourceGroup Assign value for $resourceGroupName.
⚠️ Initialize-AzDataProtectionRestoreRequest 6 2 Unassigned_Variable Search-AzDataProtectionBackupInstanceInAzGraph -Vault $vaultName is a null-valued parameter value. -Vault Assign value for $vaultName.
⚠️ Initialize-AzDataProtectionRestoreRequest 6 3 Mismatched_Parameter_Value_Type Get-AzDataProtectionRecoveryPoint -BackupInstanceName $instance.Name is not an expected parameter value type. -BackupInstanceName Use correct parameter value type. Expected Type is string. Now the type is .(Command).
⚠️ Initialize-AzDataProtectionRestoreRequest 6 3 Unassigned_Variable Get-AzDataProtectionRecoveryPoint -ResourceGroupName $resourceGroupName is a null-valued parameter value. -ResourceGroupName Assign value for $resourceGroupName.
⚠️ Initialize-AzDataProtectionRestoreRequest 6 3 Unassigned_Variable Get-AzDataProtectionRecoveryPoint -VaultName $vaultName is a null-valued parameter value. -VaultName Assign value for $vaultName.
⚠️ Initialize-AzDataProtectionRestoreRequest 6 3 Unassigned_Variable Get-AzDataProtectionRecoveryPoint -SubscriptionId $subscriptionId is a null-valued parameter value. -SubscriptionId Assign value for $subscriptionId.
⚠️ Initialize-AzDataProtectionRestoreRequest 6 6 Mismatched_Parameter_Value_Type Initialize-AzDataProtectionRestoreRequest -RestoreLocation $vault.ReplicatedRegion[0] is not an expected parameter value type. -RestoreLocation Use correct parameter value type. Expected Type is string. Now the type is .(Command).
⚠️ Initialize-AzDataProtectionRestoreRequest 6 6 Mismatched_Parameter_Value_Type Initialize-AzDataProtectionRestoreRequest -RecoveryPoint $recoveryPointsCrr[0].Property.RecoveryPointId is not an expected parameter value type. -RecoveryPoint Use correct parameter value type. Expected Type is string. Now the type is .(Command).
⚠️ Initialize-AzDataProtectionRestoreRequest 7 14 Mismatched_Parameter_Value_Type Initialize-AzDataProtectionRestoreRequest -RecoveryPoint $rp[0].Property.RecoveryPointId is not an expected parameter value type. -RecoveryPoint Use correct parameter value type. Expected Type is string. Now the type is .(Command).
⚠️ Initialize-AzDataProtectionRestoreRequest 8 8 Mismatched_Parameter_Value_Type Initialize-AzDataProtectionRestoreRequest -ContainersList $backedUpContainers[0,1] is not an expected parameter value type. -ContainersList Use correct parameter value type. Expected Type is string. Now the type is .(Command).
⚠️ Initialize-AzDataProtectionRestoreRequest 9 5 Mismatched_Parameter_Value_Type Initialize-AzDataProtectionRestoreRequest -RecoveryPoint $rp[0].Property.RecoveryPointId is not an expected parameter value type. -RecoveryPoint Use correct parameter value type. Expected Type is string. Now the type is .(Command).
️✔️Help File Existence Check
️✔️PowerShell Core - Windows
️✔️Windows PowerShell - Windows
️✔️File Change Check
️✔️PowerShell Core - Windows
️✔️Windows PowerShell - Windows
️✔️UX Metadata Check
️✔️PowerShell Core - Windows
️✔️Windows PowerShell - Windows
️✔️Test
️✔️PowerShell Core - Linux
️✔️PowerShell Core - MacOS
️✔️PowerShell Core - Windows
️✔️Windows PowerShell - Windows

Description

Adds Azure Cosmos DB item-level restore (whole databases or individual database/container pairs) to the existing Az.DataProtection restore cmdlets. It follows the same pattern as Azure Elastic SAN. There are no new cmdlets, parameters, or API version.

  • New-AzDataProtectionRestoreConfigurationClientObject accepts -DatasourceType AzureCosmosDB with -ResourceIdentifier (database names or database/container names). It returns a GenericRestoreDatasourceCriteria with a ResourceListSelectionCriteria. -ResourceIdentifier is required, and parameters of other datasource types are rejected. As for Elastic SAN, the service validates the selected names.
  • Initialize-AzDataProtectionRestoreRequest requires -RestoreConfiguration for an AzureCosmosDB item-level restore and adds it to the request's restore criteria. A typed list is used because Windows PowerShell 5.1 cannot assign an object array to the typed criteria property.
  • AzureCosmosDB.json manifest: item-level recovery is enabled. Cosmos DB restore is still alternate-location only (unchanged).
  • Fix: Initialize-AzDataProtectionRestoreRequest failed for every datasource type when -UseSystemAssignedIdentity or -UserAssignedIdentityArmId was specified. It assigned the internal IdentityDetail property; it now sets the public IdentityDetailUseSystemAssignedIdentity and IdentityDetailUserAssignedIdentityArmUrl properties.
  • Updated examples, help, and ChangeLog.

Other datasource types (AKS, Elastic SAN, Blob, ADLS, Disk, PostgreSQL, MySQL, and others) take the same code paths as before.

Testing

  • CosmosRestoreConfiguration.Tests.ps1: 8 offline tests covering configuration and request construction, missing or foreign parameters, missing -RestoreConfiguration, and system- and user-assigned identity.
  • CosmosRecordedService.Tests.ps1: playback of recorded validate, trigger, and job-polling exchanges for full, single-container, database, and mixed selections. Request bodies are compared with the captured ones.
  • Full module playback on PowerShell 7: no failures, an unchanged skip count, and unchanged existing recordings. The Cosmos DB and Elastic SAN restore tests also pass on Windows PowerShell 5.1.

Mandatory Checklist

  • SHOULD update ChangeLog.md file(s) appropriately
    • Update src/{{SERVICE}}/{{SERVICE}}/ChangeLog.md.
      • A snippet outlining the change(s) made in the PR should be written under the ## Upcoming Release header in the past tense.
    • Should not change ChangeLog.md if no new release is required, such as fixing test case only.
  • SHOULD regenerate markdown help files if there is cmdlet API change. Instruction
  • SHOULD have proper test coverage for changes in pull request.
  • SHOULD NOT adjust version of module manually in pull request

Copilot AI balanced review requested due to automatic review settings October 15, 2026 12:56
@azure-pipelines

Copy link
Copy Markdown
Contributor
Azure Pipelines:
Successfully started running 2 pipeline(s).
There may be pipelines that require an authorized user to comment /azp run to run.

@microsoft-github-policy-service

Copy link
Copy Markdown
Contributor

Thank you for your contribution Shashank Singh (@Shashank1306s)! We will review the pull request and get back to you soon.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Bound-null identity handling produces invalid requests, and incorrect paths prevent clean-checkout offline validation.

3 open findings
What changed in this PR

Adds Cosmos DB database/container recovery through existing Az.DataProtection cmdlets, without new public parameters or an API-version change.

Changes:

  • Adds literal selector validation and item-level restore construction.
  • Corrects restore identity handling and permission previews.
  • Adds regression tests, opt-in validation tooling, and synchronized documentation.
File Description
tools/​Test/​Invoke-CosmosRestoreUnitTests.ps1 Runs offline regression suites.
tools/​Test/​Invoke-CosmosRestoreNegativeTests.ps1 Adds opt-in negative validation.
src/​DataProtection/​DataProtection/​help/​Start-AzDataProtectionBackupInstanceRestore.md Documents validation and submission.
src/​DataProtection/​DataProtection/​help/​New-AzDataProtectionRestoreConfigurationClientObject.md Documents selector configuration.
src/​DataProtection/​DataProtection/​help/​Initialize-AzDataProtectionRestoreRequest.md Documents restore and identity options.
src/​DataProtection/​DataProtection/​ChangeLog.md Records recovery and identity changes.
src/​DataProtection/​DataProtection.Autorest/​test/​CosmosRestoreTransport.Tests.ps1 Tests native request serialization.
src/​DataProtection/​DataProtection.Autorest/​test/​CosmosRestoreSharedIdentity.Tests.ps1 Tests cross-workload identity behavior.
src/​DataProtection/​DataProtection.Autorest/​test/​CosmosRestoreRegression.Tests.ps1 Tests serialization and workload compatibility.
src/​DataProtection/​DataProtection.Autorest/​test/​CosmosRestorePermission.Tests.ps1 Tests identity lookup and permission safety.
src/​DataProtection/​DataProtection.Autorest/​test/​CosmosRestoreConfiguration.Tests.ps1 Tests selectors and request validation.
src/​DataProtection/​DataProtection.Autorest/​examples/​Start-AzDataProtectionBackupInstanceRestore.md Adds restore submission example.
src/​DataProtection/​DataProtection.Autorest/​examples/​New-AzDataProtectionRestoreConfigurationClientObject.md Adds selection examples.
src/​DataProtection/​DataProtection.Autorest/​examples/​Initialize-AzDataProtectionRestoreRequest.md Adds identity-specific restore examples.
src/​DataProtection/​DataProtection.Autorest/​docs/​Start-AzDataProtectionBackupInstanceRestore.md Synchronizes submission documentation.
src/​DataProtection/​DataProtection.Autorest/​docs/​New-AzDataProtectionRestoreConfigurationClientObject.md Synchronizes selector documentation.
src/​DataProtection/​DataProtection.Autorest/​docs/​Initialize-AzDataProtectionRestoreRequest.md Synchronizes initialization documentation.
src/​DataProtection/​DataProtection.Autorest/​custom/​manifests/​AzureCosmosDB.json Enables item-level recovery.
src/​DataProtection/​DataProtection.Autorest/​custom/​Helpers/​RestoreHelpers.ps1 Validates literal resource selections.
src/​DataProtection/​DataProtection.Autorest/​custom/​Cmdlets/​Platform/​Vault/​Set-AzDataProtectionMSIPermission.ps1 Fixes identity lookup and WhatIf handling.
src/​DataProtection/​DataProtection.Autorest/​custom/​Cmdlets/​Platform/​Restore/​New-AzDataProtectionRestoreConfigurationClientObject.ps1 Constructs Cosmos selection criteria.
src/​DataProtection/​DataProtection.Autorest/​custom/​Cmdlets/​Platform/​Restore/​Initialize-AzDataProtectionRestoreRequest.ps1 Adds Cosmos routing and typed criteria.
generated/​DataProtection/​DataProtection.Autorest/​exports/​Start-AzDataProtectionBackupInstanceRestore.ps1 Updates example comments only.
generated/​DataProtection/​DataProtection.Autorest/​exports/​ProxyCmdletDefinitions.ps1 Synchronizes help comments only.
generated/​DataProtection/​DataProtection.Autorest/​exports/​New-AzDataProtectionRestoreConfigurationClientObject.ps1 Updates selector help comments only.
generated/​DataProtection/​DataProtection.Autorest/​exports/​Initialize-AzDataProtectionRestoreRequest.ps1 Updates initialization help comments only.
documentation/​development-docs/​cosmos-db-item-level-recovery/​TEST_RESULTS.md Records evidence and validation limitations.
documentation/​development-docs/​cosmos-db-item-level-recovery/​README.md Explains recovery and testing workflows.

🧠 Review effort: Balanced


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread src/DataProtection/DataProtection.Autorest/test/CosmosRestoreTransport.Tests.ps1 Outdated
Comment thread tools/Test/Invoke-CosmosRestoreUnitTests.ps1 Outdated
Copilot AI balanced review requested due to automatic review settings October 15, 2026 13:07

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

Cross-workload restore and identity changes need human review while repository validation gates remain incomplete.

3 open findings
Previously missed (1)

In code that hasn't changed since last review

Low severity Stop execution when validation returns an error

documentation/​development-docs/​cosmos-db-item-level-recovery/​README.md:119

The validation call lacks -ErrorAction Stop. With PowerShell's default error handling, a nonterminating validation error lets a script continue to the restore submission below. Add -ErrorAction Stop, as in the updated cmdlet examples, so failed validation stops the script before submission.

🧠 Review effort: Balanced

@Shashank1306s

Shashank Singh (Shashank1306s) commented Oct 15, 2026 •

Copy link
Copy Markdown
Contributor Author

Removed the redundant Cosmos unit-runner wrapper; all six existing-directory Pester suites and executable assertions are retained. Documented standard Invoke-Pester execution was rerun successfully: 849 PowerShell 7 and 817 Windows PowerShell 5.1 cases, zero failures/skips. Added a separate command-level test-matrix README covering the actual native policy/permission/BI/backup workflow, seven data-verified restore combinations, service-validation gaps, local regressions, and explicit coverage limits: https://github.com/Shashank1306s/azure-powershell/blob/users/shasha/dataprotection-updates/documentation/development-docs/cosmos-db-item-level-recovery/test-matrix/README.md . No new Azure operations were run for this update.

Copilot AI balanced review requested due to automatic review settings October 15, 2026 13:47

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Two new test suites resolve incorrect artifact paths under standard CI discovery and fail during setup.

4 open findings
1 resolved since last review

🧠 Review effort: Balanced

Comment thread src/DataProtection/DataProtection.Autorest/test/CosmosRestoreTransport.Tests.ps1 Outdated
Copilot AI balanced review requested due to automatic review settings October 15, 2026 18:45

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

Shared restore and identity changes require human review while current-commit cross-platform CI remains unconfirmed and broader Windows PowerShell playback reports failures.

0 open findings

4 resolved since last review

🧠 Review effort: Balanced

@Shashank1306s

Copy link
Copy Markdown
Contributor Author

CI failure analysis and fixes

The four failed test tasks in the original PowerShell Core / windows-powershell pipelines each reported 790 passed / 41 failed / 241 skipped. Compilation and analysis jobs succeeded; the parent pipeline statuses were red because the test stage failed.

Fixed in cce8f88:

  • Resolve checkout/source/generated/artifact paths independently of test directory depth, so copied artifact tests can run under standard CI discovery. Source freshness checks still compare actual canonical source against artifacts.
  • Read the export contract from the tracked generated manifest, not an ignored source-generation manifest.
  • Make permission tests independent of installed Az.Resources: supply a temporary throwing qualified boundary only when absent, then mock it and remove only that temporary module. No role assertion or WhatIf check was weakened.
  • Reject explicitly bound null Cosmos UseSystemAssignedIdentity before the generated setter can coerce it to false; cover both full/ILR and preserve non-Cosmos behavior.

Verification:

Run Result
Tracked DataProtection build 0 warnings / 0 errors
Six suites, CI artifact layout, no installed Resources, PowerShell 7 864 passed, zero failures/skips
Same six artifact suites, actual Windows PowerShell 5.1 832 passed, zero failures/skips
Independent tracked-input sandbox, no source-generation cache, both source and artifact selection 864 passed in each Core run
Complete unmodified generated artifact test-module.ps1 -Playback, Core 928 passed / 0 failed / 241 existing skips

No existing assertion was removed and no six-suite skip was added. A separate broader actual-Desktop run is not green (886 passed / 10 failed / 241 skipped) and is recorded as such; it is not the runtime used by these four CI test jobs. The incorrectly initialized legacy baseline diagnostic is excluded from acceptance evidence.

Updated the standard reproduction instructions and results. Remote Linux/macOS/Windows checks must rerun on the fix commit; the PR remains draft pending those checks and review.

Copilot AI balanced review requested due to automatic review settings October 15, 2026 18:55

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

Shared restore and identity changes need human sign-off while current-commit cross-platform CI and broader validation remain unresolved.

0 open findings

4 resolved since last review

🧠 Review effort: Balanced

Copilot AI balanced review requested due to automatic review settings October 16, 2026 05:47
@Shashank1306s

Copy link
Copy Markdown
Contributor Author

Pushed 4c282a5 for the remaining Linux/macOS failure. Both Unix jobs had the same freshness-guard error: LF checkout JSON versus CRLF Windows build artifacts. Only CRLF/LF is normalized; 12 new cases still reject real content, case, whitespace, bare-CR and final-newline changes. Exact original failure reproduced under Linux before the fix; all six suites now pass: 876 on Linux, 876 on Windows Core, 844 on actual Windows PowerShell 5.1, zero failures/skips. No production code changed and no live tests/resource operations were run for this correction. The additional complete local Linux playback is still progressing and is not counted as passing. Fresh remote checks must confirm the new commit; security-tools remains a separate pending check.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

Shared restore and identity changes need human review, with an unresolved permission-preview issue and current-commit cross-platform validation pending.

0 open findings

Previously missed (1)

In code that hasn't changed since last review

Medium severity Show actual role assignment scope in confirmation and WhatIf preview

src/​DataProtection/​DataProtection.Autorest/​custom/​Cmdlets/​Platform/​Vault/​Set-AzDataProtectionMSIPermission.ps1:281

With -PermissionsScope ResourceGroup or Subscription, this new confirmation/WhatIf preview names only the datasource, but AssignMissingRoles grants the role across the resource group or subscription (custom/Helpers/BackupcenterHelper.ps1:297-306). Users therefore see a narrower target than the change they authorize. Select the ShouldProcess target from PermissionsScope so the preview shows the actual assignment scope.

🧠 Review effort: Balanced

@@ -0,0 +1,255 @@
# Cosmos DB recovery: executed cmdlet test matrix

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Any files under documentation should be changed in this PR

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you confirm whether you meant that no files under the top-level documentation folder should be changed in this PR? The current text says "should be changed." I can keep the feature-specific handoff/results outside the PR and consolidate necessary test instructions under the existing DataProtection test README, while retaining the cmdlet help/examples under src. I am preserving the local handoff documents until that interpretation is confirmed.

@NoriZC NoriZC added Request X Engineering Agent Ask the agent to triage this issue or review this PR needs-revision labels Oct 19, 2026
@x-engineering-agent

x-engineering-agent Bot commented Oct 19, 2026 •

Copy link
Copy Markdown

X Engineering Agent Report

Review — Comments

Shashank Singh (@Shashank1306s)

Review: changes needed despite green CI

One repository-policy finding and two confirmed semantic findings remain.

Upstream CI

Upstream CI passed 12/12 checks; there are no failed checks to classify.

Repository policy findings
  • Generated code ownership checker (blocking) — src/DataProtection/DataProtection.Autorest/docs/Initialize-AzDataProtectionRestoreRequest.md:265: Azure PowerShell AutoRest project changed without Codegen regeneration evidence in src/DataProtection/DataProtection.Autorest/generate-info.json. The marker must contain a changed Codegen generation ID and must not be deleted.
    Remediation: Run the repository's approved Codegen flow for src/DataProtection/DataProtection.Autorest and include all resulting artifacts, including the changed src/DataProtection/DataProtection.Autorest/generate-info.json. Do not hand-edit the generation marker.
    Verify: Confirm the Codegen run updates generate-info.json and that the complete regenerated diff is committed.
Confirmed semantic findings
  • No-silent-user-intent reviewer: src/DataProtection/DataProtection.Autorest/custom/Cmdlets/Platform/Restore/Initialize-AzDataProtectionRestoreRequest.ps1:309–317 ignores bound ContainersList and PrefixMatch for Cosmos. Both bind in AlternateLocationILR (lines 107–114), but the new branch copies only RestoreConfiguration into the returned criteria (line 402). A database-wide configuration combined with a container selection therefore remains database-wide. Reject these unsupported parameters explicitly for Cosmos. Verify: Add negative cases for each parameter, including a database-wide configuration plus ContainersList, in src/DataProtection/DataProtection.Autorest/test/CosmosRestoreConfiguration.Tests.ps1; rerun that focused suite.

  • Domain edge-case reviewer: src/DataProtection/DataProtection.Autorest/custom/Cmdlets/Platform/Restore/Initialize-AzDataProtectionRestoreRequest.ps1:310–317 checks only for a null configuration before adding it to a generic IItemLevelRestoreCriteria list. It does not validate the Cosmos criterion/selector discriminators or selected identifiers. The AKS factory path in New-AzDataProtectionRestoreConfigurationClientObject.ps1:174–175,210 creates Kubernetes criteria, while the Cosmos path at lines 92–99 creates generic resource-list criteria; the initializer does not distinguish them. A generic configuration with its selector removed likewise bypasses the null check. These malformed Cosmos requests are returned instead of rejected locally. Validate the criterion, resource-list selector and nonempty identifiers before insertion. Verify: Extend src/DataProtection/DataProtection.Autorest/test/CosmosRestoreConfiguration.Tests.ps1 with AKS, missing-selector and empty-identifier rejection cases, retaining valid database/container cases; rerun the suite.

Both supplied Copilot reviewer comments were independently verified and remain actionable; there were no lesson matches.

Test validation
  • Agent live test: Not run; this is a review-only PR. Check author-provided test evidence and upstream CI separately.
  • Regression coverage: Not applicable to the changed files.

The applicability statement above is the router's coverage result, not proof of complete scenario coverage. Author-provided src/DataProtection/DataProtection.Autorest/test/CosmosRecordedService.Tests.ps1:35–67 compares generated validation/submission bodies against CosmosRecordedService.Recording.json and checks recorded job snapshots. The fixture covers full, single-container, database and mixed selections; captured ILR bodies contain GenericRestoreDatasourceCriteria, ResourceListSelectionCriteria and the corresponding identifiers. These positive cases do not exercise the two invalid-input paths above. After adding those cases, rerun the focused configuration suite and recorded-service playback. This review did not execute tests, independently establish recording provenance, or verify restored target contents.

Risk assessment — 13/100 · Low

The Low rating reflects the detected change scope with no elevated security, reliability, customer, operational, dependency, sovereign-cloud, generated-output, or cross-component signal.

  • Change scope: 15 changed files, 5520 changed lines (+5505 / -15), including 2 production files.
  • Affected components: dataprotection
  • Risk drivers: No elevated risk signal was detected.
  • Regression evidence: Changed regression tests are included, reducing risk.
  • Confidence: High because changed-line patches were available for every production file.
  • Required review: No additional owning-squad review signal was detected.

Posted by x-engineering-agent (Reviewer)

@github-actions

Copy link
Copy Markdown

This PR was labeled "needs-revision" because it has unresolved review comments or CI failures.
Please resolve all open review comments and make sure all CI checks are green. Refer to our guide to troubleshoot common CI failures.

Copilot AI balanced review requested due to automatic review settings October 19, 2026 09:53
@Shashank1306s

Copy link
Copy Markdown
Contributor Author

NoriZC follow-up and existing-workload audit

Published ef8ad17 with reviewer cleanup only:

  • Reverted all four archived export edits: zero top-level generated PR diff.
  • Moved both Cosmos-only scenario tools into the module test tree, removed old entrypoints, repaired source/artifact discovery and documentation links, and added a relocation/discovery contract.
  • Retained all six offline suites and all prior expanded test identities; no assertions were dropped or replaced with skips. The one extra Core case checks relocation/discovery.
  • Kept runtime implementation, public surface, API version and package version unchanged by this cleanup. Source-owned cmdlet examples/help remain.

Cross-workload audit

Boundary Result
Cosmos Existing generic criteria model, private ordinal selector validation, preserved order/case/literal punctuation, local builders and distinct full/ILR routes are appropriately scoped.
AKS / Elastic SAN Existing configuration shapes, filter/staging/PV/conflict semantics, scalar/singleton/ordered arrays, eSAN single-volume/name overrides and parent-SAN scope retained.
Blob / ADLS Their path, prefix/rename, PIT-range and datasource-set routes remain distinct from Cosmos generic criteria.
Disk / PostgreSQL / PGFlex / MySQL ALR/proxy/auth/files behavior and storage-account permission scope covered by the shared regressions.
Shared identity and serialization Public flattened identity assignment and public-map resolution are intentional shared repairs from the feature. Null/false/presence, attached UAMI precedence, ARM-ID casing and retained lazy-child serialization are covered. No global object-clearing workaround is warranted.
Permissions Restore-datasource ShouldProcess protection is bounded, not universal WhatIf safety. Existing cross-subscription vault lookup and explicit request/permission identity alignment remain older limitations, not newly introduced defects.
Generation/tests Source and archive ownership, recursive test copying, offline construction precedent, recorded workflows and exact transport-body assertions are now documented separately. Recorder matching does not replace JSON body assertions.

No proven introduced runtime defect was established within the inspected boundaries; no broad production refactor was made. This is not an all-input nonbreaking guarantee.

Fresh local verification

Check Result
Tracked generated-client and parent module builds Both succeed, zero warnings/errors
Windows Core / Linux / actual Windows PowerShell 5.1, six offline suites 909 / 909 / 876 passed, zero failed/skipped/pending
Standard runner, filtered guarded Playback 909 passed, zero failed/skipped/pending
Whole-script relocation comparison Only approved root resolution differs; operational functions unchanged
Existing recording/environment hashes All 18 unchanged
Source/artifact freshness, LF/CRLF portability, links/examples, editor diagnostics and whitespace Pass

No live Azure operations, recording, resource cleanup or new complete unfiltered module playback were run for this review. PSScriptAnalyzer was unavailable locally; no new full static-analysis/CI pass is claimed. The new commit needs its own CI results.

Still open

  1. Recording: six suites intentionally exercise offline construction, mocks, generated HTTP capture and tooling safety. Real Cosmos ILR recorded service coverage requires a separately agreed, approved capture; previous native reports are not recordings.
  2. Documentation: clarification is requested on “Any files under documentation should be changed in this PR” before assuming a missing “not” and removing those documents. Necessary test guidance is already module-local.

Only the verified generated/placement threads are being resolved. Human changes-requested review still requires maintainer follow-up. User-local CLI handoff documents and their README index are preserved and excluded from this commit.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

Shared restore and identity changes affect multiple workloads and need human sign-off with current-commit validation confirmed.

No open issues 🎉

Review effort: Balanced

@a0x1ab

Copy link
Copy Markdown
Member

/azp run

@azure-pipelines

Copy link
Copy Markdown
Contributor
Azure Pipelines:
Successfully started running 3 pipeline(s).

Copilot AI balanced review requested due to automatic review settings October 19, 2026 11:52

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

Shared cross-workload restore and permission changes, alongside documented broader Windows PowerShell playback failures, warrant final human review.

No open issues 🎉

Review effort: Balanced

@x-engineering-agent x-engineering-agent Bot added the X Engineering Agent Reviewed Agent reviewed this PR label Oct 19, 2026
@a0x1ab

Copy link
Copy Markdown
Member

/azp run

@azure-pipelines

Copy link
Copy Markdown
Contributor
Azure Pipelines:
Successfully started running 3 pipeline(s).

Shashank Singh added 2 commits October 19, 2026 22:08
…ly and generic

Revert shared restore, permission, help and test changes for other datasources to the PR base. Keep only the Cosmos configuration branch, the Cosmos item level restore criteria, the manifest flag and the restore identity property fix. Remove unverified client-side rules and wording, the live scenario tools, the over-scoped suites and the feature design documents.
…c SAN change pattern

Keep the base TargetResourceId help, only add AzureCosmosDB to the RestoreConfiguration help list, drop the extra Start example, and replace the transport suite with a configuration suite in the Elastic SAN test style.
Copilot AI balanced review requested due to automatic review settings October 19, 2026 18:31

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Missing selector and configuration validation allows invalid restore requests and silently ignored selection filters.

3 open issues

Review effort: Balanced


# can generalise this condition to manifest level if needed
if($DatasourceType -ne "AzureKubernetesService" -and $DatasourceType -ne "AzureElasticSAN"){ # TODO: remove Datasource dependency
if($DatasourceType -eq "AzureCosmosDB"){

# Windows PowerShell 5.1 cannot assign an object array to the typed criteria list.
$restoreCriteriaList = [System.Collections.Generic.List[Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Models.IItemLevelRestoreCriteria]]::new()
$restoreCriteriaList.Add($RestoreConfiguration)
Comment on lines +88 to +90
if($ResourceIdentifier -eq $null -or $ResourceIdentifier.Count -eq 0){
throw "Please input parameter ResourceIdentifier for DatasourceType AzureCosmosDB."
}
@@ -127,10 +127,10 @@ function Initialize-AzDataProtectionRestoreRequest
[System.String[]]
${ToPrefixPattern},

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please reject a Cosmos RestoreConfiguration unless ItemLevelRecovery is enabled, because omitting the switch silently drops the selected databases/containers and builds a full-account restore request.

@a0x1ab

Copy link
Copy Markdown
Member

/azp run

@azure-pipelines

Copy link
Copy Markdown
Contributor
Azure Pipelines:
Successfully started running 3 pipeline(s).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

customer-reported needs-revision Request X Engineering Agent Ask the agent to triage this issue or review this PR X Engineering Agent Reviewed Agent reviewed this PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants