[RecoveryServices.Backup] Update management SDK to API 2026-07-01 - #30116
[RecoveryServices.Backup] Update management SDK to API 2026-07-01#30116Bharat Purwar (bharatpurwar) wants to merge 4 commits into
Conversation
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 98d71075-adf0-4b3a-82a1-ec2acd27366e
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 98d71075-adf0-4b3a-82a1-ec2acd27366e
|
Azure Pipelines: There may be pipelines that require an authorized user to comment /azp run to run. |
There was a problem hiding this comment.
🟡 Changes recommended
There are correctness/diagnostic regressions in key call paths (unawaited async SDK calls and loss of request-id visibility in failure exceptions) that should be fixed before merging.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
This pull request updates the Recovery Services Backup management SDK to the 2026-07-01 API version by regenerating the AutoRest client and adapting the RecoveryServices Backup adapter/models to the new generated method signatures and types.
Changes:
- Updated SDK generation configuration (spec commit + input swagger path) and regenerated the Backup management SDK for
2026-07-01. - Adjusted client adapter call sites to new parameter names/order (e.g.,
filterstrings, reorderedresourceGroupName/vaultName). - Updated cmdlet model types/mappings to align with regenerated SDK model changes (e.g., new header/result models and error detail shape).
File summaries
| File | Description |
|---|---|
| src/RecoveryServices/RecoveryServices/Common/PSRecoveryServicesVaultClient.cs | Updates backup client calls to regenerated parameter names/order. |
| src/RecoveryServices/RecoveryServices.Backup.ServiceClientAdapter/BMSAPIs/ProtectableItemAPI.cs | Adapts protectable-item listing to regenerated filter/paging signature. |
| src/RecoveryServices/RecoveryServices.Backup.Models/AzureVmWorkloadModels/AzureWorkloadSQLDatabaseProtectedItem.cs | Aligns workload protected-item model with regenerated error-detail type. |
| src/RecoveryServices/RecoveryServices.Backup.Models/AzureVmWorkloadModels/AzureWorkloadSAPHanaDatabaseProtectedItem.cs | Aligns workload protected-item model with regenerated error-detail type. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/README.md | Updates AutoRest generation inputs to 2026-07-01 spec location/commit. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/ValidateOperationStatusesOperationsExtensions.cs | Regenerated SDK extensions for validate operation statuses. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/ValidateOperationResultsOperationsExtensions.cs | Regenerated SDK extensions for validate operation results. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/TieringCostOperationStatusOperationsExtensions.cs | Regenerated SDK extensions for tiering cost operation status. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/SecurityPINsOperationsExtensions.cs | Regenerated SDK extensions for Security PIN operations. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/ResourceGuardProxiesOperationsExtensions.cs | Regenerated SDK extensions reflecting reordered RG/vault parameters. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/ProtectionContainerRefreshOperationResultsOperationsExtensions.cs | Regenerated SDK extensions for protection container refresh results. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/OperationsExtensions.cs | Regenerated SDK extensions for provider operations listing. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/OperationOperationsExtensions.cs | Regenerated SDK extensions for validate/operation group. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/VaultResource.cs | New regenerated model for vault resource schema. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/ValidateOperationTriggerHeaders.cs | New regenerated headers model for validate-operation trigger. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/ValidateOperationResponse.cs | Regenerated model now using ErrorDetailAutoGenerated list. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/ThreatStatus.cs | New regenerated string-constant “enum” for threat status. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/ThreatState.cs | New regenerated string-constant “enum” for threat state. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/ThreatSeverity.cs | New regenerated string-constant “enum” for threat severity. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/SubProtectionPolicy.cs | Regenerated model doc/formatting updates. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/SourceSideScanSummary.cs | New regenerated string-constant “enum” for scan summary. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/SourceSideScanStatus.cs | New regenerated string-constant “enum” for scan status. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/SourceSideScanInfo.cs | New regenerated model for source-side scan info. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/SourceScanAction.cs | New regenerated string-constant “enum” for source scan action. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/Settings.cs | Regenerated model doc/formatting updates. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/SecuredVMDetails.cs | Regenerated model adds data-disk encryption settings. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/RetentionDuration.cs | Regenerated model doc/formatting updates. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/RestoresTriggerHeaders.cs | New regenerated headers model for restore trigger. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/RecoveryPointTierStatus.cs | Regenerated tier-status changed from enum to string constants. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/RecoveryPointTierInformationV2.cs | Regenerated model changes tier status type to string. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/RecoveryPointTierInformation.cs | Regenerated model changes tier status type to string. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/RecoveryPointRehydrationInfo.cs | Regenerated model doc/formatting updates. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/RecoveryPointProperties.cs | Regenerated model adds immutability properties + validation hook. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/RecoveryPointImmutabilityProperties.cs | New regenerated model for recovery point immutability. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/RecoveryPoint.cs | Regenerated model adds threat status/info fields. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/ProxyResource.cs | New regenerated base model for proxy resources. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/ProtectionPoliciesDeleteHeaders.cs | New regenerated headers model for policy delete. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/ProtectionContainersRegisterHeaders.cs | New regenerated headers model for container register. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/ProtectionContainer.cs | Regenerated container model adds sourceLocation. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/ProtectedItemsCreateOrUpdateHeaders.cs | New regenerated headers model for protected-item create/update. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/ProtectedItemConfigureSourceScanRequest.cs | New regenerated request model for configuring source scan. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/PrivateEndpointConnectionPutHeaders.cs | New regenerated headers model for private endpoint PUT. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/PrivateEndpointConnectionDeleteHeaders.cs | New regenerated headers model for private endpoint DELETE. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/PreValidateEnableBackupResponse.cs | Regenerated model doc/formatting updates. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/PreValidateEnableBackupRequest.cs | Regenerated model doc/formatting updates. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/PrepareDataMoveRequest.cs | Regenerated model doc/formatting updates. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/PerDiskEncryptionSetId.cs | New regenerated model for per-disk DES identifiers. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/Page1.cs | Removes obsolete generated paging wrapper type. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/MoveRecoveryPointHeaders.cs | New regenerated headers model for move recovery point. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/MabContainer.cs | Regenerated container model adds sourceLocation and updates base ctor. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/KeyAndSecretDetails.cs | Regenerated model doc/formatting updates. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/InquiryValidation.cs | Regenerated model uses ErrorDetailAutoGenerated. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/InquiryInfo.cs | Regenerated model uses ErrorDetailAutoGenerated. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/IdentityInfo.cs | Regenerated model doc/formatting updates. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/IaaSVMContainer.cs | Regenerated container model adds sourceLocation and updates base ctor. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/HourlySchedule.cs | Regenerated model doc/formatting updates. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/GenericRecoveryPoint.cs | Regenerated recovery point model adds threat status/info + validation. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/GenericContainer.cs | Regenerated container model adds sourceLocation and updates base ctor. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/FetchTieringCostPostHeaders.cs | Regenerated headers model adds Retry-After. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/FetchTieringCostInfoRequest.cs | Regenerated model doc/formatting updates. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/ErrorResponseException.cs | Regenerated exception type for error responses. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/ErrorResponse.cs | New regenerated ARM-style error response model. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/ErrorDetailAutoGenerated.cs | New regenerated error-detail model (code/message/recommendations). |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/DpmContainer.cs | Regenerated container model adds sourceLocation and updates base ctor. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/DistributedNodesInfo.cs | Regenerated model uses ErrorDetailAutoGenerated. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/DiskDetails.cs | New regenerated model for disk details. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/DataDiskDetails.cs | New regenerated model for encrypted data disk details. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/CreatedByType.cs | New regenerated string-constant “enum” for created-by type. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/ConfigureSourceScanExecuteHeaders.cs | New regenerated headers model for source-scan operation. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/CloudError.cs | Regenerated error model naming/shape; updated summary text. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/ClientScriptForConnect.cs | Regenerated model doc/formatting updates. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/BmsTriggerDataMoveHeaders.cs | New regenerated headers model for data move trigger. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/BmsPrepareDataMoveHeaders.cs | New regenerated headers model for prepare data move. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/BackupFabricResource.cs | New regenerated model for backup fabric resource schema. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/AzureWorkloadSQLRestoreWithRehydrateRequest.cs | Regenerated model doc/formatting updates. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/AzureWorkloadSQLRestoreRequest.cs | Regenerated model doc/formatting updates. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/AzureWorkloadSQLPointInTimeRestoreWithRehydrateRequest.cs | Regenerated model doc/formatting updates. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/AzureWorkloadSQLPointInTimeRestoreRequest.cs | Regenerated model doc/formatting updates. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/AzureWorkloadSAPHanaRestoreWithRehydrateRequest.cs | Regenerated model doc/formatting updates. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/AzureWorkloadSAPHanaRestoreRequest.cs | Regenerated model doc/formatting updates. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/AzureWorkloadSAPHanaRecoveryPoint.cs | Regenerated model adds threat status/info and validate override. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/AzureWorkloadSAPHanaPointInTimeRestoreWithRehydrateRequest.cs | Regenerated model doc/formatting updates. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/AzureWorkloadSAPHanaPointInTimeRestoreRequest.cs | Regenerated model doc/formatting updates. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/AzureWorkloadSAPAseRestoreRequest.cs | Regenerated model doc/formatting updates. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/AzureWorkloadSAPAseRecoveryPoint.cs | Regenerated model adds threat status/info and validate override. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/AzureWorkloadSAPAsePointInTimeRestoreRequest.cs | Regenerated model doc/formatting updates. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/AzureWorkloadRestoreRequest.cs | Regenerated model doc/formatting updates. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/AzureWorkloadRecoveryPoint.cs | Regenerated model adds threat status/info + validation. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/AzureWorkloadPointInTimeRestoreRequest.cs | Regenerated model doc/formatting updates. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/AzureWorkloadContainer.cs | Regenerated container model adds sourceLocation and updates base ctor. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/AzureVmWorkloadSQLInstanceProtectableItem.cs | Regenerated model doc/formatting updates. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/AzureVmWorkloadSQLDatabaseProtectableItem.cs | Regenerated model doc/formatting updates. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/AzureVmWorkloadSQLAvailabilityGroupProtectableItem.cs | Regenerated model doc/formatting updates. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/AzureVmWorkloadSAPHanaSystemProtectableItem.cs | Regenerated model doc/formatting updates. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/AzureVmWorkloadSAPHanaHSRProtectableItem.cs | Regenerated model doc/formatting updates. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/AzureVmWorkloadSAPHanaDBInstance.cs | Regenerated model doc/formatting updates. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/AzureVmWorkloadSAPHanaDatabaseProtectableItem.cs | Regenerated model doc/formatting updates. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/AzureVmWorkloadSAPAseSystemProtectableItem.cs | Regenerated model doc/formatting updates. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/AzureVmWorkloadSAPAseDatabaseProtectableItem.cs | Regenerated model doc/formatting updates. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/AzureVmWorkloadProtectableItem.cs | Regenerated model doc/formatting updates. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/AzureVMAppContainerProtectionContainer.cs | Regenerated container model adds sourceLocation in ctor chain. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/AzureSqlContainer.cs | Regenerated container model adds sourceLocation and updates base ctor. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/AzureSQLAGWorkloadContainerProtectionContainer.cs | Regenerated container model adds sourceLocation in ctor chain. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/AzureIaaSVMProtectionPolicy.cs | Regenerated model doc/formatting updates. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/AzureIaaSVMJobTaskDetails.cs | Regenerated model doc/formatting updates. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/AzureIaaSComputeVMContainer.cs | Regenerated container model adds sourceLocation in ctor chain. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/AzureIaaSClassicComputeVMContainer.cs | Regenerated container model adds sourceLocation in ctor chain. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/AzureFileShareRestoreRequest.cs | Regenerated model adds managed identity info for restore. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/AzureFileShareRecoveryPoint.cs | Regenerated model adds threat status/info + validation. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/AzureBackupServerContainer.cs | Regenerated container model adds sourceLocation in ctor chain. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/Models/AccessType.cs | New regenerated string-constant “enum” for access type. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/JobsOperationsExtensions.cs | Regenerated jobs export extension now takes filter string. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/IValidateOperationStatusesOperations.cs | Regenerated interface signature/doc updates. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/IValidateOperationResultsOperations.cs | Regenerated interface signature/doc updates. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/IValidateOperationOperations.cs | Regenerated interface now returns header response for trigger operations. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/ITieringCostOperationStatusOperations.cs | Regenerated interface signature/doc updates. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/ISecurityPINsOperations.cs | Regenerated interface signature/doc updates. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/IResourceGuardProxiesOperations.cs | Regenerated interface parameter order updated (RG first). |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/IRecoveryPointsRecommendedForMoveOperations.cs | Regenerated interface parameter order/doc updates (RG first). |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/IProtectionPolicyOperationResultsOperations.cs | Regenerated interface parameter order/doc updates (RG first). |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/IProtectionContainerRefreshOperationResultsOperations.cs | Regenerated interface signature/doc updates. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/IProtectionContainerOperationResultsOperations.cs | Regenerated interface parameter order/doc updates (RG first). |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/IProtectedItemOperationResultsOperations.cs | Regenerated interface parameter order/doc updates (RG first). |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/IProtectableContainersOperations.cs | Regenerated interface now takes filter string instead of ODataQuery. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/IPrivateEndpointOperations.cs | Regenerated interface parameter order/doc updates (RG first). |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/IOperations.cs | Regenerated interface doc updates for provider operations. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/IOperationOperations.cs | Regenerated interface signature/doc updates. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/IJobsOperations.cs | Regenerated interface now takes filter string instead of ODataQuery. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/IJobOperationResultsOperations.cs | Regenerated interface parameter order/doc updates (RG first). |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/IJobDetailsOperations.cs | Regenerated interface parameter order/doc updates (RG first). |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/IJobCancellationsOperations.cs | Regenerated interface parameter order/doc updates (RG first). |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/IGetTieringCostOperationResultOperations.cs | Regenerated interface signature/doc updates. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/IFetchTieringCostOperations.cs | Regenerated interface signature/doc updates. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/IExportJobsOperationResultsOperations.cs | Regenerated interface parameter order/doc updates (RG first). |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/IDeletedProtectionContainersOperations.cs | Regenerated interface now takes filter string instead of ODataQuery. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/IBMSPrepareDataMoveOperationResultOperations.cs | Regenerated interface parameter order/doc updates (RG first). |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/IBackupUsageSummariesOperations.cs | Regenerated interface now returns IPage + supports ListNext. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/IBackupsOperations.cs | Regenerated interface parameter order/doc updates (RG first). |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/IBackupResourceEncryptionConfigsOperations.cs | Regenerated interface parameter order/doc updates (RG first). |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/IBackupProtectionIntentOperations.cs | Regenerated interface now takes filter string instead of ODataQuery. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/IBackupProtectionContainersOperations.cs | Regenerated interface now takes filter string instead of ODataQuery. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/IBackupProtectedItemsOperations.cs | Regenerated interface now takes filter string instead of ODataQuery. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/IBackupProtectableItemsOperations.cs | Regenerated interface now takes filter string instead of ODataQuery. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/IBackupPoliciesOperations.cs | Regenerated interface parameter order/doc updates (RG first). |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/IBackupOperationStatusesOperations.cs | Regenerated interface signature/doc updates. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/IBackupOperationResultsOperations.cs | Regenerated interface signature/doc updates. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/IBackupJobsOperations.cs | Regenerated interface now takes filter string instead of ODataQuery. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/GetTieringCostOperationResultOperationsExtensions.cs | Regenerated SDK extensions for tiering cost results. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/FeatureSupportOperations.cs | Regenerated operation implementation for feature validation endpoint. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/BackupStatusOperations.cs | Regenerated operation implementation for backup status endpoint. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/BackupOperationStatusesOperationsExtensions.cs | Regenerated SDK extensions for backup operation statuses. |
| src/RecoveryServices/RecoveryServices.Backup.Management.Sdk/Generated/BackupOperationResultsOperationsExtensions.cs | Regenerated SDK extensions for backup operation results. |
| src/RecoveryServices/RecoveryServices.Backup.Helpers/HelperUtils.cs | Broadens paging helper to support non-Resource page item types. |
Review details
- Files reviewed: 1/319 changed files
- Comments generated: 7
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| () => BmsAdapter.Client.BackupProtectableItems.ListWithHttpMessagesAsync( | ||
| vaultName ?? BmsAdapter.GetResourceName(), | ||
| resourceGroupName ?? BmsAdapter.GetResourceGroupName(), | ||
| queryFilter, | ||
| vaultName: vaultName ?? BmsAdapter.GetResourceName(), | ||
| resourceGroupName: resourceGroupName ?? BmsAdapter.GetResourceGroupName(), | ||
| filter: queryFilter?.Filter, | ||
| cancellationToken: BmsAdapter.CmdletCancellationToken).Result.Body; |
| GetRecoveryServicesBackupClient.BackupResourceStorageConfigsNonCrr.UpdateWithHttpMessagesAsync( | ||
| vaultName, resouceGroupName, backupStorageConfig, GetRequestHeaders()); | ||
| resourceGroupName: resouceGroupName, | ||
| vaultName: vaultName, | ||
| parameters: backupStorageConfig, | ||
| customHeaders: GetRequestHeaders()); |
| if ((int)_statusCode != 200) | ||
| { | ||
| var ex = new Microsoft.Rest.Azure.CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); | ||
| var ex = new ErrorResponseException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); |
| if ((int)_statusCode != 200) | ||
| { | ||
| var ex = new Microsoft.Rest.Azure.CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); | ||
| var ex = new ErrorResponseException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); |
| /// <summary> | ||
| /// The resource management error response. | ||
| /// An error response from the Container Instance service. | ||
| /// </summary> |
| @@ -46,7 +46,7 @@ public class AzureWorkloadSAPHanaDatabaseProtectedItem : AzureItem | |||
| /// <summary> | |||
| /// error details in last backup | |||
| /// </summary> | |||
| public ErrorDetail LastBackupErrorDetail { get; set; } | |||
| public ErrorDetailAutoGenerated LastBackupErrorDetail { get; set; } | |||
| @@ -47,7 +47,7 @@ public class AzureWorkloadSQLDatabaseProtectedItem : AzureItem | |||
| /// <summary> | |||
| /// error details in last backup | |||
| /// </summary> | |||
| public ErrorDetail LastBackupErrorDetail { get; set; } | |||
| public ErrorDetailAutoGenerated LastBackupErrorDetail { get; set; } | |||
The Recovery Services Backup management SDK was regenerated from API 2026-07-01. The regenerated contracts reorder vault and resource-group parameters that share the same string type, replace OData query objects with raw filter parameters, add typed response-header wrappers, change usage summaries to a paged response, and move the Backup-specific error detail shape. Existing consumers therefore either failed to compile or could silently construct incorrect requests and lose response metadata. Update generated-operation calls to use named arguments so vault and resource-group values remain bound correctly. Preserve the existing adapter surface by extracting Filter values from OData query objects and mapping typed SDK responses back to the response types consumed by the PowerShell layer. Copy Body where applicable, Request, Response, and RequestId so status codes, raw HTTP headers, and request identifiers are retained. Follow continuation links returned by BackupUsageSummaries and broaden the shared paging helper constraint from generated Resource to class; the helper only enumerates pages and does not depend on Resource members. Map SQL and SAP HANA last-backup errors to ErrorDetailAutoGenerated, which retains the Backup-specific code, message, and recommendations contract. Use Begin responses for operations whose completion remains tracked by the existing PowerShell helpers so the initial tracking response is not consumed by generated polling. Add a user-facing ChangeLog entry for the API migration. The affected Backup module and test projects compile with zero warnings and errors. Historical playback recordings still target API 2025-02-01 and require separate API 2026-07-01 refresh and behavioral validation. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 98d71075-adf0-4b3a-82a1-ec2acd27366e
|
/azp run |
13e8eb2 to
2f9b21c
Compare
|
Azure Pipelines: Successfully started running 3 pipeline(s). |
There was a problem hiding this comment.
🟡 Changes recommended
There are verified correctness/diagnostics issues in updated call sites and generated error handling (discarded async tasks and loss of service error messages) that should be fixed before merging.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Review details
- Files reviewed: 1/320 changed files
- Comments generated: 4
- Review effort level: Lite
| var ex = new ErrorResponseException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); | ||
| try | ||
| { | ||
| _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); | ||
| CloudError _errorBody = Microsoft.Rest.Serialization.SafeJsonConvert.DeserializeObject<CloudError>(_responseContent, this.Client.DeserializationSettings); | ||
| ErrorResponse _errorBody = Microsoft.Rest.Serialization.SafeJsonConvert.DeserializeObject<ErrorResponse>(_responseContent, this.Client.DeserializationSettings); |
| var ex = new ErrorResponseException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); | ||
| try | ||
| { | ||
| _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); | ||
| CloudError _errorBody = Microsoft.Rest.Serialization.SafeJsonConvert.DeserializeObject<CloudError>(_responseContent, this.Client.DeserializationSettings); | ||
| ErrorResponse _errorBody = Microsoft.Rest.Serialization.SafeJsonConvert.DeserializeObject<ErrorResponse>(_responseContent, this.Client.DeserializationSettings); |
| GetRecoveryServicesBackupClient.BackupResourceStorageConfigsNonCrr.PatchWithHttpMessagesAsync( | ||
| vaultName, resouceGroupName, backupStorageConfig, GetRequestHeaders()); | ||
| resourceGroupName: resouceGroupName, | ||
| vaultName: vaultName, | ||
| parameters: backupStorageConfig, | ||
| customHeaders: GetRequestHeaders()); |
| * Updated Recovery Services Backup commands to use management API version `2026-07-01` | ||
| - Preserved request filtering, continuation paging, operation tracking responses, and backup error details after SDK contract changes. |
|
/azp run |
|
Commenter does not have sufficient privileges for PR 30116 in repo Azure/azure-powershell |
|
|
Adapt the hand-written Recovery Services exception boundaries to the ErrorResponseException contract emitted by the regenerated Backup management SDK. Preserve policy-name availability checks by treating an aggregate ErrorResponseException with HTTP 404 the same way as the previous aggregate CloudException 404. Map generated error code, message, details, and existing PowerShell error categories without changing unrelated exception handling. This change intentionally excludes LRO polling, header parsing, data-move routing, retry behavior, and unrelated cleanup. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 98d71075-adf0-4b3a-82a1-ec2acd27366e
There was a problem hiding this comment.
🔵 Needs a closer look
Confirmed functional issues were found in updated call sites (unobserved async tasks and missing skipToken propagation) and the PR’s CI indicates failing Az.RecoveryServices tests.
Review details
- Files reviewed: 1/323 changed files
- Comments generated: 0 new
- Review effort level: Lite
🤖 PR Validation — ❌ Action needed
️✔️Az.Accounts
️✔️Az.Compute
️✔️Az.Network
❌Az.RecoveryServices
️✔️Az.RecoveryServices.Backup
Summary
2026-07-01.Why
The regenerated SDK changes several source-compatible-looking contracts that can otherwise produce incorrect behavior. Vault and resource-group string parameters are reordered on many operations, OData query objects are replaced by raw filter strings, multiple operations now return typed-header responses, usage summaries become paged, and the Backup-specific error-detail model moves to
ErrorDetailAutoGenerated.Without consumer updates, calls can bind vault and resource-group values to the wrong URL segments, filters or continuation pages can be lost, typed responses cannot be passed to existing tracking helpers, and workload error details use the wrong model shape.
What changed
2026-07-01and retain theRecoveryServicesBackupClienttitle override.Filterstrings while preserving existing adapter signatures.BackupUsageSummariescontinuation links and allow the shared paging helper to process non-Resource class models.Bodywhere applicable,Request,Response, andRequestId.ErrorDetailAutoGeneratedmodel.Validation
RecoveryServices.Backup.csprojbuilds with 0 warnings and 0 errors.RecoveryServices.Backup.Test.csprojbuilds with 0 warnings and 0 errors.2025-02-01. They do not provide valid API2026-07-01behavioral evidence and require refresh.Known follow-up work
This PR does not claim the entire behavioral migration is complete. Follow-up work includes:
ErrorResponseExceptionwhile retaining existingCloudExceptionbehavior.Location,Azure-AsyncOperation, andRetry-Afterbehavior.2026-07-01recordings and completing controlled live validation.